update control to reflect move of primary repo to collab-maint
[debian/sudo] / ChangeLog
1 2012-05-29  Todd C. Miller  <Todd.Miller@courtesan.com>
2
3         * NEWS:
4         Update for sudo 1.8.5p2
5         [d369d4d40a19]
6
7 2012-05-27  Todd C. Miller  <Todd.Miller@courtesan.com>
8
9         * src/env_hooks.c, src/sudo.h, src/tgetpass.c:
10         Provide unhooked version of getenv() and use it when looking up
11         DISPLAY and SUDO_ASKPASS in the environment.
12         [04dbdccf4a14]
13
14 2012-05-21  Todd C. Miller  <Todd.Miller@courtesan.com>
15
16         * plugins/sudoers/set_perms.c, plugins/sudoers/sudoers.c:
17         If sudoers_mode is group-readable but the actual sudoers file is
18         not, open the file as uid 0, not uid 1. This fixes a problem when
19         sudoers has a more restrictive mode than what sudo expects to find.
20         In older versions, sudo would silently chmod the file to add the
21         group-readable bit.
22         [c056b6003e6f]
23
24 2012-05-17  Todd C. Miller  <Todd.Miller@courtesan.com>
25
26         * NEWS, configure, configure.in:
27         Update for 1.8.5p1
28         [c33c49bf5b4b]
29
30         * plugins/sudoers/toke.c, plugins/sudoers/toke.l:
31         Fix #includedir; from Mike Frysinger
32         [d4833d4e39a0]
33
34         * plugins/sudoers/check.c:
35         Don't prompt for a password if the user is in the exempt group, is
36         root, or is running the command as themselves even if the -k option
37         was specified. This makes "sudo -k command" consistent with the
38         behavior one would get if the user ran "sudo -k" immediately before
39         running the command.
40         [632b3961df00]
41
42 2012-05-15  Todd C. Miller  <Todd.Miller@courtesan.com>
43
44         * INSTALL:
45         Fix capitalization
46         [7258aa977caf]
47
48         * mkpkg:
49         Build PIE executable on Mac OS X 10.5 and above.
50         [2a5c7ef92182]
51
52 2012-05-14  Todd C. Miller  <Todd.Miller@courtesan.com>
53
54         * NEWS:
55         Update for sudo 1.8.4p5
56         [21164f508b68]
57
58         * plugins/sudoers/match_addr.c:
59         Add missing break between AF_INET and AF_INET6 in
60         addr_matches_if_netmask()
61         [672a4793931a]
62
63         * plugins/sudoers/mon_systrace.c:
64         Move systrace monitor code to the attic
65         [d6faf4754e9c]
66
67 2012-05-11  Todd C. Miller  <Todd.Miller@courtesan.com>
68
69         * src/exec.c:
70         The pointer to the siginfo_t struct in a signal handler may be NULL.
71         [41a4ee934b53]
72
73 2012-05-10  Todd C. Miller  <Todd.Miller@courtesan.com>
74
75         * plugins/sudoers/pwutil.c:
76         Fix an alignment problem on NetBSD systems with a 64-bit time_t and
77         strict alignment. Based on a patch from Martin Husemann.
78         [1e5ba3c18f17]
79
80         * include/missing.h:
81         Add offsetof macro for those without it.
82         [e44cb51d2587]
83
84         * MANIFEST:
85         add system_group plugin
86         [6169793b510c]
87
88 2012-05-09  Todd C. Miller  <Todd.Miller@courtesan.com>
89
90         * compat/dlopen.c:
91         Implement RTLD_NEXT and fix RTLD_DEFAULT for HP-UX.
92         [85bd03bc5d94]
93
94 2012-05-08  Todd C. Miller  <Todd.Miller@courtesan.com>
95
96         * NEWS:
97         Mention system_group plugin
98         [05393dd4bdb8]
99
100         * Makefile.in, plugins/sudoers/Makefile.in,
101         plugins/system_group/Makefile.in:
102         update depends
103         [6feb0b824fc4]
104
105         * plugins/system_group/system_group.c:
106         Only call gr_delref() when use sudo's password caching functions.
107         [1103442e21fa]
108
109         * plugins/sample_group/Makefile.in, plugins/system_group/Makefile.in:
110         Add missing dependency on libreplace.la
111         [05bfd9d4657f]
112
113         * compat/dlopen.c:
114         Emulate RTLD_DEFAULT and RTLD_SELF w/ shl_findsym() using NULL and
115         PROG_HANDLE.
116         [2382d0693acc]
117
118         * Makefile.in, configure, configure.in,
119         plugins/system_group/Makefile.in,
120         plugins/system_group/system_group.c,
121         plugins/system_group/system_group.sym:
122         Add group plugin that does lookups by name using the system group
123         database.
124         [2ddbb604112f]
125
126         * plugins/sudoers/po/pl.mo, plugins/sudoers/po/pl.po, src/po/pl.mo,
127         src/po/pl.po:
128         sync with translationproject.org
129         [4ef05df4226d]
130
131 2012-05-03  Todd C. Miller  <Todd.Miller@courtesan.com>
132
133         * plugins/sudoers/po/eo.mo, plugins/sudoers/po/eo.po,
134         plugins/sudoers/po/fi.mo, plugins/sudoers/po/fi.po,
135         plugins/sudoers/po/ja.mo, plugins/sudoers/po/ja.po,
136         plugins/sudoers/po/uk.mo, plugins/sudoers/po/uk.po,
137         plugins/sudoers/po/zh_CN.mo, plugins/sudoers/po/zh_CN.po,
138         src/po/de.mo, src/po/de.po, src/po/eo.mo, src/po/eo.po,
139         src/po/fi.mo, src/po/fi.po, src/po/ja.mo, src/po/ja.po,
140         src/po/ru.mo, src/po/ru.po, src/po/sr.mo, src/po/sr.po,
141         src/po/uk.mo, src/po/uk.po, src/po/vi.mo, src/po/vi.po,
142         src/po/zh_CN.mo, src/po/zh_CN.po:
143         sync with translationproject.org
144         [115c3f828fc5]
145
146 2012-05-01  Todd C. Miller  <Todd.Miller@courtesan.com>
147
148         * sudo.pp:
149         Add mode for docdir and use '-' (default) for localedir mode. Fixes
150         a problem on Linux when building in a directory with the setgid bit
151         set.
152         [582279c8bcb1]
153
154 2012-04-30  Todd C. Miller  <Todd.Miller@courtesan.com>
155
156         * pp:
157         Match CentOS 6.0
158         [1e99ef210f98]
159
160 2012-04-24  Todd C. Miller  <Todd.Miller@courtesan.com>
161
162         * NEWS:
163         Update with recent changes
164         [c5fc220ba696]
165
166         * pp:
167         Fix version check on AIX
168         [d272e39112f4]
169
170         * plugins/sudoers/po/sudoers.pot, src/po/sudo.pot:
171         regen
172         [72b23509465a]
173
174         * plugins/sudoers/ldap.c:
175         Need to call ldapssl_clientauth_init() for start_tls on Mozilla LDAP
176         SDK.
177         [87b685e70b9a]
178
179         * plugins/sudoers/ldap.c:
180         Fix printing of invalid uri
181         [645aa53acdde]
182
183         * plugins/sudoers/auth/pam.c:
184         Pass PAM_SILENT when deleting creds to remove an annoying warning
185         message on Solaris.
186         [1dd0301ef293]
187
188 2012-04-23  Todd C. Miller  <Todd.Miller@courtesan.com>
189
190         * src/utmp.c:
191         Fix the setutxent and endutxent compatibility defines (this time
192         correctly) when only setutent and endutent are available.
193         [d136d2867db9]
194
195         * plugins/sudoers/ldap.c:
196         sudo_ldap_set_options_global() should not take an LDAP handle as an
197         argument since the options affect the global settings.
198         [1dc39b9d20f2]
199
200         * mkpkg:
201         Debian sudo has not been built with --with-exempt=sudo since 1.6.8.
202         [c7716291a856]
203
204         * doc/sudo_plugin.cat, doc/sudo_plugin.man.in, doc/sudo_plugin.pod,
205         plugins/sudoers/auth/pam.c, src/exec.c, src/exec_pty.c, src/sudo.c,
206         src/sudo.h:
207         Call the policy's init_session() function before we fork the child.
208         That way, the session is created and destroyed in the same process,
209         which is needed by some modules, such as pam_mount.
210         [ece552ba002e]
211
212         * doc/TROUBLESHOOTING:
213         Add entry for SSL LDAP errors on Mozilla SDKs when the cert dir is
214         not specified.
215         [bd293e100b28]
216
217         * plugins/sudoers/auth/pam.c:
218         Delete creds after closing the PAM session.
219         [5158d726d6a5]
220
221         * plugins/sudoers/ldap.c:
222         Provide a more useful error message if using a Mozilla-style LDAP
223         SDK and you forgot to specify TLS_CERT in ldap.conf.
224         [7cb78feb899c]
225
226         * src/exec_pty.c:
227         Add missing initialization of a sigaction structure when I/O
228         logging. Fixes a potential problem when suspending the command.
229         [f4480f2ba816]
230
231         * plugins/sudoers/ldap.c:
232         Split global and per-connection LDAP options into separate arrays.
233         Set global LDAP options before calling ldap_initialize() or
234         ldap_init(). After we have an LDAP handle, set the per-connection
235         options. Fixes a problem with OpenLDAP using the nss crypto backend;
236         bug #342
237         [265c9d2dc12b]
238
239         * plugins/sudoers/po/da.mo, plugins/sudoers/po/da.po,
240         plugins/sudoers/po/fi.mo, plugins/sudoers/po/fi.po,
241         plugins/sudoers/po/pl.mo, plugins/sudoers/po/pl.po,
242         plugins/sudoers/po/uk.mo, plugins/sudoers/po/uk.po,
243         plugins/sudoers/po/zh_CN.mo, plugins/sudoers/po/zh_CN.po,
244         src/po/de.mo, src/po/de.po, src/po/hr.mo, src/po/hr.po,
245         src/po/vi.mo, src/po/vi.po, src/po/zh_CN.mo, src/po/zh_CN.po:
246         sync with translationproject.org
247         [6d7fe44be21e]
248
249 2012-04-21  Todd C. Miller  <Todd.Miller@courtesan.com>
250
251         * src/sudo.c, src/sudo.h:
252         Move struct passwd pointer into struct command details.
253         [d6fb1eff2065]
254
255 2012-04-20  Todd C. Miller  <Todd.Miller@courtesan.com>
256
257         * pp:
258         Sync with upstream for Mac OS X (and other) fixes.
259         [c2f4998d01b0]
260
261         * mkpkg:
262         Only built Mac intel universal binary on an intel machine.
263         [0009e0b7e5a8]
264
265         * src/Makefile.in:
266         Do not pass libtool the -static-libtool-libs option when building
267         sudo and sesh. Otherwise, libtool may prefer a static version of an
268         installed library over a dynamic one when linking.
269         [6fbac9adc885]
270
271 2012-04-19  Todd C. Miller  <Todd.Miller@courtesan.com>
272
273         * MANIFEST, NEWS, doc/CONTRIBUTORS, plugins/sudoers/po/hr.mo,
274         plugins/sudoers/po/hr.po, src/po/de.mo, src/po/de.po:
275         Add German translation for sudo Add Croatian translation for sudoers
276         [fa4da1a6530c]
277
278         * plugins/sudoers/iolog.c:
279         typo fix in comment
280         [abd721d1288e]
281
282 2012-04-16  Todd C. Miller  <Todd.Miller@courtesan.com>
283
284         * NEWS:
285         Update with recent changes
286         [6fa11e8448b9]
287
288         * Makefile.in, plugins/sudoers/po/sudoers.pot, src/po/sudo.pot:
289         Sort xgettext output by file name.
290         [f650841810f0]
291
292         * doc/sudoreplay.cat, doc/sudoreplay.man.in, doc/sudoreplay.pod:
293         Clarify what "sudoreplay -l" displays and mention that it is sorted.
294         [84031c117bd6]
295
296         * config.h.in, configure, configure.in, src/ttyname.c:
297         Use AC_HEADER_MAJOR to determine where major/minor are defined.
298         [3c949650a223]
299
300         * config.h.in, configure, configure.in, src/ttyname.c:
301         Include sys/mkdev.h if present instead of sys/sysmacros.h for
302         minor(). This is needed on Solaris (at least) where the makedev
303         macros in sysmacros.h are obsolete and library functions should be
304         used instead.
305         [343928acf81e]
306
307         * mkpkg:
308         When building on Mac OS X, only set SDK_FLAGS if specified osversion
309         doesn't match host.
310         [d84c6efac872]
311
312 2012-04-15  Todd C. Miller  <Todd.Miller@courtesan.com>
313
314         * src/ttyname.c:
315         Add back buf and tty variables for _ttyname() case that were
316         inadvertantly removed.
317         [a4a820b22a44]
318
319 2012-04-13  Todd C. Miller  <Todd.Miller@courtesan.com>
320
321         * plugins/sudoers/po/sudoers.pot:
322         regen
323         [5446b12c1250]
324
325         * configure, configure.in:
326         Remove b8 from version number.
327         [5adc4dcec061]
328
329         * src/ttyname.c:
330         remove some XXX
331         [187579a5f593]
332
333         * src/ttyname.c:
334         When looking for a device match, do a breadth-first search instead
335         of depth-first. We already special case /dev/pts/ so chances are
336         good that if it is not a pseudo-tty it is in the base of /dev/. Also
337         avoid a stat(2) when possible if struct dirent has d_type.
338         [0183f8a1b278]
339
340         * doc/sudo_plugin.cat, doc/sudo_plugin.man.in, doc/sudo_plugin.pod,
341         src/sudo.c, src/sudo.h:
342         Pass pid, ppid, sid, pgid and tcpgid to plugin in user_info list.
343         [f0574d878491]
344
345         * src/po/eo.mo, src/po/es.mo, src/po/es.po, src/po/fi.mo,
346         src/po/ja.mo, src/po/pl.mo, src/po/ru.mo, src/po/uk.mo,
347         src/po/vi.mo:
348         sync with translationproject.org
349         [4527ea78fbd5]
350
351         * MANIFEST, NEWS, doc/CONTRIBUTORS, src/po/gl.mo, src/po/gl.po,
352         src/po/hr.mo, src/po/hr.po:
353         New Croatian and Galician translations from translationproject.org
354         [ad4bd924b4de]
355
356         * src/ttyname.c:
357         Add depth-first traversal of /dev/ for the /proc case when not
358         /dev/pts/N
359         [499bd3456774]
360
361         * config.h.in, configure, configure.in, plugins/sudoers/sudoreplay.c:
362         If struct dirent has d_type, use it to avoid an extra stat().
363         [741dabbe4bcd]
364
365         * plugins/sudoers/sudoreplay.c:
366         Sort output of "sudoreplay -l"
367         [c0615795bd4b]
368
369 2012-04-12  Todd C. Miller  <Todd.Miller@courtesan.com>
370
371         * plugins/sudoers/sudoreplay.c:
372         Fix duplicate free introduced in last rev
373         [efdaabe69d75]
374
375 2012-04-11  Todd C. Miller  <Todd.Miller@courtesan.com>
376
377         * plugins/sudoers/auth/pam.c:
378         Instead of treating ^C from tgetpass() specially, always return
379         AUTH_INTR if tgetpass() returned NULL. Treat PAM_AUTHINFO_UNAVAIL
380         like PAM_AUTH_ERR which Mac OS X returns this when there is no tty.
381         [a3b17298d4d0]
382
383         * config.h.in, configure, configure.in, src/ttyname.c:
384         Rototill code to determine the tty. For Linux, we now look up the
385         tty device in /proc/pid/stat instead of trying to open
386         /proc/pid/fd/[0-2]. The sudo_ttyname_dev() function maps the given
387         device number to a string. On BSD, we can use devname(). On
388         Solaris, _ttyname_dev() does what we want. TODO: write /dev/
389         traversal code for the generic sudo_ttyname_dev().
390         [6b22be4d09f0]
391
392 2012-04-10  Todd C. Miller  <Todd.Miller@courtesan.com>
393
394         * src/ttyname.c:
395         Define PRNODEV for those w/o it.
396         [f17290e64559]
397
398         * config.h.in, configure, configure.in, src/ttyname.c:
399         Check for SVR4-style struct psinfo.pr_ttydev and use that to
400         determine the tty if std{in,out,err} are not ttys.
401         [76ad33a91f4b]
402
403         * src/ttyname.c:
404         Better support for SVR4-style /proc entries where we can't use
405         ttyname() on the /proc/pid/fd/[0-2] entries. We can, however,
406         attempt to map the device number back to the correct pseudo-tty
407         slave device.
408         [4f9f48cc79eb]
409
410         * src/ttyname.c:
411         When trying to determine the tty name, check parent's stderr in
412         addition to its stdin and stdout.
413         [604644056c7d]
414
415         * src/exec_pty.c:
416         Treat a tty read failure like EOF as it usually means the pty has
417         gone away. Handle write() on the tty returning EIO.
418         [16957f4a706f]
419
420         * src/exec.c, src/exec_pty.c:
421         Linux select() may return ENOMEM if there is a kernel resource
422         shortage. Older Solaris select() may return EIO instead of EBADF
423         when the tty goes away. If we get an unhandled select() failure,
424         kill the child and exit cleanly.
425         [d93940a311ab]
426
427         * src/ttyname.c:
428         Open /proc/pid/fd/[0-2] in non-blocking mode just in case we might
429         block in open.
430         [a9f809d09d52]
431
432 2012-04-09  Todd C. Miller  <Todd.Miller@courtesan.com>
433
434         * plugins/sudoers/set_perms.c:
435         Fix restoration of AIX permissions.
436         [30c717115988]
437
438         * src/parse_args.c:
439         Allow the -k flag to be used along with the -i and -s flags.
440         [0653b17c97f1]
441
442         * plugins/sudoers/sudoreplay.c:
443         Plug memory leak in parse_logfile() in the error path.
444         [9cce86fa833b]
445
446         * plugins/sudoers/po/zh_CN.mo, plugins/sudoers/po/zh_CN.po,
447         src/po/da.mo, src/po/da.po, src/po/eo.po, src/po/es.po,
448         src/po/fi.po, src/po/it.mo, src/po/it.po, src/po/ja.po,
449         src/po/pl.po, src/po/ru.po, src/po/uk.po, src/po/vi.po,
450         src/po/zh_CN.mo, src/po/zh_CN.po:
451         sync with translationproject.org
452         [14af43d0b170]
453
454 2012-04-08  Todd C. Miller  <Todd.Miller@courtesan.com>
455
456         * compat/regress/glob/globtest.c, config.h.in, configure,
457         configure.in, plugins/sudoers/match.c:
458         Do not use GLOB_BRACE or GLOB_TILDE flags to glob()--we want the
459         glob() and fnmatch() results to be consistent.
460         [4226750d73c2]
461
462 2012-04-06  Todd C. Miller  <Todd.Miller@courtesan.com>
463
464         * MANIFEST, common/Makefile.in, common/ttysize.c, src/Makefile.in,
465         src/ttysize.c:
466         Move ttysize.c to common so sudoreplay can use it.
467         [b4a0aa514cd4]
468
469         * plugins/sudoers/sudoreplay.c:
470         If I/O log file includes rows + cols, warn if the user's tty is not
471         big enough.
472         [b980ef89efff]
473
474         * plugins/sudoers/sudoreplay.c:
475         Fix printing of TSID in "sudoreplay -l"
476         [4221e3e108b4]
477
478         * common/sudo_debug.c, include/sudo_debug.h,
479         plugins/sudoers/logging.c, plugins/sudoers/visudo.c, src/exec.c,
480         src/exec_pty.c:
481         Log the process id in the debug file output. Since we don't want to
482         keep calling getpid(), stash the value at init time and when we
483         fork().
484         [2782d30c024d]
485
486         * src/exec_pty.c:
487         Ignore SIGTTIN and SIGTTOU in main sudo process when I/O logging. It
488         is better to receive EIO from read()/write() than to be suspended
489         when we don't expect it. Fixes a problem when our terminal is
490         revoked which can happen when, e.g. our sshd is killed
491         unceremoniously. Also, only change the value of "alive" from true to
492         false, never from false to true. It is possible for us to receive
493         notification of the child having stopped after it is already dead.
494         This does not mean it has risen from the grave.
495         [26c9fe8ce0f9]
496
497         * src/exec_pty.c:
498         Distinguish between signals we received from the parent vs. those
499         delivered explicitly to the monitor process in debugging info.
500         [40716cb180e5]
501
502 2012-04-05  Todd C. Miller  <Todd.Miller@courtesan.com>
503
504         * plugins/sudoers/check.c:
505         In Solaris 11, /dev/pts under the "dev" filesystem, not "devices".
506         Update tty_is_devpts() to match so we can determine when the tty has
507         been reused.
508         [2689665df027]
509
510         * common/sudo_debug.c, include/error.h, include/sudo_debug.h:
511         Always pass __func__, __FILE__ and __LINE__ in sudo_debug_printf()
512         and use a new flag, SUDO_DEBUG_FILENO to specify when to use it.
513         This allows consumers of sudo_debug_printf() to log that data
514         without having to specify it manually.
515         [7c94c4879208]
516
517         * src/exec_pty.c:
518         Make this compile after last change.
519         [ee09034f3266]
520
521         * src/exec_pty.c:
522         Don't try to restore the terminal if we are not the foreground
523         process. Otherwise, we may be stopped by SIGTTOU when we try to
524         update the terminal settings when cleaning up.
525         [c48b24335456]
526
527         * src/exec.c:
528         If select() return EBADF in the main event loop, one of the ttys
529         must have gone away so perform any I/O we can and close the bad fds.
530         [3bc8678c03ce]
531
532         * common/sudo_debug.c, include/error.h, include/sudo_debug.h,
533         plugins/sudoers/toke.c, plugins/sudoers/toke.h,
534         plugins/sudoers/toke.l:
535         Log warning() at SUDO_DEBUG_WARN not SUDO_DEBUG_ERROR. Log the
536         function, file and line number in the debug log for warning() and
537         error().
538         [894cd131f11d]
539
540 2012-04-04  Todd C. Miller  <Todd.Miller@courtesan.com>
541
542         * common/sudo_debug.c, include/error.h, include/sudo_debug.h,
543         src/conversation.c:
544         Add SUDO_DEBUG_ERRNO flag to debug functions so we can log errno.
545         Use this flag when wrapping error() and warning() so the debug
546         output includes the error string.
547         [1e2c67adaf1f]
548
549 2012-03-30  Todd C. Miller  <Todd.Miller@courtesan.com>
550
551         * NEWS:
552         Update for sudo 1.8.5
553         [7d2b62b823fe]
554
555         * plugins/sudoers/po/sudoers.pot:
556         regen
557         [718ad9de92cd]
558
559         * doc/CONTRIBUTORS:
560         sync
561         [f48013aea641]
562
563         * plugins/sudoers/pwutil.c:
564         Use ecalloc()
565         [fabd23c1f271]
566
567         * src/exec_pty.c:
568         Don't need zero_bytes() after ecalloc()
569         [1a9d95cd10ef]
570
571         * config.h.in, configure, configure.in, src/sudo_noexec.c:
572         Add execvpe(), exect(), posix_spawn() and posix_spawnp() wrappers to
573         sudo_noexec.c.
574         [cbaa1d4b0f8a]
575
576         * src/utmp.c:
577         Fix compat setutxent and endutxent macros for systems with
578         setutent() but not setutxent(). From Gustavo Zacarias
579         [d7ce622fc5f2]
580
581 2012-03-29  Todd C. Miller  <Todd.Miller@courtesan.com>
582
583         * configure.in:
584         Add ignore_result definition to AH_BOTTOM
585         [8d4096838a98]
586
587         * common/sudo_debug.c, config.h.in, plugins/sample/sample_plugin.c,
588         plugins/sudoers/iolog.c, plugins/sudoers/toke.c,
589         plugins/sudoers/toke.l, plugins/sudoers/visudo.c, src/env_hooks.c,
590         src/exec.c, src/exec_pty.c, src/tgetpass.c:
591         Fix compiler warnings on some platforms and provide a better method
592         of defeating gcc's warn_unused_result attribute.
593         [9a8f804fcc75]
594
595         * configure, configure.in:
596         Fix building the builtin zlib from a build dir. When a zlib dir was
597         specified, prepend its include path instead of appending so we get
598         the right zlib headers.
599         [5f61d591b186]
600
601         * doc/LICENSE, zlib/adler32.c, zlib/crc32.c, zlib/crc32.h,
602         zlib/deflate.c, zlib/deflate.h, zlib/gzguts.h, zlib/gzlib.c,
603         zlib/gzread.c, zlib/gzwrite.c, zlib/infback.c, zlib/inffixed.h,
604         zlib/inflate.c, zlib/inftrees.c, zlib/trees.c, zlib/zconf.h.in,
605         zlib/zlib.h, zlib/zutil.c, zlib/zutil.h:
606         Update zlib to version 1.2.6
607         [173c4bc4d4fc]
608
609 2012-03-28  Todd C. Miller  <Todd.Miller@courtesan.com>
610
611         * include/missing.h:
612         g/c __unused which is no longer used
613         [7ef3f23edcd6]
614
615         * src/env_hooks.c:
616         Fix compilation if RTLD_NEXT is not defined.
617         [d5605f468b71]
618
619         * src/po/sr.mo, src/po/sr.po:
620         sync with translationproject.org
621         [27d559f7985d]
622
623         * doc/sudo_plugin.cat, doc/sudo_plugin.man.in, doc/sudoers.cat,
624         doc/sudoers.man.in:
625         regen
626         [f9f63ce478b6]
627
628         * plugins/sudoers/po/sudoers.pot, src/po/sudo.pot:
629         regen
630         [59035d82d15a]
631
632         * Makefile.in:
633         Ignore Project-Id-Version when comparing pot files.
634         [22feb9ede46b]
635
636         * plugins/sudoers/bsm_audit.c:
637         Use error() instead of log_fatal()
638         [54130bda4b50]
639
640         * plugins/sudoers/env.c:
641         Fix signedness of didvar in env_update_didvar()
642         [77048a80b3e4]
643
644         * plugins/sudoers/iolog.c:
645         Quiet a compiler warning on some platforms.
646         [8fdcaece0400]
647
648         * compat/fnmatch.c:
649         cast ctype(3) function/macro arguments from char to unsigned char to
650         avoid potential negative subscripting.
651         [bdcf7eef21ef]
652
653         * common/setgroups.c:
654         Quiet a warning on systems where the gids array in setgroups() is
655         not prototyped as being const, even though it really is.
656         [fdd758c6302d]
657
658         * src/env_hooks.c:
659         Quiet a compiler warning on systems where the argument to putenv(3)
660         is const.
661         [51bae2193b53]
662
663         * plugins/sudoers/sudoreplay.c:
664         Undo an incorrect int -> bool conversion.
665         [b9a4ce320f14]
666
667         * MANIFEST, NEWS, plugins/sudoers/po/sv.mo, plugins/sudoers/po/sv.po,
668         src/po/sv.mo, src/po/sv.po:
669         Add Swedish sudo and sudoers translations from
670         translationproject.org
671         [f7ce1de9073f]
672
673         * plugins/sudoers/env.c:
674         No need to preserve ODMDIR on AIX now that we always read
675         /etc/environment.
676         [4aa04b2f0125]
677
678 2012-03-27  Todd C. Miller  <Todd.Miller@courtesan.com>
679
680         * doc/sudoers.pod, plugins/sudoers/env.c:
681         When initializing the environment for env_reset, start out with the
682         contents of /etc/environment on AIX and login.conf on BSD.
683         [5717bdc321e2]
684
685         * doc/TROUBLESHOOTING, src/sudo.c:
686         If we are not running with an effective uid of 0, try to give the
687         user enough information to debug the problem.
688         [fa4894896d8a]
689
690         * plugins/sudoers/getdate.c, plugins/sudoers/gram.c:
691         Quiet a clang-analyzer false positive.
692         [c4c0c1b9c8b0]
693
694         * src/tgetpass.c:
695         If there is nothing to read from the askpass program, set errno to
696         EINTR. This makes the cancel button behave like the user entered ^C
697         at the password prompt when PAM is used.
698         [594302cb9caf]
699
700         * src/sudo.h, src/tgetpass.c:
701         Fetch the value of "askpass" from the sudo conf struct.
702         [4593ee8f1bd3]
703
704         * common/sudo_conf.c:
705         Fix matching of "Path askpass" and "Path noexec"
706         [4df28d62afb9]
707
708 2012-03-26  Todd C. Miller  <Todd.Miller@courtesan.com>
709
710         * plugins/sudoers/visudo.c:
711         Quiet a clang-analyzer dead store warning.
712         [dd90bf385a3f]
713
714         * plugins/sudoers/sudoers.c:
715         If the "timestampowner" user cannot be resolved, use ROOT_UID
716         instead of exiting with a fatal error.
717         [8d62aae99715]
718
719         * plugins/sudoers/auth/bsdauth.c, plugins/sudoers/auth/kerb5.c,
720         plugins/sudoers/auth/pam.c, plugins/sudoers/auth/sia.c,
721         plugins/sudoers/auth/sudo_auth.c, plugins/sudoers/bsm_audit.c,
722         plugins/sudoers/check.c, plugins/sudoers/env.c,
723         plugins/sudoers/iolog.c, plugins/sudoers/logging.c,
724         plugins/sudoers/logging.h, plugins/sudoers/parse.c,
725         plugins/sudoers/set_perms.c, plugins/sudoers/sudoers.c:
726         Remove the NO_EXIT flag to log_error() and add a log_fatal()
727         function that exits and is marked no_return. Fixes false positives
728         from static analyzers and is easier for humans to read too.
729         [a0fe785c2a3d]
730
731 2012-03-24  Todd C. Miller  <Todd.Miller@courtesan.com>
732
733         * plugins/sudoers/po/eo.mo, plugins/sudoers/po/eo.po, src/po/eo.mo,
734         src/po/eo.po:
735         sync with translationproject.org
736         [df5e8777de13]
737
738 2012-03-20  Todd C. Miller  <Todd.Miller@courtesan.com>
739
740         * src/po/da.mo, src/po/da.po:
741         sync with translationproject.org
742         [629d99548b78]
743
744         * plugins/sudoers/po/da.mo, plugins/sudoers/po/da.po:
745         sync with translationproject.org
746         [9d122a2860d6]
747
748 2012-03-19  Todd C. Miller  <Todd.Miller@courtesan.com>
749
750         * src/po/it.mo, src/po/it.po:
751         sync with translationproject.org
752         [6397593b15cf]
753
754         * common/sudo_conf.c, plugins/sudoers/alias.c,
755         plugins/sudoers/defaults.c, plugins/sudoers/env.c,
756         plugins/sudoers/gram.c, plugins/sudoers/gram.y,
757         plugins/sudoers/interfaces.c, plugins/sudoers/ldap.c,
758         plugins/sudoers/sudoers.c, plugins/sudoers/sudoreplay.c,
759         plugins/sudoers/visudo.c, src/exec.c, src/exec_pty.c, src/hooks.c,
760         src/load_plugins.c:
761         Use ecalloc() when allocating structs.
762         [8b5888868db2]
763
764         * common/alloc.c, include/alloc.h:
765         Add ecalloc() and commented out recalloc(). Use inline strnlen()
766         instead of strlen() in estrndup().
767         [7fb9aa46c1e0]
768
769 2012-03-18  Todd C. Miller  <Todd.Miller@courtesan.com>
770
771         * plugins/sudoers/po/fi.mo, plugins/sudoers/po/fi.po,
772         plugins/sudoers/po/ja.mo, plugins/sudoers/po/ja.po,
773         plugins/sudoers/po/pl.mo, plugins/sudoers/po/pl.po,
774         plugins/sudoers/po/uk.mo, plugins/sudoers/po/uk.po,
775         plugins/sudoers/po/zh_CN.mo, plugins/sudoers/po/zh_CN.po,
776         src/po/fi.mo, src/po/fi.po, src/po/ja.mo, src/po/ja.po,
777         src/po/pl.mo, src/po/pl.po, src/po/ru.mo, src/po/ru.po,
778         src/po/uk.mo, src/po/uk.po, src/po/vi.mo, src/po/vi.po,
779         src/po/zh_CN.mo, src/po/zh_CN.po:
780         sync with translationproject.org
781         [45a032c37334]
782
783 2012-03-16  Todd C. Miller  <Todd.Miller@courtesan.com>
784
785         * plugins/sudoers/set_perms.c:
786         Remove unused label
787         [2660bb0c1313]
788
789         * doc/sudo_plugin.cat, doc/sudo_plugin.man.in, doc/sudo_plugin.pod:
790         Document what changed in each plugin API revision
791         [59b30a6fc4d1]
792
793         * plugins/sudoers/set_perms.c:
794         Remove bogus optimization that could lead to a double free of the
795         group list.
796         [b0bfbd2a83a8]
797
798 2012-03-15  Todd C. Miller  <Todd.Miller@courtesan.com>
799
800         * doc/TROUBLESHOOTING:
801         Expand AIX /etc/security/privcmds entry.
802         [9f3f072e034e]
803
804         * NEWS:
805         Update for sudo 1.8.5
806         [086049011f25]
807
808         * common/sudo_conf.c, doc/sample.sudo.conf, doc/sudo.cat,
809         doc/sudo.man.in, doc/sudo.pod, doc/sudo_plugin.cat,
810         doc/sudo_plugin.man.in, doc/sudo_plugin.pod, doc/sudoers.cat,
811         doc/sudoers.man.in, doc/sudoers.pod, include/sudo_conf.h,
812         include/sudo_plugin.h, src/load_plugins.c, src/sudo.c,
813         src/sudo_plugin_int.h:
814         Rename plugin "args" to "options"
815         [f25624951bd2]
816
817         * doc/CONTRIBUTORS:
818         Add Lithuanian and Vietnamese translators
819         [2b4c075b69e3]
820
821         * Makefile.in:
822         Ignore comments when comparing new and old pot files.
823         [f872999347b3]
824
825         * src/Makefile.in:
826         regen
827         [c8193b1b11c7]
828
829         * doc/sudo_plugin.cat, doc/sudo_plugin.man.in:
830         regen
831         [15e3c17e8a3a]
832
833         * doc/sudo_plugin.pod, include/sudo_plugin.h,
834         plugins/sudoers/auth/pam.c, plugins/sudoers/auth/sudo_auth.c,
835         plugins/sudoers/auth/sudo_auth.h, plugins/sudoers/env.c,
836         plugins/sudoers/sudoers.c, plugins/sudoers/sudoers.h, src/hooks.c,
837         src/sudo.c, src/sudo.h:
838         Pass a pointer to user_env in to the init_session policy plugin
839         function so session setup can modify the user environment as needed.
840         For PAM authentication, merge the PAM environment with the user
841         environment at init_session time. We no longer need to swap in the
842         user_env for environ during session init, nor do we need to disable
843         the env hooks at init_session time.
844         [3f5277b359d8]
845
846         * plugins/sample/sample_plugin.c:
847         Add explicit NULL entries for init_session, register_hooks and
848         deregister_hooks with appropriate comments.
849         [727a57978b40]
850
851         * compat/pw_dup.c:
852         Quiet a gcc "used uninitialized in this function" false positive.
853         [f14b68379ce9]
854
855         * plugins/sudoers/toke.c, plugins/sudoers/toke.l:
856         We should always call warning() with a format string or a string
857         literal. In this case, the argument (path) is not user-controlled.
858         [e9ef51224024]
859
860 2012-03-14  Todd C. Miller  <Todd.Miller@courtesan.com>
861
862         * src/selinux.c:
863         Include sudo_exec.h for the sudo_execve() prototype.
864         [769e58065edc]
865
866         * config.h.in, configure, configure.in:
867         Add check for pam_getenvlist()
868         [36bde3f26c60]
869
870         * common/sudo_conf.c:
871         Set args to NULL in default plugin info struct when there is no
872         Plugin line in sudo.conf.
873         [93ec67708f01]
874
875         * plugins/sudoers/po/sudoers.pot, src/po/sudo.pot:
876         regen
877         [a9287677795c]
878
879         * doc/sudo.cat, doc/sudo.man.in, doc/sudo_plugin.cat,
880         doc/sudo_plugin.man.in, doc/sudoers.cat, doc/sudoers.ldap.cat,
881         doc/sudoers.ldap.man.in, doc/sudoers.man.in, doc/sudoreplay.cat,
882         doc/sudoreplay.man.in, doc/visudo.cat, doc/visudo.man.in:
883         regen
884         [a242769d7962]
885
886         * configure, configure.in:
887         Bump version to 1.8.5
888         [e8618f0c2505]
889
890         * doc/sudo_plugin.pod:
891         Document hooks API
892         [e6ad07d27958]
893
894 2012-03-13  Todd C. Miller  <Todd.Miller@courtesan.com>
895
896         * sudo.pp:
897         Make sudoersdir relative to PKG_INSTALL_ROOT for Solaris.
898         [fd72340042d3]
899
900         * include/sudo_plugin.h:
901         Use sudo_hook_fn_t in struct sudo_hook.
902         [938f93112d6e]
903
904         * doc/TROUBLESHOOTING:
905         If cross compiling, --host must include the OS in the tuple. E.g.
906         --host powerpc-unknown-linux
907         [b8c010070c1e]
908
909 2012-03-12  Todd C. Miller  <Todd.Miller@courtesan.com>
910
911         * plugins/sudoers/parse.c:
912         Fix bogus int -> bool conversion; tags can have a value of -1.
913         [e63d6434a303]
914
915         * plugins/sudoers/env.c:
916         Add env_should_keep() and env_should_delete() wrapper functions to
917         simplify things a bit and hide the fact that matches_env_check() is
918         not bool.
919         [7a03d7a12b50]
920
921         * sudo.pp:
922         Fix application of debian-specific sudoers mods when building
923         packages as non-root.
924         [34bf4c52c425]
925
926         * plugins/sudoers/env.c:
927         matches_env_check() returns int, not boolean
928         [0ad915b8d5cb]
929
930         * src/sudo_edit.c:
931         Fix compilation when seteuid() is not available.
932         [8a722f998000]
933
934         * src/ttyname.c:
935         Simply move the free of ki_proc outside the realloc() loop.
936         [217b786da760]
937
938         * src/ttyname.c:
939         Bring back the erealloc() for the ENOMEM loop and just zero the
940         pointer after we free it.
941         [29a016e45127]
942
943         * src/ttyname.c:
944         Don't try to erealloc() a potentially freed pointer; Mateusz Guzik
945         [266e08844065]
946
947 2012-03-10  Todd C. Miller  <Todd.Miller@courtesan.com>
948
949         * plugins/sudoers/set_perms.c:
950         Use normal error path if unable to set sudoers gid.
951         [01c816918c99]
952
953         * plugins/sudoers/set_perms.c:
954         Make this work again on systems w/o seteuid().
955         [2e67f7421e97]
956
957 2012-03-09  Todd C. Miller  <Todd.Miller@courtesan.com>
958
959         * plugins/sudoers/set_perms.c:
960         Fix compilation if no seteuid/setreuid/setresuid available.
961         [d0b3c1f88eb4]
962
963         * plugins/sudoers/set_perms.c:
964         Better error messages, and added debugging throughout. Fixed
965         seteuid() version of set_perms()/restore_perms(). Fixed logic bug in
966         AIX version of restore_perms(). Added checks to avoid changing
967         uid/gid when we don't have to. Never set gid/uid state to -1, use
968         the old value instead.
969         [29188d469b5c]
970
971         * src/exec_pty.c, src/ttyname.c:
972         Fix format string warning on Solaris with gcc 3.4.3.
973         [d1eeb6e1dd0f]
974
975         * src/sudo.c:
976         Always declare environ now that we swap it around unilaterally.
977         [aaa3e92e7d0d]
978
979         * src/Makefile.in:
980         Honor LDFLAGS when linking sesh; from Vita Cizek
981         [498b41438f6e]
982
983         * src/sesh.c:
984         Include alloc.h for estrdup() prototype; from Vita Cizek
985         [93203655a320]
986
987 2012-03-08  Todd C. Miller  <Todd.Miller@courtesan.com>
988
989         * plugins/sudoers/sudoers.c:
990         Don't read /etc/environment on Linux when using PAM, PAM should set
991         the environment variables as needed via pam_env.
992         [b1ef62cb2d40]
993
994         * INSTALL:
995         Fix editor goof.
996         [0c3dd3bb8b57]
997
998         * src/hooks.c, src/sudo.c, src/sudo.h:
999         Disable environment hooks after we get user_env back to make sure a
1000         plugin can't to modify user_env after we "own" it. This is kind of
1001         a hack but we don't want the init_session plugin function to modify
1002         user_env.
1003         [8e6d119452a5]
1004
1005         * src/hooks.c, src/sudo.c:
1006         Add support for deregistering hooks. If an I/O log plugin fails to
1007         initialize, deregister its hooks (if any).
1008         [ac00c93900c5]
1009
1010 2012-03-07  Todd C. Miller  <Todd.Miller@courtesan.com>
1011
1012         * plugins/sudoers/sudoers.c, src/sudo.c:
1013         Move LOGIN_PATH and LOGIN_SETENV handling to plugin now that we hook
1014         setenv.
1015         [e75469dd9908]
1016
1017         * MANIFEST, aclocal.m4, common/sudo_debug.c, compat/Makefile.in,
1018         compat/setenv.c, compat/unsetenv.c, config.h.in, configure,
1019         configure.in, include/sudo_debug.h, include/sudo_plugin.h, mkdep.pl,
1020         plugins/sudoers/auth/aix_auth.c, plugins/sudoers/env.c,
1021         plugins/sudoers/ldap.c, plugins/sudoers/sudoers.c,
1022         plugins/sudoers/sudoers.h, src/Makefile.in, src/env_hooks.c,
1023         src/hooks.c, src/load_plugins.c, src/sudo.c, src/sudo.h,
1024         src/sudo_plugin_int.h:
1025         Initial cut at a hooks implementation. The plugin can register
1026         hooks for getenv, putenv, setenv and unsetenv. This makes it
1027         possible for the plugin to trap changes to the environment made by
1028         authentication methods such as PAM or BSD auth so that such changes
1029         are reflected in the environment passed back to sudo for execve().
1030         [61cffa06f863]
1031
1032 2012-03-05  Todd C. Miller  <Todd.Miller@courtesan.com>
1033
1034         * MANIFEST, src/po/vi.mo, src/po/vi.po:
1035         Add Vietnamese sudo translation from translationproject.org
1036         [96df426790d5]
1037
1038 2012-03-02  Todd C. Miller  <Todd.Miller@courtesan.com>
1039
1040         * doc/sample.sudo.conf, doc/sudo.pod, doc/sudo_plugin.pod,
1041         doc/sudoers.pod:
1042         List sudo_noexec.so not noexec.so in the sample sudo.conf
1043         [53844e190ec5]
1044
1045         * common/sudo_conf.c, doc/sample.sudo.conf, doc/sudo.pod,
1046         doc/sudo_plugin.pod, doc/sudoers.pod, include/sudo_conf.h,
1047         include/sudo_plugin.h, plugins/sample/sample_plugin.c,
1048         plugins/sudoers/iolog.c, plugins/sudoers/sudoers.c,
1049         plugins/sudoers/toke.l, src/load_plugins.c, src/sudo.c,
1050         src/sudo_plugin_int.h:
1051         Add support for plugin args at the end of a Plugin line in
1052         sudo.conf. Bump the minor number accordingly and update the
1053         documentation. A plugin must check the sudo front end's version
1054         before using the plugin_args parameter since it is only supported
1055         for API version 1.2 and higher.
1056         [587f1f819536]
1057
1058 2012-03-01  Todd C. Miller  <Todd.Miller@courtesan.com>
1059
1060         * plugins/sudoers/Makefile.in:
1061         update depends
1062         [6d2da44e11e5]
1063
1064         * MANIFEST:
1065         secure_path.c is in common, not compat
1066         [619c4a663dde]
1067
1068         * configure, configure.in:
1069         Add check for variadic macro support in cpp.
1070         [756854caf675]
1071
1072 2012-02-29  Todd C. Miller  <Todd.Miller@courtesan.com>
1073
1074         * common/secure_path.c, common/sudo_conf.c, include/secure_path.h,
1075         plugins/sudoers/gram.c, plugins/sudoers/gram.y,
1076         plugins/sudoers/sudoers.c, plugins/sudoers/sudoers.h,
1077         plugins/sudoers/toke.c, plugins/sudoers/toke.l:
1078         Add type param to sudo_secure_path() and add sudo_secure_file() and
1079         sudo_secure_dir() wrappers which get by #includedir in sudoers.
1080         [2ec2d3d8df04]
1081
1082 2012-02-28  Todd C. Miller  <Todd.Miller@courtesan.com>
1083
1084         * doc/visudo.pod, plugins/sudoers/visudo.c:
1085         Check the owner and mode in -c (check) mode unless the -f option is
1086         specified. Previously, the owner and mode were checked on the main
1087         sudoers file when the -s (strict) option was given, but this was not
1088         documented.
1089         [b2d6ee1e547a]
1090
1091         * config.h.in, configure, configure.in, src/ttyname.c:
1092         Prefer KERN_PROC2 over KERN_PROC. Fixes compilation on some
1093         versions of OpenBSD versions that have KERN_PROC2 but not KERN_PROC.
1094         [159f6a50456a]
1095
1096 2012-02-27  Todd C. Miller  <Todd.Miller@courtesan.com>
1097
1098         * doc/CONTRIBUTORS:
1099         Add Eric Lakin for patch in bug #538
1100         [490c29c234c6]
1101
1102         * src/exec_pty.c:
1103         Fix typo in safe_close() made while converting to debug framework
1104         that prevented it from actually closing anything.
1105         [a66422a62afd]
1106
1107         * src/exec_pty.c:
1108         Add some more debugging.
1109         [b5667947dda9]
1110
1111         * common/Makefile.in, compat/Makefile.in, doc/Makefile.in,
1112         include/Makefile.in:
1113         We need sysconfdir in compat/Makfile to get the proper sudo.conf
1114         path. Add standard prefix and foodir expansion in all Makefiles to
1115         avoid this problem in the future.
1116         [62b6ce4ecae9]
1117
1118 2012-02-25  Todd C. Miller  <Todd.Miller@courtesan.com>
1119
1120         * MANIFEST, plugins/sudoers/po/lt.mo, plugins/sudoers/po/lt.po:
1121         New Lithuanian sudoers translation from translationproject.org
1122         [10436b649035]
1123
1124         * plugins/sudoers/po/ja.po:
1125         Update from translationproject.org
1126         [acb8db5f8ef1]
1127
1128 2012-02-24  Todd C. Miller  <Todd.Miller@courtesan.com>
1129
1130         * plugins/sudoers/ldap.c:
1131         When adding gids to the LDAP filter, only add the primary gid once.
1132         This is consistent with the space computation/allocation. From Eric
1133         Lakin
1134         [35d9d99c92c6]
1135
1136         * doc/TROUBLESHOOTING:
1137         Add entry for AIX enhanced RBAC config.
1138         [5e10b6f8def7]
1139
1140         * mkpkg:
1141         Target Mac OS X 10.5 when building packages.
1142         [06fce9bbebee]
1143
1144 2012-02-22  Todd C. Miller  <Todd.Miller@courtesan.com>
1145
1146         * MANIFEST, common/Makefile.in, common/secure_path.c,
1147         common/sudo_conf.c, include/secure_path.h,
1148         plugins/sudoers/Makefile.in, plugins/sudoers/sudoers.c:
1149         Relax the user/group/mode checks on sudoers files. As long as the
1150         file is owned by the right user, not world-writable and not writable
1151         by a group other than the one specified at configure time (gid 0 by
1152         default), the file is considered OK. Note that visudo will still
1153         set the mode to the value specified at configure time.
1154         [241174babfcc]
1155
1156 2012-02-21  Todd C. Miller  <Todd.Miller@courtesan.com>
1157
1158         * plugins/sudoers/set_perms.c:
1159         Add AIX-specific version of permission setting code to make sure
1160         that the saved uid gets restored properly.
1161         [9a6f5d22c301]
1162
1163         * config.h.in, configure, configure.in, src/exec_common.c:
1164         Check for LD_PRELOAD variants in configure instead of checkign cpp
1165         symbols. In disable_execute(), compute the length of the new envp
1166         and allocate it once instead of reallocating on demand. Also append
1167         old value of LD_PRELOAD (if any) to the new value.
1168         [680266346917]
1169
1170         * plugins/sudoers/def_data.c, plugins/sudoers/def_data.in:
1171         Fix the description of noexec.
1172         [6a6d142f3c80]
1173
1174         * plugins/sudoers/defaults.c, plugins/sudoers/defaults.h:
1175         The "op" parameter to set_default() must be int, not bool since it
1176         is set to '+' or '-' for list add and subtract.
1177         [8da5b137bea2]
1178
1179         * sudo.pp:
1180         Make sure sudoers is writable before calling ed script.
1181         [95352ab6336b]
1182
1183 2012-02-17  Todd C. Miller  <Todd.Miller@courtesan.com>
1184
1185         * doc/CONTRIBUTORS, doc/contributors.pod:
1186         Update contributors. Now includes translators and authors of compat
1187         code.
1188         [4fb5b616b50a]
1189
1190 2012-02-16  Todd C. Miller  <Todd.Miller@courtesan.com>
1191
1192         * src/po/sudo.pot:
1193         regen
1194         [2c86e2c328fe]
1195
1196         * pp, sudo.pp:
1197         Build flat packages, not package bundles, on Mac OS X.
1198         [57bda3cd5520]
1199
1200 2012-02-10  Todd C. Miller  <Todd.Miller@courtesan.com>
1201
1202         * sudo.pp:
1203         Move macos section to be with the other OS-specific sections.
1204         [51423bb2973a]
1205
1206         * plugins/sudoers/po/eo.mo, plugins/sudoers/po/eo.po,
1207         plugins/sudoers/po/zh_CN.mo, plugins/sudoers/po/zh_CN.po:
1208         Sync with translationproject.org
1209         [8ce41cbb8da0]
1210
1211         * configure, configure.in:
1212         Don't permanently add -D_FORTIFY_SOURCE=2 to CPPFLAGS
1213         [fa979aa6fe7d]
1214
1215         * sudo.pp:
1216         Add Mac OS X support, printing the latest chunk of the NEWS file and
1217         the license text in the installer.
1218         [ffeab72387c0]
1219
1220         * sudo.pp:
1221         Add explicit file modes that match those used by "make install"
1222         [7eb37242c920]
1223
1224         * pp:
1225         Sync with upstream for Mac OS X fixes.
1226         [97cba179041e]
1227
1228         * plugins/sudoers/Makefile.in, src/Makefile.in:
1229         Got back to using "install-sh -M" for files installed as non-
1230         readable by owner. This fixes "make install" as non-root for
1231         package building.
1232         [967804ee77d6]
1233
1234 2012-02-09  Todd C. Miller  <Todd.Miller@courtesan.com>
1235
1236         * plugins/sudoers/po/da.mo, plugins/sudoers/po/da.po,
1237         plugins/sudoers/po/eo.mo, plugins/sudoers/po/eo.po,
1238         plugins/sudoers/po/fi.mo, plugins/sudoers/po/fi.po,
1239         plugins/sudoers/po/pl.mo, plugins/sudoers/po/pl.po,
1240         plugins/sudoers/po/uk.mo, plugins/sudoers/po/uk.po:
1241         Sync with translationproject.org
1242         [0e53db12039a]
1243
1244         * Makefile.in, doc/Makefile.in, include/Makefile.in,
1245         plugins/sample/Makefile.in, plugins/sample_group/Makefile.in,
1246         plugins/sudoers/Makefile.in, src/Makefile.in:
1247         Use -m not -M for install-sh for everything except setuid. Install
1248         locale .mo files mode 0444, not 0644. If timedir parent doesn't
1249         exist, use default dir mode, not 0700.
1250         [8b6f64c92090]
1251
1252 2012-02-07  Todd C. Miller  <Todd.Miller@courtesan.com>
1253
1254         * pp:
1255         Re-sync with upstream; no longer need a local patch.
1256         [97a2c7be5e59]
1257
1258         * mkpkg:
1259         Add support for building Mac OS X packages.
1260         [94d49ac223a4]
1261
1262         * pp:
1263         Sync with upstream
1264         [1c97654fc841]
1265
1266         * src/Makefile.in:
1267         No longer need to define _PATH_SUDO_CONF here.
1268         [2560905b7482]
1269
1270         * src/exec_common.c:
1271         Fix noexec for Mac OS X.
1272         [b7a744bca2c0]
1273
1274 2012-02-06  Todd C. Miller  <Todd.Miller@courtesan.com>
1275
1276         * common/Makefile.in:
1277         Move _PATH_SUDO_CONF override to common to match sudo_debug.c
1278         [f0788972a63a]
1279
1280         * plugins/sudoers/set_perms.c:
1281         More complete fix for LDR_PRELOAD on AIX. The addition of
1282         set_perm(PERM_ROOT) before calling the nss open functions (needed to
1283         avoid a GNU TLS bug) also broke LDR_PRELOAD. Setting the effective
1284         and then real uid to 0 for PERM_ROOT works around the issue.
1285         [5888eda051af]
1286
1287         * plugins/sudoers/po/sudoers.pot, src/po/sudo.pot:
1288         regen
1289         [997fe403e219]
1290
1291         * src/sudo.c:
1292         Set real uid to root before calling sudo_edit() or run_command() so
1293         that the monitor process is owned by root and not by the user.
1294         Otherwise, on AIX at least, the monitor process shows up in ps as
1295         belonging to the user (and can be killed by the user).
1296         [d4772d7d2fc5]
1297
1298         * plugins/sudoers/set_perms.c:
1299         For PERM_ROOT when using setreuid(), only set the euid to 0 prior to
1300         the call to setuid(0) if the current euid is non-zero. This
1301         effectively restores the state of things prior to rev 7bfeb629fccb.
1302         Fixes a problem on AIX where LDR_PRELOAD was not being honored for
1303         the command being executed.
1304         [b9b40325b4dc]
1305
1306         * MANIFEST, compat/pw_dup.c, config.h.in, configure, configure.in,
1307         include/missing.h, src/sudo.c:
1308         Make a copy of the struct passwd in exec_setup() to make sure
1309         nothing in the policy init modifies it.
1310         [b721261c921f]
1311
1312 2012-02-05  Todd C. Miller  <Todd.Miller@courtesan.com>
1313
1314         * doc/sudoers.pod:
1315         update copyright
1316         [f9d229d1f65e]
1317
1318         * common/sudo_debug.c, include/sudo_debug.h:
1319         g/c now-unused debug subsystems
1320         [8f21726e698f]
1321
1322         * doc/sudo.pod, doc/sudoers.pod:
1323         Enumerate the debug subsystems used by sudo and sudoers.
1324         [ac4f84293d14]
1325
1326 2012-02-03  Todd C. Miller  <Todd.Miller@courtesan.com>
1327
1328         * NEWS, common/sudo_conf.c, doc/sample.sudo.conf, doc/sudo.pod,
1329         include/sudo_conf.h, src/sudo.c:
1330         Normally, sudo disables core dumps while it is running. This
1331         behavior can now be modified at run time with a line in sudo.conf
1332         like "Set disable_coredumps false"
1333         [ad14e0508b0d]
1334
1335         * NEWS:
1336         Mention Spanish translation
1337         [600f3205bd6e]
1338
1339         * common/sudo_debug.c:
1340         Make sure we don't try to fall back to using the conversation
1341         function for debugging in the main sudo process if we are unable to
1342         open the debug file.
1343         [ffa329aa908c]
1344
1345         * MANIFEST, src/po/es.mo, src/po/es.po:
1346         Add sudo Spanish translation from translationproject.org
1347         [c1906654e740]
1348
1349 2012-02-02  Todd C. Miller  <Todd.Miller@courtesan.com>
1350
1351         * plugins/sudoers/iolog.c:
1352         Better debug subsystem usage
1353         [1a31f115743c]
1354
1355         * src/sudo.c:
1356         Remove duplicate function prototypes
1357         [ae04b00532eb]
1358
1359 2012-02-01  Todd C. Miller  <Todd.Miller@courtesan.com>
1360
1361         * configure, configure.in:
1362         Error out if user specified --with-pam but we can't find the headers
1363         or library. Also throw an error if the headers are present but the
1364         library is not and vice versa.
1365         [d6bf3e3d0aae]
1366
1367 2012-01-31  Todd C. Miller  <Todd.Miller@courtesan.com>
1368
1369         * plugins/sudoers/sudoers.c:
1370         Fix the sudoers permission check when the expected sudoers mode is
1371         owner-writable.
1372         [8b0b7e770a22]
1373
1374 2012-01-30  Todd C. Miller  <Todd.Miller@courtesan.com>
1375
1376         * configure, configure.in:
1377         Verify that we can link executables built with -D_FORTIFY_SOURCE
1378         before using it.
1379         [7578215d1a95]
1380
1381         * src/exec_common.c:
1382         Fix potential off-by-one when making a copy of the environment for
1383         LD_PRELOAD insertion. Fixes bug #534
1384         [cc699cd551b6]
1385
1386         * configure, configure.in:
1387         Add rudimentary check for _FORTIFY_SOURCE support by checking for
1388         __sprintf_chk, one of the functions used by gcc to support it.
1389         [a992673d2ef8]
1390
1391         * compat/stdbool.h, config.h.in, configure, configure.in:
1392         Use AC_HEADER_STDBOOL instead of checking for stdbool.h ourselves.
1393         [8ba1370884b3]
1394
1395 2012-01-29  Todd C. Miller  <Todd.Miller@courtesan.com>
1396
1397         * plugins/sudoers/po/sudoers.pot, src/po/sudo.pot:
1398         regen
1399         [1e0b38397705]
1400
1401 2012-01-25  Todd C. Miller  <Todd.Miller@courtesan.com>
1402
1403         * src/exec.c, src/sudo.c:
1404         The change in 818e82ecbbfc that caused to exit when the monitor dies
1405         created a race condition between the monitor exiting and the status
1406         being read. All we really want to do is make sure that select()
1407         notifies us that there is a status change when the monitor dies
1408         unexpectedly so shutdown the socketpair connected to the monitor for
1409         writing when it dies. That way we can still read the status that is
1410         pending on the socket and select() on Linux will tell us that the fd
1411         is ready.
1412         [7fb5b30ea48d]
1413
1414         * MANIFEST, src/Makefile.in, src/exec.c, src/exec_common.c,
1415         src/exec_pty.c, src/selinux.c, src/sesh.c, src/sudo.c, src/sudo.h,
1416         src/sudo_exec.h:
1417         Refactor disable_execute() and my_execve() into exec_common.c for
1418         use by sesh.c. This fixes NOEXEC when SELinux is used. Instead of
1419         disabling exec in exec_setup(), disable it immediately before
1420         executing the command. Adapted from a diff by Arno Schuring.
1421         [ec4d8b53db6b]
1422
1423 2012-01-20  Todd C. Miller  <Todd.Miller@courtesan.com>
1424
1425         * aclocal.m4, configure, configure.in:
1426         Add custom version of AC_CHECK_LIB that uses the extra libs in the
1427         cache value name. With this we no longer need to rely on a modified
1428         version of autoconf.
1429         [1c3b1d482d6c]
1430
1431 2012-01-19  Todd C. Miller  <Todd.Miller@courtesan.com>
1432
1433         * configure, configure.in:
1434         Better handling of network functions that need -lsocket -lnsl
1435         [cc386342ec2b]
1436
1437         * src/sudo.c:
1438         When setting up the execution environment, set groups before
1439         gid/egid like sudo 1.7 did.
1440         [928e1c5fa6c1]
1441
1442         * configure, configure.in:
1443         Remove "WARNING: unable to find foo() trying -lsocket -lnsl"
1444         [84b23cdf138f]
1445
1446         * plugins/sudoers/sudoers.c:
1447         For "sudo -g" prepend the specified group ID to the beginning of the
1448         groups list. This matches BSD convention where the effective gid is
1449         the first entry in the group list. This is required on newer
1450         FreeBSD where the effective gid is not tracked separately and thus
1451         setgroups() changes the egid if this convention is not followed.
1452         Fixes bug #532
1453         [782d6909108b]
1454
1455 2012-01-17  Todd C. Miller  <Todd.Miller@courtesan.com>
1456
1457         * configure, configure.in:
1458         Fix sh warning; use "test" instead of "["
1459         [c6ee3407f65e]
1460
1461         * src/exec.c:
1462         When not logging I/O, use a signal handler that only forwards
1463         SIGINT, SIGQUIT and SIGHUP when they are user-generated signals.
1464         Fixes a race in the non-I/O logging path where the command may
1465         receive two keyboard-generated signals; one from the kernel and one
1466         from the sudo process.
1467         [9638684e786a]
1468
1469         * src/exec.c:
1470         Back out change that put the command in its own pgrp when not
1471         logging I/O. It causes problems with pipelines.
1472         [4fc9c6e1e770]
1473
1474 2012-01-16  Todd C. Miller  <Todd.Miller@courtesan.com>
1475
1476         * compat/Makefile.in, configure, configure.in:
1477         Only run compat regress tests on compat objects we actually build.
1478         Fixes "make check" in the compat dir for systems that don't
1479         implement character classes in fnmatch() or glob(). Bug #531
1480         [a7addc305e83]
1481
1482 2012-01-14  Todd C. Miller  <Todd.Miller@courtesan.com>
1483
1484         * plugins/sudoers/po/da.mo, plugins/sudoers/po/da.po:
1485         Update po files from translationproject.org
1486         [5ea066af1356]
1487
1488 2012-01-13  Todd C. Miller  <Todd.Miller@courtesan.com>
1489
1490         * sudo.pp:
1491         Include parent directories in case they don't already exist. This
1492         fixes a directory permissions problem with the AIX package when the
1493         /usr/local directories don't already exist.
1494         [a14f783dc827]
1495
1496         * pp:
1497         sync with git version
1498         [2f79d0543661]
1499
1500         * common/Makefile.in, plugins/sudoers/Makefile.in, src/Makefile.in:
1501         regen dependencies
1502         [24c92ca6c64d]
1503
1504         * MANIFEST, src/Makefile.in, src/sudo.c, src/sudo.h, src/ttyname.c:
1505         Move tty name lookup code to its own file.
1506         [58faf072cbf4]
1507
1508 2012-01-12  Todd C. Miller  <Todd.Miller@courtesan.com>
1509
1510         * NEWS:
1511         Update with latest sudo 1.8.4 changes.
1512         [a4ffe4f42528]
1513
1514         * config.h.in, configure, configure.in:
1515         Remove obsolete template for HAVE_TIMESPEC
1516         [75709007c906]
1517
1518         * src/sudo.c:
1519         Add a check for devname() returning a fully-qualified pathname. None
1520         of the devname() implementations do this today but you never know
1521         when this might change.
1522         [16813ace38f9]
1523
1524 2012-01-11  Todd C. Miller  <Todd.Miller@courtesan.com>
1525
1526         * plugins/sudoers/visudo.c:
1527         For "visudo -c" also list include files that were checked when
1528         everything is OK.
1529         [ad6f85b35c9c]
1530
1531         * src/sudo.c:
1532         The device name returned by devname() does not include the /dev/
1533         prefix so we need to add it ourselves.
1534         [b55285abb7ed]
1535
1536         * src/sudo.c:
1537         Add debug warning if KERN_PROC sysctl fails or devname() can't
1538         resolve the tty device to a name.
1539         [b5a23916ba3a]
1540
1541         * common/sudo_debug.c:
1542         The result of writev() is never checked so just cast to NULL.
1543         [4be4e9b58d5b]
1544
1545         * plugins/sudoers/po/eo.mo, plugins/sudoers/po/eo.po,
1546         plugins/sudoers/po/fi.mo, plugins/sudoers/po/fi.po,
1547         plugins/sudoers/po/pl.mo, plugins/sudoers/po/pl.po,
1548         plugins/sudoers/po/uk.mo, plugins/sudoers/po/uk.po:
1549         Update Esperanto, Finnish, Polish and Ukrainian translations from
1550         translationproject.org.
1551         [bb91bc6ad7e9]
1552
1553 2012-01-10  Todd C. Miller  <Todd.Miller@courtesan.com>
1554
1555         * config.h.in, configure, configure.in, src/sudo.c:
1556         Add support for determining tty via sysctl on other BSD variants.
1557         [fd15f63f719a]
1558
1559         * configure, configure.in:
1560         Only check for struct kinfo_proc.ki_tdev on systems that support
1561         sysctl.
1562         [109b3f07a39d]
1563
1564         * src/sudo.c:
1565         For FreeBSD, try the KERN_PROC_PID sysctl() first, falling back on
1566         ttyname() of std{in,out,err}.
1567         [95969b70bd68]
1568
1569 2012-01-09  Todd C. Miller  <Todd.Miller@courtesan.com>
1570
1571         * config.h.in, configure, configure.in, src/sudo.c:
1572         On newer FreeBSD we can get the parent's tty name via sysctl().
1573         [3207290501ee]
1574
1575         * plugins/sudoers/testsudoers.c:
1576         Include locale.h
1577         [a602cd0b8c2d]
1578
1579         * src/sudo.c:
1580         Silence a gcc warning.
1581         [8c6d0e3cd534]
1582
1583         * plugins/sudoers/bsm_audit.c:
1584         Need to include gettext.h and sudo_debug.h; from John Hein
1585         [447912aa7300]
1586
1587         * plugins/sudoers/iolog.c:
1588         Initialize the debug framework from the I/O plugin too.
1589         [ce1bf44d96d2]
1590
1591 2012-01-08  Todd C. Miller  <Todd.Miller@courtesan.com>
1592
1593         * plugins/sudoers/testsudoers.c:
1594         Enable debugging via sudo.conf.
1595         [d85669c749d0]
1596
1597 2012-01-07  Todd C. Miller  <Todd.Miller@courtesan.com>
1598
1599         * plugins/sudoers/visudo.c:
1600         Use SUDO_DEBUG_ALIAS for alias checking functions.
1601         [fb84af30dc76]
1602
1603         * configure, configure.in:
1604         More complete test for getaddrinfo() that doesn't rely on the
1605         network libraries already being added to LIBS.
1606         [cbaf2369f4f0]
1607
1608 2012-01-06  Todd C. Miller  <Todd.Miller@courtesan.com>
1609
1610         * common/aix.c:
1611         Add debug support.
1612         [def1bdf24485]
1613
1614         * configure, configure.in:
1615         Need -lsocket -lnsl for getaddrinfo(3) on Solaris at least.
1616         [a2ea1c2eac61]
1617
1618         * compat/getaddrinfo.c:
1619         Include errno.h and missing.h
1620         [7d15e17cc2f2]
1621
1622         * .hgignore:
1623         ignore doc/varsub
1624         [417f9fc3231b]
1625
1626         * configure.in, doc/visudo.pod, plugins/sudoers/Makefile.in,
1627         plugins/sudoers/gram.y, plugins/sudoers/match.c,
1628         plugins/sudoers/parse.c, plugins/sudoers/testsudoers.c, src/exec.c,
1629         src/parse_args.c, src/sudo.c, src/sudo.h:
1630         Update copyright year.
1631         [5d0ffc7dd567]
1632
1633         * NEWS:
1634         Update for sudo 1.8.4
1635         [841e3eff9844]
1636
1637         * plugins/sudoers/po/sudoers.pot, src/po/sudo.pot:
1638         regen pot files
1639         [c509cb45b66a]
1640
1641         * plugins/sudoers/sudoreplay.c:
1642         Enable debugging via sudo.conf.
1643         [5087aaee8484]
1644
1645         * plugins/sudoers/visudo.c:
1646         Enable debugging via sudo.conf.
1647         [04b067c16ed3]
1648
1649         * plugins/sudoers/visudo.c:
1650         Allow "visudo -c" to work when we only have read-only access to the
1651         sudoers include files.
1652         [d8c6713fe5c1]
1653
1654         * doc/sudo.pod, doc/visudo.pod:
1655         Mention the CONTRIBUTORS file, not HISTORY in AUTHOR section. Add
1656         HISTORY section in sudo that points to HISTORY file.
1657         [d1f1bcb051c5]
1658
1659         * doc/sudo.pod, doc/sudo_plugin.pod:
1660         Document Debug setting in sudo.conf and debug_flags in plugin.
1661         [acfc505aa4a9]
1662
1663 2012-01-05  Todd C. Miller  <Todd.Miller@courtesan.com>
1664
1665         * plugins/sudoers/match.c:
1666         Do not include GLOB_MARK in the flags we pass to glob(3). Fixes a
1667         bug where a pattern like "/usr/*" include /usr/bin/ in the results,
1668         which would be incorrectly be interpreted as if the sudoers file had
1669         specified a directory. From Vitezslav Cizek.
1670         [0cdb6252188c]
1671
1672         * INSTALL, config.h.in, configure, configure.in,
1673         plugins/sudoers/auth/kerb5.c:
1674         Add --enable-kerb5-instance configure option to allow people using
1675         Kerberos V authentication to use a custom instance. Adapted from a
1676         diff by Michael E Burr.
1677         [e83af8bb7aa7]
1678
1679         * doc/sudo.pod, src/parse_args.c, src/sudo.c, src/sudo.h:
1680         Remove -D debug_level option.
1681         [cbcd05094347]
1682
1683         * doc/LICENSE:
1684         Update copyright year.
1685         [9f43dd7aa852]
1686
1687 2012-01-04  Todd C. Miller  <Todd.Miller@courtesan.com>
1688
1689         * plugins/sudoers/parse.c, plugins/sudoers/testsudoers.c,
1690         plugins/sudoers/visudo.c:
1691         parse_error is now bool, not int
1692         [5ea7fb6fda38]
1693
1694         * plugins/sudoers/gram.c, plugins/sudoers/gram.y,
1695         plugins/sudoers/parse.c:
1696         Print a more sensible error if yyparse() returns non-zero but
1697         yyerror() was not called.
1698         [d44ec88f1183]
1699
1700         * plugins/sudoers/Makefile.in, plugins/sudoers/getdate.c,
1701         plugins/sudoers/gram.c:
1702         Replace y.tab.c with the correct filename in #line directives.
1703         [3c84fcb7e959]
1704
1705 2012-01-03  Todd C. Miller  <Todd.Miller@courtesan.com>
1706
1707         * src/sudo.c:
1708         When trying to determine the tty, fall back on /proc/ppid/fd/{0,1,2}
1709         if the main process's fds 0-2 are not hooked up to a tty. Adapted
1710         from a diff by Zdenek Behan.
1711         [b9dfce12af85]
1712
1713         * src/exec.c:
1714         When not logging I/O, put command in its own pgrp and make that the
1715         controlling pgrp if the command is in the foreground. Fixes a race
1716         in the non-I/O logging path where the command may receive two
1717         keyboard-generated signals; one from the kernel and one from the
1718         sudo process.
1719         [d0e263ce496c]
1720
1721 2011-12-20  Todd C. Miller  <Todd.Miller@courtesan.com>
1722
1723         * src/sudo_edit.c:
1724         Quiet a bogus gcc warning.
1725         [2009669e0608]
1726
1727         * src/parse_args.c, src/sudo.h:
1728         Fix warnings related to sudo.conf accessors.
1729         [08ddc29ba50b]
1730
1731         * common/sudo_conf.c, include/sudo_conf.h:
1732         Separate sudo.conf parsing from plugin loading and move the parse
1733         functions into the common lib so that visudo, etc. can use them.
1734         [f1fc659a8079]
1735
1736         * MANIFEST, common/Makefile.in, src/Makefile.in, src/load_plugins.c,
1737         src/parse_args.c, src/sudo.c, src/sudo_plugin_int.h:
1738         Separate sudo.conf parsing from plugin loading and move the parse
1739         functions into the common lib so that visudo, etc. can use them.
1740         [e1f2cf6bd57a]
1741
1742         * doc/sudoers.pod, plugins/sudoers/def_data.c,
1743         plugins/sudoers/def_data.h, plugins/sudoers/def_data.in,
1744         plugins/sudoers/sudoers.c, src/sudo.c:
1745         Remove support for noexec_file in sudoers and the plugin API
1746         [3e2fd58879b5]
1747
1748         * plugins/sudoers/sudoers.c:
1749         Don't dump interfaces if there are none.
1750         [9081bb4d3e9e]
1751
1752         * plugins/sudoers/def_data.c, plugins/sudoers/def_data.in:
1753         Add missing %s printf escape to the group_plugin, iolog_dir and
1754         iolog_file descriptions.
1755         [7db03f2b737e]
1756
1757 2011-12-18  Todd C. Miller  <Todd.Miller@courtesan.com>
1758
1759         * plugins/sudoers/def_data.c, plugins/sudoers/def_data.in, src/exec.c:
1760         Fix typo in visiblepw description; from Joel Pickett
1761         [2fb4b26d5c2c]
1762
1763 2011-12-08  Todd C. Miller  <Todd.Miller@courtesan.com>
1764
1765         * MANIFEST, configure, configure.in, mkdep.pl,
1766         plugins/sudoers/Makefile.in, plugins/sudoers/env.c,
1767         plugins/sudoers/login_class.c, plugins/sudoers/sudoers.c,
1768         plugins/sudoers/sudoers.h, src/sudo.c:
1769         When running a login shell with a login_class specified, use
1770         LOGIN_SETENV instead of rolling our own login.conf setenv support
1771         since FreeBSD's login.conf has more than just setenv capabilities.
1772         This requires us to swap the plugin-provided envp for the global
1773         environ before calling setusercontext() and then stash the resulting
1774         environ pointer back into the command details, which is kind of a
1775         hack.
1776         [ad4f1190143b]
1777
1778         * plugins/sudoers/Makefile.in:
1779         If srcdir is "." just use the basename of the yacc/lex file when
1780         generating the C version. This matches the generated files
1781         currently in the repo.
1782         [0b11c3df87a8]
1783
1784         * doc/Makefile.in, plugins/sudoers/Makefile.in:
1785         Clean up the DEVEL noise
1786         [9de2afe457fd]
1787
1788         * src/exec.c:
1789         Handle different Unix domain socket (actually socketpair) semantics
1790         in BSD vs. Linux. In BSD if one end of the socketpair goes away
1791         select() returns the fd as readable and the read will fail with
1792         ECONNRESET. This doesn't appear to happen on Linux so if we notice
1793         that the monitor process has died when I/O logging is enabled,
1794         behave like the command has exited. This means we log the wait
1795         status of the monitor, not the command, but there is nothing else we
1796         can do at that point. This should only be an issue if SIGKILL is
1797         sent to the monitor process.
1798         [818e82ecbbfc]
1799
1800         * src/exec_pty.c:
1801         Catch common signals in the monitor process so they get passed to
1802         the command. Fixes a problem when the entire login session is
1803         killed when ssh is disconnected or the terminal window is closed.
1804         Previously, the monitor would exit and plugin's close method would
1805         not be called.
1806         [0e4658263138]
1807
1808         * INSTALL, configure, configure.in:
1809         Mention how to configure pam_hpsec on HP-UX to play nicely with
1810         sudo.
1811         [a7294cd8ce98]
1812
1813 2011-12-07  Todd C. Miller  <Todd.Miller@courtesan.com>
1814
1815         * plugins/sudoers/ldap.c:
1816         Escape values in the search expression as per RFC 4515.
1817         [c2adbc5db92b]
1818
1819         * doc/Makefile.in, include/Makefile.in, plugins/sample/Makefile.in,
1820         plugins/sample_group/Makefile.in, plugins/sudoers/Makefile.in,
1821         src/Makefile.in:
1822         No need for install target to depend explicitly on install-dirs, the
1823         install-foo targets all depend on it.
1824         [62a36ed98279]
1825
1826 2011-12-05  Todd C. Miller  <Todd.Miller@courtesan.com>
1827
1828         * .hgignore:
1829         ignore src/sesh
1830         [463d492f6782]
1831
1832         * MANIFEST, common/Makefile.in, configure, configure.in, mkdep.pl,
1833         plugins/sample/Makefile.in, plugins/sample_group/Makefile.in,
1834         plugins/sudoers/Makefile.in, plugins/sudoers/env.c,
1835         plugins/sudoers/login_class.c, plugins/sudoers/sudoers.c,
1836         plugins/sudoers/sudoers.h, src/Makefile.in:
1837         Add support for setenv entries in login.conf. We can't use
1838         LOGIN_SETENV since the plugin sets up the envp the command is
1839         executed with. Also regen the Makefile.in files while here. Fixes
1840         bug #527
1841         [088d507926e2]
1842
1843 2011-12-02  Todd C. Miller  <Todd.Miller@courtesan.com>
1844
1845         * MANIFEST, aclocal.m4, compat/getaddrinfo.c, compat/getaddrinfo.h,
1846         config.h.in, configure, configure.in, plugins/sudoers/sudoers.c,
1847         src/net_ifs.c:
1848         Add getaddrinfo() for those without it, written by Russ Allbery
1849         [4cf9ac831222]
1850
1851         * doc/Makefile.in:
1852         Restore PACKAGE_TARNAME, it is used in docdir
1853         [9d65e893edb1]
1854
1855         * MANIFEST, compat/stdbool.h:
1856         SunPro C Compiler also has a _Bool builtin. Also add stdbool.h to
1857         the MANIFEST
1858         [e67700dc5621]
1859
1860         * common/atobool.c, common/term.c, src/exec.c:
1861         Remove duplicate return statements.
1862         [48a20d5215fd]
1863
1864         * plugins/sudoers/auth/bsdauth.c:
1865         Remove inaccurate comment
1866         [e7f0265cf657]
1867
1868         * plugins/sudoers/auth/bsdauth.c, plugins/sudoers/sudoers.c:
1869         Fetch the login class for the user we authenticate specifically when
1870         using BSD authentication. That user may have a different login
1871         class than what we will use to run the command. When setting the
1872         login class for the command, use the target user's struct passwd,
1873         not the invoking user's. Fixes bug 526
1874         [21bf0af892f7]
1875
1876         * compat/Makefile.in, configure, configure.in, doc/Makefile.in,
1877         plugins/sudoers/Makefile.in:
1878         Replace @DEV@ prefix with DEVEL variable so we can do "make DEVEL=1"
1879         [8ee6e0891f27]
1880
1881         * plugins/sudoers/regress/iolog_path/check_iolog_path.c,
1882         plugins/sudoers/regress/logging/check_wrap.c,
1883         plugins/sudoers/regress/parser/check_addr.c,
1884         plugins/sudoers/regress/parser/check_fill.c:
1885         Fix "make check" fallout from the sudo_conv changes in sudo_debug.
1886         [b0aaa63c9081]
1887
1888         * common/fileops.c, common/sudo_debug.c, configure, configure.in,
1889         include/fileops.h, plugins/sample/Makefile.in,
1890         plugins/sample/sample_plugin.c, plugins/sample_group/Makefile.in,
1891         plugins/sample_group/sample_group.c, plugins/sudoers/alias.c,
1892         plugins/sudoers/auth/sudo_auth.c, plugins/sudoers/check.c,
1893         plugins/sudoers/defaults.c, plugins/sudoers/defaults.h,
1894         plugins/sudoers/env.c, plugins/sudoers/find_path.c,
1895         plugins/sudoers/goodpath.c, plugins/sudoers/gram.c,
1896         plugins/sudoers/gram.y, plugins/sudoers/group_plugin.c,
1897         plugins/sudoers/iolog.c, plugins/sudoers/iolog_path.c,
1898         plugins/sudoers/ldap.c, plugins/sudoers/match.c,
1899         plugins/sudoers/match_addr.c, plugins/sudoers/parse.c,
1900         plugins/sudoers/parse.h, plugins/sudoers/pwutil.c,
1901         plugins/sudoers/sudo_nss.c, plugins/sudoers/sudoers.c,
1902         plugins/sudoers/sudoers.h, plugins/sudoers/testsudoers.c,
1903         plugins/sudoers/toke.c, plugins/sudoers/toke.h,
1904         plugins/sudoers/toke.l, plugins/sudoers/toke_util.c,
1905         plugins/sudoers/visudo.c, src/exec.c, src/exec_pty.c,
1906         src/load_plugins.c, src/sudo.c, src/sudo.h, src/sudo_exec.h,
1907         src/sudo_plugin_int.h, src/utmp.c:
1908         Use stdbool.h instead of rolling our own TRUE/FALSE macros.
1909         [dcb0bbc42fc9]
1910
1911 2011-12-01  Todd C. Miller  <Todd.Miller@courtesan.com>
1912
1913         * compat/stdbool.h, config.h.in, configure, configure.in:
1914         Add stdbool.h for systems without it.
1915         [18bd9dda1dcd]
1916
1917         * aclocal.m4, config.h.in, configure, configure.in:
1918         No longer need SUDO_CHECK_TYPE and SUDO_TYPE_* now that the default
1919         includes have unistd.h in them. Add check for socklen_t for
1920         upcoming getaddrinfo compat.
1921         [d705465bef69]
1922
1923         * common/fileops.c, compat/nanosleep.c, config.h.in, configure,
1924         configure.in, plugins/sudoers/interfaces.c,
1925         plugins/sudoers/interfaces.h, plugins/sudoers/match_addr.c,
1926         plugins/sudoers/sudoreplay.c, src/net_ifs.c:
1927         Use HAVE_STRUCT_TIMESPEC and HAVE_STRUCT_IN6_ADDR instead of
1928         HAVE_TIMESPEC and HAVE_IN6_ADDR respectively.
1929         [fa187c9bd2be]
1930
1931         * src/sudo_noexec.c:
1932         No longer need to include time.h here as missing.h does not use
1933         time_t.
1934         [fa3a089bf5b1]
1935
1936 2011-11-30  Todd C. Miller  <Todd.Miller@courtesan.com>
1937
1938         * plugins/sudoers/visudo.c:
1939         Fix mode on sudoers as needed when the -f option is not specified.
1940         [7a1c40b0dc03]
1941
1942         * MANIFEST, src/po/sr.mo, src/po/sr.po:
1943         Add Serbian translation for sudo from translationproject.org
1944         [9a0c25e25cba]
1945
1946         * common/sudo_debug.c, plugins/sudoers/sudoers.c, src/load_plugins.c,
1947         src/parse_args.c:
1948         No longer pass debug_file to plugin, plugins must now use
1949         CONV_DEBUG_MSG
1950         [810cda1abb0b]
1951
1952         * mkpkg:
1953         Build PIE executables for newer Debian and Ubuntu
1954         [1c5f25f8904a]
1955
1956         * common/sudo_debug.c:
1957         Include time.h for ctime() prototype.
1958         [10090cf3bca1]
1959
1960 2011-11-29  Todd C. Miller  <Todd.Miller@courtesan.com>
1961
1962         * common/sudo_debug.c, include/sudo_debug.h, src/exec.c,
1963         src/exec_pty.c:
1964         Do not close error pipe or debug fd via closefrom() as we need them
1965         to report an exec error should one occur.
1966         [732f6587fafa]
1967
1968         * doc/sudoers.ldap.pod:
1969         Document that a sudoUser may now be a group ID.
1970         [2fef46b9d3d3]
1971
1972         * plugins/sudoers/ldap.c:
1973         Add support for permitting access by group ID in addition to group
1974         name.
1975         [b9450fdf1f69]
1976
1977         * plugins/sudoers/ldap.c:
1978         Older Netscape LDAP SDKs don't prototype ldapssl_set_strength()
1979         [d62a1e7cff4f]
1980
1981         * compat/fnmatch.c, compat/fnmatch.h, doc/LICENSE:
1982         Replace UCB fnmatch.c with a non-recursive version written by
1983         William A. Rowe Jr.
1984         [354d3384adb8]
1985
1986         * plugins/sudoers/auth/pam.c:
1987         Fix typo, return_debug vs. debug_return
1988         [1b522efcbb0d]
1989
1990 2011-11-23  Todd C. Miller  <Todd.Miller@courtesan.com>
1991
1992         * plugins/sudoers/po/ja.mo, plugins/sudoers/po/ja.po:
1993         Update Japanese sudoers translation from translationproject.org
1994         [ec0f2beaad36]
1995
1996         * doc/sudoers.pod:
1997         Make the env_reset descriptions consistent.
1998         [41c056f02688]
1999
2000 2011-11-22  Todd C. Miller  <Todd.Miller@courtesan.com>
2001
2002         * configure, configure.in:
2003         Do multiple expansion when expanding paths to the noexec file, sesh
2004         and the plugin directory. Adapted from a diff by Mike Frysinger
2005         [d7e16c876c66]
2006
2007         * common/Makefile.in:
2008         regen
2009         [9d729e09c186]
2010
2011 2011-11-21  Todd C. Miller  <Todd.Miller@courtesan.com>
2012
2013         * .hgignore:
2014         Add ignore file; from Mike Frysinger
2015         [1fa8d52425f8]
2016
2017         * mkdep.pl:
2018         no longer save old Makefile.in to .old
2019         [378dd2395545]
2020
2021         * plugins/sudoers/Makefile.in, src/Makefile.in:
2022         regen
2023         [769faf517720]
2024
2025         * config.guess, config.sub, configure, ltmain.sh, m4/libtool.m4,
2026         m4/ltoptions.m4, m4/ltversion.m4:
2027         Update to libtool 2.4.2
2028         [9dac78d84b4f]
2029
2030 2011-11-18  Todd C. Miller  <Todd.Miller@courtesan.com>
2031
2032         * plugins/sudoers/sudoers_version.h:
2033         Bump grammar version for #include and #includedir relative path
2034         support.
2035         [82a4f7cd8f71]
2036
2037 2011-11-17  Todd C. Miller  <Todd.Miller@courtesan.com>
2038
2039         * doc/sudoers.pod, plugins/sudoers/toke.c, plugins/sudoers/toke.l:
2040         Add support for relative paths in #include and #includedir
2041         [4d6e3bd0c24f]
2042
2043         * plugins/sudoers/Makefile.in:
2044         Fix install-plugin when shared objects are unsupported or disabled.
2045         [cbdd770a7a1b]
2046
2047         * plugins/sudoers/goodpath.c:
2048         Don't write to sbp if it is NULL
2049         [fc438f8e8570]
2050
2051 2011-11-16  Todd C. Miller  <Todd.Miller@courtesan.com>
2052
2053         * Makefile.in:
2054         Remove all sudo/sudoers .mo files on uninstall If LINGUAS is set,
2055         only install matching .mo files
2056         [c1dc30ab4ebc]
2057
2058 2011-11-13  Todd C. Miller  <Todd.Miller@courtesan.com>
2059
2060         * plugins/sudoers/group_plugin.c, plugins/sudoers/plugin_error.c,
2061         plugins/sudoers/sudoers.c, src/conversation.c:
2062         Fix non-dynamic (no dlopen) sudo build.
2063         [b0bd3fa925a3]
2064
2065         * configure, configure.in:
2066         Don't error out if the user specified --disable-shared
2067         [cf035dd1e5cc]
2068
2069         * common/sudo_debug.c, plugins/sudoers/sudoreplay.c,
2070         plugins/sudoers/testsudoers.c, plugins/sudoers/visudo.c,
2071         src/conversation.c:
2072         Use SUDO_CONV_DEBUG_MSG in the plugin instead of writing directly to
2073         the debug file.
2074         [640c62f83251]
2075
2076         * plugins/sudoers/find_path.c, plugins/sudoers/goodpath.c,
2077         plugins/sudoers/sudoers.h:
2078         Make sudo_goodpath() return value bolean
2079         [fea2d59a6e55]
2080
2081         * INSTALL, MANIFEST, configure, configure.in, mkdep.pl,
2082         plugins/sudoers/Makefile.in, plugins/sudoers/auth/securid.c:
2083         Remove obsolete securid auth method.
2084         [4e54f860214b]
2085
2086         * plugins/sudoers/auth/afs.c, plugins/sudoers/auth/aix_auth.c,
2087         plugins/sudoers/auth/dce.c, plugins/sudoers/auth/fwtk.c,
2088         plugins/sudoers/auth/kerb5.c, plugins/sudoers/auth/pam.c,
2089         plugins/sudoers/auth/passwd.c, plugins/sudoers/auth/rfc1938.c,
2090         plugins/sudoers/auth/secureware.c, plugins/sudoers/auth/securid5.c,
2091         plugins/sudoers/auth/sia.c, plugins/sudoers/auth/sudo_auth.c,
2092         plugins/sudoers/auth/sudo_auth.h:
2093         Prefix authentication functions with a "sudo_" prefix to avoid
2094         namespace problems.
2095         [581d74063ea1]
2096
2097         * INSTALL, MANIFEST, config.h.in, configure, configure.in,
2098         doc/TROUBLESHOOTING, mkdep.pl, plugins/sudoers/Makefile.in,
2099         plugins/sudoers/auth/kerb4.c, plugins/sudoers/auth/sudo_auth.c,
2100         plugins/sudoers/auth/sudo_auth.h, plugins/sudoers/env.c:
2101         Remove the old Kerberos IV support
2102         [2e4b4a44209d]
2103
2104 2011-11-12  Todd C. Miller  <Todd.Miller@courtesan.com>
2105
2106         * plugins/sudoers/check.c:
2107         Don't print garbage at the end of the custom lecture.
2108         [44bb788fafaa]
2109
2110         * plugins/sudoers/toke.c, plugins/sudoers/toke.l:
2111         Add lexer tracing as debug@parser
2112         [d850f3f9d414]
2113
2114         * plugins/sudoers/alias.c, plugins/sudoers/defaults.c,
2115         plugins/sudoers/defaults.h, plugins/sudoers/gram.c,
2116         plugins/sudoers/match.c, plugins/sudoers/parse.c,
2117         plugins/sudoers/regress/parser/check_fill.c,
2118         plugins/sudoers/testsudoers.c, plugins/sudoers/toke.c,
2119         plugins/sudoers/toke.l, plugins/sudoers/toke_util.c,
2120         plugins/sudoers/visudo.c:
2121         Revert 003bdb078a15. We need to #include <gram.h> not "gram.h" and
2122         <def_data.h> and not "def_data.h" when generating the parser in a
2123         build dir.
2124         [7da701def753]
2125
2126 2011-11-08  Todd C. Miller  <Todd.Miller@courtesan.com>
2127
2128         * mkdep.pl, plugins/sudoers/Makefile.in:
2129         Better devdir support in mkdep.pl
2130         [7dcec57bd155]
2131
2132         * plugins/sudoers/Makefile.in:
2133         Add devdir before srcdir in include path and fix up dependecies
2134         accordingly.
2135         [6e9958eca485]
2136
2137         * plugins/sudoers/alias.c, plugins/sudoers/defaults.c,
2138         plugins/sudoers/defaults.h, plugins/sudoers/match.c,
2139         plugins/sudoers/parse.c, plugins/sudoers/testsudoers.c,
2140         plugins/sudoers/toke.c, plugins/sudoers/toke.l,
2141         plugins/sudoers/toke_util.c, plugins/sudoers/visudo.c:
2142         #include "gram.h" not <gram.h> and "def_data.h" and not
2143         <def_data.h>.
2144         [003bdb078a15]
2145
2146         * sudo.pp:
2147         Mark libexec files as optional. If we build without shared object
2148         support, libexec is not used.
2149         [4bffcf482219]
2150
2151         * src/load_plugins.c:
2152         Change Debug sudo.conf setting to take a program name as the first
2153         argument. In the future, this will allow visudo and sudoreplay to
2154         use their own Debug entries.
2155         [cfb8f7e4867c]
2156
2157         * src/sudo.c:
2158         fix sudo_debug_printf priority
2159         [dcb67e965609]
2160
2161         * plugins/sudoers/sudoers.c:
2162         add missing debug_return_int
2163         [d88ec450c592]
2164
2165 2011-11-07  Todd C. Miller  <Todd.Miller@courtesan.com>
2166
2167         * common/sudo_debug.c, include/error.h, include/sudo_debug.h,
2168         plugins/sudoers/logging.c, src/exec.c, src/exec_pty.c:
2169         Fold SUDO_DEBUG_PROGERR and SUDO_DEBUG_SYSERR into SUDO_DEBUG_ERROR
2170         [dcee8efc294f]
2171
2172         * doc/UPGRADE:
2173         Add missing word in HOME security note.
2174         [fd844fdcc1ac]
2175
2176         * plugins/sudoers/testsudoers.c:
2177         Prevent "testsudoers -d username" from trying to malloc(0).
2178         [839126e56e8c]
2179
2180 2011-11-06  Todd C. Miller  <Todd.Miller@courtesan.com>
2181
2182         * plugins/sudoers/regress/sudoers/test10.in,
2183         plugins/sudoers/regress/sudoers/test10.out.ok,
2184         plugins/sudoers/regress/sudoers/test10.toke.ok,
2185         plugins/sudoers/regress/sudoers/test10.toke.out.ok,
2186         plugins/sudoers/regress/sudoers/test11.in,
2187         plugins/sudoers/regress/sudoers/test11.out.ok,
2188         plugins/sudoers/regress/sudoers/test11.toke.ok,
2189         plugins/sudoers/regress/sudoers/test11.toke.out.ok,
2190         plugins/sudoers/regress/sudoers/test12.in,
2191         plugins/sudoers/regress/sudoers/test12.out.ok,
2192         plugins/sudoers/regress/sudoers/test12.toke.ok,
2193         plugins/sudoers/regress/sudoers/test13.in,
2194         plugins/sudoers/regress/sudoers/test13.out.ok,
2195         plugins/sudoers/regress/sudoers/test13.toke.ok,
2196         plugins/sudoers/regress/sudoers/test9.in,
2197         plugins/sudoers/regress/sudoers/test9.out.ok,
2198         plugins/sudoers/regress/sudoers/test9.toke.ok,
2199         plugins/sudoers/regress/sudoers/test9.toke.out.ok:
2200         Tests for empty sudoers (should parse OK) and syntax errors within a
2201         line (should report correct line number) both with and without the
2202         trailing newline.
2203         [d57c879c4718]
2204
2205         * plugins/sudoers/regress/sudoers/test4.out.ok,
2206         plugins/sudoers/regress/sudoers/test5.out.ok,
2207         plugins/sudoers/regress/sudoers/test7.out.ok,
2208         plugins/sudoers/regress/sudoers/test8.out.ok,
2209         plugins/sudoers/testsudoers.c:
2210         Print line number when there is a parser error.
2211         [5444ef6ac6dc]
2212
2213 2011-11-05  Todd C. Miller  <Todd.Miller@courtesan.com>
2214
2215         * plugins/sudoers/gram.c, plugins/sudoers/gram.y,
2216         plugins/sudoers/toke.c, plugins/sudoers/toke.l:
2217         Keep track of the last token returned. On error, if the last token
2218         was COMMENT, decrement sudolineno since the error most likely
2219         occurred on the preceding line. Previously we always uses
2220         sudolineno-1 which will give the wrong line number for errors within
2221         a line.
2222         [d661a03a64da]
2223
2224 2011-11-03  Todd C. Miller  <Todd.Miller@courtesan.com>
2225
2226         * NEWS:
2227         update with sudo 1.8.3p1 info
2228         [0f79ff31f602]
2229
2230         * plugins/sudoers/sudoers.c:
2231         Fix crash when "sudo -g group -i" is run. Fixes bug 521
2232         [a3087ae337c4]
2233
2234 2011-10-26  Todd C. Miller  <Todd.Miller@courtesan.com>
2235
2236         * plugins/sudoers/visudo.c:
2237         Make alias_remove_recursive() return TRUE/FALSE as its callers
2238         expect and remove two unused arguments. Fixes bug 519.
2239         [2ee3b2882844]
2240
2241         * plugins/sudoers/regress/visudo/test1.out.ok,
2242         plugins/sudoers/regress/visudo/test1.sh:
2243         Add regress test for bugzilla 519
2244         [48000ebedf97]
2245
2246         * plugins/sudoers/regress/iolog_path/check_iolog_path.c,
2247         plugins/sudoers/regress/logging/check_wrap.c,
2248         plugins/sudoers/regress/parser/check_addr.c,
2249         plugins/sudoers/regress/parser/check_fill.c:
2250         Disable warning/error wrapping in regress tests.
2251         [373c589ba561]
2252
2253 2011-10-25  Todd C. Miller  <Todd.Miller@courtesan.com>
2254
2255         * Makefile.in:
2256         Do compile-po as part of sync-po so that the .mo files get rebuild
2257         automatically when we sync with translationproject.org
2258         [83f3cbfc2f33]
2259
2260         * plugins/sudoers/Makefile.in:
2261         check_addr needs to link with the network libraries on Solaris
2262         [322bd70e316e]
2263
2264         * plugins/sudoers/match.c:
2265         When matching a RunasAlias for a runas group, pass the alias in as
2266         the group_list, not the user_list. From Daniel Kopecek.
2267         [766545edf141]
2268
2269         * plugins/sudoers/check.c, plugins/sudoers/sudoers.c:
2270         We need to init the auth system regardless of whether we need a
2271         password since we will be closing the PAM session in the monitor
2272         process. Fixes a crash in the monitor on Solaris; bugzilla #518
2273         [e82809f86fb3]
2274
2275 2011-10-24  Todd C. Miller  <Todd.Miller@courtesan.com>
2276
2277         * src/exec.c:
2278         Get rid of done: label. If the child exits we still need to close
2279         the pty, update utmp and restore the SELinux tty context.
2280         [cc127bf48405]
2281
2282 2011-10-22  Todd C. Miller  <Todd.Miller@courtesan.com>
2283
2284         * common/Makefile.in, common/atobool.c, common/fileops.c,
2285         common/fmt_string.c, common/lbuf.c, common/list.c,
2286         common/setgroups.c, common/term.c, plugins/sudoers/Makefile.in,
2287         plugins/sudoers/alias.c, plugins/sudoers/audit.c,
2288         plugins/sudoers/auth/afs.c, plugins/sudoers/auth/aix_auth.c,
2289         plugins/sudoers/auth/bsdauth.c, plugins/sudoers/auth/dce.c,
2290         plugins/sudoers/auth/fwtk.c, plugins/sudoers/auth/kerb4.c,
2291         plugins/sudoers/auth/kerb5.c, plugins/sudoers/auth/pam.c,
2292         plugins/sudoers/auth/passwd.c, plugins/sudoers/auth/rfc1938.c,
2293         plugins/sudoers/auth/secureware.c, plugins/sudoers/auth/securid.c,
2294         plugins/sudoers/auth/securid5.c, plugins/sudoers/auth/sia.c,
2295         plugins/sudoers/auth/sudo_auth.c, plugins/sudoers/boottime.c,
2296         plugins/sudoers/bsm_audit.c, plugins/sudoers/check.c,
2297         plugins/sudoers/defaults.c, plugins/sudoers/env.c,
2298         plugins/sudoers/find_path.c, plugins/sudoers/getspwuid.c,
2299         plugins/sudoers/goodpath.c, plugins/sudoers/gram.c,
2300         plugins/sudoers/gram.y, plugins/sudoers/group_plugin.c,
2301         plugins/sudoers/interfaces.c, plugins/sudoers/iolog.c,
2302         plugins/sudoers/iolog_path.c, plugins/sudoers/ldap.c,
2303         plugins/sudoers/linux_audit.c, plugins/sudoers/logging.c,
2304         plugins/sudoers/logwrap.c, plugins/sudoers/match.c,
2305         plugins/sudoers/match_addr.c, plugins/sudoers/parse.c,
2306         plugins/sudoers/pwutil.c, plugins/sudoers/redblack.c,
2307         plugins/sudoers/set_perms.c, plugins/sudoers/sudo_nss.c,
2308         plugins/sudoers/sudoers.c, plugins/sudoers/sudoers.h,
2309         plugins/sudoers/toke.c, plugins/sudoers/toke.h,
2310         plugins/sudoers/toke.l, plugins/sudoers/toke_util.c,
2311         src/Makefile.in, src/conversation.c, src/exec.c, src/exec_pty.c,
2312         src/get_pty.c, src/load_plugins.c, src/net_ifs.c, src/parse_args.c,
2313         src/selinux.c, src/sudo.c, src/sudo.h, src/sudo_edit.c,
2314         src/tgetpass.c, src/ttysize.c, src/utmp.c:
2315         Add debug_decl/debug_return (almost) everywhere. Remove old
2316         sudo_debug() and convert users to sudo_debug_printf().
2317         [8f3bbf907b67]
2318
2319         * common/alloc.c, include/error.h, plugins/sudoers/plugin_error.c,
2320         plugins/sudoers/sudoreplay.c, plugins/sudoers/testsudoers.c,
2321         plugins/sudoers/visudo.c, src/error.c:
2322         Wrap error/errorx and warning/warningx functions with debug
2323         statements. Disable wrapping for standalone sudoers programs as well
2324         as memory allocation functions (to avoid infinite recursion).
2325         [562ed7b5ae8d]
2326
2327         * README, config.h.in, configure, configure.in:
2328         Add checks for __func__ and __FUNCTION__ and mention that we now
2329         require a cpp that supports variadic macros.
2330         [314cfe4c5d23]
2331
2332         * MANIFEST, common/Makefile.in, common/sudo_debug.c,
2333         include/sudo_debug.h, include/sudo_plugin.h, src/conversation.c,
2334         src/load_plugins.c, src/parse_args.c, src/sudo.c,
2335         src/sudo_plugin_int.h:
2336         New debug framework for sudo and plugins using /etc/sudo.conf that
2337         also supports function call tracing.
2338         [cded741e9f10]
2339
2340 2011-10-21  Todd C. Miller  <Todd.Miller@courtesan.com>
2341
2342         * plugins/sudoers/po/ja.mo, plugins/sudoers/po/ja.po:
2343         Update Japanese sudoers translation from translationproject.org
2344         [c24725775e32]
2345
2346 2011-10-12  Todd C. Miller  <Todd.Miller@courtesan.com>
2347
2348         * configure, configure.in:
2349         Override and ignore the --disable-static option. Sudo already runs
2350         libtool with -tag=disable-static where applicable and we need non-
2351         PIC objects to build the executables.
2352         [aff1227b853a]
2353
2354 2011-10-10  Todd C. Miller  <Todd.Miller@courtesan.com>
2355
2356         * NEWS:
2357         Add sudoedit fix
2358         [74655c7ccad1]
2359
2360         * plugins/sudoers/po/sudoers.pot:
2361         regen pot files
2362         [28d89a831ed3]
2363
2364         * plugins/sudoers/env.c:
2365         Ignore set_logname (which is now the default) for sudoedit since we
2366         want the LOGNAME, USER and USERNAME environment variables to refer
2367         to the calling user since that is who the editor runs as. This
2368         allows the editor to find the user's startup files. Fixes bugzilla
2369         #515
2370         [6c5dddf5ff05]
2371
2372         * plugins/sudoers/pwutil.c:
2373         Instead of trying to grow the buffer in make_grlist_item(), simply
2374         increase the total length, free the old buffer and allocate a new
2375         one. This is less error prone and saves us from having to adjust
2376         all the pointers in the buffer. This code path is only taken when
2377         there are groups longer than the length of the user field in struct
2378         utmp or utmpx, which should be quite rare.
2379         [5587dc8cffaf]
2380
2381         * src/po/it.mo:
2382         Add Italian translation for sudo from translationproject.org
2383         [1b3dd886e7e3]
2384
2385         * MANIFEST, NEWS, plugins/sudoers/po/ja.mo, plugins/sudoers/po/ja.po,
2386         src/po/ja.mo, src/po/ja.po:
2387         Japanese translation for sudo and sudoers from
2388         translationproject.org
2389         [c06dd866be6e]
2390
2391 2011-10-07  Todd C. Miller  <Todd.Miller@courtesan.com>
2392
2393         * plugins/sudoers/Makefile.in:
2394         sudoreplay depends on timestr.lo too; from Mike Frysinger
2395         [b9e73214b2f1]
2396
2397 2011-10-04  Todd C. Miller  <Todd.Miller@courtesan.com>
2398
2399         * plugins/sudoers/po/sudoers.pot:
2400         Regen sudoers pot file.
2401         [019588bafdb3]
2402
2403         * NEWS:
2404         Update with latest sudo 1.8.3 news
2405         [6868042a88e9]
2406
2407         * plugins/sudoers/sudoers.c:
2408         It appears that LDAP or NSS may modify the euid so we need to be
2409         root for the open(). We restore the old perms at the end of
2410         sudoers_policy_open().
2411         [2da67a5497ef]
2412
2413         * plugins/sudoers/set_perms.c:
2414         Better warning message on setuid() failure for the setreuid()
2415         version of set_perms().
2416         [07abcfe7bd9a]
2417
2418 2011-09-27  Todd C. Miller  <Todd.Miller@courtesan.com>
2419
2420         * plugins/sudoers/check.c:
2421         Delref auth_pw at the end of check_user() instead of getting a ref
2422         twice.
2423         [cb665f55e6a5]
2424
2425         * plugins/sudoers/auth/sudo_auth.c, plugins/sudoers/check.c:
2426         Make sudo_auth_{init,cleanup} return TRUE on success and check for
2427         sudo_auth_init() return value in check_user().
2428         [92631c919356]
2429
2430         * plugins/sudoers/auth/sudo_auth.c:
2431         Do not return without restoring permissions.
2432         [59ef40b6696a]
2433
2434         * plugins/sudoers/po/sudoers.pot, src/po/sudo.pot:
2435         regen pot files
2436         [9f320a340b7c]
2437
2438         * plugins/sudoers/auth/API, plugins/sudoers/auth/bsdauth.c,
2439         plugins/sudoers/auth/fwtk.c, plugins/sudoers/auth/kerb4.c,
2440         plugins/sudoers/auth/kerb5.c, plugins/sudoers/auth/pam.c,
2441         plugins/sudoers/auth/passwd.c, plugins/sudoers/auth/secureware.c,
2442         plugins/sudoers/auth/securid.c, plugins/sudoers/auth/securid5.c,
2443         plugins/sudoers/auth/sudo_auth.c, plugins/sudoers/auth/sudo_auth.h,
2444         plugins/sudoers/check.c, plugins/sudoers/sudoers.c,
2445         plugins/sudoers/sudoers.h:
2446         Modify the authentication API such that the init and cleanup
2447         functions are always called, regardless of whether or not we are
2448         going to verify a password. This is needed for proper PAM session
2449         support.
2450         [19a53f3fb596]
2451
2452         * compat/Makefile.in, mkdep.pl, plugins/sudoers/Makefile.in:
2453         Add missing dependency for getspwuid.lo and regen other depends.
2454         [f7f70eae819a]
2455
2456         * plugins/sudoers/auth/pam.c, plugins/sudoers/auth/sudo_auth.c,
2457         plugins/sudoers/auth/sudo_auth.h, plugins/sudoers/sudoers.c:
2458         Fix a PAM_USER mismatch in session open/close. We update PAM_USER
2459         to the target user immediately before setting resource limits, which
2460         is after the monitor process has forked (so it has the old value).
2461         Also, if the user did not authenticate, there is no pamh in the
2462         monitor so we need to init pam here too. This means we end up
2463         calling pam_start() twice, which should be fixed, but at least the
2464         session is always properly closed now.
2465         [fbc063a2a872]
2466
2467         * src/utmp.c:
2468         Add check for old being NULL in utmp_setid(); from Steven McDonald
2469         [e87126442f2e]
2470
2471 2011-09-25  Todd C. Miller  <Todd.Miller@courtesan.com>
2472
2473         * plugins/sudoers/pwutil.c, plugins/sudoers/sudoers.c,
2474         plugins/sudoers/sudoers.h:
2475         If the invoking user cannot be resolved by uid fake the struct
2476         passwd and store it in the cache so we can delref it on exit.
2477         [a27e2f8b9f5e]
2478
2479 2011-09-24  Todd C. Miller  <Todd.Miller@courtesan.com>
2480
2481         * plugins/sudoers/sudoers.c:
2482         Don't error out if the group plugin cannot be loaded, just warn.
2483         [0fbfcd381e33]
2484
2485 2011-09-23  Todd C. Miller  <Todd.Miller@courtesan.com>
2486
2487         * plugins/sudoers/sudoers.c:
2488         Quiet a false positive found by several static analysis tools. These
2489         tools don't know that log_error() does not return (it longjmps to
2490         error_jmp which returns to the sudo front-end).
2491         [33d0469df21b]
2492
2493 2011-09-22  Todd C. Miller  <Todd.Miller@courtesan.com>
2494
2495         * MANIFEST, plugins/sudoers/po/da.mo, plugins/sudoers/po/eo.mo,
2496         plugins/sudoers/po/fi.mo, plugins/sudoers/po/pl.mo,
2497         plugins/sudoers/po/uk.mo, plugins/sudoers/po/zh_CN.mo, src/po/it.po:
2498         Add Italian translation for sudo from translationproject.org Regen
2499         .mo files
2500         [c3c888a82be6]
2501
2502 2011-09-21  Todd C. Miller  <Todd.Miller@courtesan.com>
2503
2504         * doc/TROUBLESHOOTING:
2505         Update to current reality and add bit about ssh auth
2506         [184a1e7c2eeb]
2507
2508         * plugins/sudoers/gram.c, plugins/sudoers/gram.y:
2509         Make "verbose" static; fixes a namespace clash with
2510         pam_ssh_agent_auth (and it doesn't need to be extern these days).
2511         [cc38d2eb2f4c]
2512
2513         * config.h.in, configure, configure.in, src/get_pty.c:
2514         FreeBSD has libutil.h not util.h
2515         [dab4c94b6d4f]
2516
2517         * configure, configure.in:
2518         Define _BSD_SOURCE on FreeBSD, OpenBSD and DragonflyBSD
2519         [41c362f0a92a]
2520
2521 2011-09-20  Todd C. Miller  <Todd.Miller@courtesan.com>
2522
2523         * plugins/sudoers/po/da.po, plugins/sudoers/po/eo.po,
2524         plugins/sudoers/po/fi.po, plugins/sudoers/po/pl.po,
2525         plugins/sudoers/po/uk.po, plugins/sudoers/po/zh_CN.po:
2526         Update po files from translationproject.org
2527         [1e99e147c7fa]
2528
2529 2011-09-16  Todd C. Miller  <Todd.Miller@courtesan.com>
2530
2531         * doc/sudoers.ldap.pod, plugins/sudoers/ldap.c:
2532         Add support for DEREF in ldap.conf.
2533         [3c1937a98547]
2534
2535         * Makefile.in:
2536         install target should depend on ChangeLog too, not just install-doc
2537         [1a7c83941175]
2538
2539         * doc/sudoers.pod:
2540         Only iolog_file (not iolog_dir) supports mktemp-style suffixes.
2541         [0eca47d60a2c]
2542
2543         * NEWS:
2544         Sync with 1.8 branch for sudo 1.8.2 and 1.8.3 changes.
2545         [0501415cc5ff]
2546
2547         * doc/UPGRADE:
2548         Document group lookup change and possible side effects.
2549         [585743e1ebf7]
2550
2551         * configure, configure.in:
2552         Fix some square brackets in case statements that needed to be
2553         doubled up. While here, use $OSMAJOR when it makes sense.
2554         [8973343f4696]
2555
2556         * plugins/sudoers/pwutil.c:
2557         Fix a crash in make_grlist_item() on 64-bit machines with strict
2558         alignment.
2559         [c89508c73c46]
2560
2561         * plugins/sudoers/defaults.c, plugins/sudoers/defaults.h:
2562         Remove list_options() function that is no longer used now that "sudo
2563         -L" is gone.
2564         [fcc6a776c135]
2565
2566         * configure, configure.in:
2567         Error message if user tries --with-CC
2568         [ec5b478f813a]
2569
2570         * configure, configure.in:
2571         Check for -libmldap too when looking for ldap libs, which is the
2572         Tivoli Directory Server client library.
2573         [bb3007a97206]
2574
2575 2011-09-09  Todd C. Miller  <Todd.Miller@courtesan.com>
2576
2577         * plugins/sudoers/parse.c:
2578         Honor NOPASSWD tag for denied commands too.
2579         [8dd92656db92]
2580
2581 2011-09-08  Todd C. Miller  <Todd.Miller@courtesan.com>
2582
2583         * INSTALL, configure, configure.in:
2584         Remove --with-CC option; it doesn't work correctly now that we use
2585         libtool. Users can get the same effect by setting the CC
2586         environment variable when running configure.
2587         [ec22bd1a55e0]
2588
2589 2011-08-31  Todd C. Miller  <Todd.Miller@courtesan.com>
2590
2591         * config.h.in, configure, configure.in, plugins/sudoers/visudo.c,
2592         src/sudo_edit.c:
2593         Assume all modern systems support fstat(2).
2594         [6a5a8985f6a0]
2595
2596 2011-08-30  Todd C. Miller  <Todd.Miller@courtesan.com>
2597
2598         * compat/regress/glob/globtest.c, config.h.in, configure,
2599         configure.in, include/missing.h, plugins/sudoers/sudoers.h,
2600         src/sudo.h, src/sudo_noexec.c:
2601         Add configure test for missing errno declaration and only declare it
2602         ourselves if it is missing.
2603         [456e76c809a2]
2604
2605         * plugins/sudoers/alias.c:
2606         Include errno.h before sudo.h to avoid conflicting with the system
2607         definition of errno.
2608         [d0b97e392512]
2609
2610 2011-08-29  Todd C. Miller  <Todd.Miller@courtesan.com>
2611
2612         * plugins/sudoers/regress/parser/check_addr.c:
2613         Only print individual check status when there is a failure.
2614         [2ac704c91441]
2615
2616         * plugins/sudoers/regress/iolog_path/check_iolog_path.c,
2617         plugins/sudoers/regress/logging/check_wrap.c,
2618         plugins/sudoers/regress/parser/check_addr.c:
2619         Add calls to setprogname() for test programs.
2620         [a8d9b420e826]
2621
2622         * configure, configure.in:
2623         Add -Wall and -Werror after all tests so they don't cause failures.
2624         [2661188ff3fa]
2625
2626         * plugins/sudoers/Makefile.in:
2627         Actually run check_addr in the check target
2628         [0b2778bc86bf]
2629
2630         * MANIFEST, plugins/sudoers/Makefile.in, plugins/sudoers/match.c,
2631         plugins/sudoers/match_addr.c,
2632         plugins/sudoers/regress/parser/check_addr.c,
2633         plugins/sudoers/regress/parser/check_addr.in:
2634         Split out address matching into its own file and add regression
2635         tests for it.
2636         [12b9a2bf8dba]
2637
2638 2011-08-27  Todd C. Miller  <Todd.Miller@courtesan.com>
2639
2640         * plugins/sudoers/match.c:
2641         When matching an address with a netmask in sudoers, AND the mask and
2642         addr before checking against the local addresses.
2643         [9747bb6d7b1c]
2644
2645 2011-08-26  Todd C. Miller  <Todd.Miller@courtesan.com>
2646
2647         * plugins/sudoers/match.c:
2648         Fix netmask matching.
2649         [a3c8f8cc1464]
2650
2651         * plugins/sudoers/visudo.c:
2652         Don't assume all editors support the +linenumber command line
2653         argument, use a whitelist of known good editors.
2654         [21d43a91fd10]
2655
2656 2011-08-23  Todd C. Miller  <Todd.Miller@courtesan.com>
2657
2658         * plugins/sudoers/set_perms.c, plugins/sudoers/visudo.c, src/exec.c,
2659         src/exec_pty.c, src/sudo.c:
2660         Silence compiler warnings on Solaris with gcc 3.4.3
2661         [da620bae6fdb]
2662
2663         * mkpkg:
2664         Fix building on RHEL 3
2665         [f3227fb2a252]
2666
2667         * INSTALL, configure, configure.in:
2668         Add --enable-werror configure option.
2669         [fec2cdb95543]
2670
2671         * common/setgroups.c:
2672         setgroups() proto lives in grp.h on RHEL4, perhaps others.
2673         [de91c0de5a98]
2674
2675         * configure, configure.in:
2676         Use PAM by default on AIX 6 and higher.
2677         [e16493208e5f]
2678
2679 2011-08-22  Todd C. Miller  <Todd.Miller@courtesan.com>
2680
2681         * MANIFEST, plugins/sudoers/po/eo.mo, plugins/sudoers/po/eo.po,
2682         src/po/eo.mo, src/po/eo.po:
2683         Add new Esperanto translation from translationproject.org
2684         [0d9a59e04c64]
2685
2686 2011-08-19  Todd C. Miller  <Todd.Miller@courtesan.com>
2687
2688         * plugins/sudoers/iolog_path.c:
2689         Quiet an innocuous valgrind warning.
2690         [0582b6027161]
2691
2692 2011-08-18  Todd C. Miller  <Todd.Miller@courtesan.com>
2693
2694         * plugins/sudoers/iolog_path.c,
2695         plugins/sudoers/regress/iolog_path/data:
2696         Fix expansion of strftime() escapes in log_dir and add a regress
2697         test that exhibited the problem.
2698         [a5c7c1c4c589]
2699
2700         * plugins/sudoers/Makefile.in:
2701         Fix "make check" return value.
2702         [33b58e175230]
2703
2704 2011-08-17  Todd C. Miller  <Todd.Miller@courtesan.com>
2705
2706         * plugins/sudoers/po/sudoers.pot, src/po/sudo.pot:
2707         Regen pot files
2708         [063841aac19b]
2709
2710         * Makefile.in:
2711         Fix logic inversion in pot file up to date check.
2712         [f6a8ca8654df]
2713
2714 2011-08-15  Todd C. Miller  <Todd.Miller@courtesan.com>
2715
2716         * configure, configure.in:
2717         Add caching for gettext() checks.
2718         [01b7200f6105]
2719
2720         * configure, configure.in:
2721         Better handling of libintl header and library mismatch.
2722         [9a49b1d4db69]
2723
2724 2011-08-13  Todd C. Miller  <Todd.Miller@courtesan.com>
2725
2726         * plugins/sudoers/sudoers.c:
2727         Also check sudoers gid if sudoers is group writable.
2728         [23ef96ca0d33]
2729
2730 2011-08-12  Todd C. Miller  <Todd.Miller@courtesan.com>
2731
2732         * configure, configure.in:
2733         If dlopen is present but libtool doesn't find it, error out since it
2734         probably means that libtool doesn't support the system.
2735         [a9da0a5f7941]
2736
2737         * mkpkg:
2738         configure args on the command line should override builtin defaults.
2739         Disable NLS for non-Linux/Solaris unless explicitly enabled.
2740         [b2fb05614504]
2741
2742         * plugins/sudoers/auth/aix_auth.c:
2743         Fix loop that calls authenticate(). If there was an error message
2744         from authenticate(), display it.
2745         [063a0c4f0b9a]
2746
2747 2011-08-11  Todd C. Miller  <Todd.Miller@courtesan.com>
2748
2749         * m4/libtool.m4, m4/ltversion.m4:
2750         Update to autoconf 2.68 and libtool 2.4
2751         [5a912a6eb67b]
2752
2753         * config.guess, config.sub, configure, configure.in, ltmain.sh:
2754         Update to autoconf 2.68 and libtool 2.4
2755         [931ab56aecf6]
2756
2757         * doc/sudoers.pod:
2758         Fix typo; OPT should be OTP
2759         [e97bd2e46544]
2760
2761         * plugins/sudoers/Makefile.in:
2762         Rename libsudoers convenience library to libparsesudoers to avoid
2763         libtool confusion.
2764         [2a89a613f537]
2765
2766 2011-08-10  Todd C. Miller  <Todd.Miller@courtesan.com>
2767
2768         * MANIFEST, plugins/sudoers/po/da.mo, plugins/sudoers/po/da.po:
2769         Add Danish sudoers translation from translationproject.org
2770         [27b96e85eb13]
2771
2772         * plugins/sudoers/sudoers.c, plugins/sudoers/testsudoers.c:
2773         Add dedicated callback function for runas_default sudoers setting
2774         that only sets runas_pw if no runas user or group was specified by
2775         the user.
2776         [b8382d8eea34]
2777
2778 2011-08-09  Todd C. Miller  <Todd.Miller@courtesan.com>
2779
2780         * plugins/sudoers/po/fi.mo, plugins/sudoers/po/fi.po,
2781         plugins/sudoers/po/pl.mo, plugins/sudoers/po/pl.po,
2782         plugins/sudoers/po/uk.mo, plugins/sudoers/po/uk.po, src/po/ru.mo,
2783         src/po/ru.po:
2784         Update Finish, Polish, Russian and Ukrainian translations from
2785         translationproject.org.
2786         [f9339aff664e]
2787
2788         * plugins/sudoers/defaults.h, plugins/sudoers/sudoers.c,
2789         plugins/sudoers/testsudoers.c:
2790         Go back to using a callback for runas_default to keep runas_pw in
2791         sync. This is needed to make per-entry runas_default settings work
2792         with LDAP-based sudoers. Instead of declaring it a callback in
2793         def_data.in, sudo and testsudoers poke sudo_defs_table[] which is a
2794         bit naughty, but avoids requiring stub functions in visudo and the
2795         tests.
2796         [9aaefb908415]
2797
2798 2011-08-05  Todd C. Miller  <Todd.Miller@courtesan.com>
2799
2800         * Makefile.in:
2801         Add check for out of date message catalogs when doing "make dist".
2802         [e45a29b612f4]
2803
2804 2011-08-02  Todd C. Miller  <Todd.Miller@courtesan.com>
2805
2806         * configure:
2807         regen
2808         [d6f9ad26774a]
2809
2810         * configure.in:
2811         Make sure compiler supports static-libgcc before using it.
2812         [b01bd9566e50]
2813
2814 2011-08-01  Todd C. Miller  <Todd.Miller@courtesan.com>
2815
2816         * src/Makefile.in:
2817         Link libsudo_noexec.la with LDLDFLAGS for -static-libgcc
2818         [c99c7ab3edef]
2819
2820 2011-07-30  Todd C. Miller  <Todd.Miller@courtesan.com>
2821
2822         * MANIFEST, plugins/sudoers/po/fi.mo, plugins/sudoers/po/pl.mo,
2823         plugins/sudoers/po/pl.po, plugins/sudoers/po/uk.mo,
2824         plugins/sudoers/po/zh_CN.mo, src/po/ru.mo, src/po/ru.po,
2825         src/po/zh_CN.mo:
2826         Add new Russian sudo translation from translationproject.org and
2827         rebuild the other translation files.
2828         [e20015459056]
2829
2830 2011-07-29  Todd C. Miller  <Todd.Miller@courtesan.com>
2831
2832         * plugins/sudoers/po/fi.po, plugins/sudoers/po/pl.po:
2833         Update Finish and Polish translations from translationproject.org
2834         [4e3dbba4a1de]
2835
2836         * plugins/sudoers/sudoers.c, src/parse_args.c, src/sudo.c:
2837         Go back to escaping the command args for "sudo -i" and "sudo -s"
2838         before calling the plugin. Otherwise, spaces in the command args
2839         are not treated properly. The sudoers plugin will unescape non-
2840         spaces to make matching easier.
2841         [dfa2c4636f33]
2842
2843 2011-07-28  Todd C. Miller  <Todd.Miller@courtesan.com>
2844
2845         * plugins/sudoers/check.c, plugins/sudoers/group_plugin.c,
2846         plugins/sudoers/ldap.c, plugins/sudoers/parse.c,
2847         plugins/sudoers/set_perms.c, plugins/sudoers/toke.c,
2848         plugins/sudoers/toke.l:
2849         Fix some potential problems found by the clang static analyzer, none
2850         serious.
2851         [ff64aa74aae6]
2852
2853         * plugins/sudoers/po/uk.po, plugins/sudoers/po/zh_CN.po,
2854         src/po/zh_CN.po:
2855         Updated Ukranian and Chinese (simplified) po files from
2856         translationproject.org
2857         [ec792becb48e]
2858
2859 2011-07-27  Todd C. Miller  <Todd.Miller@courtesan.com>
2860
2861         * plugins/sudoers/po/pl.po:
2862         Updated Polish translation from translationproject.org
2863         [a3af53cb649c]
2864
2865         * plugins/sudoers/po/sudoers.pot, src/po/sudo.pot:
2866         Rebuild pot files
2867         [c650524c0f0a]
2868
2869         * plugins/sudoers/audit.c, plugins/sudoers/sudoers.c:
2870         Don't try to audit failure if the runas user does not exist. We
2871         don't have the user's command at this point so there is nothing to
2872         audit. Add a NULL check in audit_success() and audit_failure() just
2873         to be on the safe side.
2874         [2a0007c2022f]
2875
2876         * mkpkg:
2877         Add -g to CFLAG for PIE builds.
2878         [32a0a9693c9c]
2879
2880 2011-07-25  Todd C. Miller  <Todd.Miller@courtesan.com>
2881
2882         * plugins/sudoers/pwutil.c, plugins/sudoers/sudoers.c,
2883         plugins/sudoers/sudoers.h, src/sudo.c:
2884         Remove fallback to per-group lookup when matching groups in sudoers.
2885         The sudo front-end will now use getgrouplist() to get the user's
2886         list of groups if getgroups() fails or returns zero groups so we
2887         always have a list of the user's groups. For systems with
2888         mbr_check_membership() which support more that NGROUPS_MAX groups
2889         (Mac OS X), skip the call to getgroups() and use getgrouplist() so
2890         we get all the groups.
2891         [51b3ed8c600b]
2892
2893 2011-07-22  Todd C. Miller  <Todd.Miller@courtesan.com>
2894
2895         * common/setgroups.c:
2896         Fix setgroups() fallback code on EINVAL.
2897         [2b6faecd56a4]
2898
2899         * plugins/sudoers/set_perms.c:
2900         Fix two PERM_INITIAL cases that were still using user_gids.
2901         [9680bab0acc6]
2902
2903         * MANIFEST:
2904         Add Polish sudo message catalog
2905         [8bb40c3ba576]
2906
2907         * plugins/sudoers/sudoers.c, plugins/sudoers/sudoers.h:
2908         user_group is no longer used, remove it
2909         [9acede0fe6c5]
2910
2911 2011-07-20  Todd C. Miller  <Todd.Miller@courtesan.com>
2912
2913         * MANIFEST, plugins/sudoers/po/pl.mo, plugins/sudoers/po/pl.po:
2914         Add Polish translation from translationproject.org
2915         [afac5c638573]
2916
2917         * MANIFEST, common/Makefile.in, common/setgroups.c,
2918         plugins/sudoers/set_perms.c, plugins/sudoers/sudoers.h, src/sudo.c,
2919         src/sudo.h, src/sudo_edit.c:
2920         Add a wrapper for setgroups() that trims off extra groups and
2921         retries if setgroups() fails. Also add some missing addrefs for
2922         PERM_USER and PERM_FULL_USER.
2923         [224dfd8aae5c]
2924
2925         * MANIFEST, compat/Makefile.in, compat/getgrouplist.c, config.h.in,
2926         configure, configure.in, include/missing.h, mkdep.pl,
2927         plugins/sudoers/ldap.c, plugins/sudoers/pwutil.c,
2928         plugins/sudoers/set_perms.c, plugins/sudoers/sudo_nss.c,
2929         plugins/sudoers/sudoers.c, plugins/sudoers/sudoers.h, src/sudo.c:
2930         Instead of keeping separate groups and gids arrays, create struct
2931         group_info and use it to store both, along with a count for each.
2932         Cache group info on a per-user basis using getgrouplist() to get the
2933         groups. We no longer need special to special case the user or list
2934         user for user_in_group() and thus no longer need to reset the groups
2935         list when listing another user.
2936         [0ad849a8b2d5]
2937
2938         * src/preload.c:
2939         Don't rely on NULL since we don't include a header for it.
2940         [b40937f1890c]
2941
2942 2011-07-19  Todd C. Miller  <Todd.Miller@courtesan.com>
2943
2944         * doc/sudoers.pod:
2945         Fix typo
2946         [c1035360e169]
2947
2948 2011-07-18  Todd C. Miller  <Todd.Miller@courtesan.com>
2949
2950         * plugins/sudoers/sudoers.c:
2951         Do not shadow global sudo_mode with a local variable in set_cmnd()
2952         [0c72969503ad]
2953
2954 2011-07-17  Todd C. Miller  <Todd.Miller@courtesan.com>
2955
2956         * plugins/sudoers/sudoers.c:
2957         bash 2.x doesd not support the -l flag and exits with an error if it
2958         is specified so use --login instead. This causes an error with bash
2959         1.x (which uses -login instead) but this version is hopefully less
2960         used than 2.x.
2961         [5c4c296e30e6]
2962
2963         * src/po/pl.mo, src/po/pl.po:
2964         Add Polish translation from translationproject.org
2965         [48592dd6edcf]
2966
2967 2011-07-13  Todd C. Miller  <Todd.Miller@courtesan.com>
2968
2969         * plugins/sudoers/set_perms.c:
2970         Make error strings translatable.
2971         [414c5c484768]
2972
2973         * mkpkg:
2974         Only run configure with --with-pam-login for RHEL 5 and above.
2975         [6c16e4de4026]
2976
2977         * sudo.pp:
2978         Fix typo in summary
2979         [9ac618c9a749]
2980
2981 2011-07-11  Todd C. Miller  <Todd.Miller@courtesan.com>
2982
2983         * plugins/sudoers/logwrap.c:
2984         Add missing logwrap.c
2985         [c12a413ecc1d]
2986
2987         * MANIFEST, plugins/sudoers/Makefile.in, plugins/sudoers/logging.c,
2988         plugins/sudoers/logging.h,
2989         plugins/sudoers/regress/logging/check_wrap.c,
2990         plugins/sudoers/regress/logging/check_wrap.in,
2991         plugins/sudoers/regress/logging/check_wrap.out.ok:
2992         Split out log file word wrap code into its own file and add unit
2993         tests. Fixes an off-by one in the word wrap when the log line
2994         length matches loglinelen.
2995         [52ed277f6690]
2996
2997 2011-07-05  Todd C. Miller  <Todd.Miller@courtesan.com>
2998
2999         * mkpkg:
3000         For SuSE, only use /usr/lib64 as libexec if generating 64-bit
3001         binaries.
3002         [645ab903cf77]
3003
3004         * src/load_plugins.c, src/sudo.c:
3005         Fix build error when --without-noexec configure option is used.
3006         [b994f7b0d8b4]
3007
3008         * configure, configure.in:
3009         Disable noexec for AIX < 5. LDR_PRELOAD is only available in AIX
3010         5.3 and above.
3011         [c2a6f9b472f3]
3012
3013 2011-07-01  Todd C. Miller  <Todd.Miller@courtesan.com>
3014
3015         * plugins/sudoers/ldap.c, plugins/sudoers/pwutil.c,
3016         plugins/sudoers/set_perms.c, plugins/sudoers/sudo_nss.c,
3017         plugins/sudoers/sudoers.c, plugins/sudoers/sudoers.h:
3018         Resolve the list of gids passed in from the sudo frontend (the
3019         result of getgroups()) to names and store both the group names and
3020         ids in the sudo_user struct. When matching groups in the sudoers
3021         file, match based on the names in the groups list first and only do
3022         a gid-based match when we absolutely have to. By matching on the
3023         group name (as it is listed in sudoers) instead of id (which we
3024         would have to resolve) we save a lot of group lookups for sudoers
3025         files with a lot of groups in them.
3026         [8dc19353f148]
3027
3028 2011-06-26  Todd C. Miller  <Todd.Miller@courtesan.com>
3029
3030         * plugins/sudoers/sudoers.c:
3031         Workaround for "sudo -i command" and newer versions of bash which
3032         don't go into login mode when -c is specified unless -l is too.
3033         [9393762b80f3]
3034
3035 2011-06-23  Todd C. Miller  <Todd.Miller@courtesan.com>
3036
3037         * plugins/sudoers/logging.c:
3038         Rewrite logfile word wrapping code to be more straight-forward and
3039         actually wrap at the correct place.
3040         [f712a0c90f55]
3041
3042 2011-06-22  Todd C. Miller  <Todd.Miller@courtesan.com>
3043
3044         * doc/CONTRIBUTORS, doc/contributors.pod, plugins/sudoers/sudoers.c:
3045         Set use_pty=true in command details when use_pty is set in sudoers.
3046         From Ludwig Nussel
3047         [8d95a163dfc1]
3048
3049 2011-06-20  Todd C. Miller  <Todd.Miller@courtesan.com>
3050
3051         * plugins/sudoers/po/zh_CN.mo, plugins/sudoers/po/zh_CN.po,
3052         src/po/zh_CN.mo, src/po/zh_CN.po:
3053         Sync Chinese (simplified) PO files from translationproject.org
3054         [acce8eb7be18]
3055
3056 2011-06-18  Todd C. Miller  <Todd.Miller@courtesan.com>
3057
3058         * MANIFEST, plugins/sudoers/po/eu.mo, plugins/sudoers/po/fi.mo,
3059         plugins/sudoers/po/uk.mo, src/po/da.mo, src/po/da.po, src/po/eu.mo:
3060         Add Danish translation from translationproject.org and add missing
3061         Basque mo files.
3062         [0c22bb21b9c4]
3063
3064         * Makefile.in, configure, configure.in:
3065         No longer need to specify LINGUAS in configure, "make install-nls"
3066         now just installs all the .mo files it finds.
3067         [fcd45cf04885]
3068
3069 2011-06-17  Todd C. Miller  <Todd.Miller@courtesan.com>
3070
3071         * MANIFEST, doc/CONTRIBUTORS, doc/Makefile.in, doc/contributors.pod:
3072         Build CONTRIBUTORS from newly-added contributors.pod
3073         [8b192f2720f4]
3074
3075         * doc/CONTRIBUTORS:
3076         Rework the wording in the leading paragraph
3077         [312044145cdd]
3078
3079 2011-06-14  Todd C. Miller  <Todd.Miller@courtesan.com>
3080
3081         * MANIFEST, doc/CONTRIBUTORS:
3082         Add a CONTRIBUTORS file with the names of folks who have contributed
3083         code or patches to sudo since I started maintaining it (plus the
3084         original authors).
3085         [b8bdd8b59528]
3086
3087 2011-06-13  Todd C. Miller  <Todd.Miller@courtesan.com>
3088
3089         * plugins/sudoers/env.c:
3090         Preserve SHELL variable for "sudo -s". Otherwise we can end up with
3091         a situation where the SHELL variable and the actual shell being run
3092         do not match.
3093         [b8b3974aee3e]
3094
3095 2011-06-10  Todd C. Miller  <Todd.Miller@courtesan.com>
3096
3097         * configure, configure.in:
3098         Only enable Solaris project support when setproject() is present in
3099         libproject.
3100         [49ad7857ab89]
3101
3102         * sudo.pp:
3103         Explicitly set mode and owner of /etc/sudoers instead of relying on
3104         "cp -p" to work in the postinstall script. On AIX 6.1 at least the
3105         postinstall script runs before the final file permissions are set.
3106         [e41ffc0212b2]
3107
3108 2011-06-09  Todd C. Miller  <Todd.Miller@courtesan.com>
3109
3110         * doc/sudo.pod, doc/sudoers.pod:
3111         Refer the user to the "Command Environment" section in description
3112         of sudo's -i option.
3113         [263cc3be7eef]
3114
3115         * doc/sudo.pod:
3116         Fix typo
3117         [35dfac450f4d]
3118
3119 2011-06-08  Todd C. Miller  <Todd.Miller@courtesan.com>
3120
3121         * mkdep.pl:
3122         If there is no old dependency for an object file, use the MANIFEST
3123         to find its source.
3124         [d15e3b9899f9]
3125
3126         * compat/Makefile.in:
3127         Remove dependency for getgrouplist.lo as we don't ship that source
3128         file.
3129         [312a6d5fe6b0]
3130
3131 2011-06-07  Todd C. Miller  <Todd.Miller@courtesan.com>
3132
3133         * plugins/sudoers/getdate.c, plugins/sudoers/getdate.y:
3134         Do not declare yyparse() static as the actual function generated by
3135         yacc is extern.
3136         [9017b79dcf55]
3137
3138 2011-06-06  Todd C. Miller  <Todd.Miller@courtesan.com>
3139
3140         * Makefile.in:
3141         Remove locale files in "make uninstall"
3142         [201ff261ecbe]
3143
3144         * configure.in, plugins/sudoers/po/eu.po, plugins/sudoers/po/fi.po,
3145         plugins/sudoers/po/uk.po, src/po/eu.po:
3146         Add Basque translation and sync Finish and Ukranian translations.
3147         [66d2c78c8a13]
3148
3149         * configure, configure.in:
3150         FreeBSD no longer needs the main sudo binary to link with -lpam now
3151         that plug-ins are loaded with RTLD_GLOBAL.
3152         [96c710df2457]
3153
3154         * plugins/sudoers/group_plugin.c, src/load_plugins.c:
3155         Load plugins with RTLD_GLOBAL instead of RTLD_LOCAL. This fixes
3156         problems with pam modules not having access to symbols provided by
3157         libpam on some platforms. Affects FreeBSD and SLES 10 at least.
3158         [0d016983ec84]
3159
3160         * Makefile.in:
3161         Move xgettext invocation out of update-po target into update-pot
3162         [19a73c6d017c]
3163
3164 2011-06-04  Todd C. Miller  <Todd.Miller@courtesan.com>
3165
3166         * plugins/sudoers/po/sudoers.pot, src/po/sudo.pot:
3167         Regenerate .pot files for 1.8.2rc2
3168         [c3037f591dd8]
3169
3170         * Makefile.in, common/Makefile.in, compat/Makefile.in,
3171         doc/Makefile.in, include/Makefile.in, plugins/sample/Makefile.in,
3172         plugins/sample_group/Makefile.in, plugins/sudoers/Makefile.in,
3173         src/Makefile.in, zlib/Makefile.in:
3174         Move nls targets to the top level Makefile so the paths in the pot
3175         file are saner
3176         [65b9285cd8d9]
3177
3178         * src/po/fi.mo:
3179         Add compiled version of sudo Finish translation
3180         [8f2405384ea3]
3181
3182         * MANIFEST, plugins/sudoers/po/fi.mo, plugins/sudoers/po/uk.mo:
3183         Update MANIFEST with .po and .mo files Rebuild sudoers fi and uk .mo
3184         files
3185         [a165e70fa9ec]
3186
3187         * configure, configure.in, plugins/sudoers/po/fi.po:
3188         Add Finish translation from translationproject.org
3189         [4466f8a96ceb]
3190
3191 2011-06-03  Todd C. Miller  <Todd.Miller@courtesan.com>
3192
3193         * doc/sudoers.pod:
3194         The group named by exempt_group should not have a % prefix.
3195         [df084d6b32c8]
3196
3197 2011-06-01  Todd C. Miller  <Todd.Miller@courtesan.com>
3198
3199         * doc/sudoers.pod:
3200         Fix typo; "Defaults group_plugin" not "Defaults sudo_plugin"
3201         [5113699a3f8b]
3202
3203 2011-05-31  Todd C. Miller  <Todd.Miller@courtesan.com>
3204
3205         * src/exec.c, src/exec_pty.c:
3206         Fix compressed io log corruption in background mode by using _exit()
3207         instead of exit() to avoid flushing buffers twice.
3208
3209         Improved background mode support. When not allocating a pty, the
3210         command is run in its own process group. This prevents write access
3211         to the tty. When running in a pty, stdin is not hooked up and we
3212         never read from /dev/tty, which results in similar behavior.
3213         [87c15149894c]
3214
3215         * compat/Makefile.in, mkdep.pl, plugins/sudoers/Makefile.in:
3216         Clean up regress files Generate proper dependencies for regress objs
3217         in compat
3218         [88bfc728c1e7]
3219
3220         * plugins/sudoers/Makefile.in:
3221         Add missing dependency for check_fill.o.
3222         [0bd6362e3e17]
3223
3224 2011-05-29  Todd C. Miller  <Todd.Miller@courtesan.com>
3225
3226         * INSTALL, configure, configure.in:
3227         Add support for --enable-nls[=location]
3228         [b90db44a050f]
3229
3230 2011-05-28  Todd C. Miller  <Todd.Miller@courtesan.com>
3231
3232         * plugins/sudoers/linux_audit.c:
3233         Include gettext.h
3234         [7f909a6e48cb]
3235
3236         * plugins/sudoers/ldap.c, plugins/sudoers/parse.c:
3237         Quiet gcc warnings.
3238         [b41a6cdca583]
3239
3240         * configure, configure.in:
3241         Don't install .mo files if gettext was not found.
3242         [1397b34cc165]
3243
3244 2011-05-27  Todd C. Miller  <Todd.Miller@courtesan.com>
3245
3246         * src/exec.c:
3247         Always allocate a pty when running a command in the background but
3248         call setsid() after forking to make sure we don't end up with a
3249         controlling tty.
3250         [b6454ba172e8]
3251
3252         * plugins/sudoers/iolog.c:
3253         Add missing space between command name and the first command line
3254         argument.
3255         [fe217f0a36d4]
3256
3257         * plugins/sudoers/sudoreplay.c:
3258         Quiet a compiler warning on some platforms.
3259         [de9f2849f236]
3260
3261         * plugins/sudoers/po/README, src/po/README:
3262         README file that directs people to translationproject.org
3263         [30c0fc323281]
3264
3265         * plugins/sudoers/po/uk.po, src/po/fi.po:
3266         Sync translations with TP
3267         [1d7d64559cba]
3268
3269         * Makefile.in:
3270         Add 'sync-po' target to top-level Makefile to rsync the po files
3271         from translationproject.org.
3272         [20508211aaa3]
3273
3274         * plugins/sudoers/Makefile.in:
3275         install nls files from install target
3276         [5fc07b6cab38]
3277
3278         * Makefile.in, plugins/sudoers/Makefile.in, src/Makefile.in, sudo.pp:
3279         Include .mo files in sudo binary packags.
3280         [278d4821a916]
3281
3282         * configure, configure.in, plugins/sudoers/po/zh_CN.mo,
3283         plugins/sudoers/po/zh_CN.po, src/po/zh_CN.mo, src/po/zh_CN.po:
3284         Add simplified chinese translation
3285         [2b33ffc755b9]
3286
3287 2011-05-26  Todd C. Miller  <Todd.Miller@courtesan.com>
3288
3289         * configure, configure.in, plugins/sudoers/po/uk.mo,
3290         plugins/sudoers/po/uk.po, src/po/uk.mo, src/po/uk.po:
3291         Add ukranian translation
3292         [2d8102688e93]
3293
3294         * compat/Makefile.in:
3295         refer to siglist.c, not ./siglist.c since not all makes will treat
3296         foo and ./foo the same.
3297         [6639d293ffba]
3298
3299         * plugins/sudoers/sudoers.c:
3300         Set def_preserve_groups before searching for the command when the -P
3301         flag is specified.
3302         [0edc7942f875]
3303
3304         * Makefile.in, compat/Makefile.in, mkdep.pl,
3305         plugins/sudoers/Makefile.in:
3306         Add dependency for siglist.lo in compat. This is a generated file
3307         so "make depend" needs to depend on it.
3308         [28d0932f8b50]
3309
3310         * compat/Makefile.in:
3311         More dependency fixes.
3312         [aad0d05cd020]
3313
3314         * compat/Makefile.in:
3315         Fix a few dependencies.
3316         [eb21aa35a032]
3317
3318         * plugins/sudoers/Makefile.in, src/Makefile.in:
3319         Place compiled mo files in the src dir, not the build dir. When
3320         installing compiled mo files, display a status message.
3321         [e15634c29cd3]
3322
3323 2011-05-25  Todd C. Miller  <Todd.Miller@courtesan.com>
3324
3325         * doc/sudoers.ldap.pod, plugins/sudoers/ldap.c:
3326         Tivoli Directory Server requires that seconds be present in a
3327         timestamp, even though RFC 4517 states that they are optional.
3328         [55fe23dd4ef9]
3329
3330         * plugins/sudoers/sudo_nss.h:
3331         Add missing bit of copyright
3332         [d2eba3c364ca]
3333
3334         * doc/visudo.pod:
3335         Mention cycle detection warnings
3336         [a76bef15ab67]
3337
3338         * plugins/sudoers/visudo.c:
3339         When checking aliases, also check the contents of the alias in case
3340         there are problems with an alias that is referenced inside another.
3341         Replace the self reference check with real alias cycle detection.
3342         [a66c904cf53b]
3343
3344         * plugins/sudoers/alias.c:
3345         Set errno to ELOOP in alias_find() if there is a cycle. Set errno to
3346         ENOENT in alias_find() and alias_remove() if the entry could not be
3347         found.
3348         [b4f0b89e433c]
3349
3350         * plugins/sudoers/visudo.c:
3351         Increment alias_seqno before calls to alias_remove_recursive() to
3352         avoid false positives with the alias loop detection. Fixes spurious
3353         warnings about unused aliases when they are nested.
3354         [a344483b8193]
3355
3356         * MANIFEST:
3357         add mkdep.pl
3358         [86b7ed33eab2]
3359
3360         * plugins/sudoers/Makefile.in:
3361         Add dependency on convenience libs to binaries
3362         [cd3078b3c997]
3363
3364         * Makefile.in:
3365         mkdep.pl only works when run from the src dir
3366         [f35a5e47c944]
3367
3368         * Makefile.in, common/Makefile.in, compat/Makefile.in, mkdep.pl,
3369         plugins/sample/Makefile.in, plugins/sample_group/Makefile.in,
3370         plugins/sudoers/Makefile.in, src/Makefile.in, zlib/Makefile.in:
3371         Auto-generate Makefile dependencies with a perl script.
3372         [a3e4afcd7975]
3373
3374 2011-05-23  Todd C. Miller  <Todd.Miller@courtesan.com>
3375
3376         * plugins/sudoers/match.c:
3377         If the user specifies a runas group via sudo's -g option that
3378         matches the runas user's group in the passwd database and that group
3379         is not denied in the Runas_Spec, allow it. Thus, if user root's gid
3380         in /etc/passwd is 0, then "sudo -u root -g root id" is allow even if
3381         no groups are present in the Runas_Spec.
3382         [e3f9732dc564]
3383
3384 2011-05-22  Todd C. Miller  <Todd.Miller@courtesan.com>
3385
3386         * plugins/sudoers/Makefile.in, src/Makefile.in:
3387         Add dependencies on gettext.h
3388         [a3a9dc51f78b]
3389
3390         * plugins/sudoers/Makefile.in, src/Makefile.in:
3391         Fix install-nls target with HP-UX sh when gettext is not present.
3392         [0c6b9655cd41]
3393
3394 2011-05-20  Todd C. Miller  <Todd.Miller@courtesan.com>
3395
3396         * plugins/sudoers/Makefile.in, plugins/sudoers/po/sudoers.pot,
3397         src/Makefile.in, src/po/sudo.pot:
3398         regenerate .pot files for lbuf changes
3399         [918ded125a0b]
3400
3401         * configure, configure.in:
3402         Add missing "checking" message for gettext when using the cache.
3403         [9c21187ad1d2]
3404
3405         * common/lbuf.c, include/lbuf.h, plugins/sudoers/ldap.c,
3406         plugins/sudoers/parse.c, plugins/sudoers/sudo_nss.c,
3407         src/parse_args.c:
3408         Add primitive format string support to the lbuf code to make
3409         translations simpler.
3410         [ee71c7ef5299]
3411
3412         * MANIFEST, plugins/sudoers/Makefile.in,
3413         plugins/sudoers/po/sudoers.pot, src/Makefile.in, src/po/sudo.pot:
3414         Add message catalog template files for sudo and the sudoers module.
3415         [f3f8acb1f014]
3416
3417         * MANIFEST, common/aix.c, common/alloc.c, compat/strsignal.c,
3418         config.h.in, configure.in, doc/Makefile.in, include/gettext.h,
3419         plugins/sudoers/iolog.c, plugins/sudoers/plugin_error.c,
3420         plugins/sudoers/sudoers.c, plugins/sudoers/sudoers.h,
3421         plugins/sudoers/sudoreplay.c, plugins/sudoers/visudo.c, src/error.c,
3422         src/net_ifs.c, src/sesh.c, src/sudo.c, src/sudo.h:
3423         Add gettext.h convenience header. This is similar to but distinct
3424         from the one included with the gettext package.
3425         [930a0591f73c]
3426
3427 2011-05-19  Todd C. Miller  <Todd.Miller@courtesan.com>
3428
3429         * configure, configure.in:
3430         Add checks for nroff -c and -Tascii flags
3431         [19ca990b3149]
3432
3433         * configure, configure.in:
3434         Add check for HP bundled C Compiler (which cannot create shared
3435         libs)
3436         [517716a7072d]
3437
3438         * plugins/sudoers/sudoreplay.c:
3439         Fix C format warnings.
3440         [6514326013fa]
3441
3442         * include/error.h:
3443         Add __printflike
3444         [e1749a30a406]
3445
3446         * plugins/sudoers/ldap.c, plugins/sudoers/parse.c,
3447         plugins/sudoers/sudo_nss.c, plugins/sudoers/sudoreplay.c,
3448         plugins/sudoers/visudo.c, src/parse_args.c:
3449         Translate help / usage strings.
3450         [ee1cc9b1a8bd]
3451
3452         * plugins/sudoers/Makefile.in, src/Makefile.in:
3453         Set --msgid-bugs-address to the bugzilla url
3454         [5a0aa250ca21]
3455
3456         * Makefile.in, common/Makefile.in, compat/Makefile.in, configure,
3457         configure.in, doc/Makefile.in, include/Makefile.in,
3458         plugins/sample/Makefile.in, plugins/sample_group/Makefile.in,
3459         plugins/sudoers/Makefile.in, src/Makefile.in, zlib/Makefile.in:
3460         Add scaffolding to update .po files and install .mo files.
3461         [f05f4eed1fe1]
3462
3463         * doc/license.pod:
3464         update copyright year
3465         [fa0c62523875]
3466
3467         * INSTALL, README:
3468         No need to include version number at the top of these files.
3469         [9f2981325351]
3470
3471 2011-05-18  Todd C. Miller  <Todd.Miller@courtesan.com>
3472
3473         * plugins/sudoers/auth/sudo_auth.c, plugins/sudoers/env.c,
3474         plugins/sudoers/find_path.c, plugins/sudoers/group_plugin.c,
3475         plugins/sudoers/sudoers.c, plugins/sudoers/sudoreplay.c,
3476         plugins/sudoers/visudo.c:
3477         Minor warning/error cleanup
3478         [9236dc85aeab]
3479
3480         * config.h.in, configure.in:
3481         Emulate ngettext for the non-nls case
3482         [13571d63fa36]
3483
3484         * plugins/sudoers/ldap.c:
3485         Do not mark untranslatable strings for translation
3486         [735f5d4413fe]
3487
3488         * plugins/sudoers/check.c:
3489         Use ROOT_UID not 0.
3490         [09a268db8da4]
3491
3492         * plugins/sudoers/check.c, plugins/sudoers/iolog.c,
3493         plugins/sudoers/logging.c, src/exec.c, src/exec_pty.c,
3494         src/load_plugins.c, src/sudo.c, src/sudo_edit.c:
3495         Minor warning/error message cleanup
3496         [3c7b1a7939b5]
3497
3498         * plugins/sudoers/auth/fwtk.c, plugins/sudoers/auth/sudo_auth.c,
3499         plugins/sudoers/iolog.c, plugins/sudoers/ldap.c,
3500         plugins/sudoers/logging.c, plugins/sudoers/mon_systrace.c,
3501         plugins/sudoers/sudoreplay.c, plugins/sudoers/visudo.c, src/exec.c,
3502         src/exec_pty.c, src/net_ifs.c, src/selinux.c:
3503         cannot -> "unable to" in warning/error messages
3504         [31c3897649e9]
3505
3506         * plugins/sudoers/check.c, plugins/sudoers/mon_systrace.c,
3507         plugins/sudoers/set_perms.c, plugins/sudoers/sudo_nss.c,
3508         plugins/sudoers/sudoers.c, plugins/sudoers/visudo.c, src/exec_pty.c,
3509         src/sudo.c, src/utmp.c:
3510         can't -> "unable to" in warning/error messages
3511         [127b75f15291]
3512
3513         * configure, configure.in:
3514         FreeBSD needs the main sudo executable to link with -lpam when
3515         loading dynaic pam modules for some reason.
3516         [944522cc9bef]
3517
3518 2011-05-17  Todd C. Miller  <Todd.Miller@courtesan.com>
3519
3520         * plugins/sudoers/ldap.c, src/exec.c, src/exec_pty.c, src/sudo.c:
3521         We don't want to translate debugging messages.
3522         [56a1a365815a]
3523
3524         * configure, configure.in, plugins/sudoers/Makefile.in,
3525         plugins/sudoers/iolog.c, plugins/sudoers/plugin_error.c,
3526         plugins/sudoers/sudoers.c, plugins/sudoers/sudoers.h,
3527         plugins/sudoers/sudoreplay.c, plugins/sudoers/visudo.c,
3528         src/Makefile.in, src/sesh.c, src/sudo.c:
3529         Add calls to bindtextdomain() and textdomain() Currently there are
3530         two domains, one for the sudo front-end and one for the sudoers
3531         plugin and its associated utilities.
3532         [0426138f789e]
3533
3534         * configure, configure.in:
3535         Fix caching of libc gettext check.
3536         [942142d2c43a]
3537
3538         * plugins/sudoers/def_data.c, plugins/sudoers/defaults.c,
3539         plugins/sudoers/mkdefaults:
3540         Mark defaults descriptions for translation
3541         [5b27f018e6cf]
3542
3543         * NEWS:
3544         Update for sudo 1.8.1p2
3545         [747c4dee2ca7]
3546
3547 2011-05-16  Todd C. Miller  <Todd.Miller@courtesan.com>
3548
3549         * plugins/sudoers/toke.c, plugins/sudoers/toke.l:
3550         Quiet compiler warning when SELinux is enabled.
3551         [1fbf77dda240]
3552
3553         * plugins/sudoers/plugin_error.c, plugins/sudoers/sudoreplay.c,
3554         src/error.c, src/net_ifs.c, src/sesh.c:
3555         Add missing includes of libintl.h.
3556         [bc1d66316082]
3557
3558         * plugins/sudoers/auth/pam.c:
3559         Fix gettext marker.
3560         [a5cf4ed66c66]
3561
3562         * common/aix.c, common/alloc.c, compat/strsignal.c,
3563         plugins/sudoers/auth/pam.c, plugins/sudoers/sudoers.h, src/sudo.h:
3564         Include libint.h where needed.
3565         [2b0e5a663c7b]
3566
3567         * plugins/sudoers/alias.c, plugins/sudoers/auth/bsdauth.c,
3568         plugins/sudoers/auth/fwtk.c, plugins/sudoers/auth/kerb5.c,
3569         plugins/sudoers/auth/pam.c, plugins/sudoers/auth/rfc1938.c,
3570         plugins/sudoers/auth/securid.c, plugins/sudoers/auth/securid5.c,
3571         plugins/sudoers/auth/sia.c, plugins/sudoers/auth/sudo_auth.c,
3572         plugins/sudoers/bsm_audit.c, plugins/sudoers/check.c,
3573         plugins/sudoers/defaults.c, plugins/sudoers/env.c,
3574         plugins/sudoers/find_path.c, plugins/sudoers/gram.c,
3575         plugins/sudoers/gram.y, plugins/sudoers/group_plugin.c,
3576         plugins/sudoers/interfaces.c, plugins/sudoers/iolog.c,
3577         plugins/sudoers/iolog_path.c, plugins/sudoers/ldap.c,
3578         plugins/sudoers/linux_audit.c, plugins/sudoers/logging.c,
3579         plugins/sudoers/parse.c, plugins/sudoers/plugin_error.c,
3580         plugins/sudoers/pwutil.c, plugins/sudoers/set_perms.c,
3581         plugins/sudoers/sudo_nss.c, plugins/sudoers/sudoers.c,
3582         plugins/sudoers/sudoreplay.c, plugins/sudoers/testsudoers.c,
3583         plugins/sudoers/toke.c, plugins/sudoers/toke.l,
3584         plugins/sudoers/toke_util.c, plugins/sudoers/visudo.c:
3585         Prepare sudoers module messages for translation.
3586         [7212ae1909c5]
3587
3588         * plugins/sudoers/sudoers.c:
3589         Only check gid of sudoers file if it is group-readable.
3590         [50e3bc0cb242]
3591
3592         * plugins/sudoers/auth/aix_auth.c:
3593         For AIX, keep calling authenticate() until reenter reaches 0.
3594         [e240815b74b1]
3595
3596 2011-05-09  Todd C. Miller  <Todd.Miller@courtesan.com>
3597
3598         * configure, configure.in:
3599         Cache the status of the initial gettext() check.
3600         [32751ebe1704]
3601
3602         * INSTALL, configure, configure.in:
3603         Add --disable-nls flag and improve checks for gettext.
3604         [c7e6b17052de]
3605
3606         * configure, configure.in:
3607         When building with gcc on HP-UX, use -march=1.1 to produce portable
3608         binaries on a pa-risc2 host. Previously, the +Dportable option was
3609         used for the HP-UX C compiler but gcc always produced native
3610         binaries.
3611         [8f4c749324d7]
3612
3613 2011-05-06  Todd C. Miller  <Todd.Miller@courtesan.com>
3614
3615         * common/aix.c, common/alloc.c, compat/strsignal.c, src/error.c,
3616         src/exec.c, src/exec_pty.c, src/load_plugins.c, src/net_ifs.c,
3617         src/parse_args.c, src/selinux.c, src/sesh.c, src/sudo.c,
3618         src/sudo_edit.c, src/tgetpass.c, src/utmp.c:
3619         Prepare sudo front end messages for translation.
3620         [2fc2fabceccb]
3621
3622 2011-05-04  Todd C. Miller  <Todd.Miller@courtesan.com>
3623
3624         * config.h.in, configure, configure.in, plugins/sudoers/auth/pam.c:
3625         Add initial scaffolding to support localization via gettext()
3626         [7d47b59fcf95]
3627
3628         * compat/fnmatch.h, compat/glob.h:
3629         Don't let the fnmatch/glob macros expand the function prototype.
3630         [a9014aa0288e]
3631
3632 2011-05-03  Todd C. Miller  <Todd.Miller@courtesan.com>
3633
3634         * compat/fnmatch.c, compat/fnmatch.h, compat/glob.c, compat/glob.h:
3635         Resolve namespace collisions on HP-UX ia64 and possibly others by
3636         adding a rpl_ prefix to our fnmatch and glob replacements and
3637         #defining rpl_foo to foo in the header files.
3638         [caa9b690a15d]
3639
3640 2011-04-29  Todd C. Miller  <Todd.Miller@courtesan.com>
3641
3642         * plugins/sudoers/toke.c, plugins/sudoers/toke.l:
3643         Split ALL, ROLE and TYPE into their own actions. Since you can only
3644         have #ifdefs inside of braces, ROLE and TYPE use a naughty goto in
3645         the non-SELinux case. This is safe because the actions are in one
3646         big switch() statement.
3647         [7473fc2cfa2c]
3648
3649         * plugins/sudoers/toke.c, plugins/sudoers/toke.l:
3650         Fix regexp for matching a CIDR-style IPv4 netmask. From Marc Espie.
3651         [9be3480c2865]
3652
3653 2011-04-27  Todd C. Miller  <Todd.Miller@courtesan.com>
3654
3655         * doc/UPGRADE, doc/sudoers.pod:
3656         askpass moved from sudoers to sudo.conf in sudo 1.8.0
3657         [b2c2956cec4e]
3658
3659         * doc/sudoers.pod:
3660         Remove obsolete warning about runas_default and ordering. Move
3661         syslog facility and priority lists into the section where the
3662         relevant options are described.
3663         [e57b8dc3f779]
3664
3665 2011-04-26  Todd C. Miller  <Todd.Miller@courtesan.com>
3666
3667         * plugins/sudoers/auth/sia.c:
3668         Fix SIA support; we no longer have access to the real argc and argv
3669         so allocate space for a fake one and use the argv passed to the
3670         plugin with "sudo" for argv[0].
3671         [1c0552772ad2]
3672
3673 2011-04-23  Todd C. Miller  <Todd.Miller@courtesan.com>
3674
3675         * src/net_ifs.c:
3676         Remove useless realloc when trying to get the buffer size right.
3677         [792225380a62]
3678
3679         * plugins/sudoers/set_perms.c:
3680         Be explicit when setting euid to 0 before call to setreuid(0, 0)
3681         [7bfeb629fccb]
3682
3683 2011-04-18  Todd C. Miller  <Todd.Miller@courtesan.com>
3684
3685         * configure, configure.in:
3686         Need to do checks for krb5_verify_user, krb5_init_secure_context and
3687         krb5_get_init_creds_opt_alloc regardless of whether or not
3688         krb5-config is present.
3689         [9d1b98ece1d3]
3690
3691 2011-04-15  Todd C. Miller  <Todd.Miller@courtesan.com>
3692
3693         * plugins/sudoers/set_perms.c:
3694         Work around weird AIX saved uid semantics on setuid() and
3695         setreuid(). On AIX, setuid() will only set the saved uid if the euid
3696         is already 0.
3697         [069fc08150ca]
3698
3699 2011-04-14  Todd C. Miller  <Todd.Miller@courtesan.com>
3700
3701         * sudo.pp:
3702         update copyright year
3703         [1c42d579ba6e]
3704
3705         * plugins/sudoers/toke.c, plugins/sudoers/toke.l:
3706         Treat a missing includedir like an empty one and do not return an
3707         error.
3708         [92f71d8cbfd4]
3709
3710 2011-04-12  Todd C. Miller  <Todd.Miller@courtesan.com>
3711
3712         * pp:
3713         Fix ARCH setting in cross-compile Solaris packages.
3714         [b0de281cc889]
3715
3716         * sudo.pp:
3717         Fix aix version setting.
3718         [98437dbfb085]
3719
3720         * plugins/sudoers/ldap.c:
3721         Remove extraneous parens in LDAP filter when sudoers_search_filter
3722         is enabled that causes a search error. From Matthew Thomas.
3723         [1d75bf1fc8d9]
3724
3725 2011-04-11  Todd C. Miller  <Todd.Miller@courtesan.com>
3726
3727         * plugins/sudoers/regress/iolog_path/check_iolog_path.c:
3728         Correct sizeof() to fix test failure.
3729         [fd2f7c0c0572]
3730
3731         * plugins/sudoers/Makefile.in:
3732         "install" target should depend on "install-dirs". Fixes "make -j"
3733         problem and closes bz #487. From Chris Coleman.
3734         [083902d38edb]
3735
3736 2011-04-07  Todd C. Miller  <Todd.Miller@courtesan.com>
3737
3738         * config.h.in:
3739         Add HAVE_RFC1938_SKEYCHALLENGE
3740         [a94cb33758a8]
3741
3742 2011-04-06  Todd C. Miller  <Todd.Miller@courtesan.com>
3743
3744         * NEWS:
3745         Mention plugin loading and libgcc changes
3746         [e11b30b5026a]
3747
3748         * src/load_plugins.c, src/sudo.c, src/sudo_plugin_int.h:
3749         Load plugins after parsing arguments and potentially printing the
3750         version. That way, an error loading or initializing a plugin
3751         doesn't break "sudo -h" or "sudo -V".
3752         [1b76f2b096a2]
3753
3754         * Makefile.in:
3755         When using a sub-shell to invoke the sub-make, exec make instead of
3756         running it inside the shell to avoid an extra process.
3757         [fd2c04a71fbf]
3758
3759         * compat/regress/fnmatch/fnm_test.in, compat/regress/glob/globtest.c:
3760         Stop testing unspecified behavior in fnmatch Make glob test more
3761         portable
3762         [229803093725]
3763
3764         * compat/Makefile.in:
3765         No need to add current dir to include path and having it breaks the
3766         test programs that expect to get the system glob.h and fnmatch.h
3767         [68085f624be4]
3768
3769         * INSTALL, configure, configure.in:
3770         Fix and document --with-plugindir; partially from Diego Elio Petteno
3771         [07edc52ea89e]
3772
3773         * compat/Makefile.in, compat/regress/fnmatch/fnm_test.c,
3774         compat/regress/fnmatch/fnm_test.in, compat/regress/glob/globtest.c,
3775         compat/regress/glob/globtest.in:
3776         Fix fnmatch and glob tests to not use hard-coded flag values in the
3777         input file. Link test programs with libreplace so we get our
3778         replacement verions as needed.
3779         [c2cca448f660]
3780
3781         * Makefile.in:
3782         If make in a subdir fails, fail the target in the upper level
3783         Makefile too. Adapted from a patch from Diego Elio Petteno
3784         [76fc9a0d96fd]
3785
3786         * configure, configure.in, plugins/sudoers/auth/rfc1938.c:
3787         Add check for NetBSD-style 4-argument skeychallenge() as Gentoo also
3788         has this. Adapted from a patch from Diego Elio Petteno
3789         [a97279a59b93]
3790
3791         * plugins/sudoers/Makefile.in:
3792         Make SUDOERS_LDFLAGS reference $(LDFLAGS) instead of using @LDFLAGS@
3793         directly.
3794         [47b884029b3b]
3795
3796         * configure, configure.in:
3797         Fix warnings when -without-skey, --without-opie, --without-kerb4,
3798         --without-kerb5 or --without-SecurID were specified.
3799         [71ad150f4d24]
3800
3801         * MANIFEST:
3802         Add plugins/sudoers/sudoers_version.h
3803         [7423966de440]
3804
3805         * configure, configure.in, plugins/sample/Makefile.in,
3806         plugins/sample_group/Makefile.in, plugins/sudoers/Makefile.in:
3807         Back out the --with-libpath addition to SUDOERS_LDFLAGS since that
3808         now include LDFLAGS in the sudoers Makefile.in. Add missing settng
3809         of @LDFLAGS@ in plugin Makefile.in files.
3810         [b835826f889c]
3811
3812 2011-04-05  Todd C. Miller  <Todd.Miller@courtesan.com>
3813
3814         * NEWS:
3815         Mention %#gid support in User_List and Runas_List
3816         [5a983dff017a]
3817
3818         * plugins/sudoers/sudoers.c, plugins/sudoers/sudoers_version.h,
3819         plugins/sudoers/visudo.c:
3820         Keep track of sudoers grammar version and report it in the -V
3821         output.
3822         [52901a3c0296]
3823
3824         * plugins/sudoers/sudo_nss.h:
3825         Add multiple inclusion guard
3826         [50853aed046e]
3827
3828         * configure, configure.in, plugins/sample/Makefile.in,
3829         plugins/sample_group/Makefile.in, plugins/sudoers/Makefile.in:
3830         The --with-libpath option now adds to SUDOERS_LDFLAGS as well as
3831         LDFLAGS. Remove old -static hack for HP-UX < 9. Add LTLDFLAGS and
3832         set it to -Wc,-static-libgcc if not using GNU ld so we don't
3833         have a dependency on the shared libgcc in sudoers.so.
3834         [66ad8bc5e32d]
3835
3836         * doc/sudoers.pod:
3837         Fix typo; from Petr Uzel
3838         [f9a7afd80892]
3839
3840 2011-04-01  Todd C. Miller  <Todd.Miller@courtesan.com>
3841
3842         * plugins/sudoers/testsudoers.c:
3843         In dump-only mode, use "root" as the default username instead of
3844         "nobody" as the latter may not be available on all systems.
3845         [0c48e6414337]
3846
3847 2011-03-31  Todd C. Miller  <Todd.Miller@courtesan.com>
3848
3849         * plugins/sudoers/testsudoers.c:
3850         Remove NewArgv/NewArgc, they are no longer needed.
3851         [16e18f734c7e]
3852
3853         * plugins/sudoers/testsudoers.c:
3854         Fix setting of user_args
3855         [aa29e0d0a54a]
3856
3857         * plugins/sudoers/toke.c, plugins/sudoers/toke.l:
3858         Add '!' token to lex tracing
3859         [5227ad266235]
3860
3861         * plugins/sudoers/regress/testsudoers/test1.sh:
3862         Use group bin in test, not wheel as most systems have the bin group
3863         but the same is no longer true of wheel.
3864         [718802b3b45e]
3865
3866         * plugins/sudoers/toke.c, plugins/sudoers/toke.l:
3867         Avoid using pre or post increment in a parameter to a ctype(3)
3868         function as it might be a macro that causes the increment to happen
3869         more than once.
3870         [78e281152c3a]
3871
3872 2011-03-30  Todd C. Miller  <Todd.Miller@courtesan.com>
3873
3874         * sudo.pp:
3875         Strip off the beta or release candidate version when building AIX
3876         packages.
3877         [28fe31668559]
3878
3879         * configure, configure.in:
3880         We need to include OSDEFS in CFLAGS when doing the utmp/utmpx
3881         structure checks for glibc which only has __e_termination visible
3882         when _GNU_SOURCE is *not* defined.
3883         [59ae1698911f]
3884
3885         * common/aix.c:
3886         getuserattr(user, ...) will fall back to the "default" entry
3887         automatically, there's no need to check "default" manually.
3888         [3c7a47a61fdb]
3889
3890 2011-03-29  Todd C. Miller  <Todd.Miller@courtesan.com>
3891
3892         * doc/UPGRADE:
3893         Document parser changes.
3894         [ec415503308d]
3895
3896         * Makefile.in, common/Makefile.in, compat/Makefile.in,
3897         doc/Makefile.in, include/Makefile.in, plugins/sample/Makefile.in,
3898         plugins/sample_group/Makefile.in, plugins/sudoers/Makefile.in,
3899         src/Makefile.in, zlib/Makefile.in:
3900         If there is an existing sudoers file, only install if it passes a
3901         syntax check.
3902         [37427c73e8cb]
3903
3904         * plugins/sudoers/regress/sudoers/test6.out.ok,
3905         plugins/sudoers/testsudoers.c:
3906         Add runasgroup support to testsudoers
3907         [047ea5571f33]
3908
3909         * plugins/sudoers/Makefile.in:
3910         For "make check", keep going even if a test fails.
3911         [ce6a0a73c372]
3912
3913         * plugins/sudoers/testsudoers.c:
3914         More useful exit codes:
3915          * 0 - parsed OK and command matched.
3916          * 1 - parse error
3917          * 2 - command not matched
3918          * 3 - command denied
3919         [1d2ce1361903]
3920
3921         * doc/sudoers.pod:
3922         Document %#gid, and %:#nonunix_gid syntax.
3923         [492d4f9696c4]
3924
3925         * plugins/sudoers/pwutil.c:
3926         Add support to user_in_group() for treating group names that begin
3927         with a '#' as gids.
3928         [20240c94a134]
3929
3930         * config.h.in, configure, configure.in, src/utmp.c:
3931         Add explicit check for struct utmpx.ut_exit.e_termination and struct
3932         utmpx.ut_exit.__e_termination. HP-UX uses the latter. Only update
3933         ut_exit if we detect one or the other.
3934         [b4e8cab777e6]
3935
3936 2011-03-28  Todd C. Miller  <Todd.Miller@courtesan.com>
3937
3938         * plugins/sudoers/toke.c:
3939         Add back missing #include of config.h
3940         [9ab3897a1b2e]
3941
3942         * plugins/sudoers/iolog_path.c,
3943         plugins/sudoers/regress/iolog_path/data:
3944         Avoid a NULL deref on unrecognized escapes. Collapse %% -> % like
3945         strftime() does.
3946         [93395762cdcd]
3947
3948         * aclocal.m4:
3949         Quote first argument to AC_DEFUN(); from Elan Ruusamae
3950         [97f53ad31d77]
3951
3952 2011-03-27  Todd C. Miller  <Todd.Miller@courtesan.com>
3953
3954         * MANIFEST:
3955         add new sudoers tests
3956         [476af91b3da3]
3957
3958         * plugins/sudoers/regress/sudoers/test8.in,
3959         plugins/sudoers/regress/sudoers/test8.out.ok,
3960         plugins/sudoers/regress/sudoers/test8.toke.ok:
3961         Add test for a newline in the middle of a string when no line
3962         continuation character is used.
3963         [de2394bc86ab]
3964
3965         * plugins/sudoers/toke.c, plugins/sudoers/toke.l:
3966         Use bitwise AND instead of modulus to check for length being odd. A
3967         newline in the middle of a string is an error unless a line
3968         continuation character is used.
3969         [bdb1d762a1d5]
3970
3971         * plugins/sudoers/gram.c, plugins/sudoers/gram.y,
3972         plugins/sudoers/toke.c, plugins/sudoers/toke.l:
3973         Move lexer globals initialization into init_lexer.
3974         [1ce62211aadb]
3975
3976         * plugins/sudoers/toke.c, plugins/sudoers/toke.l:
3977         Fix a potential crash when a non-regular file is present in an
3978         includedir. Fixes bz #452
3979         [1586760c3525]
3980
3981         * pp:
3982         On some Linux systems, "uname -p" contains detailed processor info
3983         so check "uname -m" first and then "uname -p" if needed. Recognize
3984         PLD Linux.
3985         [b8535cb9012e]
3986
3987 2011-03-25  Todd C. Miller  <Todd.Miller@courtesan.com>
3988
3989         * plugins/sudoers/redblack.c:
3990         Don't need all sudoers.h here.
3991         [8c0929f42dab]
3992
3993         * src/sudo.c:
3994         Print sudo version early, in case policy plugin init fails.
3995         [47cddc4358bc]
3996
3997 2011-03-24  Todd C. Miller  <Todd.Miller@courtesan.com>
3998
3999         * plugins/sudoers/regress/sudoers/test4.toke.ok:
4000         Update to match change in input.
4001         [4a3af8e68790]
4002
4003         * plugins/sudoers/toke.c, plugins/sudoers/toke.l:
4004         Make an empty group or netgroup a syntax error.
4005         [66f51ddc2ff6]
4006
4007         * plugins/sudoers/regress/sudoers/test7.in,
4008         plugins/sudoers/regress/sudoers/test7.out.ok,
4009         plugins/sudoers/regress/sudoers/test7.toke.ok:
4010         An empty group or netgroup should be a syntax error.
4011         [bd5bf1e2edce]
4012
4013         * plugins/sudoers/regress/sudoers/test6.in,
4014         plugins/sudoers/regress/sudoers/test6.out.ok,
4015         plugins/sudoers/regress/sudoers/test6.toke.ok:
4016         Check that uids work in per-user and per-runas Defaults Check that
4017         uids and gids work in a Command_Spec
4018         [c5e848e6082b]
4019
4020         * plugins/sudoers/regress/sudoers/test5.in,
4021         plugins/sudoers/regress/sudoers/test5.out.ok,
4022         plugins/sudoers/regress/sudoers/test5.toke.ok:
4023         Test empty string in User_Alias and Command_Spec
4024         [3a084d777e03]
4025
4026         * plugins/sudoers/toke.c, plugins/sudoers/toke.l:
4027         Allow a group ID in the User_Spec.
4028         [bc2859eb71dc]
4029
4030 2011-03-23  Todd C. Miller  <Todd.Miller@courtesan.com>
4031
4032         * plugins/sudoers/toke.c, plugins/sudoers/toke.l:
4033         Return an error for the empty string when a word is expected. Allow
4034         an ID for per-user or per-runas Defaults.
4035         [915c259b00ff]
4036
4037         * plugins/sudoers/testsudoers.c:
4038         Fix printing "User_Alias FOO = ALL"
4039         [ba58c3d548b3]
4040
4041 2011-03-22  Todd C. Miller  <Todd.Miller@courtesan.com>
4042
4043         * src/parse_args.c:
4044         Better error message about invalid -C argument
4045         [c9a8d15bbf5d]
4046
4047         * NEWS:
4048         fix typo
4049         [cdcfbafed013]
4050
4051         * doc/sudoers.pod:
4052         Fix placement of equal size ('=') in user specification summary.
4053         [5ad7178b230d]
4054
4055 2011-03-21  Todd C. Miller  <Todd.Miller@courtesan.com>
4056
4057         * MANIFEST:
4058         update to match sudoers regress
4059         [e04db0648717]
4060
4061         * plugins/sudoers/toke.c, plugins/sudoers/toke.l:
4062         Restore ability to define TRACELEXER and have trace output go to
4063         stderr.
4064         [d9531e4d1b20]
4065
4066         * plugins/sudoers/toke.c, plugins/sudoers/toke.l:
4067         Restore old behavior of setting sawspace = TRUE for command line
4068         args when a line continuation character is hit to avoid causing
4069         problems for existing sudoers files.
4070         [fd930ad25550]
4071
4072         * plugins/sudoers/regress/sudoers/test4.in,
4073         plugins/sudoers/regress/sudoers/test4.out.ok,
4074         plugins/sudoers/regress/sudoers/test4.toke.ok:
4075         Add test for line continuation and aliases
4076         [29ab538ca6bb]
4077
4078         * plugins/sudoers/Makefile.in:
4079         Make test output line up nicely for parse vs. toke
4080         [257ef82c1434]
4081
4082         * plugins/sudoers/Makefile.in,
4083         plugins/sudoers/regress/sudoers/test1.in,
4084         plugins/sudoers/regress/sudoers/test1.out.ok,
4085         plugins/sudoers/regress/sudoers/test1.toke.ok,
4086         plugins/sudoers/regress/sudoers/test2.in,
4087         plugins/sudoers/regress/sudoers/test2.out.ok,
4088         plugins/sudoers/regress/sudoers/test2.toke.ok,
4089         plugins/sudoers/regress/sudoers/test3.in,
4090         plugins/sudoers/regress/sudoers/test3.out.ok,
4091         plugins/sudoers/regress/sudoers/test3.toke.ok,
4092         plugins/sudoers/regress/testsudoers/test1.ok,
4093         plugins/sudoers/regress/testsudoers/test1.out.ok,
4094         plugins/sudoers/regress/testsudoers/test1.sh,
4095         plugins/sudoers/regress/testsudoers/test2.out,
4096         plugins/sudoers/regress/testsudoers/test2.sh,
4097         plugins/sudoers/regress/testsudoers/test3.ok,
4098         plugins/sudoers/regress/testsudoers/test3.sh,
4099         plugins/sudoers/regress/visudo/test1.ok,
4100         plugins/sudoers/regress/visudo/test1.sh:
4101         Move parser tests to sudoers directory and test the tokenizer output
4102         too.
4103         [44f529b3cdb6]
4104
4105         * plugins/sudoers/toke.c, plugins/sudoers/toke.l:
4106         If we match a rule anchored to the beginning of a line after parsing
4107         a line continuation character, return an ERROR token. It would be
4108         nicer to use REJECT instead but that substantially slows down the
4109         lexer.
4110         [355478293f8c]
4111
4112         * plugins/sudoers/gram.c, plugins/sudoers/gram.y,
4113         plugins/sudoers/toke.c, plugins/sudoers/toke.h,
4114         plugins/sudoers/toke.l:
4115         Move LEXTRACE macro to toke.h so we can use it in yyerror().
4116         [72ee7a06d3ca]
4117
4118 2011-03-20  Todd C. Miller  <Todd.Miller@courtesan.com>
4119
4120         * plugins/sudoers/testsudoers.c, plugins/sudoers/toke.c,
4121         plugins/sudoers/toke.l:
4122         Make lex tracing settable at run-time in testsudoers via the -t
4123         flag. Trace output goes to stderr. Will be used by regress tests
4124         to check lexer.
4125         [93bd53c413c8]
4126
4127         * plugins/sudoers/toke.c, plugins/sudoers/toke.l:
4128         Allow whitespace after the modifier in a Defaults entry. E.g.
4129         "Defaults: username set_home"
4130         [9dfcf8dd8a3a]
4131
4132 2011-03-18  Todd C. Miller  <Todd.Miller@courtesan.com>
4133
4134         * mkpkg:
4135         Don't set CC when cross-compiling.
4136         [4b95b0c04e1c]
4137
4138         * NEWS:
4139         Credit Matthew Thomas for the sudoers_search_filter changes.
4140         [a65998ab09f7]
4141
4142         * MANIFEST:
4143         Add the .sym files to the MANIFEST
4144         [f599225cc861]
4145
4146         * NEWS:
4147         Update for sudo 1.8.1 beta
4148         [71021e854c49]
4149
4150         * doc/sudo_plugin.pod, plugins/sudoers/sudoers.c, src/parse_args.c:
4151         user_shell -> run_shell to avoid confusion with the user's SHELL
4152         variable.
4153         [dc0ac6dafc21]
4154
4155         * src/exec_pty.c:
4156         Save the controlling tty process group before suspending in pty
4157         mode. Previously, we assumed that the child pgrp == child pid
4158         (which is usually, but not always, the case).
4159         [10b2883b7875]
4160
4161         * doc/sudoers.ldap.pod, plugins/sudoers/ldap.c:
4162         Add support for sudoers_search_filter setting in ldap.conf. This
4163         can be used to restrict the set of records returned by the LDAP
4164         query.
4165         [b0f1b721d102]
4166
4167 2011-03-17  Todd C. Miller  <Todd.Miller@courtesan.com>
4168
4169         * configure, configure.in:
4170         Remove the hack to disable -g in CFLAGS unless --with-devel
4171         [89822cf84ef4]
4172
4173         * doc/sudoers.pod:
4174         The '@' character does not normally need to be quoted.
4175         [7823f5ed829a]
4176
4177         * plugins/sudoers/toke.c, plugins/sudoers/toke.l:
4178         We normaly transition from GOTDEFS to STARTDEFS on whitespace, but
4179         if that whitespace is followed by a comma, we want to treat it as
4180         part of a list and not transition.
4181         [1ca6943e1824]
4182
4183         * plugins/sudoers/regress/testsudoers/test3.ok,
4184         plugins/sudoers/regress/testsudoers/test3.sh:
4185         Add check for whitespace when a User_List is used for a per-user
4186         Defaults entry.
4187         [91f75e6dd19a]
4188
4189         * plugins/sudoers/regress/testsudoers/test2.out,
4190         plugins/sudoers/regress/testsudoers/test2.sh:
4191         Expand quoted name checks to cover recent fixes.
4192         [ce4f76bca146]
4193
4194         * plugins/sudoers/toke.c, plugins/sudoers/toke.l:
4195         Fix parsing of double-quoted names in Defaultd and Aliases which was
4196         broken in 601d97ea8792.
4197         [424b0d6c1dc4]
4198
4199         * plugins/sudoers/Makefile.in:
4200         toke_util.c lives in $(srcdir) not $(devdir)
4201         [94866bebee83]
4202
4203 2011-03-16  Todd C. Miller  <Todd.Miller@courtesan.com>
4204
4205         * configure, configure.in:
4206         Change trunk version to 1.8.x to distinguish from real 1.8.0.
4207         [a9781e61d064]
4208
4209         * NEWS, doc/UPGRADE:
4210         Document major changes in 1.8.1 and add upgrade notes.
4211         [f2cf51b0d9ce]
4212
4213         * plugins/sudoers/match.c:
4214         Be careful not to deref user_stat if it is NULL. This cannot
4215         currently happen in sudo but might in other programs using the
4216         parser.
4217         [06a2334dd674]
4218
4219         * mkpkg:
4220         configure will not add -O2 to CFLAGS if it is already defined to add
4221         -O2 to the CFLAGS we pass in when PIE is being used.
4222         [1ce6481ece59]
4223
4224         * doc/sudoers.pod:
4225         Warn about the dangers of log_input and mention iolog_file and
4226         iolog_dir in the log_input and log_output descriptions.
4227         [ae854ffb0768]
4228
4229         * pp:
4230         sync with git version
4231         [a993e39ce3cb]
4232
4233         * doc/sudoers.pod:
4234         It seems that h comes after i
4235         [0f621109220d]
4236
4237         * doc/sudoers.pod:
4238         Move log_input and log_output to their proper, sorted, location.
4239         Document set_utmp and utmp_runas.
4240         [273b234b9c34]
4241
4242         * src/exec.c:
4243         Save the controlling tty process group before suspending so we can
4244         restore it when we resume. Fixes job control problems on Linux
4245         caused by the previous attemp to fix resuming a shell when I/O
4246         logging not enabled.
4247         [f03a660315ee]
4248
4249         * common/lbuf.c:
4250         Fix printing of the remainder after a newline. Fixes "sudo -l"
4251         output corruption that could occur in some cases.
4252         [25d83fb501fc]
4253
4254 2011-03-15  Todd C. Miller  <Todd.Miller@courtesan.com>
4255
4256         * config.h.in, configure, configure.in, src/exec_pty.c,
4257         src/sudo_exec.h, src/utmp.c:
4258         Add support for ut_exit
4259         [b574c13f1bba]
4260
4261         * doc/sudo_plugin.pod, plugins/sudoers/def_data.c,
4262         plugins/sudoers/def_data.h, plugins/sudoers/def_data.in,
4263         plugins/sudoers/defaults.c, plugins/sudoers/sudoers.c, src/exec.c,
4264         src/exec_pty.c, src/sudo.c, src/sudo.h, src/sudo_exec.h, src/utmp.c:
4265         Add support for controlling whether utmp is updated and which user
4266         is listed in the entry.
4267         [44a81632133f]
4268
4269         * plugins/sudoers/def_data.h, plugins/sudoers/defaults.h,
4270         plugins/sudoers/ldap.c, plugins/sudoers/mkdefaults,
4271         plugins/sudoers/parse.c:
4272         Fix typo; tupple vs. tuple
4273         [697744acb710]
4274
4275         * src/utmp.c:
4276         For legacy utmp, strip the /dev/ prefix before trying to determine
4277         slot since the ttys file does not include the /dev/ prefix.
4278         [7ad5b81ff90c]
4279
4280         * aclocal.m4, configure, configure.in, pathnames.h.in:
4281         Add check for _PATH_UTMP
4282         [21e638029bfd]
4283
4284 2011-03-14  Todd C. Miller  <Todd.Miller@courtesan.com>
4285
4286         * plugins/sudoers/regress/iolog_path/check_iolog_path.c:
4287         Adapt check_iolog_path to sessid changes
4288         [728b5fe2be6f]
4289
4290         * config.h.in, configure, configure.in, src/Makefile.in,
4291         src/exec_pty.c, src/sudo_exec.h, src/utmp.c:
4292         Redo utmp handling. If no getutent()/getutxent() is available,
4293         assume a ttyslot-based utmp. If getttyent() is available, use that
4294         directly instead of ttyslot() so we don't have to do the stdin dup2
4295         dance.
4296         [18aa455cd140]
4297
4298 2011-03-11  Todd C. Miller  <Todd.Miller@courtesan.com>
4299
4300         * MANIFEST, src/Makefile.in, src/exec_pty.c, src/sudo_exec.h,
4301         src/utmp.c:
4302         Move utmp handling into utmp.c
4303         [f6eae6c8e012]
4304
4305         * common/aix.c, common/alloc.c, common/fileops.c, common/fmt_string.c,
4306         common/lbuf.c, common/list.c, compat/isblank.c, compat/memrchr.c,
4307         compat/mksiglist.c, compat/nanosleep.c, compat/snprintf.c,
4308         compat/strlcat.c, compat/strlcpy.c, compat/strsignal.c,
4309         compat/utimes.c, doc/sudo.pod, doc/visudo.pod,
4310         include/sudo_plugin.h, plugins/sample/sample_plugin.c,
4311         plugins/sample_group/getgrent.c, plugins/sample_group/plugin_test.c,
4312         plugins/sudoers/alias.c, plugins/sudoers/auth/afs.c,
4313         plugins/sudoers/auth/aix_auth.c, plugins/sudoers/auth/bsdauth.c,
4314         plugins/sudoers/auth/dce.c, plugins/sudoers/auth/fwtk.c,
4315         plugins/sudoers/auth/kerb4.c, plugins/sudoers/auth/kerb5.c,
4316         plugins/sudoers/auth/pam.c, plugins/sudoers/auth/passwd.c,
4317         plugins/sudoers/auth/rfc1938.c, plugins/sudoers/auth/secureware.c,
4318         plugins/sudoers/auth/securid.c, plugins/sudoers/auth/securid5.c,
4319         plugins/sudoers/auth/sia.c, plugins/sudoers/boottime.c,
4320         plugins/sudoers/bsm_audit.c, plugins/sudoers/env.c,
4321         plugins/sudoers/find_path.c, plugins/sudoers/goodpath.c,
4322         plugins/sudoers/logging.c, plugins/sudoers/parse.c,
4323         plugins/sudoers/parse.h, plugins/sudoers/redblack.c,
4324         plugins/sudoers/set_perms.c, plugins/sudoers/timestr.c,
4325         plugins/sudoers/tsgetgrpw.c, plugins/sudoers/visudo.c, src/exec.c,
4326         src/exec_pty.c, src/get_pty.c, src/parse_args.c, src/sudo.c,
4327         src/sudo.h, src/sudo_edit.c, src/sudo_exec.h, src/sudo_noexec.c,
4328         src/sudo_plugin_int.h, src/tgetpass.c:
4329         Update copyright years.
4330         [16aa39f9060a]
4331
4332         * doc/sudo_plugin.pod, plugins/sudoers/sudoers.c,
4333         plugins/sudoers/sudoers.h, src/parse_args.c:
4334         Add "user_shell" boolean as a way to indicate to the plugin that the
4335         -s flag was given.
4336         [fb1ef0897b32]
4337
4338         * plugins/sudoers/iolog_path.c, plugins/sudoers/logging.c,
4339         plugins/sudoers/sudoers.h:
4340         Move sessid out of sudo_user.
4341         [ba298ddb57f4]
4342
4343         * plugins/sudoers/iolog.c, plugins/sudoers/iolog_path.c,
4344         plugins/sudoers/logging.c, plugins/sudoers/sudoers.c,
4345         plugins/sudoers/sudoers.h:
4346         Log the TSID even if it is not a simple session ID.
4347         [d7cc1b9c513c]
4348
4349         * doc/sample.sudo.conf, doc/sudo.pod, doc/sudoers.pod:
4350         Document noexec in sample.sudo.conf and add back noexec_file section
4351         in sudoers with a note that it is deprecated.
4352         [4a6e961e494d]
4353
4354         * plugins/sudoers/set_perms.c:
4355         Fix running commands as non-root on systems where setreuid() changes
4356         the saved uid based on the effective uid we are changing to.
4357         [df0769b71b34]
4358
4359 2011-03-10  Todd C. Miller  <Todd.Miller@courtesan.com>
4360
4361         * plugins/sudoers/defaults.c, src/load_plugins.c, src/sudo.c,
4362         src/sudo.h:
4363         Move noexec path into sudo.conf now that sudo itself handles noexec.
4364         Currently can be configured in sudoers too but is now undocumented
4365         and will be removed in a future release.
4366         [6fa8befdc110]
4367
4368         * doc/sudo.pod, doc/sudoers.pod:
4369         Document "Path noexec ..." in sudo.conf. No longer document
4370         noexec_file in sudoers, it will be removed in a future release.
4371         [24eee3a0b3e5]
4372
4373         * plugins/sudoers/env.c, plugins/sudoers/sudoers.c,
4374         plugins/sudoers/sudoers.h, src/sudo.c, src/sudo.h:
4375         Move noexec handling to sudo front-end where it is documented as
4376         being.
4377         [3ed4f10d7052]
4378
4379         * config.h.in, configure, configure.in, plugins/sudoers/sudoers.c,
4380         src/exec.c, src/exec_pty.c, src/sudo.c, src/sudo.h, src/sudo_edit.c,
4381         src/sudo_exec.h:
4382         Add support for disabling exec via solaris privileges. Includes
4383         preparation for moving noexec support out of sudoers and into front
4384         end as documented.
4385         [dec843ed553e]
4386
4387         * plugins/sample/Makefile.in, plugins/sample/sample_plugin.sym,
4388         plugins/sample_group/Makefile.in,
4389         plugins/sample_group/sample_group.sym, plugins/sudoers/Makefile.in,
4390         plugins/sudoers/sudoers.sym:
4391         Only export the symbols corresponding to the plugin structs.
4392         [8d8d03b0ca54]
4393
4394         * configure, configure.in, plugins/sample/Makefile.in,
4395         plugins/sample_group/Makefile.in, plugins/sudoers/Makefile.in:
4396         Install plugins manually instead of using libtool. This works
4397         around a problem on AIX where libtool will install a .a file
4398         containing the .so file instead of the .so file itself.
4399         [796971cfbddb]
4400
4401         * Makefile.in:
4402         Move check into its own rule since some versions of make will run
4403         both targets as the default rule.
4404         [34d759979176]
4405
4406         * configure, ltmain.sh, m4/libtool.m4, m4/ltoptions.m4,
4407         m4/ltversion.m4, m4/lt~obsolete.m4:
4408         Update to libtool 2.2.10
4409         [34c130de6af7]
4410
4411 2011-03-09  Todd C. Miller  <Todd.Miller@courtesan.com>
4412
4413         * src/exec.c:
4414         In handle_signals(), restart the read() on EINTR to make sure we
4415         keep up with the signal pipe. Don't return -1 on EAGAIN, it just
4416         means we have emptied the pipe.
4417         [d5b9c8eb9000]
4418
4419         * compat/mktemp.c:
4420         Reorder functions to quiet a compiler warning.
4421         [c9e9a23729f0]
4422
4423         * mkpkg:
4424         Use the Sun Studio C compiler on Solaris if possible
4425         [11a86e27891e]
4426
4427 2011-03-08  Todd C. Miller  <Todd.Miller@courtesan.com>
4428
4429         * mkpkg:
4430         Fix default setting of osversion variable.
4431         [52e49ca1cedd]
4432
4433         * doc/sudo_plugin.pod:
4434         Make two login_class entris consistent.
4435         [18ff1fa94a91]
4436
4437         * config.h.in, configure, configure.in, src/exec.c, src/exec_pty.c,
4438         src/sudo_exec.h:
4439         Add support for adding a utmp entry when allocating a new pty.
4440         Requires the BSD login(3) or SYSV/POSIX getutent()/getutxent().
4441         Currently only creates a new entry if the existing tty has a utmp
4442         entry.
4443         [32db72b81d80]
4444
4445         * plugins/sudoers/boottime.c:
4446         Avoid pulling in headers we don't need on Linux For getutx?id(),
4447         call setutx?ent() first and always call endutx?ent().
4448         [5dad21e1ee1b]
4449
4450         * configure, configure.in:
4451         Add some more libs to SUDOERS_LIBS instead of relying on them to be
4452         pulled in by SUDO_LIBS.
4453         [18a7c21c09a7]
4454
4455         * plugins/sudoers/sudoers.c:
4456         Fix return value of "sudo -l command" when command is not allowed,
4457         broken in [c7097ea22111]. The default return value is now TRUE and
4458         a bad: label is used when permission is denied. Also fixed missing
4459         permissions restoration on certain errors. On error()/errorx(), the
4460         password and group files are now closed before returning.
4461         [4f2d0e869ae5]
4462
4463 2011-03-07  Todd C. Miller  <Todd.Miller@courtesan.com>
4464
4465         * plugins/sudoers/set_perms.c, plugins/sudoers/sudoers.c:
4466         Fix passing of login class back to sudo front end.
4467         [6f70a784ce48]
4468
4469         * mkpkg:
4470         Add --osversion flag to specify OS instead of running "pp
4471         --probeonly"
4472         [a8efdccb7bc1]
4473
4474         * sudo.pp:
4475         Fix expr usage w/ GNU expr
4476         [48895599ee63]
4477
4478 2011-03-06  Todd C. Miller  <Todd.Miller@courtesan.com>
4479
4480         * plugins/sudoers/sudoers.c:
4481         Fix exit value for validate and list mode.
4482         [c7097ea22111]
4483
4484         * plugins/sudoers/sudoers.c:
4485         Fix non-interactive mode with sudoers plugin.
4486         [172f29597bd2]
4487
4488 2011-03-05  Todd C. Miller  <Todd.Miller@courtesan.com>
4489
4490         * doc/sudoreplay.pod:
4491         sudoreplay can now find IDs other than %{seq} and display the
4492         session.
4493         [fc3dd3be67e9]
4494
4495 2011-03-04  Todd C. Miller  <Todd.Miller@courtesan.com>
4496
4497         * plugins/sudoers/sudoreplay.c:
4498         Add support for replaying sessions when iolog_file is set to
4499         something other than %{seq}.
4500         [ca3131243874]
4501
4502         * plugins/sudoers/visudo.c:
4503         If we are killed by a signal, display the name of the signal that
4504         got us.
4505         [994bb76a990e]
4506
4507         * configure, configure.in:
4508         Move libs used for authentication from SUDO_LIBS to SUDOERS_LIBS
4509         where they belong.
4510         [40f94b936fa4]
4511
4512         * configure.in:
4513         Fix bug in skey/opie check that could cause a shell warning.
4514         [83c043072be5]
4515
4516         * plugins/sudoers/testsudoers.c, plugins/sudoers/visudo.c:
4517         No longer need sudo_getepw() stubs.
4518         [bbee15c36912]
4519
4520 2011-03-03  Todd C. Miller  <Todd.Miller@courtesan.com>
4521
4522         * plugins/sudoers/sudo_nss.c:
4523         Fix exit value of "sudo -l command" in sudoers module.
4524         [a6541867521b]
4525
4526 2011-03-02  Todd C. Miller  <Todd.Miller@courtesan.com>
4527
4528         * compat/regress/glob/globtest.c:
4529         Use fgets() not fgetln() for portability.
4530         [df1bb67fb168]
4531
4532         * sudo.pp:
4533         Don't use the beta or release candidate version as the rpm release.
4534         [d661ef78021a]
4535
4536 2011-02-25  Todd C. Miller  <Todd.Miller@courtesan.com>
4537
4538         * configure, configure.in:
4539         version 1.8.0
4540         [f6530d56f6ae] [SUDO_1_8_0]
4541
4542         * NEWS:
4543         update sudo 1.8 section
4544         [f2ee2cf95d18]
4545
4546 2011-02-23  Todd C. Miller  <Todd.Miller@courtesan.com>
4547
4548         * plugins/sudoers/regress/testsudoers/test2.sh:
4549         fix test description
4550         [cd5730fa9f09]
4551
4552         * plugins/sudoers/regress/testsudoers/test2.out,
4553         plugins/sudoers/regress/testsudoers/test2.sh,
4554         plugins/sudoers/regress/visudo/test2.out,
4555         plugins/sudoers/regress/visudo/test2.sh:
4556         convert test2 to use testsudoers
4557         [b5ec3f0b69f1]
4558
4559         * include/sudo_plugin.h, src/sudo_plugin_int.h:
4560         Move struct generic_plugin to sudo_plugin_int.h
4561         [6f7bc629329c]
4562
4563         * plugins/sudoers/gram.c, plugins/sudoers/gram.y,
4564         plugins/sudoers/parse.c, plugins/sudoers/parse.h,
4565         plugins/sudoers/set_perms.c, plugins/sudoers/sudoers.c,
4566         plugins/sudoers/sudoers.h:
4567         Allow sudoers file name, mode, uid and gid to be specified in the
4568         settings list. The sudo front end does not currently set these but
4569         may in the future.
4570         [22f38a0fda2a]
4571
4572 2011-02-21  Todd C. Miller  <Todd.Miller@courtesan.com>
4573
4574         * configure, configure.in, doc/sudo.cat, doc/sudo.man.in,
4575         doc/sudo_plugin.cat, doc/sudo_plugin.man.in, doc/sudoers.cat,
4576         doc/sudoers.ldap.cat, doc/sudoers.ldap.man.in, doc/sudoers.man.in,
4577         doc/sudoreplay.cat, doc/sudoreplay.man.in, doc/visudo.cat,
4578         doc/visudo.man.in:
4579         1.8.0rc1
4580         [5d4588b9c057]
4581
4582         * doc/sudo.pod, doc/sudoreplay.pod, doc/visudo.pod,
4583         plugins/sudoers/sudoreplay.c, plugins/sudoers/visudo.c,
4584         src/parse_args.c, src/sudo.h:
4585         add help text to sudo, visudo and sudoreplay for the -h option
4586         [52e7378d8476]
4587
4588 2011-02-19  Todd C. Miller  <Todd.Miller@courtesan.com>
4589
4590         * compat/snprintf.c:
4591         avoid using "howmany" for a parameter name since it is a select-
4592         related macro
4593         [a14d565401a1]
4594
4595         * doc/sudoers.pod:
4596         mention group_plugin when describing nonunix_group
4597         [e0d1d0034b17]
4598
4599         * doc/sudo_plugin.pod:
4600         Add missing period at end of sentence
4601         [6744d7e9056d]
4602
4603         * Makefile.in, doc/Makefile.in, include/Makefile.in,
4604         plugins/sample/Makefile.in, plugins/sample_group/Makefile.in,
4605         plugins/sudoers/Makefile.in, src/Makefile.in:
4606         add localstatedir; closes bug 471
4607         [7aefcab85088]
4608
4609         * config.h.in, configure, configure.in, plugins/sudoers/sudoreplay.c,
4610         src/exec.c, src/exec_pty.c:
4611         The howmany macro lives in sys/sysmacros.h on SVR5 systems Closes
4612         Bug 470
4613         [927ed6740f32]
4614
4615         * configure.in:
4616         add missing AH_TEMPLATE for ENV_RESET
4617         [16300010c986]
4618
4619         * src/exec.c:
4620         SVR5 systems return non-zero for success on socketpair(), check for
4621         -1 instead. Closes Bug 469
4622         [4d276494bf8e]
4623
4624 2011-02-16  Todd C. Miller  <Todd.Miller@courtesan.com>
4625
4626         * configure, configure.in:
4627         1.8.0b5
4628         [d611cd5d73d3]
4629
4630         * doc/sudo.cat, doc/sudo.man.in, doc/sudo_plugin.cat,
4631         doc/sudo_plugin.man.in, doc/sudoers.cat, doc/sudoers.ldap.cat,
4632         doc/sudoers.ldap.man.in, doc/sudoers.man.in, doc/sudoreplay.cat,
4633         doc/sudoreplay.man.in, doc/visudo.cat, doc/visudo.man.in:
4634         regen
4635         [85e96eeaed82]
4636
4637         * doc/sudo.pod:
4638         Document that a sudo.conf file with no Pligin lines uses the default
4639         sudoers plugins.
4640         [88bd52da977f]
4641
4642         * src/load_plugins.c:
4643         If sudo.conf contains no Plugin lines, use the default sudoers
4644         policy and I/O plugins.
4645         [fd8f4cb811ab]
4646
4647 2011-02-14  Todd C. Miller  <Todd.Miller@courtesan.com>
4648
4649         * plugins/sudoers/sudo_nss.c:
4650         Avoid printing empty "Runas and Command-specific defaults for user"
4651         line.
4652         [2dd330fe4f8b]
4653
4654         * common/lbuf.c:
4655         Truncate the buffer at buf.len before printing in the non-wordwrap
4656         case.
4657         [901e9833f80d]
4658
4659         * common/lbuf.c:
4660         Remove extra newline when the tty width is very small or unavailable
4661         [245c05506c0e]
4662
4663 2011-02-11  Todd C. Miller  <Todd.Miller@courtesan.com>
4664
4665         * plugins/sudoers/alias.c:
4666         Remove unneeded variable.
4667         [2c086d30b796]
4668
4669 2011-02-09  Todd C. Miller  <Todd.Miller@courtesan.com>
4670
4671         * configure, configure.in:
4672         Prefer getutxid over getutid
4673         [3f3322e9c93e]
4674
4675         * plugins/sudoers/boottime.c:
4676         Include utmp.h / utmpx.h before missing.h as apparently including it
4677         afterwards causes a compilation problem on GNU Hurd.
4678         [a528029ae962]
4679
4680 2011-02-07  Todd C. Miller  <Todd.Miller@courtesan.com>
4681
4682         * plugins/sudoers/sudoreplay.c, plugins/sudoers/toke_util.c:
4683         #include "foo.h", not <foo.h> for local includes.
4684         [f65ec693998e]
4685
4686         * src/parse_args.c:
4687         remove bogus XXX
4688         [9136c17d53ce]
4689
4690         * compat/mksiglist.c:
4691         Fix typo
4692         [1a3bb7b455c9]
4693
4694         * compat/glob.c, plugins/sudoers/ldap.c, plugins/sudoers/logging.c,
4695         plugins/sudoers/match.c:
4696         return foo not return(foo)
4697         [5c9e0647359a]
4698
4699 2011-02-06  Todd C. Miller  <Todd.Miller@courtesan.com>
4700
4701         * src/exec.c:
4702         Remove duplicate FD_SET of signal_pipe[0]
4703         [3096527d2215]
4704
4705 2011-02-05  Todd C. Miller  <Todd.Miller@courtesan.com>
4706
4707         * compat/mksiglist.c:
4708         Use "missing.h" not <missing.h> in generated code.
4709         [d8e09cffbe09]
4710
4711 2011-02-04  Todd C. Miller  <Todd.Miller@courtesan.com>
4712
4713         * aclocal.m4, configure:
4714         fix --with-iologdir=no
4715         [a89699cb5f5f]
4716
4717         * aclocal.m4, configure:
4718         fix typo that broke --with-iologdir
4719         [91b54eb22403]
4720
4721 2011-02-03  Todd C. Miller  <Todd.Miller@courtesan.com>
4722
4723         * configure, configure.in, doc/sudo.cat, doc/sudo.man.in,
4724         doc/sudo_plugin.cat, doc/sudo_plugin.man.in, doc/sudoers.cat,
4725         doc/sudoers.ldap.cat, doc/sudoers.ldap.man.in, doc/sudoers.man.in,
4726         doc/sudoreplay.cat, doc/sudoreplay.man.in, doc/visudo.cat,
4727         doc/visudo.man.in:
4728         Bump version to 1.8.0b4
4729         [e2b7f2cdc02e]
4730
4731         * NEWS:
4732         sync
4733         [decf5a0a8a33]
4734
4735         * doc/sudoers.cat, doc/sudoers.man.in, doc/sudoers.pod:
4736         Attempt to clarify how users and groups interact in Runas_Specs
4737         [e6fb3a2dbd77]
4738
4739         * plugins/sudoers/regress/visudo/test2.out,
4740         plugins/sudoers/regress/visudo/test2.sh:
4741         Add test for quoted group that contains escaped double quotes
4742         [44596c48c629]
4743
4744         * src/exec.c, src/exec_pty.c:
4745         Pass SIGUSR1/SIGUSR2 through to the child.
4746         [c3108a827b01]
4747
4748         * src/exec_pty.c, src/sudo_exec.h:
4749         Use special values SIGCONT_FG and SIGCONT_BG instead of SIGUSR1 and
4750         SIGUSR2 to indicate whether the child should be continued in the
4751         foreground or background.
4752         [35ca47cc6785]
4753
4754         * src/exec.c:
4755         Use pid_t not int and check the return value of kill()
4756         [36ae7d37d7f9]
4757
4758 2011-02-02  Todd C. Miller  <Todd.Miller@courtesan.com>
4759
4760         * src/exec_pty.c:
4761         Remove obsolete comment
4762         [baebef4919f6]
4763
4764         * src/exec.c:
4765         In non-pty mode before continuing the child, make it the foreground
4766         pgrp if possible. Fixes resuming a shell.
4767         [fef5b1d02ddb]
4768
4769         * src/exec_pty.c:
4770         If we get a signal other than SIGCHLD in the monitor, pass it
4771         directly to the child.
4772         [b3ecb28163a0]
4773
4774         * src/exec.c, src/exec_pty.c, src/sudo.h:
4775         Save signal state before changing handlers and restore before we
4776         execute the command.
4777         [faf7475dc4bf]
4778
4779 2011-02-01  Todd C. Miller  <Todd.Miller@courtesan.com>
4780
4781         * plugins/sudoers/iolog.c:
4782         Use a char array to map a number to a base36 digit.
4783         [257576c51f8b]
4784
4785         * doc/sudoers.ldap.cat, doc/sudoers.ldap.man.in, doc/sudoers.ldap.pod:
4786         Be clear about what versions of sudo support new LDAP attributes.
4787         Fix up some formatting of attribute names. Minor other tweaks.
4788         [39f65df71f65]
4789
4790 2011-01-31  Todd C. Miller  <Todd.Miller@courtesan.com>
4791
4792         * plugins/sudoers/toke.c, plugins/sudoers/toke.l:
4793         match quoted strings the same way whether in a Defaults line or as a
4794         user/group/netgroup name. Fixes escaped double quotes in quoted
4795         user/group/netgroup names.
4796         [601d97ea8792]
4797
4798         * plugins/sudoers/Makefile.in:
4799         'make check' depends on visudo and testsudoers
4800         [127c5a24df8f]
4801
4802         * plugins/sudoers/sudoers2ldif:
4803         Add sudoOrder attribute to each entry Parse LOG_{INPUT,OUTPUT} tags
4804         [9029163a58c3]
4805
4806 2011-01-30  Todd C. Miller  <Todd.Miller@courtesan.com>
4807
4808         * doc/UPGRADE:
4809         Mention LDAP attribute compatibility status.
4810         [2c3595aaec63]
4811
4812 2011-01-28  Todd C. Miller  <Todd.Miller@courtesan.com>
4813
4814         * README.LDAP:
4815         Mention phpQLAdmin
4816         [9304c9064fbe]
4817
4818         * INSTALL, NEWS, config.h.in, configure, configure.in,
4819         doc/sudoers.man.in, doc/sudoers.pod, plugins/sudoers/defaults.c:
4820         Add --disable-env-reset configure option.
4821         [8a753aa13a46]
4822
4823         * doc/sudoers.cat, doc/sudoers.man.in, doc/sudoers.pod:
4824         Document that sudoers_locale also affects logging and email.
4825         [998d6ac11277]
4826
4827         * NEWS, config.h.in, configure, configure.in,
4828         plugins/sudoers/logging.c:
4829         Do logging and email sending in the locale specified by the
4830         "sudoers_locale" setting ("C" by default). Email send by sudo
4831         includes MIME headers when the sudoers locale is not "C".
4832         [cb7e55408400]
4833
4834 2011-01-27  Todd C. Miller  <Todd.Miller@courtesan.com>
4835
4836         * plugins/sudoers/check.c:
4837         Fix indentation
4838         [65ae7e92b9e4]
4839
4840 2011-01-25  Todd C. Miller  <Todd.Miller@courtesan.com>
4841
4842         * NEWS, src/parse_args.c, src/sudo.c:
4843         Perform command escaping for "sudo -s" and "sudo -i" after
4844         validating sudoers so the sudoers entries don't need to have all the
4845         backslashes.
4846         [4e168c103f4b]
4847
4848 2011-01-24  Todd C. Miller  <Todd.Miller@courtesan.com>
4849
4850         * plugins/sudoers/logging.c:
4851         Prepend "list " to the command logged when "sudo -l command" is used
4852         to make it clear that the command was listed, not run.
4853         [f392a6056cd6]
4854
4855         * plugins/sudoers/parse.c:
4856         cosmetic change
4857         [7c0951dbc2dd]
4858
4859         * common/aix.c, common/alloc.c, common/fileops.c, common/fmt_string.c,
4860         common/list.c, common/term.c, compat/fnmatch.c, compat/getcwd.c,
4861         compat/glob.c, compat/isblank.c, compat/memrchr.c, compat/mktemp.c,
4862         compat/nanosleep.c, compat/regress/glob/globtest.c,
4863         compat/snprintf.c, compat/strlcat.c, compat/strlcpy.c,
4864         compat/strsignal.c, compat/utimes.c, plugins/sample/sample_plugin.c,
4865         plugins/sample_group/getgrent.c, plugins/sample_group/plugin_test.c,
4866         plugins/sudoers/alias.c, plugins/sudoers/auth/afs.c,
4867         plugins/sudoers/auth/aix_auth.c, plugins/sudoers/auth/bsdauth.c,
4868         plugins/sudoers/auth/dce.c, plugins/sudoers/auth/fwtk.c,
4869         plugins/sudoers/auth/kerb4.c, plugins/sudoers/auth/kerb5.c,
4870         plugins/sudoers/auth/pam.c, plugins/sudoers/auth/passwd.c,
4871         plugins/sudoers/auth/rfc1938.c, plugins/sudoers/auth/secureware.c,
4872         plugins/sudoers/auth/securid.c, plugins/sudoers/auth/securid5.c,
4873         plugins/sudoers/auth/sia.c, plugins/sudoers/bsm_audit.c,
4874         plugins/sudoers/check.c, plugins/sudoers/defaults.c,
4875         plugins/sudoers/find_path.c, plugins/sudoers/goodpath.c,
4876         plugins/sudoers/gram.c, plugins/sudoers/gram.y,
4877         plugins/sudoers/iolog.c, plugins/sudoers/ldap.c,
4878         plugins/sudoers/match.c, plugins/sudoers/mon_systrace.c,
4879         plugins/sudoers/parse.c, plugins/sudoers/pwutil.c,
4880         plugins/sudoers/redblack.c, plugins/sudoers/set_perms.c,
4881         plugins/sudoers/sudo_nss.c, plugins/sudoers/sudoers.c,
4882         plugins/sudoers/sudoreplay.c, plugins/sudoers/testsudoers.c,
4883         plugins/sudoers/timestr.c, plugins/sudoers/toke.c,
4884         plugins/sudoers/toke.l, plugins/sudoers/toke_util.c,
4885         plugins/sudoers/tsgetgrpw.c, plugins/sudoers/visudo.c,
4886         src/exec_pty.c, src/get_pty.c, src/load_plugins.c, src/parse_args.c,
4887         src/sudo_noexec.c, src/tgetpass.c:
4888         standardize on "return foo;" rather than "return(foo);" or "return
4889         (foo);"
4890         [32d76c5aaf8c]
4891
4892         * plugins/sudoers/sudoers.c:
4893         Do not reject sudoers file just because it is root-writable.
4894         [0febc579185b]
4895
4896 2011-01-21  Todd C. Miller  <Todd.Miller@courtesan.com>
4897
4898         * NEWS:
4899         sync
4900         [1ab03f8278ff]
4901
4902         * plugins/sudoers/sudo_nss.c:
4903         For "sudo -U user -l" if user is not authorized on the host, say so.
4904         [289afe6dd15c]
4905
4906         * plugins/sudoers/ldap.c:
4907         In sudo_ldap_lookup(), always do the initial sudoers check as the
4908         invoking user. If we are listing another user's privs we will do a
4909         separate lookup using list_pw later.
4910         [e52bc15de76d]
4911
4912 2011-01-20  Todd C. Miller  <Todd.Miller@courtesan.com>
4913
4914         * MANIFEST:
4915         add parser fill tests
4916         [4f65140d3515]
4917
4918         * compat/regress/glob/globtest.c, compat/regress/glob/globtest.in:
4919         Don't test features not supported by the bundled glob()
4920         [8ec7ace11949]
4921
4922         * Makefile.in, aclocal.m4, common/Makefile.in, common/term.c,
4923         compat/Makefile.in, configure.in, doc/LICENSE, doc/Makefile.in,
4924         doc/sudo_plugin.man.in, doc/sudo_plugin.pod,
4925         doc/sudoers.ldap.man.in, doc/sudoers.ldap.pod, doc/sudoers.man.in,
4926         doc/sudoers.pod, include/Makefile.in, plugins/sample/Makefile.in,
4927         plugins/sample_group/Makefile.in, plugins/sudoers/Makefile.in,
4928         plugins/sudoers/check.c, plugins/sudoers/defaults.c,
4929         plugins/sudoers/gram.c, plugins/sudoers/gram.y,
4930         plugins/sudoers/iolog.c, plugins/sudoers/iolog_path.c,
4931         plugins/sudoers/ldap.c, plugins/sudoers/match.c,
4932         plugins/sudoers/pwutil.c, plugins/sudoers/sudo_nss.c,
4933         plugins/sudoers/sudoers.c, plugins/sudoers/sudoers.h,
4934         plugins/sudoers/sudoreplay.c, plugins/sudoers/testsudoers.c,
4935         plugins/sudoers/toke.c, plugins/sudoers/toke.l,
4936         plugins/sudoers/toke_util.c, src/Makefile.in, zlib/Makefile.in:
4937         Update copyright year to 2011
4938         [ac1b45cb1809]
4939
4940         * plugins/sudoers/sudo_nss.c:
4941         When listing, use separate lbufs for the defaults and the privileges
4942         and only print something if the number of privileges is non-zero.
4943         Fixes extraneous Defaults output for "sudo -U unauthorized_user -l".
4944         [d0854d39f8ef]
4945
4946         * plugins/sudoers/ldap.c:
4947         Stash pointer to user group vector in LDAP handle and only reuse the
4948         query if it has not changed. We always allocate a new buffer when
4949         we reset the group vector so a simple pointer check is sufficient.
4950         [88861d4eba69]
4951
4952         * plugins/sudoers/sudo_nss.c:
4953         Check initgroups() return value.
4954         [3bdaf58408a7]
4955
4956         * plugins/sudoers/Makefile.in,
4957         plugins/sudoers/regress/parser/check_fill.c:
4958         Add tests for the fill functions in toke_util.c
4959         [bca587ab4956]
4960
4961 2011-01-19  Todd C. Miller  <Todd.Miller@courtesan.com>
4962
4963         * plugins/sudoers/regress/iolog_path/check_iolog_path.c:
4964         fix copyright year
4965         [e2038cdaf055]
4966
4967         * NEWS:
4968         sync
4969         [56ca5d5eaebe]
4970
4971 2011-01-18  Todd C. Miller  <Todd.Miller@courtesan.com>
4972
4973         * common/term.c:
4974         Clear, don't set, OPOST in c_oflag as was intended in 506ad5ae9b4e.
4975         [b91f266624ec]
4976
4977 2011-01-14  Todd C. Miller  <Todd.Miller@courtesan.com>
4978
4979         * mkpkg, sudo.pp:
4980         Add Requires line for audit-libs >= 1.4 for RHEL5+
4981         [6c02f976171b]
4982
4983         * pp:
4984         sync with git version
4985         [d301c32d5865]
4986
4987 2011-01-13  Todd C. Miller  <Todd.Miller@courtesan.com>
4988
4989         * doc/sudoers.cat, doc/sudoers.man.in, doc/sudoers.pod:
4990         fix typo
4991         [39353f92976f]
4992
4993 2011-01-12  Todd C. Miller  <Todd.Miller@courtesan.com>
4994
4995         * NEWS:
4996         Update for sudo 1.7.4p5
4997         [b444da76901f]
4998
4999         * doc/schema.OpenLDAP, doc/schema.iPlanet:
5000         Add sudoNotBefore and sudoNotAfter attributes as optional attributes
5001         to the sudoRole object class. From Andreas Mueller
5002         [dacfad7e7a95]
5003
5004 2011-01-11  Todd C. Miller  <Todd.Miller@courtesan.com>
5005
5006         * NEWS:
5007         Mention "sudo -g group" password check fix.
5008         [1eb8fb14e53b]
5009
5010         * plugins/sudoers/sudoers.c:
5011         Fix "sudo -g" support in the sudoers module.
5012         [07d1b0ce530e]
5013
5014         * plugins/sudoers/check.c:
5015         If the user is running sudo as himself but as a different group we
5016         need to prompt for a password.
5017         [caf1fcc9a117]
5018
5019 2011-01-10  Todd C. Miller  <Todd.Miller@courtesan.com>
5020
5021         * NEWS, config.h.in, configure, configure.in, doc/sudoers.ldap.cat,
5022         doc/sudoers.ldap.man.in, doc/sudoers.ldap.pod,
5023         plugins/sudoers/ldap.c:
5024         Add support for TIMEOUT in ldap.conf, mapping to the OpenLDAP
5025         LDAP_OPT_TIMEOUT. There is no corresponding option for mozilla-
5026         derived LDAP SDKs but we can pass the timeout parameter to
5027         ldap_search_ext_s() or ldap_search_st() when possible.
5028         [5537049991f7]
5029
5030         * doc/sudoers.ldap.cat, doc/sudoers.ldap.man.in:
5031         regen
5032         [5b361c3c4324]
5033
5034         * NEWS, doc/sudoers.ldap.pod, plugins/sudoers/ldap.c:
5035         Add NETWORK_TIMEOUT as an alias for BIND_TIMELIMIT for compatibility
5036         with OpenLDAP ldap.conf files.
5037         [e97843bd16fb]
5038
5039         * plugins/sudoers/pwutil.c:
5040         If user has no supplementary groups, fall back on checking the group
5041         file expliticly.
5042         [5223ad4eb690]
5043
5044 2011-01-08  Todd C. Miller  <Todd.Miller@courtesan.com>
5045
5046         * plugins/sudoers/toke.h, plugins/sudoers/toke_util.c:
5047         constify
5048         [6e132a4cca61]
5049
5050         * plugins/sudoers/toke.c, plugins/sudoers/toke.h,
5051         plugins/sudoers/toke.l:
5052         Move fill macro to toke.h
5053         [623d430798cf]
5054
5055         * MANIFEST, plugins/sudoers/Makefile.in, plugins/sudoers/toke.c,
5056         plugins/sudoers/toke.h, plugins/sudoers/toke.l,
5057         plugins/sudoers/toke_util.c:
5058         Split tokenizer utility functions out into toke_util.c
5059         [89a97bd51618]
5060
5061         * plugins/sudoers/gram.c, plugins/sudoers/gram.y,
5062         plugins/sudoers/toke.c, plugins/sudoers/toke.l:
5063         ANSIfy
5064         [ca0eba1dfaa9]
5065
5066 2011-01-07  Todd C. Miller  <Todd.Miller@courtesan.com>
5067
5068         * MANIFEST:
5069         sync
5070         [a43f94064bb3]
5071
5072         * plugins/sudoers/Makefile.in:
5073         Add visudo tests to check target
5074         [8c82fb4ed40f]
5075
5076         * compat/Makefile.in, compat/regress/fnmatch/fnm_test.c,
5077         compat/regress/fnmatch/fnm_test.in, compat/regress/glob/files,
5078         compat/regress/glob/globtest.c, compat/regress/glob/globtest.in:
5079         Add my regress tests for fnmatch() and glob() from OpenBSD.
5080         [6e8c1f211723]
5081
5082         * plugins/sudoers/regress/testsudoers/test1.sh,
5083         plugins/sudoers/regress/visudo/test1.ok,
5084         plugins/sudoers/regress/visudo/test1.sh:
5085         Add regress test for command tags using visudo -c
5086         [18b0ef207c0f]
5087
5088         * plugins/sudoers/Makefile.in,
5089         plugins/sudoers/regress/testsudoers/test1.ok,
5090         plugins/sudoers/regress/testsudoers/test1.sh:
5091         Add support for regress tests using testsudoers
5092         [1fa94bd2671b]
5093
5094         * plugins/sudoers/testsudoers.c:
5095         Need to set user_name explicitly due to internal changes made when
5096         converting sudoers to a plugin.
5097         [1fa54e86a364]
5098
5099 2011-01-06  Todd C. Miller  <Todd.Miller@courtesan.com>
5100
5101         * MANIFEST, Makefile.in, common/Makefile.in, compat/Makefile.in,
5102         doc/Makefile.in, include/Makefile.in, plugins/sample/Makefile.in,
5103         plugins/sample_group/Makefile.in, plugins/sudoers/Makefile.in,
5104         plugins/sudoers/regress/iolog_path/check_iolog_path.c,
5105         plugins/sudoers/regress/iolog_path/data, src/Makefile.in,
5106         zlib/Makefile.in:
5107         Add regression tests for iolog_path()
5108         [afa4b416e559]
5109
5110         * Makefile.in, common/Makefile.in, compat/Makefile.in,
5111         doc/Makefile.in, include/Makefile.in, plugins/sample/Makefile.in,
5112         plugins/sample_group/Makefile.in, plugins/sudoers/Makefile.in,
5113         src/Makefile.in, zlib/Makefile.in:
5114         Add support for "make Makefile" to regenerate Makefile from
5115         Makefile.in
5116         [98bd2dda3294]
5117
5118         * plugins/sudoers/iolog_path.c:
5119         Quiest a bogus compiler warning.
5120         [5ff932a7ad67]
5121
5122 2011-01-05  Todd C. Miller  <Todd.Miller@courtesan.com>
5123
5124         * plugins/sudoers/iolog_path.c:
5125         Protect call to setlocale() with HAVE_SETLOCALE
5126         [2c29ee3ccc81]
5127
5128 2011-01-04  Todd C. Miller  <Todd.Miller@courtesan.com>
5129
5130         * MANIFEST:
5131         mkstemps.c was renamed mktemp.c
5132         [ae299c3b1827]
5133
5134         * NEWS:
5135         Update from 1.7 branch
5136         [20817d79717b]
5137
5138         * Makefile.in:
5139         Use "mv -f" when regenerating ChangeLog
5140         [c163635206c6]
5141
5142         * plugins/sudoers/match.c:
5143         Fix NULL dereference with "sudo -g group" when the sudoers rule has
5144         no runas user or group listed. Fixes RedHat bug Bug 667103.
5145         [41a6a1243d9e]
5146
5147 2011-01-03  Todd C. Miller  <Todd.Miller@courtesan.com>
5148
5149         * doc/sudo_plugin.cat, doc/sudo_plugin.man.in, doc/sudo_plugin.pod:
5150         Correct the default sudo.conf example
5151         [4e791698cad1]
5152
5153 2010-12-31  Todd C. Miller  <Todd.Miller@courtesan.com>
5154
5155         * plugins/sudoers/iolog_path.c:
5156         Reset slashp if we allocate a new buffer for strftime()
5157         [e491daa4203b]
5158
5159         * plugins/sudoers/iolog_path.c, plugins/sudoers/sudoers.c,
5160         plugins/sudoers/sudoers.h:
5161         Add extra out parameter to expand_iolog_path() to allow the caller
5162         to split the path into dir and file components if needed.
5163         [88346bc5ae39]
5164
5165 2010-12-30  Todd C. Miller  <Todd.Miller@courtesan.com>
5166
5167         * plugins/sudoers/iolog.c:
5168         mkdir_iopath() returns size_t now that it uses strlcpy() and not
5169         snprintf()
5170         [3c4c64d265eb]
5171
5172         * plugins/sudoers/iolog.c, plugins/sudoers/iolog_path.c:
5173         Trim leading slashes from iolog_file and trailing slashes from
5174         iolog_dir
5175         [a803b51f8948]
5176
5177         * doc/sudo_plugin.cat, doc/sudo_plugin.man.in, doc/sudo_plugin.pod,
5178         plugins/sudoers/iolog.c, plugins/sudoers/iolog_path.c,
5179         plugins/sudoers/sudoers.c, plugins/sudoers/sudoers.h:
5180         Pass a single I/O log file name in command_details instead of
5181         separate dir + file parameters.
5182         [d672a3e46e80]
5183
5184         * plugins/sudoers/sudoreplay.c:
5185         change an error() to errorx()
5186         [8013dcfdd69d]
5187
5188         * plugins/sudoers/iolog.c:
5189         Add missing cwd line to I/O log info file that got dropped when
5190         iolog_deserialize_info() was added
5191         [7cf84f208423]
5192
5193 2010-12-29  Todd C. Miller  <Todd.Miller@courtesan.com>
5194
5195         * plugins/sudoers/iolog.c:
5196         Avoid relying on globals filled in by the sudoers policy module for
5197         the sudoers I/O log module. The I/O log open function now pulls the
5198         bits it needs out of user_info and command_info.
5199         [c02f6951b0cc]
5200
5201         * plugins/sudoers/iolog.c, plugins/sudoers/sudoers.c,
5202         plugins/sudoers/sudoers.h:
5203         If no iolog file is specified by the policy plugin, use io_nextid()
5204         to determine the next file in the sequence.
5205         [faa1130b1020]
5206
5207 2010-12-28  Todd C. Miller  <Todd.Miller@courtesan.com>
5208
5209         * doc/sudo_plugin.cat, doc/sudo_plugin.man.in, doc/sudo_plugin.pod:
5210         Document iolog_compress in command_info
5211         [58895c7d12f5]
5212
5213         * plugins/sudoers/iolog.c, plugins/sudoers/sudoers.c:
5214         Add support for the iolog_compress variable in command_info.
5215         [36f13a2fd1c1]
5216
5217         * plugins/sudoers/iolog.c, plugins/sudoers/sudoers.c:
5218         Add sigsetjmp() calls to all plugin entry points just to be safe.
5219         [3fa482355bc4]
5220
5221         * src/sudo.c, src/sudo.h:
5222         Don't need iolog variables in struct command_details, they are for
5223         the I/O log plugins to handle.
5224         [5111579ffd9d]
5225
5226 2010-12-27  Todd C. Miller  <Todd.Miller@courtesan.com>
5227
5228         * doc/sudoers.cat, doc/sudoers.man.in, doc/sudoers.pod:
5229         Document use of mkdtemp() for iolog path teplates
5230         [5db6101408a9]
5231
5232         * doc/sudo.cat, doc/sudo.man.in, doc/sudo_plugin.cat,
5233         doc/sudo_plugin.man.in, doc/sudoers.cat, doc/sudoers.ldap.cat,
5234         doc/sudoers.ldap.man.in, doc/sudoers.man.in, doc/sudoreplay.cat,
5235         doc/sudoreplay.man.in, doc/visudo.cat, doc/visudo.man.in:
5236         regen
5237         [1ee11fd6d4eb]
5238
5239         * doc/sudo_plugin.pod, doc/sudoers.pod:
5240         Document iolog_file and supported escape sequences for sudoers.
5241         Clarify that iolog_file can contain directories.
5242         [da611dedcbdb]
5243
5244         * compat/Makefile.in, configure, configure.in:
5245         Fix building of mkstemps/mkdtemp replacements.
5246         [793a5e303122]
5247
5248         * compat/mkstemps.c, compat/mktemp.c, config.h.in, configure,
5249         configure.in, include/missing.h:
5250         Provide mkdtemp() for systems without it.
5251         [b0527dfa965c]
5252
5253         * plugins/sudoers/iolog_path.c:
5254         Fix typo
5255         [277f6c514cba]
5256
5257         * plugins/sudoers/iolog.c:
5258         Only use mkdtemp() if the path ends in at least 6 Xs since otherwise
5259         glibc mkdtemp() returns EINVAL.
5260         [2e7323b05579]
5261
5262         * plugins/sudoers/Makefile.in, plugins/sudoers/def_data.c,
5263         plugins/sudoers/def_data.h, plugins/sudoers/def_data.in,
5264         plugins/sudoers/defaults.c, plugins/sudoers/iolog.c,
5265         plugins/sudoers/iolog_path.c, plugins/sudoers/plugin_error.c,
5266         plugins/sudoers/sudoers.c, plugins/sudoers/sudoers.h:
5267         Allow sudoers to specify the iolog file in addition to the iolog
5268         dir. Add escape sequence support to iolog file and dir: sequence
5269         number, user, group, runas_user, runas_group, hostname and
5270         command in addition to any escape sequence recognized by
5271         strftime(3).
5272         [75cd32ee0435]
5273
5274         * plugins/sudoers/iolog.c:
5275         Add missing sigsetjmp() call in I/O plugin open function. Fixes a
5276         crash when the I/O plugin calls error(), errorx() or log_error().
5277         [1a6718bd817d]
5278
5279 2010-12-21  Todd C. Miller  <Todd.Miller@courtesan.com>
5280
5281         * doc/sudo_plugin.pod, plugins/sudoers/iolog.c,
5282         plugins/sudoers/sudoers.c:
5283         Give the policy module fine-grained control over what the I/O plugin
5284         logs.
5285         [d29784fd2a66]
5286
5287         * common/term.c:
5288         Clear OPOST from c_oflag like we used to. Fixes screen-based
5289         editors such as vi.
5290         [506ad5ae9b4e]
5291
5292         * doc/sudoers.pod:
5293         Clarify umask option description. From Reuben Thomas.
5294         [1294ac84222b]
5295
5296 2010-12-20  Todd C. Miller  <Todd.Miller@courtesan.com>
5297
5298         * doc/sudoers.ldap.pod, plugins/sudoers/ldap.c:
5299         Pick last match in LDAP sudoers too
5300         [fbfd8e85703b]
5301
5302         * doc/sudo_plugin.pod:
5303         Document iolog_file, iolog_dir and use_pty
5304         [26120a59c20e]
5305
5306         * plugins/sample/sample_plugin.c, plugins/sudoers/iolog.c,
5307         plugins/sudoers/sudoers.c:
5308         Adapt plugins to version I/O logging ABI 1.1
5309         [880dd64bc1e8]
5310
5311         * src/exec.c, src/sudo.h:
5312         Add use_pty command_info flag for policies to indicate that a pty
5313         should be allocated even if no I/O logging is performed.
5314         [e7b167f8a6e5]
5315
5316         * src/sudo.c:
5317         Add remaining plugin convenience functions
5318         [ffeaf96da031]
5319
5320         * include/sudo_plugin.h, src/sudo.c, src/sudo.h,
5321         src/sudo_plugin_int.h:
5322         Change I/O log API to pass in command info to the I/O log open
5323         function. Add iolog_file and iolog_dir parameters to command info.
5324         This allows the policy plugin to specify the I/O log pathname. Add
5325         convenience functions for calling plugin functions that handle ABI
5326         backwards compatibility.
5327         [9b81dce76ce5]
5328
5329         * compat/dlopen.c:
5330         Remove useless cast
5331         [7cecce969739]
5332
5333 2010-12-17  Todd C. Miller  <Todd.Miller@courtesan.com>
5334
5335         * configure, configure.in:
5336         Bump version to 1.8.0b3
5337         [1dc9f040aae0]
5338
5339 2010-12-13  Todd C. Miller  <Todd.Miller@courtesan.com>
5340
5341         * configure.in:
5342         Remove extraneous newline
5343         [71c94551eea5]
5344
5345 2010-12-10  Todd C. Miller  <Todd.Miller@courtesan.com>
5346
5347         * doc/sudoers.pod, plugins/sudoers/def_data.c,
5348         plugins/sudoers/def_data.h, plugins/sudoers/def_data.in,
5349         plugins/sudoers/defaults.c, plugins/sudoers/iolog.c:
5350         Make I/O log dir configurable.
5351         [99b576667a38]
5352
5353         * aclocal.m4, configure, configure.in, doc/sudoers.pod:
5354         Rename io_logdir to iolog_dir
5355         [0731662acc8d]
5356
5357 2010-12-07  Todd C. Miller  <Todd.Miller@courtesan.com>
5358
5359         * pp:
5360         Add missing '*' that prevented the generic ELF case from matching.
5361         [be77ca26bfb2]
5362
5363         * pp:
5364         If file(1) can't identify the ELF binary type, try readelf(1).
5365         [38a18d32a9e3]
5366
5367 2010-11-30  Todd C. Miller  <Todd.Miller@courtesan.com>
5368
5369         * plugins/sudoers/auth/kerb4.c, plugins/sudoers/check.c,
5370         plugins/sudoers/env.c, plugins/sudoers/pwutil.c,
5371         plugins/sudoers/sudoers.c, src/sudo.c:
5372         Use %u to print uid/gid, not %lu and adjust casts to match.
5373         [03c43b8749cf]
5374
5375         * doc/sudoers.ldap.pod:
5376         Clarify ordering of entries and attributes.
5377         [924e2a6bb603]
5378
5379         * doc/sudoers.ldap.pod:
5380         Fix typo and editing goof.
5381         [79dc7ccd85a8]
5382
5383         * doc/schema.ActiveDirectory, doc/schema.OpenLDAP, doc/schema.iPlanet,
5384         doc/sudoers.ldap.pod:
5385         Merge in ordered LDAP entry support from Andreas Mueller.
5386         [ea5885989bad]
5387
5388         * plugins/sudoers/ldap.c:
5389         Make sure we don't dereference a NULL handle.
5390         [1a9f9ee15371]
5391
5392 2010-11-24  Todd C. Miller  <Todd.Miller@courtesan.com>
5393
5394         * pp:
5395         Add support for RHEL 6 file modes that include a trailing dot on
5396         files with an SELinux security context
5397         [dc09be959547]
5398
5399 2010-11-23  Todd C. Miller  <Todd.Miller@courtesan.com>
5400
5401         * src/sudo.c:
5402         exec_setup() does not need to setuid(0), the Ubuntu issue was in the
5403         sudoers module.
5404         [d6dd99fc6062]
5405
5406         * plugins/sudoers/sudoers.c:
5407         create_admin_success_flag() should use restore_perms() rather than
5408         set_perms() to restore the uid.
5409         [eba7a91c1f57]
5410
5411         * src/sudo.c:
5412         In exec_setup() call setuid(0) to make certain the subsequent uid
5413         and gid changes will succeed. Fixes a problem on Ubuntu.
5414         [c5d32abf0645]
5415
5416         * src/sudo_edit.c:
5417         Error out if we cannot change to root's uid so we catch the failure
5418         early.
5419         [7a2e7f8f2c80]
5420
5421 2010-11-22  Todd C. Miller  <Todd.Miller@courtesan.com>
5422
5423         * doc/sudoers.pod:
5424         fix typo; from Michael T Hunter
5425         [a574a9d0db5b]
5426
5427         * plugins/sudoers/match.c:
5428         In sudoedit mode, assume command line arguments are paths and pass
5429         FNM_PATHNAME to fnmatch().
5430         [ce0abff8ce9f]
5431
5432 2010-11-20  Todd C. Miller  <Todd.Miller@courtesan.com>
5433
5434         * configure, configure.in:
5435         Add workaround for an error in sys/types.h on HP-UX 11.23 when large
5436         file support is enabled. Defining _XOPEN_SOURCE_EXTENDED avoids the
5437         broken bits of the header file.
5438         [e337217f097a]
5439
5440         * aclocal.m4:
5441         Fix SUDO_MAILDIR usage of AC_LANG_PROGRAM
5442         [fbbcee28961f]
5443
5444         * sudo.pp:
5445         For Tru64, strip off beta version.
5446         [eeccd762df5e]
5447
5448         * MANIFEST, plugins/sudoers/testsudoers.c,
5449         plugins/sudoers/tsgetgrpw.c, plugins/sudoers/tsgetgrpw.h:
5450         Avoid conflicts with system definitions in grp.h and pwd.h
5451         [b219ffe1da09]
5452
5453         * zlib/gzguts.h:
5454         Include stdio.h after zlib.h, not before. We need the large file
5455         defines to come first.
5456         [21d6df39790f]
5457
5458 2010-11-19  Todd C. Miller  <Todd.Miller@courtesan.com>
5459
5460         * doc/sudoers.ldap.cat, doc/sudoers.ldap.man.in:
5461         regen
5462         [3ff8750d0aac]
5463
5464         * Makefile.in:
5465         Don't clean ChangeLog
5466         [ab0d30d289d4]
5467
5468         * plugins/sudoers/testsudoers.c, plugins/sudoers/visudo.c:
5469         Add prototype for cleanup()
5470         [75626fd3769a]
5471
5472 2010-11-18  Todd C. Miller  <Todd.Miller@courtesan.com>
5473
5474         * plugins/sudoers/group_plugin.c:
5475         Avoid deferencing group_plugin if it is NULL in
5476         group_plugin_query(). This should not happen.
5477         [4f2933c8da7e]
5478
5479         * plugins/sudoers/group_plugin.c:
5480         group plugin init function return TRUE when successful
5481         [198024477030]
5482
5483 2010-11-17  Todd C. Miller  <Todd.Miller@courtesan.com>
5484
5485         * plugins/sudoers/ldap.c:
5486         Enlarge the array of entry wrappers int blocks of 100 entries to
5487         save on allocation time. From Andreas Mueller
5488         [375c916bb03b]
5489
5490         * plugins/sudoers/ldap.c:
5491         Add back call to sudo_ldap_timefilter() in sudo_ldap_build_pass2()
5492         that was mistakenly dropped.
5493         [1555f5bc132d]
5494
5495 2010-11-16  Todd C. Miller  <Todd.Miller@courtesan.com>
5496
5497         * doc/TROUBLESHOOTING:
5498         Mention that sudo needs "ar" to build.
5499         [65582ace2d09]
5500
5501         * configure, configure.in:
5502         Fail with a more useful error if "ar" is not found.
5503         [d1cb83719c17]
5504
5505 2010-11-14  Todd C. Miller  <Todd.Miller@courtesan.com>
5506
5507         * plugins/sudoers/ldap.c:
5508         Merge in ordered LDAP entry support from Andreas Mueller and add
5509         local changes from the 1.7 branch.
5510         [bca29e461618]
5511
5512 2010-11-12  Todd C. Miller  <Todd.Miller@courtesan.com>
5513
5514         * doc/schema.ActiveDirectory, doc/schema.OpenLDAP, doc/schema.iPlanet,
5515         doc/sudoers.ldap.pod, plugins/sudoers/ldap.c:
5516         Add timed entry support from Andreas Mueller.
5517         [e18d1df46a8d]
5518
5519         * plugins/sudoers/group_plugin.c:
5520         Don't try to unload if group_plugin is NULL. Don't call dlclose() if
5521         group_handle is NULL
5522         [de2273da37d5]
5523
5524         * plugins/sudoers/sudoers.h:
5525         It is now plugin_cleanup(), not cleanup()
5526         [da62a4e1a78c]
5527
5528         * plugins/sudoers/logging.c, plugins/sudoers/sudoers.c:
5529         Call plugin_cleanup(), not cleanup()
5530         [e800ad8b33ad]
5531
5532 2010-11-11  Todd C. Miller  <Todd.Miller@courtesan.com>
5533
5534         * plugins/sudoers/ldap.c:
5535         Use efree() not free() and remove malloc.h include since we never
5536         directly call malloc() or free().
5537         [107fffd134bb]
5538
5539 2010-11-09  Todd C. Miller  <Todd.Miller@courtesan.com>
5540
5541         * sudo.pp:
5542         set PSTAMP for Solaris and move the backend-specific bits to their
5543         own %if [xxx] %endif blocks in %set.
5544         [a94ebe8920c1]
5545
5546         * pp:
5547         sync with git repo
5548         [75ff509696b4]
5549
5550         * configure, configure.in:
5551         Only substitute file zlib files when using the builtin zlib
5552         [6c8145b2deb4]
5553
5554         * common/Makefile.in, compat/Makefile.in, plugins/sample/Makefile.in,
5555         plugins/sample_group/Makefile.in, plugins/sudoers/Makefile.in,
5556         src/Makefile.in, zlib/Makefile.in:
5557         Give up on using VPATH to find sources as it is implemented
5558         inconsistenly in different versions of make.
5559         [60517c69aaee]
5560
5561         * plugins/sudoers/Makefile.in, plugins/sudoers/getdate.c,
5562         plugins/sudoers/gram.c, plugins/sudoers/toke.c:
5563         Include config.h before any other includes to make sure we get the
5564         right value for _FILE_OFFSET_BITS.
5565         [8fb007ca832e]
5566
5567         * MANIFEST:
5568         Add zlib
5569         [04a3e23dfaa9]
5570
5571         * zlib/Makefile.in:
5572         Add missing targets
5573         [40e45a177168]
5574
5575         * src/Makefile.in:
5576         g/c unused $(GENERATED)
5577         [c8758068c1bc]
5578
5579 2010-11-08  Todd C. Miller  <Todd.Miller@courtesan.com>
5580
5581         * plugins/sudoers/group_plugin.c:
5582         Zero out group_plugin on unload just to be safe.
5583         [0b10f4d101ca]
5584
5585         * plugins/sudoers/group_plugin.c:
5586         Unload group plugin if its init function fails.
5587         [6552cdac4b7c]
5588
5589         * src/sudo.c:
5590         Only chdir to cwd if it is different from the current cwd or there
5591         is a new root (chroot).
5592         [b8203e875e84]
5593
5594         * configure, configure.in, doc/sudo.cat, doc/sudo.man.in,
5595         doc/sudo_plugin.cat, doc/sudo_plugin.man.in, doc/sudoers.ldap.cat,
5596         doc/sudoers.ldap.man.in, doc/visudo.cat, doc/visudo.man.in:
5597         Bump version to 1.8.0b2
5598         [6dadeb75a878]
5599
5600 2010-10-28  Todd C. Miller  <Todd.Miller@courtesan.com>
5601
5602         * INSTALL:
5603         Better --enable-zlib description
5604         [e0da54fa59a6]
5605
5606         * mkpkg:
5607         Use system zlib on Linux Let configure decide on Solaris For all
5608         others, use builtin zlib
5609         [3d52eddb523c]
5610
5611         * zlib/zconf.h.in:
5612         Add large file support.
5613         [bec01215270d]
5614
5615         * config.h.in:
5616         Add large file support.
5617         [244e95b034ec]
5618
5619         * Makefile.in, configure, configure.in, doc/LICENSE, doc/license.pod,
5620         zlib/Makefile.in, zlib/adler32.c, zlib/compress.c, zlib/crc32.c,
5621         zlib/crc32.h, zlib/deflate.c, zlib/deflate.h, zlib/gzclose.c,
5622         zlib/gzguts.h, zlib/gzlib.c, zlib/gzread.c, zlib/gzwrite.c,
5623         zlib/infback.c, zlib/inffast.c, zlib/inffast.h, zlib/inffixed.h,
5624         zlib/inflate.c, zlib/inflate.h, zlib/inftrees.c, zlib/inftrees.h,
5625         zlib/trees.c, zlib/trees.h, zlib/uncompr.c, zlib/zconf.h.in,
5626         zlib/zlib.h, zlib/zutil.c, zlib/zutil.h:
5627         Add local copy of zlib for systems that lack it.
5628         [7542ca465c5a]
5629
5630 2010-10-15  Todd C. Miller  <Todd.Miller@courtesan.com>
5631
5632         * src/exec.c:
5633         If perform_io() fails, kill the child before exiting so it doesn't
5634         complain about connection reset. We can get an I/O error if, for
5635         example, and we get EIO reading from stdin.
5636         [e59a05fa729f]
5637
5638 2010-10-12  Todd C. Miller  <Todd.Miller@courtesan.com>
5639
5640         * plugins/sudoers/sudoers.c, src/sudo.c:
5641         Fix complilation on systems with set_auth_parameters() Sprinkle
5642         volatile to quiet warnings from gcc 2.8.0
5643         [a34c2b924ba7]
5644
5645         * compat/dlfcn.h, compat/dlopen.c:
5646         Avoid potential namespace issues with dlopen() emulation.
5647         [aedfababd6ca]
5648
5649         * MANIFEST:
5650         sync
5651         [6afb97e6d308]
5652
5653         * plugins/sudoers/interfaces.c:
5654         Use INADDR_NONE instead of casting -1 to in_addr_t (which may not
5655         exist).
5656         [ddfca5af1a36]
5657
5658         * Makefile.in:
5659         Mark ChangeLog as PHONY Don't overwrite ChangeLog if we can't run hg
5660         [e9d04bfa4505]
5661
5662         * configure, configure.in:
5663         HP-UX 10.20 libc has an incompatible getline
5664         [2e7bc202e78d]
5665
5666         * plugins/sudoers/visudo.c:
5667         Quiet an HP-UX compiler warning.
5668         [55b9d587ac8c]
5669
5670         * configure, configure.in:
5671         Check for vi even with --with-editor specified; the sample plugin
5672         needs it.
5673         [94dfc3643f76]
5674
5675 2010-10-11  Todd C. Miller  <Todd.Miller@courtesan.com>
5676
5677         * compat/dlopen.c:
5678         Fix remaining syntax errors.
5679         [9d729b5b577e]
5680
5681         * src/Makefile.in:
5682         sudo binary depends on the libtool-generated libs
5683         [9e6148406adb]
5684
5685         * plugins/sudoers/group_plugin.c, src/load_plugins.c:
5686         Use HAVE_DLOPEN instead of HAVE_DLFCN_H when determining whether to
5687         include the local or system dlfcn.h
5688         [68cfe4c1089b]
5689
5690         * pp:
5691         Don't use run_as_superuser=false on HP-UX
5692         [532242370b09]
5693
5694         * src/net_ifs.c:
5695         Use memset() instead of zero_bytes() since we don't include
5696         sudoers.h
5697         [a187c18c2472]
5698
5699         * plugins/sudoers/interfaces.c:
5700         Fix pasto; AF_INET not AF_INET6
5701         [2d2e9d7dc6f9]
5702
5703         * compat/dlopen.c:
5704         Actually call shl_load()
5705         [ed8153b8a3cd]
5706
5707         * pp:
5708         Update from git repo. Debian: version numbers now compliant with
5709         policy section 5.6.12 HP-UX: minimal changes needed to work on HP-UX
5710         10.20
5711         [ecf2692bceeb]
5712
5713         * configure, configure.in:
5714         Fix dlopen() detection for systems where dlopen() is in a separate
5715         library.
5716         [fa6b175582b6]
5717
5718         * plugins/sudoers/auth/pam.c:
5719         If pam_acct_mgmt() returns PAM_AUTH_ERR print a (hopefully) more
5720         useful message and return AUTH_FATAL so sudo does not keep trying to
5721         validate the user.
5722         [1be8857e5291]
5723
5724         * src/preload.c:
5725         sudo_preload_table is an array
5726         [b7704e72a9da]
5727
5728         * compat/dlopen.c:
5729         Quiet a compiler warning and fix sudo_preload_table external
5730         definition.
5731         [8234987664cc]
5732
5733         * compat/dlfcn.h:
5734         Fix multiple inclusion guard in dlfcn.h and fix dlerror() prototype.
5735         [8bab6a4053cc]
5736
5737         * plugins/sudoers/group_plugin.c:
5738         Make this compile correctly when no dlopen is available.
5739         [57643879bd2b]
5740
5741 2010-10-07  Todd C. Miller  <Todd.Miller@courtesan.com>
5742
5743         * plugins/sudoers/check.c:
5744         Having a timestamp file defined is no longer indicative of tty
5745         tickets being enabled. Check def_tty_tickets directly.
5746         [efcc11ad157f]
5747
5748         * src/exec_pty.c, src/sudo.h, src/ttysize.c:
5749         Fix TCGETWINSZ compat.
5750         [da3a8b17cf7a]
5751
5752 2010-10-02  Todd C. Miller  <Todd.Miller@courtesan.com>
5753
5754         * src/exec_pty.c, src/ttysize.c:
5755         Prefer newer TIOCGWINSZ ioctl to old TIOCGSIZE
5756         [926492dd10a6]
5757
5758 2010-10-01  Todd C. Miller  <Todd.Miller@courtesan.com>
5759
5760         * plugins/sudoers/sudoers.c, src/sudo.c:
5761         Move set_project() from sudoers module into sudo proper.
5762         [beabafac03b4]
5763
5764         * configure, configure.in:
5765         Fix typo and regenerate
5766         [4a3caf4234f3]
5767
5768         * plugins/sudoers/ldap.c:
5769         When iterating over returned LDAP entries, keep looking at remaining
5770         matches even if we have a positive match. This catches negative
5771         matches that may exist in other entries and more closely match the
5772         sudoers file behavior.
5773         [f47db6e609b0]
5774
5775         * pp:
5776         Add support for multiple package instances on Solaris.
5777         [7f2a8b942545]
5778
5779         * src/exec.c:
5780         Add missing signal_pipe[0] to fdsr for the non-pty case.
5781         [79d01e11b19c]
5782
5783         * mkpkg:
5784         Add --with-project for Solaris
5785         [ffa4c2bb93f7]
5786
5787         * README:
5788         Need ar and ranlib too
5789         [5c2f679172ef]
5790
5791 2010-09-27  Todd C. Miller  <Todd.Miller@courtesan.com>
5792
5793         * plugins/sudoers/env.c:
5794         Preserve ODMDIR environment variable by default on AIX.
5795         [bd47cb1e804f]
5796
5797 2010-09-26  Todd C. Miller  <Todd.Miller@courtesan.com>
5798
5799         * Makefile.in, compat/Makefile.in, compat/dlfcn.h, compat/dlopen.c,
5800         config.h.in, configure, configure.in, plugins/sample/Makefile.in,
5801         plugins/sample_group/Makefile.in, plugins/sudoers/Makefile.in,
5802         plugins/sudoers/group_plugin.c, plugins/sudoers/plugin_error.c,
5803         plugins/sudoers/sudoers.c, src/Makefile.in, src/load_plugins.c,
5804         src/preload.c:
5805         Add dlopen() emulation for systems without it. For HP-UX 10, emulate
5806         using shl_load(). For others, link sudoers plugin statically and use
5807         a lookup table to emulate dlsym().
5808         [e92edfb3c642]
5809
5810 2010-09-24  Todd C. Miller  <Todd.Miller@courtesan.com>
5811
5812         * compat/fnmatch.c, compat/glob.c, compat/mksiglist.c,
5813         compat/nanosleep.c, compat/utimes.c:
5814         When including compat headers, use the compat dir as part of the
5815         path so we are sure to get the correct header.
5816         [6c2a45da6af5]
5817
5818 2010-09-21  Todd C. Miller  <Todd.Miller@courtesan.com>
5819
5820         * plugins/sudoers/linux_audit.c:
5821         Ignore ECONNREFUSED from audit_log_user_command() which will occur
5822         if auditd is not running.
5823         [d314fe4c8d03]
5824
5825 2010-09-17  Todd C. Miller  <Todd.Miller@courtesan.com>
5826
5827         * pp:
5828         Sync with git version
5829         [1c0357744222]
5830
5831 2010-09-16  Todd C. Miller  <Todd.Miller@courtesan.com>
5832
5833         * common/fileops.c, plugins/sudoers/defaults.c:
5834         Cast isblank argument to unsigned char.
5835         [c822dbb3ca54]
5836
5837 2010-09-14  Todd C. Miller  <Todd.Miller@courtesan.com>
5838
5839         * INSTALL, config.h.in, configure, configure.in, doc/sudoers.cat,
5840         doc/sudoers.man.in, doc/sudoers.pod, plugins/sudoers/defaults.c:
5841         Implement --with-umask-override configure flag.
5842         [863e3047df22]
5843
5844         * plugins/sudoers/env.c:
5845         Take MODE_LOGIN_SHELL into account when initially setting reset_home
5846         instead of special-casing it later.
5847         [5d6b16480fd6]
5848
5849         * plugins/sudoers/sudoers.c:
5850         In login mode, make a copy of the runas user's pw_shell for
5851         NewArgv[0] because 1) we modify it and 2) it will runas_pw gets
5852         freed before exec.
5853         [1d1ccb568dfa]
5854
5855         * plugins/sudoers/env.c:
5856         Reset HOME for "sudo -i" even if HOME was listed in env_keep.
5857         [c1c1c65a2d63]
5858
5859         * src/sudo.c:
5860         Use SIG_SETMASK when resetting signal mask instead of SIG_UNBLOCK.
5861         [7443454e5f88]
5862
5863         * src/sudo.c:
5864         Reset signal mask at sudo startup time; we need to be able to rely
5865         on normal signal delivery to control the child process.
5866         [95800163ff94]
5867
5868 2010-09-13  Todd C. Miller  <Todd.Miller@courtesan.com>
5869
5870         * install-sh:
5871         Use sed instead of expr to split a flag from its argument. Fixes a
5872         problem with expr interpreting its arguments as a flag when they
5873         start with a dash.
5874         [736065e14301]
5875
5876         * common/lbuf.c:
5877         Do not need sys/time.h after all
5878         [91f6f668ccda]
5879
5880         * common/lbuf.c:
5881         Include sys/time.h for utimes() and struct timeval. No longer need
5882         ioctl.h or termios.h
5883         [2d75273d3213]
5884
5885         * compat/snprintf.c:
5886         Quiet bogus compiler warnings.
5887         [fe252e1968f5]
5888
5889         * include/missing.h:
5890         Declare innetgr() for HP-UX which is missing a declaration. Declare
5891         domainname() for HP-UX and Solaris which are missing a declaration.
5892         [b37c50751138]
5893
5894         * plugins/sudoers/bsm_audit.c:
5895         Use __sun for consistency with the rest of the sources.
5896         [6b086b61ccb6]
5897
5898         * plugins/sudoers/group_plugin.c:
5899         Quiet a bogus compiler warning.
5900         [ebc069842c4a]
5901
5902         * plugins/sudoers/pwutil.c:
5903         Don't try to delref a NULL group.
5904         [f6ff0838be21]
5905
5906         * common/alloc.c, common/lbuf.c:
5907         Include memory.h on systems that need it.
5908         [4e676da81c6f]
5909
5910 2010-09-11  Todd C. Miller  <Todd.Miller@courtesan.com>
5911
5912         * src/exec.c:
5913         Quiet gcc warnings on glibc systems that use warn_unused_result for
5914         write(2).
5915         [0532da0b7cf7]
5916
5917         * doc/sudoers.cat, doc/sudoers.man.in, doc/sudoers.pod:
5918         sudo_plugin is in section 8; from Ted Percival
5919         [b4506a0de87e]
5920
5921         * plugins/sudoers/Makefile.in:
5922         testsudoers depends on libsudoers.la, not sudoreplay
5923         [cdb1cc3bf06a]
5924
5925 2010-09-10  Todd C. Miller  <Todd.Miller@courtesan.com>
5926
5927         * src/exec.c:
5928         Read as many signals on the signal pipe as we can before returning.
5929         [b181671da047]
5930
5931         * src/exec.c, src/exec_pty.c, src/sudo_exec.h:
5932         Instead of using a array to store received signals, open a pipe and
5933         have the signal handler write the signal number to one end and
5934         select() on the other end. This makes it possible to handle signals
5935         similar to I/O without race conditions.
5936         [ee84d65c16b6]
5937
5938 2010-09-09  Todd C. Miller  <Todd.Miller@courtesan.com>
5939
5940         * doc/visudo.pod, plugins/sudoers/visudo.c:
5941         Make "visudo -c -f -" check the standard input.
5942         [195a3d2a9a26]
5943
5944         * doc/sudoers.pod:
5945         set_home and always_set_home have an effect if HOME is present in
5946         the env_keep list.
5947         [159d0b9dc5c8]
5948
5949         * plugins/sudoers/env.c:
5950         Make -H flag work when HOME is listed in env_keep. Also makes
5951         "set_home" and "always_set_home" override override HOME in env_keep.
5952         [a3e5b966193f]
5953
5954 2010-09-08  Todd C. Miller  <Todd.Miller@courtesan.com>
5955
5956         * plugins/sudoers/Makefile.in, plugins/sudoers/interfaces.c,
5957         plugins/sudoers/interfaces.h, plugins/sudoers/match.c,
5958         plugins/sudoers/sudoers.c, plugins/sudoers/testsudoers.c,
5959         plugins/sudoers/visudo.c, src/net_ifs.c:
5960         Convert sudoers plugin to use interface list passed in settings.
5961         [87d9b5f4f586]
5962
5963         * doc/sudo_plugin.pod, src/Makefile.in, src/net_ifs.c,
5964         src/parse_args.c, src/sudo.h:
5965         Query local network interfaces in the main sudo driver and pass to
5966         the plugin as "network_addrs" in the settings list.
5967         [7f35bcfe77a7]
5968
5969         * plugins/sudoers/bsm_audit.c:
5970         Solaris BSM audit return EINVAL when auditing is not enabled,
5971         whereas OpenBSM returns ENOSYS.
5972         [411b980ec58b]
5973
5974 2010-09-07  Todd C. Miller  <Todd.Miller@courtesan.com>
5975
5976         * compat/fnmatch.c:
5977         missing.h should come before most local includes
5978         [53921a7b8b5b]
5979
5980         * plugins/sudoers/sudoreplay.c:
5981         missing.h should come before most local includes
5982         [e9abb0db1aac]
5983
5984         * plugins/sudoers/sudoers.h:
5985         Make local includes consistent; use double quotes for local includes
5986         except for generated ones where we use angle brackets.
5987         [09de4faa9547]
5988
5989         * plugins/sudoers/sudoers.c:
5990         Always fill in NewArgv for audit code.
5991         [7c3aca60519f]
5992
5993         * plugins/sudoers/toke.c, plugins/sudoers/toke.l:
5994         Add missing LOG_INPUT/LOG_OUTPUT support in the lexer.
5995         [007cf6560f92]
5996
5997         * common/alloc.c, common/atobool.c, common/fileops.c,
5998         common/fmt_string.c, common/lbuf.c, common/list.c, common/term.c,
5999         common/zero_bytes.c, compat/closefrom.c, compat/fnmatch.c,
6000         compat/getcwd.c, compat/getgrouplist.c, compat/getline.c,
6001         compat/getprogname.c, compat/glob.c, compat/isblank.c,
6002         compat/memrchr.c, compat/mksiglist.c, compat/mkstemps.c,
6003         compat/nanosleep.c, compat/setenv.c, compat/snprintf.c,
6004         compat/strlcat.c, compat/strlcpy.c, compat/strsignal.c,
6005         compat/unsetenv.c, compat/utimes.c, include/compat.h,
6006         plugins/sample/sample_plugin.c, plugins/sample_group/getgrent.c,
6007         plugins/sample_group/plugin_test.c,
6008         plugins/sample_group/sample_group.c, plugins/sudoers/audit.c,
6009         plugins/sudoers/auth/afs.c, plugins/sudoers/boottime.c,
6010         plugins/sudoers/getdate.c, plugins/sudoers/getdate.y,
6011         plugins/sudoers/linux_audit.c, plugins/sudoers/match.c,
6012         plugins/sudoers/plugin_error.c, plugins/sudoers/sudoreplay.c,
6013         plugins/sudoers/timestr.c, src/error.c, src/sesh.c, src/sudo.h,
6014         src/sudo_noexec.c, src/ttysize.c:
6015         Make local includes consistent; use double quotes for local includes
6016         except for generated ones where we use angle brackets. Also g/c
6017         unused compat.h.
6018         [e57070dc8f04]
6019
6020 2010-09-06  Todd C. Miller  <Todd.Miller@courtesan.com>
6021
6022         * plugins/sudoers/match.c:
6023         When matching the runas user and runas group (-u and -g command line
6024         options), keep track of runas group and runas user matches
6025         separately. Only return a positive match if we have a match for
6026         both runas user and runas group (if specified).
6027         [815219e04cc8]
6028
6029 2010-09-04  Todd C. Miller  <Todd.Miller@courtesan.com>
6030
6031         * doc/sudoers.ldap.pod, plugins/sudoers/ldap.c:
6032         Add support for multiple URI lines by joining the contents and
6033         passing the result to ldap_initialize.
6034         [a47cae3b72e8]
6035
6036         * plugins/sudoers/ldap.c, plugins/sudoers/parse.c:
6037         Do not return -1 on error from the display functions; the caller
6038         expects a return value >= 0.
6039         [101456a7dd00]
6040
6041         * plugins/sudoers/sudoers.c:
6042         Do not set both MODE_EDIT and MODE_RUN
6043         [8faa36694d54]
6044
6045 2010-09-03  Todd C. Miller  <Todd.Miller@courtesan.com>
6046
6047         * include/missing.h:
6048         Move includes to the top of the file.
6049         [a51436798e8c]
6050
6051 2010-08-30  Todd C. Miller  <Todd.Miller@courtesan.com>
6052
6053         * plugins/sudoers/Makefile.in:
6054         Add missing definition of timedir
6055         [458a749c2c5e]
6056
6057         * compat/fnmatch.c, compat/getprogname.c, compat/isblank.c,
6058         compat/mksiglist.c, compat/strsignal.c,
6059         plugins/sudoers/plugin_error.c, src/error.c, src/sudo_noexec.c:
6060         Add #include of sys/types.h for .c files that include missing.h to
6061         be sure that size_t and ssize_t are defined.
6062         [08e3132dbf4f]
6063
6064         * plugins/sudoers/Makefile.in:
6065         Install sudoers file from the build dir not hte src dir.
6066         [ca89e962dbf4]
6067
6068 2010-08-26  Todd C. Miller  <Todd.Miller@courtesan.com>
6069
6070         * plugins/sudoers/set_perms.c:
6071         If runas_pw changes, reset the stashed runas aux group vector.
6072         Otherwise, if runas_default is set in a per-command Defaults
6073         statement, the command runs with root's aux group vector (i.e. the
6074         one that was used when locating the command).
6075         [24f9107cedd2]
6076
6077         * plugins/sudoers/Makefile.in:
6078         Add target to generate sudoers file Remove generated sudoers file as
6079         part of distclean
6080         [fb7422e90f03]
6081
6082 2010-08-24  Todd C. Miller  <Todd.Miller@courtesan.com>
6083
6084         * src/exec.c:
6085         When not logging I/O install a handler for SIGCONT and deliver it to
6086         the command upon resume. Fixes bugzilla #431
6087         [495dce52a5aa]
6088
6089 2010-08-21  Todd C. Miller  <Todd.Miller@courtesan.com>
6090
6091         * plugins/sudoers/sudoers.h:
6092         g/c unused auth_pw extern definition
6093         [40eb7477ba17]
6094
6095         * plugins/sudoers/check.c, plugins/sudoers/sudoers.c:
6096         Move get_auth() into check.c where it is actually used.
6097         [e31db0ce3a61]
6098
6099 2010-08-20  Todd C. Miller  <Todd.Miller@courtesan.com>
6100
6101         * common/lbuf.c:
6102         Convert a remaining puts() and putchar() to use the output function.
6103         [d69e363a506b]
6104
6105         * plugins/sudoers/plugin_error.c:
6106         Plug memory leak
6107         [68895469ea8d]
6108
6109 2010-08-18  Todd C. Miller  <Todd.Miller@courtesan.com>
6110
6111         * plugins/sudoers/env.c:
6112         Set dupcheck to TRUE when setting new HOME value if !env_reset but
6113         always_set_home is true. Prevents a duplicate HOME in the
6114         environment (old value plus the new one) introduced in f421f8827340.
6115         [9ca19183794f]
6116
6117         * configure, configure.in, plugins/sudoers/sudoers,
6118         plugins/sudoers/sudoers.in:
6119         Substitute sysconfdir in the installed sudoers file to get the
6120         correct path for sudoers.d.
6121         [86072b6cd55d]
6122
6123 2010-08-17  Todd C. Miller  <Todd.Miller@courtesan.com>
6124
6125         * src/get_pty.c:
6126         Fix typo that prevented compilation on Irix; Friedrich Haubensak
6127         [b48be51b65fc]
6128
6129 2010-08-16  Todd C. Miller  <Todd.Miller@courtesan.com>
6130
6131         * MANIFEST, common/Makefile.in, common/aix.c, common/alloc.c,
6132         common/atobool.c, common/fileops.c, common/fmt_string.c,
6133         common/lbuf.c, common/list.c, common/term.c, common/zero_bytes.c,
6134         compat/Makefile.in, compat/closefrom.c, compat/fnmatch.c,
6135         compat/getcwd.c, compat/getgrouplist.c, compat/getline.c,
6136         compat/getprogname.c, compat/glob.c, compat/isblank.c,
6137         compat/memrchr.c, compat/mksiglist.c, compat/mkstemps.c,
6138         compat/nanosleep.c, compat/setenv.c, compat/snprintf.c,
6139         compat/strlcat.c, compat/strlcpy.c, compat/strsignal.c,
6140         compat/unsetenv.c, compat/utimes.c, include/compat.h,
6141         include/missing.h, plugins/sample/sample_plugin.c,
6142         plugins/sample_group/getgrent.c,
6143         plugins/sample_group/sample_group.c, plugins/sudoers/Makefile.in,
6144         plugins/sudoers/audit.c, plugins/sudoers/boottime.c,
6145         plugins/sudoers/getdate.c, plugins/sudoers/getdate.y,
6146         plugins/sudoers/linux_audit.c, plugins/sudoers/plugin_error.c,
6147         plugins/sudoers/sudoers.h, plugins/sudoers/sudoreplay.c,
6148         plugins/sudoers/timestr.c, src/Makefile.in, src/error.c, src/sesh.c,
6149         src/sudo.h, src/sudo_noexec.c, src/ttysize.c:
6150         Merge compat.h and missing.h into missing.h
6151         [572909ae9716]
6152
6153 2010-08-14  Todd C. Miller  <Todd.Miller@courtesan.com>
6154
6155         * plugins/sudoers/auth/pam.c:
6156         If the user hits ^C while a password is being read, error out before
6157         reading any further passwords in the pam conversation function.
6158         Otherwise, if multiple PAM auth methods are required, the user will
6159         have to hit ^C for each one.
6160         [23782631748c]
6161
6162 2010-08-12  Todd C. Miller  <Todd.Miller@courtesan.com>
6163
6164         * plugins/sudoers/check.c:
6165         Update comment
6166         [a5296cb3a20a]
6167
6168         * doc/sudo_plugin.cat, doc/sudo_plugin.man.in, doc/sudo_plugin.pod:
6169         Document sudo_conv_t function and sudo_printf_t return values.
6170         [745c0017814c]
6171
6172         * src/conversation.c:
6173         Make _sudo_printf return the number of characters printed on success
6174         like printf(3).
6175         [8eeefe8d7e77]
6176
6177 2010-08-10  Todd C. Miller  <Todd.Miller@courtesan.com>
6178
6179         * plugins/sudoers/sudoers.c:
6180         sudoers.h includes sudo_plugin.h for us
6181         [cabe68e07807]
6182
6183         * common/Makefile.in, common/gettime.c, compat/mkstemps.c,
6184         plugins/sudoers/sudoers.h, plugins/sudoers/visudo.c, src/sudo.h,
6185         src/sudo_edit.c:
6186         Use gettimeofday() directly instead of via the gettime() wrapper.
6187         [7490426c99ae]
6188
6189         * common/gettime.c, compat/snprintf.c, compat/strcasecmp.c,
6190         compat/strerror.c, config.h.in, configure, configure.in,
6191         include/compat.h, include/missing.h, plugins/sudoers/logging.c,
6192         plugins/sudoers/sudoers.c, plugins/sudoers/visudo.c, src/sudo.c:
6193         Remove some obsolete configure tests, ancient Unix systems are no
6194         longer supported.
6195         [2be6218c3a36]
6196
6197 2010-08-07  Todd C. Miller  <Todd.Miller@courtesan.com>
6198
6199         * sudo.pp:
6200         Set pp_kit_version and strip off patch level
6201         [aacfda1b676d]
6202
6203         * sudo.pp:
6204         Better handling of versions with a patchlevel. For rpm and deb, use
6205         the patchlevel+1 as the release. For AIX, use the patchlevel as the
6206         4th version number. For the rest, just leave the patchlevel in the
6207         version string.
6208         [638bd35f2346]
6209
6210 2010-08-06  Todd C. Miller  <Todd.Miller@courtesan.com>
6211
6212         * plugins/sudoers/auth/sudo_auth.c:
6213         For non-standalone auth methods, stop reading the password if the
6214         user enters ^C at the prompt.
6215         [82c2911bb264]
6216
6217         * configure, configure.in, plugins/sudoers/Makefile.in,
6218         plugins/sudoers/auth/passwd.c, plugins/sudoers/auth/secureware.c,
6219         plugins/sudoers/auth/sudo_auth.c, plugins/sudoers/auth/sudo_auth.h,
6220         plugins/sudoers/pwutil.c:
6221         No need to look up shadow password unless we are doing password-
6222         style authentication. This moves the shadow password lookup to the
6223         auth functions that need it.
6224         [ba9e3eba2b72]
6225
6226         * plugins/sudoers/sudoers.c:
6227         Retain final passwd/group refs until the policy close() function.
6228         Note that this doesn't get called in all cases so putting this in a
6229         cleanup function is probably better.
6230         [bbe214cb4119]
6231
6232         * plugins/sudoers/check.c:
6233         Fix mismerge
6234         [395115f89dd6]
6235
6236         * plugins/sudoers/check.c:
6237         When removing/resetting the timestamp file ignore the tty ticket
6238         contents.
6239         [b709f5667a0b]
6240
6241         * plugins/sudoers/sudoers.c:
6242         delref sudo_user.pw, runas_pw and runas_gr immediately before we
6243         return.
6244         [4d67d15dfd3b]
6245
6246 2010-08-04  Todd C. Miller  <Todd.Miller@courtesan.com>
6247
6248         * plugins/sudoers/check.c, plugins/sudoers/ldap.c,
6249         plugins/sudoers/match.c, plugins/sudoers/pwutil.c,
6250         plugins/sudoers/sudoers.c, plugins/sudoers/sudoers.h:
6251         Reference count cached passwd and group structs. The cache holds
6252         one reference itself and another is added by sudo_getgr{gid,nam} and
6253         sudo_getpw{uid,nam}. The final ref on the runas and user passwd and
6254         group structs are persistent for now.
6255         [e544685523c3]
6256
6257         * doc/UPGRADE:
6258         fix typo
6259         [e32f2d35e6c9]
6260
6261 2010-08-03  Todd C. Miller  <Todd.Miller@courtesan.com>
6262
6263         * plugins/sudoers/check.c:
6264         Do not produce a warning for "sudo -k" if the ticket file does not
6265         exist.
6266         [1598f6061b75]
6267
6268         * plugins/sudoers/pwutil.c:
6269         Instead of caching struct passwd and struct group in the red-black
6270         tree, store a struct cache_item which includes both the key and
6271         datum. This allows us to user the actual name that was looked up as
6272         the key instead of the contents of struct passwd or struct group.
6273         This matters because the name in the database may not match what we
6274         looked up, due either to case folding or truncation (historically at
6275         8 characters). Also mark the disabled calls to sudo_freepwcache()
6276         and sudo_freegrcache() as broken since we use cached data for things
6277         like set_perms() and the logging functions. Fixing this would
6278         require making a copy of the structs for user and runas or adding a
6279         reference count (better).
6280         [225d4a22f60e]
6281
6282         * plugins/sudoers/Makefile.in:
6283         Fix path to mkinstalldirs
6284         [b4968379b12d]
6285
6286         * plugins/sudoers/check.c, plugins/sudoers/logging.c,
6287         plugins/sudoers/sudoreplay.c, plugins/sudoers/visudo.c,
6288         src/exec_pty.c, src/get_pty.c, src/tgetpass.c:
6289         Quiet gcc warnings on glibc systems that use warn_unused_result for
6290         write(2) and others.
6291         [c99f138960e0]
6292
6293 2010-08-02  Todd C. Miller  <Todd.Miller@courtesan.com>
6294
6295         * plugins/sudoers/toke.c, plugins/sudoers/toke.l:
6296         Add %option noinput
6297         [72b9cd49b4f1]
6298
6299         * aclocal.m4, configure, configure.in:
6300         Add cross-compile defaults for remaining AC_TRY_RUN usage. Also add
6301         back getgroups() check since AC_FUNC_GETGROUPS defaults to "no" when
6302         cross-compiling.
6303         [e385c176d0ee]
6304
6305 2010-07-31  Todd C. Miller  <Todd.Miller@courtesan.com>
6306
6307         * aclocal.m4, compat/snprintf.c, config.h.in, configure, configure.in:
6308         Use AC_CHECK_MEMBER in SUDO_SOCK_SA_LEN Use AC_TYPE_LONG_LONG_INT
6309         and AC_CHECK_SIZEOF([long int]) instead of rolling our own.
6310         [cf3e60d9c440]
6311
6312 2010-07-29  Todd C. Miller  <Todd.Miller@courtesan.com>
6313
6314         * pp:
6315         Update to latest version
6316         [32f93be33961]
6317
6318 2010-07-28  Todd C. Miller  <Todd.Miller@courtesan.com>
6319
6320         * sudo.pp:
6321         Let pp determine pp_aix_version itself.
6322         [7cf0245d84ed]
6323
6324         * INSTALL, config.h.in, configure, configure.in, mkpkg,
6325         plugins/sudoers/sudoers.c:
6326         Add support for Ubuntu admin flag file and enable it when building
6327         Ubuntu packages.
6328         [00e27cff2dfb]
6329
6330         * plugins/sudoers/sudoers, sudo.pp:
6331         Add commented out SuSE-like targetpw settings
6332         [4605d47b7413]
6333
6334         * configure, configure.in:
6335         Only try to use +DAportable for non-GCC on hppa
6336         [75d0f284ccf7]
6337
6338         * configure, configure.in:
6339         Prevent configure from adding the -g flag unless in devel mode
6340         [b1fd3f8d45c0]
6341
6342 2010-07-27  Todd C. Miller  <Todd.Miller@courtesan.com>
6343
6344         * sudo.pp:
6345         Go back to sudo-flavor to match existing packages and only use an
6346         underscore for those that need it.
6347         [d737069d1e1c]
6348
6349         * sudo.pp:
6350         Use sudo_$flavor instead of sudo-$flavor since that causes the least
6351         amount of trouble for the various package managers.
6352         [71f547af35fc]
6353
6354         * mkpkg:
6355         Fix handling of the ldap flavor Remove destdir unless --debug was
6356         specified Make distclean before running configure if there is a
6357         Makefile present
6358         [6316f08de7d3]
6359
6360         * sudo.pp:
6361         Add back include file.
6362         [195627bf68b8]
6363
6364         * mkpkg:
6365         Pass extra args on to configure on HP-UX, if we don't have the HP C
6366         compiler, disable zlib to prevent gcc from finding it in
6367         /usr/local/lib.
6368         [473efa0e2bac]
6369
6370         * mkpkg:
6371         Use the HP ANSI C compiler on HP-UX if possible
6372         [fb249b6b175d]
6373
6374         * plugins/sudoers/sudoreplay.c:
6375         Some getline() implementations (FreeBSD 8.0) do not ignore the
6376         length pointer when the line pointer is NULL as they should.
6377         [2410a1a3543c]
6378
6379         * plugins/sudoers/sudoreplay.c:
6380         Don't need to check for *cp being non-zero, isdigit() will do that.
6381         [7df11ea8a487]
6382
6383         * plugins/sudoers/sudoreplay.c:
6384         Add setlocale() so the command line arguments that use floating
6385         point work in different locales. Since sudo now logs the timing
6386         data in the C locale we must Parse the seconds in the timing file
6387         manually instead of using strtod(). Furthermore, sudo 1.7.3 logged
6388         the number of seconds with the user's locale so if the decimal point
6389         is not '.' try using the locale-specific version.
6390         [4d385765f23b]
6391
6392         * src/exec.c:
6393         Do I/O logging in the C locale so the floating point numbers in the
6394         timing file are not locale-dependent.
6395         [5961cec044ec]
6396
6397         * plugins/sudoers/sudoreplay.c:
6398         Use errorx() not error() for thingsthat don't set errno.
6399         [0fe5e692af84]
6400
6401 2010-07-26  Todd C. Miller  <Todd.Miller@courtesan.com>
6402
6403         * pp:
6404         Better support for 1.2.3 style versions in Tru64 kits
6405         [997c549bb777]
6406
6407         * sudo.pp:
6408         Add Tru64 kit support
6409         [e273a954f981]
6410
6411         * pp:
6412         Remove apparently unnecessary use of sudo
6413         [be8840d85125]
6414
6415         * Makefile.in, plugins/sudoers/Makefile.in:
6416         Create timedir as part of install-dirs target.
6417         [c736bc2fb14f]
6418
6419         * src/exec_pty.c:
6420         Handle ENXIO from read/write which can occur when reading/writing a
6421         pty that has gone away.
6422         [fa2e8059879f]
6423
6424         * plugins/sudoers/pwutil.c:
6425         sudo_pwdup() was not expanding an empty pw_shell to _PATH_BSHELL
6426         [3a045475d5ee]
6427
6428         * mkpkg:
6429         platform is a pp flag not a variable
6430         [12eba39a47c1]
6431
6432         * Makefile.in, mkpkg, sudo.pp:
6433         Add simple arg parsing for mkpkg so we can set debug, flavor or
6434         platform.
6435         [ada839fe252d]
6436
6437         * pp:
6438         Make rpm backend work on AIX 5.x
6439         [549a76d11393]
6440
6441 2010-07-25  Todd C. Miller  <Todd.Miller@courtesan.com>
6442
6443         * plugins/sudoers/sudoers:
6444         Add commented out Defaults entry for log_output
6445         [7e67d7588900]
6446
6447 2010-07-23  Todd C. Miller  <Todd.Miller@courtesan.com>
6448
6449         * doc/Makefile.in:
6450         Remove sudo docdir completely
6451         [dce8e82878ef]
6452
6453         * doc/sample.sudo.conf:
6454         Add sample sudo.conf
6455         [aafdba3fc411]
6456
6457 2010-07-22  Todd C. Miller  <Todd.Miller@courtesan.com>
6458
6459         * plugins/sudoers/Makefile.in:
6460         Add PACKAGE_TARNAME for docdir
6461         [930c92b8f8f0]
6462
6463 2010-07-23  Todd C. Miller  <Todd.Miller@courtesan.com>
6464
6465         * src/Makefile.in:
6466         Pass install-sh -b~ here too.
6467         [c3f5eb446c38]
6468
6469         * plugins/sample/Makefile.in, plugins/sample_group/Makefile.in,
6470         plugins/sudoers/Makefile.in, src/Makefile.in:
6471         Install binary files with -b~ to make a backup. Fixes "text file
6472         busy" error on HP-UX during install.
6473         [81f306f54f8c]
6474
6475         * install-sh:
6476         "mv -f" on HP-UX doesn't unlink the destination first so add an
6477         explicit rm before moving the temporary into place.
6478         [fb719a79582d]
6479
6480         * configure, configure.in:
6481         Some more ${foo} -> $(foo) conversion for consistent Makefiles.
6482         [0aa098770074]
6483
6484         * doc/Makefile.in, plugins/sudoers/Makefile.in:
6485         Install sudoers2ldif in the doc dir
6486         [33ac3b53d7f5]
6487
6488 2010-07-22  Todd C. Miller  <Todd.Miller@courtesan.com>
6489
6490         * pathnames.h.in:
6491         Add missing include of maillock.h for Solaris
6492         [5a58883be23a]
6493
6494         * NEWS, configure, configure.in, doc/TROUBLESHOOTING, doc/UPGRADE,
6495         doc/sample.syslog.conf, doc/sudoers.cat:
6496         Change the default syslog facility from local2 to authpriv (or auth
6497         if the operating system doesn't support authpriv).
6498         [3b70ba514f49]
6499
6500         * Makefile.in, sudo.pp:
6501         Install sudoers as /etc/sudoers on RPM and debian systems where the
6502         package manager will not replace a user-modified configuration file.
6503         This fixes upgrades from the vendor sudo packages.
6504         [d886b6d60b5b]
6505
6506         * pp:
6507         RPM: use %config(noreplace) instead of %config for volatile This
6508         results in the new file being installed with a .rpmnew suffix
6509         instead of the file being replaced and the old one renamed with a
6510         .rpmsave suffix.
6511         [58be2119f8e8]
6512
6513 2010-07-21  Todd C. Miller  <Todd.Miller@courtesan.com>
6514
6515         * compat/mkstemps.c, plugins/sudoers/boottime.c:
6516         Include time.h for struct timeval
6517         [ddf8b04f0276]
6518
6519         * src/exec_pty.c:
6520         The return value of strsignal() may be const and should be treated
6521         as const regardless.
6522         [620074ae1e77]
6523
6524         * doc/sudoers.cat, doc/sudoers.man.in, doc/sudoers.pod:
6525         Mention that 127.0.0.1 will not match, nor will localhost unless
6526         that is the actual host name.
6527         [8b574122eb8f]
6528
6529         * MANIFEST, NEWS, README, WHATSNEW, doc/Makefile.in, doc/UPGRADE:
6530         Rename WHATSNEW -> NEWS
6531         [d1a2c8c47d89]
6532
6533         * pp:
6534         Updated pp with latest patches
6535         [98e16b9b8f62]
6536
6537         * WHATSNEW:
6538         Sync with 1.7.4
6539         [65ac4dafeef7]
6540
6541         * doc/UPGRADE, doc/sudoers.cat, doc/sudoers.man.in, doc/sudoers.pod,
6542         plugins/sudoers/sudoers:
6543         Add commented out line to add HOME to env_keep and add a warning to
6544         the note about the HOME change in UPGRADE.
6545         [0d6a775bb6c8]
6546
6547 2010-07-20  Todd C. Miller  <Todd.Miller@courtesan.com>
6548
6549         * plugins/sudoers/sudoreplay.c:
6550         Add LINE_MAX define for those without it.
6551         [446d9dbe7859]
6552
6553         * INSTALL, WHATSNEW, config.h.in, configure, configure.in,
6554         doc/UPGRADE, doc/sudoers.cat, doc/sudoers.man.in, doc/sudoers.pod,
6555         plugins/sudoers/defaults.c:
6556         The tty_tickets option is now on by default.
6557         [a01c48206d80]
6558
6559         * WHATSNEW:
6560         Mention that AIX authdb support has been fixed.
6561         [87bd7f4eba6a]
6562
6563         * common/aix.c:
6564         setauthdb() only sets the "old" registry if it was set by a previous
6565         call to setauthdb(). To restore the original value, passing NULL
6566         (or an empty string) to setauthdb() is sufficient.
6567         [470da190a254]
6568
6569 2010-07-19  Todd C. Miller  <Todd.Miller@courtesan.com>
6570
6571         * WHATSNEW, doc/UPGRADE, doc/sudo.cat, doc/sudo.man.in, doc/sudo.pod,
6572         doc/sudoers.cat, doc/sudoers.man.in, doc/sudoers.pod,
6573         plugins/sudoers/env.c:
6574         Reset HOME when env_reset is enabled unless it is in env_keep
6575         [f421f8827340]
6576
6577         * doc/sudoers.cat, doc/sudoers.man.in, doc/sudoers.pod:
6578         The default for set_logname has been "true" for some time now.
6579         [f489da5674c3]
6580
6581         * plugins/sudoers/boottime.c:
6582         Add missing include of time.h
6583         [624d7014932f]
6584
6585         * plugins/sudoers/logging.c:
6586         Fix check for dup2() return value.
6587         [140ea2d50d20]
6588
6589         * plugins/sudoers/env.c:
6590         Add PYTHONUSERBASE to initial_badenv_table
6591         [3149aae5b12c]
6592
6593         * plugins/sudoers/visudo.c:
6594         Treat an unknown defaults entry as a parse error.
6595         [b3ebad73efb2]
6596
6597         * plugins/sudoers/defaults.c, plugins/sudoers/sudoers.c:
6598         Check return value of setdefs() but don't stop setting defaults if
6599         we hit an unknown one.
6600         [945e752239ab]
6601
6602         * WHATSNEW, aclocal.m4, config.h.in, configure, configure.in,
6603         doc/sudo.cat, doc/sudo.man.in, doc/sudo.pod, doc/sudoers.cat,
6604         doc/sudoers.man.in, doc/sudoers.pod, pathnames.h.in,
6605         plugins/sudoers/env.c:
6606         If env_reset is enabled, set the MAIL environment variable based on
6607         the target user unless MAIL is explicitly preserved in sudoers.
6608         [a1b03e2e0e96]
6609
6610 2010-07-17  Todd C. Miller  <Todd.Miller@courtesan.com>
6611
6612         * pp:
6613         decode debian code names
6614         [8741280d9960]
6615
6616         * WHATSNEW:
6617         fix typo
6618         [a8a19451110b]
6619
6620 2010-07-16  Todd C. Miller  <Todd.Miller@courtesan.com>
6621
6622         * WHATSNEW:
6623         Merge with 1.7.4
6624         [9348fa7e15b8]
6625
6626         * src/sudo.c:
6627         Restore RLIMIT_NPROC after the uid switch if it appears that
6628         runas_setup() did not do it for us. Fixes a bash script problem on
6629         SuSE with RLIMIT_NPROC set to RLIM_INFINITY.
6630         [786fb272e5fd]
6631
6632 2010-07-15  Todd C. Miller  <Todd.Miller@courtesan.com>
6633
6634         * mkpkg, pp, sudo.pp:
6635         Restore the dot removal in the os version reported by polypkg. Adapt
6636         mkpkg and sudo.pp to the change.
6637         [dcafdd53b88f]
6638
6639 2010-07-16  Todd C. Miller  <Todd.Miller@courtesan.com>
6640
6641         * INSTALL:
6642         document --with-pam-login
6643         [ea93e4c6873c]
6644
6645         * doc/sudoers.cat, doc/sudoers.man.in, doc/sudoers.pod:
6646         The tag is NOSETENV, not UNSETENV. From Petr Uzel.
6647         [2ac90d8de36e]
6648
6649 2010-07-15  Todd C. Miller  <Todd.Miller@courtesan.com>
6650
6651         * sudo.pp:
6652         Include flavor in solaris package name
6653         [e605f6364c9f]
6654
6655         * mkpkg:
6656         Older shells don't support IFS= so set explictly to space, tab,
6657         newline.
6658         [7773960bc8a0]
6659
6660         * mkpkg:
6661         Use '=' not '==' in test
6662         [c99d42bc48e6]
6663
6664         * mkpkg:
6665         Fix typo that prevented debian from matching
6666         [84421078fcb7]
6667
6668         * mkpkg:
6669         Add missing prefix setting for debian
6670         [6466f23de4aa]
6671
6672         * sudo.pp:
6673         Use tab indents to reduce the chance of problem with <<- Fix the
6674         debian %set section, pp does not set pp_deb_distro Uncomment %sudo
6675         line in sudoers for debian Uncomment some env_keep lines for RHEL,
6676         SLES and debian to more closely match the vendor sudoers files.
6677         Add /etc/pam.d to %files Remove the /etc/sudo-ldap.conf symlink on
6678         debian for ldap flavor
6679         [c5b49feb1a0c]
6680
6681         * plugins/sudoers/sudoers:
6682         Add commented out env_keep entries, sample Aliases and a %sudo line
6683         for debian.
6684         [387719e52d0f]
6685
6686         * configure, configure.in:
6687         Move zlib check later on in the script to avoid a strange shell
6688         problem on SLES11.
6689         [1a3153bb1291]
6690
6691         * configure.in:
6692         Remove check for egrep; configure has its own
6693         [a3b9d98cb5d2]
6694
6695 2010-07-14  Todd C. Miller  <Todd.Miller@courtesan.com>
6696
6697         * mkpkg:
6698         Enable zlib for linux distros
6699         [8fa51a1405a4]
6700
6701         * mkpkg:
6702         Add ldap flavor to default build
6703         [97644f5a555f]
6704
6705         * mkpkg, sudo.pp:
6706         Simplify rpm linux distro settings
6707         [b9dcf10cdf20]
6708
6709         * aclocal.m4, configure, configure.in, doc/UPGRADE, doc/sudoers.cat:
6710         Move time stamp files from /var/run/sudo to /var/{db,lib,adm}/sudo.
6711         [2c549c1acde9]
6712
6713         * Makefile.in:
6714         Fix ChangeLog creation from build dir
6715         [3d0c7904f173]
6716
6717         * plugins/sudoers/sudoers.c:
6718         Handle getcwd() failure.
6719         [aef7bef87394]
6720
6721         * doc/Makefile.in, mkpkg, sudo.pp:
6722         Add ldap "flavor" for debian, controlled by the SUDO_FLAVOR
6723         environment variable.
6724         [be6ed611b7a8]
6725
6726         * sudo.pp:
6727         Create sudo group on debian
6728         [6ed6c032042e]
6729
6730         * mkpkg, sudo.pp:
6731         Add debian 4/5/6 and use the dot when doing version matches
6732         [6bcb664d1f4f]
6733
6734         * aclocal.m4, configure:
6735         Use a loop when searching for mv, sendmail and sh
6736         [d5e9369f8d13]
6737
6738         * doc/sudoers.cat, doc/sudoers.man.in, doc/sudoers.pod:
6739         Remove spurious "and"; from debian
6740         [a21e6f7c5b99]
6741
6742         * aclocal.m4, configure, configure.in, doc/sudoers.cat,
6743         doc/sudoers.man.in, doc/sudoers.pod, doc/visudo.cat,
6744         doc/visudo.man.in, doc/visudo.pod:
6745         Substitute the value of EDITOR into the sudoers and visudo manuals.
6746         [cd79e587dd7f]
6747
6748 2010-07-13  Todd C. Miller  <Todd.Miller@courtesan.com>
6749
6750         * mkpkg, pp, sudo.pp:
6751         Initial support for debian 4.0
6752         [ac6707915fa8]
6753
6754         * mkpkg:
6755         Some platforms need -fPIE instead of -fpie
6756         [fd6be19e5bc2]
6757
6758         * plugins/sudoers/auth/pam.c:
6759         Only set PAM_RHOST for Solaris, where it is needed to avoid a bug.
6760         On Linux it causes a DNS lookup via libaudit.
6761         [1e10105ade5b]
6762
6763         * MANIFEST:
6764         Update MANIFEST to match packaging changes
6765         [ef86ee557b5b]
6766
6767         * sudo.psf:
6768         We now use pp to generate HP-UX packages
6769         [f7aa8da7844e]
6770
6771         * INSTALL.binary, plugins/sudoers/Makefile.binary.in:
6772         Remove vestiges of old binary package bits.
6773         [afffd005452f]
6774
6775         * INSTALL, Makefile.in, common/Makefile.in, compat/Makefile.in,
6776         doc/Makefile.in, include/Makefile.in, plugins/sample/Makefile.in,
6777         plugins/sample_group/Makefile.in, plugins/sudoers/Makefile.in,
6778         src/Makefile.in:
6779         install-man -> install-doc
6780         [99b5fa05567c]
6781
6782         * Makefile.in, doc/Makefile.in, include/Makefile.in, mkpkg,
6783         plugins/sudoers/Makefile.in, pp, src/Makefile.in, sudo.pp:
6784         Use http://rc.quest.com/topics/polypkg/ for packaging
6785         [5ca8eb75b223]
6786
6787         * install-sh:
6788         Just ignore the -c option, it is the default Add support for -d
6789         option
6790         [a8b6b0a131e8]
6791
6792 2010-07-12  Todd C. Miller  <Todd.Miller@courtesan.com>
6793
6794         * pathnames.h.in, plugins/sudoers/env.c, plugins/sudoers/logging.c:
6795         Use _PATH_STDPATH instead of _PATH_DEFPATH
6796         [137fa911908e]
6797
6798         * plugins/sudoers/Makefile.in, src/Makefile.in:
6799         Do not strip binaries.
6800         [20166e287176]
6801
6802         * INSTALL, configure, configure.in:
6803         Add --insults=disabled configure option to allow people to build in
6804         insult support but have the insults disabled unless explicitly
6805         enabled in sudoers.
6806         [523b8c552e90]
6807
6808         * compat/mkstemps.c:
6809         Add prototype for gettime()
6810         [275eee40473b]
6811
6812         * config.h.in, configure, configure.in, plugins/sudoers/auth/pam.c,
6813         plugins/sudoers/env.c, plugins/sudoers/sudoers.c,
6814         plugins/sudoers/sudoers.h:
6815         Add support for a sudo-i pam.d file to be used for "sudo -i".
6816         Adapted from a RedHat patch.
6817         [06d34f16520b]
6818
6819 2010-07-09  Todd C. Miller  <Todd.Miller@courtesan.com>
6820
6821         * include/missing.h:
6822         Fix mkstemps() prototype
6823         [2421841e815b]
6824
6825         * MANIFEST, compat/Makefile.in, compat/mkstemp.c, compat/mkstemps.c,
6826         config.h.in, configure, configure.in, include/missing.h,
6827         src/sudo_edit.c:
6828         Use mkstemps() instead of mkstemp() in sudoedit. This allows
6829         sudoedit to preserve the file extension (if any) which may be used
6830         by the editor (like emacs) to choose the editing mode.
6831         [d33172d2c086]
6832
6833 2010-07-08  Todd C. Miller  <Todd.Miller@courtesan.com>
6834
6835         * doc/sudoers.ldap.cat, doc/sudoers.ldap.man.in, doc/sudoers.ldap.pod,
6836         plugins/sudoers/ldap.c:
6837         TLS_CACERT is now an alias for TLS_CACERTFILE. OpenLDAP uses
6838         TLS_CACERT, not TLS_CACERTFILE in its ldap.conf. Other LDAP client
6839         code, such as nss_ldap, uses TLS_CACERTFILE. Also document why you
6840         should avoid disabling TLS_CHECKPEER is possible.
6841         [196622436212]
6842
6843 2010-07-07  Todd C. Miller  <Todd.Miller@courtesan.com>
6844
6845         * doc/sudo_plugin.cat, doc/sudo_plugin.man.in, doc/sudo_plugin.pod:
6846         Make sudo_plugin format a bit more like a man page
6847         [048d596e32da]
6848
6849         * plugins/sudoers/toke.c, plugins/sudoers/toke.l:
6850         Add suport for negated user/host/command lists in a Defaults entry.
6851         E.g. Defaults:!baduser noexec
6852         [d41112cf0342]
6853
6854         * Makefile.in, common/Makefile.in, compat/Makefile.in,
6855         doc/Makefile.in, include/Makefile.in, plugins/sample/Makefile.in,
6856         plugins/sample_group/Makefile.in, plugins/sudoers/Makefile.in,
6857         src/Makefile.in:
6858         Add uninstall target
6859         [fea66ebf136a]
6860
6861         * common/Makefile.in, compat/Makefile.in:
6862         Remove unused AR, SED and RANLIB variables
6863         [2ff9928bfdb3]
6864
6865         * Makefile.in:
6866         Do not install sample plugins
6867         [5443b87bd1c3]
6868
6869 2010-07-06  Todd C. Miller  <Todd.Miller@courtesan.com>
6870
6871         * MANIFEST, aclocal.m4, compat/setenv.c, compat/unsetenv.c, configure,
6872         configure.in, plugins/sudoers/env.c:
6873         Now that sudoers is a dynamically loaded module we cannot override
6874         the libc environment functions because the symbols may already have
6875         been resolved via libc. Remove getenv/putenv/setenv/unsetenv
6876         replacements from sudoers and add replacements for setenv/unsetenv
6877         for systems that lack them.
6878         [3f2b43cb8851]
6879
6880         * configure, configure.in, plugins/sudoers/Makefile.in:
6881         Link testsudoers with -ldl when needed
6882         [f79606f9fcd7]
6883
6884         * plugins/sample_group/plugin_test.c:
6885         Remove unused time.h and add limits.h for PATH_MAX
6886         [3f5d0074d621]
6887
6888         * doc/sudoers.ldap.pod:
6889         Fix typo.
6890         [bc855fd57397]
6891
6892 2010-07-05  Todd C. Miller  <Todd.Miller@courtesan.com>
6893
6894         * plugins/sample_group/plugin_test.c:
6895         Do not depend on strlcpy/strlcat
6896         [6e7e2b5af051]
6897
6898         * plugins/sample_group/plugin_test.c:
6899         Standalone test driver for sudoers group plugin.
6900         [eb1235fc3b8e]
6901
6902 2010-07-02  Todd C. Miller  <Todd.Miller@courtesan.com>
6903
6904         * plugins/sudoers/group_plugin.c, src/load_plugins.c:
6905         Use RTLD_LAZY instead of RTLD_NOW; was using RTLD_NOW as a debugging
6906         aid.
6907         [2a34e616229b]
6908
6909         * plugins/sample_group/sample_group.c:
6910         Fix style nit in function declarations
6911         [ab87c7c76bf9]
6912
6913         * doc/sudoers.cat, doc/sudoers.man.in, doc/sudoers.pod:
6914         Document group_plugin syntax.
6915         [ed1faf72ddcb]
6916
6917         * doc/sudo_plugin.cat, doc/sudo_plugin.man.in, doc/sudo_plugin.pod:
6918         Document the sudoers group plugin.
6919         [f19a62dc8cfc]
6920
6921         * INSTALL, MANIFEST, Makefile.in, config.h.in, configure,
6922         configure.in, doc/LICENSE, doc/license.pod, include/sudo_plugin.h,
6923         plugins/sample_group/Makefile.in, plugins/sample_group/getgrent.c,
6924         plugins/sample_group/sample_group.c, plugins/sudoers/Makefile.in,
6925         plugins/sudoers/def_data.c, plugins/sudoers/def_data.h,
6926         plugins/sudoers/def_data.in, plugins/sudoers/group_plugin.c,
6927         plugins/sudoers/match.c, plugins/sudoers/nonunix.h,
6928         plugins/sudoers/set_perms.c, plugins/sudoers/sudoers.c,
6929         plugins/sudoers/sudoers.h, plugins/sudoers/testsudoers.c,
6930         plugins/sudoers/vasgroups.c, plugins/sudoers/visudo.c, src/sudo.c:
6931         Replace built-in non-unix group support with a sudoers group plugin.
6932         Include a sample plugin that can read Unix-format group files.
6933         [8fc58ce0b1a8]
6934
6935         * configure, configure.in, src/load_plugins.c:
6936         Add a trailing slash to _PATH_SUDO_PLUGIN_DIR to simplify usage.
6937         [5c491dddb8ef]
6938
6939 2010-07-01  Todd C. Miller  <Todd.Miller@courtesan.com>
6940
6941         * doc/sudo.cat, doc/sudo.man.in, doc/sudo.pod, doc/sudoers.cat,
6942         doc/sudoers.man.in, doc/sudoers.pod:
6943         Move sudoers-specific bits out of sudo(8) and into sudoers(5)
6944         [e8a5a5830cfe]
6945
6946         * aclocal.m4, configure, configure.in:
6947         Substitute @io_logdir@ for the sudoers I/O log directory.
6948         [21a75ca7b0ab]
6949
6950 2010-06-29  Todd C. Miller  <Todd.Miller@courtesan.com>
6951
6952         * MANIFEST, common/Makefile.in, common/aix.c, common/alloc.c,
6953         common/atobool.c, common/fileops.c, common/fmt_string.c,
6954         common/lbuf.c, common/term.c, compat/fnmatch.c, compat/getcwd.c,
6955         compat/getgrouplist.c, compat/getline.c, compat/glob.c,
6956         compat/snprintf.c, config.h.in, configure, configure.in,
6957         include/fileops.h, plugins/sample/sample_plugin.c,
6958         plugins/sudoers/alias.c, plugins/sudoers/auth/afs.c,
6959         plugins/sudoers/auth/aix_auth.c, plugins/sudoers/auth/bsdauth.c,
6960         plugins/sudoers/auth/dce.c, plugins/sudoers/auth/fwtk.c,
6961         plugins/sudoers/auth/kerb4.c, plugins/sudoers/auth/kerb5.c,
6962         plugins/sudoers/auth/pam.c, plugins/sudoers/auth/passwd.c,
6963         plugins/sudoers/auth/rfc1938.c, plugins/sudoers/auth/secureware.c,
6964         plugins/sudoers/auth/securid.c, plugins/sudoers/auth/securid5.c,
6965         plugins/sudoers/auth/sia.c, plugins/sudoers/auth/sudo_auth.c,
6966         plugins/sudoers/boottime.c, plugins/sudoers/check.c,
6967         plugins/sudoers/defaults.c, plugins/sudoers/env.c,
6968         plugins/sudoers/find_path.c, plugins/sudoers/getdate.c,
6969         plugins/sudoers/getdate.y, plugins/sudoers/getspwuid.c,
6970         plugins/sudoers/goodpath.c, plugins/sudoers/gram.c,
6971         plugins/sudoers/gram.y, plugins/sudoers/interfaces.c,
6972         plugins/sudoers/iolog.c, plugins/sudoers/ldap.c,
6973         plugins/sudoers/logging.c, plugins/sudoers/match.c,
6974         plugins/sudoers/parse.c, plugins/sudoers/pwutil.c,
6975         plugins/sudoers/set_perms.c, plugins/sudoers/sudo_nss.c,
6976         plugins/sudoers/sudoers.c, plugins/sudoers/sudoers.h,
6977         plugins/sudoers/sudoreplay.c, plugins/sudoers/testsudoers.c,
6978         plugins/sudoers/toke.c, plugins/sudoers/toke.l,
6979         plugins/sudoers/tsgetgrpw.c, plugins/sudoers/visudo.c,
6980         src/Makefile.in, src/aix.c, src/conversation.c, src/exec.c,
6981         src/exec_pty.c, src/get_pty.c, src/load_plugins.c, src/parse_args.c,
6982         src/sudo.c, src/sudo.h, src/sudo_edit.c, src/tgetpass.c:
6983         Set usrinfo for AIX Set adminstrative domain for the process when
6984         looking up user's password or group info and when preparing for
6985         execve(). Include strings.h even if string.h exists since they may
6986         define different things. Fixes warnings on AIX and others.
6987         [cf8b93e872c9]
6988
6989         * Makefile.in:
6990         Add a separate all target for AIX make which was using the entire
6991         LHS (not just the first entry) of the first target as the implicit
6992         target.
6993         [a45b980a01ef]
6994
6995         * plugins/sudoers/env.c:
6996         Do not rely on env.env_len when unsetting a variable, just use the
6997         NULL terminator.
6998         [ca6eb239c829]
6999
7000         * plugins/sudoers/env.c:
7001         In unsetenv() check for NULL or empty name as per POSIX 1003.1-2008
7002         [7046ba7caa4e]
7003
7004 2010-06-25  Todd C. Miller  <Todd.Miller@courtesan.com>
7005
7006         * plugins/sudoers/vasgroups.c:
7007         Use warningx() instead of log_error() since the latter is not
7008         available to visudo or testsudoers. This does mean that they don't
7009         end up in syslog.
7010         [152b7c50f426]
7011
7012         * plugins/sudoers/sudoers.c:
7013         Defer call to sudo_nonunix_groupcheck_cleanup() until after we have
7014         closed the sudoers sources. From Quest sudo.
7015         [c1cd573bab94]
7016
7017         * plugins/sudoers/pwutil.c:
7018         Ignore case when matching user/group names in the cache. From Quest
7019         sudo.
7020         [2aa4ecc7d7f5]
7021
7022 2010-06-24  Todd C. Miller  <Todd.Miller@courtesan.com>
7023
7024         * config.h.in, configure, configure.in, src/selinux.c:
7025         Add check for setkeycreatecon() when --with-selinux is specified.
7026         [affae247b4e0]
7027
7028         * configure, configure.in:
7029         Error out if libaudit.h is missing or ununable when --with-linux-
7030         audit was specified
7031         [d82e743fac04]
7032
7033         * doc/HISTORY, doc/history.pod:
7034         Add =head3 entries, mostly for the html version
7035         [ee93112d0308]
7036
7037 2010-06-22  Todd C. Miller  <Todd.Miller@courtesan.com>
7038
7039         * doc/HISTORY, doc/history.pod:
7040         Mention when LDAP was incorporate.
7041         [2923dc17f79c]
7042
7043 2010-06-21  Todd C. Miller  <Todd.Miller@courtesan.com>
7044
7045         * configure, configure.in:
7046         Define _LINUX_SOURCE_COMPAT on AIX for strsignal() prototype, it is
7047         not covered by _ALL_SOURCE.
7048         [c92fd69809d0]
7049
7050 2010-06-18  Todd C. Miller  <Todd.Miller@courtesan.com>
7051
7052         * plugins/sudoers/iolog.c:
7053         Add a cast to quiet a compiler warning.
7054         [a200e07ee1bc]
7055
7056         * plugins/sudoers/getdate.c, plugins/sudoers/getdate.y:
7057         Quiet a compiler warning.
7058         [c9acfc927cea]
7059
7060         * plugins/sudoers/defaults.c, plugins/sudoers/sudoers.c:
7061         Call set_fqdn() after sudoers has parsed instead of inline as a
7062         callback.
7063         [5f4e5d075f2d]
7064
7065         * WHATSNEW, plugins/sudoers/sudoers.c:
7066         Do not call set_fqdn() until sudoers parses (where is gets run as a
7067         callback).
7068         [09040fca6d40]
7069
7070         * WHATSNEW:
7071         mention the change in tty ticket behavior when there is no tty
7072         [575a1fd98f05]
7073
7074         * plugins/sudoers/check.c:
7075         Do not update tty ticket if there is no tty.
7076         [63f9c33ce6a7]
7077
7078         * doc/LICENSE, doc/license.pod:
7079         Update copyright year
7080         [0722ab5d404b]
7081
7082         * doc/Makefile.in:
7083         Do not rely on BSD make's $>
7084         [936a86398bd9]
7085
7086         * configure, configure.in:
7087         Set timedir to /var/db/sudo for darwin to match Apple sudo's
7088         location
7089         [d5b9b03096f1]
7090
7091 2010-06-16  Todd C. Miller  <Todd.Miller@courtesan.com>
7092
7093         * plugins/sudoers/sudoers.h:
7094         Add stub declarations for struct stat and struct timeval
7095         [f6d90551a4fd]
7096
7097         * MANIFEST:
7098         Remove compat/sigaction.c
7099         [d0ed6d9a770e]
7100
7101         * config.h.in, configure, configure.in, plugins/sudoers/defaults.c,
7102         plugins/sudoers/iolog.c, plugins/sudoers/sudoreplay.c:
7103         Check for zlib.h in addition to libz.
7104         [6e191b4a6065]
7105
7106         * MANIFEST, src/Makefile.in, src/exec.c, src/exec_pty.c, src/sudo.h,
7107         src/sudo_exec.h:
7108         Move functions and symbols shared between exec.c and exec_pty.c into
7109         sudo_exec.h.
7110         [14ae63403544]
7111
7112         * doc/Makefile.in:
7113         Comment out rules to build .man.in and .cat files unless --with-
7114         devel
7115         [3cf7e5606a85]
7116
7117         * doc/Makefile.in:
7118         Comment out rules to build .man.in and .cat files unless --with-
7119         devel
7120         [d30495b0e29e]
7121
7122         * src/parse_args.c:
7123         Quote any non-alphanumeric characters other than '_' or '-' when
7124         passing a command to be run via the shell for the -s and -i options.
7125         [d633f74fe2d9]
7126
7127         * doc/Makefile.in:
7128         Add back .man suffix
7129         [6e63b60a2739]
7130
7131         * INSTALL, MANIFEST, WHATSNEW, config.h.in, configure, configure.in,
7132         plugins/sudoers/Makefile.in, plugins/sudoers/audit.c,
7133         plugins/sudoers/bsm_audit.c, plugins/sudoers/linux_audit.c,
7134         plugins/sudoers/linux_audit.h, plugins/sudoers/logging.h,
7135         src/selinux.c:
7136         Add Linux audit support.
7137         [5a2f445e0bd4]
7138
7139 2010-06-15  Todd C. Miller  <Todd.Miller@courtesan.com>
7140
7141         * plugins/sudoers/iolog.c:
7142         Remove an XXX
7143         [a170cbe651d1]
7144
7145         * doc/sudoreplay.cat, doc/sudoreplay.man.in, doc/sudoreplay.pod,
7146         plugins/sudoers/sudoreplay.c:
7147         Add -f (filter) option to sudoreplay to allow certain streams to be
7148         replayed and others ignored.
7149         [62e51b432ea1]
7150
7151         * src/load_plugins.c, src/parse_args.c, src/sudo.c, src/sudo.h,
7152         src/tgetpass.c:
7153         Fix -A flag when askpass is specified in sudo.conf or if sudo
7154         doesn't need to read a password.
7155         [2e401e4a00e3]
7156
7157         * src/exec.c, src/exec_pty.c, src/parse_args.c, src/sudo.c,
7158         src/sudo.h, src/sudo_edit.c, src/tgetpass.c:
7159         Clean up some XXXs
7160         [689f0b002d3d]
7161
7162         * WHATSNEW, doc/sudoers.ldap.cat, doc/sudoers.ldap.man.in,
7163         doc/sudoers.ldap.pod, plugins/sudoers/ldap.c:
7164         Add support for multiple sudoers_base entries in ldap.conf. From
7165         Joachim Henke
7166         [e3e4a3c2bd5b]
7167
7168         * config.h.in, configure, configure.in, plugins/sudoers/logging.c,
7169         src/exec_pty.c:
7170         remove setsid check, we require a POSIX system
7171         [cc73cb9e22c0]
7172
7173         * plugins/sudoers/logging.c, src/exec_pty.c, src/selinux.c,
7174         src/sudo.c, src/tgetpass.c:
7175         Check for dup2() failure.
7176         [5d46d66794f5]
7177
7178         * config.h.in, configure, configure.in:
7179         Remove dup2() check, it is not optional.
7180         [5f1d56de4384]
7181
7182 2010-06-14  Todd C. Miller  <Todd.Miller@courtesan.com>
7183
7184         * WHATSNEW:
7185         sync with sudo 1.7.3
7186         [88e5c0bd6d59]
7187
7188         * INSTALL:
7189         SunOS does not ship with an ANSI compiler
7190         [f13c85c67069]
7191
7192         * INSTALL:
7193         Update OS specific notes. Delete some really ancient ones and move
7194         older ones to the end of the list.
7195         [59ce592c4c52]
7196
7197         * README:
7198         Sudo can be downloaded from the web site too Mention "OS dependent
7199         notes" section in INSTALL
7200         [191871538984]
7201
7202         * src/exec_pty.c, src/selinux.c:
7203         Call selinux_restore_tty() as part of cleanup() so it gets called
7204         from error()/errorx()
7205         [bb017da6b6da]
7206
7207         * MANIFEST, doc/PORTING:
7208         Remove obsolete porting guide
7209         [321e35591344]
7210
7211         * plugins/sudoers/interfaces.h, plugins/sudoers/match.c:
7212         Move union sudo_in_addr_un into interfaces.h
7213         [b2c8b19ee094]
7214
7215         * doc/Makefile.in:
7216         Remove useless circular dependencies
7217         [5682181b59cf]
7218
7219         * plugins/sudoers/auth/afs.c, plugins/sudoers/auth/aix_auth.c,
7220         plugins/sudoers/auth/bsdauth.c, plugins/sudoers/auth/dce.c,
7221         plugins/sudoers/auth/fwtk.c, plugins/sudoers/auth/kerb4.c,
7222         plugins/sudoers/auth/kerb5.c, plugins/sudoers/auth/pam.c,
7223         plugins/sudoers/auth/passwd.c, plugins/sudoers/auth/rfc1938.c,
7224         plugins/sudoers/auth/secureware.c, plugins/sudoers/auth/securid.c,
7225         plugins/sudoers/auth/securid5.c, plugins/sudoers/auth/sia.c:
7226         Convert to ANSI C function declarations
7227         [a4f76927d034]
7228
7229         * common/alloc.c, common/fileops.c, common/gettime.c, common/list.c,
7230         common/zero_bytes.c, compat/charclass.h, compat/closefrom.c,
7231         compat/fnmatch.c, compat/glob.c, compat/isblank.c, compat/memrchr.c,
7232         compat/mkstemp.c, compat/nanosleep.c, compat/snprintf.c,
7233         compat/strcasecmp.c, compat/strerror.c, compat/strlcat.c,
7234         compat/strlcpy.c, compat/timespec.h, compat/utime.h,
7235         compat/utimes.c, doc/HISTORY, doc/history.pod, doc/license.pod,
7236         include/alloc.h, include/error.h, include/lbuf.h, include/list.h,
7237         include/missing.h, pathnames.h.in, plugins/sudoers/alias.c,
7238         plugins/sudoers/audit.c, plugins/sudoers/auth/sudo_auth.h,
7239         plugins/sudoers/boottime.c, plugins/sudoers/bsm_audit.c,
7240         plugins/sudoers/bsm_audit.h, plugins/sudoers/defaults.c,
7241         plugins/sudoers/defaults.h, plugins/sudoers/find_path.c,
7242         plugins/sudoers/getspwuid.c, plugins/sudoers/goodpath.c,
7243         plugins/sudoers/gram.y, plugins/sudoers/interfaces.c,
7244         plugins/sudoers/interfaces.h, plugins/sudoers/logging.c,
7245         plugins/sudoers/logging.h, plugins/sudoers/match.c,
7246         plugins/sudoers/parse.h, plugins/sudoers/plugin_error.c,
7247         plugins/sudoers/pwutil.c, plugins/sudoers/redblack.c,
7248         plugins/sudoers/redblack.h, plugins/sudoers/sudo_nss.h,
7249         plugins/sudoers/sudoers.h, plugins/sudoers/sudoreplay.c,
7250         plugins/sudoers/testsudoers.c, plugins/sudoers/timestr.c,
7251         plugins/sudoers/toke.l, plugins/sudoers/visudo.c, src/aix.c,
7252         src/conversation.c, src/error.c, src/load_plugins.c,
7253         src/parse_args.c, src/sesh.c, src/sudo.h, src/sudo_noexec.c,
7254         src/sudo_plugin_int.h, src/sudo_usage.h.in, src/tgetpass.c:
7255         Update copyright year
7256         [26ac7991f7d8]
7257
7258         * doc/Makefile.in:
7259         Fix commented DEVDOCS when not in devel mode.
7260         [e0a97eaf3793]
7261
7262         * plugins/sudoers/match.c:
7263         Quiet a compiler warning.
7264         [b2a17ebd5d38]
7265
7266         * plugins/sudoers/getdate.c, plugins/sudoers/getdate.y:
7267         Quiet a compiler warning.
7268         [687843bc593d]
7269
7270         * plugins/sudoers/ldap.c, plugins/sudoers/sudoers.h:
7271         Make all functions in ldap.c static
7272         [b2111e89eeba]
7273
7274         * doc/schema.ActiveDirectory:
7275         Updates from Alain Roy to provide better examples for importing the
7276         schema and to fix problems caused by Windows validating attributes
7277         which have not yet been added before committing the changes.
7278         [69f4c5ccaf89]
7279
7280 2010-06-11  Todd C. Miller  <Todd.Miller@courtesan.com>
7281
7282         * configure, configure.in, doc/Makefile.in, doc/sudo.cat,
7283         doc/sudo.man.in, doc/sudo_plugin.cat, doc/sudo_plugin.man.in,
7284         doc/sudoers.cat, doc/sudoers.ldap.cat, doc/sudoers.ldap.man.in,
7285         doc/sudoers.man.in, doc/sudoreplay.cat, doc/sudoreplay.man.in,
7286         doc/visudo.cat, doc/visudo.man.in:
7287         Leave rules to build .man.in and .cat files uncommented but only
7288         make them part of the "all" rule in devel mode. Generate .cat files
7289         directly from .man.in instead of .man using default values in
7290         configure.in
7291         [c3054a44f6a5]
7292
7293         * configure, configure.in:
7294         Bump sudo version to 1.8.0b1
7295         [8f79c85135e1]
7296
7297         * configure, configure.in, src/sudo.c, src/sudo_usage.h.in:
7298         Print configure args with verbose version information.
7299         [1ce690660ed2]
7300
7301         * TODO, plugins/sudoers/visudo.c:
7302         Remove tfd from struct sudoersfile; it is not used. Add prev pointer
7303         to struct sudoersfile. Declare list of sudoersfile using TQ_DECLARE.
7304         Use tq_append to append sudoers entries to the tail queue.
7305         [1743f9a286e4]
7306
7307 2010-06-10  Todd C. Miller  <Todd.Miller@courtesan.com>
7308
7309         * WHATSNEW:
7310         Describe tty timestamp improvements
7311         [e214e863a313]
7312
7313         * plugins/sudoers/toke.c, plugins/sudoers/toke.l:
7314         A comment character may not be part of a command line argument
7315         unless it is quoted with a backslash. Fixes parsing of:
7316         testuser ALL=NOPASSWD: /usr/bin/wl #comment foo bar closes bz #441
7317         [ea2e990f85ed]
7318
7319         * doc/sudoers.pod:
7320         Make this read a little bit better when passwd_timeout is 0.
7321         [39d362757f31]
7322
7323         * doc/sudo.man.in, doc/sudo.man.pl, doc/sudo.pod:
7324         Attempt to handle a default password prompt timeout of zero more
7325         gracefully.
7326         [ea47d43acf5b]
7327
7328         * plugins/sudoers/toke.c, plugins/sudoers/toke.l:
7329         Do not override value of keepopen global, instead restore it to the
7330         value we pushed onto the stack when popping.
7331         [fe282e5a3402]
7332
7333         * plugins/sudoers/Makefile.in:
7334         Add dependency for utility programs on libreplace and libcommon
7335         [2339aba64928]
7336
7337         * compat/sigaction.c, config.h.in, configure.in, include/compat.h,
7338         plugins/sudoers/logging.c, plugins/sudoers/mon_systrace.c,
7339         src/exec.c, src/exec_pty.c, src/tgetpass.c:
7340         Remove sigaction emulation Use SA_INTERRUPT in sa_flags
7341         [7dd61f1bd8d2]
7342
7343         * MANIFEST, config.h.in, configure, configure.in, include/missing.h:
7344         We don't use getgrouplist() at the moment so there's no need to
7345         provide a compat version.
7346         [1597536fbada]
7347
7348         * TODO:
7349         sync with reality
7350         [9e1a874e7885]
7351
7352         * include/sudo_plugin.h, plugins/sudoers/auth/sudo_auth.c,
7353         src/conversation.c, src/sudo.h, src/tgetpass.c:
7354         Fix visiblepw sudoers option; the plugin API portion still needs
7355         documenting
7356         [60b6933ef5e0]
7357
7358         * src/sudo.c:
7359         Print sudo version as well.
7360         [987ed459b459]
7361
7362         * plugins/sudoers/iolog.c, plugins/sudoers/sudoers.c:
7363         Use sudo_printf for I/O log version Clarify policy plugin version
7364         string
7365         [5a58b7e8c80b]
7366
7367         * plugins/sudoers/getdate.c, plugins/sudoers/getdate.y,
7368         plugins/sudoers/ldap.c, plugins/sudoers/sudoreplay.c:
7369         Silence some compiler warnings
7370         [afb1eba90915]
7371
7372         * src/load_plugins.c, src/tgetpass.c:
7373         Store askpass path in a global instead of uses setenv() which many
7374         systems lack.
7375         [b440bcc0e660]
7376
7377 2010-06-09  Todd C. Miller  <Todd.Miller@courtesan.com>
7378
7379         * doc/sudo.cat, doc/sudo.man.in, doc/sudo.pod, doc/sudo_plugin.cat,
7380         doc/sudo_plugin.man.in, doc/sudo_plugin.pod,
7381         plugins/sudoers/check.c, plugins/sudoers/def_data.c,
7382         plugins/sudoers/def_data.h, plugins/sudoers/def_data.in,
7383         plugins/sudoers/defaults.c, plugins/sudoers/sudoers.c,
7384         plugins/sudoers/sudoers.h, src/load_plugins.c, src/parse_args.c,
7385         src/tgetpass.c:
7386         Move askpass path specification from sudoers to sudo.conf.
7387         [5507ab867c26]
7388
7389         * src/exec.c, src/exec_pty.c, src/sudo.c, src/sudo.h:
7390         Use a flag bit in struct command_details for selinux instead of a
7391         separate field.
7392         [c59ca4acded9]
7393
7394         * src/exec.c, src/exec_pty.c, src/sudo.c, src/sudo.h:
7395         Implement background mode. If I/O logging we use pipes instead of a
7396         pty.
7397         [c07a4b356cbd]
7398
7399         * compat/mksiglist.c, compat/strsignal.c, include/compat.h,
7400         src/exec.c, src/exec_pty.c, src/tgetpass.c:
7401         Move compat definition of NSIG to compat.h
7402         [ab0385467f25]
7403
7404         * doc/sudo.cat, doc/sudo.man.in, doc/sudo.pod, doc/sudo_plugin.cat,
7405         doc/sudo_plugin.man.in, doc/sudo_plugin.pod:
7406         Mention plugins in the sudo manual and add some missing path
7407         substitution in the sudo_plugin manual.
7408         [570f831f47a3]
7409
7410         * src/Makefile.in:
7411         Set _PATH_SUDO_CONF based on $(sysconfdir)
7412         [fde51869cf07]
7413
7414         * common/lbuf.c, common/term.c, config.h.in, configure, configure.in,
7415         src/exec.c, src/exec_pty.c, src/ttysize.c:
7416         Require POSIX termios to build sudo
7417         [9ec6b41f3f95]
7418
7419         * src/tgetpass.c:
7420         Ignore SIGPIPE for "sudo -S"
7421         [7ad27fde0c06]
7422
7423         * src/tgetpass.c:
7424         Fix uninitialized variable in TGP_ECHO case and print a newline if
7425         the user interrupted password input.
7426         [ce19204d8dd4]
7427
7428         * src/tgetpass.c:
7429         Make TGP_ECHO override TGP_MASK and don't try to restore the
7430         terminal if we didn't modify it.
7431         [a7e11abfe7e4]
7432
7433         * doc/sudo_plugin.cat, doc/sudo_plugin.man.in, doc/sudo_plugin.pod,
7434         include/sudo_plugin.h, plugins/sudoers/auth/sudo_auth.c,
7435         src/conversation.c, src/sudo.h, src/tgetpass.c:
7436         Add SUDO_CONV_PROMPT_MASK define which corresponds to the
7437         "pwfeedback" sudoers option. Do not disable echo if TGP_ECHO is
7438         set.
7439         [e0550590cabe]
7440
7441         * src/exec_pty.c:
7442         Use POSIX tcgetpgrp() instead of BSD TIOCGPGRP ioctl
7443         [762448182fe3]
7444
7445 2010-06-08  Todd C. Miller  <Todd.Miller@courtesan.com>
7446
7447         * src/exec.c, src/exec_pty.c, src/selinux.c, src/sudo.c, src/sudo.h:
7448         Add selinux_enabled flag into struct command_details and set it in
7449         command_info_to_details(). Return an error from selinux_setup()
7450         instead of exiting. Call selinux_setup() from exec_setup().
7451         [011bea23a5a0]
7452
7453 2010-06-09  Todd C. Miller  <Todd.Miller@courtesan.com>
7454
7455         * src/exec_pty.c:
7456         Remove commented out copy of old sudo_execve() function.
7457         [9c5e21380472]
7458
7459 2010-06-08  Todd C. Miller  <Todd.Miller@courtesan.com>
7460
7461         * plugins/sudoers/sudoers.c:
7462         Fix setting selinux type on command line.
7463         [814b20a0b3be]
7464
7465         * plugins/sudoers/iolog.c:
7466         In sudoers_io_close(), skip NULL io_fds[] elements.
7467         [4011ff7d4daf]
7468
7469         * include/compat.h:
7470         No longer need NGROUPS_MAX define
7471         [cae4c49d7077]
7472
7473         * compat/nanosleep.c, config.h.in, configure, configure.in,
7474         include/compat.h, plugins/sudoers/check.c, plugins/sudoers/iolog.c,
7475         plugins/sudoers/visudo.c, src/sudo_edit.c:
7476         Replace timerfoo macros with timevalfoo since the timer macros are
7477         known to be busted on some systems.
7478         [4f97d79f2d41]
7479
7480         * src/exec_pty.c:
7481         Remove duplicate call to selinux_setup().
7482         [82bd52764e21]
7483
7484         * plugins/sudoers/auth/pam.c:
7485         If pam_open_session() fails, pass its status to pam_end.
7486         [1d8de4cf8ff3]
7487
7488         * plugins/sudoers/toke.c, plugins/sudoers/toke.l:
7489         If a file in a #includedir has improper permissions or owner just
7490         skip it. This prevents packages that incorrectly install a file
7491         into /etc/sudoers.d from breaking sudo so easily. Syntax errors in
7492         #includedir files still result in a parse error (for now).
7493         [ade99a4549a4]
7494
7495         * WHATSNEW, doc/sudoers.cat, doc/sudoers.man.in, doc/sudoers.pod,
7496         plugins/sudoers/def_data.c, plugins/sudoers/def_data.h,
7497         plugins/sudoers/def_data.in, plugins/sudoers/iolog.c:
7498         Add use_pty sudoers option to force use of a pty even when not
7499         logging I/O.
7500         [b280a8972a79]
7501
7502         * plugins/sudoers/env.c, plugins/sudoers/sudoers.h:
7503         Make env_init() void as it never fails.
7504         [d3890e55daa7]
7505
7506         * plugins/sudoers/env.c:
7507         No longer use _NSGetEnviron so don't need crt_externs.h
7508         [9b4e0e139881]
7509
7510         * plugins/sudoers/env.c:
7511         Remove unused VNULL define
7512         [a42cacb263e3]
7513
7514 2010-06-07  Todd C. Miller  <Todd.Miller@courtesan.com>
7515
7516         * plugins/sudoers/iolog.c:
7517         Add #define for maximum session id
7518         [9e18c17a28c2]
7519
7520         * MANIFEST, src/Makefile.in, src/exec.c, src/exec_pty.c, src/sudo.h:
7521         Split exec.c into exec.c and exec_pty.c
7522         [d52376327332]
7523
7524         * MANIFEST:
7525         Sync with source file moves.
7526         [4a62c6c9e846]
7527
7528         * src/Makefile.in, src/get_pty.c, src/pty.c:
7529         Rename pty.c -> get_pty.c
7530         [5696a12bd29b]
7531
7532 2010-06-06  Todd C. Miller  <Todd.Miller@courtesan.com>
7533
7534         * plugins/sudoers/iolog.c:
7535         Only use I/O input log file if def_log_input is set and output file
7536         if def_log_output is set.
7537         [d866992f1681]
7538
7539 2010-06-04  Todd C. Miller  <Todd.Miller@courtesan.com>
7540
7541         * compat/strsignal.c:
7542         Update copyright year
7543         [a96f2593fd4e]
7544
7545         * src/pty.c:
7546         uid -> ttyuid
7547         [c3454d74ebcb]
7548
7549         * plugins/sudoers/sudoers.c:
7550         For sudoedit, make a local copy of editor string si become part of
7551         argv. If no editor environment variable, split def_editor on ':'
7552         since it may be a colon-delimited path.
7553         [2ee298506a6e]
7554
7555         * src/sudo_edit.c:
7556         Remove unneeded endpwent()/endgrent()
7557         [623f6743d101]
7558
7559         * doc/Makefile.in:
7560         Use value of nroff from configure
7561         [b2ce649125ab]
7562
7563         * src/exec.c:
7564         Add missing const to I/O log action function
7565         [d764a3955e04]
7566
7567         * plugins/sudoers/check.c:
7568         Update copyright year and fix whitespace
7569         [e648c35b16be]
7570
7571         * configure, configure.in:
7572         Fix typo
7573         [8e0bdfc47da4]
7574
7575         * plugins/sudoers/iolog.c:
7576         Remove redundant tty signal blocking in log function.
7577         [f17f575dabd4]
7578
7579 2010-06-03  Todd C. Miller  <Todd.Miller@courtesan.com>
7580
7581         * plugins/sudoers/iolog.c:
7582         Place static keyword where it belongs
7583         [b01aec7c86b4]
7584
7585         * plugins/sudoers/logging.c:
7586         Always use a printf format string for send_mail()
7587         [13b1ada644c9]
7588
7589         * common/atobool.c, plugins/sudoers/ldap.c:
7590         Extend atobool() so we can use it in the LDAP code.
7591         [73f8e6807044]
7592
7593         * doc/sudo.cat, doc/sudo.man.in, doc/sudo.pod:
7594         Sudo now stashes tty ctime for tty_tickets on Solaris too.
7595         [e82df13ad3fd]
7596
7597         * plugins/sudoers/boottime.c:
7598         Fix dummy version of get_boottime()
7599         [01d69c06013b]
7600
7601 2010-06-02  Todd C. Miller  <Todd.Miller@courtesan.com>
7602
7603         * plugins/sudoers/check.c:
7604         Enable tty_is_devpts() support for Solaris with the "devices"
7605         filesystem.
7606         [237c6b25fa84]
7607
7608         * src/exec.c:
7609         Unbreak the non-io logging case.
7610         [4822b9f709fb]
7611
7612         * src/conversation.c, src/sudo.c, src/sudo_plugin_int.h:
7613         Fix symbol name conflict with sudo_printf.
7614         [0d44eab0a8f6]
7615
7616         * plugins/sudoers/auth/pam.c:
7617         Fix OpenPAM detection for newer versions.
7618         [1b2abed232d8]
7619
7620         * plugins/sudoers/vasgroups.c:
7621         Sync with Quest sudo git repo
7622         [f1d98b3cba02]
7623
7624         * aclocal.m4, configure, configure.in:
7625         HP-UX ld uses +b instead or -R or -rpath Fix typo in libvas check
7626         Add missing template for ENV_DEBUG Adapted from Quest sudo
7627         [695dbd7b28f4]
7628
7629         * README.LDAP:
7630         Fix typos; from Quest Sudo
7631         [4eba9da33b8e]
7632
7633 2010-06-01  Todd C. Miller  <Todd.Miller@courtesan.com>
7634
7635         * plugins/sudoers/Makefile.in:
7636         Add back -I$(top_srcdir); we need it for including compat/foo.h
7637         since we cannot rely on "foo.h" being found relative to the source
7638         file when the cwd is different.
7639         [bbf24695f325]
7640
7641         * src/exec.c:
7642         Fix a bug where we could treat EAGAIN as a permanent error. Also set
7643         cstat if perform_io() returns an error.
7644         [200475c4326f]
7645
7646         * common/alloc.c, plugins/sudoers/boottime.c,
7647         plugins/sudoers/sudoers.c:
7648         Add casts to quiet compiler warnings.
7649         [85eb1c336697]
7650
7651         * plugins/sudoers/sudoreplay.c, plugins/sudoers/testsudoers.c,
7652         plugins/sudoers/visudo.c:
7653         Fix typo in ternary operator usage.
7654         [6492ac1450e2]
7655
7656 2010-05-30  Todd C. Miller  <Todd.Miller@courtesan.com>
7657
7658         * INSTALL, configure, configure.in:
7659         Add --enable-warnings and fix typo in SUDO_IO_LOGDIR
7660         [92121d693b30]
7661
7662         * doc/sudoers.cat, doc/sudoers.man.in, doc/sudoers.pod,
7663         doc/sudoreplay.cat, doc/sudoreplay.man.in, doc/sudoreplay.pod:
7664         Update docs to match sudoers I/O logging changes
7665         [18d651989e49]
7666
7667         * INSTALL, WHATSNEW, aclocal.m4, configure, configure.in,
7668         pathnames.h.in, plugins/sudoers/def_data.c,
7669         plugins/sudoers/def_data.h, plugins/sudoers/def_data.in,
7670         plugins/sudoers/defaults.c, plugins/sudoers/gram.c,
7671         plugins/sudoers/gram.h, plugins/sudoers/gram.y,
7672         plugins/sudoers/iolog.c, plugins/sudoers/parse.c,
7673         plugins/sudoers/parse.h, plugins/sudoers/sudoers.c,
7674         plugins/sudoers/sudoreplay.c:
7675         Break sudoers transcript feature up into log_input and log_output.
7676         [db3c1248d2ad]
7677
7678         * plugins/sudoers/sudoreplay.c, plugins/sudoers/testsudoers.c,
7679         plugins/sudoers/visudo.c:
7680         Use setprogname() as needed.
7681         [6beee63a4553]
7682
7683         * plugins/sudoers/iolog.c, plugins/sudoers/sudoreplay.c:
7684         Adapt sudoreplay to iolog changes.
7685         [581f52c05f0f]
7686
7687 2010-05-29  Todd C. Miller  <Todd.Miller@courtesan.com>
7688
7689         * plugins/sudoers/iolog.c:
7690         Log all input and output into separate files and store a number on
7691         each timing file line to indicate which file the data is in.
7692         [fb460c5273dd]
7693
7694         * plugins/sudoers/iolog.c, plugins/sudoers/sudoers.c,
7695         plugins/sudoers/sudoers.h:
7696         Make sudoers_io functions static to iolog.c
7697         [b2df3cc3eecb]
7698
7699 2010-05-28  Todd C. Miller  <Todd.Miller@courtesan.com>
7700
7701         * doc/sudo.cat, doc/sudo.man.in, doc/sudo.pod, src/parse_args.c,
7702         src/sudo_usage.h.in:
7703         Completely remove the -L flag from the sudo front end.
7704         [3d220030b720]
7705
7706         * plugins/sudoers/sudoreplay.c:
7707         Fix EAGAIN handling when writing to stdout.
7708         [4766d77cea49]
7709
7710         * plugins/sudoers/sudoers.c:
7711         Eliminate unused variables
7712         [83bd711e79c4]
7713
7714         * plugins/sudoers/sudoers.c, src/exec.c, src/sudo.c:
7715         Re-enable cleanup functions in sudoers plugin and sudo driver for
7716         error()/errorx().
7717         [43093f937dd8]
7718
7719         * plugins/sudoers/auth/sudo_auth.c, plugins/sudoers/defaults.c,
7720         plugins/sudoers/interfaces.c, plugins/sudoers/iolog.c,
7721         plugins/sudoers/parse.c, plugins/sudoers/sudoers.c,
7722         plugins/sudoers/testsudoers.c, plugins/sudoers/visudo.c:
7723         Use sudo_printf to display verbose version information.
7724         [435cc9f8d4a2]
7725
7726         * common/Makefile.in, compat/Makefile.in, plugins/sample/Makefile.in,
7727         plugins/sudoers/Makefile.in, src/Makefile.in:
7728         Minor Makefile cleanup: fix a typo, change the removal order in the
7729         clean targets, and remove a superfluous include path for the sudoers
7730         plugin.
7731         [6e3b2d6b4437]
7732
7733         * plugins/sudoers/env.c:
7734         Handle duplicate variables in the environment. For unsetenv(), keep
7735         looking even after remove the first instance. For sudo_putenv(),
7736         check for and remove dupes after we replace an existing value.
7737         [c1bbb88d0435]
7738
7739 2010-05-27  Todd C. Miller  <Todd.Miller@courtesan.com>
7740
7741         * plugins/sudoers/Makefile.in:
7742         Use explicit path to source file instead of $< for files that live
7743         in devdir and top_srcdir.
7744         [358ab7f6cc64]
7745
7746         * plugins/sudoers/Makefile.in:
7747         Add explicit rules to compile gram.c and toke.c for HP-UX Pevent
7748         ending LIBSUDOERS_OBJS with a backslash
7749         [481a5c96d47e]
7750
7751         * plugins/sudoers/Makefile.in, src/Makefile.in:
7752         Link libcommon before libreplace since libcommon may use functions
7753         only present in libreplace.
7754         [1847c496ff5b]
7755
7756         * common/Makefile.in:
7757         Move code common to sudo and the sudoers plugin to a convenience
7758         library, libcommon. Removes the need to make links in the sudoers
7759         plugin dir and reduces re-compilation of duplicate object files.
7760         [4c8986352937]
7761
7762         * Makefile.in, common/alloc.c, common/atobool.c, common/fileops.c,
7763         common/fmt_string.c, common/gettime.c, common/lbuf.c, common/list.c,
7764         common/term.c, common/zero_bytes.c, configure, configure.in,
7765         plugins/sample/Makefile.in, plugins/sudoers/Makefile.in,
7766         src/Makefile.in, src/alloc.c, src/atobool.c, src/fileops.c,
7767         src/fmt_string.c, src/gettime.c, src/lbuf.c, src/list.c, src/term.c,
7768         src/zero_bytes.c:
7769         Move code common to sudo and the sudoers plugin to a convenience
7770         library, libcommon. Removes the need to make links in the sudoers
7771         plugin dir and reduces re-compilation of duplicate object files.
7772         [1d1d98bd55b9]
7773
7774         * src/exec.c, src/sudo.c, src/sudo.h:
7775         Rename script_execve to sudo_execve and rename script_foo in exec.c
7776         [a35ec80de96a]
7777
7778         * MANIFEST, src/Makefile.in, src/exec.c, src/script.c:
7779         rename script.c exec.c and fix up the MANIFEST file
7780         [36bc3bff9578]
7781
7782         * src/script.c, src/sudo.c, src/sudo.h:
7783         Rename script_setup() to pty_setup() and call from script_execve()
7784         directly.
7785         [899b0fb2a14d]
7786
7787         * configure, configure.in:
7788         bump version to 1.8.0a2
7789         [0b1c1ca9d4e5]
7790
7791         * doc/sudo_plugin.cat, doc/sudo_plugin.man.in, doc/sudo_plugin.pod:
7792         Document init_session
7793         [b5324785a406]
7794
7795         * plugins/sudoers/auth/API, plugins/sudoers/auth/sudo_auth.c,
7796         plugins/sudoers/auth/sudo_auth.h:
7797         Clean up the sudoers auth API a bit and update the docs.
7798         [c40fd4cb6e68]
7799
7800         * include/sudo_plugin.h, plugins/sudoers/auth/pam.c,
7801         plugins/sudoers/auth/sudo_auth.c, plugins/sudoers/sudoers.c,
7802         plugins/sudoers/sudoers.h, src/script.c, src/sudo.c:
7803         Add init_session function to struct policy_plugin that gets called
7804         before the uid/gid/etc changes. A struct passwd pointer is passed
7805         in,which may be NULL if the user does not exist in the passwd
7806         database.The sudoers module uses init_session to open the pam
7807         session as needed.
7808         [d71723320ee8]
7809
7810 2010-05-26  Todd C. Miller  <Todd.Miller@courtesan.com>
7811
7812         * plugins/sudoers/auth/pam.c, plugins/sudoers/auth/sudo_auth.c,
7813         plugins/sudoers/auth/sudo_auth.h, plugins/sudoers/set_perms.c,
7814         plugins/sudoers/sudoers.c, plugins/sudoers/sudoers.h:
7815         Add open/close session to sudo auth, only used by PAM. This allows
7816         us to open (and close) the PAM session from sudoers.
7817         [2665e2920d0d]
7818
7819         * plugins/sudoers/Makefile.in:
7820         Add explicit rule to build getdate.o for HP-UX make.
7821         [7f049e989956]
7822
7823         * plugins/sudoers/Makefile.in:
7824         Back out most of change 45e406ebdea2. Create dummy .l.c and .y.c
7825         rules as an alternate way to prevent HP-UX make (and others) from
7826         trying to rebuild the parser in non-dev mode.
7827         [f84badad98c5]
7828
7829         * plugins/sudoers/sudoers.c:
7830         Re-enable PATH_MAX check for command
7831         [40d8a50da136]
7832
7833         * Makefile.in:
7834         For distclean, clean the main directory last since the subdirs need
7835         to be able to run libtool to clean things.
7836         [8949a9861634]
7837
7838         * compat/Makefile.in:
7839         Fix generation of mksiglist.h
7840         [b7cdc9b36650]
7841
7842         * src/script.c:
7843         Now that we defer sending cstat until the end of script_child() we
7844         cannot reuse cstat when reading command status from parent.
7845         [25c882643466]
7846
7847 2010-05-25  Todd C. Miller  <Todd.Miller@courtesan.com>
7848
7849         * configure, configure.in, doc/sudo.man.in, doc/sudo.man.pl,
7850         doc/sudoers.cat, doc/sudoers.ldap.cat, doc/sudoers.ldap.man.in,
7851         doc/sudoers.man.in, doc/sudoers.man.pl, doc/sudoreplay.cat,
7852         doc/sudoreplay.man.in, doc/visudo.cat, doc/visudo.man.in:
7853         Use numeric registers to handle conditionals instead of trying to do
7854         it all with text processing.
7855         [478079c3fd4b]
7856
7857         * doc/sudoers.pod:
7858         Document per-command SELinux settings
7859         [13840d566805]
7860
7861         * plugins/sudoers/sudoers.c:
7862         Repair "sudo -l -U username"
7863         [10a0dcdf2ddf]
7864
7865         * plugins/sudoers/sudoers.c:
7866         Set selinux role and type in command details.
7867         [8ae6d35a126d]
7868
7869         * src/script.c, src/selinux.c, src/sudo.h:
7870         Rework SELinux support.
7871         [83279cc94bf2]
7872
7873 2010-05-24  Todd C. Miller  <Todd.Miller@courtesan.com>
7874
7875         * src/script.c, src/selinux.c, src/sudo.h:
7876         Make SELinux support compile again. Needs more work to be complete.
7877         [3d3addebcf82]
7878
7879         * doc/sudo_plugin.cat, doc/sudo_plugin.man.in, doc/sudo_plugin.pod,
7880         plugins/sudoers/sudoers.c, plugins/sudoers/sudoers.h,
7881         src/parse_args.c, src/script.c, src/selinux.c, src/sudo.c,
7882         src/sudo.h:
7883         Bring back closefrom settings.
7884         [b1c6257d4bbb]
7885
7886         * plugins/sudoers/iolog.c, plugins/sudoers/sudoers.c,
7887         plugins/sudoers/sudoers.h:
7888         If running a command or sudoedit in transcript mode, call
7889         io_nextid() before log_allowed() so the session id is logged.
7890         [c42f3ae40150]
7891
7892         * configure, configure.in:
7893         Use mandoc(1) if nroff(1) is not present.
7894         [daad4bbd04af]
7895
7896         * doc/Makefile.in:
7897         Use the --file argument to config.status instead of setting
7898         CONFIG_FILES in the environment.
7899         [c89411a8bf70]
7900
7901         * plugins/sudoers/Makefile.in:
7902         We cannot conditionally update gram.h or the dependency ordering
7903         gets messed up in devel mode.
7904         [c938953231d9]
7905
7906 2010-05-21  Todd C. Miller  <Todd.Miller@courtesan.com>
7907
7908         * Makefile.in, compat/Makefile.in, configure, configure.in,
7909         doc/Makefile.in, include/Makefile.in, plugins/sample/Makefile.in,
7910         plugins/sudoers/Makefile.in, src/Makefile.in:
7911         Substitute @SHELL@ into Makefiles
7912         [36aa6a095335]
7913
7914         * config.sub:
7915         Fix typo
7916         [16d294d26b58]
7917
7918         * config.guess, config.sub, configure, configure.in:
7919         Update to autoconf 2.65
7920         [4fa6ea8caea3]
7921
7922         * Makefile.in:
7923         Fix libtool target (space vs. tabs)
7924         [755cf3892618]
7925
7926         * config.h.in, plugins/sudoers/logging.h, plugins/sudoers/visudo.c:
7927         Remove use of RETSIGTYPE; all modern systems have signal handlers
7928         that return void.
7929         [42b4e3aee668]
7930
7931         * Makefile.in, aclocal.m4, acsite.m4, configure, configure.in,
7932         ltmain.sh, m4/libtool.m4, m4/ltoptions.m4, m4/ltsugar.m4,
7933         m4/ltversion.m4, m4/lt~obsolete.m4, plugins/sample/Makefile.in,
7934         plugins/sudoers/Makefile.in, src/Makefile.in:
7935         Update to libtool-2.2.6b. I haven't made any local modifications
7936         this time, which should be OK since we install sudo_noexec.so by
7937         hand now.
7938         [6f79ced593bb]
7939
7940         * compat/Makefile.in, plugins/sample/Makefile.in,
7941         plugins/sudoers/Makefile.in, src/Makefile.in:
7942         Use libtool to clean objects
7943         [1581057d6472]
7944
7945         * include/Makefile.in:
7946         Install sudo_plugin.h as part of "make install" and make other
7947         install targets callable from the top-level Makefile
7948         [aaaeb027d774]
7949
7950         * configure, configure.in:
7951         regen with autoupdate to eliminate AC_TRY_LINK
7952         [5d5541c230f5]
7953
7954         * Makefile.in, compat/Makefile.in, configure, configure.in,
7955         doc/Makefile.in, plugins/sample/Makefile.in,
7956         plugins/sudoers/Makefile.in, src/Makefile.in:
7957         Install sudo_plugin.h as part of "make install" and make other
7958         install targets callable from the top-level Makefile
7959         [b258b8401b1c]
7960
7961         * plugins/sample/sample_plugin.c:
7962         The sample plugin doesn't support being run with no args so return a
7963         usage error in this case.
7964         [473b3cf965be]
7965
7966         * plugins/sudoers/iolog.c:
7967         Set close on exec flag for descriptors used for I/O logging so they
7968         are not present in the command being run.
7969         [2c7e8708df76]
7970
7971         * plugins/sudoers/tsgetgrpw.c:
7972         Set close on exec flag in private versions of setpwent() and
7973         setgrent().
7974         [64fef78cb833]
7975
7976         * src/script.c:
7977         Close the I/O pipes aftering dup2()ing them to std{in,out,err}.
7978         Fixes extra fds being present in the command when it is part of a
7979         pipeline.
7980         [060451617713]
7981
7982         * plugins/sudoers/sudoers.c:
7983         Set user_tty to "unknown" if there is no tty, like sudo 1.7 does (it
7984         is used when logging). Note that user_ttypath will still be NULL if
7985         there is no tty.
7986         [31b69a6ecda7]
7987
7988         * src/script.c, src/sudo.h:
7989         Cosmetic changes: add comments, remove orphaned prototype and
7990         make a global static.
7991         [f7851af0143e]
7992
7993 2010-05-20  Todd C. Miller  <Todd.Miller@courtesan.com>
7994
7995         * src/script.c:
7996         Move check for maxfd == -1 to flush_output where it belongs.
7997         [b826a95b4491]
7998
7999         * src/script.c:
8000         Break out of select loop if all the fds we want to select on are -1.
8001         [f5b387024238]
8002
8003         * src/sudo.c:
8004         Avoid possible malloc(0) if plugin returns an empty groups list.
8005         [9765a8fe5ce7]
8006
8007         * src/sudo.c:
8008         Add debugging info when calling plugin close function
8009         [95a273c7ff66]
8010
8011         * src/script.c:
8012         Avoid closing stdin/stdout/stderr when we are piping output.
8013         [330e76423caf]
8014
8015         * src/script.c:
8016         When execve() of the command fails, it is possible to receive
8017         SIGCHLD before we've read the error status from the pipe. Re-order
8018         things such that we send the final status at the very end and prefer
8019         error status over wait status.
8020         [b0dcf825244f]
8021
8022 2010-05-19  Todd C. Miller  <Todd.Miller@courtesan.com>
8023
8024         * plugins/sudoers/auth/sudo_auth.c:
8025         Fix compilation for non PAM/BSD auth/AIX auth
8026         [e382b39d2e4f]
8027
8028 2010-05-18  Todd C. Miller  <Todd.Miller@courtesan.com>
8029
8030         * src/script.c:
8031         Additional checks to make sure we don't close /dev/tty by mistake.
8032         When flushing, sleep in select as long as we have buffers that need
8033         to be written out.
8034         [8139cbd3dd54]
8035
8036         * src/script.c:
8037         Now that we can use pipes for stdin/stdout/stderr there is no longer
8038         a need to error out when there is no tty. We just need to make sure
8039         we don't try to use the tty fd if it is -1.
8040         [666621635d26]
8041
8042 2010-05-17  Todd C. Miller  <Todd.Miller@courtesan.com>
8043
8044         * doc/sudo_plugin.cat, doc/sudo_plugin.man.in, doc/sudo_plugin.pod,
8045         include/sudo_plugin.h, plugins/sample/sample_plugin.c,
8046         plugins/sudoers/iolog.c, plugins/sudoers/sudoers.h, src/sudo.c:
8047         Add argc and argv to I/O logger open function.
8048         [0d7faa007d27]
8049
8050         * doc/sudo_plugin.man.in, doc/sudo_plugin.pod, include/sudo_plugin.h,
8051         plugins/sample/sample_plugin.c, plugins/sudoers/sudoers.c,
8052         src/parse_args.c, src/sudo.c, src/sudo_edit.c:
8053         Remove check_sudoedit function pointer in struct sudo_policy.
8054         Instead, sudo will set sudoedit=true in the settings array. The
8055         plugin should check for this and modify argv_out as appropriate in
8056         check_policy.
8057         [c0328e3276b8]
8058
8059 2010-05-16  Todd C. Miller  <Todd.Miller@courtesan.com>
8060
8061         * plugins/sample/sample_plugin.c, src/sudo.c, src/sudo.h,
8062         src/sudo_edit.c:
8063         If plugin sets "sudoedit=true" in the command info, enable sudoedit
8064         mode even if not invoked as sudoedit. This allows a plugin to
8065         enable sudoedit when the user runs an editor.
8066         [96d67b99e42e]
8067
8068 2010-05-15  Todd C. Miller  <Todd.Miller@courtesan.com>
8069
8070         * plugins/sudoers/Makefile.in:
8071         gram.h must not depend on gram.y if we want to avoid unnecessary
8072         rebuilding of targets dependent on gram.h when gram.y changes.
8073         [9db4b767fdca]
8074
8075         * plugins/sample/sample_plugin.c:
8076         Refactor common bits of check_policy and check_edit
8077         [ac4d366a04cf]
8078
8079         * plugins/sample/sample_plugin.c:
8080         Add sudoedit support
8081         [a1a6cc4c0cef]
8082
8083 2010-05-14  Todd C. Miller  <Todd.Miller@courtesan.com>
8084
8085         * plugins/sudoers/Makefile.in:
8086         Rely more on VPATH; fixes a dependency issue with the parser.
8087         [45e406ebdea2]
8088
8089         * include/compat.h:
8090         Fix typo introduced in last commit
8091         [3ccb0f853d11]
8092
8093         * include/compat.h:
8094         Emulate seteuid using setreuid() or setresuid() as needed. There are
8095         still a few places that call seteuid() directly.
8096         [36e8efa3a99d]
8097
8098         * src/parse_args.c, src/sudo_edit.c:
8099         Attempt to fix building on systems that only have setuid.
8100         [8e9ba4083318]
8101
8102         * doc/sudo_plugin.cat, doc/sudo_plugin.man.in, doc/sudo_plugin.pod:
8103         Clarify sudoedit a tad.
8104         [d39dfaa14ade]
8105
8106 2010-05-13  Todd C. Miller  <Todd.Miller@courtesan.com>
8107
8108         * src/sudo_edit.c:
8109         Fix compilation on HP-UX
8110         [f6e47843d139]
8111
8112         * doc/sudo_plugin.cat, doc/sudo_plugin.man.in, doc/sudo_plugin.pod:
8113         Document sudoedit
8114         [4cbf5196d993]
8115
8116         * plugins/sudoers/sudoers.c, src/sudo.c, src/sudo.h, src/sudo_edit.c:
8117         Change how we handle the sudoedit argv. We now require that there
8118         be a "--" in argv to separate the editor and any command line
8119         arguments from the files to be edited.
8120         [20623d549a3c]
8121
8122         * include/sudo_plugin.h, plugins/sample/sample_plugin.c,
8123         plugins/sudoers/Makefile.in, plugins/sudoers/gettime.c,
8124         plugins/sudoers/set_perms.c, plugins/sudoers/sudoers.c,
8125         src/Makefile.in, src/gettime.c, src/parse_args.c, src/sudo.c,
8126         src/sudo.h, src/sudo_edit.c:
8127         Work in progress support for sudoedit. The actual interface used by
8128         the plugin for sudoedit is likely to change.
8129         [c31262a31997]
8130
8131         * plugins/sudoers/find_path.c, plugins/sudoers/sudoers.c,
8132         plugins/sudoers/sudoers.h, plugins/sudoers/visudo.c:
8133         Make find_path() a little more generic by not checking def_foo
8134         variables inside it. Instead, pass in ignore_dot as a function
8135         argument.
8136         [9c23101a094d]
8137
8138         * plugins/sudoers/env.c:
8139         Add version of getenv(3) that uses our own environ pointer.
8140         [0e3783e63534]
8141
8142 2010-05-12  Todd C. Miller  <Todd.Miller@courtesan.com>
8143
8144         * src/script.c:
8145         Avoid a potential race condition if SIGCHLD is received immediately
8146         before we call select().
8147         [99adc5ea7f0a]
8148
8149         * plugins/sudoers/sudoers.c:
8150         Call env_init() before we open the sudoers sources as those may call
8151         our setenv() replacement.
8152         [5f82601f5ab0]
8153
8154         * plugins/sudoers/env.c:
8155         Initialize env_len in env_init()
8156         [7ae02b3029b5]
8157
8158 2010-05-11  Todd C. Miller  <Todd.Miller@courtesan.com>
8159
8160         * doc/sudo.cat, doc/sudo.man.in, doc/sudo.pod:
8161         Document time stamp shortcomings under SECURITY NOTES Use "time
8162         stamp" instead of timestamp.
8163         [2b86120815b2]
8164
8165         * doc/Makefile.in:
8166         Make sed substitution of mansectsu and mansectform global.
8167         [94588632dba0]
8168
8169         * plugins/sudoers/check.c:
8170         If the tty lives on a devpts filesystem, stash the ctime in the tty
8171         ticket file, as it is not updated when the tty is written to. This
8172         helps us determine when a tty has been reused without the user
8173         authenticating again with sudo.
8174         [0e62a31bceb0]
8175
8176         * src/tgetpass.c:
8177         Fix pasto in mulitple signal fix and use _NSIG not NSIG since that
8178         is what our compat checks set.
8179         [df50f0a040c9]
8180
8181         * configure, configure.in:
8182         Add check for whether sudo need to link with -ldl to get dlopen().
8183         This is a bit of a hack that will get reworked when libtool is
8184         updated.
8185         [63bdcf579533]
8186
8187         * plugins/sudoers/check.c:
8188         Fix timestamp removal with -k/-K
8189         [6b4639fef973]
8190
8191         * plugins/sudoers/Makefile.in:
8192         audit.c is now private to the sudoers plugin
8193         [1974f342ae0b]
8194
8195         * configure, configure.in:
8196         Link with -lpthread on HP-UX since a plugin may be linked with
8197         -lpthread and dlopen() will fail if the shared object has a
8198         dependency on -lpthread but the main program is not linked with it.
8199         [d42139391263]
8200
8201         * config.h.in, configure, configure.in, plugins/sudoers/set_perms.c:
8202         Add separate test for getresuid() since HP-UX has setresuid() but no
8203         getresuid().
8204         [910fe727a374]
8205
8206         * doc/Makefile.in:
8207         Remove errant backslash
8208         [dd5464257c69]
8209
8210         * src/script.c:
8211         Fix SIGPIPE handling. Now that we use may use pipes for
8212         stdin/stdout we need to pass any SIGPIPE we receive to the running
8213         command.
8214         [3f6b1991f4fd]
8215
8216         * src/script.c:
8217         Also start the command in the background if stdin is not a tty.
8218         [d93bc33a3740]
8219
8220 2010-05-10  Todd C. Miller  <Todd.Miller@courtesan.com>
8221
8222         * plugins/sudoers/sudoreplay.c, src/script.c, src/sudo.h, src/term.c:
8223         No need to use pseudo-cbreak mode now that we use pipes when stdout
8224         is not a tty. Instead, check whether stdin is a tty and if not,
8225         delay setting the tty to raw mode until the command tries to access
8226         it itself (and receives SIGTTIN or SIGTTOU).
8227         [e68315cf8c6b]
8228
8229         * src/tgetpass.c:
8230         Use an array for signals received instead of a single variable so we
8231         don't lose any when there are multiple different signals.
8232         [2ac726dac864]
8233
8234         * src/tgetpass.c:
8235         Do signal setup after turning off echo, not before. If we are using
8236         a tty but are not the foreground pgrp this will generate SIGTTOU so
8237         we want the default action to be taken (suspend process).
8238         [bebb6209c795]
8239
8240 2010-05-07  Todd C. Miller  <Todd.Miller@courtesan.com>
8241
8242         * src/script.c:
8243         Flush the iobufs on suspend or child exit using the same logic as
8244         the main event loop.
8245         [c627feee1035]
8246
8247         * src/script.c:
8248         Free memory after we are done with it.
8249         [8db9b611b45a]
8250
8251 2010-05-06  Todd C. Miller  <Todd.Miller@courtesan.com>
8252
8253         * doc/HISTORY:
8254         Quest now sponsors Sudo development
8255         [6cc490083bc7]
8256
8257 2010-05-05  Todd C. Miller  <Todd.Miller@courtesan.com>
8258
8259         * doc/Makefile.in:
8260         Install sudo_plugin man page.
8261         [c253729790b2]
8262
8263         * src/script.c:
8264         Go back to reseting io_buffer offset and length (and now also the
8265         EOF handling) in the loop we do the FD_SET, not after we drain the
8266         buffer after write() since we don't know what order reads and writes
8267         will occur in.
8268         [5f38bfa8497f]
8269
8270         * MANIFEST:
8271         audit files moved to sudoers plugin directory
8272         [b1ead182428e]
8273
8274         * doc/sudo_plugin.cat, doc/sudo_plugin.man.in, doc/sudo_plugin.pod:
8275         Document plugin_printf and new logging functions.
8276         [fe9430b60ab5]
8277
8278         * src/script.c:
8279         Add support for logging stdin when it is not a tty. There is still a
8280         bug where "cat | sudo cat" has problems because both cat and sudo
8281         are trying to read from the tty.
8282         [04c9c59fcfba]
8283
8284         * include/sudo_plugin.h, plugins/sample/sample_plugin.c,
8285         plugins/sudoers/sudoers.c, src/script.c:
8286         Add separate I/O logging functions for tty in/out and
8287         stdin/stdout/stderr. NOTE: stdin logging does not currently work and
8288         is disabled for now.
8289         [a36dfd4ca935]
8290
8291 2010-05-04  Todd C. Miller  <Todd.Miller@courtesan.com>
8292
8293         * include/sudo_plugin.h, plugins/sample/sample_plugin.c,
8294         plugins/sudoers/iolog.c, plugins/sudoers/ldap.c,
8295         plugins/sudoers/logging.c, plugins/sudoers/plugin_error.c,
8296         plugins/sudoers/sudoers.c, plugins/sudoers/sudoers.h,
8297         src/conversation.c, src/sudo.c, src/sudo_plugin_int.h:
8298         Add pointer to a printf like function to plugin open functon. This
8299         can be used instead of the conversation function to display info and
8300         error messages.
8301         [98734eea8ef1]
8302
8303         * Makefile.in:
8304         Stop if make in a subdir fails
8305         [228bb3ad2dbc]
8306
8307         * src/script.c:
8308         Only set user's tty to blocking mode when doing the final flush.
8309         Flush pipes as well as pty master when the process is done.
8310         [20ff67218666]
8311
8312 2010-05-03  Todd C. Miller  <Todd.Miller@courtesan.com>
8313
8314         * plugins/sudoers/ldap.c:
8315         Use print_error() when displaying ldap config info in debugging
8316         mode.
8317         [d142e0cacb22]
8318
8319         * compat/Makefile.in, compat/strdup.c, compat/strndup.c:
8320         No longer need strdup() or strndup() replacements.
8321         [df53697174ec]
8322
8323         * plugins/sudoers/logging.c, plugins/sudoers/plugin_error.c,
8324         plugins/sudoers/sudoers.h:
8325         Add print_error() function that uses the conversation function to
8326         print a variable number of error strings and use it in log_error().
8327         [b1fa2861b575]
8328
8329         * src/script.c, src/sudo.h, src/term.c:
8330         Do not need the opost flag to term_copy() now that we use pipes for
8331         stdout/stderr when they are not a tty.
8332         [f42811f70a19]
8333
8334         * src/script.c:
8335         Use pipes to the sudo process if stdout or stderr is not a tty.
8336         Still needs some polishing and a decision as to whether it is
8337         desirable to add additonal entry points for logging
8338         stdout/stderr/stdin when they are not ttys. That would allow a
8339         replay program to keep things separate and to know whether the
8340         terminal needs to be in raw mode at replay time.
8341         [1a945e0ab2da]
8342
8343 2010-04-30  Todd C. Miller  <Todd.Miller@courtesan.com>
8344
8345         * plugins/sudoers/Makefile.in, plugins/sudoers/audit.c,
8346         plugins/sudoers/bsm_audit.c, plugins/sudoers/bsm_audit.h,
8347         src/audit.c, src/bsm_audit.c, src/bsm_audit.h:
8348         Move audit sources into the sudoers plugin dir; the driver does not
8349         use them.
8350         [50ec36422cd0]
8351
8352         * compat/getline.c, compat/mksiglist.c, compat/nanosleep.c,
8353         compat/strdup.c, compat/strndup.c, plugins/sample/sample_plugin.c,
8354         plugins/sudoers/boottime.c, plugins/sudoers/getdate.c,
8355         plugins/sudoers/match.c, plugins/sudoers/sudoreplay.c,
8356         plugins/sudoers/timestr.c, plugins/sudoers/vasgroups.c, src/alloc.c,
8357         src/atobool.c, src/audit.c, src/lbuf.c, src/list.c, src/sesh.c,
8358         src/term.c, src/ttysize.c:
8359         Use angle brackets when including headers that can only be found
8360         when an -I flag is specified. The files in the compat dir could get
8361         away with double quotes here but I've converted all the source files
8362         to use angle brackets for consistency.
8363         [9e30a8fc6d4b]
8364
8365         * plugins/sudoers/Makefile.in:
8366         Add missing -I$(top_srcdir) to CPPFLAGS so includes in the compat
8367         dir can be found when building outside the source tree.
8368         [1150934b79dd]
8369
8370         * plugins/sudoers/Makefile.in:
8371         Clean up links in distclean
8372         [78595028be8b]
8373
8374         * plugins/sudoers/Makefile.in:
8375         Hack around VPATH semantic differences by symlinking files we need
8376         from ../../src into the current directory and build those. A better
8377         fix would be to either make a .a or .la file with those files in it
8378         or simply use a single, flat, Makefile instead of per-subdirs
8379         Makefiles.
8380         [892c332d3f05]
8381
8382         * plugins/sudoers/Makefile.in, src/Makefile.in, src/fmt_string.c:
8383         fmt_string is used by the sudoers plugin too so do not include
8384         sudo.h (which is not really needed here anyway)
8385         [231c35e3941f]
8386
8387         * compat/Makefile.in, plugins/sample/Makefile.in,
8388         plugins/sudoers/Makefile.in, src/Makefile.in:
8389         Fix building with non-BSD versions of make such as GNU make.
8390         Requires VPATH support, which should be in any non-neolithic make.
8391         [dc174f135919]
8392
8393         * configure, configure.in, plugins/sudoers/Makefile.in,
8394         plugins/sudoers/auth/sudo_auth.c, plugins/sudoers/sudoers.c,
8395         src/Makefile.in:
8396         Re-enable bsm audit. Currently auditing is done within the sudoers
8397         plugin itself. If possible, this should really be done in the main
8398         driver but we don't presently have the needed data to do that. This
8399         will be re-evaluated when Linux audit support is added.
8400         [1d05a3236bfe]
8401
8402         * compat/Makefile.in, plugins/sample/Makefile.in,
8403         plugins/sudoers/Makefile.in, src/Makefile.in:
8404         Remove extraneous $srcdir and use more .c.lo and .c.o rules instead
8405         of explicit rules in the dependency.
8406         [88f80efd25f0]
8407
8408         * plugins/sudoers/visudo.c:
8409         Fix mismerge; alias_remove_recursive() now returns int
8410         [6257a4849641]
8411
8412 2010-04-29  Todd C. Miller  <Todd.Miller@courtesan.com>
8413
8414         * plugins/sudoers/visudo.c:
8415         Fix a crash when checking a sudoers file that has aliases that
8416         reference themselves. Based on a diff from David Wood.
8417         [545d194484a7]
8418
8419         * src/script.c:
8420         Print signal info after restoring the tty mode, not before.
8421         [a68618e67435]
8422
8423         * src/script.c:
8424         Defer call to alarm() until after we fork the child. Pass correct
8425         pid to terminate_child() If the command exits due to signal, set
8426         alive to false like we do when it exits normally. Add missing
8427         check for errpipe[0] != -1 before using it in FD_ISSET
8428         [22f0a1549391]
8429
8430 2010-04-28  Todd C. Miller  <Todd.Miller@courtesan.com>
8431
8432         * plugins/sudoers/boottime.c:
8433         Use 1/0 instead of TRUE/FALSE so we don't need sudoers.h
8434         [0e627170c6e8]
8435
8436 2010-04-27  Todd C. Miller  <Todd.Miller@courtesan.com>
8437
8438         * src/Makefile.in:
8439         Simplify dependencies by using .c.o and .c.lo rules.
8440         [6abcaef5d1ac]
8441
8442         * configure, configure.in, plugins/sudoers/Makefile.in,
8443         src/Makefile.in:
8444         Substitute in @PROGS@ into src/Makefile to add sesh
8445         [cc46d3b6208f]
8446
8447 2010-04-26  Todd C. Miller  <Todd.Miller@courtesan.com>
8448
8449         * plugins/sudoers/sudoers.c:
8450         Add back calls to log_denial() if sudoers does not allow the
8451         command.
8452         [9783316207f0]
8453
8454         * plugins/sudoers/sudoers.c:
8455         Pass in correct pwflag for list and validate.
8456         [973dd56d4b81]
8457
8458         * plugins/sudoers/env.c:
8459         Add missing check for NULL in validate_env_vars
8460         [1d6eb6957824]
8461
8462         * src/Makefile.in:
8463         Add sudo_noexec.la to "all" target, otherwise it only gets built at
8464         install time.
8465         [644a9694d2ef]
8466
8467         * plugins/sudoers/sudoers.c:
8468         Only set sudo_user.env_vars if the env_add list is empty.
8469         [fccdf6f0e0e2]
8470
8471         * plugins/sudoers/sudoers.c:
8472         Set sudo_user.env_vars so that environment variables specified on
8473         the command line get logged correctly.
8474         [9b51012c491e]
8475
8476         * plugins/sudoers/env.c, plugins/sudoers/logging.c,
8477         plugins/sudoers/sudoers.c, plugins/sudoers/sudoers.h:
8478         Re-enable environment files and setting environment variables on the
8479         command line.
8480         [5662d5645dbd]
8481
8482 2010-04-24  Todd C. Miller  <Todd.Miller@courtesan.com>
8483
8484         * plugins/sudoers/check.c:
8485         Fix typo in last commit (ifndef vs ifdef) Make sure we pass ctime()
8486         a pointer to time_t as tv_sec in struct timeval may be long.
8487         [4de0c46e788e]
8488
8489         * plugins/sudoers/check.c:
8490         Don't stash ctime in on-disk tty ticket info for now; on many
8491         (most?) systems the ctime is updated when the tty is written to.
8492         Once I have a better idea of what systems do not update ctime on
8493         ttys (and have a way to test for this) the ctime stash will be
8494         conditionally re-enabled.
8495         [a90eeec0f648]
8496
8497 2010-04-23  Todd C. Miller  <Todd.Miller@courtesan.com>
8498
8499         * MANIFEST, Makefile.in:
8500         Add back "dist" target, this time using a MANIFEST file
8501         [29277c05499f]
8502
8503         * Makefile.in:
8504         Remove Makefile in distclean target
8505         [83d695f4f450]
8506
8507         * Makefile.in, src/Makefile.in:
8508         Update clean and cleandir targets
8509         [ad7b2afeb9c1]
8510
8511         * include/fileops.h, plugins/sudoers/sudoers.h, src/fileops.c,
8512         src/sudo.h:
8513         Move fileops.c defines and prototypes to filesops.h
8514         [4545e9b6892d]
8515
8516         * plugins/sudoers/check.c:
8517         Lock the tty timestamp when writing. We shouldn't have to lock when
8518         reading since the file is updated via a single write system call.
8519         [0c7276f02696]
8520
8521 2010-04-22  Todd C. Miller  <Todd.Miller@courtesan.com>
8522
8523         * plugins/sudoers/alias.c, plugins/sudoers/check.c,
8524         plugins/sudoers/defaults.c, plugins/sudoers/find_path.c,
8525         plugins/sudoers/getspwuid.c, plugins/sudoers/gettime.c,
8526         plugins/sudoers/goodpath.c, plugins/sudoers/interfaces.c,
8527         plugins/sudoers/iolog.c, plugins/sudoers/ldap.c,
8528         plugins/sudoers/logging.c, plugins/sudoers/match.c,
8529         plugins/sudoers/nonunix.h, plugins/sudoers/parse.c,
8530         plugins/sudoers/pwutil.c, plugins/sudoers/redblack.c,
8531         plugins/sudoers/sudo_nss.c, plugins/sudoers/sudoers.c,
8532         plugins/sudoers/sudoreplay.c, plugins/sudoers/testsudoers.c,
8533         plugins/sudoers/timestr.c, plugins/sudoers/tsgetgrpw.c,
8534         plugins/sudoers/vasgroups.c, plugins/sudoers/visudo.c:
8535         Convert to ANSI C function declarations
8536         [9c45def57cf7]
8537
8538         * plugins/sudoers/sudoers.h:
8539         Remove extraneous bits and classify by source file.
8540         [e8ea9f109ebb]
8541
8542         * include/compat.h:
8543         Add timercmp macro for systems without it
8544         [d3bf87b1d08e]
8545
8546         * plugins/sudoers/boottime.c, plugins/sudoers/check.c,
8547         plugins/sudoers/sudoers.h:
8548         get_boottime() now fills in a timeval struct
8549         [3573c3f44e11]
8550
8551         * plugins/sudoers/check.c:
8552         Store info from stat(2)ing the tty in the tty ticket when tty
8553         tickets are in use. On most systems, this closes the loophole
8554         whereby a user can log out of a tty, log back in and still have the
8555         timestamp be valid.
8556         [53380f9f5242]
8557
8558         * config.h.in, configure.in:
8559         Add timespec2timeval and use it when getting ctime/mtime
8560         [4cb7f7caec2c]
8561
8562 2010-04-20  Todd C. Miller  <Todd.Miller@courtesan.com>
8563
8564         * plugins/sudoers/auth/sudo_auth.c, plugins/sudoers/set_perms.c,
8565         plugins/sudoers/sudoers.c, plugins/sudoers/sudoers.h,
8566         plugins/sudoers/testsudoers.c:
8567         Convert perm setting to push/pop model; still needs some work Use
8568         the stashed runas groups instead of using getgrouplist() Reset perms
8569         to the initial value on error
8570         [09c072ebde8b]
8571
8572         * config.h.in, configure.in:
8573         fix ctim_get and mtim_get macros
8574         [58773dc1e360]
8575
8576         * config.h.in, configure, configure.in, include/compat.h,
8577         plugins/sudoers/check.c, plugins/sudoers/gettime.c,
8578         plugins/sudoers/sudoers.h, plugins/sudoers/visudo.c, src/fileops.c:
8579         Use timeval directly instead of converting to timespec when dealing
8580         with file times and time of day.
8581         [a0ce1ae00a67]
8582
8583         * plugins/sudoers/Makefile.in:
8584         Don't like sudoreplay with libsudoers.la due to a yacc symbol
8585         conflict.
8586         [f1a59cc63a15]
8587
8588 2010-04-18  Todd C. Miller  <Todd.Miller@courtesan.com>
8589
8590         * configure, configure.in:
8591         Darwin >= 9.x has real setreuid(2)
8592         [7ec942a64275]
8593
8594 2010-04-17  Todd C. Miller  <Todd.Miller@courtesan.com>
8595
8596         * plugins/sudoers/env.c, plugins/sudoers/sudoers.h:
8597         Ansify env.c
8598         [f58551bad10a]
8599
8600         * plugins/sudoers/env.c, plugins/sudoers/sudoers.c,
8601         plugins/sudoers/sudoers.h:
8602         Remove remaining references to the environ pointer.
8603         [96faa530816a]
8604
8605 2010-04-16  Todd C. Miller  <Todd.Miller@courtesan.com>
8606
8607         * config.h.in, configure, configure.in, plugins/sudoers/env.c:
8608         Don't change the environ directly in the sudoers plugin
8609         [6db48ed3f7e0]
8610
8611 2010-04-15  Todd C. Miller  <Todd.Miller@courtesan.com>
8612
8613         * plugins/sudoers/sudoers.c:
8614         Fix typo
8615         [4aa452b07f8f]
8616
8617         * plugins/sudoers/alias.c:
8618         Fix use after free in error message when a duplicate alias exists.
8619         [ce1d2812ee34]
8620
8621 2010-04-14  Todd C. Miller  <Todd.Miller@courtesan.com>
8622
8623         * doc/sudo_plugin.cat, doc/sudo_plugin.man.in, doc/sudo_plugin.pod,
8624         src/parse_args.c:
8625         Add a "noninteractive" boolean to the settings passed in to the
8626         plugin's open function that is set when the user specifies the -n
8627         flag.
8628         [68f8d9d6d4d0]
8629
8630         * config.h.in, configure, configure.in, plugins/sudoers/env.c:
8631         Add workaround for the lack of the environ pointer on Mac OS X in
8632         dlopen()ed modules. Use of environ in the sudoers plugin should
8633         ultimately be removed but this will do for the moment.
8634         [80c61647434f]
8635
8636         * plugins/sudoers/visudo.c:
8637         Set errorfile to the sudoers path if we set parse_error manually.
8638         This prevents a NULL dereference in printf() when checking a sudoers
8639         file in strict mode when alias errors are present.
8640         [45e249ca99f7]
8641
8642         * plugins/sudoers/sudoers.c:
8643         Main sudo no longer print "unable to execute" on exec failure so do
8644         it here.
8645         [50aaf62b43b5]
8646
8647 2010-04-13  Todd C. Miller  <Todd.Miller@courtesan.com>
8648
8649         * src/script.c:
8650         Use a pipe to pass back errno to the parent if execve() fails. If we
8651         get an error in script_child(), kill the command and exit.
8652         [dc3bf870f91b]
8653
8654         * doc/sudo_plugin.cat, doc/sudo_plugin.man.in, doc/sudo_plugin.pod,
8655         src/parse_args.c, src/sudo.c:
8656         Handle plugin's open function returning -2 (usage error).
8657         [aadf900c1de8]
8658
8659         * src/script.c:
8660         If execve() fails, leave it to the plugin to print an error string.
8661         [e25748f2d5b9]
8662
8663         * src/script.c:
8664         If execve fails in logging mode, pass the errno directly to the
8665         grandparent on the backchannel and exit. The immediate parent will
8666         get SIGCHLD and try to report that status but its parent will no
8667         longer be listening. It would probably be cleaner to pass this over
8668         a pipe in script_child().
8669         [cb122acc81a8]
8670
8671         * plugins/sudoers/sudoers.c:
8672         Don't override rval with results of check_user() unless it failed.
8673         [46fb7e87ac7d]
8674
8675 2010-04-12  Todd C. Miller  <Todd.Miller@courtesan.com>
8676
8677         * doc/sudoers.cat, doc/sudoers.man.in, doc/sudoers.pod:
8678         Fix typo
8679         [ccd0b693f3da]
8680
8681         * src/parse_args.c:
8682         NULL-terminate env_add
8683         [2c534368a0c3]
8684
8685 2010-04-11  Todd C. Miller  <Todd.Miller@courtesan.com>
8686
8687         * src/sudo.c:
8688         Call the I/O log open function before the I/O version function.
8689         [e88bf898990b]
8690
8691         * plugins/sudoers/iolog.c:
8692         Remove io_conv and just use sudo_conv
8693         [a280052468eb]
8694
8695         * plugins/sudoers/set_perms.c:
8696         Fix set/restore perms for systems w/o setresuid
8697         [4160517f6666]
8698
8699 2010-04-10  Todd C. Miller  <Todd.Miller@courtesan.com>
8700
8701         * plugins/sudoers/check.c, plugins/sudoers/logging.c,
8702         plugins/sudoers/parse.c, plugins/sudoers/set_perms.c,
8703         plugins/sudoers/sudoers.c, plugins/sudoers/sudoers.h:
8704         Primitive set/restore permissions. Will be replaced by a push/pop
8705         model.
8706         [aae102290866]
8707
8708         * src/script.c:
8709         Only need to take action on SIGCHLD in parent if no I/O logger. If
8710         there is an I/O logger we will receive ECONNRESET or EPIPE when we
8711         try to read from the socketpair.
8712         [e1e4560401f6]
8713
8714 2010-04-09  Todd C. Miller  <Todd.Miller@courtesan.com>
8715
8716         * compat/memrchr.c, doc/sudoers.cat, doc/sudoers.man.in,
8717         doc/sudoers.pod, plugins/sudoers/find_path.c:
8718         Merge fb4d571495fa from the 1.7 branch to trunk.
8719         [c8fb424ad4d2]
8720
8721 2010-04-08  Todd C. Miller  <Todd.Miller@courtesan.com>
8722
8723         * src/script.c:
8724         Don't set SA_RESTART when registering SIGALRM handler. Do set
8725         SA_RESTART when registering SIGWINCH handler.
8726         [173472b76525]
8727
8728         * doc/Makefile.in:
8729         Add dev targets for *.man.in and *.cat that don't specfify the
8730         $(srcdir) prefix.
8731         [b62f425da2e4]
8732
8733         * src/script.c:
8734         If log_input or log_output returns false, terminate the command.
8735         [074f4c0c34a0]
8736
8737         * src/script.c:
8738         Better signal handling. Instead of using a single variable to store
8739         the received signal, use an array so we can't lose a signal when
8740         multiple are sent. Fix process termination by SIGALRM in non-I/O
8741         logger mode. Fix relaying terminal signals to the child in non-I/O
8742         logger mode.
8743         [7a4723aca99d]
8744
8745         * src/script.c:
8746         Fix a race between when we get the child pid in the parent and when
8747         the child process exits. The problem exhibited as a hang after a
8748         short-lived process, e.g. "sudo id" when no IO logger was enabled.
8749         [80bcc0aca70b]
8750
8751 2010-04-07  Todd C. Miller  <Todd.Miller@courtesan.com>
8752
8753         * doc/sudoers.cat, doc/sudoers.man.in, doc/sudoers.pod:
8754         Add a note about the security implications of the fast_glob option.
8755         [c37a92ab7c93]
8756
8757 2010-04-06  Todd C. Miller  <Todd.Miller@courtesan.com>
8758
8759         * config.h.in, configure, configure.in:
8760         Fix up some AC_DEFINE descriptions and regen config.h.in
8761         [f4655adc0db3]
8762
8763 2010-04-05  Todd C. Miller  <Todd.Miller@courtesan.com>
8764
8765         * include/missing.h:
8766         No longer check for strdup or strndup for LIBOBJ replacement.
8767         [fdc764ee8109]
8768
8769         * src/script.c:
8770         Avoid installing signal handlers that are io-logger specific. Fixes
8771         job control when no io logger is enabled.
8772         [0853dd0906d4]
8773
8774         * doc/Makefile.in:
8775         Only regen man pages from pod when configured with --with-devel
8776         [ab1995f8103d]
8777
8778 2010-04-04  Todd C. Miller  <Todd.Miller@courtesan.com>
8779
8780         * Makefile, Makefile.in, configure, configure.in:
8781         Top-level Makefile.in. Nothing is currently substituted but this is
8782         needed for separate build dirs.
8783         [e80873cbd201]
8784
8785         * compat/Makefile.in, doc/Makefile.in, plugins/sample/Makefile.in,
8786         plugins/sudoers/Makefile.in, src/Makefile.in:
8787         Fix out-of-tree builds
8788         [59a35bef07b8]
8789
8790         * Merge
8791         [386b848047e9]
8792
8793         * doc/Makefile.in:
8794         We always install sudoreplay in 1.8
8795         [ce52ba6617c9]
8796
8797 2010-04-03  Todd C. Miller  <Todd.Miller@courtesan.com>
8798
8799         * compat/siglist.in:
8800         SIGPOLL is sometimes the same as SIGIO (like on HP-UX)
8801         [6d69e1b05faf]
8802
8803 2010-04-02  Todd C. Miller  <Todd.Miller@courtesan.com>
8804
8805         * configure, configure.in:
8806         No need to provide strdup() or strndup(), sudo uses estrdup() and
8807         estrndup()
8808         [57ec23b72958]
8809
8810 2010-04-04  Todd C. Miller  <Todd.Miller@courtesan.com>
8811
8812         * plugins/sudoers/iolog.c, plugins/sudoers/sudoers.c:
8813         Free str after using it in the version method. Use sudo_conv, not
8814         io_conv since we don't have the IO conversation function pointer in
8815         the I/O version method anymore now that io_open is delayed.
8816         [f2ed132adeb0]
8817
8818 2010-04-02  Todd C. Miller  <Todd.Miller@courtesan.com>
8819
8820         * compat/Makefile.in, compat/mksiglist.c, compat/mksiglist.h,
8821         compat/siglist.in:
8822         Add license to mksiglist.c and note that the bits from pdksh are
8823         public domain
8824         [d8121a2467e8]
8825
8826         * compat/Makefile.in:
8827         Fix LIBOBJDIR vs. srcdir wrt the siglist bits
8828         [164160148421]
8829
8830         * plugins/sudoers/Makefile.in:
8831         Add sudoreplay testsudoers and visudo to clean target
8832         [138a17e51c0c]
8833
8834         * compat/Makefile.in, compat/mksiglist.c, compat/mksiglist.h,
8835         compat/siglist.in, compat/strsignal.c, configure, configure.in,
8836         include/missing.h, src/script.c:
8837         Create our own sys_siglist for systems without it for use by
8838         strsignal()
8839         [2e5da011ebc3]
8840
8841         * compat/Makefile.in:
8842         Remove duplicate $(LIBOBJDIR)
8843         [adf9abc9432f]
8844
8845 2010-04-01  Todd C. Miller  <Todd.Miller@courtesan.com>
8846
8847         * plugins/sudoers/sudoers.c, src/sudo.c, src/sudo_edit.c:
8848         Main sudo should not block signals; the plugin should do this in
8849         check_policy.
8850         [3f3736a7c5ed]
8851
8852 2010-03-31  Todd C. Miller  <Todd.Miller@courtesan.com>
8853
8854         * src/script.c:
8855         Fix a sizeof(ptr) vs. sizeof(*ptr)
8856         [aa1bcf5afcce]
8857
8858         * src/script.c:
8859         Unlike most operating systems, HP-UX select() is not interrupted by
8860         SIGCHLD when the signal is registered with SA_RESTART. If we clear
8861         SA_RESTART when calling sigaction() for SIGCHLD we get the expected
8862         behavior and the code in the select() loops already handles EINTR
8863         correctly.
8864         [9eba0115e35a]
8865
8866         * compat/getprogname.c:
8867         progname should be const
8868         [130228f062b7]
8869
8870         * plugins/sudoers/Makefile.in:
8871         Move --tag=disable-static to when we link sudoers.la, not when we
8872         install.
8873         [ceb5e6c3b78b]
8874
8875         * src/load_plugins.c:
8876         Load the sudoers I/O plugin by default too now that it is hooked up.
8877         [ea38befd0742]
8878
8879 2010-03-30  Todd C. Miller  <Todd.Miller@courtesan.com>
8880
8881         * src/pty.c:
8882         It looks like AIX doesn't need to push STREAMS modules for ptys.
8883         [22da618ba0a1]
8884
8885 2010-03-28  Todd C. Miller  <Todd.Miller@courtesan.com>
8886
8887         * src/parse_args.c, src/sudo.c:
8888         Delay calling the I/O plugin open function until the policy plugin
8889         returns success.
8890         [f3297c325b48]
8891
8892 2010-03-27  Todd C. Miller  <Todd.Miller@courtesan.com>
8893
8894         * plugins/sudoers/Makefile.in, plugins/sudoers/iolog.c,
8895         plugins/sudoers/set_perms.c, plugins/sudoers/sudoers.c,
8896         plugins/sudoers/sudoers.h:
8897         Add back io logging (transcript) support. Currently, the open
8898         function runs too early and it is not possible to use the io module
8899         independently of the policy module.
8900         [9bd932f66226]
8901
8902         * plugins/sudoers/set_perms.c:
8903         Comment out dead code; will be removed when set_perms is rewritten.
8904         [af7a995284f8]
8905
8906 2010-03-23  Todd C. Miller  <Todd.Miller@courtesan.com>
8907
8908         * plugins/sudoers/sudoers.c:
8909         Fix off by one error when allocating user_groups.
8910         [6281fcf9c3bb]
8911
8912 2010-03-22  Todd C. Miller  <Todd.Miller@courtesan.com>
8913
8914         * configure, configure.in, plugins/sudoers/Makefile.in:
8915         Add REPLAY_LIBS for sudoreplay and add -lrt to it on Solaris.
8916         [fbce3e9eda3a]
8917
8918         * plugins/sudoers/sudoers.c:
8919         Fix typo in preserve groups case
8920         [1fd72024fb5a]
8921
8922         * plugins/sudoers/sudoers.c:
8923         In command_info it is "runas_groups" not "groups".
8924         [5c64dce4f285]
8925
8926         * src/sudo.c:
8927         Fix iteration over runas_groups list.
8928         [b3c45a0cd643]
8929
8930         * configure, configure.in, plugins/sudoers/env.c,
8931         plugins/sudoers/match.c, src/script.c:
8932         Merge 5177a284b9ff 549f8f7c2463 88f3181692fe from 1.7 branch.
8933         [a8108a0776c2]
8934
8935         * compat/getgrouplist.c:
8936         getgrouplist(3) for those without it
8937         [4ab4d21e3b16]
8938
8939         * plugins/sudoers/sudoers.c:
8940         Set preserve_groups or groups list in command_info
8941         [1266119ad654]
8942
8943         * src/sudo.c:
8944         Fix setting of groups list
8945         [e75315e40bd4]
8946
8947         * config.h.in, configure, configure.in, include/compat.h,
8948         include/missing.h:
8949         Add checks for getgrset and getgrouplist and use replacement
8950         getgrouplist if the system doesn't support it.
8951         [a62b8ba50863]
8952
8953         * src/parse_args.c:
8954         Pass in preserve_groups when the -P flag is specified as per the
8955         design
8956         [7420c5d15474]
8957
8958         * plugins/sudoers/sudoers.c:
8959         Check preserve_groups and ignore_ticket args with atobool instead of
8960         assuming they are true if present.
8961         [71c905702697]
8962
8963 2010-03-21  Todd C. Miller  <Todd.Miller@courtesan.com>
8964
8965         * plugins/sudoers/Makefile.in, plugins/sudoers/error.c,
8966         plugins/sudoers/plugin_error.c:
8967         Rename plugin-specific error.c to plugin_error.c Wire up visudo,
8968         sudoreplay and testsudoers in the build
8969         [9d581d5fa4d4]
8970
8971         * src/Makefile.in, src/term.c:
8972         term.c does not needto include sudo.h
8973         [f6683cdcd2dd]
8974
8975         * TODO, doc/sudo_plugin.cat, doc/sudo_plugin.man.in,
8976         doc/sudo_plugin.pod:
8977         Document the -2 return in the check_policy section too
8978         [e9cb4c34bbcf]
8979
8980         * doc/sudo_plugin.cat, doc/sudo_plugin.man.in, doc/sudo_plugin.pod,
8981         plugins/sudoers/sudoers.c, plugins/sudoers/sudoers.h,
8982         src/parse_args.c, src/sudo.c, src/sudo.h:
8983         Fix the -s and -i flags and add support for the "implied_shell"
8984         option. If the user does not specify a command, sudo will now pass
8985         in the path to the user's shell and set impied_shell=true. The
8986         plugin can them either check the command normally or return -2 to
8987         cause sudo to print a usage message and exit.
8988         [bf889c38f229]
8989
8990 2010-03-19  Todd C. Miller  <Todd.Miller@courtesan.com>
8991
8992         * config.h.in, configure, configure.in, src/load_plugins.c:
8993         Bring back SUDOERS_PLUGIN but add .dylib -> .so conversion for
8994         Darwin where libraries end in .dylib but modules end in .so
8995         [2c56aaa38e21]
8996
8997         * plugins/sudoers/parse.c:
8998         Better prefix determination now that we can't rely on len==0 to tell
8999         the beginning on an entry.
9000         [622bf18179e9]
9001
9002         * plugins/sudoers/ldap.c:
9003         display_bound_defaults() stub should return 0, not 1 since it is a
9004         count, not a boolean.
9005         [0327a6c3d55d]
9006
9007         * doc/sudo_plugin.cat, doc/sudo_plugin.man.in, doc/sudo_plugin.pod:
9008         Document progname in settings
9009         [42031d56a2e3]
9010
9011         * compat/getprogname.c, include/compat.h,
9012         plugins/sample/sample_plugin.c, plugins/sudoers/sudoers.c,
9013         src/parse_args.c, src/sudo.c:
9014         Rewrite compat/getprogname.c and add setprogname(). The progname is
9015         now passed to the plugin via the settings array.
9016         [25d8663e6006]
9017
9018         * configure, configure.in, plugins/sudoers/Makefile.in:
9019         Fix --with-ldap
9020         [b64b633f426d]
9021
9022         * plugins/sudoers/sudo_nss.c:
9023         Add missing whitespace for Runas and Command-specific defaults
9024         [65f4ddf5545e]
9025
9026         * plugins/sudoers/ldap.c, plugins/sudoers/parse.c,
9027         plugins/sudoers/sudo_nss.c:
9028         Use embedded newlines in lbuf instead of multiple calls to
9029         lbuf_print.
9030         [eed3af9cc3e1]
9031
9032         * src/lbuf.c:
9033         Add support for embedded newlines.
9034         [e11f79b18deb]
9035
9036 2010-03-18  Todd C. Miller  <Todd.Miller@courtesan.com>
9037
9038         * compat/getprogname.c:
9039         If system doesn't support getprogname or __programe and we are
9040         building a shared object don't bother with Argc/Argv, just return
9041         "sudo"
9042         [aebde9062be7]
9043
9044         * config.h.in, configure, configure.in, src/load_plugins.c:
9045         Hard-code sudoers.so instead of using SUDOERS_PLUGIN since libtool
9046         appears to always install a shared object with the .so suffix.
9047         [f9bbd0c0e9d3]
9048
9049         * compat/Makefile.in, configure, configure.in,
9050         plugins/sample/Makefile.in, plugins/sudoers/Makefile.in,
9051         src/Makefile.in:
9052         Play more nicely with libtool and let it build libreplace (was
9053         libmissing) for us.
9054         [a4c6ebb2495c]
9055
9056         * include/missing.h:
9057         Include stdarg.h for va_list rather than requiring all consumers of
9058         missing.h to include stdarg.h themselves.
9059         [37382df948de]
9060
9061         * include/lbuf.h, plugins/sudoers/auth/sudo_auth.c,
9062         plugins/sudoers/check.c, plugins/sudoers/sudo_nss.c,
9063         plugins/sudoers/sudoers.c, plugins/sudoers/sudoers.h, src/lbuf.c,
9064         src/parse_args.c:
9065         Pass in output function to lbuf_init() instead of writing to stdout.
9066         A side effect is that the usage info can now go to stderr as it
9067         should.
9068         [6d261261a072]
9069
9070 2010-03-17  Todd C. Miller  <Todd.Miller@courtesan.com>
9071
9072         * include/lbuf.h, plugins/sudoers/sudo_nss.c,
9073         plugins/sudoers/sudoers.c, plugins/sudoers/sudoers.h, src/lbuf.c,
9074         src/parse_args.c, src/sudo.c:
9075         Use number of tty columns that is passed in user_info instead of
9076         getting it directly in the lbuf code.
9077         [8a16635c2638]
9078
9079         * plugins/sudoers/alias.c, plugins/sudoers/auth/dce.c,
9080         plugins/sudoers/auth/kerb5.c, plugins/sudoers/auth/pam.c,
9081         plugins/sudoers/auth/sia.c, plugins/sudoers/auth/sudo_auth.h,
9082         plugins/sudoers/check.c, plugins/sudoers/defaults.c,
9083         plugins/sudoers/defaults.h, plugins/sudoers/env.c,
9084         plugins/sudoers/getdate.c, plugins/sudoers/getdate.y,
9085         plugins/sudoers/gram.c, plugins/sudoers/gram.y,
9086         plugins/sudoers/interfaces.h, plugins/sudoers/logging.c,
9087         plugins/sudoers/logging.h, plugins/sudoers/match.c,
9088         plugins/sudoers/mon_systrace.h, plugins/sudoers/parse.c,
9089         plugins/sudoers/parse.h, plugins/sudoers/pwutil.c,
9090         plugins/sudoers/redblack.c, plugins/sudoers/redblack.h,
9091         plugins/sudoers/set_perms.c, plugins/sudoers/sudo_nss.h,
9092         plugins/sudoers/sudoers.c, plugins/sudoers/sudoers.h,
9093         plugins/sudoers/sudoreplay.c, plugins/sudoers/testsudoers.c,
9094         plugins/sudoers/timestr.c, plugins/sudoers/toke.c,
9095         plugins/sudoers/toke.l, plugins/sudoers/tsgetgrpw.c,
9096         plugins/sudoers/visudo.c:
9097         Kill __P in sudoers
9098         [63601e6cb171]
9099
9100         * config.h.in, configure, configure.in, src/load_plugins.c:
9101         Set the sudoers plugin name in configure so we get the extension
9102         right.
9103         [edad89924cd1]
9104
9105         * doc/sudo_plugin.cat, doc/sudo_plugin.man.in, doc/sudo_plugin.pod:
9106         Document lines/cols in user_info
9107         [a808872394f3]
9108
9109         * src/Makefile.in, src/sudo.c, src/sudo.h, src/ttysize.c:
9110         Add tty size to user info
9111         [23f3d27e77a7]
9112
9113         * src/script.c:
9114         Use TIOCGSIZE/TIOCSSIZE instead of TIOCGWINSZ/TIOCSWINSZ
9115         [a2208dd09051]
9116
9117 2010-03-16  Todd C. Miller  <Todd.Miller@courtesan.com>
9118
9119         * plugins/sudoers/sudoers.c:
9120         Kill dead code Add missing sigsetjmp in sudo_policy_invalidate Error
9121         out if we fail to lookup the user's name that is passed in
9122         [e4e3728ed482]
9123
9124         * plugins/sudoers/error.c:
9125         Pass the error value back via siglongjmp.
9126         [667b8ad575ce]
9127
9128         * plugins/sudoers/check.c:
9129         Use conversation function for lecture.
9130         [1ab4719f509b]
9131
9132         * plugins/sudoers/check.c:
9133         Don't update ticket file if verify_user returns FALSE.
9134         [2bbc46a39a2b]
9135
9136 2010-03-15  Todd C. Miller  <Todd.Miller@courtesan.com>
9137
9138         * plugins/sudoers/sudoers.c, src/sudo.c:
9139         Wire up invalidate and validate methods for sudoers
9140         [c0630c7bca47]
9141
9142         * plugins/sudoers/check.c, plugins/sudoers/sudoers.c,
9143         plugins/sudoers/sudoers.h:
9144         Add support for -k flag with a command.
9145         [edad239b098b]
9146
9147         * src/parse_args.c:
9148         Allow -k to be specified with a command.
9149         [43a45add9974]
9150
9151         * plugins/sudoers/sudoers.c:
9152         Wire up policy_list
9153         [27cc35699eca]
9154
9155         * plugins/sudoers/error.c:
9156         Add newline at the end of message and space after the colon in
9157         warning message
9158         [5a591aa8e744]
9159
9160         * plugins/sudoers/auth/sudo_auth.c:
9161         Add missing newline after pass password warning
9162         [337dba3870a7]
9163
9164         * plugins/sudoers/sudoers.c:
9165         Set user_groups and user_ngroups based on user_info
9166         [61bee85128c8]
9167
9168         * plugins/sudoers/error.c:
9169         Make this compile
9170         [7041c441e1c8]
9171
9172         * plugins/sudoers/error.c, plugins/sudoers/sudoers.c:
9173         Make _warning in error.c use the conversation function and remove
9174         commented out warning/warningx in sudoers.c.
9175         [7c9b09024b63]
9176
9177         * plugins/sudoers/logging.c:
9178         Use siglongjmp() in log_error for fatal errors
9179         [b50e26f1c73f]
9180
9181         * plugins/sample/Makefile.in, plugins/sudoers/Makefile.in:
9182         Quiet a libtool warning
9183         [b2331fb006bc]
9184
9185         * Makefile:
9186         Build sudoers plugin
9187         [5cdf06e66978]
9188
9189         * plugins/sudoers/gram.c, plugins/sudoers/gram.y:
9190         Use warningx in yyerror() so the conversation function gets used
9191         when built as part of sudoers.
9192         [85f964215eef]
9193
9194 2010-03-14  Todd C. Miller  <Todd.Miller@courtesan.com>
9195
9196         * plugins/sudoers/auth/pam.c:
9197         Rename sudo_conv to conversation to avoid a namespace conflict.
9198         [1ad359d36be9]
9199
9200         * plugins/sudoers/Makefile.in, plugins/sudoers/alias.c,
9201         plugins/sudoers/auth/afs.c, plugins/sudoers/auth/aix_auth.c,
9202         plugins/sudoers/auth/bsdauth.c, plugins/sudoers/auth/dce.c,
9203         plugins/sudoers/auth/fwtk.c, plugins/sudoers/auth/kerb4.c,
9204         plugins/sudoers/auth/kerb5.c, plugins/sudoers/auth/pam.c,
9205         plugins/sudoers/auth/passwd.c, plugins/sudoers/auth/rfc1938.c,
9206         plugins/sudoers/auth/secureware.c, plugins/sudoers/auth/securid.c,
9207         plugins/sudoers/auth/securid5.c, plugins/sudoers/auth/sia.c,
9208         plugins/sudoers/auth/sudo_auth.c, plugins/sudoers/auth/sudo_auth.h,
9209         plugins/sudoers/check.c, plugins/sudoers/defaults.c,
9210         plugins/sudoers/env.c, plugins/sudoers/error.c,
9211         plugins/sudoers/find_path.c, plugins/sudoers/getspwuid.c,
9212         plugins/sudoers/goodpath.c, plugins/sudoers/gram.c,
9213         plugins/sudoers/gram.y, plugins/sudoers/interfaces.c,
9214         plugins/sudoers/ldap.c, plugins/sudoers/logging.c,
9215         plugins/sudoers/match.c, plugins/sudoers/mon_systrace.c,
9216         plugins/sudoers/parse.c, plugins/sudoers/pwutil.c,
9217         plugins/sudoers/redblack.c, plugins/sudoers/set_perms.c,
9218         plugins/sudoers/sudo_nss.c, plugins/sudoers/sudoers.c,
9219         plugins/sudoers/sudoers.h, plugins/sudoers/testsudoers.c,
9220         plugins/sudoers/toke.c, plugins/sudoers/tsgetgrpw.c,
9221         plugins/sudoers/vasgroups.c, plugins/sudoers/visudo.c:
9222         Initial bits of sudoers plugin; still needs work.
9223         [af2a2c59a952]
9224
9225         * config.h.in:
9226         Add HAVE_STRDUP and HAVE_STRNDUP
9227         [50a3c0dd510f]
9228
9229         * compat/Makefile.in, configure, configure.in:
9230         Build libmissing in two flavors (one PIC one non-PIC) and link with
9231         the appropriate one.
9232         [b62f411a4c18]
9233
9234         * Makefile, compat/fnmatch.c, compat/glob.c, compat/nanosleep.c,
9235         compat/utimes.c, plugins/sample/Makefile.in, src/Makefile.in:
9236         Build libmissing in two flavors (one PIC one non-PIC) and link with
9237         the appropriate one.
9238         [e1e04972b5fe]
9239
9240 2010-03-13  Todd C. Miller  <Todd.Miller@courtesan.com>
9241
9242         * include/missing.h:
9243         Add strdup and strndup and fix strsignal
9244         [c159babe2896]
9245
9246 2010-03-12  Todd C. Miller  <Todd.Miller@courtesan.com>
9247
9248         * compat/strdup.c, compat/strndup.c, configure, configure.in,
9249         plugins/sample/Makefile.in, src/Makefile.in:
9250         Add strdup and strndup to compat
9251         [25c9fd399a4d]
9252
9253         * plugins/sample/sample_plugin.c:
9254         Need to include compat.h before missing.h
9255         [c94f7aad380f]
9256
9257         * compat/strsignal.c:
9258         Must check HAVE_DECL_SYS_SIGLIST == 1 (not just if defined) since if
9259         it doesn't exist configure will set it to 0.
9260         [384580566389]
9261
9262         * compat/glob.c:
9263         Fix botched ANSI C coversion of globexp2()
9264         [4a344b8cbe49]
9265
9266         * configure, configure.in:
9267         Remove redundant getgroups check
9268         [0b16ec210c81]
9269
9270         * configure, configure.in, src/lbuf.c, src/script.c, src/term.c:
9271         Require either termios or termio, no more sgtty.
9272         [9b2fa2f17a1c]
9273
9274         * compat/strsignal.c, config.h.in, configure, configure.in:
9275         Change the sys_siglist check to use AC_CHECK_DECLS and also check
9276         for _sys_siglist and__sys_siglist
9277         [2e078fed2408]
9278
9279 2010-03-11  Todd C. Miller  <Todd.Miller@courtesan.com>
9280
9281         * configure, configure.in, src/Makefile.in:
9282         Change SUDO_LDFLAGS to SUDOERS_LDFLAGS and add SUDOERS_OBJS. We now
9283         use SUDO_OBJS for the main driver as part of OBJS.
9284         [9ae4a80a5ade]
9285
9286         * doc/sudo_plugin.cat, doc/sudo_plugin.man.in, doc/sudo_plugin.pod:
9287         Mention in the conversation function section that a newline is not
9288         implicit.
9289         [04a233b6c491]
9290
9291         * include/compat.h:
9292         Add definition of WCOREDUMP for systems without it. This is known
9293         to work on AIX and SunOS 4, but may be incorrect on other systems
9294         that lack WCOREDUMP.
9295         [c85b3ce6b77d]
9296
9297 2010-03-09  Todd C. Miller  <Todd.Miller@courtesan.com>
9298
9299         * plugins/sample/sample_plugin.c, src/conversation.c:
9300         conversation function no longer puts a newline at the end of info or
9301         error messages.
9302         [c534cae1ac4a]
9303
9304 2010-03-07  Todd C. Miller  <Todd.Miller@courtesan.com>
9305
9306         * src/script.c:
9307         Use parent process group id instead of parent process id when
9308         checking foreground status and suspending parent. Fixes an issue
9309         when running commands under /usr/bin/time and others.
9310         [564f528c3bb7]
9311
9312 2010-03-06  Todd C. Miller  <Todd.Miller@courtesan.com>
9313
9314         * aclocal.m4:
9315         transcript option is now --with not --enable
9316         [0646fac4cf93]
9317
9318         * plugins/sample/sample_plugin.c:
9319         Add support to -u and -g flags Check fmt_string retval Add timeout
9320         for debugging purposes
9321         [cfefa4fa60b5]
9322
9323         * src/script.c, src/sudo.c:
9324         Wire up SIGALRM handler Set close on exec flag for child side of the
9325         socketpair Fix signal handling when not doing I/O logging
9326         [379581ec7272]
9327
9328         * src/sudo.c:
9329         g/c unused SIGCHLD handler
9330         [0afa03912dce]
9331
9332         * src/fmt_string.c, src/parse_args.c, src/sudo.c:
9333         Don't use emalloc() in fmt_string(); we want to be able to use it
9334         from a plugin.
9335         [ade64d368147]
9336
9337         * include/list.h:
9338         tq_remove not list_remove
9339         [0e0e1fd5c31c]
9340
9341         * configure, configure.in:
9342         AUTH_OBJS should contain .lo files not .o files.
9343         [c64c82c9d5a2]
9344
9345 2010-03-05  Todd C. Miller  <Todd.Miller@courtesan.com>
9346
9347         * src/parse_args.c:
9348         Simplify conversion of command line args to name=value pairs.
9349         [75ab127c6a94]
9350
9351         * plugins/sample/sample_plugin.c:
9352         Handle NULL reply from conversation function
9353         [6ce09b6cb204]
9354
9355         * compat/getline.c:
9356         Don't depend on emalloc/erealloc
9357         [73df09e2109f]
9358
9359         * plugins/sample/Makefile.in:
9360         Use $(OBJS) instead of sample_plugin.lo
9361         [2d995db9aa99]
9362
9363         * plugins/sample/sample_plugin.c:
9364         runas_user is in settings not user_info
9365         [7ee12068bc57]
9366
9367         * src/parse_args.c:
9368         Fix a mismatch between sudo_settings and settings_pairs that causes
9369         some settings to get the wrong values.
9370         [b1bc6d81a65f]
9371
9372 2010-03-04  Todd C. Miller  <Todd.Miller@courtesan.com>
9373
9374         * src/Makefile.in, src/aix.c, src/alloc.c, src/atobool.c, src/error.c,
9375         src/fileops.c, src/lbuf.c, src/list.c, src/pty.c, src/sesh.c,
9376         src/sudo.c, src/sudo_edit.c, src/term.c, src/zero_bytes.c:
9377         Convert to ANSI C
9378         [d03b6e4a3b75]
9379
9380         * src/load_plugins.c:
9381         Fix strlcpy() return value check.
9382         [7cd66999a374]
9383
9384         * INSTALL, configure, configure.in:
9385         No longer need to substitute in script.o and pty.o; I/O logging
9386         support is always built.
9387         [45250024c5dc]
9388
9389 2010-02-28  Todd C. Miller  <Todd.Miller@courtesan.com>
9390
9391         * src/script.c:
9392         Add fallback to /bin/sh when execve() fails with ENOEXEC.
9393         [7684a15a1352]
9394
9395         * include/alloc.h, src/alloc.c:
9396         Add estrndup()
9397         [47621c83bed9]
9398
9399 2010-02-27  Todd C. Miller  <Todd.Miller@courtesan.com>
9400
9401         * src/script.c, src/sudo.c:
9402         Refactor script_execve() a bit so that it can be used in non-script
9403         mode. Needs more cleanup.
9404         [f09e022d547c]
9405
9406         * src/sudo.c:
9407         Ignore empty entries in command_info list
9408         [1eea9a8de21c]
9409
9410         * include/list.h, src/list.c:
9411         Add tq_remove
9412         [40908a617cb2]
9413
9414         * src/conversation.c:
9415         Pass timeout to tgetpass()
9416         [9e66c918b771]
9417
9418         * Makefile:
9419         Add ChangeLog target
9420         [da4a39150838]
9421
9422         * README, WHATSNEW:
9423         Bump version and update things slightly for sudo 1.8.0
9424         [4b73cc45e2d4]
9425
9426         * configure, configure.in:
9427         Sudo now requires an ANSI/ISO C compiler
9428         [1e51f72e6964]
9429
9430         * src/alloc.c, src/audit.c, src/error.c, src/lbuf.c,
9431         src/sudo_noexec.c:
9432         Convert to ANSI C
9433         [5cbd315dbde8]
9434
9435         * include/alloc.h, include/compat.h, include/error.h, include/lbuf.h,
9436         include/list.h, include/missing.h:
9437         Convert to ANSI C
9438         [3f5016ff64f4]
9439
9440         * compat/charclass.h, compat/closefrom.c, compat/fnmatch.c,
9441         compat/fnmatch.h, compat/getcwd.c, compat/getline.c,
9442         compat/getprogname.c, compat/glob.c, compat/glob.h,
9443         compat/isblank.c, compat/memrchr.c, compat/mkstemp.c,
9444         compat/nanosleep.c, compat/sigaction.c, compat/snprintf.c,
9445         compat/strcasecmp.c, compat/strerror.c, compat/strlcat.c,
9446         compat/strlcpy.c, compat/strsignal.c, compat/utime.h,
9447         compat/utimes.c:
9448         Convert to ANSI C
9449         [0d635c85461c]
9450
9451 2010-02-24  Todd C. Miller  <Todd.Miller@courtesan.com>
9452
9453         * src/sudo.c, src/tgetpass.c:
9454         Make user_details extern so tgetpass can get at the uid and gid. Set
9455         uid/gid to user before executing askpass program. Check environment
9456         for SUDO_ASKPASS and use that if set. TODO: a way for the policy to
9457         set the askpass program itself
9458         [d33606396176]
9459
9460         * src/sudo.c:
9461         No longer need sudo_usage.h in sudo.c
9462         [063e2946c382]
9463
9464         * doc/sudo.cat, doc/sudo.man.in, doc/sudo.pod, doc/sudo_plugin.man.in,
9465         doc/sudo_plugin.pod, src/Makefile.in, src/parse_args.c,
9466         src/sudo_usage.h.in:
9467         Document -D level command line flag which maps to the debug_level
9468         setting.
9469         [61f1e2ab3ac1]
9470
9471         * doc/sudo_plugin.cat, doc/sudo_plugin.man.in, doc/sudo_plugin.pod:
9472         Document debug_level in plugin doc. Still need to document the -D
9473         flag in sudo itself.
9474         [8c62daea3e9b]
9475
9476 2010-02-21  Todd C. Miller  <Todd.Miller@courtesan.com>
9477
9478         * plugins/sample/sample_plugin.c:
9479         include missing,h for vasprintf
9480         [92503de49b39]
9481
9482         * doc/Makefile.in, doc/plugin.pod, doc/sudo_plugin.cat,
9483         doc/sudo_plugin.man.in, doc/sudo_plugin.pod:
9484         Rename plugin.pod -> sudo_plugin.pod and wire into Makefile
9485         [14cfb4775238]
9486
9487         * plugins/sample/sample_plugin.c:
9488         Need to include limits.h
9489         [bda7f74343d2]
9490
9491         * compat/glob.c:
9492         No more sudo_getpw*
9493         [232e52907634]
9494
9495         * plugins/sample/Makefile.in, src/Makefile.in:
9496         Add missing compat bits
9497         [4843dd000e08]
9498
9499         * compat/closefrom.c, compat/mkstemp.c, plugins/sample/Makefile.in:
9500         compat files should not include sudo.h wire up compat in sample
9501         plugin
9502         [a175b8185e0f]
9503
9504         * Makefile, configure, configure.in, doc/Makefile.in, src/Makefile.in:
9505         Fix up compat dependencies. Fix distclean target in doc/Makefile.in
9506         [57e49bc20857]
9507
9508         * configure, configure.in:
9509         Fix typo
9510         [333655e3d5fe]
9511
9512         * plugins/sample/sample_plugin.c:
9513         Log input and output to temp files for proof of concept.
9514         [ae1dfc34f7d6]
9515
9516         * Makefile, configure, configure.in, doc/Makefile.in:
9517         Add doc Makefile.in and wire it up
9518         [6a310443c87d]
9519
9520         * src/script.c:
9521         Handle SIGSTOP in addition to SIGTSTP. Fixes a problem with
9522         suspending a shell with the "suspend" builtint.
9523         [3d65f182819a]
9524
9525         * src/script.c:
9526         In child, handle parent side of the pipe going away.
9527         [a29c14d78cd9]
9528
9529         * src/script.c:
9530         No longer need to check for explicit death of the child (process #2)
9531         since if it dies we will get EPIPE from the socketpair. Fix a
9532         sizeof() that was causing a spurious error. Convert SCRIPT_DEBUG to
9533         sudo_debug.
9534         [24c55dd4ff60]
9535
9536         * src/sudo.c:
9537         Make sudo_debug do a single vfprintf() which will result in a single
9538         write call on most systems. Avoids problems with interleaved debug
9539         printf from different processes. Also remove an extraneous error
9540         case since recv() can't return a short read and add some more XXX.
9541         [b37a8533ef1e]
9542
9543 2010-02-20  Todd C. Miller  <Todd.Miller@courtesan.com>
9544
9545         * src/script.c:
9546         Fix uninitialized variable.
9547         [e012a0a30890]
9548
9549         * src/Makefile.in:
9550         Fix sudo install target
9551         [1417fa4b4ab9]
9552
9553         * src/parse_args.c, src/sudo.c, src/sudo.h:
9554         Wire up debug_level
9555         [144fab289c73]
9556
9557         * src/Makefile.in:
9558         Fix dependencies
9559         [5170940af2ce]
9560
9561         * configure, configure.in:
9562         Fix setting of plugin dir
9563         [144eda170a72]
9564
9565         * Makefile:
9566         add clean targets
9567         [d53f6f6f5c3a]
9568
9569         * src/atobool.c:
9570         Add missing source for sudo front end
9571         [42487de9c489]
9572
9573         * plugins/sample/Makefile.in, plugins/sample/sample_plugin.c:
9574         Sample plugin demonstrating the sudo plugin API
9575         [f1fd62d7644f]
9576
9577         * Makefile, configure, configure.in, install-sh, pathnames.h.in,
9578         plugins/sudoers/install-sh, src/Makefile.in, src/conversation.c,
9579         src/fileops.c, src/fmt_string.c, src/load_plugins.c,
9580         src/parse_args.c, src/pty.c, src/script.c, src/sudo.c, src/sudo.h,
9581         src/sudo_plugin_int.h, src/sudo_usage.h.in, src/tgetpass.c,
9582         sudo_usage.h.in:
9583         Modular sudo front-end which loads policy and I/O plugins that do
9584         most the actual work. Currently relies on dynamic loading using
9585         dlopen(). See doc/plugin.pod for the plugin API.
9586         [924f6eb2fbba]
9587
9588         * doc/plugin.pod, include/sudo_plugin.h:
9589         Sudo plugin API
9590         [374ccbbd24ae]
9591
9592         * compat/fnmatch.c, compat/glob.c, compat/nanosleep.c,
9593         compat/utimes.c, plugins/sudoers/check.c, plugins/sudoers/gettime.c,
9594         plugins/sudoers/match.c, plugins/sudoers/sudoreplay.c,
9595         plugins/sudoers/testsudoers.c, plugins/sudoers/visudo.c,
9596         src/fileops.c, src/sudo_edit.c:
9597         Replace emul/include.h with compat/include.h to match new source
9598         tree layout.
9599         [7eccd10449a1]
9600
9601         * src/lbuf.c:
9602         Include missing.h for memrchr() proto
9603         [03abd63a8a33]
9604
9605         * HISTORY, LICENSE, Makefile.binary.in, Makefile.in, PORTING,
9606         TROUBLESHOOTING, UPGRADE, aix.c, aixcrypt.exp, alias.c, alloc.c,
9607         alloc.h, audit.c, auth/API, auth/afs.c, auth/aix_auth.c,
9608         auth/bsdauth.c, auth/dce.c, auth/fwtk.c, auth/kerb4.c, auth/kerb5.c,
9609         auth/pam.c, auth/passwd.c, auth/rfc1938.c, auth/secureware.c,
9610         auth/securid.c, auth/securid5.c, auth/sia.c, auth/sudo_auth.c,
9611         auth/sudo_auth.h, boottime.c, bsm_audit.c, bsm_audit.h, check.c,
9612         closefrom.c, compat.h, compat/charclass.h, compat/closefrom.c,
9613         compat/fnmatch.c, compat/fnmatch.h, compat/getcwd.c,
9614         compat/getline.c, compat/getprogname.c, compat/glob.c,
9615         compat/glob.h, compat/isblank.c, compat/memrchr.c, compat/mkstemp.c,
9616         compat/nanosleep.c, compat/sigaction.c, compat/snprintf.c,
9617         compat/strcasecmp.c, compat/strerror.c, compat/strlcat.c,
9618         compat/strlcpy.c, compat/strsignal.c, compat/timespec.h,
9619         compat/utime.h, compat/utimes.c, def_data.c, def_data.h,
9620         def_data.in, defaults.c, defaults.h, doc/HISTORY, doc/LICENSE,
9621         doc/PORTING, doc/TROUBLESHOOTING, doc/UPGRADE, doc/history.pod,
9622         doc/license.pod, doc/sample.pam, doc/sample.sudoers,
9623         doc/sample.syslog.conf, doc/schema.ActiveDirectory,
9624         doc/schema.OpenLDAP, doc/schema.iPlanet, doc/sudo.cat,
9625         doc/sudo.man.in, doc/sudo.man.pl, doc/sudo.pod, doc/sudoers.cat,
9626         doc/sudoers.ldap.cat, doc/sudoers.ldap.man.in, doc/sudoers.ldap.pod,
9627         doc/sudoers.man.in, doc/sudoers.man.pl, doc/sudoers.pod,
9628         doc/sudoreplay.cat, doc/sudoreplay.man.in, doc/sudoreplay.pod,
9629         doc/visudo.cat, doc/visudo.man.in, doc/visudo.pod, emul/charclass.h,
9630         emul/fnmatch.h, emul/glob.h, emul/timespec.h, emul/utime.h, env.c,
9631         error.c, error.h, fileops.c, find_path.c, fnmatch.c, getcwd.c,
9632         getdate.c, getdate.y, getline.c, getprogname.c, getspwuid.c,
9633         gettime.c, glob.c, goodpath.c, gram.c, gram.h, gram.y, history.pod,
9634         include/alloc.h, include/compat.h, include/error.h, include/lbuf.h,
9635         include/list.h, include/missing.h, ins_2001.h, ins_classic.h,
9636         ins_csops.h, ins_goons.h, install-sh, insults.h, interfaces.c,
9637         interfaces.h, isblank.c, lbuf.c, lbuf.h, ldap.c, license.pod,
9638         list.c, list.h, logging.c, logging.h, match.c, memrchr.c, missing.h,
9639         mkdefaults, mkstemp.c, mon_systrace.c, mon_systrace.h, nanosleep.c,
9640         nonunix.h, parse.c, parse.h, plugins/sudoers/Makefile.binary.in,
9641         plugins/sudoers/Makefile.in, plugins/sudoers/aixcrypt.exp,
9642         plugins/sudoers/alias.c, plugins/sudoers/auth/API,
9643         plugins/sudoers/auth/afs.c, plugins/sudoers/auth/aix_auth.c,
9644         plugins/sudoers/auth/bsdauth.c, plugins/sudoers/auth/dce.c,
9645         plugins/sudoers/auth/fwtk.c, plugins/sudoers/auth/kerb4.c,
9646         plugins/sudoers/auth/kerb5.c, plugins/sudoers/auth/pam.c,
9647         plugins/sudoers/auth/passwd.c, plugins/sudoers/auth/rfc1938.c,
9648         plugins/sudoers/auth/secureware.c, plugins/sudoers/auth/securid.c,
9649         plugins/sudoers/auth/securid5.c, plugins/sudoers/auth/sia.c,
9650         plugins/sudoers/auth/sudo_auth.c, plugins/sudoers/auth/sudo_auth.h,
9651         plugins/sudoers/boottime.c, plugins/sudoers/check.c,
9652         plugins/sudoers/def_data.c, plugins/sudoers/def_data.h,
9653         plugins/sudoers/def_data.in, plugins/sudoers/defaults.c,
9654         plugins/sudoers/defaults.h, plugins/sudoers/env.c,
9655         plugins/sudoers/find_path.c, plugins/sudoers/getdate.c,
9656         plugins/sudoers/getdate.y, plugins/sudoers/getspwuid.c,
9657         plugins/sudoers/gettime.c, plugins/sudoers/goodpath.c,
9658         plugins/sudoers/gram.c, plugins/sudoers/gram.h,
9659         plugins/sudoers/gram.y, plugins/sudoers/ins_2001.h,
9660         plugins/sudoers/ins_classic.h, plugins/sudoers/ins_csops.h,
9661         plugins/sudoers/ins_goons.h, plugins/sudoers/install-sh,
9662         plugins/sudoers/insults.h, plugins/sudoers/interfaces.c,
9663         plugins/sudoers/interfaces.h, plugins/sudoers/ldap.c,
9664         plugins/sudoers/logging.c, plugins/sudoers/logging.h,
9665         plugins/sudoers/match.c, plugins/sudoers/mkdefaults,
9666         plugins/sudoers/mon_systrace.c, plugins/sudoers/mon_systrace.h,
9667         plugins/sudoers/nonunix.h, plugins/sudoers/parse.c,
9668         plugins/sudoers/parse.h, plugins/sudoers/pwutil.c,
9669         plugins/sudoers/redblack.c, plugins/sudoers/redblack.h,
9670         plugins/sudoers/set_perms.c, plugins/sudoers/sudo_nss.c,
9671         plugins/sudoers/sudo_nss.h, plugins/sudoers/sudoers,
9672         plugins/sudoers/sudoers.c, plugins/sudoers/sudoers.h,
9673         plugins/sudoers/sudoers2ldif, plugins/sudoers/sudoreplay.c,
9674         plugins/sudoers/testsudoers.c, plugins/sudoers/timestr.c,
9675         plugins/sudoers/toke.c, plugins/sudoers/toke.l,
9676         plugins/sudoers/tsgetgrpw.c, plugins/sudoers/vasgroups.c,
9677         plugins/sudoers/visudo.c, pty.c, pwutil.c, redblack.c, redblack.h,
9678         sample.pam, sample.sudoers, sample.syslog.conf,
9679         schema.ActiveDirectory, schema.OpenLDAP, schema.iPlanet, script.c,
9680         selinux.c, sesh.c, set_perms.c, sigaction.c, snprintf.c, src/aix.c,
9681         src/alloc.c, src/audit.c, src/bsm_audit.c, src/bsm_audit.h,
9682         src/error.c, src/fileops.c, src/lbuf.c, src/list.c, src/pty.c,
9683         src/script.c, src/selinux.c, src/sesh.c, src/sudo_edit.c,
9684         src/sudo_noexec.c, src/term.c, src/tgetpass.c, src/zero_bytes.c,
9685         strcasecmp.c, strerror.c, strlcat.c, strlcpy.c, strsignal.c, sudo.c,
9686         sudo.cat, sudo.h, sudo.man.in, sudo.man.pl, sudo.pod, sudo_edit.c,
9687         sudo_noexec.c, sudo_nss.c, sudo_nss.h, sudoers, sudoers.cat,
9688         sudoers.ldap.cat, sudoers.ldap.man.in, sudoers.ldap.pod,
9689         sudoers.man.in, sudoers.man.pl, sudoers.pod, sudoers2ldif,
9690         sudoreplay.c, sudoreplay.cat, sudoreplay.man.in, sudoreplay.pod,
9691         term.c, testsudoers.c, tgetpass.c, timestr.c, toke.c, toke.l,
9692         tsgetgrpw.c, utimes.c, vasgroups.c, visudo.c, visudo.cat,
9693         visudo.man.in, visudo.pod, zero_bytes.c:
9694         Rework source layout in preparation for modular sudo.
9695         [7fc1978c6ad5]
9696
9697 2010-02-13  Todd C. Miller  <Todd.Miller@courtesan.com>
9698
9699         * Avoid a duplicate fclose() of the sudoers file.
9700         [5dba851088c1]
9701
9702         * Fix size arg when realloc()ing include stack. From Daniel Kopecek
9703         [0a2935061e33]
9704
9705         * Use setrlimit64(), if available, instead of setrlimit() when setting
9706         AIX resource limits since rlim_t is 32bits.
9707         [353db89bac61]
9708
9709         * Fix use after free when sending error messages. From Timo Juhani
9710         Lindfors
9711         [e50dbd902382]
9712
9713         * ChangeLog, Makefile.in:
9714         Generate the ChangeLog as part of "make dist" instead of having it
9715         in the repo.
9716         [251b70964673]
9717
9718 2010-01-17  Todd C. Miller  <Todd.Miller@courtesan.com>
9719
9720         * Makefile.binary.in, Makefile.in, aix.c, alias.c, alloc.c, alloc.h,
9721         auth/afs.c, auth/aix_auth.c, auth/bsdauth.c, auth/dce.c,
9722         auth/fwtk.c, auth/kerb4.c, auth/kerb5.c, auth/pam.c, auth/passwd.c,
9723         auth/rfc1938.c, auth/secureware.c, auth/securid.c, auth/securid5.c,
9724         auth/sia.c, auth/sudo_auth.c, auth/sudo_auth.h, check.c,
9725         closefrom.c, compat.h, configure.in, defaults.c, defaults.h,
9726         emul/charclass.h, emul/timespec.h, env.c, error.c, error.h,
9727         fileops.c, find_path.c, getcwd.c, getprogname.c, getspwuid.c,
9728         gettime.c, goodpath.c, gram.c, gram.y, ins_2001.h, ins_classic.h,
9729         ins_csops.h, ins_goons.h, insults.h, interfaces.c, interfaces.h,
9730         isblank.c, lbuf.c, lbuf.h, ldap.c, list.c, list.h, logging.c,
9731         logging.h, match.c, memrchr.c, missing.h, mkinstalldirs, mkstemp.c,
9732         mon_systrace.c, nanosleep.c, parse.c, parse.h, pathnames.h.in,
9733         pty.c, pwutil.c, redblack.c, redblack.h, sample.pam, sample.sudoers,
9734         sample.syslog.conf, script.c, selinux.c, sesh.c, set_perms.c,
9735         sigaction.c, snprintf.c, strcasecmp.c, strerror.c, strlcat.c,
9736         strlcpy.c, strsignal.c, sudo.c, sudo.h, sudo.man.in, sudo.pod,
9737         sudo_edit.c, sudo_noexec.c, sudo_nss.c, sudo_nss.h, sudo_usage.h.in,
9738         sudoers.ldap.man.in, sudoers.ldap.pod, sudoers.man.in, sudoers.pod,
9739         sudoers2ldif, sudoreplay.c, sudoreplay.man.in, sudoreplay.pod,
9740         term.c, testsudoers.c, tgetpass.c, timestr.c, toke.c, toke.l,
9741         utimes.c, visudo.c, visudo.man.in, visudo.pod, zero_bytes.c:
9742         Remove CVS $Sudo$ tags.
9743         [de683a8b31f5]
9744
9745 2010-01-18  convert-repo  <convert-repo>
9746
9747         * .hgtags:
9748         update tags
9749         [9b7aa44ae436]
9750
9751 2009-12-26  Todd C. Miller  <Todd.Miller@courtesan.com>
9752
9753         * sudo_usage.h.in:
9754         make this match sudoers SYNOPSIS
9755         [c74ba66944c2]
9756
9757         * lbuf.c, parse.c:
9758         Print a newline between Runas and Command-specific defaults in sudo
9759         -l.
9760         [b5bdfcc9ce4b]
9761
9762         * term.c:
9763         Use SET and CLR macros in term_raw
9764         [50ca42609d6c]
9765
9766         * sudoreplay.c:
9767         Set stdin to non-blocking mode early instead of in check_input. Use
9768         term_raw instead of term_cbreak since the data we get has already
9769         been expanded via OPOST.
9770         [51c47e803d62]
9771
9772 2009-12-23  Todd C. Miller  <Todd.Miller@courtesan.com>
9773
9774         * script.c, term.c:
9775         Enable/disable all postprocessing instead of just nl->crnl
9776         processing since things like tab expansion matter too. However, if
9777         stdout is a tty leave postprocessing on in the pty since we run into
9778         problems doing it only on the real stdout with .e.g nvi.
9779         [62666e309673]
9780
9781 2009-12-19  Todd C. Miller  <Todd.Miller@courtesan.com>
9782
9783         * check.c:
9784         If tty_tickets is enabled and there is no tty, prompt for a
9785         password. Do not lecture user for "sudo -k command" if user has a
9786         timestamp.
9787         [5880200c5f6b]
9788
9789         * INSTALL:
9790         Document missing options: --with-efence and --with-bsm-audit
9791         [d83afcdf9ff3]
9792
9793         * sudo.cat, sudo.man.in, sudo.pod, sudoers.cat, sudoers.ldap.cat,
9794         sudoers.ldap.man.in, sudoers.ldap.pod, sudoers.man.in, sudoers.pod,
9795         sudoreplay.cat, sudoreplay.man.in, sudoreplay.pod, visudo.cat,
9796         visudo.man.in, visudo.pod:
9797         username -> user name groupname -> group name hostname -> host name
9798         [10c85646f45d]
9799
9800         * INSTALL, README.LDAP, sudoers.pod:
9801         filename -> file name like the rest of the docs
9802         [1ef8ab5a9018]
9803
9804 2009-12-17  Todd C. Miller  <Todd.Miller@courtesan.com>
9805
9806         * parse.c:
9807         Fix printing of entries with multiple host entries on a single line.
9808         [226ceaf91d8d]
9809
9810 2009-12-14  Todd C. Miller  <Todd.Miller@courtesan.com>
9811
9812         * sudoers.pod:
9813         Mention that targetpw affects the timestamp file name.
9814         [a26e22e4f72e]
9815
9816         * def_data.c, def_data.h, def_data.in, defaults.c, script.c,
9817         sudoers.pod:
9818         Add compress_transcript option.
9819         [6e94f8cb9dfb]
9820
9821 2009-12-13  Todd C. Miller  <Todd.Miller@courtesan.com>
9822
9823         * configure, configure.in:
9824         bump to 1.7.3b2
9825         [906d7e347d15]
9826
9827         * pwutil.c, set_perms.c, sudo.c, sudo_nss.c:
9828         Better split of membership vs. traditional group check in
9829         user_in_group(). Allow user_ngroups to be < 0 if getgroups() fails.
9830         [6ebc55d4716b]
9831
9832 2009-12-12  Todd C. Miller  <Todd.Miller@courtesan.com>
9833
9834         * pwutil.c:
9835         Fix pasto and add default return value.
9836         [7973b5e4599c]
9837
9838         * check.c, match.c, pwutil.c, sudo.h:
9839         refactor group member checking into user_in_group()
9840         [48ca8c2eddf8]
9841
9842         * check.c, config.h.in, configure, configure.in, match.c, sudo.c,
9843         sudo.h:
9844         Add support for mbr_check_membership() as present in darwin.
9845         [5501aed02b9f]
9846
9847 2009-12-10  Todd C. Miller  <Todd.Miller@courtesan.com>
9848
9849         * match.c:
9850         Rename label to be accurate
9851         [3af17dd960f7]
9852
9853         * Makefile.in, boottime.c, check.c, config.h.in, configure,
9854         configure.in, sudo.h:
9855         Treat timestamp files from before we booted as old. Idea from and
9856         Apple patch.
9857         [5c96e484c05a]
9858
9859 2009-12-09  Todd C. Miller  <Todd.Miller@courtesan.com>
9860
9861         * sudo.c, sudo.pod, sudo_usage.h.in:
9862         Allow the -u flag to be used in conjunction with the -v flag as per
9863         older versions of sudo.
9864         [591e9fc13c1a]
9865
9866         * logging.c:
9867         fix typo in last commit
9868         [4fd0c692dcf0]
9869
9870 2009-12-08  Todd C. Miller  <Todd.Miller@courtesan.com>
9871
9872         * logging.c:
9873         Convert fmt_first and fmt_confd into macros.
9874         [32e870158b29]
9875
9876         * sudoers.pod:
9877         timeouts can be floats now
9878         [89de639a9679]
9879
9880         * WHATSNEW, def_data.c, def_data.h, def_data.in, defaults.c,
9881         defaults.h, mkdefaults:
9882         Add support for floating point timeout values (e.g. 2.5 minutes).
9883         [210ffa291733]
9884
9885 2009-12-07  Todd C. Miller  <Todd.Miller@courtesan.com>
9886
9887         * sudo.pod:
9888         The -L flag will be removed in sudo 1.7.4
9889         [ffd026084333]
9890
9891 2009-12-06  Todd C. Miller  <Todd.Miller@courtesan.com>
9892
9893         * sudoreplay.c:
9894         Fix a bug due to order of operators.
9895         [938d34464283]
9896
9897 2009-11-23  Todd C. Miller  <Todd.Miller@courtesan.com>
9898
9899         * match.c:
9900         cmnd_matches() already deals with negation so _cmndlist_matches()
9901         does not need to do so itself. Fixes a bug with negated entries in
9902         a Cmnd_List.
9903         [71c845f6ce73]
9904
9905 2009-11-22  Todd C. Miller  <Todd.Miller@courtesan.com>
9906
9907         * sudo.c:
9908         Don't exit() from open_sudoers, just return NULL for all errors.
9909         [8cfa832f972a]
9910
9911         * script.c:
9912         Can't rely on the shell sending us SIGCONT when transitioning from
9913         backgroup to foreground process.
9914         [3c6c5b6cb4b3]
9915
9916         * toke.c, toke.l:
9917         Add missing extern def for parse_error
9918         [45b7b59d03b7]
9919
9920 2009-11-21  Todd C. Miller  <Todd.Miller@courtesan.com>
9921
9922         * toke.c, toke.l:
9923         Avoid a parse error when #includedir doesn't find any files. Closes
9924         bug #375
9925         [1ce1b850e9e6]
9926
9927         * Makefile.in:
9928         Include sudo.man.pl and sudoers.man.pl in the distribution tarball.
9929         [6a22e32da108]
9930
9931 2009-11-15  Todd C. Miller  <Todd.Miller@courtesan.com>
9932
9933         * script.c:
9934         Start command out in foreground mode if stdout is a tty. Works
9935         around issues with some curses-based programs that don't handle
9936         tcsetattr getting interrupted by a signal. Still allows us to avoid
9937         hogging the tty if the command is part of a pipeline.
9938         [1c32f2b94769]
9939
9940         * script.c, sudo.c, sudo.h, sudoreplay.c, term.c, tgetpass.c:
9941         Use a socketpair to pass signals from parent to child. Child will
9942         now pass command status change info back via the socketpair. This
9943         allows the parent to distinguish between signals it has been sent
9944         directly and signals the command has received. It also means the
9945         parent can once again print the signal notifications to the tty so
9946         all writes to the pty master occur in the parent. The command is
9947         now always started in background mode with tty signals handled by
9948         the parent.
9949         [c6790b82986d]
9950
9951 2009-11-04  Todd C. Miller  <Todd.Miller@courtesan.com>
9952
9953         * configure, configure.in:
9954         Fix a few typos in the descriptions; from Jeff Makey Only do the
9955         check for krb5_get_init_creds_opt_free() taking two arguments if we
9956         find krb5_get_init_creds_opt_alloc(). Otherwise we will get a false
9957         positive when using our own krb5_get_init_creds_opt_free which takes
9958         only a single argument.
9959         [845a9ff6f93d]
9960
9961 2009-11-03  Todd C. Miller  <Todd.Miller@courtesan.com>
9962
9963         * configure, configure.in:
9964         Remove a spurious comma in the kerb5 bits.
9965         [3433eab083db]
9966
9967         * auth/kerb5.c:
9968         Call krb5_get_init_creds_opt_init() in our emulated
9969         krb5_get_init_creds_opt_alloc() for MIT kerberos.
9970         [7ffb40bf43e9]
9971
9972 2009-11-01  Todd C. Miller  <Todd.Miller@courtesan.com>
9973
9974         * config.h.in:
9975         Add HAVE_ZLIB
9976         [9297bde61ecc]
9977
9978         * script.c:
9979         Need to ignore SIGTT{IN,OU} in child when running the command in the
9980         background. Also some minor cleanup.
9981         [dc208d982319]
9982
9983 2009-10-31  Todd C. Miller  <Todd.Miller@courtesan.com>
9984
9985         * script.c:
9986         Instead of calling sigsuspend when waiting for SIGUSR[12] from
9987         parent, install the signal handlers w/o SA_RESTART and let them
9988         interrupt waitpid().
9989         [759c7d18203b]
9990
9991         * script.c:
9992         Pass along SIGHUP and SIGTERM from parent to child.
9993         [035b0e254568]
9994
9995         * script.c:
9996         Close unused bits of script_fds in processes that don't need them.
9997         Restore default SIGCONT handler in child.
9998         [e037378ab0c1]
9999
10000         * script.c:
10001         Update foreground/background status in SIGCONT handler in parent
10002         process.
10003         [3f7f91333264]
10004
10005 2009-10-25  Todd C. Miller  <Todd.Miller@courtesan.com>
10006
10007         * script.c:
10008         Defer setting terminal into raw mode until just before we fork() and
10009         only do it if sudo is the foreground process. If we get SIGTT{IN,OU}
10010         and sudo is already in the foreground be sure to set raw mode before
10011         continuing the child.
10012         [1102ef40832c]
10013
10014 2009-10-24  Todd C. Miller  <Todd.Miller@courtesan.com>
10015
10016         * script.c:
10017         Fix handling of SIGTTOU/SIGTTIN in program being run. We now only
10018         give the command the controlling tty if the main sudo process is the
10019         foreground process.
10020         [cf3a91cb5682]
10021
10022         * script.c:
10023         Don't bother with sudo_waitpid() here for now.
10024         [9086de480c2d]
10025
10026         * script.c:
10027         fix non-zlib case
10028         [a258bff0f9a6]
10029
10030 2009-10-23  Todd C. Miller  <Todd.Miller@courtesan.com>
10031
10032         * script.c:
10033         Remove non-wroking code that crept into rev 1.55
10034         [2802dd55cff5]
10035
10036 2009-10-22  Todd C. Miller  <Todd.Miller@courtesan.com>
10037
10038         * INSTALL, configure, configure.in, script.c, sudoreplay.c:
10039         First pass at zlib support for transcript data files
10040         [5d10260807da]
10041
10042         * Makefile.in:
10043         remove vestiges of ZLDFLAGS
10044         [1fa0caf1c0fb]
10045
10046         * script.c:
10047         Add missing variable declaration for when TIOCSCTTY is not defined.
10048         Need to include sys/termio.h for TIOCSCTTY on some systems.
10049         [ee7f41ac2709]
10050
10051         * script.c:
10052         when resuming command, send SIGCONT to its pgrp not just pid
10053         [5cd63c1d565b]
10054
10055         * selinux.c:
10056         remove unused variable
10057         [df67df4be228]
10058
10059         * script.c:
10060         include selinux.h for is_selinux_enabled() proto
10061         [85ebaa880cc1]
10062
10063         * script.c:
10064         Don't use log_error() in the child process.
10065         [def65fe2a433]
10066
10067         * script.c:
10068         Do I/O in parent instead of child since the parent can have both
10069         /dev/tty as well as the pty fds open. The child just sets things up
10070         and waits for its grandchild and writes the signal description to
10071         the pty master if the command was killed by a signal.
10072         [95e473208982]
10073
10074 2009-10-18  Todd C. Miller  <Todd.Miller@courtesan.com>
10075
10076         * missing.h, sudo.h:
10077         Move two struct forward declarations from sudo.h to missing.h
10078         [90ad28294a8c]
10079
10080         * script.c:
10081         Make comment at the top of script_exec() match reality.
10082         [c5042d27dbe0]
10083
10084         * sudo.c:
10085         if neither stdin nor stdout is a tty, check stderr
10086         [c532ff20c8d8]
10087
10088         * Makefile.in:
10089         Add back dependecy of gram.h on gram.y
10090         [c58382b7fcca]
10091
10092         * script.c:
10093         Make transcript mode work as long as we can figure out our tty, even
10094         if it is not stdin. We'd like to use /dev/tty but that won't be
10095         valid after the setsid().
10096         [7b8bba8d99e7]
10097
10098 2009-10-17  Todd C. Miller  <Todd.Miller@courtesan.com>
10099
10100         * config.h.in, configure, configure.in, pty.c:
10101         Add support for IRIX-style dynamic ptys
10102         [bedc9bac44c1]
10103
10104         * Makefile.in, alloc.h, getline.c, sudo.h, sudoreplay.c:
10105         Move alloc.c protos into alloc.h
10106         [b6a90649617d]
10107
10108         * missing.h:
10109         Move prototypes for missing libc functions to missing.h
10110         [dda9ae1ccaf8]
10111
10112         * Makefile.in, sudo.h, sudoreplay.c:
10113         Move prototypes for missing libc functions to missing.h
10114         [7483166b577b]
10115
10116 2009-10-16  Todd C. Miller  <Todd.Miller@courtesan.com>
10117
10118         * config.h.in, configure, configure.in:
10119         Disable transcript support if no tcsetpgrp until we support older
10120         BSD-style job control.
10121         [27ac1d8163df]
10122
10123         * configure, configure.in, pty.c, script.c:
10124         Break out pty code into pty.c
10125         [e85509b25d41]
10126
10127         * compat.h, config.h.in, configure, configure.in:
10128         add killpg macro if no killpg function
10129         [3a125f4a51f0]
10130
10131         * config.h.in, configure, configure.in, script.c:
10132         Push ptem and ldterm for STERAMS-based systems when allocating a
10133         pty.
10134         [36bb39b30ff2]
10135
10136 2009-10-15  Todd C. Miller  <Todd.Miller@courtesan.com>
10137
10138         * script.c:
10139         Sprinkle some more O_NOCTTY and call grantpt() before unlockpt()
10140         [d94bd5c9bf4e]
10141
10142         * script.c:
10143         Call tcgetpgrp() in the parent, not the child and have the child
10144         spin until it is granted. Fixes a race on darwin.
10145         [6e8d435339ce]
10146
10147         * script.c:
10148         Only use TIOCNOTTY in the non-setsid case. If no TIOCSCTTY, just
10149         reopen slave.
10150         [0bdc63c019ca]
10151
10152 2009-10-14  Todd C. Miller  <Todd.Miller@courtesan.com>
10153
10154         * script.c:
10155         In script mode, if the command is killed by a signal, print the
10156         signal description as well as a core dump notification like the
10157         shell does.
10158         [9df61738df07]
10159
10160         * Makefile.in, config.h.in, configure, configure.in, strsignal.c,
10161         sudo.h:
10162         Add check for strsignal() and a simple implementation if it is not
10163         there but sys_siglist is
10164         [61421a188ef4]
10165
10166         * script.c:
10167         Add missing WUNTRACED and store the signal that stopped the
10168         grandchild in suspended, not signo.
10169         [df65042b200e]
10170
10171         * script.c:
10172         g/c unused code
10173         [40d8cb5c9203]
10174
10175         * script.c:
10176         Associate the grandchild's pgrp with the tty instead of the child's
10177         and just get suspend notifications via SIGCHLD instead of directly.
10178         This fixes a hang with programs that try to set terminal attributes
10179         and is more consistent with how the shell handles things.
10180         [6865abff7e94]
10181
10182 2009-10-12  Todd C. Miller  <Todd.Miller@courtesan.com>
10183
10184         * script.c:
10185         Move setpgid() of child into the parent side of the fork() where it
10186         belongs.
10187         [3defa782777c]
10188
10189 2009-10-11  Todd C. Miller  <Todd.Miller@courtesan.com>
10190
10191         * script.c:
10192         fix typo
10193         [b6a612b3622c]
10194
10195         * script.c:
10196         Run command in its own pgrp (like the shell does) for easier
10197         signalling. No need to relay SIGINT or SIGQUIT to parent, just send
10198         to grandchild. Don't want grandchild stopped events in the child
10199         (only termination). Flush output after suspending grandchild before
10200         signalling parent.
10201         [db556bf2176f]
10202
10203         * script.c:
10204         Back out revision 1.34; the problem lies elsewhere.
10205         [85f590a03275]
10206
10207         * script.c:
10208         Don't set stdout to blocking mode when flushing remaining output.
10209         It can cause us to hang when trying to exit. Need to investigate
10210         why.
10211         [6f803a3e33ca]
10212
10213         * script.c:
10214         Handle SIGTTOU and remove some debugging.
10215         [52d17279053e]
10216
10217         * term.c:
10218         Back out revision 1.10 as the signal that interrupts us may be
10219         SIGTTOU or SIGTTIN which the caller must handle.
10220         [7e2fa9107975]
10221
10222         * script.c:
10223         Apparently we need to send SIGSTOP to the command as well as ourself
10224         when we get SIGTSTP, the kernel doesn't automatically stop the
10225         process for us.
10226         [1a936e9309c4]
10227
10228         * script.c:
10229         Use an extra process to act as the glue bewteen the sessions
10230         associated with the user's controlling tty (what the shell uses) and
10231         the tty that sudo is using to do its logging. Basically, this means
10232         that if we get, e.g. SIGTSTP from the process sudo is running, we
10233         relay the signal to the parent so it's shell can do the job control.
10234         [6dd296988060]
10235
10236         * term.c:
10237         Handle getting/setting terminal attributes when the fd is in non-
10238         blocking mode.
10239         [ae5ae535ea7b]
10240
10241 2009-10-07  Todd C. Miller  <Todd.Miller@courtesan.com>
10242
10243         * sudoreplay.c, sudoreplay.cat, sudoreplay.man.in, sudoreplay.pod:
10244         Add support for pausing and changing the speed in interactive mode.
10245         [72a2063780a7]
10246
10247         * script.c:
10248         Already define O_NOCTTY in compat.h, don't need it here
10249         [b5d80ed3e5ce]
10250
10251 2009-10-06  Todd C. Miller  <Todd.Miller@courtesan.com>
10252
10253         * sudoreplay.c:
10254         Add missing protos
10255         [c4cb4e7f4d8a]
10256
10257 2009-09-30  Todd C. Miller  <Todd.Miller@courtesan.com>
10258
10259         * sudo_edit.c:
10260         Always update the stashed mtime of the temp file instead of using
10261         what we have for the original because the time resolution of the
10262         filesystem the temporary is on may not match that of the filesystem
10263         that holds the original. Should fix bz #371 found by Philippe Levan.
10264         [c86ca4bec60c]
10265
10266         * sudoreplay.c:
10267         Use cbreak mode instead of raw mode and add signal handlers to
10268         restore the tty on interrupt.
10269         [84dd283da41c]
10270
10271         * script.c, sudo.h, term.c:
10272         Retain NL to NLCR conversion on the real tty and skip it on the pty
10273         we allocate. That way, if stdout is not a pty there are no extra
10274         carriage returns.
10275         [32e4f570414e]
10276
10277         * script.c:
10278         Fix log_output(); just pass in a string and a length.
10279         [ca980cc0a3fb]
10280
10281 2009-09-28  Todd C. Miller  <Todd.Miller@courtesan.com>
10282
10283         * script.c:
10284         do not use errno when complaining out lack of a tty
10285         [8f9b8c55ab8e]
10286
10287 2009-09-27  Todd C. Miller  <Todd.Miller@courtesan.com>
10288
10289         * Makefile.in, sudoreplay.c, term.c:
10290         Instead of messing with line endings, just set terminal to raw mode
10291         in sudoreplay.
10292         [90943fa87acb]
10293
10294         * term.c:
10295         When copying the terminal attributes to the pty, be sure not to set
10296         ONLCR. This prevents extra carriage returns from ending up in the
10297         script output file.
10298         [e6b5475ac2aa]
10299
10300         * script.c:
10301         Convert a do {} while into a while
10302         [e461310d2c77]
10303
10304         * Makefile.in:
10305         Use if then instead of test && when installing binaries that may not
10306         exist.
10307         [ad4f9490d971]
10308
10309         * script.c:
10310         Add O_NOCTTY when opening a tty device. Explicitly disconnect from
10311         old tty before associatng with new one.
10312         [0e0ca634b80c]
10313
10314         * script.c, selinux.c, sudo.c, sudo.h:
10315         First cut at refactoring some of the selinux code so it can be used
10316         in conjunction with sudo's transcript support.
10317         [779b0d8f9d29]
10318
10319 2009-09-26  Todd C. Miller  <Todd.Miller@courtesan.com>
10320
10321         * aclocal.m4, configure, configure.in:
10322         Fix default case of transcript_enabled being unset.
10323         [f8aa96186e6b]
10324
10325         * script.c, sudoreplay.c:
10326         Use _PATH_SUDO_TRANSCRIPT instead of _PATH_SUDO_SESSDIR
10327         [2844a7a851fa]
10328
10329         * INSTALL, Makefile.in, aclocal.m4, configure, configure.in, sudo.c:
10330         Hook up --disable-transcript and --enable-transcript=DIR
10331         [b3fa7e6b2480]
10332
10333 2009-09-25  Todd C. Miller  <Todd.Miller@courtesan.com>
10334
10335         * aclocal.m4, configure, configure.in, pathnames.h.in:
10336         _PATH_SUDO_SESSDIR -> _PATH_SUDO_TRANSCRIPT Add --enable-
10337         transcript=DIR option to specify the directory
10338         [b0bb76d43cda]
10339
10340         * sudo.cat, sudo.man.in, sudoers.cat, sudoers.man.in:
10341         regen
10342         [c7a8a0a9027c]
10343
10344         * configure, configure.in, sudoers.man.pl, sudoers.pod:
10345         Substitute in default value for secure_path
10346         [c8f9ac6dbf93]
10347
10348         * sudo.pod:
10349         Mention that the password must be followed by a newline with the -S
10350         option.
10351         [2fc589a3ee7e]
10352
10353 2009-09-20  Todd C. Miller  <Todd.Miller@courtesan.com>
10354
10355         * script.c:
10356         Go back to dropping out of the select() loop when the process dies;
10357         Linux ptys apparently don't behave the same as BSD in regards to
10358         select(). No need to flush remaining output to the transcript, only
10359         to stdout. Add back code to check the master pty for additional data
10360         when we exit the main select loop.
10361         [abed9a9cbc6b]
10362
10363 2009-09-19  Todd C. Miller  <Todd.Miller@courtesan.com>
10364
10365         * Makefile.in:
10366         Add getline.o to COMMON_OBJS
10367         [04ef7643cbc2]
10368
10369         * Makefile.in:
10370         sudoreplay depends on libsudo.a
10371         [142bd0472631]
10372
10373         * Makefile.in:
10374         More pwutil.o into COMMON_OBJS
10375         [4a016b933629]
10376
10377         * pwutil.c, testsudoers.c, tsgetgrpw.c:
10378         Remove my_* redirection in pwutil.c for testsudoers and just use the
10379         normal libc get{pw,gr}* names.
10380         [9b76d637d86b]
10381
10382         * sudoreplay.cat, sudoreplay.man.in, sudoreplay.pod:
10383         More time and date examples
10384         [c6ee0175ec56]
10385
10386         * Makefile.in, configure, configure.in, nanosleep.c, sudoreplay.c:
10387         Move nanosleep() emulation into its own file Check librt.a for
10388         nanosleep if we don't find it in libc
10389         [4da0cc26aad7]
10390
10391         * Makefile.in, configure, configure.in:
10392         Build libsudo with the common bits and link things against that.
10393         [2b53bc0b081a]
10394
10395         * script.c:
10396         Fix final flush.
10397         [6da287d833da]
10398
10399         * script.c:
10400         Keep reading from the pty master -> log file until read returns <=
10401         0. Do our best to write everything to stdout when flushing any
10402         remaining bits.
10403         [2a45d4ae280c]
10404
10405         * sudoreplay.c:
10406         Use unbuffered I/O when writing to stdout and make sure we write the
10407         entire buffer.
10408         [f39ef9844a47]
10409
10410 2009-09-18  Todd C. Miller  <Todd.Miller@courtesan.com>
10411
10412         * sudoreplay.c:
10413         Only use max_wait if it is non-zero
10414         [f6c10604d2e8]
10415
10416         * getdate.c, getdate.y, getline.c:
10417         Need compat.h here
10418         [5d6722e225a0]
10419
10420         * sudoreplay.c:
10421         Fix nanosleep emulation
10422         [34e5e5d72a76]
10423
10424         * script.c:
10425         Fix comment after #endif
10426         [bd1347718b25]
10427
10428         * sudoreplay.c:
10429         Add protos for missing libc bits
10430         [644f496427a2]
10431
10432         * configure, configure.in:
10433         add missing line continuation char
10434         [db13c0d402cd]
10435
10436         * config.h.in, configure, configure.in, getline.c:
10437         Implement getline() in terms of fgetln() if we have it.
10438         [3ab786eaadc5]
10439
10440         * sudoreplay.c:
10441         Print year when formatting log line
10442         [90be669e3443]
10443
10444         * sudoreplay.pod:
10445         Document cwd, attempt to document time/date formats.
10446         [6290fb9b65c6]
10447
10448         * sudoreplay.c:
10449         Fix getline return value check.
10450         [d696d6657261]
10451
10452         * Makefile.in, config.h.in, configure, configure.in, getline.c,
10453         sudoreplay.c:
10454         Use getline() if the system has it, else use provide our own for
10455         sudoreplay.
10456         [afca1d6fbe5e]
10457
10458         * script.c:
10459         Refactor code to update output and timing files.
10460         [361491332b1a]
10461
10462 2009-09-17  Todd C. Miller  <Todd.Miller@courtesan.com>
10463
10464         * sudoreplay.c:
10465         Make sudo_getln() behave more like glibc getline.
10466         [40c9f2ea29e6]
10467
10468         * script.c:
10469         When flushing remaining output, also update timing file.
10470         [5a9a5a627549]
10471
10472         * sudoreplay.c:
10473         Use get_timestr() and make the -l output look like the regular sudo
10474         log.
10475         [452ba9d436c9]
10476
10477         * logging.c, sudo.h, timestr.c:
10478         Make get_timestr() take a time_t so we can use it properly in
10479         sudoreplay.
10480         [82e67cc53c9c]
10481
10482         * script.c:
10483         Create session dir earlier now that we update the seq number early.
10484         [797fe8d6dc61]
10485
10486 2009-09-16  Todd C. Miller  <Todd.Miller@courtesan.com>
10487
10488         * sudoreplay.c:
10489         Use fromdate and todate as the keywords instead of from and to; the
10490         short forms will still be accepted.
10491         [d14d9b116df4]
10492
10493         * sudoreplay.c:
10494         Fix reading long liensin sudo_getln()
10495         [58dadd74118c]
10496
10497         * script.c, sudoreplay.c:
10498         Log the cwd in the script log file. Add sudo_getln() to read
10499         arbitrarily long lines.
10500         [faceb802ab8f]
10501
10502         * Makefile.in, logging.c, sudo.h, timestr.c:
10503         Move get_timestr() into its own source file so sudoreplay can use
10504         it.
10505         [99b054bfa20a]
10506
10507 2009-09-15  Todd C. Miller  <Todd.Miller@courtesan.com>
10508
10509         * sudoreplay.c:
10510         Add to and from perdicates (date ranges); needs documentation
10511         [1d629174dcf4]
10512
10513 2009-09-14  Todd C. Miller  <Todd.Miller@courtesan.com>
10514
10515         * Makefile.in, getdate.c, getdate.y:
10516         Fix warning and add generated getdate.c
10517         [b877a86b5a03]
10518
10519         * Makefile.in, getdate.y:
10520         Add getdate.y to be used for sudoreplay date parsing.
10521         [b8e26fbb7a40]
10522
10523 2009-09-13  Todd C. Miller  <Todd.Miller@courtesan.com>
10524
10525         * sudoreplay.c:
10526         Check more than just the first character of a predicate
10527         [4fe53728adb1]
10528
10529         * sudoreplay.cat, sudoreplay.man.in, sudoreplay.pod:
10530         Add examples, sort predicates
10531         [70f8075cbccc]
10532
10533         * Makefile.in, sudoreplay.c, sudoreplay.cat, sudoreplay.man.in,
10534         sudoreplay.pod:
10535         Implement search expressions in sudoreplay similar in concept to
10536         what find or tcpdump uses. TODO: date ranges
10537         [f7ce4fb4cf3a]
10538
10539 2009-09-07  Todd C. Miller  <Todd.Miller@courtesan.com>
10540
10541         * script.c:
10542         Remove vhangup as it was hanging up the wrong tty. Should really
10543         vhangup in the child after it as set its tty.
10544         [2eed9df73010]
10545
10546         * sudoers.pod:
10547         Fix cut at documenting transcript support.
10548         [e6c533a5568a]
10549
10550         * logging.c:
10551         ID= -> TSID= for transcript ID
10552         [1bf755a35333]
10553
10554 2009-09-06  Todd C. Miller  <Todd.Miller@courtesan.com>
10555
10556         * sudoers.pod:
10557         Move fast_glob description to where it belongs in sorted order
10558         [5901cfb0d25f]
10559
10560         * def_data.c, def_data.h, def_data.in, gram.c, gram.h, gram.y,
10561         parse.c, parse.h, sudo.c:
10562         Rename script -> transcript
10563         [e06cf823122c]
10564
10565 2009-09-03  Todd C. Miller  <Todd.Miller@courtesan.com>
10566
10567         * compat.h:
10568         Add timeradd and timersub for those without them
10569         [929f8aa06c2b]
10570
10571         * script.c:
10572         Sanity check sessid before using it.
10573         [aa8ca5211d43]
10574
10575         * sudo.c:
10576         Only set the session id if we are running a command or editing a
10577         file.
10578         [7205d717c098]
10579
10580         * script.c:
10581         Actually. qsort is fine since most versions fal back to a cheaper
10582         sort when the number of elements to sort is small (like in our
10583         case).
10584         [d11c7cd352fe]
10585
10586         * config.h.in, configure, configure.in, script.c:
10587         Check for dup2 and use dup instead if we don't have it.
10588         [98bd89830f8a]
10589
10590         * script.c, sudo.c, sudo.h:
10591         Move the code to dup2 the script fds to low numbered descriptors
10592         into script_duplow() and fix the fd sorting.
10593         [9453fdc5fba6]
10594
10595         * script.c, sudo.c, sudo.h:
10596         Move script_setup() back to immediately before we drop privs and
10597         call the new script_nextid() in its place, which will set
10598         sudo_user.sessid for the logging functions.
10599         [8434d0c8ff08]
10600
10601 2009-09-01  Todd C. Miller  <Todd.Miller@courtesan.com>
10602
10603         * Makefile.in:
10604         Install sudoreplay
10605         [6acf2cdb4d3f]
10606
10607         * sudoreplay.c:
10608         remove unused variable
10609         [2316360bb992]
10610
10611 2009-08-30  Todd C. Miller  <Todd.Miller@courtesan.com>
10612
10613         * logging.c, script.c, sudo.c, sudo.h:
10614         Log the session ID, if there is one. Currently logs ID=XXXXXX,
10615         perhaps should be SESSIONID or SESSID.
10616         [53976905b0a6]
10617
10618         * Makefile.in, configure, configure.in, sudoreplay.cat,
10619         sudoreplay.man.in, sudoreplay.pod:
10620         Add sudoreplay docs
10621         [da4f14f0e64c]
10622
10623         * sudoreplay.c:
10624         add -V (version) flag
10625         [b5e743639ee3]
10626
10627         * sudoreplay.c:
10628         Hook up max_wait.
10629         [2ec5697a92ba]
10630
10631         * script.c, sudoreplay.c:
10632         Use base36 number for the ID and store script files with paths like
10633         /var/log/sudo-session/00/00/00{,.tim,.scr}. This gives us 36^6
10634         (2,176,782,336) unique IDs.
10635         [6aab019d07aa]
10636
10637 2009-08-23  Todd C. Miller  <Todd.Miller@courtesan.com>
10638
10639         * config.h.in, configure.in:
10640         Add check for regcomp
10641         [44c3ebd7ff34]
10642
10643         * sudoreplay.c:
10644         Add support for selecting by pattern and tty when listing.
10645         [66189f840c52]
10646
10647 2009-08-17  Todd C. Miller  <Todd.Miller@courtesan.com>
10648
10649         * sudoreplay.c:
10650         The beginnings of a list mode.
10651         [8d0150b4a52c]
10652
10653 2009-08-16  Todd C. Miller  <Todd.Miller@courtesan.com>
10654
10655         * Makefile.in:
10656         fix pasto
10657         [616b4640b8a8]
10658
10659         * Makefile.in, config.h.in, configure.in:
10660         Add scaffolding for building sudoreplay
10661         [a32958505dbe]
10662
10663         * sudoreplay.c:
10664         include error.h first arg to nanotime is const
10665         [fe5a7bb31bc5]
10666
10667         * sudoreplay.c:
10668         Initial cut at sudoreplay; replay a sudo session.
10669         [f149fba372bd]
10670
10671 2009-08-08  Todd C. Miller  <Todd.Miller@courtesan.com>
10672
10673         * script.c:
10674         Fix wait() usage and use correct wait status.
10675         [f4745ed7ad05]
10676
10677         * sudo.c, sudo.h, tgetpass.c:
10678         Add protos for term_* to sudo.h
10679         [14fe1abd7e7b]
10680
10681         * script.c:
10682         Fix detection of the child process exiting. Since the child is in
10683         its own session we should only ever get SIGCHLD for that process but
10684         better safe than sorry.
10685         [7edfdadd8505]
10686
10687         * config.h.in:
10688         Add UNIX98 pty support.
10689         [82f4b53a0e8f]
10690
10691         * configure, configure.in, script.c:
10692         Add UNIX98 pty support.
10693         [795b8bb0a3a1]
10694
10695 2009-08-07  Todd C. Miller  <Todd.Miller@courtesan.com>
10696
10697         * term.c:
10698         For raw mode, don't bother clearing BRKINT or PARMRK and clear IUCLC
10699         if it is defined.
10700         [40f8b83baf69]
10701
10702         * auth/pam.c:
10703         Set PAM_RUSER and PAM_RHOST early so they can be used during
10704         authentication. Based on a patch from Jamie Beverly.
10705         [3d567b453a6a]
10706
10707         * match.c:
10708         Close dir before returning if strlcpy() reports overflow. From
10709         Martynas Venckus.
10710         [6a82f96473e5]
10711
10712         * config.h.in, configure, configure.in, script.c:
10713         On Linux, the openpty proto libes in pty.h
10714         [98643a018d1c]
10715
10716         * script.c:
10717         Call vhangup on exit if the system has it Use setpgrp() if no
10718         setsid()
10719         [3a9e13149829]
10720
10721 2009-08-06  Todd C. Miller  <Todd.Miller@courtesan.com>
10722
10723         * config.h.in, configure, configure.in:
10724         Add checks for revoke and vhangup if we don't have openpty
10725         [fcb04572e994]
10726
10727         * script.c:
10728         Session logging guts that got forgotten in the previous commit.
10729         [c2af08a63ea9]
10730
10731         * Makefile.in, aclocal.m4, compat.h, config.h.in, configure,
10732         configure.in, def_data.c, def_data.h, def_data.in, gram.c, gram.h,
10733         gram.y, parse.c, parse.h, pathnames.h.in, sudo.c, sudo.h, term.c,
10734         tgetpass.c:
10735         First cut at session logging for sudo. Still need to write
10736         get_pty() for Unix 98 and old-style BSD ptys. Also needs
10737         documentation and general cleanup.
10738         [77e3f5e25738]
10739
10740 2009-08-05  Todd C. Miller  <Todd.Miller@courtesan.com>
10741
10742         * sudo.c, sudo_edit.c:
10743         Fix a bug introduced with def_closefrom. The value of def_closefrom
10744         already includes the +1.
10745         [7291c136300d]
10746
10747 2009-07-29  Todd C. Miller  <Todd.Miller@courtesan.com>
10748
10749         * Makefile.in:
10750         Generate sudo distributions with pax in ustar mode. No longer need
10751         to use a temp file or have the source dir name match the version.
10752         [9778177a8272]
10753
10754 2009-07-18  Todd C. Miller  <Todd.Miller@courtesan.com>
10755
10756         * toke.c, toke.l:
10757         Fix expansion of %h in #include names. Fixes bugzilla 363
10758         [6e346879ba24]
10759
10760 2009-07-12  Todd C. Miller  <Todd.Miller@courtesan.com>
10761
10762         * mkdefaults:
10763         If no arg assume def_data.in
10764         [c1dd28c0e675]
10765
10766         * README, WHATSNEW:
10767         Update for 1.7.2
10768         [f5ad45f69f05] [SUDO_1_7_2]
10769
10770         * ChangeLog:
10771         sync
10772         [6283549396ff]
10773
10774 2009-06-30  Todd C. Miller  <Todd.Miller@courtesan.com>
10775
10776         * sudoers.cat, sudoers.man.in, sudoers.pod:
10777         Add missing single quotes around a colon in Runas_Spec definition.
10778         From Elias Benali.
10779         [ccc6ee4fca83]
10780
10781 2009-06-29  Todd C. Miller  <Todd.Miller@courtesan.com>
10782
10783         * sudo.man.in, sudoers.man.in:
10784         regen
10785         [546e75304ebf]
10786
10787         * redblack.c:
10788         In rbrepair, re-color the root or the first non-block node we find
10789         to be black. Re-coloring the root is probably not needed but won't
10790         hurt.
10791         [34d01ebe241b]
10792
10793         * sudo.cat, sudoers.cat:
10794         regen
10795         [bebf5a39f54f]
10796
10797 2009-06-26  Todd C. Miller  <Todd.Miller@courtesan.com>
10798
10799         * redblack.c:
10800         When repairing the tree, don't touch the root node.
10801         [9841f0d5d789]
10802
10803 2009-06-25  Todd C. Miller  <Todd.Miller@courtesan.com>
10804
10805         * set_perms.c:
10806         Protect call to setegid in runas_setup with #ifdef HAVE_SETEUID.
10807         Reported by Josef Schmid.
10808         [ed044b1eb879]
10809
10810 2009-06-23  Todd C. Miller  <Todd.Miller@courtesan.com>
10811
10812         * sudoers.pod:
10813         Document that we accept env_pam-style environment files
10814         [e3b545456352]
10815
10816         * env.c:
10817         Adapt to accept pam_env-style /etc/environment which allows shell-
10818         style lines such as: export EDITOR="/usr/bin/vi"
10819         [752eb75bf007]
10820
10821         * sudoers.pod:
10822         Make it clear that env_delete only works when !env_reset. From Lo??c
10823         Minier
10824         [3bd3f8e351ba]
10825
10826 2009-06-15  Todd C. Miller  <Todd.Miller@courtesan.com>
10827
10828         * sudo.pod, sudoers.pod:
10829         Add non-unix group bits, adapted from Quest
10830         [8ce427de8dea]
10831
10832         * Makefile.in:
10833         build the .cat page in the current working dir, not the src dir
10834         [00e87a307674]
10835
10836         * env.c:
10837         Return EINVAL in setenv() if var is NULL or the empty string to
10838         match glibc behavior.
10839         [23fd7c247142]
10840
10841 2009-06-13  Todd C. Miller  <Todd.Miller@courtesan.com>
10842
10843         * configure, configure.in:
10844         Use AS_HELP_STRING for AC_ARG_WITH and AC_ARG_ENABLE
10845         [fedd4a3e2a85]
10846
10847 2009-06-11  Todd C. Miller  <Todd.Miller@courtesan.com>
10848
10849         * sudo.cat, sudo.man.in, sudoers.cat, sudoers.ldap.cat,
10850         sudoers.ldap.man.in, sudoers.man.in, visudo.cat, visudo.man.in:
10851         regen
10852         [7b9f461a40b3]
10853
10854 2009-06-09  Todd C. Miller  <Todd.Miller@courtesan.com>
10855
10856         * INSTALL:
10857         Document --with-libvas and --with-libvas-rpath
10858         [a071e6d96c89]
10859
10860 2009-05-29  Todd C. Miller  <Todd.Miller@courtesan.com>
10861
10862         * ldap.c, sudoers.ldap.pod:
10863         For netscape-derived LDAP SDKs the cert and key paths may be a
10864         directory or a file. However, version 5.0 of the SDK only seems to
10865         support using a directory. If ldapssl_clientauth_init fails and the
10866         cert or key paths look like they could be files, strip off the last
10867         path element and try again.
10868         [ac4e49d83043]
10869
10870         * Makefile.in:
10871         Add non-Unix group .o to COMMON_OBJS and substitute in path to flex.
10872         [4547cc1a335f]
10873
10874 2009-05-27  Todd C. Miller  <Todd.Miller@courtesan.com>
10875
10876         * configure, configure.in, match.c, sudo.c, vasgroups.c:
10877         Update non-Unix group support from Quest, as reworked by me.
10878         [1abafce29dc6]
10879
10880         * toke.c:
10881         regen
10882         [01bfca9148b7]
10883
10884         * toke.l:
10885         Add support for escaped hex chars in names, e.g. \x20 for space.
10886         [3c7be8e58a39]
10887
10888 2009-05-25  Todd C. Miller  <Todd.Miller@courtesan.com>
10889
10890         * LICENSE, Makefile.in, aclocal.m4, alias.c, auth/aix_auth.c,
10891         auth/pam.c, auth/sudo_auth.c, auth/sudo_auth.h, check.c, env.c,
10892         fileops.c, glob.c, gram.y, interfaces.c, lbuf.c, ldap.c, logging.c,
10893         logging.h, match.c, parse.c, parse.h, pathnames.h.in, pwutil.c,
10894         set_perms.c, sudo.c, sudo.h, sudo.pod, sudo_nss.c, sudo_nss.h,
10895         sudo_usage.h.in, sudoers.ldap.pod, sudoers.pod, testsudoers.c,
10896         tgetpass.c, toke.l, visudo.c:
10897         Update copyright years.
10898         [e615f676c764]
10899
10900 2009-05-24  Todd C. Miller  <Todd.Miller@courtesan.com>
10901
10902         * interfaces.c, lbuf.c:
10903         Minor fixes for Minix-3
10904         [898c510d23f9]
10905
10906 2009-05-22  Todd C. Miller  <Todd.Miller@courtesan.com>
10907
10908         * set_perms.c:
10909         Handle getgroups() returning 0. Also add missing check for
10910         HAVE_GETGROUPS.
10911         [d73b958f9ffd]
10912
10913 2009-05-19  Todd C. Miller  <Todd.Miller@courtesan.com>
10914
10915         * Makefile.in, config.h.in, configure, configure.in, sudo.c,
10916         version.h, visudo.c:
10917         Replace version.h with PACKAGE_VERSION set via AC_INIT in configure.
10918         [5050579a264d]
10919
10920 2009-05-18  Todd C. Miller  <Todd.Miller@courtesan.com>
10921
10922         * set_perms.c:
10923         Remove group setting code in setusercontext case, we will do it
10924         ourselves later on in runas_setup. Set the gid after
10925         initgroups/setgroups is called, since on Mac OS X it seems to change
10926         the egid.
10927         [09dc21d8b42d]
10928
10929 2009-05-17  Todd C. Miller  <Todd.Miller@courtesan.com>
10930
10931         * LICENSE, Makefile.in, config.h.in, match.c, nonunix.h, sudo.c,
10932         vasgroups.c:
10933         Initial bits of non-unix group support using Quest Authentication
10934         Services
10935         [1eecab0ff27e]
10936
10937         * toke.c, toke.l:
10938         Accept %:foo as a non-Unix group
10939         [4c4b5dd899a6]
10940
10941         * toke.c, toke.l:
10942         Allow user/group to be double quoted in the case of non-Unix groups
10943         which contain spaces.
10944         [47a3d568b7e8]
10945
10946 2009-05-11  Todd C. Miller  <Todd.Miller@courtesan.com>
10947
10948         * match.c:
10949         Don't allow the user to specify the default runas user if their
10950         sudoers entry only allows them to run as a group.
10951         [4d726177227c]
10952
10953 2009-05-10  Todd C. Miller  <Todd.Miller@courtesan.com>
10954
10955         * sudo.c:
10956         Must call audit_success before we change uids.
10957         [04a9e6ce6e55]
10958
10959         * logging.c, set_perms.c, sudo.h, testsudoers.c:
10960         Add option for set_perm to not exit on failure and use this in the
10961         logging routines.
10962         [833dce7b7f42]
10963
10964         * parse.c:
10965         In -l mode, if the user is only allowed to run as a group, display
10966         the user's name, not root's before the allowed group.
10967         [ef92ff99d265]
10968
10969         * sudo.c:
10970         Fix -g mode, broken by rev 1.503 which had the side effect of
10971         setting the runas user to root unilaterally.
10972         [50a2f7df4385]
10973
10974 2009-05-08  Todd C. Miller  <Todd.Miller@courtesan.com>
10975
10976         * fileops.c:
10977         When unlocking a file with fcntl, use F_SETLK, not F_SETLKW.
10978         [30fbe832dcf3]
10979
10980         * pwutil.c:
10981         Only cache by the method we fetched for pwd and grp lookups.
10982         Previously we cached both by namd and id but this can cause problems
10983         for entries that share the same id. Also add more info in the error
10984         message in case the insert fails (which should now be impossible).
10985         [ef95a4f0bab5]
10986
10987 2009-04-30  Todd C. Miller  <Todd.Miller@courtesan.com>
10988
10989         * sudoers.pod:
10990         Add a clarification from Nick Sieger
10991         [1eadad329561]
10992
10993 2009-04-25  Todd C. Miller  <Todd.Miller@courtesan.com>
10994
10995         * env.c:
10996         Inline the setting of the environment string.
10997         [9515d11c6295]
10998
10999 2009-04-24  Todd C. Miller  <Todd.Miller@courtesan.com>
11000
11001         * env.c:
11002         setenv(3) in Linux treats a NUL value as the empty string setenv(3)
11003         in BSD doesn't return an error if the name has '=' in it, it just
11004         treats the '=' as end of string.
11005         [941260bf94d2]
11006
11007 2009-04-22  Todd C. Miller  <Todd.Miller@courtesan.com>
11008
11009         * toke.c, toke.l:
11010         Not all systems have d_namlen
11011         [e377b18d8e2d]
11012
11013 2009-04-20  Todd C. Miller  <Todd.Miller@courtesan.com>
11014
11015         * sudoers.pod:
11016         Fix up some pod2html issues.
11017         [823a1f10ab60]
11018
11019 2009-04-19  Todd C. Miller  <Todd.Miller@courtesan.com>
11020
11021         * interfaces.c:
11022         Check for NULL ifa_addr and ifa_netmask. Adapted from a diff from
11023         Quest Software.
11024         [73de36653131]
11025
11026         * sudoers.pod:
11027         Ignore files ending in '~' in sudo.d (emacs backup files)
11028         [7871fad702db]
11029
11030         * toke.c, toke.l:
11031         Ignore files ending in '~' in sudo.d (emacs backup files)
11032         [53fded2a469f]
11033
11034 2009-04-18  Todd C. Miller  <Todd.Miller@courtesan.com>
11035
11036         * sudoers.cat, sudoers.man.in, sudoers.pod, toke.c, toke.l:
11037         For #includedir, ignore any file containing a dot
11038         [a7daa1bce6c2]
11039
11040         * Makefile.in, version.h:
11041         Bump version
11042         [ef60f14ffc44]
11043
11044         * gram.c, gram.y, parse.c, parse.h, sudo.c, sudo.h, sudoers.cat,
11045         sudoers.man.in, sudoers.pod, testsudoers.c, toke.c, toke.l,
11046         visudo.c:
11047         Implement #includedir directive. Files in an includedir are not
11048         edited by visudo unless they contain a syntax error.
11049         [3923d85a6c79]
11050
11051         * ChangeLog:
11052         sync
11053         [8741ed61a78b] [SUDO_1_7_1]
11054
11055         * WHATSNEW:
11056         Forgot umask_override
11057         [7c86a21a5504]
11058
11059         * ChangeLog, TODO:
11060         sync
11061         [57339ca6bccf]
11062
11063 2009-04-16  Todd C. Miller  <Todd.Miller@courtesan.com>
11064
11065         * visudo.c:
11066         Rewind stream if we fdopen sudoers since it may not be at the
11067         beginning. Set the keepopen flag on already-open files too so the
11068         lexer doesn't close them out from under us.
11069         [61292d819aff]
11070
11071         * visudo.c:
11072         Print the proper file name when there is a parse error in an include
11073         file.
11074         [b0e85d4aedde]
11075
11076 2009-04-11  Todd C. Miller  <Todd.Miller@courtesan.com>
11077
11078         * WHATSNEW:
11079         Sync
11080         [997e5d485ea3]
11081
11082 2009-04-10  Todd C. Miller  <Todd.Miller@courtesan.com>
11083
11084         * configure, configure.in:
11085         Fix a warning when --without-ldap is specified.
11086         [d91fd9481b30]
11087
11088 2009-04-05  Todd C. Miller  <Todd.Miller@courtesan.com>
11089
11090         * alias.c, parse.h, visudo.c:
11091         Store aliases that we remove during check_aliases in a freelist and
11092         free them at the end so we don't leak memory.
11093         [805e2272f6a3]
11094
11095 2009-03-28  Todd C. Miller  <Todd.Miller@courtesan.com>
11096
11097         * visudo.c:
11098         Check aliases in -c mode too.
11099         [9199e188d9f2]
11100
11101         * alias.c, parse.h, visudo.c:
11102         Make alias_remove return the alias struct instead of freeing it
11103         directly. Fixes a use after free in alias_remove_recursive, the only
11104         consumer.
11105         [a04b61804800]
11106
11107         * alias.c, match.c, parse.c, parse.h, visudo.c:
11108         Rename find_alias -> alias_find for consistency.
11109         [48b0a82924f3]
11110
11111 2009-03-27  Todd C. Miller  <Todd.Miller@courtesan.com>
11112
11113         * visudo.c:
11114         When checking for unused aliases, recurse if the alias points to
11115         another alias.
11116         [2d4d1a7f3a41]
11117
11118 2009-03-16  Todd C. Miller  <Todd.Miller@courtesan.com>
11119
11120         * ldap.c:
11121         Back out rev 1.105 for now. Real ldapux_client.conf support will be
11122         done later after some refactoring.
11123         [8ad72e69b277]
11124
11125 2009-03-14  Todd C. Miller  <Todd.Miller@courtesan.com>
11126
11127         * ldap.c:
11128         Treat ldap_hostport the same as "host" for ldapux.
11129         [3281dcc66da8]
11130
11131         * configure, configure.in:
11132         Only check for ldap_sasl_interactive_bind_s if we can find sasl.h.
11133         Fixes compilation with ldapux.
11134         [ca1ed585ef0e]
11135
11136 2009-03-12  Todd C. Miller  <Todd.Miller@courtesan.com>
11137
11138         * fileops.c:
11139         fix char subscript
11140         [41e51f080d00]
11141
11142 2009-03-11  Todd C. Miller  <Todd.Miller@courtesan.com>
11143
11144         * Makefile.in:
11145         remove errant carriage returns
11146         [e9e258a31c7b]
11147
11148         * audit.c, env.c:
11149         fix K&R compilation
11150         [d182e8920f13]
11151
11152         * sudo.cat, sudo.man.in, sudoers.cat, sudoers.ldap.cat,
11153         sudoers.ldap.man.in, sudoers.man.in, visudo.cat, visudo.man.in:
11154         regen
11155         [791a5cbf04e5]
11156
11157 2009-03-10  Todd C. Miller  <Todd.Miller@courtesan.com>
11158
11159         * config.h.in:
11160         Add missing HAVE_BSM_AUDIT
11161         [49ad1bb96f04]
11162
11163         * WHATSNEW:
11164         Add 1.7.1 features
11165         [f107f1604c61]
11166
11167         * INSTALL:
11168         Mention --with-netsvc
11169         [d1e90d147795]
11170
11171         * sudoers.ldap.pod:
11172         Document netsvc.conf support
11173         [e78f8abce6af]
11174
11175         * configure, configure.in, pathnames.h.in, sudo.c, sudo_nss.c,
11176         sudo_nss.h:
11177         Add support for AIX netsvc.conf (like nsswitch.conf).
11178         [1df56a84dee5]
11179
11180 2009-03-08  Todd C. Miller  <Todd.Miller@courtesan.com>
11181
11182         * config.h.in, configure, configure.in, env.c:
11183         Add --enable-env-debug flag to enable environment sanity checks.
11184         [128cdd8832e7]
11185
11186         * sudoers.ldap.pod, sudoers.pod:
11187         Work around some pod2html issue.
11188         [e733b9609bd2]
11189
11190 2009-03-07  Todd C. Miller  <Todd.Miller@courtesan.com>
11191
11192         * env.c:
11193         Only sync environ for putenv, setenv, and unsetenv. We need to make
11194         sure that sudo_putenv and sudo_setenv only modify env.envp, not
11195         environ.
11196         [be3ac732243c]
11197
11198 2009-03-02  Todd C. Miller  <Todd.Miller@courtesan.com>
11199
11200         * env.c:
11201         Really fix UNSETENV_VOID
11202         [08ab7e882507]
11203
11204         * env.c:
11205         Fix unsetenv when UNSETENV_VOID
11206         [d3038b3f2f15]
11207
11208         * aclocal.m4, configure:
11209         Fix SUDO_FUNC_PUTENV_CONST
11210         [de35569c572b]
11211
11212         * ldap.c:
11213         tivoli-based ldap does not have ldapssl_err2string
11214         [c63fd90d5e99]
11215
11216         * configure:
11217         regen
11218         [f38f1ee828ad]
11219
11220 2009-03-01  Todd C. Miller  <Todd.Miller@courtesan.com>
11221
11222         * config.h.in, configure, configure.in, ldap.c:
11223         Add support for Tivoli-based LDAP start TLS as seen in AIX.
11224         Untested.
11225         [8f8771829f85]
11226
11227         * env.c:
11228         Add sanity checks for setenv/unsetenv
11229         [adbd1d95856b]
11230
11231         * Makefile.in:
11232         Include bsm_audit.h in the tarball
11233         [4a4aa02b2c32]
11234
11235         * Makefile.in, version.h:
11236         bump version for sudo 1.7.1
11237         [362c71d21595]
11238
11239         * aclocal.m4, auth/aix_auth.c, config.h.in, configure, configure.in,
11240         env.c, ldap.c, sudo.h:
11241         Replace sudo_setenv/sudo_unsetenv with calls to setenv/unsetenv and
11242         provide our own setenv/unsetenv/putenv that operates on own env
11243         pointer. Make sync_env() inline in setenv/unsetenv/putenv functions.
11244         [276edcd23032]
11245
11246 2009-02-25  Todd C. Miller  <Todd.Miller@courtesan.com>
11247
11248         * sudo.c:
11249         Make "sudoedit -h" work as expected
11250         [2bcbbb45d389]
11251
11252         * auth/pam.c:
11253         Make sure def_prompt is always defined. This is a workaround for
11254         pam configs that prompt for a password in the session but don't have
11255         an auth line. A better fix is to expand the sudo prompt earlier and
11256         set def_prompt to that when initializing.
11257         [ee073c04aec3]
11258
11259         * sudo.pod:
11260         Mention that the helper for -A may be graphical.
11261         [b64a940c4082]
11262
11263         * TROUBLESHOOTING:
11264         Document what happens if there is no tty.
11265         [313d58a856a5]
11266
11267         * sudo.c:
11268         cosmetic changes
11269         [894f5e3b0c3e]
11270
11271         * term.c:
11272         Fix term_restore
11273         [6c6315ff14bc]
11274
11275         * sudo.c:
11276         Fix "sudo -k" with no other args
11277         [59e94dc419c6]
11278
11279 2009-02-24  Todd C. Miller  <Todd.Miller@courtesan.com>
11280
11281         * check.c, sudo.c, sudo.pod, sudo_usage.h.in:
11282         Allow the -k flag to be specified in conjunction with a command or
11283         another option that may require authentication.
11284         [5960ff20355d]
11285
11286 2009-02-23  Todd C. Miller  <Todd.Miller@courtesan.com>
11287
11288         * configure, configure.in:
11289         Remove unneeded AC_CANONICAL_TARGET; from Diego E. 'Flameeyes'
11290         [e86ab69c4a57]
11291
11292         * Makefile.in:
11293         Parallel make fix. From Diego E. 'Flameeyes'
11294         [1289d7ee27db]
11295
11296 2009-02-21  Todd C. Miller  <Todd.Miller@courtesan.com>
11297
11298         * def_data.c, def_data.h, def_data.in, sudo.c, sudoers.pod:
11299         Implement umask_override
11300         [8b87a3f7c5aa]
11301
11302         * toke.c:
11303         regen
11304         [79d7ca9ac873]
11305
11306         * sudoers.pod, toke.l, visudo.c:
11307         Implement %h escape in sudoers include filenames.
11308         [a7f288dd64f0]
11309
11310         * audit.c:
11311         Need to include compat.h
11312         [c0dc07ce2f70]
11313
11314         * Makefile.in, audit.c, bsm_audit.c, bsm_audit.h, logging.h, sudo.c:
11315         Make audit_success and audit_failure generic functions in
11316         preparation for integrating linux audit support.
11317         [7df020a8fd6f]
11318
11319         * term.c:
11320         remove duplicate include
11321         [1dfcd01a7e46]
11322
11323 2009-02-20  Todd C. Miller  <Todd.Miller@courtesan.com>
11324
11325         * bsm_audit.c:
11326         Add missing include
11327         [fb56e08c37ee]
11328
11329         * sudo.c:
11330         May need to update the runas user after parsing command-based
11331         defaults.
11332         [246f130d7802]
11333
11334 2009-02-18  Todd C. Miller  <Todd.Miller@courtesan.com>
11335
11336         * glob.c:
11337         Add missing pair of braces introduced with character class support.
11338         [0e2afa2e03e9]
11339
11340 2009-02-15  Todd C. Miller  <Todd.Miller@courtesan.com>
11341
11342         * def_data.c, def_data.h, def_data.in, sudoers.pod, tgetpass.c:
11343         Rename pwstars to pwfeedback
11344         [a9f85a57ebac]
11345
11346 2009-02-11  Todd C. Miller  <Todd.Miller@courtesan.com>
11347
11348         * bsm_audit.c, bsm_audit.h:
11349         Add const to make MacOS happy.
11350         [4274432d6627]
11351
11352         * Makefile.in, auth/sudo_auth.c, bsm_audit.c, bsm_audit.h, configure,
11353         configure.in, sudo.c:
11354         Add bsm audit support from Christian S.J. Peron
11355         [bef61cd8693d]
11356
11357         * term.c:
11358         This is new code, no DARPA notice.
11359         [ec6ad09b9c23]
11360
11361 2009-02-10  Todd C. Miller  <Todd.Miller@courtesan.com>
11362
11363         * def_data.c, def_data.h, def_data.in, match.c, sudoers.pod:
11364         Rename simple_glob -> fast_glob
11365         [68d9ed803cc1]
11366
11367         * match.c:
11368         g/c unused var
11369         [693fa0464eb6]
11370
11371         * def_data.c, def_data.h, def_data.in, match.c, sudoers.pod:
11372         Add simple_glob option to use fnmatch() instead of glob(). This is
11373         useful when you need to specify patterns that reference network file
11374         systems.
11375         [77ba634f6949]
11376
11377         * tgetpass.c:
11378         add term_* proto
11379         [520f5149d073]
11380
11381         * sudoers.pod:
11382         mention glob()
11383         [ddaab8e03c52]
11384
11385 2009-02-09  Todd C. Miller  <Todd.Miller@courtesan.com>
11386
11387         * tgetpass.c:
11388         Delete any pwstars we wrote after the user hits return. That way
11389         there is no record on screen as to the user's password length.
11390         [fae25cda762b]
11391
11392 2009-02-08  Todd C. Miller  <Todd.Miller@courtesan.com>
11393
11394         * term.c:
11395         Move terminal setting bits from tgetpass.c to term.c
11396         [03d43325ee99]
11397
11398         * Makefile.in, def_data.c, def_data.h, def_data.in, sudoers.pod,
11399         tgetpass.c:
11400         Add pwstars sudoers option that causes sudo to print a star every
11401         time the user presses a key.
11402         [7aab417e184d]
11403
11404 2009-02-03  Todd C. Miller  <Todd.Miller@courtesan.com>
11405
11406         * Makefile.in:
11407         Fix up F<> brokenness for visudo.man.in and sudoers.ldap.man.in.
11408         [64f70e879816]
11409
11410 2009-01-27  Todd C. Miller  <Todd.Miller@courtesan.com>
11411
11412         * ldap.c:
11413         For ldap_search_ext_s() the sizelimit param should be 0, not -1, to
11414         indicate no limit. From Mark Janssen.
11415         [e2c5732d54f5]
11416
11417 2009-01-17  Todd C. Miller  <Todd.Miller@courtesan.com>
11418
11419         * toke.c, toke.l:
11420         Comments that begin with #- should not be parsed as uids.
11421         [a72a50f12f41]
11422
11423 2009-01-09  Todd C. Miller  <Todd.Miller@courtesan.com>
11424
11425         * sudo.c:
11426         Do not try to set the close on exec flag if we didn't actually open
11427         sudoers.
11428         [ece3ca256904]
11429
11430 2008-12-19  Todd C. Miller  <Todd.Miller@courtesan.com>
11431
11432         * ChangeLog:
11433         regen
11434         [e11f0e4c1bdd] [SUDO_1_7_0]
11435
11436 2008-12-14  Todd C. Miller  <Todd.Miller@courtesan.com>
11437
11438         * TODO:
11439         sync
11440         [5b8954462bb3]
11441
11442 2008-12-09  Todd C. Miller  <Todd.Miller@courtesan.com>
11443
11444         * auth/pam.c:
11445         Return PAM_AUTH_ERR instead of PAM_CONV_ERR if user enters ^C at the
11446         password prompt.
11447         [8563601cb3de]
11448
11449         * configure, configure.in:
11450         Don't try to build sudo_noexec.so on HP-UX with the bundled compiler
11451         as it cannot generate shared objects.
11452         [6d4262ef9669]
11453
11454         * emul/charclass.h, glob.c, lbuf.c, tgetpass.c:
11455         K&R compilation fixes
11456         [77921678d17c]
11457
11458         * parse.c:
11459         Use tq_foreach_fwd when checking pseudo-commands to make it clear
11460         that we are not short-circuiting on last match. When pwcheck is
11461         'all', initialize nopass to TRUE and override it with the first non-
11462         TRUE entry.
11463         [96b209f4778f]
11464
11465 2008-12-08  Todd C. Miller  <Todd.Miller@courtesan.com>
11466
11467         * parse.c:
11468         Do not short circuit pseudo commands when we get a match since,
11469         depending on the settings, we may need to examine all commands for
11470         tags.
11471         [fdbaf89d6f35]
11472
11473 2008-12-03  Todd C. Miller  <Todd.Miller@courtesan.com>
11474
11475         * sudoers.cat, sudoers.man.in:
11476         regen
11477         [1ecce7c1b841]
11478
11479         * sudoers.pod:
11480         hostnames may also contain wildcards
11481         [82b76695601c]
11482
11483         * Makefile.in:
11484         remove stamp-* files and linux core files in clean target
11485         [22003f091467]
11486
11487 2008-12-02  Todd C. Miller  <Todd.Miller@courtesan.com>
11488
11489         * auth/sudo_auth.h, config.h.in, configure, configure.in:
11490         Use HAVE_SIA_SES_INIT instead of HAVE_SIA for Digital UNIX
11491         [6905bede8410]
11492
11493 2008-11-26  Todd C. Miller  <Todd.Miller@courtesan.com>
11494
11495         * configure, configure.in:
11496         correctly enable SIA on Digital UNIX
11497         [a51881d13995]
11498
11499         * TODO:
11500         checkpoint
11501         [af0fe8d94d42]
11502
11503         * ChangeLog:
11504         sync
11505         [831f623cf99c]
11506
11507 2008-11-25  Todd C. Miller  <Todd.Miller@courtesan.com>
11508
11509         * check.c, sudo.h, tgetpass.c:
11510         Even if neither stdin nor stdout are ttys we may still have /dev/tty
11511         available to us.
11512         [20f306ba883b]
11513
11514 2008-11-24  Todd C. Miller  <Todd.Miller@courtesan.com>
11515
11516         * sudoers.cat, sudoers.man.in:
11517         regen
11518         [76d97c4c318f]
11519
11520         * sudoers.pod:
11521         fix typos; Markus Lude
11522         [bff8bc1e2066]
11523
11524         * ChangeLog:
11525         sync
11526         [f108552531cd]
11527
11528         * toke.c:
11529         regen
11530         [de828413c67e]
11531
11532         * toke.l:
11533         Fix matching of a line that only consists of a comment char
11534         [09c953d8d5ca]
11535
11536 2008-11-22  Todd C. Miller  <Todd.Miller@courtesan.com>
11537
11538         * auth/pam.c:
11539         MacOS pam will retry conversation function if it fails so just treat
11540         ^C as an empty password.
11541         [d056058930bc]
11542
11543         * visudo.c:
11544         When checking for alias use, also check defaults bindings.
11545         [2647f82c7dbd]
11546
11547         * redblack.c:
11548         unused var
11549         [b7ff71c17c18]
11550
11551         * redblack.c:
11552         Replace my rbdelete with Emin's version (which actually works ;-)
11553         [21b133dd0c72]
11554
11555 2008-11-19  Todd C. Miller  <Todd.Miller@courtesan.com>
11556
11557         * testsudoers.c:
11558         malloc debugging
11559         [0fb446fa3279]
11560
11561         * visudo.c:
11562         malloc options in devel mode for visudo too
11563         [98d06c6afeef]
11564
11565 2008-11-18  Todd C. Miller  <Todd.Miller@courtesan.com>
11566
11567         * sudo.c:
11568         fix compilation on non-C99; from Theo
11569         [7c304e16c536]
11570
11571         * visudo.c:
11572         fix check_aliases
11573         [83f30a3b1765]
11574
11575         * alias.c:
11576         when destroying an alias, free the correct data pointer
11577         [6e1a8bd86c01]
11578
11579         * auth/sudo_auth.h:
11580         add proto for aixauth_cleanup; from Dale King
11581         [eba94ffc8f63]
11582
11583 2008-11-15  Todd C. Miller  <Todd.Miller@courtesan.com>
11584
11585         * sudo.cat, sudo.man.in, sudoers.cat, sudoers.man.in, visudo.cat,
11586         visudo.man.in:
11587         regen
11588         [409fa57fff83]
11589
11590         * sudo.pod, sudoers.pod, visudo.pod:
11591         standardize on the term 'option' for command line options (not flag)
11592         [228caefc2e36]
11593
11594 2008-11-14  Todd C. Miller  <Todd.Miller@courtesan.com>
11595
11596         * INSTALL:
11597         Add note on configuring HP-UX pam
11598         [f7674a581baf]
11599
11600 2008-11-11  Todd C. Miller  <Todd.Miller@courtesan.com>
11601
11602         * check.c, sudo.c:
11603         Move tty checks into check_user() so we only do them if we actually
11604         need a password.
11605         [7d997d7106d6]
11606
11607         * sudo.c:
11608         Don't error out if no tty or askpass unless we actually need to
11609         authenticate.
11610         [9f23b83ed66c]
11611
11612 2008-11-10  Todd C. Miller  <Todd.Miller@courtesan.com>
11613
11614         * ChangeLog:
11615         regen
11616         [23f9aef32da6]
11617
11618         * pathnames.h.in, sudo.c:
11619         s/overriden/overridden/; from Tobias Stoeckmann
11620         [9f7459a8fac5]
11621
11622 2008-11-09  Todd C. Miller  <Todd.Miller@courtesan.com>
11623
11624         * WHATSNEW, visudo.c:
11625         check sudoers owner and mode in strict mode
11626         [a3468c5ac1c4]
11627
11628         * gram.c, toke.c:
11629         regen
11630         [7d6b515a5443]
11631
11632         * sudo.man.in, sudoers.man.in, visudo.man.in:
11633         Update copyright years.
11634         [52d340cb8cba]
11635
11636         * LICENSE, alias.c, alloc.c, auth/afs.c, auth/aix_auth.c,
11637         auth/bsdauth.c, auth/fwtk.c, auth/kerb4.c, auth/kerb5.c, auth/pam.c,
11638         auth/securid.c, auth/securid5.c, auth/sia.c, auth/sudo_auth.h,
11639         closefrom.c, compat.h, defaults.c, defaults.h, env.c, fileops.c,
11640         gettime.c, gram.y, ins_csops.h, insults.h, interfaces.c,
11641         interfaces.h, lbuf.c, license.pod, list.c, logging.c, logging.h,
11642         parse.c, parse.h, pwutil.c, redblack.c, redblack.h, snprintf.c,
11643         sudo.c, sudo.pod, sudo_edit.c, sudo_nss.h, sudoers.pod,
11644         testsudoers.c, toke.l, tsgetgrpw.c, utimes.c, version.h, visudo.c,
11645         visudo.pod, zero_bytes.c:
11646         Update copyright years.
11647         [b4e6bf2beafa]
11648
11649         * emul/charclass.h, fnmatch.c, glob.c:
11650         add my copyright
11651         [28681385014a]
11652
11653 2008-11-08  Todd C. Miller  <Todd.Miller@courtesan.com>
11654
11655         * toke.c, toke.l:
11656         The loop in fill_cmnd() was going one byte too far past the end,
11657         resulting in a NUL being written immediately after the buffer end.
11658         [a5a49d603cd7]
11659
11660         * UPGRADE, WHATSNEW:
11661         add sections on tgetpass changes
11662         [2e6929b6a102]
11663
11664         * tgetpass.c:
11665         Treat EOF w/o newline as an error.
11666         [aa02b1db9240]
11667
11668 2008-11-07  Todd C. Miller  <Todd.Miller@courtesan.com>
11669
11670         * parse.c:
11671         Fix "sudo -v" when NOPASSWD is set.
11672         [f4914711ea80]
11673
11674         * auth/bsdauth.c, auth/fwtk.c, auth/pam.c, auth/sudo_auth.c,
11675         auth/sudo_auth.h:
11676         No longer treat an empty password at the prompt as special. To quit
11677         out of sudo you now need to hit ^C at the password prompt.
11678         [980f760ad419]
11679
11680         * sudoers.cat, sudoers.man.in:
11681         regen
11682         [6ca21a2cd869]
11683
11684         * def_data.c, def_data.h, def_data.in, sudo.c, sudoers.pod:
11685         Sudo will now refuse to run if no tty is present unless the new
11686         visiblepw sudoers flag is set.
11687         [0cc56943252e]
11688
11689 2008-11-06  Todd C. Miller  <Todd.Miller@courtesan.com>
11690
11691         * aix.c:
11692         just use RLIM_INFINITY for RLIM_SAVED_MAX if RLIM_SAVED_MAX not
11693         defined
11694         [24fc6f712d5c]
11695
11696         * aix.c:
11697         fix fallback value for RLIM_SAVED_MAX
11698         [e09e04e1af89]
11699
11700         * auth/aix_auth.c, auth/sudo_auth.h:
11701         Move clearing of AUTHSTATE into aixauth_cleanup.
11702         [e14ae7bd259c]
11703
11704         * auth/aix_auth.c, env.c:
11705         Unset AUTHSTATE after calling authenticate() as it may not be
11706         correct for the user we are running the command as.
11707         [d14f68f1b0ab]
11708
11709         * isblank.c:
11710         Add isblank() function for systems without it. Needed for POSIX
11711         character class matching in fnmatch.c and glob.c.
11712         [16cba30b283f]
11713
11714 2008-11-05  Todd C. Miller  <Todd.Miller@courtesan.com>
11715
11716         * TROUBLESHOOTING:
11717         expound on sudo and cd
11718         [8e0fa9033637]
11719
11720 2008-11-04  Todd C. Miller  <Todd.Miller@courtesan.com>
11721
11722         * ChangeLog:
11723         regen
11724         [40cf320a10fc]
11725
11726         * sudoers.cat, sudoers.man.in:
11727         regen
11728         [7cac761ae2c6]
11729
11730         * sudoers.pod:
11731         mention defauts parse order
11732         [4e2ce86d1394]
11733
11734 2008-11-03  Todd C. Miller  <Todd.Miller@courtesan.com>
11735
11736         * Makefile.in, aclocal.m4, compat.h, configure:
11737         Add isblank() function for systems without it. Needed for POSIX
11738         character class matching in fnmatch.c and glob.c.
11739         [a1ab55da8424]
11740
11741         * Makefile.in:
11742         add emul/charclass.h to HDRS
11743         [7e8a019dcaa4]
11744
11745 2008-11-02  Todd C. Miller  <Todd.Miller@courtesan.com>
11746
11747         * TODO:
11748         checkpoint
11749         [afeb9bc1baed]
11750
11751         * defaults.c, parse.c, testsudoers.c, visudo.c:
11752         Move update_defaults into defaults.c and call it properly from
11753         visudo and testsudoers.
11754         [f4dbb369461f]
11755
11756         * defaults.c, interfaces.c, pwutil.c, sudo.c, sudo_edit.c, tgetpass.c,
11757         tsgetgrpw.c:
11758         use zero_bytes() instead of memset() for consistency
11759         [4cee0465f4a8]
11760
11761         * logging.c, mon_systrace.c, parse.c, sudo.c, sudo_edit.c, tgetpass.c,
11762         visudo.c:
11763         Zero out sigaction_t before use in case it has non-standard entries.
11764         [120092225459]
11765
11766         * match.c:
11767         quiet gcc
11768         [098a1df49b23]
11769
11770         * match.c:
11771         Short circuit glob() checks if basename(pattern) !=
11772         basename(command). Refactor code that checks for a command in a
11773         directory and use it in the glob case if the resolved pattern ends
11774         in a '/'.
11775         [3c46fd317acb]
11776
11777 2008-11-01  Todd C. Miller  <Todd.Miller@courtesan.com>
11778
11779         * defaults.h, parse.c, sudo.c, testsudoers.c, visudo.c:
11780         Defer setting runas defaults until after runaspw/gr is setup.
11781         [12e75ee49c0c]
11782
11783 2008-10-29  Todd C. Miller  <Todd.Miller@courtesan.com>
11784
11785         * match.c, sudo.c, testsudoers.c:
11786         Use MAXHOSTNAMELEN+1 when allocating host/domain name since some
11787         systems do not include space for the NUL in the size. Also manually
11788         NUL-terminate buffer from gethostname() since POSIX is wishy-washy
11789         on this.
11790         [7266ab3296a3]
11791
11792 2008-10-26  Todd C. Miller  <Todd.Miller@courtesan.com>
11793
11794         * sudo.c, sudoers.pod:
11795         When setting the umask, use the union of the user's umask and the
11796         default value set in sudoers so that we never lower the user's umask
11797         when running a command.
11798         [4e804b004e38]
11799
11800         * sudo.c:
11801         Don't try to read from a zero-length sudoers file. Remove the bogus
11802         Solaris work-around for EAGAIN. Since we now use fgetc() it should
11803         not be a problem.
11804         [bb8e5f68d944]
11805
11806 2008-10-25  Todd C. Miller  <Todd.Miller@courtesan.com>
11807
11808         * parse.c:
11809         In update_defaults() check the return value of user*_matches against
11810         ALLOW so we don't inadvertantly match on UNSPEC.
11811         [4e422fa1527e]
11812
11813 2008-10-24  Todd C. Miller  <Todd.Miller@courtesan.com>
11814
11815         * sudo.cat, sudo.man.in, sudoers.cat, sudoers.ldap.cat,
11816         sudoers.ldap.man.in, sudoers.man.in, visudo.cat, visudo.man.in:
11817         regen man pages; no more hyphenation
11818         [15de4fe2fe01]
11819
11820         * sudo.c:
11821         Don't error out on a zero-length sudoers file. With the advent of
11822         #include the user could create a situation where sudo is unusable.
11823         [6eb461319fa5]
11824
11825 2008-10-23  Todd C. Miller  <Todd.Miller@courtesan.com>
11826
11827         * auth/kerb5.c, config.h.in, configure, configure.in:
11828         Newer heimdal has 2-argument krb5_get_init_creds_opt_free() like MIT
11829         krb5. Really old heimdal has no krb5_get_init_creds_opt_alloc() at
11830         all. Add configure tests to handle all the cases.
11831         [4b554a98470d]
11832
11833 2008-10-08  Todd C. Miller  <Todd.Miller@courtesan.com>
11834
11835         * sudo.pod:
11836         resort ENVIRONMENT
11837         [f4f20f40653e]
11838
11839         * sudoers.pod:
11840         document sudoers_locale
11841         [0bffd2dbe806]
11842
11843         * sudo.pod, sudo_edit.c:
11844         add SUDO_EDITOR variable that sudoedit uses in preference to VISUAL
11845         or EDITOR
11846         [0ef8cb248cee]
11847
11848         * toke.c, toke.l:
11849         In fill_cmnd(), collapse any escaped sudo-specific characters.
11850         Allows character classes to be used in pathnames.
11851         [5685244c8e44]
11852
11853 2008-10-03  Todd C. Miller  <Todd.Miller@courtesan.com>
11854
11855         * lbuf.c:
11856         fix typo in non-C89 function declaration
11857         [99a7113b3a05]
11858
11859         * sudoers.pod:
11860         Mention POSIX characters classes now that out fnmatch() and glob()
11861         support them.
11862         [9c916f1230c3]
11863
11864         * sample.sudoers, sudoers.pod:
11865         Replace [A-z] (which won't match in UTF8) with [A-Za-z] which is
11866         locale agnostic.
11867         [a60a62bec244]
11868
11869         * parse.h:
11870         use __signed char if we are going to assign a negative value since
11871         on Power, char is unsigned by default
11872         [2877b319df17]
11873
11874         * config.h.in, configure, configure.in:
11875         Add tests for __signed char and signed char.
11876         [5eb874fdf1d4]
11877
11878         * aix.c:
11879         Fix AIX limit setting. getuserattr() returns values in disk blocks
11880         rather than bytes. The default hard stack size in newer AIX is
11881         RLIM_SAVED_MAX. From Dale King.
11882         [3db67415ecc3]
11883
11884 2008-09-26  Todd C. Miller  <Todd.Miller@courtesan.com>
11885
11886         * emul/charclass.h, fnmatch.c, glob.c:
11887         Add character class support to included glob(3) and fnmatch(3).
11888         [6b5b4ad77899]
11889
11890 2008-09-16  Todd C. Miller  <Todd.Miller@courtesan.com>
11891
11892         * emul/fnmatch.h:
11893         Remove UCB advertising clause and some compatibility defines.
11894         [2ade7bee74e1]
11895
11896 2008-09-14  Todd C. Miller  <Todd.Miller@courtesan.com>
11897
11898         * sudo_edit.c:
11899         Check EDITOR/VISUAL to make sure sudoedit is not re-invoking itself
11900         or sudo. This allows one to set EDITOR to sudoedit without getting
11901         into an infinite loop of sudoedit running itself until the path gets
11902         too big.
11903         [aa49ab68f82d]
11904
11905         * def_data.c, def_data.h, def_data.in, defaults.c, sudo.c:
11906         Add sudoers_locale Defaults option to override the default sudoers
11907         locale of "C".
11908         [0639886a35bf]
11909
11910 2008-09-13  Todd C. Miller  <Todd.Miller@courtesan.com>
11911
11912         * sudo.c:
11913         Set locale to system default except for during sudoers parse.
11914         [016dd2736728]
11915
11916 2008-09-12  Todd C. Miller  <Todd.Miller@courtesan.com>
11917
11918         * match.c:
11919         Redo change in 1.34 to use pointer arithmetic.
11920         [f9e7b63bb450]
11921
11922 2008-09-11  Todd C. Miller  <Todd.Miller@courtesan.com>
11923
11924         * match.c:
11925         Fix a dereference (read) of a freed pointer. Reported by Patrick
11926         Williams.
11927         [69877b633753]
11928
11929 2008-08-23  Todd C. Miller  <Todd.Miller@courtesan.com>
11930
11931         * sudo.c:
11932         Set locale to "C" to avoid interpretation issues with character
11933         ranges in sudoers. May want to make the locale a sudoers option in
11934         the future.
11935         [098a95de1746]
11936
11937 2008-08-20  Todd C. Miller  <Todd.Miller@courtesan.com>
11938
11939         * config.h.in:
11940         we no longer use setproctitle
11941         [c7f20fb747ea]
11942
11943         * sudo.h:
11944         remove #if 1
11945         [a368ee6816c6]
11946
11947         * LICENSE, mkstemp.c:
11948         Use my replacement mkstemp() from the mktemp package.
11949         [d07c2beb0f9e]
11950
11951 2008-07-12  Todd C. Miller  <Todd.Miller@courtesan.com>
11952
11953         * gram.c:
11954         regen with yacc skeleton bug fixed
11955         [24784571cbb8]
11956
11957         * sudoers.pod:
11958         Remove duplicate "as root". From Martin Toft.
11959         [97241acfee5e]
11960
11961 2008-07-02  Todd C. Miller  <Todd.Miller@courtesan.com>
11962
11963         * pwutil.c, sudo.c, sudo.h, testsudoers.c:
11964         Flesh out the fake passwd entry used for running commands as a uid
11965         not listed in the passwd database. Fixes an issue with some PAM
11966         modules.
11967         [a6648227f3f2]
11968
11969 2008-07-01  Todd C. Miller  <Todd.Miller@courtesan.com>
11970
11971         * sudo.c:
11972         Error out in -i mode if the user has no shell. This can happen when
11973         running commands as a uid with no password entry.
11974         [0c174bef36ff]
11975
11976 2008-06-26  Todd C. Miller  <Todd.Miller@courtesan.com>
11977
11978         * toke.c, toke.l:
11979         Better fix for line continuation inside double quotes. Now accepts
11980         whitespace between the backslash and the newline like the main
11981         lexer.
11982         [64efcdf86d31]
11983
11984 2008-06-25  Todd C. Miller  <Todd.Miller@courtesan.com>
11985
11986         * toke.c, toke.l:
11987         Fix line continuation in strings. It was only being honored if
11988         preceded by whitespace.
11989         [96c21271a3e4]
11990
11991 2008-06-22  Todd C. Miller  <Todd.Miller@courtesan.com>
11992
11993         * config.h.in, configure, configure.in, logging.c:
11994         Replace the double fork with a fork + daemonize.
11995         [328505441e67]
11996
11997 2008-06-21  Todd C. Miller  <Todd.Miller@courtesan.com>
11998
11999         * env.c, sudo.c:
12000         The -i flag should imply env_reset. This got broken in sudo 1.6.9.
12001         [3caedfeaec87]
12002
12003         * logging.c, sudo.c, sudo_edit.c, visudo.c:
12004         Change how the mailer is waited for. Instead of having a SIGCHLD
12005         handler, use the double fork trick to orphan the child that opens
12006         the pipe to sendmail. Fixes a problem running su on some Linux
12007         distros.
12008         [b59ce60a393d]
12009
12010 2008-06-20  Todd C. Miller  <Todd.Miller@courtesan.com>
12011
12012         * configure, configure.in:
12013         Fix configure test for dirfd() on Linux where DIR is opaque.
12014         [b8f729cdfecc]
12015
12016 2008-06-17  Todd C. Miller  <Todd.Miller@courtesan.com>
12017
12018         * tgetpass.c:
12019         Get rid of the QNX TCSAFLUSH -> TCSADRAIN hack. If QNX still has
12020         this problem we'll need to revisit this again.
12021         [c17fee8ad530]
12022
12023 2008-06-11  Todd C. Miller  <Todd.Miller@courtesan.com>
12024
12025         * logging.c:
12026         Ignore SIGPIPE instead of blocking it when piping to the mailer. If
12027         we only block the signal it may be delivered later when we unblock.
12028         Also, there is no need to block SIGCHLD since we no longer do the
12029         double fork. The normal SIGCHLD handler is sufficient.
12030         [e94a49e992e5]
12031
12032 2008-06-08  Todd C. Miller  <Todd.Miller@courtesan.com>
12033
12034         * configure, configure.in:
12035         Add description for NO_PAM_SESSION, from a redhat patch.
12036         [b9e4c939ec09]
12037
12038 2008-06-06  Todd C. Miller  <Todd.Miller@courtesan.com>
12039
12040         * sudo.cat, sudo.man.in, sudo.pod:
12041         Fix typos in -i usage
12042         [2d7ce5de0235]
12043
12044 2008-05-18  Todd C. Miller  <Todd.Miller@courtesan.com>
12045
12046         * configure, configure.in:
12047         Redo the test for dgettext() in a way that hopefully will work
12048         around the libintl_dgettext() undefined problem.
12049         [d27beb0cf85e]
12050
12051 2008-05-11  Todd C. Miller  <Todd.Miller@courtesan.com>
12052
12053         * schema.ActiveDirectory:
12054         change filename in comment
12055         [733da4ee9ac5]
12056
12057 2008-05-10  Todd C. Miller  <Todd.Miller@courtesan.com>
12058
12059         * Makefile.in, README.LDAP, sudoers.ldap.cat, sudoers.ldap.man.in,
12060         sudoers.ldap.pod:
12061         Reference schema.ActiveDirectory
12062         [d6aec537800e]
12063
12064 2008-05-09  Todd C. Miller  <Todd.Miller@courtesan.com>
12065
12066         * schema.OpenLDAP, schema.iPlanet:
12067         Mark sudoRunAs as deprecated.
12068         [00c50df807af]
12069
12070         * schema.ActiveDirectory:
12071         add sudoRunAsUser and sudoRunAsGroup
12072         [19bcce6f72fb]
12073
12074         * schema.ActiveDirectory:
12075         Active Directory schema by Chantal Paradis and Eric Paquet
12076         [06a09c92c6a5]
12077
12078 2008-05-08  Todd C. Miller  <Todd.Miller@courtesan.com>
12079
12080         * parse.c:
12081         remove an XXX that was fixed
12082         [b88038062fa2]
12083
12084         * ChangeLog:
12085         sync
12086         [8fc27c17270e]
12087
12088         * parse.c:
12089         Initialize tags to UNSPEC instead of def_* in "sudo -l" mode. This
12090         fixes a problem where the tag value printed was influenced by
12091         defaults set in the first pass through the parser.
12092         [588ccd630367]
12093
12094 2008-05-04  Todd C. Miller  <Todd.Miller@courtesan.com>
12095
12096         * Makefile.in, sudo.psf:
12097         No point in packaging the TODO file
12098         [9590248fffe1]
12099
12100         * ChangeLog:
12101         sync
12102         [152acf4c6813]
12103
12104 2008-05-03  Todd C. Miller  <Todd.Miller@courtesan.com>
12105
12106         * WHATSNEW, def_data.c, def_data.h, def_data.in, env.c, sudo.c,
12107         sudo.h, sudoers.cat, sudoers.man.in, sudoers.pod:
12108         Add env_file Defaults option that is similar to /etc/environment on
12109         some systems.
12110         [1daf53d51e18]
12111
12112 2008-05-02  Todd C. Miller  <Todd.Miller@courtesan.com>
12113
12114         * Makefile.in, README, TODO, WHATSNEW, sudo.cat, sudo.man.in,
12115         sudoers.cat, sudoers.ldap.cat, sudoers.ldap.man.in, sudoers.man.in,
12116         version.h, visudo.cat, visudo.man.in:
12117         change version to 1.7.0
12118         [d41d126b9bd8]
12119
12120         * UPGRADE:
12121         initial valgrind pass done
12122         [c59c3876d8ca]
12123
12124 2008-04-23  Todd C. Miller  <Todd.Miller@courtesan.com>
12125
12126         * ldap.c:
12127         Fix typo/think in sudo_ldap_read_secret() when storing the secret.
12128         [830d246c09b0]
12129
12130 2008-04-11  Todd C. Miller  <Todd.Miller@courtesan.com>
12131
12132         * ldap.c:
12133         define LDAPS_PORT if the system headers do not
12134         [247b12325701]
12135
12136 2008-04-10  Todd C. Miller  <Todd.Miller@courtesan.com>
12137
12138         * gram.c, gram.y:
12139         Fix another memory leak in init_parser().
12140         [7bba47deba11]
12141
12142         * configure, configure.in:
12143         There was a missing space before the ldap libs in SUDO_LIBS for some
12144         configurations.
12145         [7524cfc93759]
12146
12147         * alias.c, gram.c, gram.y, toke.c, toke.l:
12148         Clean up some memory leaks pointed out by valgrind.
12149         [a965866ece1a]
12150
12151 2008-04-07  Todd C. Miller  <Todd.Miller@courtesan.com>
12152
12153         * sudo.c:
12154         fix "sudo -s" broken by mode/flags breakout
12155         [acffe984d408]
12156
12157         * configure, configure.in:
12158         remove duplicate check for dgettext
12159         [58145529133c]
12160
12161 2008-04-05  Todd C. Miller  <Todd.Miller@courtesan.com>
12162
12163         * aix.c:
12164         Fall back to default stanza if no user-specific limit is found.
12165         [7b8cb29123ee]
12166
12167 2008-04-02  Todd C. Miller  <Todd.Miller@courtesan.com>
12168
12169         * snprintf.c:
12170         include stdint.h if present
12171         [f0ec38529306]
12172
12173         * snprintf.c:
12174         Use LLONG_MAX, not the old QUAD_MAX
12175         [01041ce508fb]
12176
12177 2008-04-01  Todd C. Miller  <Todd.Miller@courtesan.com>
12178
12179         * sudoers.ldap.pod:
12180         fix cut and pasto
12181         [34240fdef5ab]
12182
12183 2008-03-31  Todd C. Miller  <Todd.Miller@courtesan.com>
12184
12185         * pwutil.c:
12186         Add #ifdef PURITY
12187         [ce1b571ad526]
12188
12189 2008-03-30  Todd C. Miller  <Todd.Miller@courtesan.com>
12190
12191         * auth/bsdauth.c:
12192         remove useless cast
12193         [494f8a862e1d]
12194
12195 2008-03-27  Todd C. Miller  <Todd.Miller@courtesan.com>
12196
12197         * ChangeLog:
12198         sync
12199         [f5c97ffaabcc]
12200
12201         * TODO:
12202         sync
12203         [96ff1c44c182]
12204
12205         * sudo.h:
12206         Split MODE_* defines into primary and flags.
12207         [c02ee3027cb9]
12208
12209 2008-03-26  Todd C. Miller  <Todd.Miller@courtesan.com>
12210
12211         * aix.c:
12212         It turns out the logic for getting AIX limits is more convoluted
12213         than I realized and differs depending on whether the soft and/or
12214         hard limits are defined.
12215         [cf8d3f85d395]
12216
12217 2008-03-23  Todd C. Miller  <Todd.Miller@courtesan.com>
12218
12219         * Makefile.in, configure, configure.in:
12220         Back out AIX-specific change to set the sudo_noexec path to the .a
12221         file, we do really want to use the .so file. Since libtool doesn't
12222         do that correctly, just install the .so file ourselves in the
12223         Makefile.
12224         [05c6f33177d9]
12225
12226         * install-sh:
12227         If the file given to install is a path, only use the basename of the
12228         file when building the destination path.
12229         [695ba4e429ce]
12230
12231 2008-03-18  Todd C. Miller  <Todd.Miller@courtesan.com>
12232
12233         * sudo.c:
12234         parse_args() cleanup: Sort command line options in the getopt()
12235         switch The -U option requires a parameter Normalize a few ISSET
12236         calls Split mode into mode and flags and retire the now-obsolete
12237         excl variable
12238         [0d156835f861]
12239
12240         * WHATSNEW, check.c, sudo.c, sudo.cat, sudo.h, sudo.man.in, sudo.pod,
12241         sudo_usage.h.in:
12242         Add -n (non-interactive) flag.
12243         [e3e50400d32d]
12244
12245         * sudo.c:
12246         Move version printing, etc. into a separate function.
12247         [18c91b476e2c]
12248
12249         * sudo.c:
12250         Don't try to cleanup nsswitch if it has not been initialized.
12251         [aeb1ca1b399d]
12252
12253 2008-03-17  Todd C. Miller  <Todd.Miller@courtesan.com>
12254
12255         * logging.c:
12256         Block SIGPIPE in send_mail() so sudo is not killed by a problem
12257         executing the mailer.
12258         [f130e7924cca]
12259
12260 2008-03-14  Todd C. Miller  <Todd.Miller@courtesan.com>
12261
12262         * configure, configure.in:
12263         AIX shared libs end in .a, not .so.
12264         [a5deb07020d8]
12265
12266 2008-03-13  Todd C. Miller  <Todd.Miller@courtesan.com>
12267
12268         * env.c:
12269         Preserve HOME by default too. Matches documentation and previous
12270         behavior.
12271         [c16f17f1047c]
12272
12273 2008-03-12  Todd C. Miller  <Todd.Miller@courtesan.com>
12274
12275         * sudo.c:
12276         Use getopt() to parse the command line. We need to be able to
12277         intersperse env variables and options yet still honor "--"" which
12278         complicates things slightly.
12279         [60f271ce5c16]
12280
12281 2008-03-06  Todd C. Miller  <Todd.Miller@courtesan.com>
12282
12283         * ChangeLog:
12284         sync
12285         [685e67964eda]
12286
12287         * acsite.m4, configure, ltmain.sh:
12288         update to libtool-1.5.26
12289         [4c9a8c3d3b40]
12290
12291         * config.guess, config.sub:
12292         update from libtool-1.5.26 distribution
12293         [c6641aef2527]
12294
12295         * aix.c, sudo.h:
12296         attempt to fix compilation errors on AIX
12297         [edb13e5b2184]
12298
12299         * Makefile.in:
12300         fix typo in last commit
12301         [25ba7f7ceae4]
12302
12303         * Makefile.in:
12304         Add WHATSNEW file to the distribution
12305         [213f4115de8f]
12306
12307         * visudo.c:
12308         use warningx instead of fprintf(stderr, ...)
12309         [a3494b8ccb19]
12310
12311         * list.c:
12312         add DEBUG to list2tq
12313         [115d24a3000c]
12314
12315         * ChangeLog, TODO:
12316         sync
12317         [60e6f4d1fac0]
12318
12319         * WHATSNEW:
12320         mention mailfrom
12321         [e2498f9e18d6]
12322
12323         * Makefile.in, aix.c, config.h.in, configure, configure.in,
12324         set_perms.c, sudo.h:
12325         Add aix_setlimits() to set resource limits on AIX using a
12326         combination of getuserattr() and setrlimit(). Currently untested.
12327         [9b1441fd89ca]
12328
12329 2008-03-05  Todd C. Miller  <Todd.Miller@courtesan.com>
12330
12331         * def_data.c, def_data.h, def_data.in, logging.c, sudoers.cat,
12332         sudoers.man.in, sudoers.pod:
12333         Add mailfrom Defaults option that sets the value of the From: field
12334         in the warning/error mail. If unset the login name of the invoking
12335         user is used.
12336         [029b9f05d3d9]
12337
12338         * defaults.c:
12339         store a copy of _PATH_SUDO_ASKPASS in def_askpass that is freeable
12340         [a90e407d5e00]
12341
12342         * gram.c, gram.y:
12343         When adding a default, only call list2tq() once to do the list to tq
12344         conversion. It is not legal to call list2tq multiple times on the
12345         same list since list2tq consumes and modifies the list argument.
12346         [fbc25d245c4a]
12347
12348         * sudoers.ldap.cat, sudoers.ldap.man.in, sudoers.ldap.pod:
12349         comment out XXXs for now
12350         [595a1d43309d]
12351
12352         * WHATSNEW:
12353         mention askpass
12354         [b993e0837c22]
12355
12356 2008-03-04  Todd C. Miller  <Todd.Miller@courtesan.com>
12357
12358         * sudo.c:
12359         Error out if both -A and -S are specified Error out if -A is
12360         specified but no askpass is configured
12361         [24f1df2638f6]
12362
12363         * configure, configure.in:
12364         we are not going to ship a sudo-specific askpass
12365         [61949e7a3943]
12366
12367 2008-03-03  Todd C. Miller  <Todd.Miller@courtesan.com>
12368
12369         * sudo.h:
12370         fix definition of TGP_ASKPASS
12371         [0447c57ba4c3]
12372
12373         * def_data.c, def_data.in:
12374         make askpass boolean-capable
12375         [e0885893a325]
12376
12377         * INSTALL:
12378         document --with-askpass
12379         [c76e15ba97cf]
12380
12381         * sudo.cat, sudo.man.in, sudoers.cat, sudoers.ldap.cat,
12382         sudoers.man.in, visudo.cat:
12383         regen
12384         [8d16242980b7]
12385
12386 2008-03-02  Todd C. Miller  <Todd.Miller@courtesan.com>
12387
12388         * sudo.pod, sudo_usage.h.in, sudoers.pod:
12389         document -A and askpass
12390         [02c07505a78c]
12391
12392         * auth/sudo_auth.c, check.c, configure, configure.in, def_data.c,
12393         def_data.h, def_data.in, defaults.c, pathnames.h.in, sudo.c, sudo.h,
12394         sudo_usage.h.in, tgetpass.c:
12395         Add support for running a helper program to read the password when
12396         no tty is present (or when specified with the -A flag). TODO: docs.
12397         [05780f5f71fd]
12398
12399         * def_data.c, def_data.in:
12400         add missing printf format to SELinux role and type strings
12401         [2b32774715e7]
12402
12403 2008-02-27  Todd C. Miller  <Todd.Miller@courtesan.com>
12404
12405         * INSTALL, configure, configure.in:
12406         Disable use of gss_krb5_ccache_name() by default and add
12407         --enable-gss-krb5-ccache-name configure option to enable it. It
12408         seems that gss_krb5_ccache_name() doesn't work properly with some
12409         combinations of Heimdal and OpenLDAP.
12410         [f61ebd3b19bd]
12411
12412 2008-02-22  Todd C. Miller  <Todd.Miller@courtesan.com>
12413
12414         * selinux.c:
12415         Ignore setexeccon() failing in permissive mode. Also add a call to
12416         setkeycreatecon() (though this is probably insufficient). From Dan
12417         Walsh.
12418         [52564fc1c069]
12419
12420         * auth/pam.c:
12421         Only set std_prompt for the PAM_PROMPT_* cases. The conversation
12422         function may be called for non-password reading purposes so we must
12423         be careful not to use def_prompt in cases where it may not be set.
12424         [29d88ca575ba]
12425
12426 2008-02-20  Todd C. Miller  <Todd.Miller@courtesan.com>
12427
12428         * selinux.c:
12429         Don't free the new tty context, we need to keep it around when we
12430         restore the tty context after the command completes
12431         [5b4bd39b6ea8]
12432
12433 2008-02-19  Todd C. Miller  <Todd.Miller@courtesan.com>
12434
12435         * selinux.c:
12436         s/newrole/sudo/
12437         [21b8a96ff8df]
12438
12439         * sudo.man.pl, sudo.pod:
12440         Only put login_cap(3) in SEE ALSO section if we have login.conf
12441         support
12442         [05250ddff2c0]
12443
12444 2008-02-18  Todd C. Miller  <Todd.Miller@courtesan.com>
12445
12446         * sudo.cat, sudo.man.in, sudoers.cat, sudoers.ldap.cat,
12447         sudoers.ldap.man.in, sudoers.man.in, visudo.cat, visudo.man.in:
12448         regen
12449         [301e5c5ccdbe]
12450
12451         * sudoers.pod:
12452         Substitute in comment characters for lines partaining to login.conf,
12453         BSD auth and SELinux and only enable them if pertinent.
12454         [c1c98fa163ce]
12455
12456         * sudoers.man.pl:
12457         Substitute in comment characters for lines partaining to login.conf,
12458         BSD auth and SELinux and only enable them if pertinent.
12459         [6c88f30b878a]
12460
12461         * sudo.pod:
12462         Substitute in comment characters for lines partaining to login.conf,
12463         BSD auth and SELinux and only enable them if pertinent.
12464         [acdbdfd24e1d]
12465
12466         * sudo.man.pl:
12467         Substitute in comment characters for lines partaining to login.conf,
12468         BSD auth and SELinux and only enable them if pertinent.
12469         [0c56d4750ac3]
12470
12471         * Makefile.in, configure, configure.in:
12472         Substitute in comment characters for lines partaining to login.conf,
12473         BSD auth and SELinux and only enable them if pertinent.
12474         [9a02bd6a6658]
12475
12476         * Makefile.in, sudo.pod, sudoers.ldap.pod, sudoers.pod, visudo.pod:
12477         Remove the =cut on the first line (above the copyright notice) to
12478         quiet pod2man. Also remove the hackery in the FILES section and
12479         just deal with the fact that there will a newline between each
12480         pathname.
12481         [2ac1ab191835]
12482
12483 2008-02-17  Todd C. Miller  <Todd.Miller@courtesan.com>
12484
12485         * Makefile.in:
12486         run sudo.man.pl when generating sudo.man.in
12487         [859727369168]
12488
12489         * configure, configure.in, sudo.man.pl:
12490         comment out SELinux manual bits unless --with-selinux was specified
12491         [97ff4212b649]
12492
12493         * sudoers.pod:
12494         document role and type defaults for SELinux
12495         [870f303366b3]
12496
12497         * sudo.c, sudo.cat, sudo.man.in, sudo.pod, sudo_usage.h.in:
12498         Document "sudo -ll" and make "sudo -l -l" be equivalent.
12499         [3ce6dc429ea3]
12500
12501 2008-02-15  Todd C. Miller  <Todd.Miller@courtesan.com>
12502
12503         * configure, configure.in:
12504         Treat k*bsd*-gnu like Linux, not BSD. Fixes compilation problems on
12505         Debian GNU/kFreeBSD.
12506         [c4efa567a328]
12507
12508 2008-02-13  Todd C. Miller  <Todd.Miller@courtesan.com>
12509
12510         * auth/kerb5.c:
12511         Avoid Heimdal'isms introduced in the rev 1.32 rewrite of
12512         verify_krb_v5_tgt()
12513         [f80538e5a6fa]
12514
12515         * logging.c, logging.h, sudo.c:
12516         Remove dependence on VALIDATE_NOT_OK in logging functions. Split
12517         log_auth() into log_allowed() and log_denial() Replace mail_auth()
12518         with should_mail() and a call to send_mail()
12519         [58aac9997557]
12520
12521 2008-02-10  Todd C. Miller  <Todd.Miller@courtesan.com>
12522
12523         * ldap.c:
12524         Add debugging so we can tell if the krb5 ccache is accessible
12525         [c679322527bb]
12526
12527         * INSTALL:
12528         mention --with-selinux
12529         [9efbe0b52194]
12530
12531 2008-02-09  Todd C. Miller  <Todd.Miller@courtesan.com>
12532
12533         * configure:
12534         regen
12535         [467a834f867c]
12536
12537         * selinux.c:
12538         add Sudo tag
12539         [d004ee669bed]
12540
12541         * sudo.c, sudo.cat, sudo.h, sudo.man.in, sudo.pod, sudo_usage.h.in,
12542         sudoers.ldap.cat, sudoers.ldap.man.in, sudoers.ldap.pod,
12543         testsudoers.c, toke.c, toke.l:
12544         Add support for SELinux RBAC. Sudoers entries may specify a role
12545         and type. There are also role and type defaults that may be used.
12546         To make sure a transition occurs, when using RBAC commands are
12547         executed via the new sesh binary. Based on initial changes from Dan
12548         Walsh.
12549         [1d4abfe2c004]
12550
12551         * sesh.c:
12552         Add support for SELinux RBAC. Sudoers entries may specify a role
12553         and type. There are also role and type defaults that may be used.
12554         To make sure a transition occurs, when using RBAC commands are
12555         executed via the new sesh binary. Based on initial changes from Dan
12556         Walsh.
12557         [1e3b395ce049]
12558
12559         * Makefile.in, config.h.in, configure.in, def_data.c, def_data.h,
12560         def_data.in, gram.c, gram.h, gram.y, ldap.c, parse.c, parse.h,
12561         pathnames.h.in, selinux.c:
12562         Add support for SELinux RBAC. Sudoers entries may specify a role
12563         and type. There are also role and type defaults that may be used.
12564         To make sure a transition occurs, when using RBAC commands are
12565         executed via the new sesh binary. Based on initial changes from Dan
12566         Walsh.
12567         [6b421948286e]
12568
12569 2008-02-08  Todd C. Miller  <Todd.Miller@courtesan.com>
12570
12571         * lbuf.c, ldap.c, parse.c, sudo.c, sudo.h, sudo_nss.c:
12572         Add long list (sudo -ll) support for printing verbose LDAP and
12573         sudoers file entries. Still need to update manual.
12574         [2875be37935c]
12575
12576 2008-02-03  Todd C. Miller  <Todd.Miller@courtesan.com>
12577
12578         * ldap.c, parse.c, sudo.h, sudo_nss.c, sudo_nss.h:
12579         Unify the -l output for file and ldap based sudoers and use lbufs
12580         for both. The ldap output does not currently include options that
12581         cannot be represented as tags. This will be remedied in a long list
12582         output mode to come.
12583         [b2e429456596]
12584
12585 2008-01-27  Todd C. Miller  <Todd.Miller@courtesan.com>
12586
12587         * set_perms.c:
12588         Use a specific error message for errno == EAGAIN when setuid() et al
12589         fails. On Linux systems setuid() will fail with errno set to EAGAIN
12590         if changing to the new uid would result in a resource limit
12591         violation.
12592         [08d0aecd9f03]
12593
12594         * sudo.c:
12595         Unlimit nproc on Linux systems where calling the setuid() family of
12596         syscalls causes the nroc resource limit to be checked. The limits
12597         will be reset by pam_limits.so when PAM is used. In the non-PAM
12598         case the nproc limit will remain unlimited but there doesn't seem to
12599         be a way around that other than having sudo parse
12600         /etc/security/limits.conf directly.
12601         [df024b415a8d]
12602
12603         * env.c, sudo.c, sudo.pod:
12604         Only read /etc/environment on Linux and AIX
12605         [90669e2aefdb]
12606
12607 2008-01-23  Todd C. Miller  <Todd.Miller@courtesan.com>
12608
12609         * configure, configure.in:
12610         Use SUDO_DEFINE_UNQUOTED instead of AC_DEFINE_UNQUOTED to prevent
12611         ldap.conf and ldap.secret paths from going into config.h. Avoid
12612         single quotes in variable expansion when using SUDO_DEFINE_UNQUOTED
12613         since in some versions of bash they will end up literally in the
12614         resulting define.
12615         [25390f3ef10a]
12616
12617 2008-01-21  Todd C. Miller  <Todd.Miller@courtesan.com>
12618
12619         * README.LDAP:
12620         mention --with-nsswitch=no
12621         [c509df927263]
12622
12623         * configure, configure.in:
12624         ldap_ssl.h depends on ldap.h being included first
12625         [d96d90e9b21f]
12626
12627         * config.h.in, configure, configure.in, ldap.c:
12628         Include ldap_ssl.h if we can find it. Needed for the
12629         ldapssl_set_strength defines on HP-UX at least.
12630         [9e530470948a]
12631
12632         * sudoers.ldap.pod:
12633         sync
12634         [b9d101f4673a]
12635
12636         * TODO:
12637         sync
12638         [2ce951b2ecd0]
12639
12640         * sudo.cat, sudo.man.in, sudoers.cat, sudoers.ldap.cat,
12641         sudoers.ldap.man.in, sudoers.man.in, visudo.cat, visudo.man.in:
12642         regen
12643         [b61d793987e0]
12644
12645         * Makefile.in:
12646         Use 78n line length when formatting cat pages.
12647         [761bee9d5759]
12648
12649         * README.LDAP:
12650         Remove redundant info that is now in sudoers.ldap.pod
12651         [01828dcce59e]
12652
12653 2008-01-20  Todd C. Miller  <Todd.Miller@courtesan.com>
12654
12655         * sudoers.ldap.cat, sudoers.ldap.man.in, sudoers.ldap.pod:
12656         Reorganize the first section a bit. Substitute the proper path for
12657         /etc/sudoers.
12658         [11ae165e065d]
12659
12660         * sudoers.ldap.cat, sudoers.ldap.man.in, sudoers.ldap.pod:
12661         Substitute values for ldap.conf, ldap.secret and nsswitch.conf Move
12662         schema into EXAMPLES
12663         [ab6509d1dde7]
12664
12665         * configure, configure.in:
12666         Substitute values for ldap.conf, ldap.secret and nsswitch.conf into
12667         sudoers.ldap.man.
12668         [6e689972f465]
12669
12670         * configure, configure.in:
12671         substitute for sudoers.ldap.man
12672         [5a4a25766dee]
12673
12674         * Makefile.in:
12675         Fix cut & pasto introduced when adding sudoers.ldap man page.
12676         [a7b069af8894]
12677
12678         * sudoers.ldap.cat, sudoers.ldap.man.in, sudoers.ldap.pod:
12679         Fill in some of the missing pieces. Still needs some reorganization
12680         and editing.
12681         [5e7331722166]
12682
12683 2008-01-19  Todd C. Miller  <Todd.Miller@courtesan.com>
12684
12685         * Makefile.in, sudoers.ldap.cat, sudoers.ldap.man.in,
12686         sudoers.ldap.pod:
12687         Beginnings of a sudoers.ldap man page. Currently, much of the
12688         information is adapted from README.LDAP.
12689         [aad28c8a922d]
12690
12691 2008-01-18  Todd C. Miller  <Todd.Miller@courtesan.com>
12692
12693         * pwutil.c:
12694         When copying gr_mem we must guarantee that the storage space for
12695         gr_mem is properly aligned. The simplest way to do this is to
12696         simply store gr_mem directly after struct group. This is not a
12697         problem for gr_passwd or gr_name as they are simple strings.
12698         [af58fc76f1ed]
12699
12700         * ldap.c:
12701         Fix a typo/thinko in one of the calls to
12702         sudo_ldap_check_user_netgroup(). From Marco van Wieringen.
12703         [70b2eb8097f5]
12704
12705 2008-01-17  Todd C. Miller  <Todd.Miller@courtesan.com>
12706
12707         * config.h.in, configure, configure.in, ldap.c:
12708         include <mps/ldap_ssl.h> in ldap.c if available
12709         [34346206ef16]
12710
12711 2008-01-16  Todd C. Miller  <Todd.Miller@courtesan.com>
12712
12713         * gram.c, gram.y:
12714         Make sure we define SIZE_MAX for yacc's skeleton.c
12715         [d8a45c7a3c42]
12716
12717         * tgetpass.c:
12718         Use TCSAFLUSH when restoring terminal settings (and echo) to
12719         guarantee that any pending output is discarded
12720         [549a184479e5]
12721
12722 2008-01-15  Todd C. Miller  <Todd.Miller@courtesan.com>
12723
12724         * sudoers:
12725         no longer need to specify SETENV when user has sudo ALL
12726         [3051b41f8032]
12727
12728         * testsudoers.c:
12729         sync user_args size calculation with sudo.c Add -g group option,
12730         renaming old -g to -G Add set_runasgr() and set_runaspw() and use
12731         them
12732         [0850325180f0]
12733
12734         * sudo.c, sudo.h:
12735         Make set_runaspw static void
12736         [5d44d7a340ce]
12737
12738         * testsudoers.c, visudo.c:
12739         g/c set_runaspw stub
12740         [79ebb5e2cc38]
12741
12742         * configure, configure.in:
12743         Don't add -llber twice.
12744         [4356d302eef4]
12745
12746 2008-01-14  Todd C. Miller  <Todd.Miller@courtesan.com>
12747
12748         * ldap.c:
12749         fix typo
12750         [249cecc557e9]
12751
12752 2008-01-13  Todd C. Miller  <Todd.Miller@courtesan.com>
12753
12754         * gram.c:
12755         regen
12756         [2f94ea375b67]
12757
12758         * configure, configure.in:
12759         Fix check that determines whether -llber is required.
12760         [6afa99523379]
12761
12762         * README.LDAP, config.h.in, configure, configure.in, ldap.c:
12763         For netscape-based LDAP, use ldapssl_set_strength() to implement the
12764         checkpeer ldap.conf option.
12765         [16ae24d73795]
12766
12767         * auth/kerb5.c:
12768         Delay krb5_cc_initialize() until we actually need to use the cred
12769         cache, which is what krb5_verify_user() does. Better cleanup on
12770         failure.
12771         [d12e5f1695b8]
12772
12773 2008-01-12  Todd C. Miller  <Todd.Miller@courtesan.com>
12774
12775         * auth/kerb5.c:
12776         Rewrite verify_krb_v5_tgt() based on what heimdal's
12777         krb5_verify_user() does.
12778         [05b5815f86c9]
12779
12780 2008-01-09  Todd C. Miller  <Todd.Miller@courtesan.com>
12781
12782         * gram.c:
12783         The U suffix on constants is an ANSI feature
12784         [c6dfce3167f1]
12785
12786         * configure, configure.in:
12787         Add check for ber_set_option() in -llber
12788         [43d0c0566074]
12789
12790 2008-01-07  Todd C. Miller  <Todd.Miller@courtesan.com>
12791
12792         * README.LDAP:
12793         default if no nsswitch.conf is files only
12794         [c13001d9c998]
12795
12796 2008-01-06  Todd C. Miller  <Todd.Miller@courtesan.com>
12797
12798         * README.LDAP:
12799         don't tell people to mail aaron about LDAP stuff
12800         [8165ec1ef0c6]
12801
12802         * README.LDAP:
12803         timelimit and bind_timelimit
12804         [44f74cbed167]
12805
12806         * ChangeLog:
12807         sync
12808         [aba1a0ab02bd]
12809
12810         * ldap.c:
12811         Move ldap.secret reading into a separate function.
12812         [1948acc9f7a4]
12813
12814         * check.c:
12815         user_runas -> runas_pw
12816         [334490fc2bae]
12817
12818 2008-01-05  Todd C. Miller  <Todd.Miller@courtesan.com>
12819
12820         * TODO:
12821         sync
12822         [c7b165cc47c6]
12823
12824         * check.c, sudo.pod, sudoers.pod:
12825         Add and document the %p escape in the password prompt. Based on a
12826         patch from Patrick Schoenfeld.
12827         [3972d4f31ffa]
12828
12829         * ldap.c:
12830         Check strlcpy() return values.
12831         [9b42f3ae8ff1]
12832
12833         * ldap.c:
12834         refactor ldap binding code into sudo_ldap_bind_s()
12835         [cb0c66a4d955]
12836
12837         * README.LDAP:
12838         Make it clear that host and uri can take multiple parameters. URI is
12839         now supported for more than just openldap nsswitch.conf does't
12840         accept "compat"
12841         [f610dea656d6]
12842
12843         * sudo.c:
12844         comment cleanup and update (c) year
12845         [6cd69c810ca5]
12846
12847         * parse.c, sudo_nss.c:
12848         Move display_privs() and display_cmnd() from parse.c to sudo_nss.c.
12849         This should make it possible to build an LDAP-only sudo binary.
12850         [61c3f27066a0]
12851
12852         * ldap.c, parse.c, sudo.c, sudo.h, sudo_nss.h:
12853         Improve chaining of multiple sudoers sources by passing in the
12854         previous return value to the next in the chain
12855         [2c0b722b1b2d]
12856
12857         * gram.y:
12858         Free up parser data structures in sudo_file_close().
12859         [2251531d4519]
12860
12861         * gram.c, parse.c:
12862         Free up parser data structures in sudo_file_close().
12863         [8371f130f401]
12864
12865         * ldap.c:
12866         Parse uri ourself if no ldap_initialize() is present Use
12867         ldap_create() instead of deprecated ldap_init() Use
12868         ldap_sasl_bind_s() instead of deprecated ldap_simple_bind_s()
12869         [85d3825b1953]
12870
12871         * config.h.in, configure, configure.in:
12872         Add check for ldap_sasl_bind_s() Remove -DLDAP_DEPRECATED from
12873         CFLAGS
12874         [240524512bc5]
12875
12876 2008-01-04  Todd C. Miller  <Todd.Miller@courtesan.com>
12877
12878         * config.h.in, configure, configure.in:
12879         add check for ldap_create
12880         [3089badd73b8]
12881
12882 2008-01-03  Todd C. Miller  <Todd.Miller@courtesan.com>
12883
12884         * config.h.in, configure, configure.in, ldap.c:
12885         Add sudo_ldap_get_first_rdn() to return the first rdn of an entry's
12886         dn using the mechanism appropriate for the LDAP SDK in use. Use
12887         ldap_unbind_ext_s() instead of deprecated ldap_unbind_s(). Emulate
12888         ldap_unbind_ext_s() and ldap_search_ext_s() for SDK's without them.
12889         [6deeca3d00cc]
12890
12891         * lbuf.c:
12892         include unistd.h
12893         [8419ed0bae7f]
12894
12895         * config.h.in, configure.in:
12896         fix typo in mtim_getnsec
12897         [2d5f21230a60]
12898
12899 2008-01-02  Todd C. Miller  <Todd.Miller@courtesan.com>
12900
12901         * config.h.in, configure, configure.in:
12902         add check for st__tim in struct stat as used by SCO
12903         [587060ea2a89]
12904
12905         * ldap.c:
12906         use ldap_search_ext_s instead of deprecated ldap_search_s
12907         [5fc44fe3b44c]
12908
12909         * Makefile.in, TODO, sudo.cat, sudo.man.in:
12910         add sudo_nss.h to HDRS
12911         [86f01a70ff29]
12912
12913         * ldap.c:
12914         Replace deprecated ldap_explode_dn() with calls to ldap_str2dn() and
12915         ldap_rdn2str().
12916         [aa217002cfae]
12917
12918 2008-01-01  Todd C. Miller  <Todd.Miller@courtesan.com>
12919
12920         * ldap.c:
12921         Use ldap_get_values_len()/ldap_value_free_len() instead of the
12922         deprecated ldap_get_values()/ldap_value_free().
12923         [e22dceb85e57]
12924
12925         * ChangeLog:
12926         sync
12927         [adad27b36107]
12928
12929         * TODO:
12930         sync
12931         [c449eb47e0ef]
12932
12933         * gettime.c, sudo.c:
12934         Remove some already fixed XXXs
12935         [532788d0e6da]
12936
12937         * ldap.c:
12938         Same return value as non-existent sudoers if LDAP was unable to
12939         connect.
12940         [5819810e8e4e]
12941
12942         * sudo.pod:
12943         mention /etc/environment
12944         [ea8e6102f853]
12945
12946         * README.LDAP, UPGRADE, WHATSNEW:
12947         Update to reflect recent developments.
12948         [ed1fb026fe77]
12949
12950         * sudo.c:
12951         Print nsswitch.conf, ldap.conf and ldap.secret paths in -V output.
12952         [55b68a58260d]
12953
12954         * ldap.c:
12955         When building up a query don't list groups in the aux group vector
12956         that are the same as the passwd file group. On most systems the
12957         first gid in the group vector is the same as the passwd entry gid.
12958         [4bb51e297e0d]
12959
12960         * env.c, ldap.c:
12961         Define LDAPNOINIT before calling ldap_init(), etc. to disable user
12962         ldaprc and system defaults that could affect how LDAP works.
12963         [ce5036440db2]
12964
12965         * INSTALL, configure, configure.in, pathnames.h.in, sudo.c,
12966         sudo_nss.c, sudo_nss.h:
12967         Rename read_nss -> sudo_read_nss Add --with-nsswitch to allow users
12968         to specify nsswitch.conf path or disable it. If --with-nsswitch=no
12969         but --with-ldap, order is LDAP, then sudoers. Fix --with-ldap-conf-
12970         file and --with-ldap-secret-file
12971         [ea5d7704381f]
12972
12973         * parse.c:
12974         Honor def_ignore_local_sudoers
12975         [f38e1121fae1]
12976
12977 2007-12-31  Todd C. Miller  <Todd.Miller@courtesan.com>
12978
12979         * ldap.c:
12980         no longer need to check def_ignore_local_sudoers here
12981         [fce2a72f96fb]
12982
12983         * parse.c:
12984         Refactor group vector resetting into a function and also call it
12985         from display_cmnd. Stop after the first sucessful match in
12986         display_cmnd. Print a newline between each display_privs method.
12987         [981b37b5adff]
12988
12989         * parse.c:
12990         fix double free introduced in rev 1.218
12991         [c574b02d8747]
12992
12993         * ldap.c:
12994         belt and suspenders; zero out result after freeing it
12995         [7732988d4620]
12996
12997         * env.c, fileops.c, ldap.c, sudo.h, sudo_nss.c:
12998         Refactor line reading into a separate function, sudo_parseln(),
12999         which removes comments, leading/trailing whitespace and newlines.
13000         May want to rethink the use of sudo_parseln() for /etc/ldap.secret
13001         [61d9068f0645]
13002
13003         * parse.c, sudo.c:
13004         Make the inability to read the sudoers file a non-fatal error if
13005         there are other sudoers sources available. sudoers_file_lookup now
13006         returns "not OK" if sudoers was not present
13007         [643babf597a8]
13008
13009         * ldap.c:
13010         make it clear that the global options are from LDAP
13011         [9ff950349463]
13012
13013         * logging.c:
13014         allocate proper amount of space for error string
13015         [8bebb7d46d19]
13016
13017         * sudo_nss.c, sudo_nss.h:
13018         actual sudo nss code
13019         [5bd7d52d7738]
13020
13021         * ldap.c, parse.c, sudo.c, sudo.h:
13022         nss-ify display_privs and display_cmnd.
13023         [cccfdd3253f2]
13024
13025         * defaults.c, parse.c, testsudoers.c, visudo.c:
13026         move update_defaults() to parse.c
13027         [ace144b958a9]
13028
13029         * Makefile.in, ldap.c, list.c, parse.c, parse.h, sudo.c, sudo.h:
13030         Use nsswitch to hide some sudoers vs. ldap implementation details
13031         and reduce the number of #ifdef LDAP TODO: fix display routines and
13032         error handling
13033         [6225edde89a6]
13034
13035 2007-12-28  Todd C. Miller  <Todd.Miller@courtesan.com>
13036
13037         * Makefile.in, README.LDAP, ldap.c, pathnames.h.in, sudo.c, sudo.h:
13038         First cut at nsswitch.conf support. Further reorganizaton and
13039         related changes are forthcoming.
13040         [717f59d0790b]
13041
13042 2007-12-21  Todd C. Miller  <Todd.Miller@courtesan.com>
13043
13044         * env.c, pathnames.h.in, sudo.c, sudo.h:
13045         Add support for reading and /etc/environment file. Still needs to
13046         be documented and should probably only applies to OSes that have it
13047         (AIX and Linux, maybe others).
13048         [15d3edae27e4]
13049
13050         * ldap.c:
13051         include limits.h
13052         [e19875ef0f82]
13053
13054 2007-12-20  Todd C. Miller  <Todd.Miller@courtesan.com>
13055
13056         * WHATSNEW:
13057         reword LDAP SASL
13058         [7ec3c4ec31b5]
13059
13060 2007-12-19  Todd C. Miller  <Todd.Miller@courtesan.com>
13061
13062         * TODO:
13063         sync
13064         [87c5a7aea7bf]
13065
13066         * README.LDAP:
13067         Add an example sudoRole, clarify netscape vs. openldap a bit more
13068         [6f96c0ca8107]
13069
13070         * README.LDAP:
13071         Be clear on what is OpenLDAP vs. Netscape-derived
13072         [a33c8314dec5]
13073
13074         * config.h.in, configure, configure.in, ldap.c:
13075         Use ldapssl_init() for ldaps support instead of trying to do it
13076         manually with ldap_init() + ldapssl_install_routines(). Use tls_cert
13077         and tls_key for cert7.db and key3.db respectively. Don't print
13078         debugging info for options that are not set. Add warning if
13079         start_tls specified when not supported.
13080         [abb62dc7e4a3]
13081
13082         * ldap.c:
13083         fix compilation on solaris
13084         [03d449684e80]
13085
13086         * Makefile.in:
13087         add missing .h and .c files for missing lib objs
13088         [8b37825bdfc7]
13089
13090 2007-12-18  Todd C. Miller  <Todd.Miller@courtesan.com>
13091
13092         * ldap.c:
13093         fix LDAP_OPT_NETWORK_TIMEOUT setting
13094         [226eba89c0ad]
13095
13096         * ldap.c:
13097         fix compilation on Solaris
13098         [917d47639eb6]
13099
13100 2007-12-17  Todd C. Miller  <Todd.Miller@courtesan.com>
13101
13102         * configure, configure.in:
13103         fix typo
13104         [009d5c81b225]
13105
13106         * README.LDAP:
13107         try to clear up which variables are for OpenLDAP and which are for
13108         netscape-derived SDKs
13109         [f8d9823ee73c]
13110
13111         * config.h.in, configure, configure.in, ldap.c:
13112         Add support for "ssl on" in both netscape and openldap flavors. Only
13113         the OpenLDAP flavor has been tested.
13114         [952745829ec5]
13115
13116         * logging.c, sudo.c, sudo.h:
13117         Call cleanup() before exit in log_error() instead of calling
13118         sudo_ldap_close() directly. ldap_conn can now be static to sudo.c
13119         [da02d1b67a2c]
13120
13121         * sudo.c:
13122         ld -> ldap_conn
13123         [01afa6d927cc]
13124
13125 2007-12-16  Todd C. Miller  <Todd.Miller@courtesan.com>
13126
13127         * logging.c, sudo.c, sudo.h:
13128         Better ldap cleanup.
13129         [25b9abe2d617]
13130
13131         * ldap.c:
13132         Distinguish between LDAP conf settings that are connection-specific
13133         (which take an ld pointer) and those that are default settings
13134         (which do not).
13135         [d48dc6c9c3b4]
13136
13137 2007-12-14  Todd C. Miller  <Todd.Miller@courtesan.com>
13138
13139         * ldap.c:
13140         Improved warnings on error.
13141         [c8dce7b4feb4]
13142
13143         * ldap.c:
13144         Make ldap config table driven and set the config *after* we open the
13145         connection.
13146         [d9698b5a2681]
13147
13148 2007-12-13  Todd C. Miller  <Todd.Miller@courtesan.com>
13149
13150         * ldap.c:
13151         fix LDAP_OPT_X_CONNECT_TIMEOUT compat define
13152         [598c6df06660]
13153
13154         * configure, configure.in:
13155         some operating systems need to link with -lkrb5support when using
13156         krb5
13157         [8896365dde9e]
13158
13159 2007-12-10  Todd C. Miller  <Todd.Miller@courtesan.com>
13160
13161         * WHATSNEW:
13162         minor update
13163         [acfeeb7f4886]
13164
13165         * sudo.cat, sudo.man.in, sudoers.cat, sudoers.man.in:
13166         regen
13167         [a3c6699674f9]
13168
13169 2007-12-08  Todd C. Miller  <Todd.Miller@courtesan.com>
13170
13171         * ChangeLog, TODO:
13172         sync
13173         [138e99b925ee]
13174
13175         * ldap.c, schema.OpenLDAP, schema.iPlanet, sudoers2ldif:
13176         add -g support for LDAP
13177         [8fc27dbe9287]
13178
13179 2007-12-03  Todd C. Miller  <Todd.Miller@courtesan.com>
13180
13181         * WHATSNEW, sudo.c, sudo.pod, sudo_usage.h.in:
13182         The -i and -s flags can now take an optional command.
13183         [6afec104ee77]
13184
13185 2007-12-02  Todd C. Miller  <Todd.Miller@courtesan.com>
13186
13187         * auth/pam.c, def_data.c, def_data.h, def_data.in, sudo.c, sudo.pod,
13188         sudoers.pod:
13189         Add passprompt_override flag to sudoers that will cause the prompt
13190         to be overridden in all cases. This flag is also set when the user
13191         specifies the -p flag.
13192         [e4c5402131a6]
13193
13194         * sudo.c:
13195         Move setting of login class until after sudoers has been parsed. Set
13196         NewArgv[0] for -i after runas_pw has been set.
13197         [62a48c8c56fa]
13198
13199         * configure, configure.in:
13200         Move the dgettext check.
13201         [5fd8a4712d1c]
13202
13203 2007-12-01  Todd C. Miller  <Todd.Miller@courtesan.com>
13204
13205         * auth/pam.c, config.h.in, configure, configure.in:
13206         Add basic support for looking up the string "Password: " in the PAM
13207         localized text db. This allows us to determine whether the PAM
13208         prompt is the default "Password: " one even if it has been
13209         localized.
13210
13211         TODO: concatenate non-std PAM prompts and user-specified sudo
13212         prompts.
13213         [81c25a415d41]
13214
13215 2007-11-27  Todd C. Miller  <Todd.Miller@courtesan.com>
13216
13217         * Makefile.in, config.h.in, configure, configure.in, parse.c,
13218         set_perms.c, sudo.c, sudo.h:
13219         Use AC_FUNC_GETGROUPS instead of a home-grown attempt that was
13220         insufficient.
13221         [1cce6ec1a91e]
13222
13223         * acsite.m4, configure, interfaces.c, memrchr.c:
13224         Fix typos; Martynas Venckus
13225         [be1233cca11a]
13226
13227 2007-11-26  Todd C. Miller  <Todd.Miller@courtesan.com>
13228
13229         * set_perms.c:
13230         Don't assume runas_pw is set; it may not be in the -g case.
13231         [aa11bd2193ac]
13232
13233 2007-11-25  Todd C. Miller  <Todd.Miller@courtesan.com>
13234
13235         * logging.c, set_perms.c:
13236         Set aux group vector for PERM_RUNAS and restore group vector for
13237         PERM_ROOT if we previously changed it. Stash the runas group vector
13238         so we don't have to call initgroups more than once. Also add no-op
13239         check to check_perms.
13240         [53837fc755f7]
13241
13242 2007-11-21  Todd C. Miller  <Todd.Miller@courtesan.com>
13243
13244         * WHATSNEW, check.c, def_data.in, defaults.c, gram.c, gram.h, gram.y,
13245         ldap.c, logging.c, match.c, mon_systrace.c, parse.c, parse.h,
13246         pwutil.c, set_perms.c, sudo.c, sudo.cat, sudo.h, sudo.man.in,
13247         sudo.pod, sudo_usage.h.in, sudoers.cat, sudoers.man.in, sudoers.pod,
13248         testsudoers.c, visudo.c, visudo.cat, visudo.man.in:
13249         Add support for runas groups. This allows the user to run a command
13250         with a different effective group. If the -g option is specified
13251         without -u the command will be run as the current user (only the
13252         group will change). the -g and -u options may be used together.
13253         TODO: implement runas group for ldap improve runas group
13254         documentation add testsudoers support
13255         [9019309df6d0]
13256
13257         * configure, configure.in:
13258         fix setting of mandir
13259         [2c60f269399f]
13260
13261         * sudo.pod, sudoers.pod:
13262         document that ALL implies SETENV
13263         [bcc8e5b703b9]
13264
13265         * ldap.c:
13266         s/setenv_ok/setenv_implied/g
13267         [f005df2c2eea]
13268
13269         * ldap.c:
13270         hostname_matches() returns TRUE on match in sudo 1.7.
13271         [c3d4377b6e8b]
13272
13273         * ldap.c:
13274         use strcmp, not strcasecmp when comparing ALL
13275         [e486024574a1]
13276
13277         * ldap.c:
13278         Make sudo ALL imply setenv. Note that unlike with file-based
13279         sudoers this does affect all the commands in the sudoRole.
13280         [bc12f54321d1]
13281
13282         * gram.c, gram.y, parse.c, parse.h:
13283         sudo "ALL" now implies the SETENV tag but, unlike an explicit tag,
13284         it is not passed on to other commands in the list.
13285         [026e2cb40680]
13286
13287         * visudo.c:
13288         Add missing sudo_setpwent() and sudo_setgrent() calls. Also use
13289         sudo_getpwuid() instead of getpwuid().
13290         [86f30a8fbd49]
13291
13292 2007-11-15  Todd C. Miller  <Todd.Miller@courtesan.com>
13293
13294         * sudoers:
13295         Expand on the dangers of not using visudo to edit sudoers.
13296         [e434e8057d02]
13297
13298 2007-11-08  Todd C. Miller  <Todd.Miller@courtesan.com>
13299
13300         * parse.c:
13301         Don't quote *?[]! on output since the lexer does not strip off the
13302         backslash when reading those in.
13303         [561da4a13afa]
13304
13305 2007-11-07  Todd C. Miller  <Todd.Miller@courtesan.com>
13306
13307         * glob.c:
13308         expand "u_foo" types to "unsigned foo" to avoid compatibility
13309         issues.
13310         [b0d7c64d78c3]
13311
13312 2007-11-04  Todd C. Miller  <Todd.Miller@courtesan.com>
13313
13314         * logging.c:
13315         Refactor log line generation in to new_logline().
13316         [6a9b9730615d]
13317
13318 2007-10-25  Todd C. Miller  <Todd.Miller@courtesan.com>
13319
13320         * TROUBLESHOOTING:
13321         fix typo
13322         [9e19d4f86e47]
13323
13324 2007-10-24  Todd C. Miller  <Todd.Miller@courtesan.com>
13325
13326         * config.h.in, configure, configure.in, interfaces.c, interfaces.h,
13327         match.c:
13328         Add configure check for struct in6_addr instead of relying on
13329         AF_INET6 since some systems define AF_INET6 but do not include IPv6
13330         support.
13331         [e24082c416bd]
13332
13333 2007-10-21  Todd C. Miller  <Todd.Miller@courtesan.com>
13334
13335         * configure, configure.in:
13336         Fix block to add -lutil for FreeBSD and NetBSD when logincap is in
13337         use.
13338         [76a9df4a63be]
13339
13340 2007-10-20  Todd C. Miller  <Todd.Miller@courtesan.com>
13341
13342         * configure, configure.in:
13343         POSIX states that struct timespec be declared in time.h so check
13344         there regardless of the value of TIME_WITH_SYS_TIME.
13345         [e42c55ec9daf]
13346
13347 2007-10-17  Todd C. Miller  <Todd.Miller@courtesan.com>
13348
13349         * tgetpass.c:
13350         Instead of defining a macro to call the appropriate method for
13351         turning on/off echo, just define tc[gs]etattr() and the related
13352         defines that use the correct terminal ioctls if needed. Also go back
13353         to using TCSAFLUSH instead of TCSADRAIN on all but QNX.
13354         [5dfb2379d995]
13355
13356 2007-10-09  Todd C. Miller  <Todd.Miller@courtesan.com>
13357
13358         * Makefile.in:
13359         g/c @ALLOCA@
13360         [e6946c2e3820]
13361
13362         * configure:
13363         regen
13364         [9bac7159a138]
13365
13366         * INSTALL, auth/pam.c, config.h.in, configure.in:
13367         Add --disable-pam-session configure option to disable calling
13368         pam_{open,close}_session. May work around bugs in some PAM
13369         implementations.
13370         [273d0fdb4a9d]
13371
13372 2007-10-08  Todd C. Miller  <Todd.Miller@courtesan.com>
13373
13374         * tgetpass.c:
13375         quiet gcc warnings
13376         [325565c5a579]
13377
13378         * tgetpass.c:
13379         Avoid printing the prompt if we are already backgrounded. E.g. if
13380         the user runs "sudo foo &" from the shell. In this case, the call
13381         to tcsetattr() will cause SIGTTOU to be delivered.
13382         [db2139a8d8b8]
13383
13384 2007-09-15  Todd C. Miller  <Todd.Miller@courtesan.com>
13385
13386         * def_data.c, def_data.h, def_data.in:
13387         Reorder things such that the definition of env_reset come right
13388         before the env variable lists.
13389         [e0d8e22a581a]
13390
13391         * parse.h:
13392         Shrink type and seqno in struct alias from int to u_short
13393         [9425263dd565]
13394
13395         * alias.c, match.c, parse.c, parse.h:
13396         Add a sequence number in the aliases for loop detection. If we find
13397         an alias with the seqno already set to the current (global) value we
13398         know we've visited it before so ignore it.
13399         [301a0548ffff]
13400
13401 2007-09-13  Todd C. Miller  <Todd.Miller@courtesan.com>
13402
13403         * TODO, auth/pam.c, sudo.c, sudo.h:
13404         PAM wants the full tty path so add user_ttypath which holds the full
13405         path to the tty or is NULL if no tty was present.
13406         [c7c1dd4b36c8]
13407
13408         * auth/pam.c:
13409         Set PAM_RHOST to work around a bug in Solaris 7 and lower that
13410         results in a segv.
13411         [3a8865b3a357]
13412
13413 2007-09-11  Todd C. Miller  <Todd.Miller@courtesan.com>
13414
13415         * gram.c:
13416         regen
13417         [5647be127950]
13418
13419         * alias.c, defaults.c, gram.y, list.c, list.h, match.c, parse.c,
13420         parse.h, testsudoers.c, visudo.c:
13421         rename lh_ -> tq_
13422         [8f500c542c4a]
13423
13424 2007-09-10  Todd C. Miller  <Todd.Miller@courtesan.com>
13425
13426         * alloc.c:
13427         remove some useless casts
13428         [409a448b23f5]
13429
13430         * alloc.c:
13431         pull in inttypes.h for SIZE_MAX; we avoid stdint.h since inttypes.h
13432         predates the final C99 spec and the standard specifies that it shall
13433         include stdint.h anyway
13434         [ae478fdef61a]
13435
13436 2007-09-06  Todd C. Miller  <Todd.Miller@courtesan.com>
13437
13438         * Makefile.in, alloca.c, configure.in:
13439         Since we ship with a pre-generated parser there is no need to ship a
13440         bogus alloca implementation.
13441         [3f611a7cc0e5]
13442
13443         * configure:
13444         regen
13445         [771eccf5269c]
13446
13447         * configure.in:
13448         remove initial setting of CHECKSIA, we require that it be unset if
13449         not used
13450         [a2e91adc5aa2]
13451
13452         * Makefile.in:
13453         add list.c to SRCS
13454         [7db0e56cf5b9]
13455
13456         * configure:
13457         regen
13458         [3716ec30172e]
13459
13460         * configure.in:
13461         only do SIA checks on Digital Unix
13462         [6a96e1af2597]
13463
13464 2007-09-05  Todd C. Miller  <Todd.Miller@courtesan.com>
13465
13466         * sudoers.cat, sudoers.man.in:
13467         regen
13468         [ac1dc29de72b]
13469
13470         * ChangeLog, TODO:
13471         sync
13472         [781effce0a2d]
13473
13474         * auth/kerb5.c:
13475         Remove call to krb5_cc_register() as it is not needed for modern
13476         kerb5.
13477         [351b8b764f16]
13478
13479         * configure:
13480         regen
13481         [ac21dbcc9c2c]
13482
13483         * aclocal.m4, configure.in:
13484         New method for setting the default authentication type and avoiding
13485         conflicts in auth types.
13486         [5fb15be11f78]
13487
13488         * match.c, parse.c, testsudoers.c:
13489         Each entry in a cmndlist now has an associated runaslist so no need
13490         to keep track of the most recent non-NULL one.
13491         [582e015786b0]
13492
13493 2007-09-04  Todd C. Miller  <Todd.Miller@courtesan.com>
13494
13495         * ldap.c:
13496         back out partial ldaps support mistakenly committed
13497         [357703e94b2d]
13498
13499         * ldap.c:
13500         Add support for unix groups and netgroups in sudoRunas
13501         [2f04eb91c6d0]
13502
13503 2007-09-03  Todd C. Miller  <Todd.Miller@courtesan.com>
13504
13505         * sudo_edit.c:
13506         Fix sudoedit of a non-existent file. From Tilo Stritzky.
13507         [a5488a03bddd]
13508
13509 2007-09-02  Todd C. Miller  <Todd.Miller@courtesan.com>
13510
13511         * configure:
13512         regen
13513         [541177376ee1]
13514
13515         * INSTALL:
13516         update --passprompt escape info
13517         [6d57db4cd538]
13518
13519         * configure.in:
13520         remove now-bogus comment and update copyright date
13521         [6a4af45fa331]
13522
13523         * configure.in:
13524         Fix up use of with_passwd
13525         [7c79d8640f77]
13526
13527         * acsite.m4, config.guess, config.sub, configure.in, ltmain.sh:
13528         Update to autoconf-2.61 andf libtool-1.5.24
13529         [045259b0b439]
13530
13531         * Makefile.in:
13532         "cmp -s" not just cmp Add @datarootdir@ to quiet autoconf-2.61
13533         [f5b6a7afb817]
13534
13535 2007-09-01  Todd C. Miller  <Todd.Miller@courtesan.com>
13536
13537         * gram.c:
13538         regen
13539         [b5b78e71d2cb]
13540
13541         * gram.y:
13542         move tags and runaslist propagation to be earlier
13543         [94f7805f4489]
13544
13545         * visudo.c:
13546         If -f flag given use the permissions of the original file as a
13547         template
13548         [9303d22bddb0]
13549
13550         * gram.y:
13551         prevent a double free() when re-initing the parser
13552         [5b3907c4de5a]
13553
13554 2007-08-31  Todd C. Miller  <Todd.Miller@courtesan.com>
13555
13556         * configure:
13557         regen
13558         [49a90b19a17d]
13559
13560         * aclocal.m4, alias.c, alloc.c, auth/API, auth/afs.c, auth/bsdauth.c,
13561         auth/kerb4.c, auth/kerb5.c, auth/pam.c, auth/securid.c,
13562         auth/securid5.c, auth/sia.c, auth/sudo_auth.h, config.h.in,
13563         configure.in, env.c, ldap.c, list.c, list.h, memrchr.c, parse.c,
13564         parse.h, pwutil.c, redblack.c, redblack.h, snprintf.c, sudo.c,
13565         sudo.h, testsudoers.c, visudo.c, zero_bytes.c:
13566         Remove support for compilers that don't support void *
13567         [35e1d01ae197]
13568
13569         * gram.c:
13570         regen
13571         [70ce412a458a]
13572
13573         * Makefile.in, alias.c, defaults.c, gram.y, list.c, list.h, match.c,
13574         parse.c, parse.h, testsudoers.c, visudo.c:
13575         Move list manipulation macros to list.h and create C versions of the
13576         more complex ones in list.c. The names have been down-cased so they
13577         appear more like normal functions.
13578         [9cea0e281148]
13579
13580         * Makefile.in:
13581         Fix cmp command when regenerating parser. Make gram.o the first
13582         dependency for all programs so gram.h will be generated before
13583         anything that needs it.
13584         [429ea065abf1]
13585
13586         * gram.y, parse.h:
13587         Convert NEW_DEFAULT anf NEW_MEMBER into static functions.
13588         [2f3433833589]
13589
13590         * match.c, parse.c, testsudoers.c:
13591         Use LH_FOREACH_REV when checking permission and short-circuit on the
13592         first non-UNSPEC hit we get for the command. This means that
13593         instead of cycling through the all the parsed sudoers entries we
13594         start at the end and work backwards and quit after the first
13595         positive or negative match.
13596         [881474532f3e]
13597
13598         * gram.c:
13599         regen
13600         [9152a19d4188]
13601
13602         * defaults.c, gram.y, parse.c, parse.h, testsudoers.c, visudo.c:
13603         Change list head macros to take a pointer, not a struct.
13604         [054f1dcce4cc]
13605
13606         * gram.c:
13607         regen
13608         [be154aae6235]
13609
13610         * gram.y:
13611         Propagate the runasspec from one command to the next in a cmndspec.
13612         [4957b1cb03a3]
13613
13614 2007-08-30  Todd C. Miller  <Todd.Miller@courtesan.com>
13615
13616         * match.c:
13617         Replace has_meta() with a macro that calls strpbrk().
13618         [a2e58846a542]
13619
13620         * regen
13621         [5a932a5c9451]
13622
13623         * alias.c, defaults.c, gram.y, match.c, parse.c, parse.h,
13624         testsudoers.c, visudo.c:
13625         Use a list head struct when storing the semi-circular lists and
13626         convert to tail queues in the process. This will allow us to
13627         reverse foreach loops more easily and it makes it clearer which
13628         functions expect a list as opposed to a single member.
13629
13630         Add macros for manipulating lists. Some of these should become
13631         functions.
13632
13633         When freeing up a list, just pop off the last item in the queue
13634         instead of going from head to tail. This is simpler since we don't
13635         have to stash a pointer to the next member, we always just use the
13636         last one in the queue until the queue is empty.
13637
13638         Rename match functions that take a list to have list in the name.
13639         Break cmnd_matches() into cmnd_matches() and cmndlist_matches.
13640         [7c37b271607a]
13641
13642         * parse.c:
13643         Fix pasto, append "!" not negated (which is an int) for sudo -l
13644         output.
13645         [93a444c3997f]
13646
13647         * Makefile.in:
13648         Remove the dependency of gram .h on gram.y, the .c dependency is
13649         enough. Only move y.tab.h to gram.h if it is different; avoids
13650         needless rebuilding.
13651         [67bf4ea2a2e5]
13652
13653 2007-08-27  Todd C. Miller  <Todd.Miller@courtesan.com>
13654
13655         * sudoers.pod:
13656         Defaults lines may be associated with lists of users, hosts,
13657         commands and runas users, not just single entries.
13658         [795effacb6be]
13659
13660 2007-08-26  Todd C. Miller  <Todd.Miller@courtesan.com>
13661
13662         * Makefile.in:
13663         Revert the "cmp" portion of the last diff, it doesn't make sense.
13664         [26f34bf4e2e3]
13665
13666         * Makefile.in:
13667         Remove *.lo for clean: When generating the parser, only move the
13668         generated files into place if they differ from the existing ones.
13669         [84673fea371b]
13670
13671 2007-08-25  Todd C. Miller  <Todd.Miller@courtesan.com>
13672
13673         * toke.c, toke.l:
13674         Replace IPV6 regexp with a much simpler (readable) one and add an
13675         extra check when it matches to make sure we have a valid address.
13676         [592e9f690556]
13677
13678         * match.c:
13679         Fix thinko introduced when merging IPV6 support.
13680         [da38cd5eb8c7]
13681
13682 2007-08-24  Todd C. Miller  <Todd.Miller@courtesan.com>
13683
13684         * HISTORY, LICENSE:
13685         regen
13686         [0d7b27b90634]
13687
13688         * license.pod:
13689         add 2007
13690         [510e5048ae1a]
13691
13692         * UPGRADE:
13693         mention #uid vs. comment pitfall
13694         [4d2861898bcc]
13695
13696         * acsite.m4:
13697         Merge in a patch from the libtool cvs that fixes a problem with the
13698         latest autoconf. From Stepan Kasal.
13699         [0c279ae7df3e]
13700
13701         * parse.h:
13702         Back out he XOR swap trick, it is slower than a temp variable on
13703         modern CPUs.
13704         [91c4b024e317]
13705
13706         * gram.c:
13707         regen
13708         [cb6d4106fb74]
13709
13710         * gram.y, parse.h:
13711         Convert the tail queue to a semi-circle queue and use the XOR swap
13712         trick to swap the prev pointers during append.
13713         [8bf4d9fbee58]
13714
13715 2007-08-23  Todd C. Miller  <Todd.Miller@courtesan.com>
13716
13717         * parse.h:
13718         remove useless statement
13719         [421ec1dd73e6]
13720
13721         * toke.c, toke.l:
13722         Refactor #include parsing into a separate function and return
13723         unparsed chars (such as newline or comment) back to the lexer.
13724         [64166917aa3d]
13725
13726 2007-08-22  Todd C. Miller  <Todd.Miller@courtesan.com>
13727
13728         * WHATSNEW:
13729         mention better uid support
13730         [56f510e7f2ec]
13731
13732         * sudoers.pod:
13733         Users may now consist of a uid.
13734         [5fd31b2c55ed]
13735
13736         * gram.c, gram.h, toke.c:
13737         regen
13738         [599e58af6dc1]
13739
13740         * parse.c:
13741         Use lbuf_append_quoted() for sudo -l output to quote characters that
13742         would require quoting in sudoers.
13743         [3132d05c990a]
13744
13745         * lbuf.c, lbuf.h:
13746         Add lbuf_append_quoted() which takes a set of characters which
13747         should be quoted with a backslash when displayed.
13748         [ab09bebb1d65]
13749
13750         * toke.l:
13751         Require that the first character after a comment not be a digit or a
13752         dash. This allows us to remove the GOTRUNAS state and treat
13753         uid/gids similar to other words. It also means that we can now
13754         specify uids in User_Lists and a User_Spec may now contain a uid.
13755         [461fe01f8392]
13756
13757         * gram.y, toke.l:
13758         Replace RUNAS token with '(' and ')' tokens to make the runas
13759         portion of the grammar more natural.
13760         [e0c383b4684d]
13761
13762         * BUGS:
13763         The BUGS file is history
13764         [4d9a809585c7]
13765
13766         * Makefile.in, README:
13767         The BUGS file is history
13768         [d9500e261172]
13769
13770 2007-08-21  Todd C. Miller  <Todd.Miller@courtesan.com>
13771
13772         * toke.c, toke.l:
13773         Allow comments after a RunasAlias as long as the character after the
13774         pound sign isn't a digit or a dash.
13775         [d7f3bd94eeda]
13776
13777         * WHATSNEW:
13778         Glob support was back-ported to 1.6.9
13779         [d1d5cfd46228]
13780
13781 2007-08-20  Todd C. Miller  <Todd.Miller@courtesan.com>
13782
13783         * Makefile.in:
13784         remove sudo_usage.h in distclean
13785         [df05ce9c4127]
13786
13787         * parse.c:
13788         If a Defaults value contains a blank, double-quote the string.
13789         [9057a910daad]
13790
13791         * toke.c, toke.l:
13792         Properly deal with Defaults double-quoted strings that span multiple
13793         lines using the line continuation char. Previously, the entire
13794         thing, including the continuation char, newline, and spaces was
13795         stored as-is.
13796         [4a4e8eacefe6]
13797
13798         * sudo.c:
13799         Be consistent when using single quotes and backticks.
13800         [d010b83a0fa1]
13801
13802 2007-08-19  Todd C. Miller  <Todd.Miller@courtesan.com>
13803
13804         * Makefile.in, configure, configure.in, lbuf.c, lbuf.h, parse.c,
13805         sudo.c, sudo_usage.h.in:
13806         Add new linebuf code to do appends of dynamically allocated strings
13807         and word-wrapped output. Currently used for sudo's usage() and sudo
13808         -l output. Sudo usage strings are now in sudo_usage.h which is
13809         generated at configure time.
13810         [4dfd0ee8d961]
13811
13812 2007-08-18  Todd C. Miller  <Todd.Miller@courtesan.com>
13813
13814         * parse.c, sudo.c, sudo.h:
13815         Fix line wrapping in usage() and use the actual tty width instead of
13816         assuming 80.
13817         [700eab37c5a6]
13818
13819 2007-08-17  Todd C. Miller  <Todd.Miller@courtesan.com>
13820
13821         * history.pod:
13822         some more info
13823         [8140112a8ae1]
13824
13825         * history.pod:
13826         Mentioned Chris Jepeway's parser and also the new one that is in
13827         sudo 1.7.
13828         [2132d00f0597]
13829
13830 2007-08-16  Todd C. Miller  <Todd.Miller@courtesan.com>
13831
13832         * sudo.pod, visudo.pod:
13833         For the options list, add flag args where appropriate and increase
13834         the indent level so there is room for them.
13835         [2b60fb572e12]
13836
13837 2007-08-15  Todd C. Miller  <Todd.Miller@courtesan.com>
13838
13839         * parse.c:
13840         Fix some spacing in "sudo -l" and add a comment about some bogosity
13841         in the line wrapping.
13842         [b59b056f5ee2]
13843
13844         * sudo.cat, sudo.man.in, sudoers.cat, sudoers.man.in, visudo.cat,
13845         visudo.man.in:
13846         regen
13847         [5fb719f18ebc]
13848
13849         * INSTALL, Makefile.in, WHATSNEW, config.h.in, configure.in,
13850         def_data.c, def_data.h, def_data.in, gram.c, gram.h, gram.y,
13851         parse.c, parse.h, pathnames.h.in, sudo.c, sudo.h, sudoers.pod,
13852         testsudoers.c, toke.c, toke.l:
13853         Remove monitor support until there is a versino of systrace that
13854         uses a lookaside buffer (or we have a better mechanism to use).
13855         [61ff76878e4a]
13856
13857         * config.h.in, configure, configure.in, sudo.c:
13858         use getaddrinfo() instead of gethostbyname() if it is available
13859         [cc33c136aa6a]
13860
13861 2007-08-14  Todd C. Miller  <Todd.Miller@courtesan.com>
13862
13863         * parse.c, sudo.c:
13864         Deal with OSes where sizeof(gid_t) < sizeof(int).
13865         [130a89cbdfba]
13866
13867         * interfaces.c:
13868         repair non-getifaddrs() code after ipv6 integration
13869         [7ae7a89e2236]
13870
13871         * sudo.c:
13872         If we can open sudoers but fail to read the first byte, close the
13873         file stream before trying again.
13874         [6f31272fae7b]
13875
13876 2007-08-13  Todd C. Miller  <Todd.Miller@courtesan.com>
13877
13878         * toke.c:
13879         regen
13880         [4d7afe0aa6fa]
13881
13882         * gram.y, interfaces.c, interfaces.h, match.c, sudoers.pod, toke.l:
13883         Add IPv6 support; adapted from patches by YOSHIFUJI Hideaki
13884         [4e6ff2965a42]
13885
13886         * sudo.pod, sudoers.pod, visudo.pod:
13887         Add some missing markup Update copyright
13888         [7e6d3c686b5e]
13889
13890 2007-08-12  Todd C. Miller  <Todd.Miller@courtesan.com>
13891
13892         * configure, configure.in:
13893         fix sudo_noexec extension which got broken in the libtool update
13894         [3a5b447df861]
13895
13896 2007-08-10  Todd C. Miller  <Todd.Miller@courtesan.com>
13897
13898         * Makefile.in:
13899         explicitly specify -Tascii to nroff
13900         [45c8da4cbefe]
13901
13902 2007-08-08  Todd C. Miller  <Todd.Miller@courtesan.com>
13903
13904         * logging.c:
13905         remove an ANSI-ism that crept in
13906         [29086f87b2ca]
13907
13908 2007-08-07  Todd C. Miller  <Todd.Miller@courtesan.com>
13909
13910         * sudo.pod:
13911         Adjust list indents Prevent -- from being turned into an em dash Use
13912         a list for the environment instead of a literal paragraph
13913         [c3abcd8f76f4]
13914
13915         * visudo.pod:
13916         Use a list for the environment instead of an indented literal
13917         paragraph.
13918         [0ffcfcb7349f]
13919
13920         * sudoers.pod:
13921         Adjust list indentation
13922         [615c89e3123a]
13923
13924         * license.pod:
13925         add =head3
13926         [8b2e0d38c0bd]
13927
13928 2007-08-06  Todd C. Miller  <Todd.Miller@courtesan.com>
13929
13930         * sudo.pod:
13931         mention that when specifying a uid for the -u option the shell may
13932         require that the # be escaped
13933         [3e3a17bff150]
13934
13935 2007-08-02  Todd C. Miller  <Todd.Miller@courtesan.com>
13936
13937         * match.c:
13938         Fix off by one in group matching.
13939         [b529602b7fba]
13940
13941 2007-07-31  Todd C. Miller  <Todd.Miller@courtesan.com>
13942
13943         * env.c:
13944         Fix typo: PYTHONINSPEC should be PYTHONINSPECT. From David Krause.
13945         [ffbf8907c6e7]
13946
13947 2007-07-30  Todd C. Miller  <Todd.Miller@courtesan.com>
13948
13949         * configure, configure.in:
13950         Add missing define of HAVE_GSS_KRB5_CCACHE_NAME for the
13951         -lgssapi_krb5 case.
13952         [2b85a89c2252]
13953
13954         * aclocal.m4, configure, configure.in:
13955         Fix link tests such that new gcc doesn't optimize away the test.
13956         [83484ec95cba]
13957
13958 2007-07-29  Todd C. Miller  <Todd.Miller@courtesan.com>
13959
13960         * sudo.pod, sudoers.pod, visudo.pod:
13961         add missing over/back
13962         [251a12c89b91]
13963
13964         * sudo.pod, sudoers.pod, visudo.pod:
13965         Change FILES section to use =item
13966         [60b9efc3a0b2]
13967
13968         * env.c:
13969         Add back allocation of the env struct in rebuild_env but save a copy
13970         of the old pointer and free it before returning.
13971         [1100cd4fa997]
13972
13973         * env.c:
13974         Don't init the private environment in rebuild_env() since it may
13975         have already been done implicitly sudo_setenv/sudo_unsetenv.
13976
13977         Multiply length by sizeof(char *) in memcpy/memmove when copying the
13978         environment so we copy the full thing.
13979
13980         Add missing set of parens so we deref the right pointer in
13981         sudo_unsetenv when searching for a matching variable.
13982         [9086a8f756b1]
13983
13984 2007-07-26  Todd C. Miller  <Todd.Miller@courtesan.com>
13985
13986         * sudo.pod, sudoers.pod, visudo.pod:
13987         Use file markup for paths in the FILES section
13988         [940d99f731f2]
13989
13990         * sudo.pod, sudoers.pod, visudo.pod:
13991         Don't capitalize sudo/visudo
13992         [f067a455d44b]
13993
13994         * sudoers.pod:
13995         Sort sudoers options; based on a diff from Igor Sobrado.
13996         [a9b9befe85ac]
13997
13998 2007-07-25  Todd C. Miller  <Todd.Miller@courtesan.com>
13999
14000         * sudo.pod, sudoers.pod, visudo.pod:
14001         Use 8 and 5 instead of @mansectsu@ and @mansectform@ since the
14002         latter confuses pod2man. The Makefile rules for the .man.in file
14003         will add @mansectsu@ and @mansectform@ back in after pod2man is done
14004         anyway.
14005         [b50ea0db727c]
14006
14007 2007-07-22  Todd C. Miller  <Todd.Miller@courtesan.com>
14008
14009         * LICENSE, Makefile.in, license.pod:
14010         Move license info to pod format
14011         [25bdd82e592b]
14012
14013         * configure, configure.in, sudoers.pod:
14014         Substitute value of path_info into sudoers man page.
14015         [9ba661a82798]
14016
14017         * WHATSNEW:
14018         remove features that were back-ported to 1.6.9
14019         [e76d756cbe65]
14020
14021         * sudo.c, sudo.pod, visudo.c, visudo.pod:
14022         Sort SYNOPSIS and sync usage. From Igor Sobrado.
14023         [4970386c9e54]
14024
14025         * env.c:
14026         Only need sudo_setenv/sudo_unsetenv if we are going to use
14027         ldap_sasl_interactive_bind_s() but don't have
14028         gss_krb5_ccache_name().
14029         [f1a73d8b35c5]
14030
14031         * ChangeLog:
14032         rebuild without branch info
14033         [5d5a33494677]
14034
14035         * Makefile.in:
14036         Add ChangeLog target
14037         [a702034fdd89]
14038
14039         * auth/pam.c:
14040         Run cleanup code if the user hits ^C at the password prompt.
14041         [9cf87768e921]
14042
14043         * auth/pam.c:
14044         Some versions of pam_lastlog have a bug that will cause a crash if
14045         PAM_TTY is not set so if there is no tty, set PAM_TTY to the empty
14046         string.
14047         [5b63f6c88866]
14048
14049 2007-07-20  Todd C. Miller  <Todd.Miller@courtesan.com>
14050
14051         * Makefile.in:
14052         ChageLog not Changelog
14053         [1243d8473ceb]
14054
14055         * ChangeLog:
14056         sync
14057         [d887df98c6b0]
14058
14059         * Makefile.in:
14060         CHANGE -> Changelog
14061         [917738df30dd]
14062
14063         * TODO:
14064         sync
14065         [cd382f7d1948]
14066
14067 2007-07-19  Todd C. Miller  <Todd.Miller@courtesan.com>
14068
14069         * config.h.in, configure, configure.in, ldap.c:
14070         Add configure hooks for gss_krb5_ccache_name() and the gssapi
14071         headers.
14072         [139606209991]
14073
14074 2007-07-18  Todd C. Miller  <Todd.Miller@courtesan.com>
14075
14076         * env.c, sudo.c:
14077         rebuild_env() and insert_env_vars() no longer return environment
14078         pointer, they set environ directly.
14079
14080         No longer need to pass around an envp pointer since we just operate
14081         on environ now.
14082
14083         Add dosync argument to insert_env() that indicates whether it should
14084         reset environ when realloc()ing env.envp.
14085
14086         Use an initial size of 128 for the environment.
14087         [4735fd5fddb8]
14088
14089         * env.c:
14090         Split sudo_setenv() into an external version and a version only for
14091         use by rebuild_env().
14092         [fda7d655adb1]
14093
14094 2007-07-16  Todd C. Miller  <Todd.Miller@courtesan.com>
14095
14096         * ldap.c:
14097         Add support for using gss_krb5_ccache_name() instead of setting
14098         KRB5CCNAME. Also use sudo_unsetenv() in the non-
14099         gss_krb5_ccache_name() case if there was no KRB5CCNAME in the
14100         original environment. TODO: configure setup for
14101         gss_krb5_ccache_name()
14102         [fcafa5a49caf]
14103
14104         * README.LDAP:
14105         add krb5_ccname
14106         [fceb8f883886]
14107
14108         * README.LDAP, ldap.c:
14109         Add support for sasl_secprops in ldap.conf
14110         [1f06f4bf7347]
14111
14112         * env.c, sudo.h:
14113         Add sudo_unsetenv() and refactor private env syncing code into
14114         sync_env().
14115         [045ecb3fd22b]
14116
14117         * README.LDAP, ldap.c:
14118         The ldap.conf variable is sasl_auth_id not sasl_authid.
14119         [a5f98491311b]
14120
14121 2007-07-15  Todd C. Miller  <Todd.Miller@courtesan.com>
14122
14123         * ldap.c, sudo.c, sudo.h:
14124         Add support for krb5_ccname in ldap.conf. If specified, it will
14125         override the default value of KRB5CCNAME in the environment for the
14126         duration of the call to ldap_sasl_interactive_bind_s().
14127         [b08a10c3045b]
14128
14129         * env.c, sudo.h:
14130         Remove format_env() Add sudo_setenv() to replace most format_env() +
14131         insert_env() combinations. insert_env() no longer takes a struct
14132         environment *
14133         [131da52f43f3]
14134
14135         * ldap.c:
14136         Fix use_sasl vs. rootuse_sasl logic.
14137         [0c0417b6918c]
14138
14139         * README.LDAP, config.h.in, configure, configure.in, ldap.c:
14140         Add support for SASL auth when connecting to an LDAP server. Adapted
14141         from a diff by Tom McLaughlin.
14142         [a6285f1356ea]
14143
14144 2007-07-14  Todd C. Miller  <Todd.Miller@courtesan.com>
14145
14146         * configure, configure.in:
14147         Only enable AIX or BSD auth if no other exclusive auth method has
14148         been chosen. Allows people to e.g., use PAM on AIX without adding
14149         --without-aixauth. A better solution is needed to deal with default
14150         authentication since if a non-exclusive method is chosen we will
14151         still get an error.
14152         [83f7afdc0ec3]
14153
14154 2007-07-11  Todd C. Miller  <Todd.Miller@courtesan.com>
14155
14156         * HISTORY, Makefile.in, history.pod:
14157         Generate HISTORY from history.pod (which is also used for web pages)
14158         [60bcd5164931]
14159
14160 2007-07-09  Todd C. Miller  <Todd.Miller@courtesan.com>
14161
14162         * sudo.man.in, sudoers.man.in:
14163         regen
14164         [63956a366191]
14165
14166         * sudo.pod:
14167         Better explanation of environment handling in the sudo man page.
14168         [6c247742f7ee]
14169
14170         * env.c, sudo.c:
14171         Defer setting user-specified env vars until after authentication.
14172         [4750b79323ee]
14173
14174         * env.c:
14175         honor def_default_path for PATH set on the command line
14176         [6db31d9b6d65]
14177
14178         * env.c, sudo.c, sudo.pod, sudoers.pod:
14179         Allow user to set environment variables on the command line as long
14180         as they are allowed by env_keep and env_check. Ie: apply the same
14181         restrictions as normal environment variables. TODO: deal with
14182         secure_path
14183         [26c0da3840cf]
14184
14185 2007-07-08  Todd C. Miller  <Todd.Miller@courtesan.com>
14186
14187         * sudo.c, sudo_edit.c:
14188         Call rebuild_env() in call cases. Pass original envp to sudo_edit().
14189         Don't allow -E or env var setting in sudoedit mode. More accurate
14190         usage() when called as sudoedit.
14191         [a4af20658361]
14192
14193         * ldap.c:
14194         warn -> warning
14195         [d87d1192b048]
14196
14197         * sudo.pod:
14198         add -c option to sudoedit synopsis
14199         [15b596a7e2db]
14200
14201         * TODO:
14202         udpate to reality
14203         [e2f8fde89db1]
14204
14205         * parse.c:
14206         Use ALLOW/DENY instead of TRUE/FALSE when dealing with the return
14207         value from {user,host,runas,cmnd}_matches(). Rename *matches
14208         variables -> *match. Purely cosmetic.
14209         [e54a44c00a88]
14210
14211         * parse.c:
14212         Move setting of FLAG_NO_CHECK into the if(pwflag) block. No change
14213         in behavior.
14214         [c6272b4f2127]
14215
14216         * sudoers:
14217         add SETENV tag
14218         [3a3066bb6788]
14219
14220 2007-07-06  Todd C. Miller  <Todd.Miller@courtesan.com>
14221
14222         * parse.c:
14223         Make pwcheck local to the pwflag block. Use pwcheck even if user
14224         didn't match since Defaults options may still apply.
14225         [45da9efbbafd]
14226
14227         * check.c, sudo.c:
14228         Do not update timestamp if user not validated by sudoers.
14229         [a4a9d4364827]
14230
14231         * set_perms.c:
14232         for PERM_RUNAS, set the egid to the runas user's gid and restore to
14233         the user's original in PERM_ROOT
14234         [1514bfb32847]
14235
14236         * logging.c, mon_systrace.c, set_perms.c, sudo.h:
14237         PERM_FULL_ROOT is now no different than PERM_ROOT so remove
14238         PERM_FULL_ROOT
14239         [b9d047a3178c]
14240
14241         * check.c:
14242         don't check timestamp mtime if we are just going to remove it
14243         [5d2470bc6cbd]
14244
14245         * sudoers.pod:
14246         Move sudoers defaults parameters into their own section.
14247         [54701fbc0ff3]
14248
14249         * testsudoers.c:
14250         Reduce a level of indent by a few placed continue statements.
14251         [5d5a9838c8ef]
14252
14253         * parse.c:
14254         Make matching but negated commands/hosts/runas entries override a
14255         previous match as expected. Also reduce some levels of indent by a
14256         few placed continue statements.
14257         [dd59fa4b91a1]
14258
14259 2007-07-05  Todd C. Miller  <Todd.Miller@courtesan.com>
14260
14261         * parse.c:
14262         Print default runas in "sudo -l" if sudoers don't specify one.
14263         [07d408c400bd]
14264
14265         * match.c:
14266         Less hacky way of testing whether the domain was set.
14267         [a537059776e5]
14268
14269 2007-07-04  Todd C. Miller  <Todd.Miller@courtesan.com>
14270
14271         * INSTALL:
14272         Mention pam-devel and openldap-devel for Linux
14273         [9e708c54ecc3]
14274
14275 2007-07-03  Todd C. Miller  <Todd.Miller@courtesan.com>
14276
14277         * README.LDAP:
14278         or vs. are
14279         [abe8c0f3a410]
14280
14281 2007-07-01  Todd C. Miller  <Todd.Miller@courtesan.com>
14282
14283         * sudo.c:
14284         fix typo in Solaris project support
14285         [2ffeb2d80959]
14286
14287         * HISTORY:
14288         update
14289         [df162b36f120]
14290
14291         * sudo.c:
14292         Make -- on the command line match the manual page. The implied shell
14293         case has been simplified as a result.
14294         [cd217a1f6694]
14295
14296 2007-06-28  Todd C. Miller  <Todd.Miller@courtesan.com>
14297
14298         * sudoers2ldif:
14299         add simplistic support for sudoRunas; note that if a sudoers entry
14300         contains multiple Runas users, all will apply to the sudoRole
14301         [65b11421f5c8]
14302
14303         * sudoers2ldif:
14304         honor SETENV and NOSETENV tags
14305         [2c0d5ba7a09b]
14306
14307 2007-06-24  Todd C. Miller  <Todd.Miller@courtesan.com>
14308
14309         * mon_systrace.c:
14310         Redo setting of user_args. We now build up a private copy of argv
14311         first and then replace the NULs?with spaces.
14312         [ccbba72ea112]
14313
14314         * mon_systrace.c:
14315         getcwd() returns NULL on failure, not 0 on success
14316         [88cd9e66e530]
14317
14318         * mon_systrace.c:
14319         allow chunksiz to reach 1 before erroring out
14320         [619d68f14964]
14321
14322         * sudo.cat, sudo.man.in, sudoers.cat, sudoers.man.in, visudo.cat,
14323         visudo.man.in:
14324         regen
14325         [8db512d3caf0]
14326
14327 2007-06-23  Todd C. Miller  <Todd.Miller@courtesan.com>
14328
14329         * def_data.c, def_data.h, def_data.in, env.c, gram.c, gram.h, gram.y,
14330         logging.c, parse.c, parse.h, sudo.c, sudo.h, sudo.pod, sudoers.pod,
14331         toke.c, toke.l:
14332         Add support for setting environment variables on the command line.
14333         This is only allowed if the setenv sudoers options is enabled or if
14334         the command is prefixed with the SETENV tag.
14335         [5744caebd969]
14336
14337         * README.LDAP:
14338         replace Aaron's email address with the sudo-workers list
14339         [2ffce5f9afc0]
14340
14341         * configure:
14342         regen
14343         [8013dff82c0c]
14344
14345 2007-06-22  Todd C. Miller  <Todd.Miller@courtesan.com>
14346
14347         * schema.OpenLDAP, schema.iPlanet:
14348         Break schema out into separate files.
14349         [15e598e4c60b]
14350
14351         * Makefile.in, README.LDAP:
14352         Break schema out into separate files.
14353         [1a53966ca1fa]
14354
14355 2007-06-21  Todd C. Miller  <Todd.Miller@courtesan.com>
14356
14357         * auth/aix_auth.c:
14358         free message if set by authenticate()
14359         [849c220c1236]
14360
14361         * match.c:
14362         deal with NULL gr_mem
14363         [49e4d74f0bbe]
14364
14365 2007-06-20  Todd C. Miller  <Todd.Miller@courtesan.com>
14366
14367         * config.h.in:
14368         regen
14369         [fead999ad3e9]
14370
14371         * configure.in:
14372         add template for HAVE_PROJECT_H
14373         [e6c42c2eaad1]
14374
14375         * closefrom.c:
14376         include fcntl.h
14377         [54d98b382f03]
14378
14379 2007-06-19  Todd C. Miller  <Todd.Miller@courtesan.com>
14380
14381         * INSTALL:
14382         mention --with-project
14383         [d3ea3baad7c5]
14384
14385         * config.h.in, configure.in, sudo.c:
14386         Add Solaris 10 "project" support. From Michael Brantley.
14387         [f14f3c8c6554]
14388
14389         * sudoers.pod:
14390         fix typo
14391         [50db81a19787]
14392
14393         * configure:
14394         regen
14395         [ea71afd3e564]
14396
14397         * configure.in:
14398         Fix preservation of LDFLAGS in the LDAP case.
14399         [40a3a47e8059]
14400
14401         * memrchr.c:
14402         Remove dependecy on NULL
14403         [c957ae5e1733]
14404
14405         * configure:
14406         regen
14407         [4955ce0c6912]
14408
14409         * aclocal.m4, configure.in:
14410         Can't use the regular autoconf fnmatch() check since we need
14411         FNM_CASEFOLD so go back to our custom one.
14412         [f10d76237486]
14413
14414         * env.c:
14415         Fix preserving of variables in env_keep.
14416         [d040049d6b84]
14417
14418         * env.c:
14419         add XAUTHORIZATION
14420         [0d589a5fe015]
14421
14422         * UPGRADE:
14423         expand upon env resetting and mention that it began in 1.6.9 not
14424         1.7.
14425         [dba251655c76]
14426
14427         * sudoers.pod:
14428         Update descriptions of env_keep and env_check to match current
14429         reality.
14430         [dba77357954b]
14431
14432 2007-06-18  Todd C. Miller  <Todd.Miller@courtesan.com>
14433
14434         * env.c:
14435         Add LINGUAS to initial_checkenv_table. Add COLORS, HOSTNAME,
14436         LS_COLORS, MAIL, PS1, PS2, XAUTHORITY to intial_keepenv_table.
14437         [eec4632bd190]
14438
14439         * env.c, logging.c:
14440         Treat USERNAME environemnt variable like LOGNAME/USER
14441         [09f52dcfd70c]
14442
14443         * env.c:
14444         Don't need to populate keepenv table with the contents of the
14445         checkenv table.
14446         [527a14afd973]
14447
14448         * sudo.c:
14449         Don't force sudo into the C locale.
14450         [8a5bd301ef96]
14451
14452         * env.c:
14453         Make env_check apply when env_reset it true. Environment variables
14454         are passed through unless they contain '/' or '%'. There is no need
14455         to have a variable in both env_check and env_keep.
14456         [840c802721e4]
14457
14458 2007-06-16  Todd C. Miller  <Todd.Miller@courtesan.com>
14459
14460         * visudo.c:
14461         Remove an duplicate lock_file() call and add a comment.
14462         [5af9dcdf0eb6]
14463
14464         * UPGRADE:
14465         Add sudo 1.6.9 upgrade note.
14466         [1585149f2914]
14467
14468 2007-06-14  Todd C. Miller  <Todd.Miller@courtesan.com>
14469
14470         * interfaces.c:
14471         Solaris will return EINVAL if the buffer used in SIOCGIFCONF is too
14472         small. From Klaus Wagner.
14473         [d6899fc44f77]
14474
14475         * logging.c, sudo.h:
14476         Redo the long syslog line splitting based on a patch from Eygene
14477         Ryabinkin. Include memrchr() for systems without it.
14478         [66a50e8d553a]
14479
14480         * memrchr.c:
14481         Redo the long syslog line splitting based on a patch from Eygene
14482         Ryabinkin. Include memrchr() for systems without it.
14483         [2f6702b7d41b]
14484
14485         * Makefile.in, config.h.in, configure, configure.in:
14486         Redo the long syslog line splitting based on a patch from Eygene
14487         Ryabinkin. Include memrchr() for systems without it.
14488         [407a46190921]
14489
14490         * configure.in:
14491         Since we need to be able to convert timespec to timeval for utimes()
14492         the last 3 digits in the tv_nsec are not significant. This makes the
14493         sudoedit file date comparison work again.
14494         [9d0258849fa9]
14495
14496 2007-06-13  Todd C. Miller  <Todd.Miller@courtesan.com>
14497
14498         * aclocal.m4, configure, configure.in:
14499         Add SUDO_ADD_AUTH macro to deal with adding things to AUTH_OBJS.
14500         This deals with exclusive authentication methods in a simple way.
14501         [7d70072c0f35]
14502
14503 2007-06-12  Todd C. Miller  <Todd.Miller@courtesan.com>
14504
14505         * LICENSE:
14506         mkstemp.c is BSD code too.
14507         [29e236d98162]
14508
14509         * sudo.pod, sudoers.pod, visudo.pod:
14510         No commercial support for now.
14511         [7c76b3e192dd]
14512
14513 2007-06-11  Todd C. Miller  <Todd.Miller@courtesan.com>
14514
14515         * sudo.c:
14516         cleanenv() is no more.
14517         [518080514408]
14518
14519 2007-06-10  Todd C. Miller  <Todd.Miller@courtesan.com>
14520
14521         * ChangeLog:
14522         Display branch info in Changelog
14523         [44e3b27427c7]
14524
14525         * utimes.c:
14526         Include config.h early so we have it for TIME_WITH_SYS_TIME
14527         [4bf1a00d0703]
14528
14529         * ChangeLog:
14530         Fix Changelog generation and update.
14531         [6e960dbcbece]
14532
14533 2007-06-09  Todd C. Miller  <Todd.Miller@courtesan.com>
14534
14535         * closefrom.c:
14536         Use /proc/self/fd instead of /proc/$$/fd
14537
14538         Move old-style fd closing into closefrom_fallback() and call that if
14539         /proc/self/fd doesn't exist or the F_CLOSEM fcntl() fails
14540         [faa7e4810758]
14541
14542         * auth/kerb5.c, config.h.in, configure.in:
14543         o use krb5_verify_user() if available instead of doing it by hand o
14544         use krb5_init_secure_context() if we have it o pass an encryption
14545         type of 0 to krb5_kt_read_service_key() instead of
14546         ENCTYPE_DES_CBC_MD5 to let kerberos choose.
14547         [df7acf72bd7c]
14548
14549         * env.c:
14550         Check TERM and COLORTERM for '%' and '/' characters. From Debian.
14551         [f92d05197e40]
14552
14553         * configure.in:
14554         Fix closefrom() substitution in the Makefile
14555         [b642b13fcc5c]
14556
14557         * TROUBLESHOOTING:
14558         Mention alternate sudo pronunciation.
14559         [7c71dc73409f]
14560
14561 2007-06-07  Todd C. Miller  <Todd.Miller@courtesan.com>
14562
14563         * env.c:
14564         Remove KRB5_KTNAME from environment. Allow COLORTERM.
14565         [70f35a79f780]
14566
14567         * auth/kerb5.c:
14568         If we cannot get a valid service key using the default keytab it is
14569         a fatal error. Fixes a bug where sudo could be tricked into
14570         allowing access when it should not by a fake KDC. From Thor Lancelot
14571         Simon.
14572         [a3ae6a47cb23]
14573
14574 2007-05-12  Todd C. Miller  <Todd.Miller@courtesan.com>
14575
14576         * aclocal.m4, configure, configure.in:
14577         Update long long checks to use AC_CHECK_TYPES and to cache values.
14578         [047318eaaeb2]
14579
14580         * aclocal.m4, configure.in:
14581         Use AC_FUNC_FNMATCH instead of a homebrew fnmatch checker. We can't
14582         use AC_REPLACE_FNMATCH since that assumes replacing with GNU
14583         fnmatch.
14584         [80513a1003ea]
14585
14586 2007-05-11  Todd C. Miller  <Todd.Miller@courtesan.com>
14587
14588         * configure, configure.in:
14589         Add closefrom() to LIB_OBJS not SUDO_OBJS if it is missing since we
14590         need it for visudo now too.
14591         [50837c7c2b5e]
14592
14593 2007-04-24  Todd C. Miller  <Todd.Miller@courtesan.com>
14594
14595         * sudoers.pod:
14596         Attempt to clarify the bit talking about network numbers w/o
14597         netmasks.
14598         [211e68c1d034]
14599
14600         * sudo.pod:
14601         Clarify timestamp dir ownership sentence.
14602         [9178f132c7f7]
14603
14604 2007-04-20  Todd C. Miller  <Todd.Miller@courtesan.com>
14605
14606         * auth/pam.c:
14607         Linux PAM now defines __LINUX_PAM__, not __LIBPAM_VERSION. From
14608         Dmitry V. Levin.
14609         [81fce91667bc]
14610
14611 2007-04-16  Todd C. Miller  <Todd.Miller@courtesan.com>
14612
14613         * sudo.c:
14614         -i is also one of the mutually exclusive options to list it in the
14615         warning message. Noted by Chris Pepper.
14616         [7da73fb248e9]
14617
14618 2007-04-12  Todd C. Miller  <Todd.Miller@courtesan.com>
14619
14620         * visudo.pod:
14621         The sudoers variable is env_editor, not enveditor. From Jean-
14622         Francois Saucier.
14623         [2a86ec09a6db]
14624
14625 2007-03-29  Todd C. Miller  <Todd.Miller@courtesan.com>
14626
14627         * redblack.c:
14628         I tracked down the original author so credit him and include his
14629         license info.
14630         [3733553a1bba]
14631
14632 2007-02-06  Todd C. Miller  <Todd.Miller@courtesan.com>
14633
14634         * sudo.cat, sudo.man.in, sudo.pod, sudoers.cat, sudoers.man.in,
14635         sudoers.pod:
14636         Fix typos; from Jason McIntyre.
14637         [1ee4ce2512f2]
14638
14639         * logging.c:
14640         Restore signal mask before calling reapchild(). Fixes a possible
14641         race condition that could prevent sudo from properly waiting for the
14642         child.
14643         [9ee4192385dc]
14644
14645 2007-01-31  Todd C. Miller  <Todd.Miller@courtesan.com>
14646
14647         * pwutil.c:
14648         Don't declare pw_free() if we are not going to use it.
14649         [adb79a4289ca]
14650
14651         * env.c:
14652         Add NOEXEC support for AIX 5.3 which supports LDR_PRELOAD and
14653         LDR_PRELOAD64. The 64-bit version is not currently supported.
14654         Remove zero_env() prototype as it no longer exists.
14655         [b4fe65027fb6]
14656
14657 2006-12-11  Todd C. Miller  <Todd.Miller@courtesan.com>
14658
14659         * logging.c:
14660         Add "Auto-Submitted: auto-generated" line to sudo mail for rfc 3834.
14661         [78002ad90f7b]
14662
14663 2006-09-29  Todd C. Miller  <Todd.Miller@courtesan.com>
14664
14665         * auth/pam.c:
14666         If the user enters ^C at the password prompt, abort instead of
14667         trying to authenticate with an empty password (which causes an
14668         annoying delay).
14669         [da3f27b747c7]
14670
14671 2006-08-17  Todd C. Miller  <Todd.Miller@courtesan.com>
14672
14673         * closefrom.c, config.h.in, configure, configure.in:
14674         Add fcntl F_CLOSEM support to closefrom(); adapted from a diff by
14675         Darren Tucker.
14676         [0331b7780759]
14677
14678         * pwutil.c:
14679         pw_free() is only used by sudo_freepwcache() so ifdef it out too.
14680         [0014c0d9eeba]
14681
14682 2006-08-04  Todd C. Miller  <Todd.Miller@courtesan.com>
14683
14684         * config.guess, config.sub:
14685         Update to latest versions from cvs.savannah.gnu.org
14686         [aa0143101c20]
14687
14688 2006-07-31  Todd C. Miller  <Todd.Miller@courtesan.com>
14689
14690         * pwutil.c, sudo_edit.c:
14691         Move password/group cache cleaning out of sudo_end{pw,grp}ent() so
14692         we can close the passwd/group files early.
14693         [559074bd7eb7]
14694
14695         * config.h.in, configure, configure.in, set_perms.c:
14696         Add seteuid() flavor of set_perms() for systems without setreuid()
14697         or setresuid() that have a working seteuid(). Tested on Darwin.
14698         [508d8da99189]
14699
14700 2006-07-30  Todd C. Miller  <Todd.Miller@courtesan.com>
14701
14702         * mon_systrace.c:
14703         systrace_read() returns ssize_t
14704         [9f97d1d1a59d]
14705
14706         * configure, configure.in:
14707         Fix typo, -lldap vs. -ldap; from Tim Knox.
14708         [a8cc43c3bb2a]
14709
14710 2006-07-28  Todd C. Miller  <Todd.Miller@courtesan.com>
14711
14712         * HISTORY:
14713         Fix typo; Matt Ackeret
14714         [86964ee3dfbd]
14715
14716 2006-07-17  Todd C. Miller  <Todd.Miller@courtesan.com>
14717
14718         * sudo.c:
14719         Print sudoers path in -V mode for root.
14720         [dc43f2d75bd9]
14721
14722 2006-06-15  Todd C. Miller  <Todd.Miller@courtesan.com>
14723
14724         * ldap.c:
14725         Do a sub tree search instead of a base search (one level in the tree
14726         only) for sudo right objects. This allows system administrators to
14727         categorize the rights in a tree to make them easier to manage.
14728         [6d2d9abf996e]
14729
14730 2005-12-28  Todd C. Miller  <Todd.Miller@courtesan.com>
14731
14732         * sudo.pod:
14733         fix typo
14734         [1473413bcbda]
14735
14736 2005-12-04  Todd C. Miller  <Todd.Miller@courtesan.com>
14737
14738         * ldap.c:
14739         Convert GET_OPT and GET_OPTI to use just 2 args. Add timelimit and
14740         bind_timelimit support; adapted from gentoo.
14741         [afc816093026]
14742
14743 2005-11-23  Todd C. Miller  <Todd.Miller@courtesan.com>
14744
14745         * ldap.c:
14746         Support comments that start in the middle of a line
14747         [c25df6ee3db8]
14748
14749         * configure, configure.in:
14750         Define LDAP_DEPRECATED until we start using ldap_get_values_len()
14751         [ee249bfe230a]
14752
14753 2005-11-18  Todd C. Miller  <Todd.Miller@courtesan.com>
14754
14755         * closefrom.c:
14756         Silence gcc -Wsign-compare; djm@openbsd.org
14757         [28769ce6418d]
14758
14759         * error.c, sudo.c, sudo.h, testsudoers.c, visudo.c:
14760         cleanup() now takes an int as an arg so it can be used as a signal
14761         handler too.
14762         [2bb0df34d09c]
14763
14764         * sudo.c:
14765         Make a copy of the shell field in the passwd struct for NewArgv to
14766         avoid a use after free situation after sudo_endpwent() is called.
14767         [5dcc9ffd362e]
14768
14769 2005-11-17  Todd C. Miller  <Todd.Miller@courtesan.com>
14770
14771         * config.h.in, configure, configure.in:
14772         Add mkstemp() for those poor souls without it.
14773         [5fdd02e863e0]
14774
14775         * mkstemp.c:
14776         Add mkstemp() for those poor souls without it.
14777         [c99401207860]
14778
14779         * Makefile.in:
14780         Add mkstemp() for those poor souls without it.
14781         [9c1cf2678f24]
14782
14783 2005-11-15  Todd C. Miller  <Todd.Miller@courtesan.com>
14784
14785         * env.c:
14786         Add PERL5DB to list of environment variables to remove.
14787         [7375c27ecf75]
14788
14789 2005-11-13  Todd C. Miller  <Todd.Miller@courtesan.com>
14790
14791         * mon_systrace.c, mon_systrace.h:
14792         Instead of calling the check function twice with a state cookie use
14793         separate check/log functions.
14794
14795         Check more ioctl() calls for failure.
14796
14797         systrace_{read,write} now return the number of bytes read/written or
14798         -1 on error.
14799         [3dc8946d90e9]
14800
14801         * env.c:
14802         Add more environment variables to remove; from gentoo linux Add some
14803         comments about what bad env variables go to what (more to do)
14804         [6918110a6b82]
14805
14806 2005-11-11  Todd C. Miller  <Todd.Miller@courtesan.com>
14807
14808         * sudo.c, sudo_edit.c:
14809         Move sudo_end{gr,pw}ent() until just before the exec since they free
14810         up our cached copy of the passwd structs, including sudo_user and
14811         sudo_runas. Fixes a use-after-free bug.
14812         [54de3778bad0]
14813
14814         * visudo.c:
14815         Close all fd's before executing editor.
14816         [4fcc05e1bec8]
14817
14818         * sudo.c:
14819         Enable malloc debugging on OpenBSD when SUDO_DEVEL is set.
14820         [ef0e8ffa5c9f]
14821
14822         * check.c:
14823         Fix fd leak when lecture file option is enabled. From Jerry Brown
14824         [ce97f9207cd8]
14825
14826 2005-11-07  Todd C. Miller  <Todd.Miller@courtesan.com>
14827
14828         * env.c:
14829         Add PERLLIB, PERL5LIB and PERL5OPT to the default list of
14830         environment variables to remove. From Charles Morris
14831         [c96e1367d1c1]
14832
14833 2005-11-01  Todd C. Miller  <Todd.Miller@courtesan.com>
14834
14835         * env.c:
14836         add JAVA_TOOL_OPTIONS to initial_badenv_table for java 5
14837         [72a6a1571226]
14838
14839 2005-10-28  Todd C. Miller  <Todd.Miller@courtesan.com>
14840
14841         * env.c:
14842         add PS4 and SHELLOPTS to initial_badenv_table for bash
14843         [89dfb3f318f3]
14844
14845 2005-08-15  Todd C. Miller  <Todd.Miller@courtesan.com>
14846
14847         * sudoers.pod:
14848         Fix typo; Toby Peterson
14849         [b7a3222b23f4]
14850
14851 2005-08-02  Todd C. Miller  <Todd.Miller@courtesan.com>
14852
14853         * tsgetgrpw.c:
14854         Make return buffers static so they don't get clobbered
14855         [13323a39b9f5]
14856
14857 2005-07-28  Todd C. Miller  <Todd.Miller@courtesan.com>
14858
14859         * auth/securid5.c:
14860         Fix securid5 authentication, was not checking for ACM_OK. Also add
14861         default cases for the two switch()es. Problem noted by ccon at
14862         worldbank
14863         [14091e418333]
14864
14865 2005-06-27  Todd C. Miller  <Todd.Miller@courtesan.com>
14866
14867         * ldap.c:
14868         Remove ncat() in favor of just counting bytes and pre-allocating
14869         what is needed.
14870         [25b8712adb61]
14871
14872 2005-06-26  Todd C. Miller  <Todd.Miller@courtesan.com>
14873
14874         * ldap.c:
14875         Fix up some comments Add missing fclose() for the rootbinddn case
14876         [ae95c8a89711]
14877
14878         * ldap.c:
14879         align struct ldap_config
14880         [35d0d64c76f8]
14881
14882         * ldap.c:
14883         use LINE_MAX for max conf file line size
14884         [da116cb8853d]
14885
14886         * pathnames.h.in:
14887         add _PATH_LDAP_SECRET
14888         [128b04ecfab7]
14889
14890         * README.LDAP:
14891         Mention rootbinddn Give example ou=SUDOers container
14892         [852edc69bd1c]
14893
14894 2005-06-25  Todd C. Miller  <Todd.Miller@courtesan.com>
14895
14896         * INSTALL, configure, configure.in, ldap.c:
14897         Support rootbinddn in ldap.conf
14898         [1615c91522a1]
14899
14900         * env.c, sudo.pod, sudoers.pod:
14901         Preserve DISPLAY environment variable by default.
14902         [05f503d5f438]
14903
14904         * acsite.m4, configure:
14905         set need_lib_prefix=no for all cases; this is safe for LD_PRELOAD
14906         [18a04dea8d05]
14907
14908         * acsite.m4, configure:
14909         set need_version=no for all cases; this is safe for LD_PRELOAD
14910         [b542560e1a73]
14911
14912         * aclocal.m4:
14913         typo
14914         [c040df0fcd5a]
14915
14916         * configure, configure.in:
14917         Add dragonfly
14918         [f13794618636]
14919
14920         * auth/pam.c:
14921         Fix call to pam_end() when pam_open_session() fails.
14922         [0be47cdfdef1]
14923
14924         * configure:
14925         regen
14926         [7f5c13b4b800]
14927
14928         * acsite.m4:
14929         rebuild acsite.m4 from libtool 1.9f libtool.m4 ltoptions.m4
14930         ltsugar.m4 ltversion.m4
14931         [a7ba9fd1a2ab]
14932
14933         * config.guess, config.sub, ltmain.sh:
14934         merge in local changes: config.guess: o better openbsd support
14935         config.sub: o hiuxmpp support ltmain.sh o remove requirement that
14936         libs must begin with "lib" o don't print a bunch of crap about
14937         library installs o don't run ldconfig
14938         [f4149f2c720f]
14939
14940         * config.guess, config.sub, ltmain.sh:
14941         libtool 1.9f
14942         [82a534e7121f]
14943
14944         * configure.in:
14945         Update with autoupdate and make minor changes for libtool 1.9f
14946         [11b5ae5c1428]
14947
14948 2005-06-23  Todd C. Miller  <Todd.Miller@courtesan.com>
14949
14950         * parse.c:
14951         don't call sudo_ldap_display_cmnd if ldap not setup
14952         [8bcf6c094ffe]
14953
14954         * sudo_edit.c, visudo.c:
14955         Move declatation of struct timespec to its own include files for
14956         systems without it since it needs time_t defined.
14957         [b95c333299a0]
14958
14959         * gettime.c:
14960         Move declatation of struct timespec to its own include files for
14961         systems without it since it needs time_t defined.
14962         [021b4569cc0c]
14963
14964         * fileops.c:
14965         Move declatation of struct timespec to its own include files for
14966         systems without it since it needs time_t defined.
14967         [dd8573b2ee7d]
14968
14969         * emul/timespec.h:
14970         Move declatation of struct timespec to its own include files for
14971         systems without it since it needs time_t defined.
14972         [f95137771564]
14973
14974         * check.c, compat.h:
14975         Move declatation of struct timespec to its own include files for
14976         systems without it since it needs time_t defined.
14977         [2ef2ace8fe85]
14978
14979         * ldap.c:
14980         Don't set safe_cmnd for the "sudo ALL" case.
14981         [ad7fa9e07da0]
14982
14983 2005-05-27  Todd C. Miller  <Todd.Miller@courtesan.com>
14984
14985         * auth/pam.c:
14986         Call pam_open_session() and pam_close_session() to give pam_limits a
14987         chance to run. Idea from Karel Zak.
14988         [fed46d471350]
14989
14990 2005-04-24  Todd C. Miller  <Todd.Miller@courtesan.com>
14991
14992         * check.c, sudo.c:
14993         Add explicit cast from mode_t -> u_int in printf to silence warnings
14994         on Solaris
14995         [17bb961fe22d]
14996
14997         * parse.c:
14998         include grp.h to silence a warning on Solaris
14999         [14386fbab640]
15000
15001 2005-04-23  Todd C. Miller  <Todd.Miller@courtesan.com>
15002
15003         * parse.c:
15004         Fix printing of += and -= defaults.
15005         [a667604c56cd]
15006
15007 2005-04-17  Todd C. Miller  <Todd.Miller@courtesan.com>
15008
15009         * mon_systrace.c:
15010         Sanity check number of syscall args with argsize. Not really needed
15011         but a little paranoia never hurts.
15012         [6bb455a2c2d6]
15013
15014         * mon_systrace.c, mon_systrace.h:
15015         Don't do pointer arithmetic on void * Use int, not size_t/ssize_t
15016         for systrace lengths (since it uses int)
15017         [3cafccffcffd]
15018
15019 2005-04-16  Todd C. Miller  <Todd.Miller@courtesan.com>
15020
15021         * mon_systrace.c:
15022         Add some memsets for paranoia Fix namespace collsion w/ error Check
15023         rval of decode_args() and update_env() Remove improper setting of
15024         validated variable
15025         [3d385158354d]
15026
15027 2005-04-12  Todd C. Miller  <Todd.Miller@courtesan.com>
15028
15029         * parse.c, sudo.c, sudo.h:
15030         In -l mode, only check local sudoers file if def_ignore_sudoers is
15031         not set and call LDAP versions from display_privs() and
15032         display_cmnd() instead of directly from main(). Because of this we
15033         need to defer closing the ldap connection until after -l processing
15034         has ocurred and we must pass in the ldap pointer to display_privs()
15035         and display_cmnd().
15036         [1dfc2e8c9f2b]
15037
15038         * ldap.c:
15039         Reorganize LDAP code to better match normal sudoers parsing.
15040         Instead of storing strings for later printing in -l mode we do
15041         another query since the authenticating user and the user being
15042         listed may not be the same (the new -U flag). Also add support for
15043         "sudo -l command".
15044
15045         There is still a fair bit if duplicated code that can probably be
15046         refactored.
15047         [e9568f19bde5]
15048
15049 2005-04-11  Todd C. Miller  <Todd.Miller@courtesan.com>
15050
15051         * ldap.c:
15052         Replace pass variable with do_netgr for better readability.
15053         [1bba841b6e79]
15054
15055         * ldap.c:
15056         use DPRINTF macro
15057         [02b159b66bb5]
15058
15059         * ldap.c:
15060         estrdup, not strdup
15061         [22cdee7973c1]
15062
15063 2005-04-10  Todd C. Miller  <Todd.Miller@courtesan.com>
15064
15065         * parse.c:
15066         Add macro to test if the tag changed to improve readability.
15067         [4e11b4819556]
15068
15069         * parse.c:
15070         Avoid printing defaults header if there are no defaults to print...
15071         [41a28627df03]
15072
15073         * glob.c:
15074         Fix a warning on systems without strlcpy().
15075         [6814e0f0e4f4]
15076
15077         * pwutil.c:
15078         Use macros where possible for sudo_grdup() like sudo_pwdup().
15079         [30f201ff35cd]
15080
15081 2005-04-08  Todd C. Miller  <Todd.Miller@courtesan.com>
15082
15083         * utimes.c:
15084         It is possible for tv_usec to hold >= 1000000 usecs so add in
15085         tv_usec / 1000000.
15086         [794ac4d53a65]
15087
15088 2005-03-30  Todd C. Miller  <Todd.Miller@courtesan.com>
15089
15090         * auth/kerb5.c:
15091         The component in krb5_principal_get_comp_string() should be 1, not 0
15092         for Heimdal. From Alex Plotnick.
15093         [fefa351c5044]
15094
15095 2005-03-29  Todd C. Miller  <Todd.Miller@courtesan.com>
15096
15097         * alias.c, alloc.c, check.c, defaults.c, find_path.c, gram.c, gram.y,
15098         interfaces.c, ldap.c, logging.c, match.c, mon_systrace.c, pwutil.c,
15099         redblack.c, sudo.c, sudo.h, toke.c, toke.l, visudo.c:
15100         Add efree() for consistency with emalloc() et al. Allows us to rely
15101         on C89 behavior (free(NULL) is valid) even on K&R.
15102         [7876bb80d87c]
15103
15104         * parse.c, sudo.c:
15105         Move initgroups() for -U option into display_privs() so group
15106         matching in sudoers works correctly.
15107         [b074428ad2ca]
15108
15109 2005-03-27  Todd C. Miller  <Todd.Miller@courtesan.com>
15110
15111         * ldap.c:
15112         Removed duplicate call to ldap_unbind_s introduced along with
15113         sudo_ldap_close.
15114         [19acc1c20f7c]
15115
15116         * parse.c:
15117         Add missing space in Defaults printing
15118         [95d2935bf6d4]
15119
15120 2005-03-25  Todd C. Miller  <Todd.Miller@courtesan.com>
15121
15122         * pwutil.c:
15123         Sync sudo_pwdup with OpenBSD changes: use macros for size computaton
15124         and string copies.
15125         [6b6b241495e5]
15126
15127 2005-03-19  Todd C. Miller  <Todd.Miller@courtesan.com>
15128
15129         * pwutil.c:
15130         Zero old pw_passwd before replacing with version from shadow file.
15131         [3251b349dfe1]
15132
15133         * configure, configure.in:
15134         Only attempt shadow password detection if PAM is not being used Add
15135         shadow_* variables to make shadow password detection more generic.
15136         [d498a3423ac9]
15137
15138         * configure.in:
15139         Use OSDEFS for os-specific -D_FOO_BAR stuff rather than CPPFLAGS
15140         [04d55bbd5e35]
15141
15142 2005-03-13  Todd C. Miller  <Todd.Miller@courtesan.com>
15143
15144         * sudoers.pod:
15145         use a non-breaking space to avoid a double space after e.g.
15146         [11cdb54bdf7b]
15147
15148         * sudo.pod:
15149         commna, not colon after e.g.
15150         [8d5875ff72e0]
15151
15152 2005-03-12  Todd C. Miller  <Todd.Miller@courtesan.com>
15153
15154         * sudo_noexec.c:
15155         Add __ variants of the exec functions. GNU libc at least uses
15156         __execve() internally.
15157         [d1880473d790]
15158
15159         * indent.pro:
15160         Match reality a bit more.
15161         [633e3fa875a7]
15162
15163         * pwutil.c:
15164         Missed piece from rev. 1.6, fix sudo_getpwnam() too.
15165         [128f7b21c2ee]
15166
15167         * pwutil.c:
15168         Store shadow password after making a local copy of struct passwd in
15169         case normal and shadow routines use the same internal buffer in
15170         libc.
15171         [f806052a6ffc]
15172
15173 2005-03-11  Todd C. Miller  <Todd.Miller@courtesan.com>
15174
15175         * alloc.c, logging.c:
15176         Make varargs usage consistent with the rest of the code.
15177         [3d45affc9851]
15178
15179 2005-03-10  Todd C. Miller  <Todd.Miller@courtesan.com>
15180
15181         * sudo_noexec.c:
15182         Wrap more of the exec family since on Linux the others do not appear
15183         to go through the normal execve() path.
15184         [8167769b4e19]
15185
15186         * visudo.c:
15187         make print_unused static like proto says
15188         [ecf10e1bae55]
15189
15190         * glob.c:
15191         silence a warning on K&R systems
15192         [2e00425f1a5c]
15193
15194         * alias.c, error.c:
15195         make this build in K&R land
15196         [156f65f8525a]
15197
15198         * parse.c:
15199         make this build in K&R land
15200         [6fc9276889cb]
15201
15202 2005-03-08  Todd C. Miller  <Todd.Miller@courtesan.com>
15203
15204         * toke.c:
15205         regen
15206         [3b349748cd21]
15207
15208 2005-03-06  Todd C. Miller  <Todd.Miller@courtesan.com>
15209
15210         * ldap.c:
15211         return(foo) not return foo optimize _atobool() slightly
15212         [11d09d154ed5]
15213
15214         * ldap.c:
15215         Use TRUE/FALSE
15216         [53999320d98f]
15217
15218         * ldap.c:
15219         Reformat to match the rest of sudo's code.
15220         [1bd0f2afa0e7]
15221
15222         * sudo.pod:
15223         I am the primary author
15224         [5d311ecd85c6]
15225
15226 2005-02-23  Todd C. Miller  <Todd.Miller@courtesan.com>
15227
15228         * Makefile.in, README, RUNSON:
15229         The RUNSON file is toast--it confused too many people and really
15230         isn't needed in a configure-oriented world.
15231         [96a6ef7bbc08]
15232
15233         * INSTALL:
15234         alternate -> alternative
15235         [b65015c5d0a2]
15236
15237         * tgetpass.c:
15238         Use TCSADRAIN instead of TCSAFLUSH since some OSes have issues with
15239         TCSAFLUSH.
15240         [c66b4763ffdc]
15241
15242         * toke.l:
15243         Allow leading blanks before Defaults and Foo_Alias definitions
15244         [2add513d9277]
15245
15246         * Makefile.in:
15247         fix rules to build toke.o and gram.o in devel mode
15248         [96cbb414ebd3]
15249
15250 2005-02-20  Todd C. Miller  <Todd.Miller@courtesan.com>
15251
15252         * sudoers.pod:
15253         env_keep overrides set_logname
15254         [401877193a15]
15255
15256         * env.c:
15257         Fix disabling set_logname and make env_keep override set_logname.
15258         [0906e7a5ed93]
15259
15260         * compat.h, config.h.in, configure, configure.in:
15261         No longer need memmove()
15262         [43bdb6efe3f2]
15263
15264         * env.c, sudo.c:
15265         Just clean the environment once. This assumes that any further
15266         setenv/putenv will be able to handle the fact that we replaced
15267         environ with our own malloc'd copy but all the implementations I've
15268         checked do.
15269         [11658fe92ba2]
15270
15271 2005-02-16  Todd C. Miller  <Todd.Miller@courtesan.com>
15272
15273         * env.c, sudo.c:
15274         In -i mode, base the value of insert_env()'s dupcheck flag on
15275         DID_FOO flags. Move checks for $HOME resetting into rebuild_env()
15276         [8365b0bd0c71]
15277
15278 2005-02-13  Todd C. Miller  <Todd.Miller@courtesan.com>
15279
15280         * env.c, sudo.c:
15281         Move setting of user_path, user_shell, user_prompt and prev_user
15282         into init_vars() since user_shell at least is needed there.
15283         [37e22dce66e9]
15284
15285 2005-02-12  Todd C. Miller  <Todd.Miller@courtesan.com>
15286
15287         * Makefile.in:
15288         fix devel builds
15289         [9fbb15ef164c]
15290
15291         * sudo.c:
15292         Fix some printf format mismatches on error.
15293         [ffc1c3f11740]
15294
15295         * check.c:
15296         Fix some printf format mismatches on error.
15297         [7b3b508adf50]
15298
15299         * configure, gram.c, toke.c:
15300         regen
15301         [aa76f9d8b02a]
15302
15303         * Makefile.in, aclocal.m4, alias.c, alloc.c, auth/afs.c,
15304         auth/aix_auth.c, auth/bsdauth.c, auth/dce.c, auth/fwtk.c,
15305         auth/kerb4.c, auth/kerb5.c, auth/pam.c, auth/passwd.c,
15306         auth/rfc1938.c, auth/secureware.c, auth/securid.c, auth/securid5.c,
15307         auth/sia.c, auth/sudo_auth.c, auth/sudo_auth.h, check.c,
15308         closefrom.c, compat.h, configure.in, defaults.c, defaults.h,
15309         emul/utime.h, env.c, error.c, fileops.c, find_path.c, getprogname.c,
15310         getspwuid.c, gettime.c, goodpath.c, gram.y, interfaces.c,
15311         interfaces.h, ldap.c, logging.c, logging.h, match.c, mon_systrace.c,
15312         parse.c, redblack.c, redblack.h, set_perms.c, sigaction.c,
15313         snprintf.c, strcasecmp.c, strerror.c, strlcat.c, strlcpy.c, sudo.c,
15314         sudo.h, sudo.pod, sudo_edit.c, sudo_noexec.c, sudoers.pod,
15315         testsudoers.c, tgetpass.c, toke.l, utimes.c, version.h, visudo.c,
15316         visudo.pod, zero_bytes.c:
15317         Update copyright years.
15318         [0610c3654739]
15319
15320         * Makefile.binary.in:
15321         Update copyright years.
15322         [d78ffc9f2e2b]
15323
15324         * LICENSE:
15325         Update copyright years.
15326         [f60473bca4b1]
15327
15328         * BUGS, INSTALL, INSTALL.binary, Makefile.in, README, configure.in:
15329         version 1.7
15330         [aa977a544ca1]
15331
15332         * WHATSNEW:
15333         What's new in sudo 1.7, based on the 1.7 CHANGES entries.
15334         [ecfcf7269c14]
15335
15336 2005-02-11  Todd C. Miller  <Todd.Miller@courtesan.com>
15337
15338         * compat.h, logging.h, sudo.h:
15339         Add __printflike and use it with gcc to warn about printf-like
15340         format mismatches
15341         [b192ad4a0548]
15342
15343 2005-02-10  Todd C. Miller  <Todd.Miller@courtesan.com>
15344
15345         * CHANGES, ChangeLog:
15346         Replaced CHANGES file with ChangeLog generated from cvs logs
15347         [d9ace9dab98f]
15348
15349         * set_perms.c:
15350         Use warning/error instead of perror/fatal.
15351         [e33259df7738]
15352
15353         * config.guess:
15354         Update OpenBSD section
15355         [9d2c23de6801]
15356
15357         * UPGRADE:
15358         Add upgrading noted for 1.7
15359         [1fb6b6d6df07]
15360
15361         * env.c, sudo.c, sudoers.pod:
15362         Instead of zeroing out the environment, just prune out entries based
15363         on the env_delete and env_check lists. Base building up the new
15364         environment on the current environment and the variables we removed
15365         initially.
15366         [fc192df8fd15]
15367
15368         * config.h.in, configure, configure.in, sudo.c:
15369         Set locale to "C" if locales are supported, just to be safe.
15370         [91fbaa98f02e]
15371
15372         * toke.c, toke.l:
15373         Cast?argument to ctype functions to unsigned char.
15374         [e096b4d65796]
15375
15376 2005-02-08  Todd C. Miller  <Todd.Miller@courtesan.com>
15377
15378         * env.c:
15379         correct value for DID_USER
15380         [b5b05d36ec15]
15381
15382         * error.c, fnmatch.c, getcwd.c, glob.c, snprintf.c:
15383         #include <compat.h> not "compat.h"
15384         [7a0ad9a0ccd7]
15385
15386         * defaults.c:
15387         Reset the environment by default.
15388         [4ecc6423e0f0]
15389
15390         * sudo.c:
15391         Alloc an extra slot in NewArgv. Removes the need to malloc an new
15392         vector if execve() fails.
15393         [83dfb6f584a7]
15394
15395 2005-02-07  Todd C. Miller  <Todd.Miller@courtesan.com>
15396
15397         * INSTALL, config.h.in, configure, configure.in, sudo.c:
15398         Use execve(2) and wrap the command in sh if we get ENOEXEC.
15399         [c0c6af4e2a21]
15400
15401 2005-02-06  Todd C. Miller  <Todd.Miller@courtesan.com>
15402
15403         * sudo_noexec.c:
15404         Only include time.h on systems that lack struct timespec which gets
15405         defind in compat.h (using time_t).
15406         [e373e518b4cb]
15407
15408         * sudo_noexec.c:
15409         Include time.h for time_t in compat.h for systems w/o struct
15410         timespec.
15411         [a34b5637e458]
15412
15413         * compat.h, config.h.in, configure, configure.in:
15414         use bcopy on systems w/o memmove
15415         [f835eafd78c6]
15416
15417         * compat.h:
15418         __attribute__((__unused__)) doesn't work in gcc 2.7.2.1 so limit its
15419         use to gcc >= 2.8.
15420         [1cb9a4e58566]
15421
15422         * Makefile.in:
15423         Add explicit rule to build sudo_noexec.lo
15424         [df1dfcf8dd77]
15425
15426 2005-02-05  Todd C. Miller  <Todd.Miller@courtesan.com>
15427
15428         * INSTALL.configure, Makefile.in:
15429         No longer depend on VPATH; pointed out a bunch of missed
15430         dependencies.
15431         [601a45d4af6b]
15432
15433         * TROUBLESHOOTING:
15434         Help for PAM when account section is missing
15435         [9b8221256756]
15436
15437         * auth/pam.c:
15438         Give user a clue when there is a missing "account" section in the
15439         PAM config.
15440         [2529625c0495]
15441
15442         * auth/pam.c:
15443         Better error handling.
15444         [518c9bda23d8]
15445
15446         * config.h.in, configure, configure.in:
15447         Move _FOO_SOURCE to CPPFLAGS so it takes effect as early as
15448         possible. Silences a warning about isblank() on linux.
15449         [19c94d7ecdc8]
15450
15451         * auth/pam.c:
15452         Fix typo (missing comma) that caused an incorrect number of args to
15453         be passed to log_error().
15454         [0099dfec560f]
15455
15456 2005-02-01  Todd C. Miller  <Todd.Miller@courtesan.com>
15457
15458         * pwutil.c:
15459         Don't try to destroy a tree we didn't create.
15460         [d43c4fe03aa4]
15461
15462 2005-01-27  Todd C. Miller  <Todd.Miller@courtesan.com>
15463
15464         * alias.c, alloc.c, auth/afs.c, auth/aix_auth.c, auth/bsdauth.c,
15465         auth/dce.c, auth/fwtk.c, auth/kerb4.c, auth/kerb5.c, auth/pam.c,
15466         auth/passwd.c, auth/rfc1938.c, auth/secureware.c, auth/securid.c,
15467         auth/securid5.c, auth/sia.c, auth/sudo_auth.c, check.c, closefrom.c,
15468         compat.h, defaults.c, env.c, error.c, fileops.c, find_path.c,
15469         fnmatch.c, getcwd.c, getprogname.c, getspwuid.c, gettime.c,
15470         goodpath.c, gram.c, gram.y, interfaces.c, ldap.c, logging.c,
15471         match.c, mon_systrace.c, parse.c, pwutil.c, set_perms.c,
15472         sigaction.c, snprintf.c, strcasecmp.c, strerror.c, strlcat.c,
15473         strlcpy.c, sudo.c, sudo_edit.c, sudo_noexec.c, testsudoers.c,
15474         tgetpass.c, toke.c, toke.l, utimes.c, visudo.c, zero_bytes.c:
15475         Add __unused to rcsids
15476         [ad6b4ac45705]
15477
15478 2005-01-21  Todd C. Miller  <Todd.Miller@courtesan.com>
15479
15480         * configure, configure.in:
15481         Fix error message when mixing invalid auth types
15482         [68069b3ff5bc]
15483
15484         * INSTALL:
15485         PAM, AIX auth, BSD auth and login_cap are now on by default if the
15486         OS supports them.
15487         [4e44e9098cf0]
15488
15489         * auth/sudo_auth.h, config.h.in:
15490         s/HAVE_AUTHENTICATE/HAVE_AIXAUTH/g
15491         [2d569b43b23e]
15492
15493         * configure.in:
15494         Better checking for conflicting authentication methods Display the
15495         authentication methods used at the end of configure Rename --with-
15496         authenticate -> --with-aixauth Use --with-aixauth, --with-bsdauth,
15497         --with-pam, --with-logincap by default on systems that support them
15498         unless disabled. Add OSMAJOR variable that replaces old OSREV; now
15499         OSREV has full version number
15500         [a21115b6fe9f]
15501
15502 2005-01-18  Todd C. Miller  <Todd.Miller@courtesan.com>
15503
15504         * def_data.c, def_data.in, sudo.c, sudoers.pod:
15505         s/-O/-C/
15506         [ee73f1b81923]
15507
15508 2005-01-14  Todd C. Miller  <Todd.Miller@courtesan.com>
15509
15510         * configure.in:
15511         Replace: test -n "$FOO" || FOO="bar"
15512
15513         With: : ${FOO='bar'}
15514         [37552d9054fc]
15515
15516 2005-01-09  Todd C. Miller  <Todd.Miller@courtesan.com>
15517
15518         * pwutil.c, testsudoers.c, tsgetgrpw.c:
15519         Use function pointers to only call private passwd/group routines
15520         when using a nonstandard passwd/group file.
15521         [215908681dfb]
15522
15523 2005-01-06  Todd C. Miller  <Todd.Miller@courtesan.com>
15524
15525         * CHANGES:
15526         sync
15527         [2e55c03f5790]
15528
15529         * tsgetgrpw.c:
15530         Can't use strtok() since it doesn't handle empty fields so add
15531         getpwent()/getgrent() functions and call those.
15532         [bdaa5b0db70e]
15533
15534 2005-01-05  Todd C. Miller  <Todd.Miller@courtesan.com>
15535
15536         * Makefile.in:
15537         Fix dummied out toke.c and gram.c dependencies.
15538         [4b909c8b2ebe]
15539
15540         * Makefile.in:
15541         Rename PARSESRCS -> GENERATED since it is only used in the clean
15542         target Add devdir variable and use it to specify the path to parser
15543         sources
15544         [f27b3f41ca23]
15545
15546         * configure:
15547         regen
15548         [22c6435dbd46]
15549
15550         * configure.in:
15551         Add a devdir variables that defaults to $(srcdir) and is set to . if
15552         --devel was specified. Allows for proper dependecies building the
15553         parser.
15554         [a36d694c6d21]
15555
15556         * testsudoers.c:
15557         Add support for custom passwd/group files.
15558         [296549ff4b87]
15559
15560         * Makefile.in:
15561         Build private copy of pwutil.o for testsudoers with MYPW defined so
15562         it uses our own passwd/group routines.
15563         [bafa54ec78ca]
15564
15565         * visudo.c:
15566         Remove sudo_*{pw,gr}* stubs and add sudo_setspent/sudo_endspent
15567         stubs instead. We can now just use the caching sudo_*{pw,gr}*
15568         functions in pwutil.c Add comment about wanting to call
15569         sudo_endpwent/sudo_endgrent in cleanup()
15570         [7e59d6b5510d]
15571
15572         * tsgetgrpw.c:
15573         Remove caching; we will just use what is in pwutil.c Use global
15574         buffers for passwd/group structs Rename functions from sudo_* to
15575         my_*
15576         [8c1e068f574c]
15577
15578         * logging.c, sudo.c:
15579         g/c pwcache_init/pwcache_destroy
15580         [60a24909b947]
15581
15582         * sudo.h:
15583         Undo last commit and add sudo_setspent and sudo_endspent instead.
15584         [bac80db08296]
15585
15586         * getspwuid.c, pwutil.c:
15587         Move all but the shadow stuff from getspwuid.c to pwutil.c and
15588         pwcache_get and pwcache_put as they are no longer needed. Also add
15589         preprocessor magic to use private versions of the passwd and group
15590         routines if MYPW is defined (for use by testsudoers).
15591         [a16b8678a426]
15592
15593         * tsgetgrpw.c:
15594         zero out struct passwd/group before filling it in so if there are
15595         fields we don't handle they end up as 0.
15596         [274cb6a93301]
15597
15598         * logging.c, sudo.c, sudo.h, testsudoers.c, visudo.c:
15599         Adapt to pwutil.c
15600         [43ebd04c8b82]
15601
15602         * Makefile.in:
15603         Add tsgetgrpw.c and pwutil.c Rename the *OBJ variables for better
15604         readability.
15605         [7f88c6061e2d]
15606
15607         * tsgetgrpw.c:
15608         Passwd and group lookup routines for testsudoers that support
15609         alternate passwd and group files.
15610         [d7803101d34e]
15611
15612         * getspwuid.c, pwutil.c:
15613         Split off pw/gr cache and dup code into its own file. This allows
15614         visudo and testsudoers to use the pw/gr cache too.
15615         [ef333d3ffedf]
15616
15617 2005-01-02  Todd C. Miller  <Todd.Miller@courtesan.com>
15618
15619         * parse.c:
15620         Print Defaults info in "sudo -l" output and wrap lines based on the
15621         terminal width.
15622         [e559eae4250e]
15623
15624 2005-01-01  Todd C. Miller  <Todd.Miller@courtesan.com>
15625
15626         * match.c, testsudoers.c, visudo.c:
15627         Only check group vector in usergr_matches() if we are matching the
15628         invoking or list user. Always check the group members, even if
15629         there was a group vector.
15630         [d0c7ceb2a041]
15631
15632 2004-12-17  Todd C. Miller  <Todd.Miller@courtesan.com>
15633
15634         * LICENSE, Makefile.in, fnmatch.3:
15635         No longer bundle fnmatch.3
15636         [72db4a4ff4e1]
15637
15638         * CHANGES, TODO:
15639         checkpoint
15640         [e92781bfd99c]
15641
15642 2004-12-16  Todd C. Miller  <Todd.Miller@courtesan.com>
15643
15644         * sudo.c:
15645         sort usage
15646         [15e3b876ec2c]
15647
15648         * sudo.pod:
15649         Sort command line options
15650         [c1fa56584bc4]
15651
15652         * def_data.c, def_data.h, def_data.in, defaults.c, logging.c, sudo.c,
15653         sudo.pod, sudoers.pod:
15654         Add closefrom sudoers option to start closing at a point other than
15655         3. Add closefrom_override sudoers option and -C sudo flag to allow
15656         the user to specify a different closefrom starting point.
15657         [370652b099d1]
15658
15659         * pathnames.h.in:
15660         Add _PATH_DEVNULL for those without it.
15661         [0c4c3e0ceb8b]
15662
15663         * LICENSE:
15664         no more UCB strcasecmp
15665         [397a6298e07f]
15666
15667         * strcasecmp.c:
15668         replace BSD licensed one with version derived from pdksh
15669         [d7cfda8c57a2]
15670
15671 2004-12-10  Todd C. Miller  <Todd.Miller@courtesan.com>
15672
15673         * sudo.c:
15674         Fix last commit.
15675         [7afb9a180532]
15676
15677         * sudo.c:
15678         Make sure stdin, stdout and stderr are open and dup them to
15679         /dev/null if not.
15680         [590f387068bd]
15681
15682 2004-12-03  Todd C. Miller  <Todd.Miller@courtesan.com>
15683
15684         * ldap.c, mon_systrace.c, sudo.c, sudo.h:
15685         add sudo_ldap_close
15686         [4273a36765a7]
15687
15688         * fileops.c, gettime.c, sudo.c, sudo_edit.c, utimes.c, visudo.c:
15689         Use TIME_WITH_SYS_TIME
15690         [c32b59bf15fb]
15691
15692         * config.h.in, configure, configure.in:
15693         Add TIME_WITH_SYS_TIME_H
15694         [57cb146f451d]
15695
15696 2004-12-02  Todd C. Miller  <Todd.Miller@courtesan.com>
15697
15698         * env.c:
15699         Add missing braces to avoid DYLD_FORCE_FLAT_NAMESPACE being set
15700         unconditionally on darwin. From Toby Peterson.
15701         [d69959681c87]
15702
15703         * getspwuid.c:
15704         Check rbinsert() return value. In the case of faked up entries
15705         there is usually a negative response cached that we need to
15706         overwrite.
15707
15708         In pwfree() don't try to zero out a NULL pw_passwd pointer.
15709         [00b32d1a48c1]
15710
15711         * mon_systrace.c:
15712         Use the double fork trick to avoid the monitor process being waited
15713         for by the main program run through sudo.
15714         [e0ce556712ff]
15715
15716 2004-11-29  Todd C. Miller  <Todd.Miller@courtesan.com>
15717
15718         * sudo.c:
15719         Call initgroups() in -U mode so group matches work normally.
15720         [2235bea15283]
15721
15722         * def_data.h, mkdefaults:
15723         Don't print a trailing comma for the last entry in enum def_tupple
15724         [c43a96bb31df]
15725
15726 2004-11-28  Todd C. Miller  <Todd.Miller@courtesan.com>
15727
15728         * sudoers.cat, sudoers.man.in, sudoers.pod:
15729         Mention values when lecture, listpw and verifypw are used in boolean
15730         context.
15731         [a0b5c0abaccf]
15732
15733         * def_data.c, def_data.in:
15734         verifypw when used in a boolean TRUE context should be "all", not
15735         "any".
15736         [2eb076ddd5e2]
15737
15738 2004-11-26  Todd C. Miller  <Todd.Miller@courtesan.com>
15739
15740         * def_data.in, defaults.c:
15741         Allow tuples that can be used as booleans to be used as boolean
15742         TRUE. In this case the 2nd possible value of the tuple is used for
15743         TRUE.
15744         [bd99aa77e88b]
15745
15746 2004-11-25  Todd C. Miller  <Todd.Miller@courtesan.com>
15747
15748         * configure, configure.in:
15749         Correct the test for 2-parameter timespecsub
15750         [d41c9cb26b97]
15751
15752         * sudo.h:
15753         Add strub struct definitions for passwd, timeval and timespec
15754         [c4ce5c43d8c5]
15755
15756         * config.h.in, configure, configure.in, sudo_edit.c, visudo.c:
15757         Add check for 2-argument form of timespecsub (FreeBSD and BSD/OS)
15758         and fix a typo in the gettimeofday check.
15759         [8ac9893057ce]
15760
15761 2004-11-24  Todd C. Miller  <Todd.Miller@courtesan.com>
15762
15763         * match.c, testsudoers.c:
15764         Deal with user_stat being NULL as it is for visudo and testsudoers.
15765         [3605a6ff64d0]
15766
15767         * parse.c, sudo.c, sudo.cat, sudo.h, sudo.man.in, sudo.pod:
15768         Add -U option to use in conjunction with -l instead of -u. Add
15769         support for "sudo -l command" to test a specific command.
15770         [99638789d415]
15771
15772         * gram.c, gram.y, sudo.c:
15773         Set safe_cmnd after sudoers_lookup() if it has not been set.
15774         Previously it was set by sudo "ALL" in the parser but at that point
15775         the fully-qualified pathname has not yet been found.
15776         [ac30d98f8225]
15777
15778 2004-11-23  Todd C. Miller  <Todd.Miller@courtesan.com>
15779
15780         * parse.c, testsudoers.c:
15781         Correctly handle multiple privileges per userspec and runas
15782         inheritence.
15783         [a98a965181af]
15784
15785 2004-11-21  Todd C. Miller  <Todd.Miller@courtesan.com>
15786
15787         * defaults.c:
15788         Zero out sd_un for each entry in sudo_defs_table in init_defaults.
15789         [031d3cd4a848]
15790
15791 2004-11-19  Todd C. Miller  <Todd.Miller@courtesan.com>
15792
15793         * toke.c, toke.l:
15794         make per-command defaults work with sudoedit
15795         [e56fe33db916]
15796
15797         * ldap.c, parse.c, sudo.c, sudo.h:
15798         Remove the FLAG_NOPASS, FLAG_NOEXEC and FLAG_MONITOR flags.
15799         Instead, we just set the approriate defaults variable.
15800         [756eeecc1d86]
15801
15802         * sample.sudoers, sudoers.cat, sudoers.man.in, sudoers.pod:
15803         Document per-command Defaults.
15804         [92a0f84b91c1]
15805
15806         * defaults.c, defaults.h, gram.c, gram.h, gram.y, mon_systrace.c,
15807         sudo.c, testsudoers.c, toke.c, toke.l, visudo.c:
15808         Add support for command-specific Defaults entries. E.g.
15809         Defaults!/usr/bin/vi noexec
15810         [be3d52bf01cf]
15811
15812         * defaults.c, match.c, parse.c, parse.h, testsudoers.c:
15813         Change an occurence of user_matches() -> runas_matches() missed
15814         previously runas_matches(), host_matches() and cmnd_matches() only
15815         really need to pass in a list of members. user_matches() still
15816         needs to pass in a passwd struct because of "sudo -l"
15817         [833b22fc6fa0]
15818
15819         * parse.c:
15820         Check def_authenticate, def_noexec and def_monitor when setting
15821         return flags. XXX May be better to just set the defaults directly
15822         and get rid of those flags.
15823         [b6db22b59d69]
15824
15825         * alias.c, alloc.c, auth/afs.c, auth/aix_auth.c, auth/bsdauth.c,
15826         auth/dce.c, auth/fwtk.c, auth/kerb4.c, auth/kerb5.c, auth/pam.c,
15827         auth/passwd.c, auth/rfc1938.c, auth/secureware.c, auth/securid.c,
15828         auth/securid5.c, auth/sia.c, auth/sudo_auth.c, check.c, closefrom.c,
15829         defaults.c, env.c, error.c, fileops.c, find_path.c, fnmatch.c,
15830         getcwd.c, getprogname.c, getspwuid.c, gettime.c, glob.c, goodpath.c,
15831         gram.c, gram.y, interfaces.c, ldap.c, logging.c, match.c,
15832         mon_systrace.c, parse.c, redblack.c, set_perms.c, snprintf.c,
15833         strcasecmp.c, strerror.c, strlcat.c, strlcpy.c, sudo.c, sudo_edit.c,
15834         sudo_noexec.c, testsudoers.c, tgetpass.c, toke.c, toke.l, utimes.c,
15835         visudo.c, zero_bytes.c:
15836         Use: #include <config.h> Not: #include "config.h" That way we get
15837         the correct config.h when build dir != src dir
15838         [97e5670a442b]
15839
15840         * Makefile.in:
15841         Back out part of rev 1.263; fix -I order
15842         [197ea01cad5d]
15843
15844         * toke.c, toke.l:
15845         More robust parsing if #include; could be much better still.
15846         [31bc3cd8f045]
15847
15848         * sudo_edit.c, visudo.c:
15849         Make arg splitting in visudo and sudoedit consistent.
15850         [7bc74485f246]
15851
15852         * Makefile.in, alias.c, gram.c, gram.y, parse.h:
15853         Split alias routines out into their own file.
15854         [d90f633cf9ae]
15855
15856         * error.h:
15857         __attribute__ is already defined in compat.h
15858         [676ed3fe9203]
15859
15860         * visudo.c:
15861         quit() should not be __noreturn__ as it is non-void on some
15862         platforms.
15863         [e528c2b6ba10]
15864
15865         * auth/fwtk.c, auth/rfc1938.c, auth/securid.c, auth/securid5.c:
15866         Add local error/warning functions like err/warn but that call an
15867         additional cleanup routine in the error case. This means we no
15868         longer need to compile a special version of alloc.o for visudo.
15869         [e78e8aae882e]
15870
15871         * parse.h:
15872         Clarify comments about the data structures
15873         [ae894e266701]
15874
15875 2004-11-18  Todd C. Miller  <Todd.Miller@courtesan.com>
15876
15877         * visudo.c:
15878         Add support for VISUAL and EDITOR containing command line args. If
15879         env_editor is not set any args in VISUAL and EDITOR are ignored.
15880         Arguments are also now supported in def_editor.
15881         [ff7303b8e298]
15882
15883 2004-11-17  Todd C. Miller  <Todd.Miller@courtesan.com>
15884
15885         * parse.h:
15886         alias_matches() is no more
15887         [b59825e28084]
15888
15889         * CHANGES, TODO:
15890         sync
15891         [2b8f5f63c1de]
15892
15893         * Makefile.in:
15894         When regenerating the parser, don't replace gram.h unless it has
15895         changed.
15896         [819949668018]
15897
15898         * Makefile.in:
15899         remove Makefile.binary for distclean
15900         [351eec8d00b2]
15901
15902         * env.c:
15903         Preserve KRB5CCNAME in zero_env() and add a paranoia check to make
15904         sure we can't overflow new_env.
15905         [3284d17b9c6d]
15906
15907         * sudo_edit.c:
15908         paranoia when stripping trailing slashes from tempdir.
15909         [012f1aa2b81f]
15910
15911         * sudo.c:
15912         Set user_ngroups to 0 if getgroups() returns an error.
15913         [c46d43e9449a]
15914
15915 2004-11-16  Todd C. Miller  <Todd.Miller@courtesan.com>
15916
15917         * config.h.in, configure, configure.in, sudo.c:
15918         Add configure check for getgroups()
15919         [5d8a214e2cef]
15920
15921         * ldap.c:
15922         Use supplementary group vector in struct sudo_user.
15923         [3d0c463c034d]
15924
15925         * match.c:
15926         Only do string comparisons on the group members if there is no
15927         supplemental group list.
15928         [be1c8362f7ef]
15929
15930         * CHANGES, TODO:
15931         sync
15932         [db188bc5b975]
15933
15934         * sudo_edit.c:
15935         On Digital UNIX _PATH_VAR_TMP doesn't end with a trailing slash so
15936         chop off any trailing slashes we see and add an explicit one.
15937         [e1b477dafee1]
15938
15939         * match.c:
15940         remove bogus XXX comment
15941         [8aecb8a28d40]
15942
15943         * match.c:
15944         Get rid of alias_matches and correctly fall through to the non-alias
15945         cases when there is no alias with the specified name.
15946         [2cd555246f09]
15947
15948         * getspwuid.c:
15949         Cache non-existent passwd/group entries too.
15950         [8de9a467d271]
15951
15952         * gram.c:
15953         regen
15954         [9ece18c58f36]
15955
15956         * getspwuid.c:
15957         fix typo
15958         [9a7ae371eac1]
15959
15960         * check.c, getspwuid.c, glob.c, ldap.c, logging.c, match.c,
15961         mon_systrace.h, sudo.c, sudo.h, testsudoers.c, visudo.c:
15962         Implement group caching and use the passwd and group caches
15963         throughout.
15964         [f1d8c5015169]
15965
15966 2004-11-15  Todd C. Miller  <Todd.Miller@courtesan.com>
15967
15968         * match.c:
15969         Properly negate the return value of alias_matches() when
15970         appropriate.
15971         [ce59c4ce77ad]
15972
15973         * match.c:
15974         Make hostname_matches() return TRUE for a match, else FALSE like the
15975         caller expects.
15976         [1dc03902d3a2]
15977
15978         * Makefile.in:
15979         Add missing dependencies on gram.h
15980         [4f94bbb1d50c]
15981
15982         * match.c:
15983         Use runas_matches in alias_matches() now that we have it.
15984         [284d22e91178]
15985
15986         * parse.c, parse.h:
15987         Expand aliases in "sudo -l" mode
15988         [f67a38b79c44]
15989
15990         * gram.y, match.c:
15991         Use ALIAS for the member type when storing an alias instead of
15992         HOSTALIAS/RUNASALIAS/CMNDALIAS/USERALIAS since match.c relies on the
15993         more generic type. Expand runas_matches instead of calling
15994         user_matches() inside of it since user_matches() looks up
15995         USERALIASes, not RUNASALIASes.
15996         [52004d75232b]
15997
15998         * CHANGES, getspwuid.c:
15999         Paranoia; zero out pw_passwd before freeing passwd entry.
16000         [bd1b22638f00]
16001
16002         * LICENSE, Makefile.in, alloc.c, check.c, config.h.in, configure,
16003         configure.in, defaults.c, emul/err.h, env.c, err.c, error.c,
16004         error.h, find_path.c, interfaces.c, logging.c, mon_systrace.c,
16005         sudo.c, sudo.h, sudo_edit.c, testsudoers.c, visudo.c:
16006         Add local error/warning functions like err/warn but that call an
16007         additional cleanup routine in the error case. This means we no
16008         longer need to compile a special version of alloc.o for visudo.
16009         [25000b676cfe]
16010
16011         * match.c:
16012         Use userpw_matches() to compare usernames, not strcmp(), since the
16013         latter checks for "#uid".
16014         [fcbe4b859f66]
16015
16016         * getspwuid.c, mon_systrace.c, mon_systrace.h, sudo.c:
16017         Cache passwd db entries in 2 reb-black trees; one indexed by uid,
16018         the other by user name. The data returned from the cache should be
16019         considered read-only and is destroyed by sudo_endpwent().
16020         [ee2418ff3f86]
16021
16022         * match.c:
16023         add cast to uid_t
16024         [eb6415302d84]
16025
16026         * gram.y:
16027         missing free in alias_destroy
16028         [572ecb680ad8]
16029
16030         * redblack.c:
16031         Can't use rbapply() for rbdestroy since the destructor is passed a
16032         data pointer, not a node pointer.
16033         [11ce713830c0]
16034
16035         * getspwuid.c, logging.c, sudo.c, sudo.h:
16036         Create and use private versions of setpwent() and endpwent() that
16037         set/end the shadow password file too.
16038         [616bc76d23bf]
16039
16040         * gram.c, gram.h, gram.y, match.c, parse.h, testsudoers.c, visudo.c:
16041         Store aliases in a red-black tree.
16042         [ce017d540416]
16043
16044         * Makefile.in, redblack.c, redblack.h:
16045         red-black tree implementation
16046         [cd5586e8f48b]
16047
16048         * visudo.c:
16049         Edit all sudoers file if there were unused or undefined aliases and
16050         we are in strict mode.
16051         [b6d5f5bb7262]
16052
16053 2004-11-12  Todd C. Miller  <Todd.Miller@courtesan.com>
16054
16055         * CHANGES, def_data.c, def_data.h, def_data.in, defaults.c, env.c,
16056         find_path.c, sudoers.cat, sudoers.man.in, sudoers.pod, visudo.c:
16057         Bring back the "secure_path" Defaults option now that Defaults take
16058         effect before the path is searched.
16059         [2e52c0e27606]
16060
16061 2004-11-11  Todd C. Miller  <Todd.Miller@courtesan.com>
16062
16063         * logging.c, parse.c:
16064         A user can always list their own entries, even with -u. Better error
16065         message when failing to list another user's entries.
16066         [e2e24deb0071]
16067
16068         * parse.c, sudo.c, sudo.h:
16069         The syntax to list another user's entries is now "-u otheruser -l".
16070         Only root or users with sudo "ALL" may list other user's entries.
16071         [3c0657e8f5fe]
16072
16073         * sudo.cat, sudo.man.in, sudo.pod:
16074         Update env variable info in SECURITY NOTES
16075         [299716071024]
16076
16077         * env.c:
16078         strip CDPATH too
16079         [9b97643b26f9]
16080
16081         * env.c:
16082         strip exported bash functions from the environment.
16083         [9e5090c8284f]
16084
16085 2004-10-27  Todd C. Miller  <Todd.Miller@courtesan.com>
16086
16087         * sudo.c:
16088         Only reset sudo_user.pw based on SUDO_USER environment variables for
16089         real commands and sudoedit. This avoids a confusing message when a
16090         user tries "sudo -l" or "sudo -v" and is denied.
16091         [3ea6d0053274]
16092
16093         * gram.c, gram.y, parse.h:
16094         Extend LIST_APPEND to deal with appending lists too
16095         [d963e42f622f]
16096
16097 2004-10-26  Todd C. Miller  <Todd.Miller@courtesan.com>
16098
16099         * logging.c:
16100         Convert some bitwise AND to ISSET
16101         [130dc40d268e]
16102
16103         * lex.yy.c, toke.c:
16104         toke.c replaces lex.yy.c
16105         [048858df79e7]
16106
16107         * CHANGES, TODO:
16108         sync
16109         [d19e7abf251c]
16110
16111         * BUGS:
16112         new parser fixes most of the outstanding bugs
16113         [0891f66e3758]
16114
16115         * configure:
16116         regen
16117         [1a3358cc7283]
16118
16119         * visudo.c:
16120         Rework for the new parser. Now checks for unused aliases in sudoers.
16121         [ad462ede3094]
16122
16123         * testsudoers.c:
16124         Rewrite for the new parser. Now supports a -d flag (dump) and adds
16125         a -h flag (host). It now defaults to the local hostname unless
16126         otherwise specified.
16127         [1b69685cc601]
16128
16129         * sudo.h:
16130         Add new prototypes. Remove NOMATCH/UNSPEC (now in parse.h)
16131         [2e4fb3abfef0]
16132
16133         * sudo.c:
16134         Update for new parse. We now call find_path() *after* we have
16135         updated the global defaults based on sudoers. Also adds support for
16136         listing other user's privs if you are root.
16137         [cf3db9fc3024]
16138
16139         * mon_systrace.c:
16140         Working LDAP support; also remove a now-unneeded rewind().
16141         [649ecf1baf6b]
16142
16143         * logging.c, logging.h:
16144         Add NO_STDERR flag.
16145         [6cb935af94e0]
16146
16147         * ldap.c:
16148         Split sudo_ldap_check() into three pieces: sudo_ldap_open(),
16149         udo_ldap_update_defaults() and sudo_ldap_check(). This allows us to
16150         connecto to LDAP, apply the default options, find the command in the
16151         user's path, and then check whether the user is allowed to run it.
16152         The important thing here is that the default runas user may be
16153         specified as a default option and that needs to be set before we
16154         search for the command.
16155         [fc0426abc6f1]
16156
16157         * ldap.c:
16158         Add casts to unsigned char for isspace() to quiet a gcc warning.
16159         [e5358e3df439]
16160
16161         * defaults.h:
16162         Add prototype for update_defaults()
16163         [564dac3db74e]
16164
16165         * defaults.c:
16166         Don't warn about line numbers now that we operate on a set of data
16167         structures (or LDAP) and not a file.
16168         [bcd9ffb9b67c]
16169
16170         * config.h.in:
16171         No long use lsearch()
16172         [9d048c587319]
16173
16174         * Makefile.in:
16175         Update for new and changed file names.
16176         [6f424a7c4515]
16177
16178         * LICENSE:
16179         no more BSD lsearch.c
16180         [463a96d89026]
16181
16182         * match.c:
16183         foo_matches() routines now live in match.c Added user_matches(),
16184         runas_matches(), host_matches(), cmnd_matches() and alias_matches()
16185         that operate on the parsed sudoers file.
16186         [b14da8a0567e]
16187
16188         * parse.lex, toke.l:
16189         Move parse.lex -> toke.l Rename buffer_frob() -> switch_buffer()
16190         WORD no longer needs to exclude '@' kill yywrap()
16191         [a922294eb7b7]
16192
16193         * gram.c, gram.h, gram.y, parse.c, parse.h, parse.yacc, sudo.tab.c,
16194         sudo.tab.h:
16195         Rewritten parser that converts sudoers into a set of data
16196         structures. This eliminates ordering issues and makes it possible to
16197         apply sudoers Defaults entries before searching for the command.
16198         [30d2ec4d203c]
16199
16200         * configure.in, emul/search.h, lsearch.c:
16201         We won't be using lsearch() any longer.
16202         [29c4d54bfac0]
16203
16204         * ldap.c:
16205         sudo should not send mail if someone who runs 'sudo -l' has no
16206         entry.
16207         [6fc27a69fd9c]
16208
16209         * sudo.cat, sudo.man.in, sudoers.cat, sudoers.man.in, visudo.cat,
16210         visudo.man.in:
16211         regen
16212         [8166347917f3]
16213
16214         * visudo.pod:
16215         Update warnings to match new visudo
16216         [004c0766798f]
16217
16218         * sudoers.pod:
16219         The new parser doesn't have the old ordering constraints.
16220         [ffd43bd08661]
16221
16222         * sudo.pod:
16223         Document that -l now takes an optional username argument
16224         [278f9557de8b]
16225
16226 2004-10-25  Todd C. Miller  <Todd.Miller@courtesan.com>
16227
16228         * RUNSON:
16229         AIX 5.2.0.0 works
16230         [523acd29d858]
16231
16232         * ldap.c:
16233         If LDAP_OPT_SUCCESS is not defined, use LDAP_SUCCESS instead. Fixes
16234         a compilation problem with Solaris 9's native LDAP.
16235
16236         Set FLAG_MONITOR when needed.
16237         [35824ade672d]
16238
16239 2004-10-23  Todd C. Miller  <Todd.Miller@courtesan.com>
16240
16241         * mon_systrace.c:
16242         Call sudo_goodpath() *after* changing the cwd to match the traced
16243         process. Fixes relative paths.
16244         [12ee111d0ad7]
16245
16246 2004-10-21  Todd C. Miller  <Todd.Miller@courtesan.com>
16247
16248         * testsudoers.c:
16249         Kill set_perms() stub--it is no longer needed.
16250         [116ed702935d]
16251
16252 2004-10-13  Todd C. Miller  <Todd.Miller@courtesan.com>
16253
16254         * sudoers.cat, sudoers.man.in, sudoers.pod:
16255         stay_setuid now requires set_reuid() or setresuid()
16256         [8511f67e25d5]
16257
16258         * INSTALL, PORTING, TROUBLESHOOTING, config.h.in, configure,
16259         configure.in, set_perms.c, sudo.c, sudo.h:
16260         Kill use of POSIX saved uids; they aren't worth bothering with.
16261         [b3b1f19f18c1]
16262
16263 2004-10-07  Todd C. Miller  <Todd.Miller@courtesan.com>
16264
16265         * glob.c:
16266         remove call to issetugid()
16267         [63f2e492c08f]
16268
16269         * sudoers.cat, sudoers.man.in, sudoers.pod:
16270         Remove warning about wildcards. Now that we use glob() the bug is
16271         fixed.
16272         [b15729d32266]
16273
16274         * parse.c:
16275         Use glob(3) instead of fnmatch(3) for matching pathnames and stat
16276         each result that matches the basename of the user's command. This
16277         makes "cd /usr/bin ; sudo ./blah" work when sudoers allows
16278         /usr/bin/blah. Fixes bug #143.
16279         [e31eb6310340]
16280
16281         * config.h.in, configure, configure.in:
16282         Define HAVE_EXTENDED_GLOB for extended glob (GLOB_TILDE and
16283         GLOB_BRACE)
16284         [677ed6661e17]
16285
16286         * config.h.in, configure, configure.in:
16287         Check for a glob() that supports GLOB_BRACE and GLOB_TILDE
16288         [aaa2329dd266]
16289
16290         * LICENSE:
16291         reference glob
16292         [bedc9a923423]
16293
16294         * glob.c:
16295         4.4BSD glob(3) with fixes from OpenBSD and some unneeded extensions
16296         removed.
16297         [81799451473c]
16298
16299         * emul/glob.h:
16300         4.4BSD glob(3) with fixes from OpenBSD and some unneeded extensions
16301         removed.
16302         [0335cf31fb1e]
16303
16304 2004-10-05  Todd C. Miller  <Todd.Miller@courtesan.com>
16305
16306         * mon_systrace.c:
16307         Just return if STRIOCINJECT or STRIOCREPLACE fail. It probably
16308         means we are out of space in the stack gap...
16309         [5b02b702021e]
16310
16311         * CHANGES:
16312         sync
16313         [be3826273e56]
16314
16315         * mon_systrace.c:
16316         Take a stab at ldap sudoers support here.
16317         [9d023695b0de]
16318
16319         * mon_systrace.c, mon_systrace.h:
16320         Detach from tracee on SIGHUP, SIGINT and SIGTERM. Now "sudo reboot"
16321         doesn't cause reboot to inadvertanly kill itself.
16322         [d4aab2365610]
16323
16324         * mon_systrace.c:
16325         put "monitor" in the proctitle, not "systrace"
16326         [9a9025767d86]
16327
16328         * mon_systrace.c:
16329         When modifying the environment, don't replace envp when we can get
16330         away with just rewriting pointers in the traced process.
16331         [c03622f7a2e2]
16332
16333         * mon_systrace.c, mon_systrace.h:
16334         Add environment updating via STRIOCINJECT (if available).
16335         [037291016870]
16336
16337         * sudoers.cat, sudoers.man.in:
16338         regen
16339         [869acc511046]
16340
16341 2004-10-04  Todd C. Miller  <Todd.Miller@courtesan.com>
16342
16343         * lex.yy.c:
16344         regen
16345         [4e61a9bd3c97]
16346
16347         * parse.lex:
16348         Fix bug introduced in unput() removal; want yyless(0) not yyless(1)
16349         [b70d7bd6e147]
16350
16351         * mon_systrace.c:
16352         Include file is now mon_systrace.h
16353         [ead4e36d92ae]
16354
16355         * Makefile.in, configure, configure.in, def_data.c, def_data.h,
16356         def_data.in, lex.yy.c, parse.c, parse.h, parse.lex, parse.yacc,
16357         sudo.c, sudo.h, sudo.tab.c, sudo.tab.h, sudoers.pod:
16358         No longer call it tracing, it is now "monitoring" which should be
16359         more a obvious name to non-hackers.
16360         [aa811ded0789]
16361
16362 2004-10-01  Todd C. Miller  <Todd.Miller@courtesan.com>
16363
16364         * mon_systrace.c, mon_systrace.h:
16365         Fix some XXX
16366         [a271072dacc6]
16367
16368         * mon_systrace.c, mon_systrace.h:
16369         No need to include syscall.h, use 1024 as the max # of entries (the
16370         max that systrace(4) allows).
16371
16372         Only need to use SYSTR_POLICY_ASSIGN once
16373
16374         Change check_syscall() -> find_handler() and have it return the
16375         handler instead of just running it. We need this since handler now
16376         have two parts: one part that generates and answer and another that
16377         gets called after the answer is accepted (to do logging).
16378
16379         Add some missing check_exec for emul execv
16380         [a89d243f0525]
16381
16382         * sample.pam, sample.sudoers, sample.syslog.conf, sudoers:
16383         Add $Sudo$ tags.
16384         [6f3fedb0daba]
16385
16386         * config.h.in:
16387         Add missing HAVE_LINUX_SYSTRACE_H
16388         [ff75ab7bfc53]
16389
16390         * Makefile.in:
16391         add trace_systrace.o dependency
16392         [88a408668ab2]
16393
16394 2004-09-30  Todd C. Miller  <Todd.Miller@courtesan.com>
16395
16396         * configure, configure.in:
16397         Also look for systrace.h in /usr/include/linux
16398         [98b98b436cf3]
16399
16400         * mon_systrace.c, mon_systrace.h:
16401         Move all struct defs and prototypes into trace_systrace.h and mark
16402         all but systace_attach() static.
16403         [85511253b570]
16404
16405         * mon_systrace.c, mon_systrace.h:
16406         Add support for tracing emulations. At the moment, all emulations
16407         are compiled in. It might make sense to #ifdef them in the future,
16408         though this impeeds readability.
16409         [87bb50abf277]
16410
16411         * Makefile.in, configure, configure.in:
16412         rename systrace.c -> trace_systrace.c
16413         [31cfa4407d93]
16414
16415         * parse.yacc, sudo.tab.c:
16416         Allow this to build with a K&R compiler again
16417         [32876af5bb98]
16418
16419         * TODO:
16420         sync
16421         [46865bd70f7c]
16422
16423         * compat.h, sudo.c, visudo.c:
16424         Use __attribute__((__noreturn__))
16425         [65bbad71fe89]
16426
16427         * visudo.c:
16428         Exit() takes a negative value to indicate it was not called via
16429         signal.
16430         [b93032ed7b60]
16431
16432         * sudo.cat, sudo.man.in, sudoers.cat, sudoers.man.in, visudo.cat,
16433         visudo.man.in:
16434         regen
16435         [45bcf4661558]
16436
16437         * Makefile.in, visudo.c:
16438         Define Err() and Errx() that are like err() and errx() but call
16439         Exit() instead of exit(). Build private copy of alloc.o for visudo
16440         that calls Err() and Errx().
16441         [c6d02bf42edd]
16442
16443 2004-09-29  Todd C. Miller  <Todd.Miller@courtesan.com>
16444
16445         * lex.yy.c, sudo.tab.c:
16446         regen
16447         [39de7e7c59da]
16448
16449         * CHANGES:
16450         sync
16451         [ba481d9ed1aa]
16452
16453         * visudo.c:
16454         Overhaul visudo for editing multiple files: o visudo has been
16455         broken out into functions (more work needed here) o each file is
16456         now edited before sudoers is re-parsed o if a #include line is
16457         added that file will be edited too
16458
16459         TODO: o cleanup temp files when exiting via err() or errx() o
16460         continue breaking things out into separate functions
16461         [80c35cf534eb]
16462
16463         * parse.lex, sudo.c, sudo.h, testsudoers.c, visudo.c:
16464         Add keepopen arg to open_sudoers that open_sudoers can use to
16465         indicate to the caller that the fd should not be closed when it is
16466         done with it. To be used by visudo to keep locked fds from being
16467         closed prematurely (and thus losing the lock).
16468         [f330fe632470]
16469
16470         * parse.yacc, sudo.c:
16471         Add errorfile global that contains the name of the file that caused
16472         the error.
16473         [98079c7a37ed]
16474
16475         * parse.lex:
16476         return COMMENT to yacc grammar for a #include line
16477         [2024a8de4fa8]
16478
16479         * parse.lex:
16480         Remove us of unput() in favor of yyless() which is cheaper.
16481         [c61291902beb]
16482
16483         * parse.yacc:
16484         Allow an empty sudoers file.
16485         [62fb111db2e7]
16486
16487 2004-09-28  Todd C. Miller  <Todd.Miller@courtesan.com>
16488
16489         * mon_systrace.c:
16490         Rewind sudoers_fp now that sudoers_lookup() doesn't do it for us.
16491         [9e15869ef597]
16492
16493         * lex.yy.c, sudo.tab.c:
16494         regen
16495         [c29bdd43bfad]
16496
16497         * visudo.c:
16498         Do signal setup before calling edit_sudoers(). Don't shadow the
16499         "quiet" global.
16500         [74252efd09ff]
16501
16502         * visudo.c:
16503         If a sudoers file includes other files, edit those too. Does not yes
16504         deal with creating the new includes files itself.
16505         [06af7b9c173f]
16506
16507         * testsudoers.c:
16508         init_parser now takes a path
16509         [b5ee186eb192]
16510
16511         * parse.c, parse.h, parse.lex, parse.yacc:
16512         More scaffolding for dealing with multiple sudoers files: o
16513         init_parser() now takes a path used to populate the sudoers global
16514         o the sudoers global is used to print the correct file in yyerror()
16515         o when switching to a new sudoers file, perserve old file name and
16516         line number
16517         [d9be4970b8bd]
16518
16519         * Makefile.in, pathnames.h.in:
16520         Kill _PATH_SUDOERS_TMP; it is not meaningful now that we can have
16521         multiple sudoers files.
16522         [6ccc4e921c43]
16523
16524         * parse.c, sudo.c:
16525         Rewind sudoers_fp in open_sudoers() instead of sudoers_lookup() so
16526         we start at the right file position when reading include files.
16527         [91fcb961e7a4]
16528
16529         * sudoers.pod:
16530         document #include
16531         [fbb92a25a726]
16532
16533         * lex.yy.c:
16534         regen
16535         [50cd7a4c9dff]
16536
16537         * parse.lex:
16538         Add max depth of 128 for the include stack to avoid loops.
16539
16540         Since yyerror() doesn't stop parsing, pass return values back to
16541         yylex and call yyterminate() on error.
16542         [e79dbffb729d]
16543
16544 2004-09-27  Todd C. Miller  <Todd.Miller@courtesan.com>
16545
16546         * sudoers.pod:
16547         document tracing
16548         [165a467eadd8]
16549
16550         * sudo.pod:
16551         Mention PREVENTING SHELL ESCAPES section of sudoers man page
16552         [3217ccecd834]
16553
16554         * lex.yy.c, sudo.tab.c:
16555         regen
16556         [fbd58d1d3a76]
16557
16558         * parse.lex:
16559         Add support for #include in sudoers (visudo support TBD)
16560         [a78015ca81af]
16561
16562         * parse.yacc:
16563         make yyerror()'s argument const
16564         [7d8e168c019a]
16565
16566         * testsudoers.c, visudo.c:
16567         Add open_sudoers() stubs.
16568         [087466787198]
16569
16570         * sudo.c, sudo.h:
16571         Rename check_sudoers() open_sudoers() and make it return a FILE *
16572         [142fc511fc65]
16573
16574 2004-09-26  Todd C. Miller  <Todd.Miller@courtesan.com>
16575
16576         * BUGS, INSTALL, INSTALL.binary, Makefile.in, README, configure.in,
16577         version.h:
16578         Crank version
16579         [1adc3f839480]
16580
16581         * Makefile.in, sudo.psf:
16582         Better HP-UX depot construction
16583         [2d952b000e63]
16584
16585 2004-09-25  Todd C. Miller  <Todd.Miller@courtesan.com>
16586
16587         * mon_systrace.c:
16588         o Made children global so check_exec() can lookup a child. o
16589         Replaced uid in struct childinfo with struct passwd * (for runas) o
16590         new_child() now takes a parent pid so the runas info can be
16591         inherited o Added find_child() to lookup a child by its pid o
16592         update_child() now fills in a struct passwd o Converted the big
16593         if/else mess in set_policy to a switch o Syscalls that change uid
16594         are now "ask" so we get SYSTR_MSG_UGID events
16595         [29b9ea3f09a3]
16596
16597         * getspwuid.c:
16598         Add flag to sudo_pwdup that indicates whether or not to lookup the
16599         shadow password. Will be used to a struct passwd that has the
16600         shadow password already filled in.
16601         [e19d43dd7238]
16602
16603         * mon_systrace.c:
16604         add missing increment of addr in read_string()
16605         [f9eb0f060cb6]
16606
16607         * mon_systrace.c:
16608         Remove bogus call to update_child() and some cosmetic fixes
16609         [701ab0b97fef]
16610
16611         * mon_systrace.c:
16612         Don't leak /dev/systrace fd to tracee Make initialized global for
16613         simplicity If STRIOCATTACH returns EBUSY we are already being traced
16614         Check for user_args == NULL in setproctitle() call Add missing calls
16615         to STRIOCANSWER
16616         [1956edf9bc3a]
16617
16618         * sudo.c:
16619         g/c sudo_pwdup proto
16620         [b7c4d6249ecb]
16621
16622         * Makefile.in, sudo.psf:
16623         Add target for building a depot file
16624         [357019efd99b]
16625
16626         * mon_systrace.c:
16627         trim includes
16628         [501534428471]
16629
16630 2004-09-24  Todd C. Miller  <Todd.Miller@courtesan.com>
16631
16632         * lex.yy.c, sudo.tab.c, sudo.tab.h:
16633         regen
16634         [52fd250c6986]
16635
16636         * INSTALL:
16637         document --with-systrace
16638         [79623927c94e]
16639
16640         * config.h.in, configure, configure.in:
16641         Add check for setproctitle
16642         [1730cf1c26ed]
16643
16644         * mon_systrace.c:
16645         pass struct str_msg_ask in to syscall checker so it can set the
16646         error code
16647         [1703fd2fdef6]
16648
16649         * mon_systrace.c:
16650         systrace(4) support for sudo. On systems with the systrace(4)
16651         kernel facility (OpenBSD, NetBSD, Linux w/ patches) sudo can
16652         intercept exec calls and check the exec args against the sudoers
16653         file. In other words, sudo can now control subcommands and shell
16654         escapes.
16655         [928c9217c386]
16656
16657         * sudo.c, sudo.h:
16658         Call systrace_attach() if FLAG_TRACE is set.
16659         [014ba9402fa5]
16660
16661         * parse.c, parse.h, parse.lex, parse.yacc, sudo.h:
16662         Add trace Defaults option and TRACE/NOTRACE tags and set FLAG_TRACE
16663         [a99904db5e56]
16664
16665         * parse.c, sudo.c:
16666         Don't close sudoers_fp, keep it open and set close on exec flag
16667         instead.
16668         [43a9fec60bee]
16669
16670         * def_data.c, def_data.h, def_data.in:
16671         Add trace option
16672         [5b643b86730a]
16673
16674         * Makefile.in:
16675         Add systrace
16676         [47a0519c427c]
16677
16678         * INSTALL:
16679         SunOS /bin/sh blows up with configure
16680         [005a23cc5615]
16681
16682         * configure, configure.in:
16683         Include sys/param.h before systrace.h
16684         [9345bc8efecf]
16685
16686         * configure:
16687         regen
16688         [a8f53fcbb254]
16689
16690         * pathnames.h.in:
16691         _PATH_DEV_SYSTRACE
16692         [d2ad1e492a00]
16693
16694         * configure.in:
16695         line up options in --help
16696         [fa51f2821d09]
16697
16698         * config.h.in, configure.in:
16699         Add --with-systrace
16700         [a264d54bc413]
16701
16702 2004-09-23  Todd C. Miller  <Todd.Miller@courtesan.com>
16703
16704         * configure:
16705         regen
16706         [a4dad0bcc523]
16707
16708         * aclocal.m4, configure.in:
16709         make this work with autoconf-2.59
16710         [c4a92b6a684a]
16711
16712 2004-09-16  Todd C. Miller  <Todd.Miller@courtesan.com>
16713
16714         * sudo_edit.c:
16715         Simplify logic around open & stat of files and do sanity on edited
16716         file even if we lack fstat (still racable but worth doing).
16717         [adda65ade70c]
16718
16719 2004-09-15  Todd C. Miller  <Todd.Miller@courtesan.com>
16720
16721         * HISTORY:
16722         Add support url
16723         [bf6590fbde9f]
16724
16725         * Makefile.in:
16726         versino 1.6.8p1
16727         [b84ebfaf1552] [SUDO_1_6_8p1]
16728
16729         * CHANGES:
16730         more changes for 1.6.8p1
16731         [e23a9c0393b6]
16732
16733         * version.h:
16734         1.6.8p1
16735         [872f14504b5f]
16736
16737         * CHANGES, sudo_edit.c:
16738         Add sanity check so we don't try to edit something other than a
16739         regular file.
16740         [350134ec6d4e]
16741
16742 2004-09-15  Aaron Spangler  <aaron777@gmail.com>
16743
16744         * CHANGES:
16745         sync
16746         [3091ca9eae00]
16747
16748         * INSTALL:
16749         document --with-ldap-conf-file
16750         [0e2cd6b896f1]
16751
16752 2004-09-14  Todd C. Miller  <Todd.Miller@courtesan.com>
16753
16754         * CHANGES, ins_csops.h:
16755         political correctness strikes again
16756         [428e8bc77f55]
16757
16758         * RUNSON:
16759         sync
16760         [27f44bd423dc]
16761
16762 2004-09-12  Todd C. Miller  <Todd.Miller@courtesan.com>
16763
16764         * Makefile.binary.in, Makefile.in:
16765         Install sudoedit man link
16766         [19a55234fc1f]
16767
16768         * INSTALL:
16769         Update PAM note and mention where HP-UX users can download gcc
16770         binaries.
16771         [d37cdbbabfd4]
16772
16773         * Makefile.in:
16774         libtool wants to install stuff from .libs so fake one up for binary
16775         installations.
16776         [a681bc6fcfba]
16777
16778         * Makefile.binary.in:
16779         rm -f old sudoedit link instead of using ln -f set LIBTOOL correctly
16780         [3e0c4b3372cc]
16781
16782         * Makefile.in:
16783         Deal with "uname -m" having slashes in it rm -f old sudoedit link
16784         instead of using ln -f
16785         [cff33fb97e5b]
16786
16787         * Makefile.binary, Makefile.binary.in:
16788         Makefile.binary -> Makefile.binary.in for config.status substitution
16789         Add support for installing noexec bits
16790         [37d8bb3483c6]
16791
16792         * Makefile.in:
16793         Copy noexec bits into binary dists too No longer use my old arch
16794         script for making binary dists
16795         [e7058bab9e33]
16796
16797         * Makefile.binary:
16798         Install sudoedit link.
16799         [417d1e101711]
16800
16801 2004-09-11  Todd C. Miller  <Todd.Miller@courtesan.com>
16802
16803         * emul/utime.h:
16804         avoid __P so there is no need for compat.h to be included
16805         [6d8d1f1abf7d]
16806
16807         * utimes.c:
16808         Don't use HAVE_UTIME_H before including config.h.
16809         [013b7bb61181]
16810
16811 2004-09-10  Todd C. Miller  <Todd.Miller@courtesan.com>
16812
16813         * compat.h:
16814         Fix Solatis futimes macro
16815         [d4eda2ca0d29]
16816
16817 2004-09-09  Todd C. Miller  <Todd.Miller@courtesan.com>
16818
16819         * sudo_edit.c:
16820         Rename ots -> omtim for improved readability.
16821         [127ca5bb297c]
16822
16823 2004-09-08  Todd C. Miller  <Todd.Miller@courtesan.com>
16824
16825         * sudo_edit.c:
16826         Redo changes in revision 1.7. Don't really need to keep the temp
16827         file open; re-opening it with the invoking user's euid is
16828         sufficient.
16829         [55a883165a95]
16830
16831         * CHANGES:
16832         sync
16833         [9015b291170d]
16834
16835         * sudo.cat, sudo.man.in:
16836         regen
16837         [c0313f6ed783]
16838
16839         * sudo.pod:
16840         back out revision 1.70; it is no long applicable
16841         [b641d503aff6]
16842
16843         * env.c:
16844         Let the loader initialize nep
16845         [bec192139b02]
16846
16847         * config.h.in, configure, configure.in:
16848         Removed unneed check for fchown Add check for gettimeofday Move
16849         autoheader template stuff into separate AH_TEMPLATE lines
16850         [bfc0edbd43f2]
16851
16852         * check.c, compat.h, fileops.c, sudo.h, sudo_edit.c, visudo.c:
16853         Use timespec throughout.
16854         [1a178a23b69b]
16855
16856         * Makefile.in:
16857         gettime.[co]
16858         [6aeb48a7ab7f]
16859
16860         * gettime.c:
16861         function to return the current time in a struct timespec
16862         [bf8eb12cb63f]
16863
16864         * utimes.c:
16865         Not a darpa-sponsored file.
16866         [121ce5e2036c]
16867
16868 2004-09-07  Todd C. Miller  <Todd.Miller@courtesan.com>
16869
16870         * compat.h, config.h.in, configure, configure.in:
16871         Add a check for struct timespec and provide it for those without.
16872         [42124055030d]
16873
16874         * config.h.in, configure, configure.in, sudo_edit.c:
16875         Add checks for st_mtim and st_mtimespec and add macros for pulling
16876         the mtime sec and nsec out of struct stat. These are used in
16877         sudo_edit() to better tell whether or not the file has changed.
16878         [23debfbb3fab]
16879
16880         * check.c, fileops.c, sudo.h, sudo_edit.c, visudo.c:
16881         Add an extra param to touch() for nsec
16882         [56f7a4ba8ddb]
16883
16884         * sudo_edit.c:
16885         Call mkstemp() as the in invoking user so we don't have to chown the
16886         file later. Only touch() the temp file if we can do it via the file
16887         descriptor. Don't check for modification of the temp file if we lack
16888         fstat(). Catch errors read()ing the temp file.
16889         [665f52c70836]
16890
16891         * fileops.c:
16892         If path is NULL and fd == -1 return -1.
16893         [757a518a824c]
16894
16895         * sudo_edit.c:
16896         closefrom() is overkill, the only extra fds are the ones we opened
16897         so just close those in the child.
16898         [f361c9d2a1f4]
16899
16900         * Makefile.in, aclocal.m4, check.c, compat.h, config.h.in, configure,
16901         configure.in, fileops.c, sudo.h, sudo_edit.c, utime.c, utimes.c,
16902         visudo.c:
16903         Use utimes() and futimes() instead of utime() in touch(), emulating
16904         as needed. Not all systems are able to support setting the times of
16905         an fd so touch() takes both an fd and a file name as arguments.
16906         [3d9276f29717]
16907
16908 2004-09-07  Aaron Spangler  <aaron777@gmail.com>
16909
16910         * env.c:
16911         Rare SEGV
16912         [8995f828782d]
16913
16914 2004-09-06  Todd C. Miller  <Todd.Miller@courtesan.com>
16915
16916         * sudo.cat, sudo.man.in, sudoers.cat, sudoers.man.in, visudo.cat,
16917         visudo.man.in:
16918         regen
16919         [b8e9406711c5]
16920
16921         * sudo.pod, sudoers.pod, visudo.pod:
16922         Add SUPPORT section and re-order some of the sections to match the
16923         order we use in OpenBSD.
16924         [fa37bd917e2c]
16925
16926 2004-09-06  Aaron Spangler  <aaron777@gmail.com>
16927
16928         * env.c:
16929         Openldap ~/.ldaprc fix
16930         [1a37afe6850f]
16931
16932 2004-09-06  Todd C. Miller  <Todd.Miller@courtesan.com>
16933
16934         * sudo.pod:
16935         Talk about how the editor must write its changes to the original
16936         file and not just use rename(2).
16937         [c55ed91c5ee9]
16938
16939         * CHANGES:
16940         sync
16941         [62af26bd37a2]
16942
16943         * sudo_edit.c:
16944         Keep the temp file open instead of re-opening after the editor has
16945         exited.
16946         [de41eeb6dcf2]
16947
16948         * sample.pam:
16949         Update for current redhat/fedora core.
16950         [8cf083077333]
16951
16952 2004-09-03  Aaron Spangler  <aaron777@gmail.com>
16953
16954         * README.LDAP:
16955         tls_ examples
16956         [ba783d88a034]
16957
16958 2004-09-02  Aaron Spangler  <aaron777@gmail.com>
16959
16960         * ldap.c:
16961         config tls_* options
16962         [0b0e0797b3b9]
16963
16964 2004-08-29  Todd C. Miller  <Todd.Miller@courtesan.com>
16965
16966         * configure, configure.in:
16967         No need for -lcrypt when using pam.
16968         [41fff3a53e68]
16969
16970 2004-08-27  Todd C. Miller  <Todd.Miller@courtesan.com>
16971
16972         * configure:
16973         regen
16974         [75820aecce2c]
16975
16976 2004-08-27  Aaron Spangler  <aaron777@gmail.com>
16977
16978         * configure.in, ldap.c, pathnames.h.in:
16979         Allow --with-ldap-conf-file option to override LDAP_CONF
16980         [c9909bc484a5]
16981
16982         * ldap.c:
16983         cleanup debug message
16984         [1f6ca4824d8d]
16985
16986 2004-08-26  Aaron Spangler  <aaron777@gmail.com>
16987
16988         * README.LDAP:
16989         more config info
16990         [f2e7147fd507]
16991
16992 2004-08-24  Todd C. Miller  <Todd.Miller@courtesan.com>
16993
16994         * TODO, find_path.c, goodpath.c, parse.c, sudo.c, sudo.h, visudo.c:
16995         Add cmnd_base to struct sudo_user and set it in init_vars(). Add
16996         cmnd_stat to struct sudo_user and set it in sudo_goodpath(). No
16997         longer use gross statics in command_matches(). Also rename some
16998         variables for improved clarity.
16999         [7169a6c7bea4]
17000
17001 2004-08-21  Todd C. Miller  <Todd.Miller@courtesan.com>
17002
17003         * INSTALL:
17004         document HP's crippled compiler deficiency.
17005         [c405ea5a8d4c]
17006
17007         * INSTALL:
17008         Fix some thinkos in --with-editor and --with-env-editor
17009         descriptions. Noticed by Norihiko Murase.
17010         [dd781de1c985]
17011
17012         * configure, configure.in:
17013         --with-noexec takes an optional PATH argument.
17014         [8f6ab77f22cc]
17015
17016         * INSTALL:
17017         document --with-noexec
17018         [50cb1fc627ce]
17019
17020 2004-08-17  Todd C. Miller  <Todd.Miller@courtesan.com>
17021
17022         * RUNSON, TODO:
17023         sync
17024         [f2503bd13373] [SUDO_1_6_8]
17025
17026         * sudo_edit.c:
17027         Better warning message when sudoedit is unable to write to the
17028         destination file.
17029         [f78c18f2ffa8]
17030
17031         * sudo.cat, sudo.man.in:
17032         regen
17033         [7e2bf63d6d9a]
17034
17035         * sudo.pod:
17036         Don't italicize the string "sudoedit"
17037         [c691643bd269]
17038
17039 2004-08-16  Todd C. Miller  <Todd.Miller@courtesan.com>
17040
17041         * HISTORY:
17042         Mention GratiSoft.
17043         [dc53de581b2d]
17044
17045 2004-08-11  Todd C. Miller  <Todd.Miller@courtesan.com>
17046
17047         * sudo.tab.c:
17048         regen
17049         [8ae0484dfc38]
17050
17051         * parse.yacc:
17052         Reset used_runas to FALSE when re-intializing the parser.
17053         [b7403f353a02]
17054
17055 2004-08-09  Todd C. Miller  <Todd.Miller@courtesan.com>
17056
17057         * config.guess:
17058         Correct OpenBSD mips support
17059         [314fc7afc165]
17060
17061         * config.guess:
17062         Add OpenBSD/mips
17063         [ac87d0a773ef]
17064
17065 2004-08-07  Aaron Spangler  <aaron777@gmail.com>
17066
17067         * README.LDAP:
17068         More behavior notes
17069         [13be1d212b47]
17070
17071         * README.LDAP:
17072         Updates on current behavior
17073         [d498a8866d6f]
17074
17075 2004-08-06  Todd C. Miller  <Todd.Miller@courtesan.com>
17076
17077         * sudoers.pod:
17078         =back does not take an indentlevel (makes no difference to formatted
17079         files).
17080         [9c8523bb382a]
17081
17082         * sudo.pod:
17083         =back does not take an indentlevel (makes no difference to formatted
17084         files).
17085         [e5f479e24fa8]
17086
17087         * CHANGES:
17088         new
17089         [2dbd9aba8b33]
17090
17091         * sudo.c:
17092         Consistency. Use same error for bad -u #uid when targetpw is set as
17093         we do when a bad -u username is specified.
17094         [922961c4a9d6]
17095
17096         * TODO:
17097         Add checksum idea from Steve Mancini
17098         [e6ece1b766ba]
17099
17100         * sudoers.cat, sudoers.man.in:
17101         regen
17102         [370d2317829f]
17103
17104         * sudo.cat, sudo.man.in:
17105         regen
17106         [f93d41fc38b1]
17107
17108         * sudo.pod, sudoers.pod:
17109         Document the restriction on uids specified via -u when targetpw is
17110         set.
17111         [878fedb455db]
17112
17113         * sudo.c:
17114         Error out when targetpw is enabled and sudo is run with -u #uid but
17115         #uid does not exist in the passwd database. We can't do target
17116         authentication when the target is not in passwd!
17117         [27c5888c86eb]
17118
17119         * sudo.cat, sudo.man.in, sudoers.cat, sudoers.man.in:
17120         regen
17121         [ceb65711050c]
17122
17123         * TODO:
17124         Some more todo for the next release.
17125         [7b7417be7601]
17126
17127         * INSTALL:
17128         Make it clear that PAM should be used for DCE support when possible.
17129         [7502029fd385]
17130
17131         * sudoers.pod:
17132         o Document problems with wildcards and relative paths. o Make the
17133         order requirements more prominent. o Change a "set" to "reset" for
17134         clarity.
17135         [bacdd181b33f]
17136
17137 2004-08-05  Todd C. Miller  <Todd.Miller@courtesan.com>
17138
17139         * sudo.pod:
17140         Mention --with-secure-path, not SECURE_PATH.
17141         [41283ddde5e1]
17142
17143 2004-08-03  Aaron Spangler  <aaron777@gmail.com>
17144
17145         * ldap.c:
17146         reflect changes to parse.c
17147         [8880fe9b724d]
17148
17149 2004-08-02  Todd C. Miller  <Todd.Miller@courtesan.com>
17150
17151         * sudo.tab.c:
17152         regen
17153         [a57658ca9177]
17154
17155         * parse.c, parse.h, testsudoers.c, visudo.c:
17156         Don't pass user_cmnd and user_args to command_matches(), just use
17157         the globals there. Since we keep state with statics anyway it is
17158         misleading to pretend that passing in different cmnd and cmnd_args
17159         will work.
17160         [0a2544991fd6]
17161
17162         * parse.yacc:
17163         Don't pass user_cmnd and user_args to command_matches(), just use
17164         the globals there. Since we keep state with statics anyway it is
17165         misleading to pretend that passing in different cmnd and cmnd_args
17166         will work.
17167         [a4910bf6032b]
17168
17169         * parse.c:
17170         Fix a bug introduced in rev. 1.149. When checking for pseudo-
17171         commands check for a '/' anywhere in cmnd, not just the first
17172         character.
17173         [ce98142f03ca]
17174
17175 2004-07-31  Aaron Spangler  <aaron777@gmail.com>
17176
17177         * sudo.man.in, sudo.pod:
17178         Clarification thanks to Olivier Blin <oblin@mandrakesoft.com>
17179         [a91800e094b1]
17180
17181         * sudoers.man.in, sudoers.pod:
17182         Add ignore_local_sudoers
17183         [741ddcbf7083]
17184
17185         * README.LDAP:
17186         Sun One schema definition by Andreas.Bussjaeger@t-systems.com and
17187         janth@moldung.no
17188         [742c02e07cd9]
17189
17190 2004-07-29  Todd C. Miller  <Todd.Miller@courtesan.com>
17191
17192         * CHANGES:
17193         typo
17194         [e7cdefbd7a9a]
17195
17196 2004-07-23  Todd C. Miller  <Todd.Miller@courtesan.com>
17197
17198         * CHANGES:
17199         sync
17200         [734dafc4a85e]
17201
17202         * parse.c:
17203         Parse sudoers file as PERM_RUNAS not PERM_ROOT and remove a useless
17204         PERM_SUDOERS. Restore to PERM_ROOT upon exit of the parse.
17205         [151b7f593568]
17206
17207 2004-07-08  Todd C. Miller  <Todd.Miller@courtesan.com>
17208
17209         * CHANGES:
17210         PAM change
17211         [d8fb6d6a22d0]
17212
17213 2004-07-08  Aaron Spangler  <aaron777@gmail.com>
17214
17215         * ldap.c:
17216         Better debugging of ALL command
17217         [9db3e84029dc]
17218
17219 2004-07-08  Todd C. Miller  <Todd.Miller@courtesan.com>
17220
17221         * parse.c:
17222         When matching for "sudoedit" in sudoers check both the command the
17223         user typed *and* the command that is listed in the sudoers entry.
17224         [f36ca1f94095]
17225
17226 2004-07-04  Aaron Spangler  <aaron777@gmail.com>
17227
17228         * ldap.c:
17229         Added !command feature
17230         [ed539574611b]
17231
17232 2004-06-28  Todd C. Miller  <Todd.Miller@courtesan.com>
17233
17234         * auth/pam.c:
17235         Use pam_acct_mgmt() to check for disabled accounts; Brian Farrell
17236         [2be8e0e8813a]
17237
17238 2004-06-11  Todd C. Miller  <Todd.Miller@courtesan.com>
17239
17240         * LICENSE:
17241         License is ISC-style, not BSD-style
17242         [ac0589e1dd5d]
17243
17244         * CHANGES:
17245         sync
17246         [16058a30f404]
17247
17248 2004-06-10  Todd C. Miller  <Todd.Miller@courtesan.com>
17249
17250         * sudo.cat, sudo.man.in:
17251         regen
17252         [8820eb9c809b]
17253
17254         * sudo.pod:
17255         o Update some out of date bits to reality o Change the shell promt
17256         in examples to bourne-shell style o Clarify some details o Add a
17257         CAVEAT about "sudo cd /foo"
17258         [b0af373214b6]
17259
17260         * check.c:
17261         Don't ask for a password if invoking user == target user.
17262         [dd5c96141132]
17263
17264         * sudo.c:
17265         typo in comment
17266         [278d20f9b249]
17267
17268 2004-06-08  Todd C. Miller  <Todd.Miller@courtesan.com>
17269
17270         * sudoers.cat, sudoers.man.in:
17271         regen
17272         [9036c6f39eff]
17273
17274         * sudoers.pod:
17275         Expand on NOEXEC a little.
17276         [9a13756aebe4]
17277
17278         * TODO:
17279         sync
17280         [8d2c1af48de8]
17281
17282         * visudo.cat, visudo.man.in:
17283         regen
17284         [3921f01607c8]
17285
17286         * sudo.tab.c:
17287         regen
17288         [9338c3d68250]
17289
17290         * visudo.pod:
17291         Add a check in visudo for runas_default being set after it has
17292         already been used.
17293         [6700358d7ad8]
17294
17295         * CHANGES, parse.yacc, visudo.c:
17296         Add a check in visudo for runas_default being set after it has
17297         already been used.
17298         [803560986a8a]
17299
17300         * sudo.tab.c:
17301         regen
17302         [b60636e2cf63]
17303
17304         * parse.yacc:
17305         Add a MATCHED macro for testing whether foo_matches has been set to
17306         TRUE or FALSE. This is more readable than checking for >=0 or < 0.
17307         Doesn't change the actual code generated.
17308         [f376da8ccdc8]
17309
17310 2004-06-07  Todd C. Miller  <Todd.Miller@courtesan.com>
17311
17312         * sudoers.cat:
17313         regen
17314         [6cceb6d6c9bd]
17315
17316         * sudoers.man.in:
17317         regen
17318         [5acd12b730b3]
17319
17320         * sudoers.pod:
17321         Correct description of where Defaults specs should go.
17322         [6b11ff53d7ad]
17323
17324         * sudoers:
17325         Correct description of where Defaults specs should go.
17326         [868db857630d]
17327
17328         * testsudoers.c, visudo.c:
17329         update (c) year
17330         [272c8a53604c]
17331
17332         * logging.h:
17333         update (c) year
17334         [3cec76d400ce]
17335
17336         * ldap.c:
17337         update (c) year
17338         [f264632488a0]
17339
17340         * find_path.c:
17341         update (c) year
17342         [40c227af9227]
17343
17344         * auth/pam.c:
17345         update (c) year
17346         [87149e0eed50]
17347
17348         * auth/bsdauth.c, auth/kerb5.c:
17349         update (c) year
17350         [d72eb434c068]
17351
17352 2004-06-06  Todd C. Miller  <Todd.Miller@courtesan.com>
17353
17354         * sudo.tab.c:
17355         regen
17356         [83408d9e9d2e]
17357
17358         * auth/bsdauth.c, auth/kerb5.c, auth/pam.c, visudo.c:
17359         Remove trailing spaces, no actual code changes.
17360         [4c3bf2819293]
17361
17362         * tgetpass.c:
17363         Remove trailing spaces, no actual code changes.
17364         [96f6e0a24c26]
17365
17366         * ldap.c, logging.h, parse.c, parse.yacc, sudo.c, testsudoers.c:
17367         Remove trailing spaces, no actual code changes.
17368         [c7075d1cbed5]
17369
17370         * getcwd.c:
17371         Remove trailing spaces, no actual code changes.
17372         [776cc0374547]
17373
17374         * find_path.c:
17375         Remove trailing spaces, no actual code changes.
17376         [7ed7099f3c71]
17377
17378         * compat.h, defaults.c, env.c:
17379         Remove trailing spaces, no actual code changes.
17380         [893e83c33795]
17381
17382         * check.c:
17383         Remove trailing spaces, no actual code changes.
17384         [f77750f8803b]
17385
17386         * sudo.tab.c:
17387         regen
17388         [62e0ed883b31]
17389
17390         * parse.yacc:
17391         Fix a >=0 that should be <0 that was improperly converted when
17392         UNSPEC was added.
17393         [ad1531a55a49]
17394
17395         * parse.yacc:
17396         Add do {} while(0) around pop macro Set cmnd_matches to UNSPEC, not
17397         NOMATCH when resetting it.
17398         [ae017a12870a]
17399
17400         * parse.yacc:
17401         Fix pastos introduced in SETNMATCH addition.
17402         [6ea1c9d80681]
17403
17404 2004-06-05  Todd C. Miller  <Todd.Miller@courtesan.com>
17405
17406         * README.LDAP:
17407         Update for configure changes
17408         [637a635da287]
17409
17410         * sudo.tab.c:
17411         regen
17412         [4753c2788713]
17413
17414         * sudo.h:
17415         Add NOMATCH and UNSPEC defines (-1 and -2 respectively) and use
17416         these in parse.yacc. Also in parse.yacc initialize the *_matches
17417         vars to UNSPEC and add two macros, SETMATCH and SETNMATCH for use
17418         when setting *_matches to a value that may be
17419         NOMATCH/UNSPEC/TRUE/FALSE.
17420         [2ba622e15a4d]
17421
17422         * parse.yacc:
17423         Add NOMATCH and UNSPEC defines (-1 and -2 respectively) and use
17424         these in parse.yacc. Also in parse.yacc initialize the *_matches
17425         vars to UNSPEC and add two macros, SETMATCH and SETNMATCH for use
17426         when setting *_matches to a value that may be
17427         NOMATCH/UNSPEC/TRUE/FALSE.
17428         [746b519e41a6]
17429
17430         * parse.yacc:
17431         Initialize runas to -2, not -1 since we need to be able to
17432         distinguish between the initialized value and the value of a non-
17433         match when passing along the runas value to multiple commands.
17434
17435         The result of this is that an unmatched runas is now set to -1, not
17436         0. This is required now that parse.c treats a FALSE value for runas
17437         as being explicitly denied.
17438         [7791ed3621f6]
17439
17440 2004-06-03  Todd C. Miller  <Todd.Miller@courtesan.com>
17441
17442         * sudo.c, visudo.c:
17443         Error out if argc < 1.
17444         [ce6b2a9eda3c]
17445
17446         * getprogname.c:
17447         Error out if argc < 1.
17448         [c566cce8dc78]
17449
17450         * configure, configure.in:
17451         Add tests for what libs we need to link with for ldap and for
17452         whether or not lber.h needs to be explicitly included.
17453         [b2e9729cc4e7]
17454
17455 2004-06-03  Aaron Spangler  <aaron777@gmail.com>
17456
17457         * ldap.c:
17458         Solaris native LDAP build fix
17459         [39929e40eb11]
17460
17461 2004-06-01  Todd C. Miller  <Todd.Miller@courtesan.com>
17462
17463         * ldap.c:
17464         Set edn to NULL is ldap_get_dn() fails to avoid potential use of an
17465         unset variable.
17466         [6a4c20a66f98]
17467
17468         * sudo.h:
17469         Add prototype for sudo_ldap_list_matches
17470         [443b007a8dab]
17471
17472         * configure, configure.in:
17473         Better check for dirfd macro--we now set HAVE_DIRFD for the macro
17474         version too. Added check for dd_fd in `DIR' if no dirfd is found;
17475         this is now used to confitionally define the dirfd macro in
17476         compat.h.
17477         [567656978f7e]
17478
17479         * config.h.in:
17480         Better check for dirfd macro--we now set HAVE_DIRFD for the macro
17481         version too. Added check for dd_fd in `DIR' if no dirfd is found;
17482         this is now used to confitionally define the dirfd macro in
17483         compat.h.
17484         [34eace4faec8]
17485
17486         * compat.h:
17487         Better check for dirfd macro--we now set HAVE_DIRFD for the macro
17488         version too. Added check for dd_fd in `DIR' if no dirfd is found;
17489         this is now used to confitionally define the dirfd macro in
17490         compat.h.
17491         [8d50ff1bbf2a]
17492
17493         * closefrom.c:
17494         Only check /proc/$$/fd if we have the dirfd function/macro.
17495         [15e3ccce7553]
17496
17497         * compat.h, config.h.in, configure, configure.in:
17498         Add a check for a dirfd() function (like Linux) and add a dirfd
17499         macro in compat.h if there is no dirfd() function or macro.
17500         [1e95756edb50]
17501
17502         * closefrom.c, getcwd.c:
17503         dirfd() is now defined in compat.h as needed.
17504         [bb1d79271188]
17505
17506         * CHANGES:
17507         Clarify closefrom() note.
17508         [f4e4a5508dda]
17509
17510         * parse.c:
17511         When checking for a command in the directory, only copy the base dir
17512         once.
17513         [7a3276808b87]
17514
17515         * closefrom.c:
17516         If there is a /proc/$$/fd directory, behave like the Solaris
17517         closefrom() and only close the descriptors listed therein.
17518         [19de23779e84]
17519
17520         * alloc.c:
17521         compat.h guarantees INT_MAX is defined.
17522         [1bf0c79d4606]
17523
17524         * compat.h:
17525         Add definitions of OPEN_MAX and INT_MAX for those without it and
17526         remove definition of RLIM_INFINITY (now unused).
17527         [f827d1ebf96e]
17528
17529         * CHANGES, alloc.c, check.c, compat.h, find_path.c, getcwd.c, parse.c,
17530         sudo.c, sudo.h, visudo.c:
17531         Use PATH_MAX, not MAXPATHLEN since the former is standardized.
17532         [59788f211c24]
17533
17534 2004-05-31  Todd C. Miller  <Todd.Miller@courtesan.com>
17535
17536         * CHANGES:
17537         sync
17538         [d32fa124f1ad]
17539
17540         * RUNSON:
17541         Add some entries that were mailed in a while ago
17542         [ff8d5bfec54e]
17543
17544         * closefrom.c:
17545         o sysconf returns a long, not an int. o check for negative return
17546         value from sysconf/getdtablesize and use OPEN_MAX in this case. o
17547         define OPEN_MAX to 256 for those without it (a fair guess...)
17548         [ccf81ae6deb2]
17549
17550 2004-05-30  Todd C. Miller  <Todd.Miller@courtesan.com>
17551
17552         * UPGRADE:
17553         Mention change in parse order for RunAs entries.
17554         [dc73b0bca617]
17555
17556         * configure:
17557         regen
17558         [07cce8e0534e]
17559
17560 2004-05-29  Todd C. Miller  <Todd.Miller@courtesan.com>
17561
17562         * INSTALL, README.LDAP, config.h.in, configure.in:
17563         o --with-ldap now takes an optional dir as a parameter o added
17564         check for ldap_initialize() and start_tls_s()
17565         [2b846c7974c6]
17566
17567         * README.LDAP:
17568         Fix some typos, word choice and formatting issues.
17569         [00dc8ca84b10]
17570
17571 2004-05-28  Todd C. Miller  <Todd.Miller@courtesan.com>
17572
17573         * tgetpass.c:
17574         Use SA_INTERRUPT so SunOS works correctly, avoid stdio and just use
17575         read/write as it is simpler.
17576         [30f5446ee8b0]
17577
17578         * configure, configure.in:
17579         Remove hack overriding cross-compiler check. It should no longer be
17580         needed.
17581         [22a6cbd88608]
17582
17583         * compat.h:
17584         Remove select() compat bits since we no longer use select().
17585         [d7bbf7cd36f5]
17586
17587         * CHANGES, tgetpass.c:
17588         Use alarm() instead of select() for the timeout for systems that
17589         don't fully/properly implement select().
17590         [d7cc60f15800]
17591
17592 2004-05-27  Todd C. Miller  <Todd.Miller@courtesan.com>
17593
17594         * CHANGES:
17595         synbc
17596         [132a39788e07]
17597
17598         * RUNSON:
17599         update
17600         [61ef508380c6]
17601
17602         * set_perms.c:
17603         Deal with systems that have no way of setting the effective uid such
17604         as nsr-tandem-nsk.
17605         [306e00e9b5a4]
17606
17607         * configure, configure.in:
17608         Define NO_SAVED_IDS if we don't find seteuid()
17609         [8588f18345cf]
17610
17611         * config.h.in, configure, configure.in:
17612         Add back check for setreuid() since NSK doesn't have it.
17613         [43127bd703d1]
17614
17615         * sudoers.cat, sudoers.man.in:
17616         regen
17617         [af4f4b20e422]
17618
17619         * CHANGES:
17620         sync
17621         [29ca3b699c24]
17622
17623         * BUGS:
17624         sync
17625         [3593f17f72ed]
17626
17627         * parse.c:
17628         In sudoers_lookup() return VALIDATE_NOT_OK if the runas user was
17629         explicitly denied and the command matched. This fixes a long-
17630         standing bug and makes: foo machine = (ALL) /usr/bin/blah
17631         foo machine = (!bar) /usr/bin/blah
17632
17633         equivalent to: foo machine = (ALL, !bar) /usr/bin/blah
17634         [2f5ee244985a]
17635
17636         * sudoers.pod:
17637         Clarify mail_noperm
17638         [3238b2d41989]
17639
17640 2004-05-20  Aaron Spangler  <aaron777@gmail.com>
17641
17642         * Makefile.in:
17643         Missing DESTDIR in make install for sudo_noexec.la
17644         [91431e821525]
17645
17646 2004-05-17  Todd C. Miller  <Todd.Miller@courtesan.com>
17647
17648         * sudo.cat, sudo.man.in, sudoers.cat, sudoers.man.in, visudo.cat,
17649         visudo.man.in:
17650         regen
17651         [cdfde0dcb556]
17652
17653         * TODO:
17654         sync
17655         [4799b7d8b62c]
17656
17657         * sudoers.pod:
17658         Remove fastboot/fasthalt (who still remembers these?) and add a
17659         minimal sudoedit example.
17660         [19d299f233cd]
17661
17662         * sample.sudoers:
17663         Remove fastboot/fasthalt (who still remembers these?) and add a
17664         minimal sudoedit example.
17665         [b1bca73d6250]
17666
17667         * UPGRADE, sudo.c, visudo.c:
17668         filesystem -> file system
17669         [1e1afaf30469]
17670
17671         * TROUBLESHOOTING:
17672         filesystem -> file system
17673         [39fb594e9338]
17674
17675         * CHANGES, INSTALL:
17676         filesystem -> file system
17677         [85948b608ffe]
17678
17679         * sudo.pod, sudoers.pod:
17680         Fix some minor typos and formatting goofs
17681         [e94d243a0b90]
17682
17683         * lex.yy.c:
17684         regen
17685         [2eed0ab1f4c4]
17686
17687         * visudo.pod:
17688         remove my email addr
17689         [b63262c0389b]
17690
17691         * sudo.pod, sudoers.pod, visudo.pod:
17692         Use @mansectform@ and @mansectsu@ everywhere Make man page
17693         references links with L<>
17694         [f459f4b9ddb9]
17695
17696         * parse.lex:
17697         Accept quoted globbing characters and pass them verbatim for
17698         fnmatch()
17699         [8248b86e9380]
17700
17701         * UPGRADE:
17702         Document that /tmp/.odus is gone.
17703         [3667b66af5bb]
17704
17705         * pathnames.h.in:
17706         No longer use /tmp/.odus as a possible timestamp dir unless
17707         specifically configured to do so. Instead, if no /var/run exists,
17708         use /var/adm/sudo or /usr/adm/sudo.
17709         [48d94c9f9ad4]
17710
17711         * configure:
17712         No longer use /tmp/.odus as a possible timestamp dir unless
17713         specifically configured to do so. Instead, if no /var/run exists,
17714         use /var/adm/sudo or /usr/adm/sudo.
17715         [058d7b8cf07b]
17716
17717         * aclocal.m4:
17718         No longer use /tmp/.odus as a possible timestamp dir unless
17719         specifically configured to do so. Instead, if no /var/run exists,
17720         use /var/adm/sudo or /usr/adm/sudo.
17721         [cf52c4c2803f]
17722
17723         * CHANGES:
17724         No longer use /tmp/.odus as a possible timestamp dir unless
17725         specifically configured to do so. Instead, if no /var/run exists,
17726         use /var/adm/sudo or /usr/adm/sudo.
17727         [6058c4cefcec]
17728
17729         * set_perms.c, sudo.c, tgetpass.c, visudo.c:
17730         Preliminary changes to support nsr-tandem-nsk. Based on patches
17731         from Tom Bates.
17732         [2e5f81834383]
17733
17734         * logging.c:
17735         Preliminary changes to support nsr-tandem-nsk. Based on patches
17736         from Tom Bates.
17737         [934bbe6872b6]
17738
17739         * check.c, compat.h:
17740         Preliminary changes to support nsr-tandem-nsk. Based on patches
17741         from Tom Bates.
17742         [390b698b5924]
17743
17744 2004-05-16  Todd C. Miller  <Todd.Miller@courtesan.com>
17745
17746         * CHANGES:
17747         There was no 1.6.7p6.
17748         [8013d2e6b062]
17749
17750         * BUGS, CHANGES:
17751         sync
17752         [c38b41f32857]
17753
17754         * Makefile.in:
17755         add missing files to DISTFILES
17756         [e6a80ad03039]
17757
17758         * sudo.cat, sudoers.cat, visudo.cat:
17759         regen
17760         [027bc9746dd5]
17761
17762         * sudoers.man.in:
17763         regen
17764         [f5e85ef686cf]
17765
17766         * Makefile.in:
17767         Fix some line wrap and update (c) year
17768         [bad1f46aa1ca]
17769
17770 2004-04-28  Aaron Spangler  <aaron777@gmail.com>
17771
17772         * README.LDAP:
17773         Build Note
17774         [7a061248249b]
17775
17776 2004-04-07  Aaron Spangler  <aaron777@gmail.com>
17777
17778         * Makefile.in:
17779         Fix install-dirs
17780         [be0726dd92e7]
17781
17782 2004-04-05  Todd C. Miller  <Todd.Miller@courtesan.com>
17783
17784         * sudo.tab.c:
17785         regen
17786         [3f4f0d1ab8b9]
17787
17788         * visudo.c:
17789         In Exit() when used as a signal handler, emsg is a pointer so
17790         sizeof() is wrong so make it a #define instead. Also avoid using a
17791         negative exit value. Found by Aaron Campbell
17792         [78716a3a3fdc]
17793
17794 2004-03-24  Todd C. Miller  <Todd.Miller@courtesan.com>
17795
17796         * sudoers.pod:
17797         Remove bogus sentence about uids in a User_List. Document usernames
17798         vs. uid parsing in a Runas_List.
17799         [7ca510b5031c]
17800
17801         * parse.c, parse.h, parse.yacc, sudo.c, testsudoers.c, visudo.c:
17802         If the user specified a uid with the -u flag and the uid exists in
17803         the passwd file, set runas_user to the name, not the uid.
17804
17805         When comparing usernames in sudoers, if a name is really a uid
17806         (starts with '#') compare it numerically to pw_uid.
17807         [8d6935d04673]
17808
17809 2004-03-22  Todd C. Miller  <Todd.Miller@courtesan.com>
17810
17811         * auth/kerb5.c:
17812         krb5_mcc_ops should be const; Johnny C. Lam
17813         [aa8c753e426e]
17814
17815 2004-02-28  Aaron Spangler  <aaron777@gmail.com>
17816
17817         * CHANGES, config.h.in, ldap.c:
17818         Added start_tls support
17819         [7ef864c15b69]
17820
17821 2004-02-14  Todd C. Miller  <Todd.Miller@courtesan.com>
17822
17823         * Makefile.in:
17824         Clean up libtool stuff for 'make distclean' and add def_data.c,
17825         def_data.h to PARSESRCS.
17826         [bf9bb6bb06ab]
17827
17828 2004-02-14  Aaron Spangler  <aaron777@gmail.com>
17829
17830         * strlcat.c, strlcpy.c:
17831         Un-Fix last license munge
17832         [42654b77ac71]
17833
17834 2004-02-13  Todd C. Miller  <Todd.Miller@courtesan.com>
17835
17836         * configure:
17837         regen
17838         [e4de6b23a4dc]
17839
17840         * CHANGES, RUNSON, TODO:
17841         checkpoint
17842         [94e1ace84d5c]
17843
17844         * lex.yy.c, sudo.tab.c:
17845         regen
17846         [8ce784505643]
17847
17848         * auth/passwd.c, auth/rfc1938.c, auth/secureware.c, auth/securid.c,
17849         auth/securid5.c, auth/sia.c, auth/sudo_auth.c, auth/sudo_auth.h,
17850         emul/search.h, emul/utime.h:
17851         More to a less restrictive, ISC-style license.
17852         [a31b20e48003]
17853
17854         * auth/kerb5.c, auth/pam.c:
17855         More to a less restrictive, ISC-style license.
17856         [e41f92b41216]
17857
17858         * auth/dce.c, auth/fwtk.c, auth/kerb4.c:
17859         More to a less restrictive, ISC-style license.
17860         [87534c164a52]
17861
17862         * auth/bsdauth.c:
17863         More to a less restrictive, ISC-style license.
17864         [e21be6594b58]
17865
17866         * auth/afs.c, auth/aix_auth.c, zero_bytes.c:
17867         More to a less restrictive, ISC-style license.
17868         [6d234be91c5e]
17869
17870         * sudoers.man.in, sudoers.pod, testsudoers.c, tgetpass.c, visudo.c,
17871         visudo.man.in, visudo.pod:
17872         More to a less restrictive, ISC-style license.
17873         [b02aea324fd6]
17874
17875         * sudo_noexec.c:
17876         More to a less restrictive, ISC-style license.
17877         [a6da7631e0b2]
17878
17879         * strlcat.c, strlcpy.c, sudo.c, sudo.h, sudo.man.in, sudo.pod,
17880         sudo_edit.c:
17881         More to a less restrictive, ISC-style license.
17882         [71cdcc241e94]
17883
17884         * sigaction.c, strerror.c:
17885         More to a less restrictive, ISC-style license.
17886         [4bccdedca58a]
17887
17888         * ldap.c, logging.c, logging.h, parse.c, parse.h, pathnames.h.in,
17889         set_perms.c:
17890         More to a less restrictive, ISC-style license.
17891         [64d772d70ab3]
17892
17893         * getspwuid.c, goodpath.c, ins_2001.h, ins_classic.h, ins_csops.h,
17894         ins_goons.h, insults.h, interfaces.c, interfaces.h:
17895         More to a less restrictive, ISC-style license.
17896         [520381c60a54]
17897
17898         * find_path.c, getprogname.c:
17899         More to a less restrictive, ISC-style license.
17900         [f605d5eab6f1]
17901
17902         * fileops.c:
17903         More to a less restrictive, ISC-style license.
17904         [4129a8b38a67]
17905
17906         * env.c:
17907         More to a less restrictive, ISC-style license.
17908         [d5bd859757de]
17909
17910         * defaults.h:
17911         More to a less restrictive, ISC-style license.
17912         [008f5d5743f5]
17913
17914         * LICENSE, Makefile.in, alloc.c, check.c, closefrom.c, compat.h,
17915         defaults.c:
17916         More to a less restrictive, ISC-style license.
17917         [d8d7bfc8a18b]
17918
17919         * utime.c, version.h:
17920         More to a less restrictive, ISC-style license.
17921         [e2e038ad8209]
17922
17923         * parse.lex, parse.yacc:
17924         More to a less restrictive, ISC-style license.
17925         [2f5942e847a1]
17926
17927         * Makefile.binary:
17928         More to a less restrictive, ISC-style license.
17929         [1ed561734535]
17930
17931 2004-02-13  Aaron Spangler  <aaron777@gmail.com>
17932
17933         * sudoers2ldif:
17934         Merged in LDAP Support
17935         [3994c4d05947]
17936
17937         * ldap.c, sudo.c, sudo.h:
17938         Merged in LDAP Support
17939         [547eaa346fcc]
17940
17941         * def_data.c, def_data.h, def_data.in:
17942         Merged in LDAP Support
17943         [8fb255280e42]
17944
17945         * CHANGES, Makefile.in, README.LDAP, config.h.in, configure.in:
17946         Merged in LDAP Support
17947         [1038092a161e]
17948
17949 2004-02-08  Todd C. Miller  <Todd.Miller@courtesan.com>
17950
17951         * sudo.h, sudo_noexec.c:
17952         Only do "extern int errno" if errno is not a macro.
17953         [b2e02a08be8b]
17954
17955 2004-02-06  Todd C. Miller  <Todd.Miller@courtesan.com>
17956
17957         * set_perms.c:
17958         setreuid(0, 0) fails on QNX if the euid is not already 0 so set the
17959         euid first, then just call setuid(0) to set the real uid too.
17960         [f08546e2e0ee]
17961
17962         * set_perms.c:
17963         Use setresuid() and setreuid() for PERM_RUNAS when appropriate
17964         instead of seteuid() which may not exist.
17965         [ba508581befb]
17966
17967 2004-02-04  Todd C. Miller  <Todd.Miller@courtesan.com>
17968
17969         * LICENSE:
17970         2004
17971         [37425513a342]
17972
17973         * INSTALL, config.h.in, configure, configure.in, ins_classic.h:
17974         Add --with-pc-insults configure option
17975         [7daa5294c17b]
17976
17977         * visudo.man.in:
17978         Prefer VISUAL over EDITOR like old vipw did.
17979         [996252a4ab65]
17980
17981 2004-02-01  Todd C. Miller  <Todd.Miller@courtesan.com>
17982
17983         * sudo.man.in, sudoers.man.in:
17984         regen
17985         [a247f1c52eb9]
17986
17987         * sudoers.pod:
17988         Add a note that noexec is not a cure-all.
17989         [9e7fc535367d]
17990
17991         * sudoers.pod:
17992         Mention that disabling "root_sudo" is pretty pointless.
17993         [f38a415afba0]
17994
17995         * configure, configure.in:
17996         Substitute for root_sudo in sudoers.pod
17997         [ce483cfc86be]
17998
17999         * sudo.pod:
18000         Add sudoedit to the NAME section
18001         [51bc453ec2f6]
18002
18003         * sudoers.pod:
18004         Document that fact that setting ignore_dot in sudoers has no effect
18005         due to the fact that find_path() is called *before* sudoers is read.
18006         [6808df7e417c]
18007
18008 2004-01-30  Todd C. Miller  <Todd.Miller@courtesan.com>
18009
18010         * sudo_edit.c:
18011         Do not require _PATH_USRTMP to be set.
18012         [546f3270dd10]
18013
18014         * BUGS, CHANGES, TODO:
18015         sync
18016         [4205ddeab781]
18017
18018         * sudo.man.in:
18019         regen
18020         [e2143690a88a]
18021
18022         * sudo.pod:
18023         Clarify that when sudo is run by root with the SUDO_USER variable
18024         set, the sudoers lookup happens for root and not the SUDO_USER user.
18025         [47207bec1bdf]
18026
18027 2004-01-29  Todd C. Miller  <Todd.Miller@courtesan.com>
18028
18029         * auth/pam.c, auth/sudo_auth.c, interfaces.c, logging.c, parse.c,
18030         set_perms.c, sigaction.c, sudo.c, tgetpass.c:
18031         Use the SET, CLR and ISSET macros.
18032         [a8b0d7f1e8fd]
18033
18034         * fnmatch.c:
18035         Use the SET, CLR and ISSET macros.
18036         [1afbcba22ba6]
18037
18038         * defaults.c, env.c:
18039         Use the SET, CLR and ISSET macros.
18040         [2f39431e0a49]
18041
18042         * interfaces.h:
18043         MAIN was replaced with _SUDO_MAIN some time ago.
18044         [ea1b38f2ac9d]
18045
18046         * sudo.c:
18047         Don't look at prev_user until after we've parsed sudoers and done
18048         the password check. That way, if sudo/sudoedit is run from a root
18049         process that was invoked by sudo, we check sudoers for root, not the
18050         previous user. This makes sudoedit much more useful and means that
18051         for the sudo case, we get correct logging on who actually ran the
18052         command.
18053         [431dfbf20552]
18054
18055 2004-01-23  Todd C. Miller  <Todd.Miller@courtesan.com>
18056
18057         * sudo_edit.c:
18058         Add a comment describing why we need to be notified about our child
18059         stopping.
18060         [0bec3ce4b49d]
18061
18062 2004-01-22  Todd C. Miller  <Todd.Miller@courtesan.com>
18063
18064         * def_data.c, def_data.in:
18065         Update the noexec variable descriptions
18066         [9cb7f1aa0e57]
18067
18068         * sudoers.man.in, sudoers.pod:
18069         noexec now replaces more than just execve()
18070         [23cbdc0ee95c]
18071
18072         * sudo_noexec.c:
18073         Alas, all the world does not go through execve(2). Many systems
18074         still have an execv(2) system call, Linux 2.6 provides fexecve(2)
18075         and it is not uncommon for libc to have underscore ('_') versions of
18076         the functions to be used internally by the library. Instead of
18077         stubbing all these out by hand, define a macro and let it do the
18078         work. Extra exec functions pointed out by Reznic Valery.
18079         [9fa0cd871b0c]
18080
18081         * sudo.c, sudo_edit.c:
18082         Fix suspending the editor in -e mode. Because we do a fork() first
18083         we need to be notified when the child has been stopped and then send
18084         that same signal to ourself so the shell can do its job control
18085         thing.
18086         [773165eb6057]
18087
18088         * visudo.c:
18089         Use WIFEXITED and WEXITSTATUS macros. If there are systems out
18090         there that want to run sudo that still don't support these we can
18091         try to deal with that later.
18092         [6af68e4aff60]
18093
18094         * lex.yy.c:
18095         regen
18096         [403435317d5d]
18097
18098         * sudo.man.in, sudo.pod, sudoers.man.in, sudoers.pod:
18099         Document sudo -e / sudoedit
18100         [a80f6ea910af]
18101
18102         * configure, configure.in:
18103         fix typo
18104         [5020fcdc27f4]
18105
18106         * config.h.in, configure.in:
18107         Add SET/CLR/ISSET
18108         [03ff57286e7e]
18109
18110 2004-01-21  Todd C. Miller  <Todd.Miller@courtesan.com>
18111
18112         * sudo.c:
18113         Allow non-exclusive flags when invoked as sudoedit. Pretty print the
18114         long usage() line to not wrap (assumes 80 char display)
18115         [3941fa4004bb]
18116
18117         * Makefile.in, sudo.c:
18118         If sudo is invoked as "sudoedit" the -e flag is implied and no other
18119         flags are permitted.
18120         [929670b01293]
18121
18122         * sudo.h:
18123         Add a new flag, -e, that makes it possible to give users the ability
18124         to edit files with the editor of their choice as the invoking user,
18125         not the runas user. Temporary files are used for the actual edit
18126         and the temp file is copied over the original after the editor is
18127         done.
18128         [c4051414c1f4]
18129
18130         * Makefile.in, parse.c, parse.lex, sudo.c, sudo_edit.c:
18131         Add a new flag, -e, that makes it possible to give users the ability
18132         to edit files with the editor of their choice as the invoking user,
18133         not the runas user. Temporary files are used for the actual edit
18134         and the temp file is copied over the original after the editor is
18135         done.
18136         [37ac05c8ac3c]
18137
18138         * env.c, sudo.c:
18139         If real uid == 0 and the SUDO_USER environment variables is set, use
18140         that to determine the invoking user's true identity. That way the
18141         proper info gets logged by someone who has done "sudo su" but still
18142         uses sudo to as root. We can't do this for non-root users since
18143         that would open up a security hole, though perhaps it would be
18144         acceptable to use getlogin(2) on OSes where this a system call (and
18145         doesn't just look in the utmp file).
18146         [c2f9198708a1]
18147
18148         * pathnames.h.in:
18149         Add _PATH_TMP, _PATH_VARTMP and _PATH_USRTMP
18150         [7d9e5768df93]
18151
18152         * config.h.in, configure, configure.in:
18153         Add check for fchown(2)
18154         [a85df18798ed]
18155
18156 2004-01-20  Todd C. Miller  <Todd.Miller@courtesan.com>
18157
18158         * sudo.c:
18159         Back out portions of the -i commit that set NewArgv[0] in
18160         set_runaspw. It is far to late to set NewArgv[0] there and will have
18161         no effect anyway as cmnd and safe_cmnd have already been set.
18162         [c2d343430c1c]
18163
18164         * visudo.c, visudo.pod:
18165         Prefer VISUAL over EDITOR like old vipw did.
18166         [ae32f477cea3]
18167
18168 2004-01-19  Todd C. Miller  <Todd.Miller@courtesan.com>
18169
18170         * env.c, sudo.c:
18171         In -i mode always set new environment based on the runas user's
18172         passwd entry.
18173         [fa653b7887a8]
18174
18175 2004-01-18  Todd C. Miller  <Todd.Miller@courtesan.com>
18176
18177         * sudo.man.in, sudo.pod:
18178         Document the new -i flag and sync SYNOPSIS section with usage() in
18179         sudo.c. Also sort the flags in the OPTIONS section.
18180         [6aabc0ffc47e]
18181
18182         * sudo.c, sudo.h:
18183         o Add -i that acts similar to "su -", based on patches from David J.
18184         MacKenzie o Sort the flags in the usage message
18185         [c0fe7d6beffd]
18186
18187         * sudoers.man.in, sudoers.pod:
18188         Add a missing @runas_default@ substitution.
18189         [60516fe2d090]
18190
18191 2004-01-17  Todd C. Miller  <Todd.Miller@courtesan.com>
18192
18193         * sudo.c:
18194         Change euid to runas user before calling find_path().
18195         Unfortunately, though runas_user can be modified in sudoers we
18196         haven't parsed sudoers yet.
18197         [f469fdf2e313]
18198
18199         * sudoers.man.in, sudoers.pod:
18200         Add missing defintion of Parameter_List and use single pipes in the
18201         Defaults EBNF definition.
18202         [f7bed6e909bf]
18203
18204         * sudo.c:
18205         Fix a bug when set_runaspw() is used as a callback. We don't want
18206         to reset the contents of runas_pw if the user specified a user via
18207         the -u flag.
18208
18209         Avoid unnecessary passwd lookups in set_authpw(). In most cases we
18210         already have the info in runas_pw.
18211         [efc35623ba09]
18212
18213 2004-01-16  Todd C. Miller  <Todd.Miller@courtesan.com>
18214
18215         * check.c:
18216         Add Stan Lee / Uncle Ben quote to the lecture from RedHat
18217         [ebd5a76ccd7e]
18218
18219         * sudo.h:
18220         Update sudo_getepw() proto and add one for set_runaspw()
18221         [6ed65795c17f]
18222
18223         * parse.c:
18224         If we can't stat the command as root, try as the runas user instead.
18225         [ae713fca0e15]
18226
18227         * testsudoers.c, visudo.c:
18228         Add stub set_runaspw() function
18229         [42aa37050053]
18230
18231         * sudo.c:
18232         Add set_runaspw() function to fill in runas_pw. This will be used
18233         as a callback to update runas_pw when the runas user changes.
18234         [e570aa0088d0]
18235
18236         * env.c, sudo.c:
18237         PERM_RUNAS -> PERM_FULL_RUNAS
18238         [51eec6f9e89a]
18239
18240         * set_perms.c, sudo.h:
18241         Rename PERM_RUNAS -> PERM_FULL_RUNAS and add a PERM_RUNAS that just
18242         changes the euid.
18243         [877c6fe4d12c]
18244
18245         * getspwuid.c:
18246         Make sudo_pwdup() act like OpenBSD pw_dup() and allocate memory in
18247         one chunk for easy free()ing. Also change it from static to extern.
18248         [ab503260a7ec]
18249
18250         * defaults.c, defaults.h:
18251         Add callback support
18252         [a61c4ca983fb]
18253
18254         * mkdefaults:
18255         Add a callback field and use it for runas_default
18256         [96b69c27df5e]
18257
18258         * def_data.c, def_data.in:
18259         Add a callback field and use it for runas_default
18260         [d3e9f06872b8]
18261
18262 2004-01-15  Todd C. Miller  <Todd.Miller@courtesan.com>
18263
18264         * auth/fwtk.c:
18265         Add support for chalnecho and display server responses used by fwtk
18266         >= 2.0
18267         [b1870f7aaf0d]
18268
18269 2004-01-12  Todd C. Miller  <Todd.Miller@courtesan.com>
18270
18271         * sudoers.man.in, sudoers.pod:
18272         ld.so is ld.so.1 on solaris
18273         [2bf9a123fa4c]
18274
18275         * Makefile.in, config.h.in, configure, configure.in, sudo.c, sudo.h:
18276         Use closefrom() instead of doing the equivalent inline.
18277         [7e3ef6072884]
18278
18279         * closefrom.c:
18280         closefrom(3) for systems w/o it
18281         [35caf58bb636]
18282
18283 2004-01-09  Todd C. Miller  <Todd.Miller@courtesan.com>
18284
18285         * sudoers.man.in:
18286         Update from .pod file.
18287         [d4c94fc0e0c9]
18288
18289         * configure, configure.in:
18290         Substitute noexec_file for the sudoers man page
18291         [203d3376a551]
18292
18293         * sudo.man.in, sudo.pod:
18294         Mention noexec
18295         [014375ddbb06]
18296
18297         * sudoers.man.in, sudoers.pod:
18298         Document noexec
18299         [49a65d06201f]
18300
18301         * auth/pam.c, config.h.in, configure.in:
18302         Move PAM_CONST macro definition from config.h to pam.c where it
18303         belongs. We can't have this in config.h since that gets included too
18304         early.
18305         [e64748071637]
18306
18307         * auth/pam.c, config.h.in, configure, configure.in:
18308         Some PAM implementations put their headers in /usr/include/pam
18309         instead of /usr/include/security.
18310         [8cc749e9575c]
18311
18312         * configure.in:
18313         I missed changing the EXEC macro -> EXECV here when I changed this
18314         in config.h.in and sudo.c a while ago.
18315         [6f5afac7789f]
18316
18317         * acsite.m4:
18318         OpenBSD vax/m88k/hppa don't do shared libs
18319         [e4901d958bb7]
18320
18321         * configure, configure.in:
18322         o merge the hpux case entries into a single entry w/ its own sub-
18323         case statement. o HP-UX >= 11 support getspnam(), use it in
18324         preference to getprpwuid()
18325         [0caad428894e]
18326
18327         * configure, configure.in:
18328         eval $shrext so that it expands nicely on MacOS X
18329         [40419343eef8]
18330
18331         * Makefile.in:
18332         Don't lie about making a module, it does the wrong thing on mach
18333         [7629b28f5688]
18334
18335         * ltmain.sh:
18336         Remove requirement that libs must begin with "lib". They don't when
18337         we point directly at the lib using LD_PRELOAD or its equivalent.
18338         [d66f3de6ec85]
18339
18340         * acsite.m4:
18341         Disable support for c++, f77 and java. We don't need it, it takes a
18342         lot of time, and it hosed our check for shared lib support.
18343         [4f5749c52ce4]
18344
18345         * configure:
18346         regen
18347         [160865e9d15f]
18348
18349         * configure.in:
18350         Call AC_ENABLE_SHARED and check the status of enable_shared to know
18351         when shared libs are available.
18352         [42504c1668fc]
18353
18354         * acsite.m4:
18355         Duh, OpenBSD suports shared libs too
18356         [8e3cd9417475]
18357
18358         * config.h.in, configure.in:
18359         Only OpenPAM and Linux PAM use const qualifiers.
18360         [b2f76476e866]
18361
18362         * configure, configure.in:
18363         o No need to check for sed, libtool config does that for us o move
18364         check for --with-noexec until after libtool magic is run so we can
18365         use $can_build_shared and $shrext
18366         [668c656e89cc]
18367
18368         * ltmain.sh:
18369         Don't print a bunch of crap about library installs since we are not
18370         really installing a library.
18371         [83fbcad29fe4]
18372
18373         * env.c:
18374         Make format_env() varargs Add noexec support for Darwin, MacOS X,
18375         Irix, and Tru64
18376         [468885d75d10]
18377
18378         * acsite.m4, ltconfig, ltmain.sh:
18379         Update to libtool 1.5 with local changes: o no ldconfig in the
18380         finish step o assume no libprefix or version is needed
18381         [4961cffc3797]
18382
18383         * sudo_noexec.c:
18384         Fix compilation under K&R
18385         [8b309bf0b1b2]
18386
18387 2004-01-06  Todd C. Miller  <Todd.Miller@courtesan.com>
18388
18389         * CHANGES:
18390         checkpoint
18391         [3c368badab32]
18392
18393         * sudo_noexec.c:
18394         stub execve() that just returns EACCES; used for noexec
18395         functionality
18396         [1297acae283a]
18397
18398         * sudo.tab.h:
18399         Regen w/ updated byacc from OpenBSD; fixes a gcc 3.2 issue with
18400         generated code.
18401         [dcab78c49273]
18402
18403         * sudo.tab.c:
18404         Regen w/ updated byacc from OpenBSD; fixes a gcc 3.2 issue with
18405         generated code.
18406         [0a61c735eabe]
18407
18408 2004-01-05  Todd C. Miller  <Todd.Miller@courtesan.com>
18409
18410         * def_data.c, def_data.h, def_data.in:
18411         Move the environment defaults to the end and shorten a few of the
18412         descriptions.
18413         [66787b9c612c]
18414
18415         * configure, configure.in:
18416         no shared libs on ultris or convexos
18417         [2c5f3c456e32]
18418
18419         * Makefile.in, configure, configure.in:
18420         Build sudo_noexec shared object using libtool; could use some
18421         cleanup.
18422         [373f483555dd]
18423
18424         * acsite.m4, ltconfig, ltmain.sh:
18425         libtool scaffolding
18426         [c903a42e3d90]
18427
18428         * parse.yacc, sudo.tab.c:
18429         Merge the NOPASSWD/PASSWD and NOEXEC/EXEC rules so that order is not
18430         important.
18431         [c6e8a34639a4]
18432
18433         * defaults.c, env.c, lex.yy.c, parse.c, parse.h, parse.lex,
18434         parse.yacc, pathnames.h.in, sudo.c, sudo.h, sudo.tab.c:
18435         update copyright year
18436         [a16372ae1711]
18437
18438         * configure, configure.in, defaults.c, env.c, pathnames.h.in:
18439         Add _PATH_SUDO_NOEXEC and corresponding --with-noexec configure
18440         option. The default value of noexec_file is set to this.
18441         [7d88e1d3c494]
18442
18443         * def_data.c, def_data.h, def_data.in, env.c, lex.yy.c, parse.c,
18444         parse.h, parse.lex, parse.yacc, sudo.c, sudo.h, sudo.tab.c,
18445         sudo.tab.h:
18446         Add support for preloading a shared object containing a dummy
18447         execve() function that just sets error and returns -1. This adds a
18448         "noexec_file" option to load the filename as well as a "noexec" flag
18449         to enable it unconditionally. There is also a NOEXEC tag that can
18450         be attached to specific commands and an EXEC tag to disable it.
18451         [c8b6712feb91]
18452
18453         * mkdefaults:
18454         add missing newline to usage statement
18455         [e84746618362]
18456
18457         * config.h.in, sudo.c:
18458         Rename EXEC macro -> EXECV
18459         [ddaa0c027299]
18460
18461         * logging.c:
18462         Don't truncate usernames to 8 characters in the log message.
18463         [f62a20f27075]
18464
18465         * check.c, sudoers.man.in, sudoers.pod:
18466         Update copyright year
18467         [ca9964054085]
18468
18469         * check.c, def_data.c, def_data.h, def_data.in, sudoers.man.in,
18470         sudoers.pod:
18471         Add a new option, lecture_file, that can be used to point to a
18472         custom sudo lecture.
18473         [940133231216]
18474
18475 2003-12-31  Todd C. Miller  <Todd.Miller@courtesan.com>
18476
18477         * auth/aix_auth.c, auth/bsdauth.c, auth/fwtk.c, auth/pam.c,
18478         auth/sudo_auth.c:
18479         Add a zero_bytes() function to do the equivalent of bzero in such a
18480         way that will heopfully not be optimized away by sneaky compilers.
18481         [161b6d74bfb4]
18482
18483         * zero_bytes.c:
18484         Add a zero_bytes() function to do the equivalent of bzero in such a
18485         way that will heopfully not be optimized away by sneaky compilers.
18486         [d035abf0af94]
18487
18488         * Makefile.in, sudo.h:
18489         Add a zero_bytes() function to do the equivalent of bzero in such a
18490         way that will heopfully not be optimized away by sneaky compilers.
18491         [ff136de3e255]
18492
18493         * err.c:
18494         Use #ifdef __STDC__, not #if __STDC__.
18495         [6889dd6bc51a]
18496
18497 2003-12-30  Todd C. Miller  <Todd.Miller@courtesan.com>
18498
18499         * mkdefaults:
18500         Always put at least one space between the def_* macro name and its
18501         definition.
18502         [6b3ad0e6619a]
18503
18504         * configure, configure.in:
18505         Adjust code for --without-lecture to match new values.
18506         [062aa788a6b9]
18507
18508         * visudo.man.in:
18509         regen after pasto fix
18510         [3deec16906c0]
18511
18512         * sudoers.man.in, sudoers.pod:
18513         Document that "lecture" has changed from a flag to a tuple.
18514         [e2c03062b533]
18515
18516         * check.c, def_data.c, def_data.h, def_data.in, defaults.c,
18517         defaults.h, logging.c, mkdefaults, parse.c, sudo.c, sudo.h:
18518         Add support for tuples in def_data.in; these are implemented as an
18519         enum type. Currently there is only a single tuple enum but in the
18520         future we may have one tuple enum per T_TUPLE entry in def_data.in.
18521         Currently listpw, verifypw and lecture are tuples. This avoids the
18522         need to have two entries (one ival, one str) for pwflags and syslog
18523         values.
18524
18525         lecture is now a tuple with the following values: never, once,
18526         always
18527
18528         We no longer use both an int and string entry for syslog facilities
18529         and priorities. Instead, there are logfac2str() and logpri2str()
18530         functions that get used when we need to print the string values.
18531         [5293f946c836]
18532
18533         * auth/aix_auth.c, auth/bsdauth.c, auth/fwtk.c, auth/pam.c,
18534         auth/rfc1938.c, auth/securid5.c, auth/sia.c, auth/sudo_auth.c,
18535         check.c, def_data.h, defaults.c, defaults.h, env.c, find_path.c,
18536         logging.c, mkdefaults, parse.c, parse.yacc, set_perms.c, sudo.c,
18537         sudo.tab.c, visudo.c:
18538         Create def_* macros for each defaults value so we no longer need the
18539         def_{flag,ival,str,list,mode} macros (which have been removed). This
18540         is a step toward more flexible data types in def_data.in.
18541         [009c02934106]
18542
18543         * TODO:
18544         checkpoint
18545         [0a99a4bb5d15]
18546
18547 2003-12-23  Todd C. Miller  <Todd.Miller@courtesan.com>
18548
18549         * sudo.c:
18550         If we are in -k/-K mode, just spew to stderr. It is not unusual for
18551         users to place "sudo -k" in a .logout file which can cause sudo to
18552         be run during reboot after the YP/NIS/NIS+/LDAP/etc daemon has died.
18553         Previously, this would result in useless mail and logging.
18554         [d282e7ed63af]
18555
18556 2003-12-16  Todd C. Miller  <Todd.Miller@courtesan.com>
18557
18558         * visudo.pod:
18559         fix pasto in VISUAL description
18560         [1c6a6148b5f9]
18561
18562 2003-12-10  Todd C. Miller  <Todd.Miller@courtesan.com>
18563
18564         * configure:
18565         regen
18566         [f44312c63799]
18567
18568         * CHANGES:
18569         checkpoint
18570         [0c42e38f78d5]
18571
18572         * TROUBLESHOOTING:
18573         Some OSes (like Solaris) allow export w/ nosuid too
18574         [973ce85ffa12]
18575
18576 2003-08-12  Todd C. Miller  <Todd.Miller@courtesan.com>
18577
18578         * compat.h:
18579         We don't use FD_ZERO anymore so just define FD_SET (if not already
18580         there).
18581         [d1c8c11905cd]
18582
18583 2003-06-29  Todd C. Miller  <Todd.Miller@courtesan.com>
18584
18585         * auth/pam.c:
18586         Fix a core dump on Solaris by preserving the pam_handle_t we used
18587         during authentication for pam_prep_user(). If we didn't
18588         authenticate (ie: ticket still valid), we call pam_init() from
18589         pam_prep_user(). This is something of a hack; it may be better to
18590         change the auth API and add an auth_final() function that acts like
18591         pam_prep_user().
18592         [f787de49b175]
18593
18594 2003-06-21  Todd C. Miller  <Todd.Miller@courtesan.com>
18595
18596         * set_perms.c:
18597         Add explicit declaration of printerr variable in function header
18598         (was defaulting to int which is OK but oh so K&R :-). From Theo.
18599         [492c2358783f]
18600
18601 2003-06-09  Todd C. Miller  <Todd.Miller@courtesan.com>
18602
18603         * config.h.in, configure.in:
18604         s/HAVE_STOW/USE_STOW/
18605         [4b99e1824ece]
18606
18607         * logging.c:
18608         Also exit waitpid() loop when pid == 0. Fixes a problem where the
18609         sudo process would spin eating up CPU until sendmail finished when
18610         it has to send mail.
18611         [ec3d5792b9b4]
18612
18613 2003-05-30  Todd C. Miller  <Todd.Miller@courtesan.com>
18614
18615         * fnmatch.c:
18616         Remove advertising clause, UCB has disavowed it
18617         [43a26bbd6628]
18618
18619         * fnmatch.3:
18620         Remove advertising clause, UCB has disavowed it
18621         [3ff24291bcfa]
18622
18623 2003-05-22  Todd C. Miller  <Todd.Miller@courtesan.com>
18624
18625         * parse.c:
18626         Don't assume that getgrnam() calls don't modify contents of struct
18627         passwd returned by getpwnam(). On FreeBSD w/ NIS this can happen.
18628         Based on a patch from Kirk Webb.
18629         [5574c68f60f3]
18630
18631 2003-05-06  Todd C. Miller  <Todd.Miller@courtesan.com>
18632
18633         * configure.in:
18634         missing ;;
18635         [22378f2a9d31]
18636
18637         * configure.in:
18638         darwin has a broken setreuid() in at least some versions
18639         [d572aed930d2]
18640
18641         * env.c:
18642         Fix an off by one error when reallocating the environment; Kevin Pye
18643         [3d98e7cf097a]
18644
18645 2003-04-30  Todd C. Miller  <Todd.Miller@courtesan.com>
18646
18647         * sudoers.pod:
18648         Fix User_Spec definition; SEKINE Tatsuo
18649         [49b0da65e090]
18650
18651 2003-04-28  Todd C. Miller  <Todd.Miller@courtesan.com>
18652
18653         * HISTORY:
18654         More info on the early days from Coggs.
18655         [9381ca10b06b]
18656
18657 2003-04-21  Todd C. Miller  <Todd.Miller@courtesan.com>
18658
18659         * auth/kerb5.c:
18660         remove errant semicolon that prevented compilation under heimdal
18661         [d2f2bb73a598]
18662
18663 2003-04-16  Todd C. Miller  <Todd.Miller@courtesan.com>
18664
18665         * testsudoers.c, tgetpass.c, visudo.c, visudo.man.in, visudo.pod:
18666         add DARPA credit on affected files
18667         [7020785ee50d]
18668
18669         * sudoers.pod:
18670         add DARPA credit on affected files
18671         [83b46318750b]
18672
18673         * sigaction.c, strerror.c, sudo.c, sudo.h, sudo.man.in, sudo.pod,
18674         sudoers.man.in:
18675         add DARPA credit on affected files
18676         [d8adf1c2ba22]
18677
18678         * set_perms.c:
18679         add DARPA credit on affected files
18680         [3d79fdabb582]
18681
18682         * pathnames.h.in:
18683         add DARPA credit on affected files
18684         [e334cdda422f]
18685
18686         * logging.c, parse.c:
18687         add DARPA credit on affected files
18688         [8f75f822755b]
18689
18690         * auth/passwd.c, auth/rfc1938.c, auth/secureware.c, auth/securid.c,
18691         auth/securid5.c, auth/sia.c, auth/sudo_auth.c, fileops.c,
18692         find_path.c, getprogname.c, getspwuid.c, goodpath.c, interfaces.c,
18693         interfaces.h:
18694         add DARPA credit on affected files
18695         [da66e28fb3f5]
18696
18697         * auth/kerb5.c, auth/pam.c:
18698         add DARPA credit on affected files
18699         [15da3021b49c]
18700
18701         * auth/afs.c, auth/aix_auth.c, auth/bsdauth.c, auth/dce.c,
18702         auth/fwtk.c, auth/kerb4.c, parse.lex, parse.yacc, utime.c,
18703         version.h:
18704         add DARPA credit on affected files
18705         [868d54cbddea]
18706
18707         * env.c:
18708         add DARPA credit on affected files
18709         [90239f51ef0a]
18710
18711         * defaults.c, defaults.h:
18712         add DARPA credit on affected files
18713         [6a64205fd1eb]
18714
18715         * compat.h:
18716         add DARPA credit on affected files
18717         [316a735783c4]
18718
18719         * Makefile.in, alloc.c, check.c:
18720         add DARPA credit on affected files
18721         [cd939e05c810]
18722
18723         * LICENSE:
18724         slightly different wording for the darpa credit
18725         [e468909c4a21]
18726
18727 2003-04-15  Todd C. Miller  <Todd.Miller@courtesan.com>
18728
18729         * LICENSE:
18730         Add DARPA credit
18731         [8eb20e2cd63e]
18732
18733 2003-04-14  Todd C. Miller  <Todd.Miller@courtesan.com>
18734
18735         * auth/kerb5.c:
18736         Use krb5_princ_component() instead of krb5_princ_realm() for MIT
18737         Kerberos like we did before I messed things up ;-)
18738
18739         Use krb5_principal_get_comp_string() to do the same thing w/
18740         Heimdal. I'm not sure if the component should be 0 or 1 in this
18741         case.
18742
18743         #define ENCTYPE_DES_CBC_MD5 ETYPE_DES_CBC_MD5 for Heimdal since
18744         older versions lack ENCTYPE_DES_CBC_MD5. This is gross and there
18745         should be a configure check for this I guess.
18746         [74919a3933fe]
18747
18748 2003-04-13  Todd C. Miller  <Todd.Miller@courtesan.com>
18749
18750         * sample.sudoers:
18751         builtin -> built-in; Jason McIntyre
18752         [027f2187923e]
18753
18754         * TROUBLESHOOTING, config.h.in, configure, configure.in:
18755         builtin -> built-in; Jason McIntyre
18756         [70b81ac48943]
18757
18758         * sudoers.pod:
18759         built in -> built-in; Jason McIntyre
18760         [da658ef5138d]
18761
18762 2003-04-09  Todd C. Miller  <Todd.Miller@courtesan.com>
18763
18764         * CHANGES:
18765         checkpoint for 1.6.7p3
18766         [da85f989fadf]
18767
18768         * HISTORY:
18769         Update info on the early years @ SUNY-Buffalo from Cliff Spencer.
18770         Amazingly, sudo source from 1985 is available via groups.google.com
18771         [39e0fc85b89f]
18772
18773         * sudo.c:
18774         Don't change rl.rlim_max for RLIMIT_CORE. We need only set
18775         rl.rlim_cur to 0 to turn off core dumps. This may be needed for the
18776         RLIMIT_CORE restoration on some OSes.
18777         [7e2c1a7adfd8]
18778
18779 2003-04-04  Todd C. Miller  <Todd.Miller@courtesan.com>
18780
18781         * auth/kerb5.c:
18782         Make this compile on Heimdal and MIT Kerberos 5
18783         [44c07d615868]
18784
18785         * config.h.in, configure, configure.in:
18786         Check for heimdal even if we found krb5-config and define
18787         HAVE_HEIMDAL.
18788         [aba0126f0059]
18789
18790         * auth/kerb5.c:
18791         Replace ETYPE_DES_CBC_MD5 with ENCTYPE_DES_CBC_MD5. The former is
18792         no longer defined by MIT kerb5 (though it used to be and indeed
18793         remains so in Heimdal).
18794         [e5a6c64d7cd5]
18795
18796 2003-04-03  Todd C. Miller  <Todd.Miller@courtesan.com>
18797
18798         * mkinstalldirs:
18799         Remove newer stuff that passes multiple (possibly duplicate)
18800         directories to "mkdir -p" since that seems to break on Tru64 Unix at
18801         least. This basically brings back what shipped with sudo 1.6.6.
18802         [f2a1abd872b3]
18803
18804 2003-04-02  Todd C. Miller  <Todd.Miller@courtesan.com>
18805
18806         * auth/kerb5.c:
18807         Correct number of args to krb5_principal_get_realm() and fix an
18808         unclosed comment that hid the bug.
18809         [0b37f8ce7824]
18810
18811         * configure:
18812         regen
18813         [1876cb840fe0]
18814
18815         * configure.in:
18816         ++version
18817         [480aff7c048e]
18818
18819         * README:
18820         ++version
18821         [488e0bbff613]
18822
18823         * Makefile.in:
18824         ++version
18825         [97ef63cedc38]
18826
18827         * INSTALL.binary:
18828         ++version
18829         [a506204e77d0]
18830
18831         * INSTALL:
18832         ++version
18833         [555aeba5c2bf]
18834
18835         * CHANGES, version.h:
18836         ++version
18837         [f66985a64063]
18838
18839         * BUGS:
18840         ++version
18841         [ea3573432412]
18842
18843         * configure.in:
18844         use krb5-config to determine Kerberos V details if it exists
18845         [7b46bbdaf774]
18846
18847         * alloc.c, auth/fwtk.c, auth/rfc1938.c, auth/securid.c,
18848         auth/securid5.c, auth/sia.c, check.c, compat.h, defaults.c, env.c,
18849         find_path.c, interfaces.c, logging.c, parse.c, sudo.c, sudo.h,
18850         testsudoers.c, visudo.c:
18851         Use warn/err and getprogname() throughout. The main exception is
18852         openlog(). Since the admin may be filtering logs based on the
18853         program name in the log files, hard code this to "sudo".
18854         [9f180d015cfa]
18855
18856         * Makefile.in:
18857         Add getprogname.c and err.c
18858         [d411c54a07dc]
18859
18860         * configure:
18861         regen
18862         [6d585d391acc]
18863
18864         * config.h.in, configure.in:
18865         Add checks for getprognam(), __progname and err.h
18866         [bcbccf61d34a]
18867
18868         * emul/err.h:
18869         For systems withour err/warn functions.
18870         [1b33118884d9]
18871
18872         * err.c:
18873         For systems withour err/warn functions.
18874         [26721f6b041f]
18875
18876         * getprogname.c:
18877         For systems neither getprogname() nor __progname; uses Argv[0].
18878         [841cf42af1eb]
18879
18880 2003-04-01  Todd C. Miller  <Todd.Miller@courtesan.com>
18881
18882         * CHANGES:
18883         checkpoint for 1.6.7p1
18884         [5bfdaf441dce]
18885
18886         * sudo.c, testsudoers.c:
18887         fix strlcpy() rval check (innocuous)
18888         [e05ac7e0d1f3]
18889
18890         * check.c:
18891         oflow detection in expand_prompt() was faulty (false positives). The
18892         count was based on strlcat() return value which includes the length
18893         of the entire string.
18894         [086c5a0acb25]
18895
18896 2003-03-31  Todd C. Miller  <Todd.Miller@courtesan.com>
18897
18898         * RUNSON, TODO:
18899         checkpoint for the sudo 1.6.7 release
18900         [096bab4da29a] [SUDO_1_6_7]
18901
18902         * CHANGES:
18903         checkpoint for the sudo 1.6.7 release
18904         [87322187ed78]
18905
18906 2003-03-24  Todd C. Miller  <Todd.Miller@courtesan.com>
18907
18908         * logging.c:
18909         g/c unused variable
18910         [c57cd4a17765]
18911
18912         * configure:
18913         regen
18914         [e7c1f581dfac]
18915
18916         * configure.in:
18917         use man sections 8 and 5 for csops
18918         [87de581bda88]
18919
18920 2003-03-21  Todd C. Miller  <Todd.Miller@courtesan.com>
18921
18922         * configure:
18923         regen
18924         [cb1433a9c7a1]
18925
18926         * configure.in:
18927         Add -lskey or -lopie directly to SUDO_LIBS instead of having
18928         AC_CHECK_LIB() add them to LIBS. Fixes visudo linkage.
18929         [ac5667978939]
18930
18931         * configure:
18932         regen
18933         [638459118a2a]
18934
18935         * configure.in:
18936         Add --with-blibpath for AIX. An alternate libpath may be specified
18937         or
18938         -blibpath support can be disabled. Also change conifgure such that
18939         -blibpath is not specified if no -L libpaths were added to
18940         SUDO_LDFLAGS.
18941         [c7d17b480cad]
18942
18943         * aclocal.m4:
18944         Add --with-blibpath for AIX. An alternate libpath may be specified
18945         or
18946         -blibpath support can be disabled. Also change conifgure such that
18947         -blibpath is not specified if no -L libpaths were added to
18948         SUDO_LDFLAGS.
18949         [37022e991575]
18950
18951         * INSTALL:
18952         Add --with-blibpath for AIX. An alternate libpath may be specified
18953         or
18954         -blibpath support can be disabled. Also change conifgure such that
18955         -blibpath is not specified if no -L libpaths were added to
18956         SUDO_LDFLAGS.
18957         [4b4bbe5bbe1b]
18958
18959         * configure.in:
18960         add AIX blibpath support
18961         [16ba788bf086]
18962
18963         * INSTALL, configure.in:
18964         --with-skey and --with-opie now take an option directory argument
18965         This obsoletes a --with-csops hack (/tools/cs/skey)
18966
18967         Also remove the remaining direct uses of "echo"
18968         [5b4986a90c03]
18969
18970 2003-03-20  Todd C. Miller  <Todd.Miller@courtesan.com>
18971
18972         * configure.in:
18973         Detect KTH Kerberos IV and deal with it. Also make -lroken optional
18974         for KTH Kerberos IV and V.
18975         [119f97b48e18]
18976
18977         * aclocal.m4:
18978         Add SUDO_APPEND_LIBPATH function that add -L/path/to/dir (and
18979         -R/path/to/dir if $with_rpath) to the specified variable.
18980         [e55e49d076ce]
18981
18982         * INSTALL, configure.in:
18983         Add -R/path/to/libs for Solaris and SVR4. There is a new configure
18984         option, --with-rpath to control this behavior.
18985         [d4730c5399ab]
18986
18987         * configure.in:
18988         for kerb4 put libdes after libkrb on the link line
18989         [5c566100eab6]
18990
18991         * auth/kerb4.c:
18992         typo
18993         [6541b72b64a3]
18994
18995         * configure.in:
18996         fix kerberos lib check when a path is specified
18997         [ae833a914c6f]
18998
18999         * logging.c:
19000         Fix boolean thinko in SIGCHLD reaper and call reapchild after
19001         sending mail instead of doing a conditional sudo_waitpid.
19002         [86fa9a35df5a]
19003
19004 2003-03-19  Todd C. Miller  <Todd.Miller@courtesan.com>
19005
19006         * configure:
19007         regen
19008         [e6275cf528ba]
19009
19010         * configure.in:
19011         replace =DIR with [=DIR] where sensible
19012         [c39a59173b38]
19013
19014         * configure.in:
19015         o Use AC_MSG_* instead of "echo" o New Kerberos include/lib
19016         detection based on openssh's configure.in
19017         [5b7a340912df]
19018
19019         * INSTALL:
19020         --with-kerb4 and --with-kerb5 now take an optional argument.
19021         [71ed87fc9c64]
19022
19023 2003-03-16  Todd C. Miller  <Todd.Miller@courtesan.com>
19024
19025         * auth/securid.c:
19026         Kill remaining strcpy(), the programmer's guide says username is 32
19027         bytes.
19028         [bdba70fcd08d]
19029
19030         * auth/kerb4.c:
19031         trat uid_t as unsigned long for printf and use snprintf, not sprintf
19032         [8072f5f8966d]
19033
19034         * auth/rfc1938.c:
19035         use snprintf
19036         [fc0c70c665fe]
19037
19038 2003-03-15  Todd C. Miller  <Todd.Miller@courtesan.com>
19039
19040         * auth/afs.c, auth/aix_auth.c, auth/bsdauth.c, auth/dce.c,
19041         auth/fwtk.c, auth/kerb4.c, auth/kerb5.c, auth/pam.c, auth/passwd.c,
19042         auth/rfc1938.c, auth/sudo_auth.c:
19043         update copyright year
19044         [b0a10ccb1d0e]
19045
19046         * sudo.man.in, sudoers.man.in, visudo.man.in:
19047         update copyright year
19048         [8fce0034eb51]
19049
19050         * LICENSE, Makefile.in, aclocal.m4, alloc.c, check.c, compat.h,
19051         configure.in, env.c, find_path.c, interfaces.c, logging.c, parse.c,
19052         parse.lex, parse.yacc, set_perms.c, sudo.c, sudo.h, sudo.pod,
19053         sudoers.pod, testsudoers.c, version.h, visudo.c, visudo.pod:
19054         update copyright year
19055         [d541e75fe520]
19056
19057         * check.c, env.c, sudo.c:
19058         Cast [ug]ids to unsigned long and printf with %lu
19059         [2ede64d3592b]
19060
19061         * configure:
19062         regen
19063         [c7c3245bdf3e]
19064
19065         * configure.in:
19066         correct error messages for --with-sudoers-{mode,uid,gid}
19067         [77fc15b1c9db]
19068
19069         * alloc.c:
19070         make the malloc(0) error specific to each function to aid tracking
19071         down bugs.
19072         [a58c34374b4b]
19073
19074         * alloc.c:
19075         deal with platforms where size_t is signed and there is no SIZE_MAX
19076         or SIZE_T_MAX
19077         [7192abb4ab4e]
19078
19079         * auth/kerb5.c:
19080         Make this compile w/ Heimdal and fix some gcc warnings.
19081         [f52f026f31c2]
19082
19083         * sudo.c:
19084         Use stat_sudoers macro so --with-stow can work
19085         [c3674735c139]
19086
19087         * INSTALL, config.h.in, configure, configure.in:
19088         Add support for --with-stow based on patches from Robert Uhl
19089         [b274cc1dd52c]
19090
19091         * env.c:
19092         fix indentation
19093         [110d9f1721b1]
19094
19095         * configure.in:
19096         back out rev 1.352
19097         [1eee91c83f11]
19098
19099         * lex.yy.c:
19100         regen
19101         [72fba1c9590b]
19102
19103         * parse.lex:
19104         use strlcpy, not strncpy
19105         [4faccbaeccef]
19106
19107         * set_perms.c:
19108         Fix typo; check pw_uid, not pw_gid after setusercontext() failure.
19109         [33bf0d18fdc1]
19110
19111         * logging.c:
19112         use pid_t
19113         [3e0536993d2c]
19114
19115 2003-03-14  Todd C. Miller  <Todd.Miller@courtesan.com>
19116
19117         * strlcat.c, strlcpy.c:
19118         Make gcc shutup about unused rcsid
19119         [1669a0c74e9e]
19120
19121         * interfaces.c:
19122         Move the n == 0 check for the non-getifaddrs cas
19123         [2460be061b2a]
19124
19125         * auth/rfc1938.c:
19126         skeychallenge() on NetBSD take a size parameter
19127         [05acc2012801]
19128
19129         * configure:
19130         regen
19131         [24bccf4749e8]
19132
19133         * configure.in:
19134         put -ldl after -lpam, not before; fixes static linking on Linux
19135         [7f06b7b2b4d8]
19136
19137         * interfaces.c:
19138         Avoid malloc(0) and fix the loop invariant for the getifaddrs()
19139         case.
19140         [239a55068646]
19141
19142         * sudo.cat, sudoers.cat, visudo.cat:
19143         regen
19144         [4a2eed3981ca]
19145
19146         * sudo.man.in, sudoers.man.in, visudo.man.in:
19147         regen
19148         [2c96ea2cf930]
19149
19150         * Makefile.in:
19151         Preserve copyright notice from .pod file in .man.in file
19152         [519fbd09aebc]
19153
19154         * visudo.pod:
19155         Add sudoers(5) to SEE ALSO
19156         [77ecfe3aedf1]
19157
19158 2003-03-13  Todd C. Miller  <Todd.Miller@courtesan.com>
19159
19160         * lex.yy.c:
19161         regen
19162         [6f5751ce0b74]
19163
19164         * parse.lex:
19165         Don't assume libc can realloc() a NULL string. If malloc/realloc
19166         fails, make sure we just return; yyerror() is not terminal.
19167         [1b8618623708]
19168
19169         * lex.yy.c:
19170         regen
19171         [5d31b46191c6]
19172
19173         * parse.lex:
19174         simplify fill_args a little and use strlcpy for paranoia
19175         [0ea35a55542b]
19176
19177         * sudo.tab.c:
19178         regen
19179         [5a8d508d708b]
19180
19181         * check.c, env.c, find_path.c, parse.c, parse.yacc, sudo.c,
19182         testsudoers.c:
19183         Use strlc{at,py} for paranoia's sake and exit on overflow. In all
19184         cases the strings were either pre-allocated to the correct size of
19185         length checks were done before the copy but a little paranoia can go
19186         a long way.
19187         [e73d28f1d14e]
19188
19189         * sudo.h:
19190         Add strlc{at,py} protos
19191         [748ffc7fc7f4]
19192
19193         * env.c, interfaces.c:
19194         Use erealloc3()
19195         [47f2cb46aba8]
19196
19197         * configure:
19198         regen
19199         [e7e2fb79f935]
19200
19201         * alloc.c:
19202         Oflow test of nmemb > SIZE_MAX / size is fine (don't need >=). Use
19203         memcpy() instead of strcpy() in estrdup() so this is strcpy()-free.
19204         [7e0fa4d6fc1d]
19205
19206         * sudo.c:
19207         snprintf() a uid as %lu, not %ld to match the MAX_UID_T_LEN test in
19208         configure.
19209         [09ea4d3959e9]
19210
19211         * aclocal.m4:
19212         In MAX_UID_T_LEN test cast uid_t to unsigned long, just unsigned.
19213         [31b4fdfdb8bf]
19214
19215 2003-03-12  Todd C. Miller  <Todd.Miller@courtesan.com>
19216
19217         * sudo.c:
19218         Use snprintf() for paranoia
19219         [a2659ceb46de]
19220
19221         * parse.yacc:
19222         Use emalloc2 and erealloc3
19223         [90a069842401]
19224
19225         * Makefile.in:
19226         strlc{at,py} for those w/o it
19227         [bac82dc916ee]
19228
19229         * strlcat.c, strlcpy.c:
19230         stlc{at,py} for those w/o it.
19231         [ce7254f5db09]
19232
19233         * config.h.in, configure, configure.in:
19234         Add stlc{at,py} for those w/o it.
19235         [00f08219657a]
19236
19237         * alloc.c, sudo.h:
19238         Add erealloc3(), a realloc() version of emalloc2().
19239         [c96eaf08bbed]
19240
19241         * interfaces.c, sudo.c:
19242         Use emalloc2() to allocate N things of a certain size.
19243         [1e0aba365555]
19244
19245         * alloc.c, sudo.h:
19246         Add emalloc2() -- like calloc() but w/o the bzero and with
19247         error/oflow checking.
19248         [292150bc4153]
19249
19250         * alloc.c:
19251         Error out on malloc(0); suggested by theo
19252         [995279e81326]
19253
19254 2003-03-10  Todd C. Miller  <Todd.Miller@courtesan.com>
19255
19256         * configure, configure.in:
19257         fix a typo; David Krause
19258         [f161213a17ab]
19259
19260 2003-03-07  Todd C. Miller  <Todd.Miller@courtesan.com>
19261
19262         * sudo.pod:
19263         fix typo
19264         [3ae5ad9a351a]
19265
19266 2003-03-04  Todd C. Miller  <Todd.Miller@courtesan.com>
19267
19268         * env.c:
19269         Remove DYLD_ from the environment for MacOS X; from bbraun
19270         [38caad5a3935]
19271
19272 2003-03-01  Todd C. Miller  <Todd.Miller@courtesan.com>
19273
19274         * config.h.in, configure.in:
19275         not not; Anil Madhavapeddy
19276         [d4f4f0bfc66b]
19277
19278 2003-01-23  Todd C. Miller  <Todd.Miller@courtesan.com>
19279
19280         * sudo.pod, sudoers.pod, visudo.pod:
19281         typos; jmc@openbsd.org
19282         [868c0f09bf9e]
19283
19284 2003-01-20  Todd C. Miller  <Todd.Miller@courtesan.com>
19285
19286         * parse.yacc:
19287         Add some missing ';' rule terminators that bison warns about.
19288         [535b0b8dcce5]
19289
19290         * config.sub:
19291         fix typo I introduced in last merge
19292         [81db4e4f43fe]
19293
19294         * configure:
19295         regenerate with autoconf 2.57
19296         [ca0c1e9564f8]
19297
19298         * config.h.in:
19299         Add missing "$HOME"
19300         [209186197ad1]
19301
19302         * configure.in:
19303         Add some more square backets to make autoconf 2.57 happy
19304         [b5639c14faf7]
19305
19306         * config.sub, mkinstalldirs:
19307         Updates from autoconf-2.57
19308         [36be35eb331b]
19309
19310         * config.guess:
19311         Updates from autoconf-2.57
19312         [ea0f8ca622af]
19313
19314 2003-01-17  Todd C. Miller  <Todd.Miller@courtesan.com>
19315
19316         * sudo.tab.h:
19317         regen
19318         [13a65a421567]
19319
19320         * lex.yy.c, sudo.tab.c:
19321         regen
19322         [0b529db7cb6d]
19323
19324         * parse.lex, parse.yacc, sudoers.pod:
19325         Add support for Defaults>RunasUser
19326         [20d726373175]
19327
19328 2003-01-07  Todd C. Miller  <Todd.Miller@courtesan.com>
19329
19330         * visudo.c:
19331         fclose() yyin after each yyparse() is done and use fopen() instead
19332         of using freopen().
19333         [587f8a2df857]
19334
19335         * parse.lex:
19336         Better fix for sudoers files w/o a newline before EOF. It looks
19337         like the issue is that yyrestart() does not reset the start
19338         condition to INITIAL which is an issue since we parse sudoers
19339         multiple times.
19340         [920f8326968a]
19341
19342 2003-01-06  Todd C. Miller  <Todd.Miller@courtesan.com>
19343
19344         * parse.lex:
19345         Work around what appears to be a flex bug when dealing with files
19346         that lack a final newline before EOF. This adds a rule to match EOF
19347         in the non-initial states which resets the state to INITIAL and
19348         throws an error.
19349         [b94943bb1f81]
19350
19351         * visudo.c:
19352         o The parser needs sudoers to end with a newline but some editors
19353         (emacs) may not add one. Check for a missing newline at EOF and
19354         add one if needed. o Set quiet flag during initial sudoers parse (to
19355         get options) o Move yyrestart() call and always use freopen() to
19356         open yyin after initial sudoers parse.
19357         [12d12f9b07aa]
19358
19359 2002-12-15  Todd C. Miller  <Todd.Miller@courtesan.com>
19360
19361         * set_perms.c:
19362         Fix pasto/thinko in setresgid()/setregid() usage. Want to set
19363         effective gid, not real gid, when reading sudoers.
19364         [c7d18b810fcd]
19365
19366         * set_perms.c:
19367         don't compile set_perms_posix if we have setreuid or setresuid
19368         [b9cea7a81a29]
19369
19370 2002-12-14  Todd C. Miller  <Todd.Miller@courtesan.com>
19371
19372         * sudo.pod, sudoers.pod:
19373         document new prompt escapes
19374         [2f088076b640]
19375
19376         * check.c:
19377         Add %U and %H escapes and redo prompt rewriting. "%%" now gets
19378         collapsed to "%" as was originally intended. This also gets rid of
19379         lastchar (does lookahead instead of lookback) which should simplify
19380         the logic slightly.
19381         [4b707b77b3c7]
19382
19383 2002-12-13  Todd C. Miller  <Todd.Miller@courtesan.com>
19384
19385         * tgetpass.c:
19386         Write the prompt *after* turning off echo to avoid some password
19387         characters being echoed on heavily-loaded machines with fast
19388         typists.
19389         [d38c57775915]
19390
19391         * config.sub:
19392         Add support for mipseb; wiz@danbala.tuwien.ac.at
19393         [cfdac87ed5c8]
19394
19395         * configure.in:
19396         Fix IRIX fallout from name changes in man dir/sect Makefile
19397         variables. Patch from erici AT motown DOT cc DOT utexas DOT edu
19398         [9a7618755c23]
19399
19400         * auth/pam.c:
19401         Keep a local copy of tgetpass_flags so we don't add in TGP_ECHO to
19402         the global copy. Problem noted by Peter Pentchev.
19403         [d0a3e189cb06]
19404
19405 2002-11-28  Todd C. Miller  <Todd.Miller@courtesan.com>
19406
19407         * sudo.tab.c:
19408         regen
19409         [23b931359087]
19410
19411         * parse.yacc:
19412         Add missing yyerror() calls; YYERROR does not seem to call this for
19413         us.
19414         [0be7aeb3ac57]
19415
19416 2002-11-26  Todd C. Miller  <Todd.Miller@courtesan.com>
19417
19418         * sudo.c:
19419         fix typo in comment; Pedro Bastos
19420         [d7406c460e99]
19421
19422 2002-11-22  Todd C. Miller  <Todd.Miller@courtesan.com>
19423
19424         * INSTALL:
19425         document --disable-setresuid
19426         [fbd03d03a027]
19427
19428         * auth/aix_auth.c, auth/bsdauth.c, auth/fwtk.c, auth/pam.c,
19429         auth/sudo_auth.c:
19430         Sprinkle some volatile qualifiers to prevent over-enthusiastic
19431         optimizers from removing memset() calls.
19432         [5370ac0e6129]
19433
19434         * logging.c, parse.yacc:
19435         minor sign fixes pointed out by gcc -Wsign-compare
19436         [db872438337f]
19437
19438         * set_perms.c, sudo.c, sudo.h:
19439         Revamp set_perms. We now use a version based on setresuid() or
19440         setreuid() when possible since that allows us to support the
19441         stay_setuid option and we always know exactly what the semantics
19442         will be (various Linux kernels have broken POSIX saved uid support).
19443         [523bc212396c]
19444
19445         * config.h.in, configure:
19446         regen from configure.in
19447         [351877ea2624]
19448
19449         * configure.in:
19450         Add checks for setresuid() and a way to disable using it
19451         [a5b21653d169]
19452
19453         * compat.h:
19454         No long need to emulate set*[ug]id() via setres[ug]id() or
19455         setre[ug]id(). The new set_perms stuff only uses things it knows are
19456         there.
19457         [47884bd5d1d9]
19458
19459         * sudo.c:
19460         Before exec, restore state of signal handlers to be the same as when
19461         we were initialy invoked instead of just reseting to SIG_DFL. Fixes
19462         a problem when using sudo with nohup. Based on a patch from Paul
19463         Markham.
19464         [f8f5a1484faa]
19465
19466         * sudo.c:
19467         o timestamp_uid should be uid_t, not int o clarify error message
19468         when sudo is run by root and no_root_sudo is set
19469         [19dda0734264]
19470
19471 2002-09-19  Todd C. Miller  <Todd.Miller@courtesan.com>
19472
19473         * README:
19474         update ftp link for bison
19475         [98bc191016e3]
19476
19477 2002-07-20  Todd C. Miller  <Todd.Miller@courtesan.com>
19478
19479         * set_perms.c:
19480         Error out if setusercontext() fails and the runas user is not root.
19481         [089f9ade4686]
19482
19483 2002-05-20  Todd C. Miller  <Todd.Miller@courtesan.com>
19484
19485         * auth/securid5.c:
19486         Fix rcsid
19487         [07e9e85dcc2f]
19488
19489         * configure.in:
19490         Fix SecurID API test
19491         [5ec201f454a5]
19492
19493 2002-05-17  Todd C. Miller  <Todd.Miller@courtesan.com>
19494
19495         * env.c:
19496         typo in comment
19497         [9d385c9ac533]
19498
19499         * configure.in:
19500         securid5 stuff needs pthreads. Just adding -lpthread is suboptimal
19501         but I don't see a better way at the moment.
19502         [f89e55cbb313]
19503
19504         * Makefile.in, auth/securid5.c:
19505         SecurID API version 5 support from Michael Stroucken
19506         [68500ac7e531]
19507
19508         * configure.in:
19509         Add check for SecurID 5.0 API
19510         [1ee242e6de6b]
19511
19512 2002-05-08  Todd C. Miller  <Todd.Miller@courtesan.com>
19513
19514         * strerror.c:
19515         We actually do still need config.h to get the 'const' definition for
19516         K&R C.
19517         [d9c982032d85]
19518
19519 2002-05-05  Todd C. Miller  <Todd.Miller@courtesan.com>
19520
19521         * configure:
19522         regen with autoconf 2.5.3
19523         [c71fc086eef5]
19524
19525         * configure.in:
19526         Don't set sysconfdir to '/etc' if the user has specified a --prefix.
19527         [d90da1efafd9]
19528
19529         * configure.in:
19530         Some fixes for autoconf 2.53 from Robert Uhl o don't AC_SUBST
19531         LIBOBJS o force a 4th arg for AC_CHECK_HEADER() to workaround a bug
19532         [dd67afefa90d]
19533
19534         * env.c, sudo.c, sudo.h:
19535         No need for dump_badenv() now that dump_defaults() knows how to dump
19536         lists.
19537         [6bcda468501d]
19538
19539         * BUGS, INSTALL, INSTALL.binary, Makefile.in, README, configure.in,
19540         version.h:
19541         ++version
19542         [44e3b8f95f0b]
19543
19544         * sudoers.pod:
19545         document timestampowner
19546         [37ebd69e9dd1]
19547
19548         * check.c:
19549         Don't call set_perms() when doing timestamp stuff unless
19550         timestamp_uid != 0.
19551         [63a63d41d18c]
19552
19553         * auth/sudo_auth.c, check.c, logging.c, parse.c, set_perms.c, sudo.c,
19554         sudo.h, testsudoers.c:
19555         g/c second arg to set_perms--it is no longer used
19556         [7ac4ce50c612]
19557
19558 2002-05-03  Todd C. Miller  <Todd.Miller@courtesan.com>
19559
19560         * check.c, set_perms.c, sudo.c, sudo.h:
19561         Add support for non-root timestamp dirs. This allows the timestamp
19562         dir to be shared via NFS (though this is not recommended).
19563         [faa83dd2b7fb]
19564
19565         * def_data.c, def_data.h, def_data.in:
19566         Add timestampowner, "Owner of the authentication timestamp dir"
19567         [d47640d4c86a]
19568
19569 2002-05-02  Todd C. Miller  <Todd.Miller@courtesan.com>
19570
19571         * env.c:
19572         Don't try to pre-compute the size of the new envp, just allocate
19573         space up front and realloc as needed. Changes to the new env
19574         pointer must all be made through insert_env() which now keeps track
19575         of spaced used and allocates as needed.
19576         [39bc934a9f2c]
19577
19578 2002-04-26  Todd C. Miller  <Todd.Miller@courtesan.com>
19579
19580         * configure:
19581         regen
19582         [0e12c09bb790]
19583
19584         * configure.in:
19585         Fix two typo/pastos; from jrj@purdue.edu
19586         [b718a4bf1181]
19587
19588 2002-04-25  Todd C. Miller  <Todd.Miller@courtesan.com>
19589
19590         * INSTALL.binary, README:
19591         ++version
19592         [a1e33027278c] [SUDO_1_6_6]
19593
19594         * configure, sudo.cat, sudo.man.in, sudoers.cat, sudoers.man.in,
19595         visudo.cat, visudo.man.in:
19596         regen
19597         [19eb2be283ef]
19598
19599         * CHANGES, RUNSON, TODO:
19600         Sync with 1.6.6
19601         [2ff9a9087f63]
19602
19603         * check.c:
19604         The the loop used to expand %h and %u, the lastchar variable was not
19605         being initialized. This means that if the last char in the prompt
19606         is '%' and the first char is 'h' or 'u' a extra copy of the host or
19607         user name would be copied, for which space had not been allocated.
19608         [b2e27197857d]
19609
19610 2002-04-18  Todd C. Miller  <Todd.Miller@courtesan.com>
19611
19612         * BUGS, INSTALL, Makefile.in, configure.in, version.h:
19613         crank version to 1.6.6
19614         [cfd08689e597]
19615
19616         * auth/afs.c:
19617         #undef VOID to get rid of an AFS warning
19618         [b40760564dc1]
19619
19620         * env.c:
19621         Use easprintf instead of emalloc + sprintf for some things.
19622         [e7bfe2e69a03]
19623
19624 2002-03-16  Todd C. Miller  <Todd.Miller@courtesan.com>
19625
19626         * lex.yy.c, sudo.tab.c:
19627         regen
19628         [35327104383d]
19629
19630         * parse.c, parse.lex, parse.yacc, testsudoers.c:
19631         Remove Chris Jepeway's email address so people don't bug him ;-)
19632         [c03410747a69]
19633
19634 2002-03-12  Todd C. Miller  <Todd.Miller@courtesan.com>
19635
19636         * sudo.c:
19637         Move endpwent() to be after set_perms(PERM_RUNAS, ...) and also call
19638         endgrent() at the same time.
19639         [28b6097d5d1a]
19640
19641 2002-02-22  Todd C. Miller  <Todd.Miller@courtesan.com>
19642
19643         * INSTALL:
19644         Make it clear which configure options take arguments.
19645         [38529e7efad0]
19646
19647 2002-01-25  Todd C. Miller  <Todd.Miller@courtesan.com>
19648
19649         * compat.h:
19650         HP-UX 9.x has RLIMIT_* but no RLIM_INFINITY. If there is no
19651         RLIM_INFINITY, just pretend it is -1. This works because we only
19652         check for RLIM_INFINITY and do not set anything to that value.
19653         [53173d34e6eb]
19654
19655 2002-01-22  Todd C. Miller  <Todd.Miller@courtesan.com>
19656
19657         * auth/pam.c:
19658         Zero and free allocated memory when there is a conversation error.
19659         [e342133db579]
19660
19661         * auth/bsdauth.c:
19662         Use sigaction() not signal()
19663         [126c2790561f]
19664
19665         * INSTALL:
19666         Mention that some linux kernels have broken POSIX saved ID support
19667         [571ef1a893d3]
19668
19669         * CHANGES:
19670         checkpoint for 1.6.5p2
19671         [9e9e456f7f43]
19672
19673         * configure:
19674         regen
19675         [d53703a46708]
19676
19677         * configure.in:
19678         Add --disable-setreuid flag
19679         [3b9f2679cb55]
19680
19681         * INSTALL:
19682         Document new --disable-setreuid option and change description for
19683         --disable-saved-ids to match new error message.
19684         [14fd3e5f60a5]
19685
19686         * set_perms.c:
19687         fatal() now takes an argument that determines whether or not to call
19688         perror().
19689         [d826b25e62ff]
19690
19691         * TROUBLESHOOTING:
19692         Update for new error messages from set_perms()
19693         [78007c3f76a9]
19694
19695         * PORTING:
19696         Update for new error messages from set_perms()
19697         [60c545a6bcff]
19698
19699 2002-01-21  Todd C. Miller  <Todd.Miller@courtesan.com>
19700
19701         * auth/pam.c:
19702         Make this compile w/o warnings
19703         [b90843a29af5]
19704
19705         * auth/pam.c:
19706         Mention that we can't use pam_acct_mgmt()
19707         [1dfc5a6e0479]
19708
19709         * auth/aix_auth.c, auth/bsdauth.c, auth/fwtk.c, auth/pam.c:
19710         The user's password was not zeroed after use when AIX
19711         authentication, BSD authentication, FWTK or PAM was in use.
19712         [b18fff30b1e7]
19713
19714 2002-01-20  Todd C. Miller  <Todd.Miller@courtesan.com>
19715
19716         * auth/pam.c:
19717         Avoid giving PAM a NULL password response, use the empty string
19718         instead. This avoids a log warning when the user hits ^C at the
19719         password prompt when PAM is in use.
19720         [c3315805e4e4]
19721
19722         * auth/pam.c:
19723         Don't check the return value of pam_setcred(). In Linux-PAM 0.75
19724         pam_setcred() returns the last saved return code, not the return
19725         code for the setcred module. Because we haven't called
19726         pam_authenticate(), this is not set and so pam_setcred() returns
19727         PAM_PERM_DENIED.
19728         [73db145fa179]
19729
19730         * Makefile.in:
19731         Don't need a '/' between $(DESTDIR) and a directory.
19732         [0901ca618176]
19733
19734         * Makefile.binary:
19735         Don't need a '/' between $(DESTDIR) and a directory.
19736         [cd7eb6098b87]
19737
19738 2002-01-18  Todd C. Miller  <Todd.Miller@courtesan.com>
19739
19740         * configure:
19741         regen
19742         [41b12c039282]
19743
19744         * configure.in:
19745         o BSDi also has a bogus setreuid() o Old FreeBSD has a bogus
19746         setreuid() o new NetBSD has a real setreuid() o add check for
19747         freeifaddrs() if getifaddrs() exists.
19748         [a82ee3b01733]
19749
19750         * config.h.in, interfaces.c:
19751         Older BSDi releases lack freeifaddrs() so add a test for that and if
19752         it is not present just use free().
19753         [6270671ea9d5]
19754
19755 2002-01-17  Todd C. Miller  <Todd.Miller@courtesan.com>
19756
19757         * CHANGES, RUNSON:
19758         Checkpoint for 1.6.5p1
19759         [26134ecf9b36]
19760
19761         * auth/passwd.c:
19762         Return AUTH_FAILURE in passwd_init() if skeyaccess() denies access
19763         to normal passwords, not AUTH_FATAL (which just causes an exit).
19764         [785e0f4bc0e2]
19765
19766         * visudo.c:
19767         Don't use memory after it has been freed.
19768         [c60492739fdb]
19769
19770         * auth/passwd.c:
19771         skeyaccess() wants a struct passwd * not a char *; Patch from
19772         Phillip E. Lobbes
19773         [65a1d3806fcd] [SUDO_1_6_5]
19774
19775         * BUGS:
19776         ++version
19777         [b2e1825e692e]
19778
19779         * CHANGES, RUNSON, TODO:
19780         checkpoint for sudo 1.6.5
19781         [d730945622e7]
19782
19783 2002-01-16  Todd C. Miller  <Todd.Miller@courtesan.com>
19784
19785         * configure:
19786         regen
19787         [49744c403ac9]
19788
19789         * INSTALL, INSTALL.binary, Makefile.in, README, configure.in:
19790         version 1.6.5
19791         [ec30a5f7fc45]
19792
19793         * sudo.cat, sudo.man.in, sudoers.cat, sudoers.man.in, visudo.cat,
19794         visudo.man.in:
19795         sudo version 1.6.5
19796         [458a3bed535d]
19797
19798         * logging.c:
19799         o when invoking the mailer as root use a hard-coded environment that
19800         doesn't include any info from the user's environment. Basically
19801         paranoia.
19802
19803         o Add support for the NO_ROOT_MAILER compile-time option and run the
19804         mailer as the user and not root if NO_ROOT_MAILER is defined.
19805         [4df351ec92ce]
19806
19807         * set_perms.c, sudo.h:
19808         Bring back PERM_FULL_USER
19809         [edb6039bb284]
19810
19811         * configure:
19812         regen
19813         [3eb2943afa03]
19814
19815         * version.h:
19816         version 1.6.5
19817         [044fc9a0c72b]
19818
19819         * INSTALL, config.h.in, configure.in:
19820         Add --disable-root-mailer option to run the mailer as the user and
19821         not root.
19822         [e9f805397963]
19823
19824         * CHANGES:
19825         checkpoint for 1.6.4p2
19826         [b58aae5aa98a]
19827
19828         * PORTING:
19829         Mention the "seteuid(0): Operation not permitted" problem here too
19830         just for good measure.
19831         [90135b37a691]
19832
19833 2002-01-15  Todd C. Miller  <Todd.Miller@courtesan.com>
19834
19835         * env.c, getspwuid.c, sudo.c:
19836         The SHELL environment variable was preserved from the user's
19837         environment instead of being reset based on the passwd database when
19838         the "env_reset" option was used. Now it is reset as it should be.
19839         [300066ef3c71]
19840
19841         * configure:
19842         regen
19843         [a47d779e6552]
19844
19845         * INSTALL, TROUBLESHOOTING, config.h.in, configure.in, set_perms.c,
19846         sudo.c:
19847         Add a configure option to turn off use of POSIX saved IDs
19848         [fb18cc8e94d0]
19849
19850         * configure:
19851         regen
19852         [d4f2f20025b6]
19853
19854         * configure.in:
19855         add --with-efence option
19856         [45c4f33a8e88]
19857
19858         * sudo.c:
19859         Only OR in MODE_RESET_HOME if MODE_RUN is set. Fixes a problem where
19860         "sudo -l" would not work if always_set_home was set.
19861         [c3a6de6c4800]
19862
19863         * lex.yy.c:
19864         regen
19865         [417424452998]
19866
19867         * parse.lex:
19868         Quoted commas were not being treated correctly in command line
19869         arguments.
19870         [753415541b37]
19871
19872         * sudo.c:
19873         o Move the call to rebuild_env() until after MODE_RESET_HOME is set.
19874         Otherwise, the set_home option has no effect.
19875
19876         o Fix use of freed memory when the "fqdn" flag is set. This was
19877         introduced by the fix for the "segv when gethostbynam() fails" bug.
19878         Also, we no longer call set_fqdn() if the "fqdn" flag is not set so
19879         there is no need to check the "fqdn" flag in set_fqdn() itself.
19880         [4b6a4245c04e]
19881
19882         * env.c:
19883         Add 'continue' statements to optimize the switch statement. From
19884         Solar.
19885         [a82c76975ae5]
19886
19887 2002-01-13  Todd C. Miller  <Todd.Miller@courtesan.com>
19888
19889         * sudoers.cat, sudoers.man.in:
19890         Regen from new sudoers.pod
19891         [6ecc07b3d0e1] [SUDO_1_6_4]
19892
19893         * sudoers.pod:
19894         Add caveat about stay_setuid flag
19895         [9d228a7bea1b]
19896
19897         * sudo.c:
19898         If set_perms == set_perms_posix and the stay_setuid flag is not set,
19899         set all uids to 0 and use set_perms_fallback().
19900         [c4e54d1ec86f]
19901
19902         * set_perms.c, sudo.h:
19903         Remove PERM_FULL_USER (which is no longer used) and add
19904         PERM_FULL_ROOT (used when exec'ing the mailer).
19905         [15406c522ea2]
19906
19907         * logging.c:
19908         Use set_perms(PERM_FULL_ROOT, 0) before exec'ing the mailer since we
19909         never want to run the mailer setuid.
19910         [2294853e0666]
19911
19912 2002-01-12  Todd C. Miller  <Todd.Miller@courtesan.com>
19913
19914         * sudo.cat, sudo.man.in, sudo.pod, visudo.cat, visudo.man.in,
19915         visudo.pod:
19916         Use sudo.ws instead of courtesan.com in URLs
19917         [55204002a308]
19918
19919         * Makefile.binary, Makefile.in:
19920         Fix mansect substitution
19921         [b7b5cbc3aa91]
19922
19923         * Makefile.in:
19924         Substitute man sections in Makefile.binary
19925         [040deb785e56]
19926
19927         * Makefile.binary:
19928         Sync install targets with Makefile.in and substitute in man
19929         sections.
19930         [77882a275281]
19931
19932         * INSTALL, INSTALL.binary:
19933         version is 1.6.4
19934         [0f87aabbcb70]
19935
19936         * Makefile.in:
19937         Repair bindist target
19938         [8d43bfe7e2d1]
19939
19940         * CHANGES:
19941         sync for 1.6.4
19942         [13ca3d4a0a72]
19943
19944 2002-01-10  Todd C. Miller  <Todd.Miller@courtesan.com>
19945
19946         * install-sh:
19947         Fix case where neither whoami nor id are found
19948         [424dd270bc47]
19949
19950 2002-01-09  Todd C. Miller  <Todd.Miller@courtesan.com>
19951
19952         * install-sh:
19953         If neither whoami nor id exists, just assume we are root.
19954         [2d2644e42c53]
19955
19956         * alloc.c:
19957         Add explicit cast to (VOID *) on malloc/realloc. Seems to be needed
19958         on AIX which for some reason isn't pulling in the malloc prototype.
19959         [231440d2ee3b]
19960
19961 2002-01-08  Todd C. Miller  <Todd.Miller@courtesan.com>
19962
19963         * Makefile.in, aclocal.m4, compat.h, parse.c, sudo.c:
19964         (c) 2002
19965         [700e3b41a68e]
19966
19967         * CHANGES:
19968         checkpoint
19969         [33e604bd8d5b]
19970
19971         * sudo.c:
19972         Defer assigning new environment until right before the exec.
19973         [f13c49e75c1c]
19974
19975         * parse.c:
19976         kill extra blank line
19977         [12ef22e9dae3]
19978
19979 2002-01-07  Todd C. Miller  <Todd.Miller@courtesan.com>
19980
19981         * configure:
19982         regen
19983         [a6cd2d788f74]
19984
19985         * configure.in:
19986         Use -O not -O2 for m88k-motorola-sysv* since motorola gcc-derived
19987         compiler doesn't recognise -O2.
19988         [5234aa543692]
19989
19990         * HISTORY:
19991         Clarify origins of Root Group sudo a bit based on info from
19992         billp@rootgroup.com
19993         [4deef01c4208]
19994
19995 2002-01-03  Todd C. Miller  <Todd.Miller@courtesan.com>
19996
19997         * LICENSE:
19998         2002
19999         [6c8e089dbd1a]
20000
20001         * CHANGES:
20002         checkpoint for 1.6.4rc1
20003         [3349eb87a49f]
20004
20005 2002-01-02  Todd C. Miller  <Todd.Miller@courtesan.com>
20006
20007         * config.h.in:
20008         now generated via autoheader
20009         [84657d303cb9]
20010
20011         * configure:
20012         regen
20013         [207bfa6a13f6]
20014
20015         * compat.h:
20016         Move in some stuff that was previously in config.h.
20017         [e576d8b6480f]
20018
20019         * aclocal.m4, configure.in:
20020         Add info for autoheader.
20021         [0549cd5da27c]
20022
20023 2002-01-01  Todd C. Miller  <Todd.Miller@courtesan.com>
20024
20025         * Makefile.in:
20026         o Add DESTDIR support o Use -M, -O, and -G instead of -m, -o, and
20027         -g to facilitate non-root installs
20028         [619216038f56]
20029
20030         * install-sh:
20031         Add -M option (like -m but only for root) If we can't find "whoami",
20032         use "id" w/ some sed.
20033         [b39121c8b792]
20034
20035         * configure:
20036         regen
20037         [b39b93ff9804]
20038
20039         * configure.in:
20040         allow user to always override mansectsu and mansectform
20041         [0fca5e63bd90]
20042
20043 2001-12-31  Todd C. Miller  <Todd.Miller@courtesan.com>
20044
20045         * mkinstalldirs:
20046         update from autoconf 2.52
20047         [07bd75a508c3]
20048
20049         * config.guess, config.sub:
20050         Update from autoconf 2.52
20051         [857b90fe31b7]
20052
20053         * configure:
20054         regen with autoconf 2.52
20055         [08e7d1ea2aeb]
20056
20057         * configure.in:
20058         o Call AC_PROG_CC_STDC to find out how to run the compiler in ANSI
20059         mode o Remove compiler-specific checks for HP-UX now that we use
20060         AC_PROG_CC_STDC
20061         [d433a70b6208]
20062
20063         * RUNSON:
20064         Checkpoint
20065         [babf6d2235d1]
20066
20067         * auth/pam.c:
20068         o Add pam_prep_user function to call pam_setcred() for the target
20069         user; on Linux this often sets resource limits. o When calling
20070         pam_end(), try to convert the auth->result to a PAM_FOO value.
20071         This is a hack--we really need to stash the last PAM_FOO value
20072         received and use that instead.
20073         [6ad6f340dd2a]
20074
20075         * set_perms.c, sudo.h:
20076         o Add pam_prep_user function to call pam_setcred() for the target
20077         user; on Linux this often sets resource limits.
20078         [67795421ac82]
20079
20080         * env.c:
20081         Fix off by one error in number of bytes allocated via malloc (does
20082         not affected any released version of sudo).
20083         [5f5915360111]
20084
20085 2001-12-30  Todd C. Miller  <Todd.Miller@courtesan.com>
20086
20087         * lex.yy.c:
20088         regen
20089         [8208c0277775]
20090
20091         * parse.lex:
20092         Allow '@', '(', ')', ':' in arguments to a defaults variable w/o
20093         requiring that they be quoted.
20094         [ae59bc8f68dd]
20095
20096         * sudoers.cat, sudoers.man.in, sudoers.pod:
20097         Mention that no double quotes are needed when
20098         adding/deleting/assigning a single value to a list.
20099         [25efc940a1f0]
20100
20101         * Makefile.in:
20102         Don't rely on mkdefaults being executable, call perl explicitly.
20103         [6edc97ba5f1d]
20104
20105         * sudo.tab.c:
20106         regen
20107         [49130b2e7e4d]
20108
20109         * parse.yacc:
20110         Remove some XXX that are no longer relevant.
20111         [d460ac0d3767]
20112
20113         * defaults.c:
20114         o Roll our own loop instead of using strpbrk() for better
20115         grokability o When adding to a list we must malloc() and use
20116         memcpy(), not strdup() since we must only copy len bytes from str.
20117         [649bef08e1f0]
20118
20119 2001-12-21  Todd C. Miller  <Todd.Miller@courtesan.com>
20120
20121         * sudo.tab.c:
20122         regen
20123         [f0bbf2c38c0e]
20124
20125         * parse.yacc:
20126         typo in comment
20127         [2563711ff593]
20128
20129 2001-12-19  Todd C. Miller  <Todd.Miller@courtesan.com>
20130
20131         * CHANGES:
20132         checkpoint
20133         [a6d8a29fb30e]
20134
20135         * configure:
20136         regen
20137         [bdfcaaf3bd13]
20138
20139         * configure.in:
20140         avoid the -g flag unless --with-devel was specified
20141         [a976707bef30]
20142
20143         * Makefile.in:
20144         mkdefaults, def_data.in and sigaction.c were missing from the
20145         tarball
20146         [6917ffbaa412]
20147
20148         * Makefile.in:
20149         def_data.c was missing
20150         [87c78b11453d]
20151
20152 2001-12-18  Todd C. Miller  <Todd.Miller@courtesan.com>
20153
20154         * env.c:
20155         Fix setting of $USER and $LOGNAME in the non-reset_env case. Also
20156         allow HOME, SHELL, LOGNAME, and USER to be specified in keep_env
20157         [fc8698e6a45e]
20158
20159         * TODO:
20160         Another TODO item
20161         [6f251d6cd466]
20162
20163         * sudoers:
20164         Add comment for Default section so folks know where it should go.
20165         [7edba626f392]
20166
20167 2001-12-17  Todd C. Miller  <Todd.Miller@courtesan.com>
20168
20169         * tgetpass.c:
20170         Use TCSETAF, not TCSETA to set terminal in termio case
20171         [fbd172f6c5d3]
20172
20173         * sudoers.cat, sudoers.man.in:
20174         regen from sudoers.pod
20175         [64edd2de816e]
20176
20177         * sudoers.pod:
20178         o Typo, Runas_User_List should be Runas_List o a User_List can not
20179         contain a uid o mention that the Defaults section should come after
20180         Alias definitions but before the user specifications
20181         [54070ba2092b]
20182
20183 2001-12-15  Todd C. Miller  <Todd.Miller@courtesan.com>
20184
20185         * sudoers.cat, sudoers.man.in:
20186         regen
20187         [e62d1d97693c]
20188
20189         * sudoers.pod:
20190         Fix listpw and verifypw sections, they were not being formatted
20191         properly.
20192         [123868c2f3e9]
20193
20194         * sudoers.cat, sudoers.man.in:
20195         regen
20196         [f94841f8b374]
20197
20198         * sudoers.pod:
20199         fix typos
20200         [f278f1c1184e]
20201
20202         * configure:
20203         regen
20204         [d2270049ba9f]
20205
20206         * config.h.in, configure.in:
20207         use AC_SYS_POSIX_TERMIOS instead of rolling our own
20208         [c1a13f1354b9]
20209
20210         * README:
20211         Reference sudo.ws not courtesan.com
20212         [ca13be67ebd7]
20213
20214         * PORTING:
20215         Add notes on shadow passwords
20216         [aa13863f2314]
20217
20218         * BUGS:
20219         In list mode (sudo -l), characters escaped with a backslash are
20220         shown verbatim with the backslash.
20221         [1a75a2858be2]
20222
20223         * sudoers:
20224         Add simple examples from OpenBSD (Marc Espie)
20225         [3ae9a9ae4125]
20226
20227         * tgetpass.c:
20228         Catch SIGTTIN and SIGTTOU too and treat them like SIGTSTP.
20229         [f8817699ee10]
20230
20231         * CHANGES:
20232         minor prettyification
20233         [f523587929b9]
20234
20235         * CHANGES:
20236         Updated change log
20237         [39d9010ee7a8]
20238
20239         * testsudoers.c:
20240         Fix CIDR handling here too.
20241         [c91db8344c32]
20242
20243         * auth/pam.c:
20244         Apparently a NULL response is OK
20245         [83bae61078d9]
20246
20247         * TODO:
20248         Checkpoint for upcoming beta release
20249         [efb95c09df2a]
20250
20251         * TROUBLESHOOTING:
20252         Many people believe that adding a runas spec should obviate the need
20253         for the -u flag. It does not.
20254         [c698bad85b0e]
20255
20256         * RUNSON:
20257         checkpoint update for upcoming 1.6.4 beta
20258         [009e465a0a45]
20259
20260         * config.h.in:
20261         o Add HAVE_STDLIB_H and HAVE_MEMORY_H o Define HAVE_STRINGS_H even
20262         if HAVE_STRING_H is defined -- this is safe now
20263         [d27c035f4e14]
20264
20265         * PORTING:
20266         Add signals section
20267         [2d24c13cb3c8]
20268
20269         * configure:
20270         regen
20271         [2b80a939e2ed]
20272
20273         * configure.in:
20274         Fix check for sigaction_t
20275         [6fa41c89ab20]
20276
20277         * sudo.c:
20278         XXX - should call find_path() as runas user, not root. Can't do
20279         that until the parser changes though.
20280         [f0b4f85651bd]
20281
20282         * sudo.c:
20283         If find_path() fails as root, try again as the invoking user (useful
20284         for NFS). Idea from Chip Capelik.
20285         [e03fa7872692]
20286
20287         * sudo.cat, sudo.man.in, sudoers.cat, sudoers.man.in:
20288         Regenerate after pod file changes
20289         [48e4bd75ec21]
20290
20291         * def_data.c, def_data.h, def_data.in, set_perms.c, sudo.c, sudo.h,
20292         sudo.pod, sudoers.pod:
20293         Add new sudoers option "preserve_groups". Previously sudo would not
20294         call initgroups() if the target user was root. Now it always calls
20295         initgroups() unless the -P command line option or the
20296         "preserve_groups" sudoers option is set. Idea from TJ Saunders.
20297         [4f730359f101]
20298
20299 2001-12-14  Todd C. Miller  <Todd.Miller@courtesan.com>
20300
20301         * compat.h, config.h.in:
20302         Use new HAVE_SIGACTION_T define
20303         [dfb25f3cae5b]
20304
20305         * logging.c:
20306         Fix compilation on K&C
20307         [7355e3275e34]
20308
20309         * configure:
20310         regen
20311         [a710584f92f0]
20312
20313         * configure.in:
20314         Add check for sigaction_t -- IRIX already defines this so don't
20315         redefine it.
20316         [df9c5737f6da]
20317
20318         * snprintf.c:
20319         fix typo
20320         [3d782b8134c8]
20321
20322         * interfaces.c:
20323         need stdlib.h here too
20324         [c789d8973ab2]
20325
20326         * configure:
20327         regen
20328         [44822856bf46]
20329
20330         * configure.in:
20331         Remove redundant checks for string.h, strings.h and unistd.h
20332         [933c94f8bbf4]
20333
20334         * sudo.cat, sudo.man.in, sudoers.cat, sudoers.man.in, visudo.cat,
20335         visudo.man.in:
20336         Regen from pod files
20337         [ad18c590f638]
20338
20339         * BUGS:
20340         Update for 1.6.4
20341         [26bc88b69d22]
20342
20343         * configure, lex.yy.c, sudo.tab.c:
20344         regen
20345         [bef89fd6fa2d]
20346
20347         * strerror.c:
20348         Return EINVAL if errnum > sys_nerr
20349         [0512374e6661]
20350
20351         * auth/sudo_auth.h:
20352         o Update copyright year
20353         [a877016db6e2]
20354
20355         * LICENSE, Makefile.binary, Makefile.in, aclocal.m4, compat.h,
20356         config.h.in, defaults.h, interfaces.h, pathnames.h.in, sudo.h,
20357         sudo.pod:
20358         o Update copyright year
20359         [e15a1b39039f]
20360
20361         * configure.in:
20362         o Don't define STDC_HEADERS unconditionally for IRIX o Update
20363         copyright year
20364         [82a8cb819e07]
20365
20366         * README:
20367         update version
20368         [d82e523a16b4]
20369
20370         * auth/afs.c, auth/aix_auth.c, auth/bsdauth.c, auth/dce.c,
20371         auth/fwtk.c, auth/kerb4.c, auth/kerb5.c, auth/pam.c, auth/passwd.c,
20372         auth/rfc1938.c, auth/secureware.c, auth/securid.c, auth/sia.c,
20373         auth/sudo_auth.c, logging.c, parse.c, parse.lex, parse.yacc,
20374         set_perms.c, snprintf.c, sudo.c, testsudoers.c, tgetpass.c, utime.c,
20375         visudo.c:
20376         o Reorder some headers and use STDC_HEADERS define properly o Update
20377         copyright year
20378         [fe39f76b3795]
20379
20380         * lsearch.c:
20381         o Reorder some headers and use STDC_HEADERS define properly o Update
20382         copyright year
20383         [764ba3d4fa13]
20384
20385         * getspwuid.c, goodpath.c, interfaces.c:
20386         o Reorder some headers and use STDC_HEADERS define properly o Update
20387         copyright year
20388         [fb46d46140d4]
20389
20390         * getcwd.c:
20391         o Reorder some headers and use STDC_HEADERS define properly o Update
20392         copyright year
20393         [b199d70ac7ab]
20394
20395         * alloc.c, check.c, defaults.c, env.c, fileops.c, find_path.c,
20396         fnmatch.c:
20397         o Reorder some headers and use STDC_HEADERS define properly o Update
20398         copyright year
20399         [dab8f192a3ed]
20400
20401         * configure:
20402         regen
20403         [156658f25cea]
20404
20405         * tgetpass.c:
20406         flags set in signal handlers should be volatile sig_atomic_t
20407         [c22931a5535e]
20408
20409         * config.h.in, configure.in:
20410         Add checks for volatile and sig_atomic_t
20411         [b03b3341381d]
20412
20413         * configure, lex.yy.c:
20414         regen
20415         [ed9daba88217]
20416
20417         * def_data.c, def_data.h, def_data.in, defaults.c, env.c, find_path.c,
20418         sudo.c, sudoers.pod:
20419         Remove "secure_path" Defaults option since it cannot work with the
20420         existing parser.
20421         [c9e54a0f5971]
20422
20423         * find_path.c, sudo.c:
20424         Unset "secure_path" if user_is_exempt()
20425         [fb7544565ae8]
20426
20427         * env.c, pathnames.h.in:
20428         o Remove assumption that PATH and TERM are not listed in env_keep o
20429         If no PATH is in the environment use a default value o If TERM is
20430         not set in the non-reset case also give it a default value.
20431         [c987eb7df268]
20432
20433         * aclocal.m4, configure.in, defaults.c, pathnames.h.in:
20434         _PATH_SENDMAIL -> _PATH_SUDO_SENDMAIL so --without-sendmail works on
20435         systems that define in paths.h
20436         [51865b0cdebf]
20437
20438         * auth/passwd.c, auth/sudo_auth.c, auth/sudo_auth.h:
20439         Add support for skeyaccess(3) if it is present in libskey.
20440         [8add77c7d3e7]
20441
20442 2001-12-13  Todd C. Miller  <Todd.Miller@courtesan.com>
20443
20444         * sudo.c:
20445         Only need to do 'lc = login_getclass(NULL)' if lc == NULL
20446         [5a3d3cbf2c6d]
20447
20448         * parse.lex:
20449         '\\' is a perfectly legal character to have in a command line
20450         argument.
20451         [c15a466ef00e]
20452
20453         * sudo.c:
20454         o Defer call to set_fqdn() until it is safe to use log_error() o
20455         Don't print errno string value if gethostbyname fails, it is not
20456         relevant
20457         [c0c6bcf08bcb]
20458
20459         * parse.c:
20460         Fix CIDR -> in_addr_t conversion.
20461         [2f307ebeb63f]
20462
20463 2001-12-12  Todd C. Miller  <Todd.Miller@courtesan.com>
20464
20465         * sudoers.pod:
20466         Remove an extra "User_List" in the User_Spec definition From
20467         ybertrand AT snoopymail.com
20468         [97bde59ea280]
20469
20470         * parse.c:
20471         Make 'listpw=never' work for users who are not explicitly mentioned
20472         in sudoers.
20473         [258f0f30a428]
20474
20475         * sudoers.pod:
20476         Remove gratuitous '=' in EBNF grammar; era AT iki.fi
20477         [4b0f03872ee1]
20478
20479         * sudoers.pod:
20480         Document new list Defaults type and convert env_keep and env_delete
20481         to lists. Document new env_check option.
20482         [a07f1f079fe3]
20483
20484         * lex.yy.c, sudo.tab.c, sudo.tab.h:
20485         regen parser
20486         [e39ac6c6581b]
20487
20488         * parse.lex:
20489         Don't let '#' appear in a {WORD} and restrict #foo in a Runas spec
20490         to #[0-9-]+.
20491         [69c5388908f3]
20492
20493         * configure:
20494         regen
20495         [0f1877b88cb3]
20496
20497         * aclocal.m4:
20498         Simpler SUDO_FUNC_ISBLANK that uses AC_TRY_LINK
20499         [6545503ae361]
20500
20501         * config.h.in, configure.in:
20502         Add check for skeyaccess(3)
20503         [6caf69fe6359]
20504
20505         * visudo.pod:
20506         Document new -c, -f, and -q options
20507         [13d0203c21d3]
20508
20509         * visudo.c:
20510         o Add -f option (alternate sudoers file) o Convert to use getopt(3)
20511         [4c2b664d617d]
20512
20513         * configure:
20514         regen
20515         [6d5bd932e7b5]
20516
20517         * aclocal.m4, config.h.in, configure.in:
20518         Add check for isblank and a replacement macro if it doesn't exist.
20519         [b524f5e4f953]
20520
20521 2001-12-11  Todd C. Miller  <Todd.Miller@courtesan.com>
20522
20523         * visudo.c:
20524         In check-only mode, don't create sudoers if it does not already
20525         exist.
20526         [c748a2d5acad]
20527
20528         * parse.yacc:
20529         o Add a new token, DEFVAR, to indicate a Defaults variable name o
20530         Add support for "+=" and "-=" list operators o replace some 1 and 0
20531         with TRUE and FALSE for greater legibility.
20532         [554cb174b37e]
20533
20534         * parse.lex:
20535         o Use exclusive start conditions to remove some ambiguity in the
20536         lexer. Also reorder some things for clarity. o Add support for
20537         "+=" and "-=" list operators. o Use the new DEFVAR token to denote
20538         a Defaults variable name.
20539         [3a2cf8323e26]
20540
20541         * sudo.h:
20542         Prototype init_envtables()
20543         [b74916469dab]
20544
20545         * env.c:
20546         o Convert environment handling to use lists instead of strings.
20547         This greatly simplifies routines that need to do "foreach" type
20548         operations. o Add new init_envtables() function to set env_check
20549         and env_delete defaults based on initial_badenv_table and
20550         initial_checkenv_table (formerly sudo_badenv_table).
20551         [0a8b404658b6]
20552
20553         * defaults.c, defaults.h:
20554         o Add a new LIST type and functions to manipulate it. o This is for
20555         use with environment handling variables. o Call new
20556         init_envtables() routine inside init_defaults() to initialize the
20557         environment lists.
20558         [ae73e64f0902]
20559
20560         * def_data.c, def_data.h, def_data.in:
20561         Convert environment options to use the new LIST type and add a new
20562         one, env_check that only deletes if the sanity check fails.
20563         [3019503936de]
20564
20565         * testsudoers.c:
20566         Add dummy version of init_envtables()
20567         [9d9e3ee609d9]
20568
20569         * parse.yacc:
20570         honor quiet mode
20571         [8330fba6167c]
20572
20573         * visudo.c:
20574         Add check-only mode
20575         [dab411bc8c35]
20576
20577         * mkdefaults:
20578         Fix generation of entries with NULL descriptions.
20579         [ea75b9fed02e]
20580
20581 2001-12-09  Todd C. Miller  <Todd.Miller@courtesan.com>
20582
20583         * tgetpass.c:
20584         Use sigaction_t and quiet a gcc warning.
20585         [6f67d719c452]
20586
20587         * sudo.c:
20588         Must reset signal handlers before we exec
20589         [300418120e1a]
20590
20591         * auth/aix_auth.c, auth/bsdauth.c, auth/fwtk.c, auth/pam.c,
20592         auth/sudo_auth.c:
20593         Be carefule now that tgetpass() can return NULL (user hit ^C). PAM
20594         version needs testing. Set SIGTSTP to SIG_DFL during password entry
20595         so user can suspend us.
20596         [00304aa58747]
20597
20598         * tgetpass.c:
20599         Add support for interrupting/suspending tgetpass via keyboard input.
20600         If you suspend sudo from the password prompt and resume it will re-
20601         prompt you.
20602         [4af2b5101d32]
20603
20604         * sudo.c:
20605         Don't block keyboard interrupt signals, just set them to SIG_IGN.
20606         [d46d7f67ef6b]
20607
20608 2001-12-08  Todd C. Miller  <Todd.Miller@courtesan.com>
20609
20610         * config.h.in:
20611         add back HAVE_SIGACTION
20612         [c9c7702c603e]
20613
20614         * configure:
20615         regen
20616         [09fe669d337f]
20617
20618         * config.h.in, configure.in, logging.c, sudo.c, visudo.c:
20619         Kill POSIX_SIGNALS define and old signal support now that we emulate
20620         POSIX ones Also be sure to correctly initialize struct sigaction.
20621         [4bc2a6dbb2be]
20622
20623         * strerror.c:
20624         Don't need config.h or "#ifndef HAVE_STRERROR" wrapper.
20625         [1ad64a19f328]
20626
20627         * compat.h:
20628         Add scaffolding for POSIX signal emulation
20629         [945861d4c93b]
20630
20631         * sigaction.c:
20632         o Add missing ';' so this compiles o Can't use NULL since we don't
20633         include stdio.h
20634         [04d0cac7438f]
20635
20636         * sigaction.c:
20637         Emulate sigaction() using sigvec()
20638         [d0b54a989875]
20639
20640 2001-11-13  Todd C. Miller  <Todd.Miller@courtesan.com>
20641
20642         * sudoers.pod:
20643         Document new behavior of negative values of timestamp_timeout Fix a
20644         typo
20645         [4c0716570d01]
20646
20647         * sudo.pod:
20648         Add security note about command not being logged after 'sudo su' and
20649         friends.
20650         [43294851a33c]
20651
20652         * sudo.pod:
20653         Mention that -V prints default values when run as root, including
20654         the list of environment variables to clear.
20655         [d9e5e550a8c3]
20656
20657         * Makefile.in:
20658         Run pod2man with --quotes=none to avoid stupid quoting of C<>
20659         entries.
20660         [997b23c35dbe]
20661
20662 2001-11-12  Todd C. Miller  <Todd.Miller@courtesan.com>
20663
20664         * auth/sudo_auth.c, def_data.c, def_data.h, def_data.in, sudoers.pod:
20665         Add mail_badpass option Also modify mail_always behavior to also
20666         send mail when the password is wrong
20667         [838d40ccafce]
20668
20669         * env.c, sudo.c, sudo.h:
20670         Dump default bad env table when 'sudo -V' is run by root.
20671         [f67f1b8048b0]
20672
20673         * sudoers.pod:
20674         document env_delete
20675         [d74f893663a2]
20676
20677         * env.c:
20678         Add support for '*' in env_keep when not resetting the environment
20679         (ie: the normal case).
20680         [fd4fb62ea8fd]
20681
20682         * env.c:
20683         Add env_delete variable that lets the user replace/add to the
20684         bad_env_table. Allow '*' wildcard in env_keep entries.
20685         [aa728bc35e29]
20686
20687 2001-11-06  Todd C. Miller  <Todd.Miller@courtesan.com>
20688
20689         * mkinstalldirs:
20690         Force umask to 022 to guarantee sane directory permissions.
20691         [9ab3cfe70569]
20692
20693 2001-11-02  Todd C. Miller  <Todd.Miller@courtesan.com>
20694
20695         * Makefile.in:
20696         add sudo.tab.h and sudo.tab.c to sudo.tab.o dependency
20697         [671010465e6f]
20698
20699         * mkdefaults:
20700         fix breakage in last commit
20701         [8318f8851e56]
20702
20703         * Makefile.in:
20704         acsite.m4 -> aclocal.m4
20705         [30c146873a01]
20706
20707         * check.c:
20708         fix I_TS_TIMEOUT vs. I_TIMESTAMP_TIMEOUT pasto in previous commit
20709         [4dc8b39954da]
20710
20711         * def_data.c:
20712         regenerated from def_data.in
20713         [915ea16ce1eb]
20714
20715         * check.c, defaults.c, defaults.h:
20716         Add new T_UINT type that most things use instead of T_INT If
20717         timestamp_timeout is < 0 then treat the ticket as never expiring (to
20718         be expired manually by the user).
20719         [3a3a636a2a5d]
20720
20721         * def_data.in:
20722         change most T_INT -> T_UINT
20723         [a2228d2457af]
20724
20725         * mkdefaults:
20726         fix warning when no args
20727         [ca70a5394af5]
20728
20729         * visudo.c:
20730         Change 2 Exit() -> exit() Avoid stdio in Exit() and call _exit() if
20731         we are a signal handler. We no longer print the signal number but
20732         the user can just check the exit value for that.
20733         [dc424f631fef]
20734
20735 2001-10-16  Todd C. Miller  <Todd.Miller@courtesan.com>
20736
20737         * logging.c:
20738         when setting up pipes in child process check for case where stdin ==
20739         pipe fd 0
20740         [518112d76184]
20741
20742 2001-10-11  Todd C. Miller  <Todd.Miller@courtesan.com>
20743
20744         * visudo.c:
20745         Ignore editor exit value since XPG4 says vi's exit value is the
20746         count of editing errors made (failed searches, etc).
20747         [b9d952284865]
20748
20749 2001-10-05  Todd C. Miller  <Todd.Miller@courtesan.com>
20750
20751         * configure:
20752         regen
20753         [cb3aa586f03b]
20754
20755         * configure.in:
20756         sco now is identified by config.guess as *-sco-*
20757         [46664bbdea61]
20758
20759         * configure.in:
20760         Check for getspnam() in -lgen if not in -lc for UnixWare.
20761         [0f152ad1ba93]
20762
20763 2001-09-18  Todd C. Miller  <Todd.Miller@courtesan.com>
20764
20765         * sudoers.pod, visudo.pod:
20766         "upper case" -> "uppercase"
20767         [f9151f232326]
20768
20769         * sudoers.pod:
20770         fix typos and grammar; pjanzen@foatdi.harvard.edu
20771         [2855d73d0237]
20772
20773 2001-08-28  Todd C. Miller  <Todd.Miller@courtesan.com>
20774
20775         * sudoers.pod:
20776         Missing word (specify); krapht@secureops.com
20777         [65523eb37a2c]
20778
20779 2001-08-23  Todd C. Miller  <Todd.Miller@courtesan.com>
20780
20781         * sudo.c:
20782         If we fail to lookup a login class, apply the default one.
20783         [d4869faa6816]
20784
20785         * logging.c:
20786         In log_error() free message, not logline unconditionally, then free
20787         logline if it is not the same as message. No function change but
20788         this mirrors how they are allocated.
20789         [565e5f6cc643]
20790
20791 2001-07-17  Todd C. Miller  <Todd.Miller@courtesan.com>
20792
20793         * configure:
20794         regenerate
20795         [834a48f548a2]
20796
20797         * configure.in:
20798         remove some backslash quotes that are unneeded
20799         [50d401d6e2ca]
20800
20801         * configure.in:
20802         o Tweaks to make this work with autoconf-2.50 o Use AC_LIBOBJ
20803         instead of changing LIBOBJS directly o Use AC_REPLACE_FUNCS where we
20804         can o Use AC_CHECK_FUNCS instead of AC_CHECK_FUNC so we don't have
20805         to AC_DEFINE things manually.
20806         [f502c5f15f92]
20807
20808         * config.guess, config.sub:
20809         Updated from autoconf-2.50
20810         [6140205915ef]
20811
20812 2001-05-22  Todd C. Miller  <Todd.Miller@courtesan.com>
20813
20814         * README:
20815         Update mailing list section. We use mailman now, not majordomo.
20816         [b9a8ca45e6dc]
20817
20818 2001-05-10  Todd C. Miller  <Todd.Miller@courtesan.com>
20819
20820         * getspwuid.c, logging.c, sudo.c:
20821         Use setpwent()/endpwent() + all the shadow variants to make sure we
20822         don't inadvertantly leak an fd to the child. Apparently Linux's
20823         shadow routines leave the fd open even if you don't call setspent().
20824         Reported by mike@gistnet.com; different patch used.
20825         [d33792ef6c01]
20826
20827 2001-04-13  Todd C. Miller  <Todd.Miller@courtesan.com>
20828
20829         * sudoers.pod:
20830         s/eg./e.g./
20831         [bd32a0acaf93]
20832
20833         * tgetpass.c:
20834         select() may return EAGAIN. If so, continue like we do for EINTR.
20835         [5f202c943818]
20836
20837         * logging.c:
20838         Fix a non-exploitable buffer overflow in the word splitting code.
20839         This should really be rewritten.
20840         [4c724363863a]
20841
20842         * Makefile.in:
20843         FAQ link goes away
20844         [1d26dd6c8972]
20845
20846         * INSTALL:
20847         Tell people to look in sample.syslog.conf for examples, not FAQ
20848         [affcae3f43ca]
20849
20850         * TROUBLESHOOTING:
20851         Update list of env vars that are cleared
20852         [234e56f1435a]
20853
20854         * sudo.c:
20855         remove struct env_table decl since that stuff has all moved to env.c
20856         [5dd923148777]
20857
20858 2001-04-04  Todd C. Miller  <Todd.Miller@courtesan.com>
20859
20860         * fileops.c:
20861         Fix a pasto in flock-style unlocking and include <sys/file.h> for
20862         flock on older systems; twetzel@gwdg.de
20863         [d5420d9d2861]
20864
20865         * configure:
20866         regen to get NeXT lockf/flock fix
20867         [d3ba6ed70e15]
20868
20869         * configure.in:
20870         force NeXT to use flock since lockf is broken
20871         [bd5391dca1bb]
20872
20873 2001-03-30  Todd C. Miller  <Todd.Miller@courtesan.com>
20874
20875         * check.c:
20876         Use stashed user_gid when checking against exempt gid since sudo
20877         sets its gid to a a value that makes sudoers readable. Previously
20878         if you used gid 0 as the exempt group everyone would be exempt. From
20879         Paul Kranenburg <pk@cs.few.eur.nl>
20880         [0b140cc3a817]
20881
20882 2001-03-29  Todd C. Miller  <Todd.Miller@courtesan.com>
20883
20884         * configure:
20885         regen
20886         [cc455408f32b]
20887
20888         * aclocal.m4:
20889         #include stdio.h in SUDO_CHECK_TYPE since IRIX 6 aparently defines
20890         some types (such as ssize_t) therein.
20891         [b6aee85ca331]
20892
20893 2001-03-02  Todd C. Miller  <Todd.Miller@courtesan.com>
20894
20895         * defaults.c:
20896         Fix negation of paths in a boolean context. Problem found by
20897         apt@UH.EDU
20898         [8aee217a7cdf]
20899
20900 2001-02-23  Todd C. Miller  <Todd.Miller@courtesan.com>
20901
20902         * visudo.c:
20903         pasto
20904         [ad32b277bf68]
20905
20906 2001-02-17  Todd C. Miller  <Todd.Miller@courtesan.com>
20907
20908         * visudo.c:
20909         SA_RESETHAND means the opposite of what I was thinking--oops To
20910         block all signals in old-style signals use ~0, not 0xffffffff
20911         [6ecdd793590a]
20912
20913 2001-02-04  Todd C. Miller  <Todd.Miller@courtesan.com>
20914
20915         * defaults.c:
20916         coerce difference of pointers to int when used in a string length
20917         printf format; deraadt@openbsd.org
20918         [a9d10f07180d]
20919
20920 2001-01-17  Todd C. Miller  <Todd.Miller@courtesan.com>
20921
20922         * visudo.c:
20923         Block all signals in Exit() to avoid a signal race. There is still
20924         a tiny window but I'm not going to worry about it.
20925         [6661805c0458]
20926
20927 2001-01-07  Todd C. Miller  <Todd.Miller@courtesan.com>
20928
20929         * env.c:
20930         glibc uses the LANGUAGE env var so clear that too; Solar Designer
20931         [d4ba95628afb]
20932
20933         * lex.yy.c:
20934         Regenerate with a fix to flex.skl that preserves errno from
20935         clobbering by isatty().
20936         [607eec736e19]
20937
20938 2000-12-31  Todd C. Miller  <Todd.Miller@courtesan.com>
20939
20940         * auth/aix_auth.c, auth/bsdauth.c, auth/fwtk.c, auth/pam.c,
20941         auth/sia.c, auth/sudo_auth.c:
20942         Some defaults I_ defines got renamed.
20943         [ec19b23caaf3]
20944
20945         * Makefile.in, check.c, def_data.c, def_data.h, def_data.in,
20946         defaults.c, defaults.h, env.c, logging.c, mkdefaults, parse.yacc,
20947         set_perms.c, sudo.c, sudo.tab.c:
20948         Move defaults info into its own files from which we generate .h and
20949         .c files. This makes adding or rearranging variables much simpler.
20950         [e91b880b5043]
20951
20952 2000-12-30  Todd C. Miller  <Todd.Miller@courtesan.com>
20953
20954         * configure, configure.in:
20955         fix typo in last commit
20956         [10a6ee2bae71]
20957
20958         * compat.h, config.h.in, configure, configure.in:
20959         Add check + emulation for setegid (like seteuid).
20960         [29492092bd2f]
20961
20962         * env.c:
20963         Make env_keep override badenv_table as documented Fix traversal of
20964         badenv_table (broken in last commit)
20965         [37c9f0d22673]
20966
20967         * set_perms.c, sudo.c, sudo.h:
20968         Don't try and build saved uid version of set_perms on systems w/o
20969         them. Rename set_perms_saved_uid() -> set_perms_posix() Make
20970         set_perms_setreuid simply be set_perms_fallback() and simply include
20971         the appropriate function at compile time (setreuid() vs. setuid()).
20972         [3107333c062c]
20973
20974         * sudoers.cat, sudoers.man.in, sudoers.pod:
20975         PATH is also preserved when env_reset is in effect
20976         [90e45c5711ff]
20977
20978         * CHANGES, Makefile.in, check.c, compat.h, config.h.in, configure,
20979         configure.in, defaults.c, defaults.h, env.c, find_path.c,
20980         getspwuid.c, set_perms.c, sudo.c, sudo.cat, sudo.h, sudo.man.in,
20981         sudo.pod, sudoers.cat, sudoers.man.in, sudoers.pod, testsudoers.c,
20982         visudo.c, visudo.cat, visudo.man.in:
20983         New Defaults options: o stay_setuid - sudo will remain setuid if
20984         system has saved uids or setreuid(2) o env_reset - reset the
20985         environment to a sane default o env_keep - preserve environment
20986         variables that would otherwise be cleared
20987
20988         No longer use getenv/putenv/setenv functions--do environment munging
20989         by hand. Potentially dangerous environment variables can be cleared
20990         only if they contain '/' pr '%' characters to protect buggy
20991         programs. Moved environment routines into env.c (new file)
20992         [c2f97651db4c]
20993
20994         * INSTALL:
20995         Clear up --without-passwd description
20996         [2f336dab6733]
20997
20998         * putenv.c, sudo_setenv.c:
20999         We now build up a new environment from scratch and assign it to
21000         "environ".
21001         [6ae6152f2238]
21002
21003 2000-12-19  Todd C. Miller  <Todd.Miller@courtesan.com>
21004
21005         * sudo.pod, visudo.pod:
21006         Grammatical fixes from Paul Janzen
21007         [e03ead2e56f8]
21008
21009 2000-12-15  Todd C. Miller  <Todd.Miller@courtesan.com>
21010
21011         * visudo.c:
21012         If there was a syntax error and the user just wants to quit, unlink
21013         sudoers if it is zero length.
21014         [74ba7921f520]
21015
21016         * visudo.c:
21017         'Q' means ignore parse error, not 'q'
21018         [e8d0e4491fe6]
21019
21020         * visudo.c:
21021         Open sudoers for writing with mode SUDOERS_MODE From Dimitry Andric
21022         <dim@xs4all.nl>
21023         [b24990a72491]
21024
21025 2000-12-13  Todd C. Miller  <Todd.Miller@courtesan.com>
21026
21027         * set_perms.c:
21028         Add missing #ifdef HAVE_LOGIN_CAP_H; ayamura@ayamura.org
21029         [41a8db10e076]
21030
21031 2000-12-09  Todd C. Miller  <Todd.Miller@courtesan.com>
21032
21033         * config.guess, config.sub:
21034         Darwin / Mac OS X support from Wilfredo Sanchez <wsanchez@apple.com>
21035         [6052da895d2e]
21036
21037 2000-11-03  Todd C. Miller  <Todd.Miller@courtesan.com>
21038
21039         * sudo.c, visudo.c:
21040         Use exit(127), not exit(-1)
21041         [9ff0c3eada34]
21042
21043         * Makefile.in, defaults.c, defaults.h, set_perms.c, sudo.c:
21044         Move set_perms() to its own file and use POSIX saved uid or
21045         setreuid() if available.
21046
21047         Added stay_setuid option for systems that have libraries that
21048         perform extra paranoia checks in system libraries for setuid
21049         programs (ie: anything with issetugid(2)).
21050         [28960f842698]
21051
21052         * sudo.c:
21053         strip more bits from the environment and add a facility for
21054         stripping things only if they contain '/' or '%' to address printf
21055         format string vulnerabilities in other programs.
21056         [b98d6375f299]
21057
21058 2000-11-02  Todd C. Miller  <Todd.Miller@courtesan.com>
21059
21060         * configure:
21061         regen
21062         [7e74e5c91049]
21063
21064         * configure.in:
21065         For NCR, add -lc89 to LIBS, not SUDO_LIBS and cache the existence of
21066         strcasecmp().
21067         [a418e9e70442]
21068
21069         * configure:
21070         regen
21071         [bbff244a52bc]
21072
21073         * configure.in:
21074         Check for strcasecmp(3) in -lc89 for NCR Unix
21075         [361c99576681]
21076
21077 2000-11-01  Todd C. Miller  <Todd.Miller@courtesan.com>
21078
21079         * config.h.in:
21080         Define HAVE_INNETGR #ifdef HAVE__INNETGR
21081         [473cdb92b6db]
21082
21083         * configure:
21084         regen
21085         [4e6364a195e0]
21086
21087         * compat.h, config.h.in, configure.in:
21088         Add check for _innetgr(3) since NCR systems have that instead of
21089         innetgr(3).
21090         [25e6852e7494]
21091
21092 2000-10-31  Todd C. Miller  <Todd.Miller@courtesan.com>
21093
21094         * auth/securid.c:
21095         check return value of creadcfg() call sd_close() after sd_auth()
21096         store username in sd->username so we don't rely on the USER env
21097         variable
21098         [d106b4f42722]
21099
21100 2000-10-30  Todd C. Miller  <Todd.Miller@courtesan.com>
21101
21102         * INSTALL:
21103         document --with-bsdauth
21104         [f1518ecc2ee9]
21105
21106         * configure:
21107         regen
21108         [dceb35071ea8]
21109
21110         * configure.in:
21111         --with-bsdauth assumes --with-logincap
21112         [4200778083fd]
21113
21114         * auth/bsdauth.c, auth/fwtk.c:
21115         When prompting for a response to a challenge, if the user just hits
21116         return then reprompt with echo turned on.
21117         [a539b6474a97]
21118
21119 2000-10-29  Todd C. Miller  <Todd.Miller@courtesan.com>
21120
21121         * sudo.c:
21122         Remove debugging code that should not have been committed, oops.
21123         [9862607b77a7]
21124
21125         * auth/bsdauth.c:
21126         Use lower-level routines and get the password ourselves. Checks for
21127         a challenge and if there is one echo is not turned off.
21128         [2d8fcd166baa]
21129
21130         * auth/pam.c, auth/sudo_auth.h:
21131         minor housekeeping, no real code changes
21132         [d0074a277fb4]
21133
21134 2000-10-27  Todd C. Miller  <Todd.Miller@courtesan.com>
21135
21136         * sudo.c:
21137         Fix a coredump in the logging functions if gethostname(2) fails by
21138         deferring the call to log_error() until things are better setup.
21139
21140         Fix return value of set_loginclass() in non-BSD-auth case.
21141
21142         Hard-code 'sudo' in the usage message so we can fit more options on
21143         a line
21144         [d9d1b7579818]
21145
21146         * logging.c:
21147         Fix errant ';' (typo) that broken MSG_ONLY
21148         [849b2276a470]
21149
21150 2000-10-26  Todd C. Miller  <Todd.Miller@courtesan.com>
21151
21152         * sudo.cat, sudo.man.in:
21153         regen
21154         [bb3c8c6704d1]
21155
21156         * sudo.pod:
21157         Document -a flag
21158         [e18316cebaac]
21159
21160         * Makefile.in, auth/bsdauth.c, auth/sudo_auth.h, config.h.in,
21161         configure, configure.in, getspwuid.c, sudo.c:
21162         Add support for BSD authentication.
21163         [f374cfd9ca0d]
21164
21165 2000-10-19  Todd C. Miller  <Todd.Miller@courtesan.com>
21166
21167         * sudoers.pod:
21168         Fix typo; from sato@complex.eng.hokudai.ac.jp
21169         [3085fee9766e]
21170
21171 2000-10-12  Todd C. Miller  <Todd.Miller@courtesan.com>
21172
21173         * sudoers.pod:
21174         Mention negating umask
21175         [c9e410294dae]
21176
21177         * defaults.c:
21178         Allow user to specify umask of 0777 (same as !umask)
21179         [bb771daa96fe]
21180
21181 2000-10-09  Todd C. Miller  <Todd.Miller@courtesan.com>
21182
21183         * sudo.pod, visudo.pod:
21184         Fix a typo and give a URL for the sudo history.
21185         [77f73199aedb]
21186
21187 2000-10-08  Todd C. Miller  <Todd.Miller@courtesan.com>
21188
21189         * defaults.c, sudo.pod:
21190         fix typos; pepper@reppep.com
21191         [5532c7421340]
21192
21193 2000-09-14  Todd C. Miller  <Todd.Miller@courtesan.com>
21194
21195         * sudo.c, sudo.h, sudo_setenv.c:
21196         sudo_setenv() now exits on memory alloc failure instead of returning
21197         -1.
21198         [71f1cf18f47b]
21199
21200 2000-09-07  Todd C. Miller  <Todd.Miller@courtesan.com>
21201
21202         * sudo.c:
21203         Strip out NLSPATH and PATH_LOCALE from the environment for FreeBSD
21204         and possibly others.
21205         [b69d985b0d22]
21206
21207         * logging.c:
21208         Don't use vsyslog(3) since HP-UX (and others?) lack it. This means
21209         that "%m" won't be expanded but we don't use that anyway since the
21210         logging routines may splat to stderr as well.
21211         [8d37a544d0c0]
21212
21213         * defaults.c, defaults.h, sudo.c, sudoers.cat, sudoers.man.in,
21214         sudoers.pod:
21215         Add always_set_home variable
21216         [dbcaff646e07]
21217
21218         * configure, configure.in:
21219         Have to hard code default values in help since the defaults are set
21220         _after_ the help stuff.
21221         [7b5d6d72f55c]
21222
21223 2000-08-31  Todd C. Miller  <Todd.Miller@courtesan.com>
21224
21225         * lex.yy.c, parse.lex:
21226         Allow special characters (including '#') to be embedded in pathnames
21227         if quoted by a '\\'. The quoted chars will be dealt with by
21228         fnmatch(). Unfortunately, 'sudo -l' still prints the '\\'.
21229         [3ed33cf09977]
21230
21231 2000-08-13  Todd C. Miller  <Todd.Miller@courtesan.com>
21232
21233         * install-sh:
21234         Better path searching for programs we need.
21235         [60517cb1f0d6]
21236
21237         * TROUBLESHOOTING:
21238         Add section on "C compiler cannot create executables" errors.
21239         [e4ada6eaee59]
21240
21241         * Makefile.binary, Makefile.in, version.h:
21242         Crank version
21243         [93d1bd5b7f5e]
21244
21245         * aclocal.m4, configure, configure.in, sudo.cat, sudo.man.in,
21246         sudo.pod, sudoers.cat, sudoers.man.in, sudoers.pod, visudo.cat,
21247         visudo.man.in, visudo.pod:
21248         Substitute values from configure into man pages.
21249         [619854c356c1]
21250
21251 2000-08-12  Todd C. Miller  <Todd.Miller@courtesan.com>
21252
21253         * parse.c, sudo.c:
21254         The listpw and verifypw sudoers options would not take effect
21255         because the value of the default was checked *before* sudoers was
21256         parsed. Instead of passing in the value of PWCHECK_* to
21257         sudoers_lookup(), pass in the arg for def_ival() so the check can be
21258         deferred until after sudoers is parsed.
21259         [4f596e358f72]
21260
21261 2000-08-11  Todd C. Miller  <Todd.Miller@courtesan.com>
21262
21263         * tgetpass.c:
21264         When writing prompt, no need to write the NUL as well;
21265         hag@linnaean.org
21266         [fbcdd7b431ee]
21267
21268 2000-06-09  Todd C. Miller  <Todd.Miller@courtesan.com>
21269
21270         * install-sh:
21271         When looking for chown, check in /sbin too
21272         [657ba6653f8c]
21273
21274 2000-06-05  Todd C. Miller  <Todd.Miller@courtesan.com>
21275
21276         * visudo.c:
21277         Remove extraneous call to init_defaults() and set runas_user to NULL
21278         betweem parses so init_defaults will reset it each time, thus
21279         avoiding a reference to free()d data.
21280         [7421fcd692af]
21281
21282 2000-06-04  Todd C. Miller  <Todd.Miller@courtesan.com>
21283
21284         * config.h.in, interfaces.c, interfaces.h, sudo.c:
21285         Add support for using getifaddrs() to get the list of ip addr /
21286         netmask pairs. Currently IPv4-only.
21287         [a35bc4f7306d]
21288
21289         * visudo.c:
21290         Add a missing check for UserEditor == NULL Add missing '+' before
21291         line number when invoking editor to fix a syntax error
21292         [f0d4635f6082]
21293
21294 2000-05-12  Todd C. Miller  <Todd.Miller@courtesan.com>
21295
21296         * sudo.c:
21297         Call clean_env very early in main() for paranoia's sake. Idea from
21298         Marc Esipovich.
21299         [f8d72ebd0115]
21300
21301 2000-05-10  Todd C. Miller  <Todd.Miller@courtesan.com>
21302
21303         * sudo.h:
21304         Update proto for evasprintf and easprintf
21305         [d147d6e58419]
21306
21307         * alloc.c:
21308         Make easprintf() and evasprintf() return an int.
21309         [b2ca5d089667]
21310
21311         * check.c:
21312         If the targetpw flag is set, use target username as part of the
21313         timestamp path. If tty tickets are in effect cat the tty and the
21314         target username with a ':' as the separator.
21315         [de11abc693c2]
21316
21317 2000-05-09  Todd C. Miller  <Todd.Miller@courtesan.com>
21318
21319         * auth/pam.c:
21320         Backout part of last change; setting PAM_USER to the invoking user
21321         breaks things like targetpw.
21322         [427218a7387f]
21323
21324         * auth/pam.c:
21325         set tty and username via pam_set_item
21326         [85d1922dbcc9]
21327
21328         * auth/sudo_auth.c, check.c, getspwuid.c, sudo.c, sudo.h:
21329         Fix root, runas, and target authentication for non-passwd file auth
21330         methods.
21331         [a14535e7b30c]
21332
21333 2000-04-22  Todd C. Miller  <Todd.Miller@courtesan.com>
21334
21335         * sudo.cat, sudo.man.in, sudo.pod, sudoers.cat, sudoers.man.in,
21336         sudoers.pod, visudo.cat, visudo.man.in, visudo.pod:
21337         Use B<-Z> not C<-Z> for command line flags in all places. This is
21338         more consistent and works around a bug in Pod::Man.
21339         [64b5a05f30c5]
21340
21341         * sudoers.cat, sudoers.man.in, sudoers.pod:
21342         Fix an occurence of 'semicolon' that should be 'colon'
21343         [4ea5aacae3fb]
21344
21345 2000-04-19  Todd C. Miller  <Todd.Miller@courtesan.com>
21346
21347         * configure, configure.in:
21348         Fix --with-badpri help line
21349         [3cc40977c043]
21350
21351 2000-04-17  Todd C. Miller  <Todd.Miller@courtesan.com>
21352
21353         * defaults.c, logging.c, sudo.c:
21354         Bracket calls to syslog with an openlog() and closelog() since some
21355         authentication methods (like PAM) may do their own logging via
21356         syslog. Since we don't use syslog much (usually just once per
21357         session) this doesn't really incur a performance penalty. It also
21358         Fixes a SEGV with pam_kafs.
21359         [fe1cc28529f6]
21360
21361 2000-04-15  Todd C. Miller  <Todd.Miller@courtesan.com>
21362
21363         * sudo.c:
21364         Fix -H flag. runas_homedir is only valid after
21365         set_perms(PERM_RUNAS, mode)
21366         [ce9b1c6f68a6]
21367
21368 2000-04-12  Todd C. Miller  <Todd.Miller@courtesan.com>
21369
21370         * INSTALL:
21371         Clarify the fact that insults are not enabled just by including them
21372         in the binary.
21373         [d5a31d48320c]
21374
21375 2000-04-07  Todd C. Miller  <Todd.Miller@courtesan.com>
21376
21377         * sudo.cat, sudo.man.in, sudoers.cat, sudoers.man.in, visudo.cat,
21378         visudo.man.in:
21379         Regenerated with perl 5.6.0 pod2man
21380         [21751433768b]
21381
21382         * Makefile.in:
21383         Give date string to pod2man since its default is ugly and it ain't
21384         got no alibi.
21385         [0080b2f6298f]
21386
21387         * Makefile.in:
21388         Do section substitution on the output of pod2man and remove hack
21389         needed for old pod2man.
21390         [1ef843d5c78b]
21391
21392         * sudo.pod, sudoers.pod, visudo.pod:
21393         Put back real man sections, we will do the substitution later.
21394         [f728c1abad7e]
21395
21396 2000-04-02  Todd C. Miller  <Todd.Miller@courtesan.com>
21397
21398         * configure, configure.in:
21399         Don't bother checking for the path to vi if user specified --with-
21400         editor
21401         [bf698487e0d5]
21402
21403 2000-04-01  Todd C. Miller  <Todd.Miller@courtesan.com>
21404
21405         * CHANGES, visudo.c:
21406         Visudo now does its own fork/exec instead of calling system(3).
21407         [99bbcd88863b]
21408
21409         * CHANGES, INSTALL, Makefile.in, sudoers.cat, sudoers.man.in,
21410         sudoers.pod, visudo.c:
21411         Visudo now checks for the existence of an editor and gives a
21412         sensible error if it does not exist.
21413
21414         The path to the editor for visudo is now a colon-separated list of
21415         allowable editors. If the user has $EDITOR set and it matches one
21416         of the allowed editors that editor will be used. If not, the first
21417         editor in the list that actually exists is used.
21418         [cc86eb9f5440]
21419
21420         * sudo.cat, sudo.man.in, sudo.pod:
21421         Clear up confusion wrt sudo's return value.
21422         [9385b12d8e79]
21423
21424 2000-03-27  Todd C. Miller  <Todd.Miller@courtesan.com>
21425
21426         * Makefile.in:
21427         Strip sudo and visudo for bindist target
21428         [a995ddd79177]
21429
21430         * sudo.cat, sudo.man.in, sudo.pod, sudoers.cat, sudoers.man.in,
21431         sudoers.pod, visudo.cat, visudo.man.in, visudo.pod:
21432         Use @mansectsu@ and @mansectform@ in the man page bodies as well.
21433         [5eb9e60a726f] [SUDO_1_6_3]
21434
21435         * visudo.cat, visudo.man.in, visudo.pod:
21436         Typo: @sysconf@ -> @sysconfdir@
21437         [f07f52fcd099]
21438
21439         * Makefile.in:
21440         'make dist' should not cause any files to be modified so remove its
21441         dependencies.
21442         [7f44a2666a9c]
21443
21444         * CHANGES:
21445         Whoops, forgot to add release marker
21446         [16c0f16b35b8]
21447
21448 2000-03-26  Todd C. Miller  <Todd.Miller@courtesan.com>
21449
21450         * CHANGES:
21451         Final change for 1.6.3 (or so I hope)
21452         [473c89da6123]
21453
21454         * sudo.cat, sudoers.cat, visudo.cat:
21455         Use SYSV man sections since BSD systems will have nroff...
21456         [0a6bd154324e]
21457
21458 2000-03-24  Todd C. Miller  <Todd.Miller@courtesan.com>
21459
21460         * parse.yacc, sudo.tab.c:
21461         When checking to see if the host/user matches in a defaults spec,
21462         check against TRUE, not just non-zero since it might be -1.
21463         [41f2b7ad3fdd]
21464
21465         * configure, configure.in:
21466         OSF/1 puts file formats in section 4, not 5.
21467         [d77c1301afa9]
21468
21469         * CHANGES, INSTALL, sudo.c:
21470         Make login class support work on BSD/OS
21471         [e9bbe3c08ade]
21472
21473         * RUNSON:
21474         Update for 1.6.3
21475         [c40ce1d76c4d]
21476
21477         * configure, configure.in:
21478         If there is no inet_addr but there *is* an __inet_addr that's ok
21479         since inet_addr is probably just a macro then. The better thing to
21480         do would be to look for the macro, but this is fine for now.
21481         [1b8865ae4d68]
21482
21483         * configure, configure.in:
21484         Don't use shlicc for BSD/OS 4.x
21485         [83fbf6dedd2c]
21486
21487         * Makefile.in, configure, configure.in:
21488         *.man lives in cwd, *.cat lives in $(srcdir), add a @mansrcdir@
21489         configure variable so we can deal with this. Also, only remove *.man
21490         for 'distclean' not 'clean'.
21491         [30d56e6de214]
21492
21493         * sudo.c:
21494         set_loginclass() should be static like the proto says
21495         [d570a2d55fb8]
21496
21497 2000-03-23  Todd C. Miller  <Todd.Miller@courtesan.com>
21498
21499         * fnmatch.c:
21500         Add #ifdef __STDC__ around the rangematch function header to avoid
21501         promotion of test to int, thus violating the prototype. Gcc handles
21502         this gracefully but more std ANSI compilers will complain.
21503         [7d98c3e332b2]
21504
21505         * emul/fnmatch.h:
21506         Pull in newer fnmatch(3) that supports FNM_CASEFOLD
21507         [4e1320852f8b]
21508
21509         * aclocal.m4, configure, fnmatch.3, fnmatch.c:
21510         Pull in newer fnmatch(3) that supports FNM_CASEFOLD Check for
21511         FNM_CASEFOLD in configure
21512         [9ef952bf1896]
21513
21514         * CHANGES, TODO:
21515         update for 1.6.3
21516         [e4ba6368a0c5]
21517
21518         * sudo.tab.c, sudo.tab.h, testsudoers.c, visudo.c:
21519         Fully qualified hosts w/ wildcards were not matching the FQHOST
21520         token type. There's really no need for a separate token for fully-
21521         qualified vs. unqualified anymore so FQHOST is now history and
21522         hostname_matches now decides which hostname (short or long) to check
21523         based on whether or not the pattern contains a '.'.
21524         [fbd2887d9811]
21525
21526         * parse.h:
21527         Fully qualified hosts w/ wildcards were not matching the FQHOST
21528         token type. There's really no need for a separate token for fully-
21529         qualified vs. unqualified anymore so FQHOST is now history and
21530         hostname_matches now decides which hostname (short or long) to check
21531         based on whether or not the pattern contains a '.'.
21532         [dd7bbe223461]
21533
21534         * lex.yy.c, parse.c, parse.lex, parse.yacc:
21535         Fully qualified hosts w/ wildcards were not matching the FQHOST
21536         token type. There's really no need for a separate token for fully-
21537         qualified vs. unqualified anymore so FQHOST is now history and
21538         hostname_matches now decides which hostname (short or long) to check
21539         based on whether or not the pattern contains a '.'.
21540         [630d9d205397]
21541
21542         * parse.c, parse.h, parse.yacc, sudo.tab.c, sudoers.cat,
21543         sudoers.man.in, sudoers.pod, testsudoers.c, visudo.c:
21544         Add support for wildcards in the hostname.
21545         [d8d821ed4238]
21546
21547         * Makefile.in:
21548         Add targets for *.man.in, using config.status to generate *.man from
21549         *.man.in
21550         [640e50ede485]
21551
21552         * sudoers.cat, sudoers.man.in, sudoers.pod:
21553         Document set_logname option and enbolden refs to sudo and visudo.
21554         [9622b3a48707]
21555
21556         * INSTALL, Makefile.in, aclocal.m4, configure, configure.in, sudo.cat,
21557         sudo.man.in, sudo.pod, sudoers.cat, sudoers.man.in, sudoers.pod,
21558         visudo.cat, visudo.man.in, visudo.pod:
21559         Add FreeBSD login.conf support (untested on BSD/OS) based on a patch
21560         from Michael D. Marchionna. configure now does substitution on the
21561         man pages, allowing us to fix up the paths and set the section
21562         correctly. Based on an idea from Michael D. Marchionna.
21563         [463e928a0a2f]
21564
21565         * auth/passwd.c:
21566         Better fix for handling HP-UX aging info.
21567         [3950f42d8549]
21568
21569         * sudo.c:
21570         Add support for set_logname run-time default
21571         [c6a7cc76b8b4]
21572
21573         * sudo.man.in, sudoers.man.in, visudo.man.in:
21574         configure does substitution on these to produce *.man
21575         [b83fc3c1bfc9]
21576
21577         * sudo.man, sudoers.man, visudo.man:
21578         These files now get generated from *.man.in at configure time.
21579         [c499061f79e0]
21580
21581 2000-03-22  Todd C. Miller  <Todd.Miller@courtesan.com>
21582
21583         * defaults.c, defaults.h:
21584         Add set_logname option so users can turn off setting of LOGNAME/USER
21585         environment variables.
21586         [6316869180b8]
21587
21588         * lsearch.c, parse.c, testsudoers.c:
21589         kill register
21590         [6e104e653748]
21591
21592 2000-03-13  Todd C. Miller  <Todd.Miller@courtesan.com>
21593
21594         * auth/passwd.c:
21595         HP-UX adds extra info at the end for password aging so when
21596         comparing the result of crypt to pw_passwd we only compare the first
21597         len(epass) bytes *unless* the user entered an empty string for a
21598         password.
21599         [3d24d4e4e889]
21600
21601         * logging.c:
21602         Get rid of grandchild hack, it was causing problems and there is
21603         really no need for it. This fixes a bug where we spin eating up CPU
21604         when the user runs a long-running process like a shell.
21605         [5743b10b1e81]
21606
21607 2000-03-07  Todd C. Miller  <Todd.Miller@courtesan.com>
21608
21609         * sudo.c:
21610         User can always specify a login class if he/she is already root.
21611         [710d160cef9f]
21612
21613         * config.h.in, configure, configure.in, defaults.c, defaults.h,
21614         sudo.c, sudo.h:
21615         FreeBSD login class (login.conf) support.
21616         [026b981d6328]
21617
21618 2000-03-06  Todd C. Miller  <Todd.Miller@courtesan.com>
21619
21620         * auth/sudo_auth.c:
21621         HAVE_SECUREWARE -> HAVE_GETPRPWNAM; fixes secureware support
21622         [9cd4929f1a78]
21623
21624 2000-03-03  Todd C. Miller  <Todd.Miller@courtesan.com>
21625
21626         * auth/passwd.c:
21627         Truncate unencrypted password to 8 chars if encrypted password is
21628         exactly 13 characters (indicateing standard a DES password). Many
21629         versions of crypt() do this for you, but not all (like HP-UX's).
21630         [a9d0259cb193]
21631
21632 2000-03-02  Todd C. Miller  <Todd.Miller@courtesan.com>
21633
21634         * INSTALL, RUNSON:
21635         Mention that gcc on dynix may have problems
21636         [77b97fa5bf1b]
21637
21638 2000-02-29  Todd C. Miller  <Todd.Miller@courtesan.com>
21639
21640         * Makefile.in:
21641         Link visudo with NET_LIBS since we now call syslog via defaults.c
21642         [9e3830b277cc]
21643
21644         * defaults.c:
21645         Use Argv[0] as the first arg to openlog() since visudo uses this
21646         too.
21647         [e61078f328ec]
21648
21649 2000-02-28  Todd C. Miller  <Todd.Miller@courtesan.com>
21650
21651         * sudo.c:
21652         Stash coredumpsize resource limit and retsore it before the exec()
21653         Otherwise the child ends up with a coredumpsize of 0.
21654         [f6a4783835a3]
21655
21656 2000-02-27  Todd C. Miller  <Todd.Miller@courtesan.com>
21657
21658         * sudo.cat, sudo.man, sudo.pod:
21659         document -S flag
21660         [3ebd805b7142]
21661
21662         * sudo.c:
21663         fix usage string
21664         [66b2dfa47fe8]
21665
21666         * CHANGES, RUNSON, TODO, auth/aix_auth.c, auth/fwtk.c, auth/pam.c,
21667         auth/sudo_auth.c, sudo.c, sudo.h, tgetpass.c:
21668         Added -S flag (read passwd from stdin) and tgetpass_flags global
21669         that holds flags to be passed in to tgetpass(). Change echo_off
21670         param to tgetpass() into a flags field. There are currently 2
21671         possible flags for tgetpass(): TGP_ECHO and TGP_STDIN. In
21672         tgetpass(), abstract the echo set/clear via macros and if (flags &
21673         TGP_ECHO) but echo is not set on the terminal, but sure to set it.
21674         [a4fcbb712cd0]
21675
21676         * tgetpass.c:
21677         Fixed a bug that caused an infinite loop when the password timeout
21678         was disabled.
21679         [2be1ffc5a39f]
21680
21681 2000-02-18  Todd C. Miller  <Todd.Miller@courtesan.com>
21682
21683         * CHANGES, defaults.c, defaults.h, getspwuid.c, sudo.c, sudo.h,
21684         sudoers.cat, sudoers.man, sudoers.pod, visudo.c:
21685         Add rootpw, runaspw, and targetpw options.
21686         [2d4563e46df7]
21687
21688         * CHANGES, defaults.c, sudoers.cat, sudoers.man, sudoers.pod,
21689         visudo.c:
21690         enveditor -> env_editor
21691         [ddc5f856e583]
21692
21693 2000-02-16  Todd C. Miller  <Todd.Miller@courtesan.com>
21694
21695         * BUGS, INSTALL, Makefile.in, README, configure, configure.in,
21696         sudo.cat, sudo.man, sudoers.cat, sudoers.man, version.h, visudo.cat,
21697         visudo.man:
21698         crank versino to 1.6.3
21699         [a5f7d3e74360]
21700
21701         * INSTALL, TODO, defaults.c, defaults.h, sudoers.cat, sudoers.man,
21702         sudoers.pod, visudo.c:
21703         Add 'editor' and 'enveditor' sudoers defaults and make visudo honor
21704         them. This means that visudo will now parse the sudoers file
21705         *before* it is edited so a bogus sudoers file will cause a warning
21706         to go to stderr. Also, visudo checks the variables once--it does not
21707         check them after each editor run since that could be confusing.
21708         [9f5af18e9212]
21709
21710 2000-02-15  Todd C. Miller  <Todd.Miller@courtesan.com>
21711
21712         * RUNSON:
21713         1.6.2 -> 1.6.2p1
21714         [e25b74f1d1af]
21715
21716         * check.c, sudo.c, sudo.h:
21717         Move user_is_exempt prototype into sudo.h
21718         [daf26a6ded8a]
21719
21720 2000-02-13  Todd C. Miller  <Todd.Miller@courtesan.com>
21721
21722         * configure, configure.in:
21723         Fix thinko, some && should have been || in the last commit
21724         [4b9b2d487ded]
21725
21726         * configure, configure.in:
21727         Don't initialized Makefile variables to be NULL since the user may
21728         want to import variables from their environment.
21729         [7be019f4422c]
21730
21731 2000-02-04  Todd C. Miller  <Todd.Miller@courtesan.com>
21732
21733         * configure, configure.in:
21734         typo
21735         [38f4d8971f0a]
21736
21737 2000-01-28  Todd C. Miller  <Todd.Miller@courtesan.com>
21738
21739         * sudo.tab.c:
21740         fix a yacc (skeleton.c) warning
21741         [a2da228a937b]
21742
21743 2000-01-27  Todd C. Miller  <Todd.Miller@courtesan.com>
21744
21745         * INSTALL, RUNSON, configure, configure.in:
21746         Make pam work on HP-UX 11.0;jaearick@colby.edu
21747         [b94de0ff6f42]
21748
21749         * CHANGES:
21750         recent changes; prepare for 1.6.2p1
21751         [b291635ea141]
21752
21753         * find_path.c:
21754         Don't apply SECURE_PATH if user is example; jmknoble@pobox.com
21755         [4306285c4f6e]
21756
21757 2000-01-26  Todd C. Miller  <Todd.Miller@courtesan.com>
21758
21759         * sudo.tab.c:
21760         Regen with yacc that has a memory leak plugged.
21761         [e26383a04eb7]
21762
21763         * sudoers.cat, sudoers.man, sudoers.pod:
21764         Expanded docs on sudoers 'defaults' options based on INSTALL file
21765         info.
21766         [54c3d62d6c74]
21767
21768         * INSTALL:
21769         Fix some while lies
21770         [d15311782150]
21771
21772 2000-01-24  Todd C. Miller  <Todd.Miller@courtesan.com>
21773
21774         * Makefile.in:
21775         When making a bindist, link FAQ to TROUBLESHOOTING instead of
21776         copying.
21777         [2d88a6ac88cf]
21778
21779         * sudoers.cat, sudoers.man, sudoers.pod:
21780         Add netgroup caveat
21781         [28d119f466e3] [SUDO_1_6_2]
21782
21783         * RUNSON:
21784         Last minute updates
21785         [89fb4ed22d52]
21786
21787         * TROUBLESHOOTING:
21788         PAM entry
21789         [a9fd59f39457]
21790
21791         * auth/pam.c:
21792         correct a comment
21793         [a29627225ba9]
21794
21795         * CHANGES, RUNSON:
21796         update for 1.6.2
21797         [b7f1c40ea732]
21798
21799         * auth/pam.c:
21800         Better detection of PAM errors and fix custom prompts with PAM.
21801         Based on patches from "Cloyce D. Spradling" <cloyce@headgear.org>
21802         [ff69234b94a5]
21803
21804 2000-01-20  Todd C. Miller  <Todd.Miller@courtesan.com>
21805
21806         * snprintf.c:
21807         Cast ULONG_MAX to unsigned long long when comparing to an unsigned
21808         long long value.
21809         [9d918c3a2ecd]
21810
21811 2000-01-19  Todd C. Miller  <Todd.Miller@courtesan.com>
21812
21813         * CHANGES, config.h.in, configure, configure.in, visudo.c:
21814         Fix sudoers locking in visudo. We now lock the sudoers file itself,
21815         not the temp file (since locking the temp file can foul up editors).
21816         The previous locking scheme didn't work because the fd was closed
21817         too early.
21818         [de2011bb11ed]
21819
21820         * config.h.in, configure, configure.in:
21821         Don't need test for ftruncate() any more.
21822         [e5f71c848104]
21823
21824         * configure, configure.in:
21825         Add a test for the -Aa flag w/ HP-UX's cc. Fixes compilation with
21826         the unbundled HP-UX cc.
21827         [2c373612c644]
21828
21829 2000-01-18  Todd C. Miller  <Todd.Miller@courtesan.com>
21830
21831         * sudoers.cat, sudoers.man, sudoers.pod:
21832         "a a" -> "a"; Aaron Campbell <aaron@cs.dal.ca>
21833         [05360d2c314e]
21834
21835 2000-01-17  Todd C. Miller  <Todd.Miller@courtesan.com>
21836
21837         * LICENSE, Makefile.in, defaults.c, defaults.h, parse.c, parse.h,
21838         parse.yacc, sudo.c, sudo.h, sudoers.pod, testsudoers.c, tgetpass.c,
21839         version.h, visudo.c:
21840         update copyright year on changed files
21841         [5792a2a28a4c]
21842
21843         * RUNSON:
21844         updates
21845         [edf8f19aa403]
21846
21847         * CHANGES:
21848         aix fix
21849         [4d4a243b31e2]
21850
21851         * INSTALL:
21852         Crank version to 1.6.2
21853         [bcb5cb411624]
21854
21855         * configure:
21856         Crank version to 1.6.2
21857         [32a19f33427f]
21858
21859         * sudo.c:
21860         When using rlimit check for RLIM_INFINITY When computing the value
21861         of maxfd, use min(getdtablesize(), RLIMIT_NOFILE)
21862         [8c16166802e5]
21863
21864         * CHANGES:
21865         recent changes
21866         [09fc7112e44d]
21867
21868         * BUGS, Makefile.in, README, configure.in, sudo.cat, sudo.man,
21869         sudoers.cat, sudoers.man, version.h, visudo.cat, visudo.man:
21870         Crank version to 1.6.2
21871         [055fa61a7c61]
21872
21873         * INSTALL, defaults.c, defaults.h, sudo.c, sudo.h, sudoers.pod:
21874         Add 'shell_noargs' runtime option back in. We have to defer
21875         checking until after the sudoers file has been parsed but since
21876         there are now other options that operate that way this one can too.
21877         Based on a patch from bguillory@email.com.
21878         [231db7a007a6]
21879
21880         * defaults.c, defaults.h, parse.c, sudo.c, sudo.h:
21881         Add "listpw" and "verifypw" options.
21882         [190683bac878]
21883
21884         * sudoers.cat, sudoers.man, sudoers.pod:
21885         o Fix some typos/omissions o Add section on verifypw and listpw o
21886         Define how NOPASSWD interacts with the -v and -l flags
21887         [6feb7350eb79]
21888
21889 2000-01-14  Todd C. Miller  <Todd.Miller@courtesan.com>
21890
21891         * configure, configure.in:
21892         For HP-UX cc, add -Aa to CPPFLAGS. For HP-UX always add
21893         -D_HPUX_SOURCE to CPPFLAGS.
21894         [06cc35d89dc8]
21895
21896         * defaults.c, defaults.h:
21897         In struct sudo_defs_types, move the union to the end and don't
21898         initialize the union member since that only works with an ANSI
21899         compiler. We set the value of the union by hand in init_defaults()
21900         anyway. This allows sudo to compile on a K&R compiler again.
21901         [623487e1fcfa]
21902
21903 2000-01-11  Todd C. Miller  <Todd.Miller@courtesan.com>
21904
21905         * parse.c, parse.h, parse.yacc, sudo.tab.c, testsudoers.c, visudo.c:
21906         netgr_matches needs to check shost as well as host since they may be
21907         different.
21908         [3f43ace23d3e]
21909
21910         * tgetpass.c:
21911         End on \r as well as \n
21912         [cb7c6e6f4202]
21913
21914 2000-01-03  Todd C. Miller  <Todd.Miller@courtesan.com>
21915
21916         * sudo.c:
21917         Update statbuf.st_mode based on SUDOERS_MODE when we are chaning
21918         from 0400 to whatever SUDOERS_MODE is (converting from the old
21919         sudoers mode). Assumes that SUDOERS_MODE is less restrictive than
21920         0400 which should always be the case.
21921         [34cd83d49d20]
21922
21923         * parse.c, parse.yacc, sudo.c, sudo.h, sudo.tab.c:
21924         Make treatment of -l and -v sane wrt NOPASSWD flags. Now allow -l
21925         w/o a passwd if there is *any* entry for the user on the host with a
21926         NOPASSWD flag. For -v, only allow w/o a passwd if *all* entries for
21927         the user on the host w/ the specified runas user have the NOPASSWD
21928         flag set.
21929         [4b3b85697653]
21930
21931         * Makefile.in:
21932         add check target
21933         [3d24d34a76fd]
21934
21935 1999-12-16  Todd C. Miller  <Todd.Miller@courtesan.com>
21936
21937         * visudo.c:
21938         Treat EOF at whatnow prompt like 'x' instead of looping.
21939         [5deffc27114c]
21940
21941 1999-12-10  Todd C. Miller  <Todd.Miller@courtesan.com>
21942
21943         * CHANGES:
21944         recent changes
21945         [5836a9452568] [SUDO_1_6_1]
21946
21947 1999-12-09  Todd C. Miller  <Todd.Miller@courtesan.com>
21948
21949         * config.h.in, configure, configure.in, sudo.c:
21950         Add check for initgroups() since old SYSV lacks this.
21951         [657a6005a569]
21952
21953         * CHANGES, RUNSON, aclocal.m4, config.h.in, configure, configure.in,
21954         parse.c, testsudoers.c:
21955         o Kill HAVE_FNMATCH_H o Only define HAVE_FNMATCH if <fnmatch.h>
21956         exists.
21957         [17d081e917d6]
21958
21959 1999-12-06  Todd C. Miller  <Todd.Miller@courtesan.com>
21960
21961         * auth/sudo_auth.c:
21962         Don't allow insults to be enabled if the insults[] array is empty.
21963         Otherwise there would be division by zero.
21964         [b20c14db6029]
21965
21966         * insults.h:
21967         Don't allow insults to be enabled if the insults[] array is empty.
21968         Otherwise there would be division by zero.
21969         [028f130204b0]
21970
21971         * CHANGES, RUNSON:
21972         Don't allow insults to be enabled if the insults[] array is empty.
21973         Otherwise there would be division by zero.
21974         [974f4780254b]
21975
21976         * insults.h:
21977         Don't care about USE_INSULTS #define since the insult stuff may be
21978         overridden at runtime.
21979         [b873df8b299c]
21980
21981         * auth/sudo_auth.c:
21982         Honor insults flag.
21983         [756111640fdc]
21984
21985         * CHANGES, parse.c:
21986         Don't ask the user for a password if the user is not allowed to run
21987         the command and the authenticate flag (in sudoers) is false.
21988         [cea9fdc09c76]
21989
21990         * CHANGES, RUNSON, lex.yy.c, parse.lex:
21991         o Whenever we get a bare newline we change to the INITIAL state. o
21992         Enter GOTRUNAS when we see Runas_Alias
21993
21994         This allows #uid to work in a RunasAlias.
21995         [a475513e7c7a]
21996
21997 1999-12-05  Todd C. Miller  <Todd.Miller@courtesan.com>
21998
21999         * CHANGES, parse.yacc, sudo.tab.c:
22000         fix parsing of runas lists: o oprunasuser and runaslist now return a
22001         value o in a runasspec, if a runaslist does not return TRUE, set
22002         runas_matches to FALSE. Normally, a runaslist only returns FALSE
22003         for explicitly denied users. o since runaslist does not modify the
22004         stack there is no need for a push/pop in runasalias.
22005         [82b305b34a8c]
22006
22007         * check.c, sudo.c:
22008         Don't kill the user's tickets until after sudoers has been parsed
22009         since tty_tickets and ticket_dir could be set in sudoers.
22010         [f43e25367f3a]
22011
22012         * BUGS, CHANGES, Makefile.binary, Makefile.in, README, RUNSON,
22013         configure, configure.in, sudo.cat, sudo.man, sudoers.cat,
22014         sudoers.man, tgetpass.c, version.h, visudo.cat, visudo.man:
22015         crank version to 1.6
22016         [95f8bdcf9bb2]
22017
22018         * testsudoers.c:
22019         add set_fqdn() stub
22020         [bbc81af5b41a]
22021
22022 1999-12-02  Todd C. Miller  <Todd.Miller@courtesan.com>
22023
22024         * INSTALL, defaults.c, defaults.h, sudo.c, sudo.h, sudoers.cat,
22025         sudoers.man, sudoers.pod, visudo.c:
22026         o Kill shell_noargs option, it cannot work since the command needs
22027         to be set before sudoers is parsed. o Fix the "set_home" sudoers
22028         option (only worked at compile time). o Fix "fqdn" sudoers option.
22029         We now set host/shost via set_fqdn which gets called when the
22030         "fqdn" option is set in sudoers. o Move the openlog() to
22031         store_syslogfac() so this gets overridden correctly from the
22032         sudoers file.
22033         [3dca861f0f5d]
22034
22035         * auth/securid.c:
22036         SecurID support should compile now.
22037         [a544e5c6ea34]
22038
22039 1999-11-29  Todd C. Miller  <Todd.Miller@courtesan.com>
22040
22041         * sudo.cat, sudo.man, sudo.pod, sudoers.cat, sudoers.man, visudo.cat,
22042         visudo.man, visudo.pod:
22043         fix some syntactic goofs
22044         [b3451f0d5239]
22045
22046 1999-11-28  Todd C. Miller  <Todd.Miller@courtesan.com>
22047
22048         * Makefile.in, sudo.html, sudoers.html, visudo.html:
22049         No longer need the .html files as they are generated automatically
22050         on the web site.
22051         [1b4aa4204584]
22052
22053         * CHANGES, LICENSE:
22054         kill characters that made wml unhappy
22055         [b988fbc6da56]
22056
22057         * HISTORY:
22058         typo
22059         [a418963f7fce]
22060
22061 1999-11-25  Todd C. Miller  <Todd.Miller@courtesan.com>
22062
22063         * README:
22064         majordomo@cs.colorado.edu -> majordomo@courtesan.com
22065         [5d151e8ffd3b]
22066
22067         * Makefile.in, configure:
22068         Wrap script execution w/ /bin/sh for the benefit of ctm
22069         [3a9c4766b2c3]
22070
22071 1999-11-24  Todd C. Miller  <Todd.Miller@courtesan.com>
22072
22073         * sudo.c:
22074         Make the -s flag be exclusive too. Also reorder the flags in the
22075         exclusive usage message so they are alphabetical.
22076         [4c7af200db34]
22077
22078 1999-11-23  Todd C. Miller  <Todd.Miller@courtesan.com>
22079
22080         * auth/pam.c:
22081         make pam errors other than PAM_PERM_DENIED fatal
22082         [64bcb3fd2baf]
22083
22084         * auth/API:
22085         fix typo
22086         [f3134c88b12e]
22087
22088         * INSTALL:
22089         make it clear that /etc/pam.d/sudo is required on linux
22090         [213cc3eaad82]
22091
22092         * auth/pam.c:
22093         fix a warning on redhat and spew an error if pam_authenticate()
22094         returns an error other than AUTH_SUCCESS or PAM_PERM_DENIED
22095         [7e46dd19da89]
22096
22097         * sudo.cat, sudo.html, sudo.man, sudo.pod:
22098         Be very clear that the password required is the user's not root's
22099         [a6da127347e5]
22100
22101 1999-11-20  Todd C. Miller  <Todd.Miller@courtesan.com>
22102
22103         * Makefile.in:
22104         add sample.syslog.conf to DISTFILES and BINFILES
22105         [8661c27c007e]
22106
22107 1999-11-19  Todd C. Miller  <Todd.Miller@courtesan.com>
22108
22109         * RUNSON:
22110         updates from Brian Jackson + some formatting
22111         [6d31c6fa63f8]
22112
22113 1999-11-18  Todd C. Miller  <Todd.Miller@courtesan.com>
22114
22115         * INSTALL.binary, Makefile.binary, README, RUNSON:
22116         o One RUNSon update o Changes for automating real binary releases
22117         [dd9585f4406c]
22118
22119         * Makefile.in:
22120         Add bindist target
22121         [546ed3fa94bb]
22122
22123 1999-11-16  Todd C. Miller  <Todd.Miller@courtesan.com>
22124
22125         * TROUBLESHOOTING:
22126         talk about run-time options in addition to compile-time options
22127         [1eb813ff0a9a] [SUDO_1_6_0]
22128
22129         * CHANGES:
22130         fix typos
22131         [65e92bb70a7b]
22132
22133         * sudo.c:
22134         need sys/time.h if HAVE_SETRLIMIT
22135         [ce31655a8a60]
22136
22137         * PORTING, README, RUNSON, sudo.c, sudo.cat, sudo.html, sudo.man,
22138         sudo.pod, visudo.cat, visudo.html, visudo.man, visudo.pod:
22139         get rid of references to sudo-bugs. Now mention the web site or the
22140         sudo@ alias
22141         [a9db861fd8c6]
22142
22143         * sudoers.html:
22144         repair pod2html damage
22145         [62ece4277f1f]
22146
22147         * RUNSON, TODO:
22148         Update for 1.6 release
22149         [98569c57ba2a]
22150
22151         * sudoers.cat, sudoers.html, sudoers.man, sudoers.pod:
22152         Add warning about using ALL in a command context.
22153         [6c77685ab280]
22154
22155 1999-11-09  Todd C. Miller  <Todd.Miller@courtesan.com>
22156
22157         * visudo.c:
22158         Call yyrestart() on a parse error to reset the lexer state.
22159         [1370a27acdb2]
22160
22161         * lex.yy.c, parse.lex:
22162         Don't need YY_FLUSH_BUFFER after all Move yyrestart() into visudo.c
22163         since it might not get called in yywrap if we get a parse error
22164         (and we only reread the file on error anyway).
22165         [37f4b449e28e]
22166
22167         * lex.yy.c, parse.lex:
22168         Call YY_FLUSH_BUFFER macro in yywrap() to clean up any buffers that
22169         might still exist. Call yyrestart() instead of using the deprecated
22170         YY_NEW_FILE macro.
22171         [7d0d873046c6]
22172
22173         * lex.yy.c, parse.lex:
22174         flex doesn't need %N table size declarations
22175         [268b020fd60a]
22176
22177         * sudoers.cat, sudoers.html, sudoers.man, sudoers.pod:
22178         Mention what characters need to be escaped in names.
22179         [72ccbb6b0f31]
22180
22181 1999-11-08  Todd C. Miller  <Todd.Miller@courtesan.com>
22182
22183         * configure:
22184         regen
22185         [65827abb5c7b]
22186
22187         * INSTALL:
22188         clarify Mac OS X entry
22189         [8da1549a71f5]
22190
22191         * RUNSON:
22192         update
22193         [0cff8df7459f]
22194
22195         * configure.in:
22196         o Use AC_MSG_ERROR throughout o Check syslog configure options for
22197         danity
22198         [4cb81e642e5c]
22199
22200 1999-11-05  Todd C. Miller  <Todd.Miller@courtesan.com>
22201
22202         * defaults.c:
22203         Fix printing of type T_MODE in dump_defaults()
22204         [a868bb6f5515]
22205
22206         * strcasecmp.c:
22207         missing sys/types.h
22208         [ca694ca325b6]
22209
22210         * INSTALL:
22211         Break out options that may be overridden at run time into their own
22212         section. Add a not about Max OS X and correct some lies.
22213         [d8bcfd120593]
22214
22215 1999-11-04  Todd C. Miller  <Todd.Miller@courtesan.com>
22216
22217         * CHANGES, config.h.in, configure, configure.in, sudo.c:
22218         o Now use getrlimit to find the highest fd when closing all non-std
22219         fd's o Turn off core dumps via setrlimit for the sake of paranoia
22220         [dd9f651b6def]
22221
22222         * RUNSON:
22223         updates
22224         [f581841fe615]
22225
22226 1999-11-01  Todd C. Miller  <Todd.Miller@courtesan.com>
22227
22228         * CHANGES:
22229         updates
22230         [553baa1d44c7]
22231
22232         * tgetpass.c:
22233         When read()'ing, do a single character at a time to be sure we don't
22234         go oast the newline.
22235         [907d33f55bb4]
22236
22237         * sudo.c:
22238         For the sudo_root option, check against user_uid, not getuid() since
22239         at this point, ruid == euid == 0.
22240         [92d5c51939b4]
22241
22242         * RUNSON:
22243         some updates
22244         [e3ed0c1f312b]
22245
22246         * logging.h:
22247         Fix compilation problem when --with-logging=file was specified.
22248         This means that syslog is now required to build sudo but that should
22249         not be a problem. If it is it can be fixed trivially with a
22250         configure check for syslog() or syslog.h.
22251         [839a4b069190]
22252
22253         * tgetpass.c:
22254         Make this work again for things like "sudo echo hi | more" where the
22255         tty gets put into character at a time mode. We read until we read
22256         end of line or we run out of space (similar to fgets(3)).
22257         [c8f746df2e63]
22258
22259 1999-10-20  Todd C. Miller  <Todd.Miller@courtesan.com>
22260
22261         * sudoers.cat, sudoers.html, sudoers.man, sudoers.pod:
22262         change ital to bold
22263         [f860978e530a]
22264
22265         * RUNSON:
22266         update
22267         [9bcfbb405568]
22268
22269 1999-10-16  Todd C. Miller  <Todd.Miller@courtesan.com>
22270
22271         * defaults.c:
22272         Error out if syslog parameters are given without a value. For
22273         Ultrix or 4.2BSD "syslog" is allowed without a value since there are
22274         no facilities in the 4.2BSD syslog.
22275         [69e7a686f5f0]
22276
22277 1999-10-15  Todd C. Miller  <Todd.Miller@courtesan.com>
22278
22279         * defaults.c:
22280         Ignore the syslog facility for systems w/ old syslog like Ultrix.
22281         [5c250adbbb84]
22282
22283         * TROUBLESHOOTING:
22284         people with "." early in their path can have problems running sudo
22285         from the build dir ;-)
22286         [20a1744a24a4]
22287
22288 1999-10-13  Todd C. Miller  <Todd.Miller@courtesan.com>
22289
22290         * sudo.cat, sudo.html, sudo.man, sudo.pod:
22291         Remove -r realm option
22292         [127caa537f95]
22293
22294         * auth/kerb5.c, auth/sudo_auth.c, auth/sudo_auth.h, configure,
22295         configure.in, sudo.c:
22296         New krb5 code from Frank Cusack <fcusack@iconnet.net>.
22297         [7177a3893a62]
22298
22299         * CHANGES:
22300         update to reality
22301         [766cfbb512d6]
22302
22303 1999-10-12  Todd C. Miller  <Todd.Miller@courtesan.com>
22304
22305         * auth/fwtk.c:
22306         include <auth.h> to get function prototypes.
22307         [d6c7c12d09fe]
22308
22309         * sudo.cat, sudo.html, sudo.man, sudo.pod:
22310         document -L flag
22311         [dc803e1ce0d7]
22312
22313 1999-10-11  Todd C. Miller  <Todd.Miller@courtesan.com>
22314
22315         * sudo.c:
22316         in set_perms(), always call setuid(0) before changing the ruid/euid
22317         so we always know it will succeed.
22318         [8cced1b862bf]
22319
22320         * defaults.h:
22321         #undef T_FOO to avoid conflicts with system defines (like on
22322         ULTRIX).
22323         [d9f0aac092b0]
22324
22325         * TODO, sample.sudoers, sudoers.cat, sudoers.html, sudoers.man,
22326         sudoers.pod:
22327         Docuement "Defaults" lines in /etc/sudoers. Still needs some
22328         fleshing out but this is a start.
22329         [521a1e629bbc]
22330
22331 1999-10-10  Todd C. Miller  <Todd.Miller@courtesan.com>
22332
22333         * use strtol, not strtoul since not everyone has not strtoul
22334         [988462f093cc]
22335
22336         * defaults.c:
22337         use strtol, not strtoul since not everyone has not strtoul
22338         [fce835ce62e3]
22339
22340         * lex.yy.c, parse.lex:
22341         last {WORD} rule should only apply in the INITIAL state
22342         [9b57570bfa83]
22343
22344         * lex.yy.c, parse.lex:
22345         o Add support for escaped characters in the WORD macro o Modify
22346         fill() to squash escape chars
22347         [87572d59e4e0]
22348
22349         * defaults.c, defaults.h:
22350         o Add T_PATH flag to allow simple sanity checks for default values
22351         that are supposed to be pathnames. o Fix a duplicate free when
22352         visudo finds an error.
22353         [bdc6855a6c6d]
22354
22355 1999-10-09  Todd C. Miller  <Todd.Miller@courtesan.com>
22356
22357         * defaults.c, defaults.h, logging.c:
22358         mail_if_foo -> mail_foo
22359         [cbee9415875d]
22360
22361 1999-10-08  Todd C. Miller  <Todd.Miller@courtesan.com>
22362
22363         * compat.h, defaults.c, defaults.h, sudo.c, tgetpass.c:
22364         o Add requiretty option o Move O_NOCTTY to compat.h
22365         [65b8bf0e1795]
22366
22367         * logging.c:
22368         The exit() in log_error() was mistakenly removed in a previous
22369         version. Put it back...
22370         [9473449130a4]
22371
22372 1999-10-07  Todd C. Miller  <Todd.Miller@courtesan.com>
22373
22374         * INSTALL, TODO, auth/aix_auth.c, auth/fwtk.c, auth/pam.c,
22375         auth/rfc1938.c, auth/sia.c, auth/sudo_auth.c, check.c, config.h.in,
22376         configure, configure.in, defaults.c, defaults.h, find_path.c,
22377         getspwuid.c, logging.c, parse.yacc, sudo.c, sudo.tab.c:
22378         o Change defaults stuff to put the value right in the struct. o
22379         Implement mailer_flags o Store syslog stuff both in int and string
22380         form. Setting the string form magically updates the int version.
22381         o Add boolean attribute to strings where it makes sense to say !foo
22382         [4698953f9a36]
22383
22384         * tgetpass.c:
22385         add O_NOCTTY when opening /dev/tty just in case
22386         [4c6d1d1bb300]
22387
22388 1999-10-06  Todd C. Miller  <Todd.Miller@courtesan.com>
22389
22390         * auth/API:
22391         cleanup function no longer takes a status arg
22392         [0819edbfe7f8]
22393
22394         * INSTALL:
22395         the the
22396         [19aadb65ea28]
22397
22398 1999-09-15  Todd C. Miller  <Todd.Miller@courtesan.com>
22399
22400         * TODO, config.h.in, configure, configure.in, logging.c:
22401         Use strftime() instead of ctime() if it is available.
22402         [fb60ea63b514]
22403
22404 1999-09-14  Todd C. Miller  <Todd.Miller@courtesan.com>
22405
22406         * defaults.c:
22407         fix copyright date
22408         [4a53b54aa72f]
22409
22410         * RUNSON:
22411         update ReliantUNIX entry
22412         [de618a4f67d9]
22413
22414         * defaults.c, defaults.h, logging.c:
22415         add log_year option
22416         [251a9e20568a]
22417
22418         * configure, configure.in:
22419         add --without-sendmail to help output
22420         [93162f199902]
22421
22422         * configure, configure.in:
22423         enforce an otctal arg for --with-suoders-mode
22424         [45e1b04ccad3]
22425
22426 1999-09-08  Todd C. Miller  <Todd.Miller@courtesan.com>
22427
22428         * BUGS, INSTALL, Makefile.in, TODO, aclocal.m4, auth/aix_auth.c,
22429         auth/fwtk.c, auth/kerb5.c, auth/pam.c, auth/rfc1938.c, auth/sia.c,
22430         auth/sudo_auth.c, check.c, config.h.in, configure, configure.in,
22431         defaults.c, defaults.h, find_path.c, lex.yy.c, logging.c, parse.h,
22432         parse.lex, parse.yacc, sudo.c, sudo.h, sudo.tab.c, sudo.tab.h,
22433         testsudoers.c, version.c, visudo.c:
22434         Add support for "Defaults" line in sudoers to make configuration
22435         variables changable at runtime (and on a global, per-host and per-
22436         user basis). Both the names and the internal representation are
22437         still subject to change. It was necessary to make sudo_user.runas
22438         but a char ** instead of a char * since this value can be changed by
22439         a Defaults line. There is a similar (but more complicated) issue
22440         with sudo_user.prompt but it is handled differently at the moment.
22441
22442         Add a "-L" flag to list the name of options with their descriptions.
22443         This may only be temporary.
22444
22445         Move some prototypes to parse.h
22446
22447         Be much less restrictive on what is allowed for a username.
22448         [f71abf7ba80c]
22449
22450         * sample.syslog.conf:
22451         Add more info
22452         [e952e6f42d4d]
22453
22454 1999-09-04  Todd C. Miller  <Todd.Miller@courtesan.com>
22455
22456         * LICENSE, fnmatch.3, fnmatch.c, getcwd.c, lsearch.c, snprintf.c,
22457         strcasecmp.c:
22458         UCB has dropped the advertising clause from their license.
22459         [a5602b36a341]
22460
22461 1999-08-31  Todd C. Miller  <Todd.Miller@courtesan.com>
22462
22463         * auth/sudo_auth.h:
22464         move dce_verofy proto to correct section
22465         [972c815af558]
22466
22467         * auth/dce.c:
22468         remove XXX
22469         [820631855be0]
22470
22471 1999-08-28  Todd C. Miller  <Todd.Miller@courtesan.com>
22472
22473         * emul/fnmatch.h:
22474         Add fnmatch() prototype
22475         [79e84576d92a]
22476
22477         * fnmatch.c, parse.c, testsudoers.c:
22478         Move inclusion of emul/fnmatch.h to be after sudo.h for __P
22479         [1182c89fa811]
22480
22481         * sudo.h:
22482         add strcasecmp proto
22483         [512d1d8a6a0c]
22484
22485         * auth/sudo_auth.c:
22486         add check for case where there are no auth methods
22487         [e4af2b91b43e]
22488
22489         * configure, configure.in:
22490         Define _XOPEN_EXTENDED_SOURCE on AIX and __USE_FIXED_PROTOTYPES__ on
22491         SunOS4 w/ gcc
22492         [746ce8bcec23]
22493
22494         * getspwuid.c, lex.yy.c, parse.lex, parse.yacc, sudo.tab.c:
22495         include strings.h everywhere we include string.h
22496         [6f7d5d437e7b]
22497
22498         * version.c:
22499         nicer output when showing auth methods
22500         [0eac4b977f9d]
22501
22502         * version.c:
22503         Add support for SEND_MAIL_WHEN_NO_HOST
22504         [9f20a3a3fae6]
22505
22506         * config.h.in, configure, configure.in:
22507         Add _GNU_SOURCE for Linux
22508         [c7bd8c511847]
22509
22510         * lex.yy.c, parse.lex:
22511         fix definition of OCTECT
22512         [4af30e63244d]
22513
22514         * configure, configure.in:
22515         aix_auth.o not authenticate.o
22516         [fe95dfb08df4]
22517
22518 1999-08-27  Todd C. Miller  <Todd.Miller@courtesan.com>
22519
22520         * sudo.c:
22521         Only block SIGINT, SIGQUIT, SIGTSTP (which can be generated from the
22522         keyboard). Since we run with ruid/euid == 0 the user can't really
22523         signal us in nasty ways.
22524         [a7f6487c0f48]
22525
22526         * visudo.c:
22527         Don't need to worry about catching too many signals since we do
22528         locking on the tmp file. If a lockfile is really stale, it will be
22529         detected and overwritten.
22530         [28983db3e749]
22531
22532         * INSTALL, Makefile.in:
22533         include auth/API in tarball
22534         [014991600252]
22535
22536         * auth/sudo_auth.c:
22537         move memset() of plaintext pw outside of verify loop and only do the
22538         memset if we are *not* in standalone mode.
22539         [66f8e87567e2]
22540
22541         * auth/sudo_auth.c, auth/sudo_auth.h:
22542         DCE is not a standalone method
22543         [34963e2d8a1b]
22544
22545         * sudo.c:
22546         fix --enable-noargs-shell
22547         [4234062abbb0]
22548
22549         * snprintf.c:
22550         "#ifdef __STDC__" not "#if __STDC__" (I missed one)
22551         [c430b80454c6]
22552
22553         * auth/fwtk.c, auth/sia.c:
22554         _cleanup() function returns an int.
22555         [d1a1cc071ec1]
22556
22557         * auth/dce.c:
22558         there were still some return(0)'s hanging around, make them
22559         AUTH_FAILURE
22560         [1002aa1962c3]
22561
22562         * parse.c:
22563         typo in comment
22564         [5abc410dbfd2]
22565
22566         * version.c:
22567         add missing semicolon
22568         [a262283b52a5]
22569
22570         * auth/sudo_auth.h:
22571         missing backslash
22572         [bf89f6bd2900]
22573
22574 1999-08-26  Todd C. Miller  <Todd.Miller@courtesan.com>
22575
22576         * CHANGES, config.h.in, configure, configure.in:
22577         Kill _XOPEN_EXTENDED_SOURCE -- causes problems on some OSes
22578         [f1a9bca0cf67]
22579
22580         * Makefile.in:
22581         add parse.h to HDRS
22582         [a3d054987766]
22583
22584         * Makefile.in, configure, configure.in:
22585         Kill VISUDO_LIBS and VISUDO_LDFLAGS. Add LIBS, NET_LIBS, and
22586         LDFLAGS. Common libs go in LIBS, commong ld flags go in LDFLAGS and
22587         network libs like -lsocket, -lnsl go in NET_LIBS. This allows
22588         testsudoers to build on Solaris and is a bit cleaner in general.
22589         [4e6239e97002]
22590
22591         * UPGRADE:
22592         mention ptmp -> sudoers.tmp
22593         [ec3baa0fe8a1]
22594
22595         * config.h.in, configure, configure.in:
22596         Define _XOPEN_SOURCE_EXTENDED not _XOPEN_SOURCE
22597         [6f93dc7f39f5]
22598
22599         * RUNSON:
22600         add 2 reports
22601         [ce0fcc00ee4e]
22602
22603         * auth/kerb5.c:
22604         Minor changes, mostly cosmetic. verify_krb_v5_tgt() changed to
22605         return a value more like a system function
22606         [0dd56aa21424]
22607
22608         * auth/dce.c:
22609         Add an XXX
22610         [58fc8562c212]
22611
22612         * TODO:
22613         more things todo!
22614         [5a459d0cf339]
22615
22616         * sample.sudoers:
22617         update based on what is in the man page
22618         [1a0477db96fa]
22619
22620         * parse.yacc, sudo.tab.c:
22621         minor change to first line printed in -l mode
22622         [69eb57d96952]
22623
22624         * sudo.cat, sudo.html, sudo.man, sudo.pod:
22625         rename "ENVIRONMENT VARIABLES" section to "ENVIRONMENT" to be more
22626         standard and add "EXAMPLES" section
22627         [7e543335ebe1]
22628
22629         * visudo.cat, visudo.html, visudo.man, visudo.pod:
22630         rename "ENVIRONMENT VARIABLES" section to "ENVIRONMENT" to be more
22631         standard
22632         [f82d87ed65c2]
22633
22634         * logging.c, parse.c, sudo.h:
22635         add FLAG_NO_CHECK
22636         [c7d69176a2d7]
22637
22638         * lex.yy.c, parse.lex:
22639         make an OCTET really be limited to 0-255
22640         [6ee568dd6a02]
22641
22642         * UPGRADE:
22643         mention timestamp changes
22644         [e44d5302bf60]
22645
22646         * PORTING:
22647         cosmetic cleanup
22648         [36fa3a2664dd]
22649
22650         * sudoers.cat, sudoers.html, sudoers.man, sudoers.pod:
22651         new sudoers(8) man page
22652         [e674d06283d0]
22653
22654 1999-08-24  Todd C. Miller  <Todd.Miller@courtesan.com>
22655
22656         * version.c:
22657         Update comments about syslog name tables
22658         [63830a782dcb]
22659
22660         * CHANGES, LICENSE, Makefile.in, configure, configure.in, parse.yacc,
22661         strcasecmp.c, sudo.tab.c:
22662         include strcasecmp() for those without it
22663         [a0d8e2488bbc]
22664
22665         * sample.sudoers:
22666         Use the : operator some more and fix a typo
22667         [18804c70da86]
22668
22669         * HISTORY:
22670         update the history of sudo
22671         [9d9b3d5279b3]
22672
22673         * parse.c, parse.lex, testsudoers.c:
22674         CIDR-style netmask support
22675         [768644467353]
22676
22677         * CHANGES:
22678         recent changes
22679         [a4319e9d07cb]
22680
22681         * sudo.tab.c, sudo.tab.h:
22682         these should be generated with byacc, not bison
22683         [f57b9489b752]
22684
22685         * lex.yy.c:
22686         regen
22687         [522461f95dfa]
22688
22689         * parse.h, parse.yacc, sudo.tab.c, sudo.tab.h:
22690         In "sudo -l" mode, the type of the stored (expanded) alias was not
22691         stored with the contents. This could lead to incorrect output if
22692         the sudoers file had different alias types with the same name.
22693         Normal parsing (ie: not in '-l' mode) is unaffected.
22694         [823fe2bc4b79]
22695
22696 1999-08-23  Todd C. Miller  <Todd.Miller@courtesan.com>
22697
22698         * configure, configure.in:
22699         define _XOPEN_SOURCE to get at crypt() proto on some systems
22700         [1b3769b86fb9]
22701
22702 1999-08-22  Todd C. Miller  <Todd.Miller@courtesan.com>
22703
22704         * snprintf.c:
22705         fix comment
22706         [fc1264df00f7]
22707
22708         * tgetpass.c:
22709         don't need limits.h
22710         [f1631829af45]
22711
22712         * snprintf.c:
22713         kill bogus reference to vfprintf
22714         [a0b99b25d389]
22715
22716         * sample.sudoers, sudoers:
22717         better examples
22718         [b4d87ea64cc8]
22719
22720         * snprintf.c:
22721         Add some const in the K&R defs. This is safe since we define const
22722         away if the compiler doesn't grok it.
22723         [614d6e83d45e]
22724
22725         * aclocal.m4, configure:
22726         Better test for working long long support. Ultrix compiler supports
22727         basic long long but not all operations on them.
22728         [5da1508710ed]
22729
22730         * aclocal.m4, auth/secureware.c, config.h.in, configure, getspwuid.c,
22731         snprintf.c, sudo.c:
22732         Add check for LONG_IS_QUAD #undef MAXINT before including
22733         hpsecurity.h to silence an HP-UX warning Check for U?LONG_LONG_MAX
22734         in snprintf.c and use LONG_IS_QUAD
22735         [a1f7993367fc]
22736
22737 1999-08-21  Todd C. Miller  <Todd.Miller@courtesan.com>
22738
22739         * LICENSE, aclocal.m4, config.h.in, configure, configure.in,
22740         snprintf.c:
22741         UCB-derived snprintf + asprintf support. Supports quads if the
22742         compiler does. No floating point yet, perhaps later...
22743         [0caf05aba945]
22744
22745 1999-08-20  Todd C. Miller  <Todd.Miller@courtesan.com>
22746
22747         * auth/API, auth/sudo_auth.c, auth/sudo_auth.h, check.c, find_path.c,
22748         goodpath.c, logging.c, parse.c, sudo.c:
22749         Run most of the code as root, not the invoking user. It doesn't
22750         really gain us anything to run as the user since an attacker can
22751         just have an setuid(0) in their egg. Running as root solves
22752         potential problems wrt signalling.
22753         [408e530dda01]
22754
22755         * sudo.tab.c:
22756         regen
22757         [f8cfb37e37de]
22758
22759 1999-08-19  Todd C. Miller  <Todd.Miller@courtesan.com>
22760
22761         * logging.c, sudo.c:
22762         Don't wait for child to finish in log_error(), let the signal
22763         handler get it if we are still running, else let init reap it for
22764         us. The extra time it takes to wait lets the user know that mail is
22765         being sent.
22766
22767         Install SIGCHLD handler in main() and for POSIX signals, block
22768         everything
22769         *except* SIGCHLD.
22770         [d2b6ab0ef3be]
22771
22772         * INSTALL, config.h.in, configure, configure.in, logging.c, parse.c,
22773         parse.yacc, sudo.c, sudo.h:
22774         sudoers_lookup() now returns a bitmap instead of an int. This makes
22775         it possible to express things like "failed to validate because user
22776         not listed for this host". Some thigns that were previously
22777         VALIDATE_FOO are now FLAG_FOO. This may change later on.
22778
22779         Reorganized code in log_auth() and sudo.c to deal with above
22780         changes.
22781
22782         Safer versions of push/pushcp with in the do { ... } while (0) style
22783
22784         parse.yacc now saves info on the stack to allow parse.c to determine
22785         if a user was listed, but not for the host he/she tried to run on.
22786
22787         Added --with-mail-if-no-host option
22788         [63326cb01efc]
22789
22790 1999-08-17  Todd C. Miller  <Todd.Miller@courtesan.com>
22791
22792         * parse.yacc, sudo.h, sudo.tab.c, visudo.c, visudo.cat, visudo.html,
22793         visudo.man, visudo.pod:
22794         o NewArgv and NewArgc don't need to be externally visible. o If
22795         pedantic > 1, it is a parse error. o Add -s (strict) option to
22796         visudo which sets pedantic to 2.
22797         [5d7d81b55cd5]
22798
22799         * HISTORY, INSTALL:
22800         Just have sudo-bugs contact info in one place
22801         [e7f6588ea683]
22802
22803         * sudo.cat, sudo.html, sudo.man, sudo.pod:
22804         Add BUGS section
22805         [6607d96ea510]
22806
22807         * Makefile.in, configure, configure.in:
22808         Add testsudoers to default build target if --with-devel Don't clean
22809         generated parser files unless "distclean".
22810         [5827b769dc57]
22811
22812         * parse.yacc, sudo.tab.c:
22813         In pedantic mode we need to save *all* the aliases, not just those
22814         that match, or we get spurious warnings.
22815         [24f5b1f0e1de]
22816
22817         * TROUBLESHOOTING:
22818         reference samples.sylog.conf
22819         [11841668380a]
22820
22821 1999-08-14  Todd C. Miller  <Todd.Miller@courtesan.com>
22822
22823         * sample.syslog.conf:
22824         Sample entries for syslog.conf
22825         [0f7697d878a1]
22826
22827         * CHANGES:
22828         recent changes
22829         [8bca8810c6bd]
22830
22831         * auth/API, auth/afs.c, auth/aix_auth.c, auth/dce.c, auth/fwtk.c,
22832         auth/kerb4.c, auth/kerb5.c, auth/pam.c, auth/passwd.c,
22833         auth/rfc1938.c, auth/secureware.c, auth/securid.c, auth/sia.c,
22834         auth/sudo_auth.c, auth/sudo_auth.h:
22835         In struct sudo_auth, turn need_root and configured into flags and
22836         add a flag to specify an auth method is running alone (the only
22837         one). Pass auth methods their sudo_auth pointer, not the data
22838         pointer. This allows us to get at the flags and tell if we are the
22839         only auth method. That, in turn, allows the method to be able to
22840         decide what should/should not be a fatal error. Currently only
22841         rfc1938 uses it this way, which allows us to kill the OTP_ONLY
22842         define and te hackery that went with it. With access to the
22843         sudo_auth struct, methods can also get at a string holding their
22844         cannonical name (useful in error messages).
22845         [b7e320fc6511]
22846
22847         * INSTALL, Makefile.in, README, config.h.in, configure, configure.in,
22848         getspwuid.c, lex.yy.c, parse.lex, parse.yacc, sudo.tab.c,
22849         sudo.tab.h:
22850         o --with-otp deprecated, use --without-passwd instead o real
22851         dependencies in the Makefile o --with-devel option to enable yacc,
22852         lex, and -Wall o style -- "foo -> bar" becomes "foo->bar" o ALL goes
22853         back to being a token, not a string but don't leak memory o rename
22854         hsotspec -> host in parse.yacc
22855         [912c45226cb2]
22856
22857 1999-08-12  Todd C. Miller  <Todd.Miller@courtesan.com>
22858
22859         * BUGS, CHANGES:
22860         recent changes
22861         [801fa6e55687]
22862
22863         * auth/sudo_auth.c, configure, configure.in, interfaces.c, snprintf.c,
22864         sudo.c, sudo.h:
22865         o Digital UNIX needs to check for *snprintf() before -ldb is added
22866         to LIBS since -ldb includes a bogus snprintf(). o Add forward refs
22867         for struct mbuf and struct rtentry for Digital UNIX. o Reorder some
22868         functions in snprintf.c to fix -Wall o Add missing includes to fix
22869         more -Wall
22870         [8d207203e126]
22871
22872         * INSTALL, auth/sudo_auth.c, check.c, config.h.in, configure,
22873         configure.in, parse.yacc, sudo.tab.c, testsudoers.c, version.c,
22874         visudo.c:
22875         o Add a "pedentic" flag to the parser. This makes sudo warn in
22876         cases where an alias may be used before it is defined. Only turned
22877         on for visudo and testsudoers. o Add --disable-authentication option
22878         that makes sudo not require authentication by default. The PASSWD
22879         tag can be used to require authentication for an entry. We no
22880         longer overload --without-passwd.
22881         [f307e09adf98]
22882
22883         * lex.yy.c, parse.lex:
22884         Break 'WORD' regexp def into HOSTNAME and USERNAME. These days a
22885         username can contain just about anything so be very permissive. Also
22886         drop the unused \. punctuation.
22887         [06a50614ff89]
22888
22889 1999-08-09  Todd C. Miller  <Todd.Miller@courtesan.com>
22890
22891         * parse.yacc, sudo.tab.c:
22892         o add a 'val' element to aliasinfo struct and move -> parse.h o
22893         find_alias() now returns an aliasinfo * instead of boolean o
22894         add_alias() now takes a value parameter to store in the
22895         aliasinfo.val o The cmnd, hostspec, runasuser, and user rules now
22896         return: 1) positive match 0) negative match (due to '!')
22897         -1) no match This means setting $$ explicitly in all cases, which I
22898         should have done in the first place. It also means that we always
22899         store a value that is != -1 and when we see a '!' we can set
22900         *_matches to !rv if rv != -1. The upshot of all of this is that '!'
22901         now works the way it should in lists and some of the rules are more
22902         uniform and sensible.
22903         [ad8e73b5d581]
22904
22905         * Makefile.in:
22906         add parse.h dependency
22907         [4ccccd464d30]
22908
22909         * parse.h:
22910         kill unused *_matched macros
22911         [02cba6dcb732]
22912
22913         * parse.yacc:
22914         Allow a list of users as the first thing in a user spec, not just a
22915         single entry. This makes things more uniform, though it does allow
22916         you to write user specs that are hard to read.
22917         [3c4c91c508ca]
22918
22919         * sudo.tab.c:
22920         parse.yacc
22921         [feca81881bb6]
22922
22923         * configure:
22924         regen
22925         [6f247010bb3b]
22926
22927         * configure.in:
22928         fix check for crypt() in libufc
22929         [82770736f4b0]
22930
22931 1999-08-07  Todd C. Miller  <Todd.Miller@courtesan.com>
22932
22933         * README:
22934         sudo-users list now exists
22935         [4716d2bb0bbf]
22936
22937         * INSTALL, PORTING, README, TODO, TROUBLESHOOTING:
22938         Update to reality.
22939         [1eda2d57e42a]
22940
22941         * CHANGES, Makefile.in, TODO, TROUBLESHOOTING, check.c, compat.h,
22942         config.h.in, configure, configure.in, fileops.c, logging.c, sudo.h,
22943         version.c, visudo.c:
22944         o Move lock_file() and touch() into fileops.c so visudo can use them
22945         o Visudo now locks the sudoers temp file instead of bailing when the
22946         temp file already exists. This fixes the problem of stale temp
22947         files but it does *require* that you not try to put the temp file in
22948         a world-writable directory. This shoud not be an issue as the temp
22949         file should live in the same dir as sudoers. o Visudo now only
22950         installs the temp file as sudoers if it changed.
22951         [2517cd06c070]
22952
22953 1999-08-06  Todd C. Miller  <Todd.Miller@courtesan.com>
22954
22955         * logging.c:
22956         add fcntl locking
22957         [c304adeaf515]
22958
22959         * config.h.in, configure, configure.in, logging.c:
22960         Lock the log file.
22961         [d8652704fbdf]
22962
22963         * Makefile.in, TROUBLESHOOTING, parse.c, pathnames.h.in, sudo.c,
22964         visudo.c, visudo.cat, visudo.html, visudo.man, visudo.pod:
22965         o /etc/stmp -> /etc/sudoers.tmp since solaris uses stmp as shadow
22966         temp file o _PATH_SUDO_SUDOERS -> _PATH_SUDOERS and _PATH_SUDO_STMP
22967         -> _PATH_SUDOERS_TMP
22968         [68cad8975807]
22969
22970 1999-08-05  Todd C. Miller  <Todd.Miller@courtesan.com>
22971
22972         * INSTALL, check.c, config.h.in, configure, configure.in, version.c:
22973         o Kill *_MESSAGE and replace with NO_LECTURE o Add more things to
22974         root sudo -V config reporting
22975         [cdd2613a9dcf]
22976
22977         * configure, configure.in:
22978         aix_auth.o not authenticate.o
22979         [d972e35f6730]
22980
22981         * config.h.in:
22982         Add --with-goodpri and --with-badpri configure options to specify
22983         the syslog priority to use.
22984         [2595ae50ab86]
22985
22986         * INSTALL, configure, configure.in, logging.h:
22987         Add --with-goodpri and --with-badpri configure options to specify
22988         the syslog priority to use.
22989         [8276ee9b2b49]
22990
22991         * compat.h:
22992         kill crufty AIX stuff
22993         [a4f35ef9854e]
22994
22995         * Makefile.in:
22996         Sigh, some versions of make (like Solaris's) don't deal with $< like
22997         I would expect. Both GNU and BSD makes get this right but... So, we
22998         just expand $< inline at the cost of some ugliness.
22999         [b1b456f8801f]
23000
23001         * version.c:
23002         If the invoking user is root, sudo will now print configure info in
23003         -V mode. Currently just prints logging info, to be expanded later.
23004         [392f7ed99267]
23005
23006         * logging.c, logging.h, sudo.c, sudo.h:
23007         o new defines for syslog facility and priority o use new
23008         print_version() functino for -V mode
23009         [78abc5142985]
23010
23011         * check.c:
23012         Don't need version.c
23013         [db9a830ad893]
23014
23015         * aclocal.m4, config.h.in, configure, configure.in:
23016         Add check for syslog facilities and priorities tables in syslog.h
23017         [b86213e5fc5c]
23018
23019         * Makefile.in:
23020         o authenticate -> aix_auth o add version.c
23021         [44b6b9a8d0f5]
23022
23023         * auth/sudo_auth.c:
23024         Missed a prompt -> user_prompt conversion
23025         [e4c60b1f210c]
23026
23027 1999-08-04  Todd C. Miller  <Todd.Miller@courtesan.com>
23028
23029         * TODO:
23030         sudo should lock its logfile
23031         [6d2830b28b07]
23032
23033         * parse.yacc, sudo.tab.c:
23034         o Add '!' correctly when expanding Aliases. o Add shortcut macros
23035         for append() to make things more readable. o The separator in
23036         append() is now a string instead of a char. o In append(), only
23037         prepend the separator if the last char is not a '!'. This is a
23038         hack but it greatly simplifies '!' handling. o In -l mode, Runas
23039         lists and NOPASSWD/PASSWD tags are now inherited across entries in
23040         a list (matches current behavior). o Fix formatting in -l mode such
23041         that items in a list are separated by a space. Greatlt improves
23042         readability. o Space for name field in struct aliasinfo is now
23043         allocated dyanically instead of using a (big) buffer. o In
23044         add_alias(), only search the list once (lsearch instead of lfind +
23045         lsearch)
23046         [51f7e07addb9]
23047
23048         * lex.yy.c, sudo.tab.c, sudo.tab.h:
23049         regen
23050         [5c19bb05dc21]
23051
23052         * configure, configure.in:
23053         Solais pam doesn't require anye xtra setup
23054         [a25ba03d91d1]
23055
23056         * parse.yacc:
23057         o Simpler '!' support now that the lexer deals with multiple !'s for
23058         us. o In the case of opFOO, have FOO give a boolean return value and
23059         set foo_matches in opFOO, not FOO. o Treat 'ALL' as a string since
23060         it gets fill()'d in parse.lex--fixes a small memory leak. In the
23061         long run it may be better to just fix parse.lex and make ALL back
23062         into a token. However, having it be a string is useful since it
23063         can be easily passed back to the parent rule if we so desire.
23064         [b3c64b443018]
23065
23066         * parse.lex:
23067         o Remove some unnecessary backslashes o collapse multiple !'s by
23068         using !+ and checking if yyleng is even or odd. this allows us to
23069         simplify ! handling in parse.yacc
23070         [76330e8da8e3]
23071
23072         * sudo.c:
23073         -u flag was being ignored
23074         [e30283207585]
23075
23076 1999-08-01  Todd C. Miller  <Todd.Miller@courtesan.com>
23077
23078         * Makefile.in:
23079         correct fix
23080         [a0e2377dec8f]
23081
23082         * Makefile.in:
23083         work around pod2man stupididy
23084         [7c755640b67f]
23085
23086         * Makefile.in:
23087         correct dependencies for .cat
23088         [5ed7b0653b68]
23089
23090         * sudo.cat, sudo.man, visudo.cat, visudo.man:
23091         regen
23092         [b74510dd6a0a]
23093
23094         * sudo.pod, visudo.pod:
23095         Add copyright Update to reality
23096         [188e9b046c15]
23097
23098         * parse.c, sudo.c, sudo.h:
23099         rename validate() to the more descriptive sudoers_lookup()
23100         [7a1cb652f379]
23101
23102         * auth/aix_auth.c:
23103         use tgetpass
23104         [b8ba5daec40a]
23105
23106 1999-07-31  Todd C. Miller  <Todd.Miller@courtesan.com>
23107
23108         * CHANGES:
23109         updates
23110         [e61460cdf4a0]
23111
23112         * HISTORY, INSTALL, Makefile.in, README, RUNSON, TROUBLESHOOTING,
23113         configure, configure.in, sudo.c:
23114         Sudo, not CU Sudo
23115         [9061b3573c0c]
23116
23117         * LICENSE:
23118         add 4th term to license similar to term 5 in the apache license
23119         [92712e895afb]
23120
23121         * emul/search.h, emul/utime.h:
23122         add 4th term to license similar to term 5 in the apache license
23123         [4f93a8b9396e]
23124
23125         * auth/afs.c, auth/aix_auth.c, auth/dce.c, auth/fwtk.c, auth/kerb4.c,
23126         auth/kerb5.c, auth/pam.c, auth/passwd.c, auth/rfc1938.c,
23127         auth/secureware.c, auth/securid.c, auth/sia.c, auth/sudo_auth.c,
23128         auth/sudo_auth.h, insults.h, interfaces.c, interfaces.h, lex.yy.c,
23129         logging.c, logging.h, parse.c, parse.h, parse.lex, parse.yacc,
23130         pathnames.h.in, putenv.c, strerror.c, sudo.c, sudo.h, sudo.tab.c,
23131         sudo_setenv.c, testsudoers.c, tgetpass.c, utime.c, version.h,
23132         visudo.c:
23133         add 4th term to license similar to term 5 in the apache license
23134         [afae9f2bf9ec]
23135
23136         * ins_2001.h, ins_classic.h, ins_csops.h, ins_goons.h:
23137         add 4th term to license similar to term 5 in the apache license
23138         [c389d3fdafac]
23139
23140         * Makefile.in, alloc.c, check.c, compat.h, config.h.in, find_path.c,
23141         getspwuid.c, goodpath.c:
23142         add 4th term to license similar to term 5 in the apache license
23143         [969e63dbd38e]
23144
23145         * LICENSE, aclocal.m4, auth/rfc1938.c, check.c, configure.in,
23146         insults.h, logging.c, sudo.c, sudo.h:
23147         there was a 1995 release too
23148         [5963fd89457a]
23149
23150 1999-07-28  Todd C. Miller  <Todd.Miller@courtesan.com>
23151
23152         * CHANGES:
23153         updates
23154         [254b794f16ab]
23155
23156         * check.c:
23157         Use dirs instead of files for timestamp. This allows tty and non-
23158         tty schemes to coexist reasonably. Note, however, that when you
23159         update a tty ticket, the mtime on the user dir gets updated as well.
23160         [44bfac32f799]
23161
23162         * configure, configure.in:
23163         Fix getprpwnam() checking on SCO. Need to link with "-lprot -lx"
23164         when linking test program, not just -lprot. Also add check for
23165         getspnam(). The SCO docs indicate that /etc/shadow can be used but
23166         this may be a lie.
23167         [2ba21d36cc1e]
23168
23169 1999-07-24  Todd C. Miller  <Todd.Miller@courtesan.com>
23170
23171         * auth/API:
23172         first cut at auth API description
23173         [3d10df021eb8]
23174
23175 1999-07-22  Todd C. Miller  <Todd.Miller@courtesan.com>
23176
23177         * auth/fwtk.c, auth/kerb4.c, auth/kerb5.c, auth/pam.c, auth/rfc1938.c,
23178         auth/secureware.c, auth/securid.c, auth/sudo_auth.c,
23179         auth/sudo_auth.h:
23180         auth API change. There is now an init method that gets run before
23181         the main loop. This allows auth routines to differentiate between
23182         initialization that happens once vs. setup that needs to run each
23183         time through the loop.
23184         [76df1c0d3478]
23185
23186         * auth/kerb5.c, logging.c:
23187         use easprintf() and evasprintf()
23188         [fd97d96dc12f]
23189
23190         * alloc.c, sudo.h:
23191         add easprintf() and evasprintf(), error checking versions of
23192         asprintf() and vasprintf()
23193         [f54385de20b7]
23194
23195         * TODO:
23196         remove 2 items. One done, one won't do.
23197         [64513b47bc7a]
23198
23199         * lex.yy.c, sudo.tab.c:
23200         regen
23201         [4aa299de2752]
23202
23203         * configure, sudo.cat, sudo.html, sudo.man, sudoers.html, visudo.cat,
23204         visudo.html, visudo.man:
23205         regen
23206         [553c0d1209be]
23207
23208         * CHANGES:
23209         new changes
23210         [d7be00b7e36b]
23211
23212         * sudo.pod:
23213         o Document -K flag and update meaning of -k flag. o BSD-style
23214         copyright o Document clearing of BIND resolver environment variables
23215         o Clarify bit about shared libs o suggest rc files create /tmp/.odus
23216         if your OS gives away files
23217         [4a4092be1455]
23218
23219         * visudo.pod:
23220         BSD license
23221         [ad0bfd0a4630]
23222
23223         * version.h:
23224         BSD-style copyright
23225         [ecc6479325be]
23226
23227         * tgetpass.c:
23228         o BSD copyright o no need to block signals, we now do that in main()
23229         o cosmetic changes
23230         [61958beda7ab]
23231
23232         * testsudoers.c, visudo.c:
23233         o BSD-style copyright o Use "struct sudo_user" instead of old
23234         globals. o some cometic cleanup
23235         [88c0c6924082]
23236
23237         * sudo_setenv.c:
23238         BSD-style copyright
23239         [df20290129a0]
23240
23241         * sudo.h:
23242         o BSD copyright o logging and parser bits moved to their own .h
23243         files o new "struct sudo_user" to encapsulate many of the old
23244         globals.
23245         [50fc86bf25cb]
23246
23247         * sudo.c:
23248         o no longer contains sudo 1.1/1.2 code o BSD copyright o use new
23249         logging routines o simplified flow of control o BIND resolver
23250         additions to badenv_table
23251         [8c53f15bfcb0]
23252
23253         * strerror.c:
23254         BSD-style copyright
23255         [7c906c3a82ac]
23256
23257         * snprintf.c:
23258         Now compiles on more K&R compilers
23259         [07ab1d3231c7]
23260
23261         * putenv.c:
23262         BSD-style copyright, cosmetic changes
23263         [c42371295881]
23264
23265         * pathnames.h.in:
23266         BSD-style copyright
23267         [e5c34ebd4cf1]
23268
23269         * parse.c, parse.h, parse.lex, parse.yacc:
23270         BSD-style copyright. Move parser-specific defines and structs into
23271         parse.h + other cosmetic changes
23272         [d3088efb6228]
23273
23274         * logging.h:
23275         defines for logging routines
23276         [13147941c02d]
23277
23278         * find_path.c, getspwuid.c, goodpath.c, interfaces.c:
23279         BSD-style copyright, cosmetic changes
23280         [e8205e91a4fa]
23281
23282         * ins_2001.h, ins_classic.h, ins_csops.h, ins_goons.h, insults.h,
23283         interfaces.h:
23284         BSD-style copyright
23285         [b9499da7cdce]
23286
23287         * configure.in:
23288         o tgetpass.c is no longer optional o kill DCE_OBJS, add AUTH_OBJS o
23289         kill --disable-tgetpass o add --without-passwd o changes to fill in
23290         AUTH_OBJS for new auth api o check for strerror(), v?snprintf() and
23291         v?asprintf() o replace --with-AuthSRV with --with-fwtk
23292         [9a3f39b9c128]
23293
23294         * config.h.in:
23295         BSD-style copyright. Remove USE_GETPASS and HAVE_UTIME_NULL. Add
23296         HAVE_FWTK, HAVE_STRERROR, HAVE_SNPRINTF, HAVE_VSNPRINTF,
23297         HAVE_ASPRINTF, HAVE_VASPRINTF, WITHOUT_PASSWD and NO_PASSWD
23298         [9a09054db53a]
23299
23300         * compat.h:
23301         BSD-style copyright; Add S_IFLNK and MIN/MAX id they are missing.
23302         [25509c566975]
23303
23304         * alloc.c:
23305         BSD-style copyright
23306         [4967be892363]
23307
23308         * TROUBLESHOOTING:
23309         no more --with-getpass
23310         [afd5b670c196]
23311
23312         * TODO:
23313         Take out things I've done...
23314         [375420c8270e]
23315
23316         * README:
23317         Refer to LICENSE
23318         [c486c8db30f6]
23319
23320         * PORTING:
23321         --with-getpass no longer exists
23322         [db48202df1bb]
23323
23324         * Makefile.in:
23325         BSD-style copyright. Update to reflect reality wrt new files and
23326         new auth modules.
23327         [61a2ca7940fb]
23328
23329         * INSTALL:
23330         Remove --with-AuthSRV and --disable-tgetpass. Add --with-fwtk and
23331         --without-passwd.
23332         [64e8f9e1c05e]
23333
23334         * HISTORY:
23335         Update history a bit
23336         [df60c0a871b8]
23337
23338         * COPYING, LICENSE:
23339         Now distributed under a BSD-style license
23340         [d1a184ccabe1]
23341
23342         * auth/sudo_auth.c:
23343         o BSD-style copyright o Add support for NO_PASSWD/WITHOUT_PASSWD
23344         options. o skey/opie replaced by rfc1938 code o new struct sudo_user
23345         global
23346         [891b57060868]
23347
23348         * auth/pam.c, auth/sia.c:
23349         BSD-style copyright and use new log functions
23350         [65c44445ea84]
23351
23352         * auth/kerb5.c:
23353         o BSD-style copyright o Use new log functiongs o Use asprintf() and
23354         snprintf() where sensible.
23355         [1ff0feaacf95]
23356
23357         * check.c:
23358         Rewrote all the old sudo 1.1/1.2 code. Timestamp handling is now
23359         done more reasonably--better sanity checks and tty-based stamps are
23360         now done as files in a directory with the same name as the invoking
23361         user, eg. /var/run/sudo/millert/ttyp1. It is not currently possible
23362         to mix tty and non-tty based ticket schemes but this may change in
23363         the future (it requires sudo to use a directory instead of a file in
23364         the non-tty case). Also, ``sudo -k'' now sets the ticket back to
23365         the epoch and ``sudo -K'' really deletes the file. That way you
23366         don't get the lecture again just because you killed your ticket in
23367         .logout. BSD-style copyright now.
23368         [ec3460f85be8]
23369
23370         * logging.c:
23371         o rewritten logging routines. log_error() now takes printf-style
23372         varargs and log_auth() for the return value of validate(). o BSD-
23373         style copyright
23374         [438292025c4e]
23375
23376         * auth.c, check_sia.c, dce_pwent.c, secureware.c:
23377         superceded by new auth API
23378         [412060590da7]
23379
23380         * auth/kerb4.c:
23381         BSD-style copyright
23382         [cc4e800833c7]
23383
23384         * auth/fwtk.c:
23385         Use snprintf() where it makes sense and add a BSD-style copyright
23386         [1b7502388a74]
23387
23388         * auth/afs.c, auth/aix_auth.c, auth/dce.c, auth/passwd.c,
23389         auth/rfc1938.c, auth/secureware.c, auth/securid.c, auth/sudo_auth.h:
23390         BSD-style copyright
23391         [42583bedae5c]
23392
23393         * emul/utime.h, utime.c:
23394         BSD-style copyright
23395         [3985c90aba47]
23396
23397         * emul/search.h:
23398         this has been rewritten so use my BSD-style copyright
23399         [176df1b0de6f]
23400
23401 1999-07-15  Todd C. Miller  <Todd.Miller@courtesan.com>
23402
23403         * snprintf.c:
23404         include malloc.h if no stdlib.h
23405         [7b123f1d1d03]
23406
23407         * snprintf.c:
23408         KTH snprintf()/asprintf() for systems w/o them
23409         [3ca9aefb9d01]
23410
23411         * strerror.c:
23412         strerror() for systems w/o it
23413         [7f0bd8a1c1b4]
23414
23415 1999-07-12  Todd C. Miller  <Todd.Miller@courtesan.com>
23416
23417         * visudo.c:
23418         stylistic changes
23419         [6f99aceb7170]
23420
23421         * parse.c, parse.lex, parse.yacc:
23422         Add contribution info in the main comment
23423         [e50cec10acd6]
23424
23425 1999-07-11  Todd C. Miller  <Todd.Miller@courtesan.com>
23426
23427         * auth/pam.c:
23428         remove missed ref to PAM_nullpw
23429         [a43e59692cdb]
23430
23431         * auth/sudo_auth.h:
23432         pasto
23433         [891ff138ab89]
23434
23435         * auth/kerb5.c:
23436         more or less complete now--still untested
23437         [21036732faa0]
23438
23439         * auth/afs.c, auth/pam.c:
23440         don't use user_name macro, it will go away
23441         [def7cf727349]
23442
23443         * auth/opie.c, auth/rfc1938.c, auth/skey.c, auth/sudo_auth.h:
23444         combine skey/opie code into rfc1938.c
23445         [44d88ca93d3e]
23446
23447         * auth/dce.c, auth/sudo_auth.h:
23448         DCE authentication method; basically unchanged from dce_pwent.c
23449         [4d468473dd6f]
23450
23451         * auth/aix_auth.c, auth/sudo_auth.h:
23452         AIX authenticate() support. Could probably be much better
23453         [000013321a33]
23454
23455         * auth/sia.c:
23456         Fix an uninitialized variable and some cleanup. Now works (tested)
23457         [fd6ad88ff055]
23458
23459         * auth/sia.c, auth/sudo_auth.h:
23460         SIA support for digital unix
23461         [5335f3e70eab]
23462
23463         * auth/pam.c:
23464         don't use prompt global, it will go away
23465         [fadd22dd6ce4]
23466
23467         * auth/secureware.c:
23468         correct copyright years
23469         [6aa07c49f51b]
23470
23471         * auth/afs.c, auth/fwtk.c, auth/kerb4.c, auth/kerb5.c, auth/opie.c,
23472         auth/pam.c, auth/passwd.c, auth/secureware.c, auth/securid.c,
23473         auth/skey.c, auth/sudo_auth.c, auth/sudo_auth.h:
23474         New authentication API and methods
23475         [9debe9b59c79]
23476
23477 1999-07-08  Todd C. Miller  <Todd.Miller@courtesan.com>
23478
23479         * sudo.tab.c:
23480         regen
23481         [84578e82c1a6]
23482
23483         * parse.yacc:
23484         only save an entry if user_matches && host_matches, even if the
23485         stack is empty (fix for previous commit)
23486         [00984b078d8a]
23487
23488         * sudo.tab.c:
23489         regen
23490         [66acf160b4b7]
23491
23492         * parse.yacc:
23493         1) Always save an entry on the stack if it is empty. This fixes the
23494         -l and -v flags that were broken by earlier parser changes.
23495
23496         2) In a Runas list, don't negate FALSE -> TRUE since that would make
23497         !foo match any time the user specified a runas user (via -u) other
23498         than foo.
23499         [f322eb54b015]
23500
23501         * testsudoers.c:
23502         interfaces and num_interfaces are now auto, not extern
23503         [113add5c6518]
23504
23505 1999-07-07  Todd C. Miller  <Todd.Miller@courtesan.com>
23506
23507         * auth.c:
23508         use a static global to keep stae about empty passwords
23509         [bc02e30807d8]
23510
23511         * check_sia.c:
23512         make PASSWORD_NOT_CORRECT logging consistent with other modules
23513         [21962549d5fd]
23514
23515 1999-07-05  Todd C. Miller  <Todd.Miller@courtesan.com>
23516
23517         * auth.c:
23518         PAM prompt code was wrong, looks like we have to kludge it after
23519         all.
23520         [91f246155ead]
23521
23522         * auth.c:
23523         In the PAM code, when a user hits return at the first password
23524         prompt, exit without a warning just like the normal auth code
23525         [918f59bacdb7]
23526
23527         * configure, configure.in:
23528         kludge around cross-compiler false positives
23529         [5e5fc8356400]
23530
23531         * auth.c, check.c, check_sia.c, logging.c, sudo.h, tgetpass.c:
23532         New (correct) PAM code Tgetpass now takes an echo flag for use with
23533         PAM_PROMPT_ECHO_ON Block SIGINT and SIGTSTP during auth remove a
23534         useless umask setting Change error from BAD_ALLOCATION ->
23535         BAD_AUTH_INIT (for use with sia/PAM) Some cosmetic changes to auth.c
23536         for consistency
23537         [e71397f09dd8]
23538
23539         * sudo.c:
23540         Some -Wall and kill some trailing spaces
23541         [8229b43d5c4e]
23542
23543         * configure.in:
23544         define -D__EXTENSIONS__ for solaris so we get crypt() proto
23545         [7533e4436cab]
23546
23547 1999-06-22  Todd C. Miller  <Todd.Miller@courtesan.com>
23548
23549         * RUNSON:
23550         add Dynix 4.4.4
23551         [b69f773efbce]
23552
23553         * INSTALL, config.h.in, configure, configure.in:
23554         for kerberos V < version, fall back on old kerb4 auth code
23555         [d685ed3a1d8e]
23556
23557         * INSTALL:
23558         clarify some things
23559         [2f5ba2e8e53a]
23560
23561         * UPGRADE, sudoers.cat, sudoers.man, sudoers.pod:
23562         typos
23563         [8925a109c093]
23564
23565 1999-06-14  Todd C. Miller  <Todd.Miller@courtesan.com>
23566
23567         * sudo.c:
23568         mention why DONT_LEAK_PATH_INFO is not the default
23569         [0346260cb4ec]
23570
23571 1999-06-03  Todd C. Miller  <Todd.Miller@courtesan.com>
23572
23573         * tgetpass.c:
23574         Fix open(2) return value checking, was NULL for fopen, should be -1
23575         for open
23576         [355878bf6d8a]
23577
23578         * configure:
23579         regen
23580         [68bf82871862]
23581
23582         * configure.in:
23583         better wording for solaris pam notice
23584         [04e88c7a6c42]
23585
23586         * CHANGES:
23587         document recent changes
23588         [7c922c5622ef]
23589
23590         * TROUBLESHOOTING:
23591         Update shadow password section
23592         [e8448bae7d66]
23593
23594         * auth.c:
23595         move authentication code from check.c to auth.c
23596         [e9f6ecae2399]
23597
23598         * Makefile.in, check.c, sudo.h:
23599         move authentication code to auth.c
23600         [124cded85f46]
23601
23602 1999-05-17  Todd C. Miller  <Todd.Miller@courtesan.com>
23603
23604         * Makefile.in, check.c, check_sia.c, compat.h, find_path.c,
23605         getspwuid.c, goodpath.c, interfaces.c, interfaces.h, lex.yy.c,
23606         logging.c, parse.c, parse.lex, parse.yacc, secureware.c, sudo.c,
23607         sudo.h, sudo.tab.c, sudo_setenv.c, testsudoers.c, tgetpass.c,
23608         visudo.c:
23609         Move interface-related defines to interfaces.h so we don't have to
23610         include <netinet/in.h> everywhere.
23611         [e7599d8ea0bf]
23612
23613 1999-05-14  Todd C. Miller  <Todd.Miller@courtesan.com>
23614
23615         * CHANGES, INSTALL, TODO, check.c, compat.h, getspwuid.c, logging.c,
23616         parse.yacc, sudo.c, sudo.tab.c, tgetpass.c:
23617         o Replace _PASSWD_LEN braindeath with our own SUDO_MAX_PASS. It
23618         turns out the old DES crypt does the right thing with passwords
23619         longert than 8 characters. o Fix common typo (necesary ->
23620         necessary) o Update TODO list
23621         [ad75007a6f13]
23622
23623 1999-05-03  Todd C. Miller  <Todd.Miller@courtesan.com>
23624
23625         * sudo.c:
23626         set $LOGNAME when we set $USER
23627         [391596210fd7]
23628
23629 1999-04-27  Todd C. Miller  <Todd.Miller@courtesan.com>
23630
23631         * INSTALL:
23632         add comment about digital unix and interfaces.c warning with gcc
23633         [e20f815901cc]
23634
23635 1999-04-15  Todd C. Miller  <Todd.Miller@courtesan.com>
23636
23637         * sample.sudoers:
23638         use modern paths and give examples for some of the new parser
23639         features
23640         [e7b2e507c695]
23641
23642 1999-04-10  Todd C. Miller  <Todd.Miller@courtesan.com>
23643
23644         * parse.c:
23645         fix comment
23646         [5eb0d005a65f]
23647
23648         * alloc.c, check.c, check_sia.c, dce_pwent.c, find_path.c,
23649         getspwuid.c, goodpath.c, interfaces.c, lex.yy.c, logging.c, parse.c,
23650         parse.lex, parse.yacc, putenv.c, secureware.c, sudo.c, sudo.tab.c,
23651         sudo_setenv.c, testsudoers.c, tgetpass.c, utime.c, visudo.c:
23652         Function names should be flush with the start of the line so they
23653         can be found trivially in an editor and with grep
23654         [3c400abde574]
23655
23656         * find_path.c, interfaces.c, lex.yy.c, parse.c, parse.lex, parse.yacc,
23657         sudo.c, sudo.tab.c, testsudoers.c, tgetpass.c, visudo.c:
23658         free(3) is already void, no need to cast it
23659         [6981e1ebda0f]
23660
23661         * logging.c, sudo.c, sudo.h:
23662         catch case where cmnd_safe is not set (this should not be possible)
23663         [3e1e3038546c]
23664
23665         * CHANGES, logging.c, parse.c, parse.yacc, sudo.c, sudo.h, sudo.tab.c,
23666         testsudoers.c, visudo.c:
23667         Stash the "safe" path (ie: the one listed in sudoers) to the command
23668         instead of stashing the struct stat. Should be safer.
23669         [aa2883fcf57e]
23670
23671 1999-04-08  Todd C. Miller  <Todd.Miller@courtesan.com>
23672
23673         * INSTALL, Makefile.in, UPGRADE:
23674         notes on updating from an earlier release
23675         [df9fffa4ab2c]
23676
23677         * CHANGES:
23678         updated
23679         [574f5065d15a]
23680
23681 1999-04-07  Todd C. Miller  <Todd.Miller@courtesan.com>
23682
23683         * parse.yacc, sudo.tab.c, sudo.tab.h, sudoers.cat, sudoers.html,
23684         sudoers.man, sudoers.pod:
23685         You can now specifiy a host list instead of just a host or alias.
23686         Ie: user = host1,host2,ALIAS,!host3 my_command now works.
23687         [e3942bb78021]
23688
23689         * testsudoers.c:
23690         Quiet -Wall
23691         [a3edc8b08c3a]
23692
23693         * parse.yacc, sudo.tab.c:
23694         Move the push from the beginning of cmndspec to the end. This means
23695         we no longer have to do a push at the end of privilege, just reset
23696         some values.
23697         [8ea66e5860c6]
23698
23699         * sudoers.cat, sudoers.html, sudoers.man, sudoers.pod:
23700         runas-lists and NOPASSWD/PASSWD modifiers are now sticky and you can
23701         use "!" most everywhere
23702         [aadae4d1c9d5]
23703
23704 1999-04-06  Todd C. Miller  <Todd.Miller@courtesan.com>
23705
23706         * sudoers.pod:
23707         modernize paths and update su example based on sample.sudoers one
23708         [3f6a37e16c83]
23709
23710         * sample.sudoers:
23711         New runas semantics
23712         [756ee92865b7]
23713
23714         * CHANGES, Makefile.in, alloc.c, config.h.in, configure, configure.in,
23715         strdup.c, sudo.h:
23716         In estrdup(), do the malloc ourselves so we don't need to rely on
23717         the system strdup(3) which may or may not exist. There is now no
23718         need to provide strdup() for those w/o it. Also, the prototype for
23719         estrdup() was wrong, it returns char * and its param is const.
23720         [5f1f984da8e3]
23721
23722         * getcwd.c:
23723         $Sudo tag
23724         [e4188a35e68c]
23725
23726         * check.c:
23727         buf should be prompt; Michael Robokoff <mrobo@networkcs.com>
23728         [2aec87c86cde]
23729
23730         * CHANGES, TODO, parse.yacc, sudo.tab.c:
23731         It is now possible to use the '!' operator in a runas list as well
23732         as in a Cmnd_Alias, Host_Alias and User_Alias.
23733         [a4fdaabda990]
23734
23735         * logging.c, sudo.h:
23736         Kill GLOBAL_NO_SPW_ENT (not used) and crank GLOBAL_PROBLEM
23737         [73d0376785ae]
23738
23739         * sudo.h:
23740         Definitions of *_matched were wrong--user top, not top-2 as
23741         subscript.
23742         [5f8350a57362]
23743
23744         * logging.c, parse.c, parse.yacc, sudo.c, sudo.h, sudo.tab.c:
23745         Add VALIDATE_NOT_OK_NOPASS for when user is not allowed to run a
23746         command but the NOPASSWD flag was set. Make runasspec, runaslist,
23747         runasuser, and nopasswd typeless in parse.yacc Add support for '!'
23748         in the runas list Fix double printing of '%' and '+' for groups and
23749         netgroups respectively Add *_matched macros (no need for local stack
23750         variable). Should only be used directly after a pop (since top must
23751         be >= 2).
23752         [392b1400c4e6]
23753
23754         * aclocal.m4, configure.in:
23755         Add copyright, somewhat silly
23756         [55c2cdd82dca]
23757
23758 1999-04-05  Todd C. Miller  <Todd.Miller@courtesan.com>
23759
23760         * BUGS, INSTALL, Makefile.in, README, alloc.c, check.c, check_sia.c,
23761         compat.h, config.h.in, configure, configure.in, dce_pwent.c,
23762         emul/utime.h, find_path.c, getspwuid.c, goodpath.c, ins_2001.h,
23763         ins_classic.h, ins_csops.h, ins_goons.h, insults.h, interfaces.c,
23764         lex.yy.c, logging.c, parse.c, parse.lex, parse.yacc, pathnames.h.in,
23765         putenv.c, secureware.c, strdup.c, sudo.c, sudo.cat, sudo.h,
23766         sudo.man, sudo.tab.c, sudo_setenv.c, sudoers.cat, sudoers.man,
23767         testsudoers.c, tgetpass.c, utime.c, version.h, visudo.c, visudo.cat,
23768         visudo.man:
23769         Crank version to 1.6 and combine copyright statements
23770         [0e1c791658ae]
23771
23772         * sample.sudoers:
23773         Use ! not ^ to do negation
23774         [1480a0761730]
23775
23776         * lex.yy.c, sudo.tab.c:
23777         regen
23778         [89ca5a46684b]
23779
23780         * parse.lex, parse.yacc:
23781         Make runas and NOPASSWD tags persistent across entris in a command
23782         list. Add a PASSWD tag to reverse NOPASSWD. When you override a
23783         runas or *PASSWD tag the value given becomes the new default for the
23784         rest of the command list.
23785         [f1bbb4066542]
23786
23787 1999-04-02  Todd C. Miller  <Todd.Miller@courtesan.com>
23788
23789         * CHANGES, RUNSON:
23790         update for 1.5.9
23791         [a1ae9d4a7d54] [SUDO_1_5_9]
23792
23793         * visudo.c:
23794         Shift return value of system(3) by 8 to get real exit value and if
23795         it is not 1 or 0 print the retval along with the error message.
23796         [c1ff50d743fb]
23797
23798 1999-03-30  Todd C. Miller  <Todd.Miller@courtesan.com>
23799
23800         * Makefile.in:
23801         testsudoers needs LIBOBJS too
23802         [972571b4e4bf]
23803
23804         * parse.c, parse.yacc, sudo.tab.c:
23805         Fix another parser bug. For a sudoers entry like this: millert
23806         ALL=/bin/ls,(daemon) !/bin/ls sudo would not allow millert to run ls
23807         as root.
23808         [51968e1eb33d]
23809
23810         * CHANGES:
23811         new change
23812         [271c6110bb62]
23813
23814         * parse.yacc, sudo.tab.c:
23815         Save entries that match a ! command on the matching stack too
23816         [5afb5107116c]
23817
23818         * sudo.c:
23819         Make sudo's usage info better when mutually exclusive args are given
23820         and don't rely on argument order to detect this; nick@zeta.org.au
23821         [2422753c88fd]
23822
23823 1999-03-29  Todd C. Miller  <Todd.Miller@courtesan.com>
23824
23825         * CHANGES, Makefile.in, RUNSON:
23826         updates from CU
23827         [b37381e3dafb]
23828
23829         * Makefile.in:
23830         use gzip
23831         [94a64e52a166]
23832
23833         * parse.yacc, sudo.tab.c:
23834         Fix off by one error introduced in *alloc changes
23835         [95ede581153a]
23836
23837         * BUGS, CHANGES, INSTALL, Makefile.in, README, alloc.c, check.c,
23838         check_sia.c, compat.h, config.h.in, configure, configure.in,
23839         dce_pwent.c, emul/utime.h, find_path.c, getspwuid.c, goodpath.c,
23840         ins_2001.h, ins_classic.h, ins_csops.h, ins_goons.h, insults.h,
23841         interfaces.c, lex.yy.c, logging.c, parse.c, parse.lex, parse.yacc,
23842         pathnames.h.in, putenv.c, secureware.c, strdup.c, sudo.c, sudo.cat,
23843         sudo.h, sudo.man, sudo.tab.c, sudo_setenv.c, sudoers.cat,
23844         sudoers.man, testsudoers.c, tgetpass.c, utime.c, version.h,
23845         visudo.c, visudo.cat, visudo.html, visudo.man, visudo.pod:
23846         ++version
23847         [c6d88f024e37]
23848
23849         * Makefile.in, check.c, find_path.c, getspwuid.c, goodpath.c,
23850         interfaces.c, lex.yy.c, logging.c, parse.c, parse.lex, parse.yacc,
23851         putenv.c, secureware.c, strdup.c, sudo.c, sudo.h, sudo.tab.c,
23852         sudo_setenv.c, testsudoers.c, utime.c, visudo.c:
23853         Use emalloc/erealloc/estrdup
23854         [44221d97361a]
23855
23856         * alloc.c:
23857         error checking memory allocation routines
23858         [5f8c1e7bbc71]
23859
23860         * parse.yacc, sudo.tab.c:
23861         Still not right, this fixes it for real
23862         [ad553b6f5339]
23863
23864         * parse.yacc, sudo.tab.c:
23865         Fix for previous commit
23866         [4d6f989f9bf2]
23867
23868         * CHANGES, INSTALL, parse.yacc:
23869         Fix a parser bug that was exposed when mixing different runas specs
23870         and ! commands. For example: millert ALL=(daemon)
23871         /usr/bin/whoami,!/bin/ls would allow millert to run whoami as root
23872         as well as daemon when it should just allow daemon. The problem was
23873         that comma-separated commands in a list shared the same entry on the
23874         matching stack. Now they get their own entry iff there is a full
23875         match. It may be better to just make the runas spec persistent
23876         across all commands in a list like the user and host entries of the
23877         matching stack. However, since that is a fairly major change it
23878         should gets its own minor rev increase.
23879         [c4b939cdcc8e]
23880
23881 1999-03-28  Todd C. Miller  <Todd.Miller@courtesan.com>
23882
23883         * check.c, config.h.in:
23884         Simplify PAM code and fix a PAM-related warning on Linux
23885         [2468399523b6]
23886
23887 1999-03-26  Todd C. Miller  <Todd.Miller@courtesan.com>
23888
23889         * CHANGES:
23890         updates
23891         [29d4a997769c]
23892
23893         * sample.sudoers:
23894         better su entry
23895         [76d8285a72ba]
23896
23897         * configure:
23898         regen
23899         [b7450cc6975d]
23900
23901         * check.c, configure.in:
23902         new pam code that works on solaris, should work on linux too;
23903         aelberg@home.com
23904         [84c16c0ff259]
23905
23906 1999-03-19  Todd C. Miller  <Todd.Miller@courtesan.com>
23907
23908         * RUNSON:
23909         more entries
23910         [b6bef8660759]
23911
23912         * config.h.in:
23913         only include strings.h if there is no string.h
23914         [b66054a32b00]
23915
23916 1999-03-17  Todd C. Miller  <Todd.Miller@courtesan.com>
23917
23918         * config.guess:
23919         Sinix is now being called ReliantUNIX; bjjackso@us.oracle.com
23920         [c086d2fe63af]
23921
23922 1999-03-13  Todd C. Miller  <Todd.Miller@courtesan.com>
23923
23924         * sudo.c:
23925         shost must be set before log functions are called #ifdef HOST_IN_LOG
23926         [d49a7944358f]
23927
23928 1999-03-07  Todd C. Miller  <Todd.Miller@courtesan.com>
23929
23930         * CHANGES, lex.yy.c, parse.lex:
23931         Fix a bug wrt quoting characters in command args. Stop processing
23932         an arg when you hit a backslash so the quoted-character detection
23933         can catch it.
23934         [2281438d7f41]
23935
23936 1999-02-26  Todd C. Miller  <Todd.Miller@courtesan.com>
23937
23938         * interfaces.c:
23939         include sys/time.h; aparently AIX needs it. ppz@cdu.elektra.ru
23940         [31118a9e9916]
23941
23942 1999-02-24  Todd C. Miller  <Todd.Miller@courtesan.com>
23943
23944         * configure, configure.in:
23945         add missing case statement so --without-sendmail works
23946         [ca25614f7dd9]
23947
23948 1999-02-23  Todd C. Miller  <Todd.Miller@courtesan.com>
23949
23950         * CHANGES:
23951         more
23952         [4d70e44f7f93]
23953
23954 1999-02-22  Todd C. Miller  <Todd.Miller@courtesan.com>
23955
23956         * configure, configure.in:
23957         only search for -lsun in irix <= 4.x
23958         [e604238317b1]
23959
23960         * configure, configure.in:
23961         back out last configure.in change now that I've hacked autoconf to
23962         fix the real problem and add a missing newline
23963         [2dabf59a79b5]
23964
23965         * CHANGES:
23966         updated
23967         [bb35d526552f]
23968
23969         * getcwd.c:
23970         add def of dirfd() for those without it
23971         [95f0173d8441]
23972
23973         * configure, configure.in:
23974         When falling back to checking for socket() when linking with
23975         "-lsocket -lnsl" check for main() instead since autoconf has already
23976         cached the results of checking for socket() in -lsocket. This is
23977         really an autoconf bug as it should use the extra libs as part of
23978         the cache variable name.
23979         [a845f8b710ad]
23980
23981         * configure.in:
23982         typo
23983         [a7d62f62a478]
23984
23985 1999-02-21  Todd C. Miller  <Todd.Miller@courtesan.com>
23986
23987         * configure.in:
23988         fix occurrence of $with_timeout that should be
23989         $with_password_timeout; Michael.Neef@neuroinformatik.ruhr-uni-
23990         bochum.de
23991         [8c4da2cf73d1]
23992
23993 1999-02-17  Todd C. Miller  <Todd.Miller@courtesan.com>
23994
23995         * sudo.cat, sudo.html, sudo.man, sudo.pod:
23996         fix grammar; espie@openbsd.org
23997         [7031d9dfbc3e] [SUDO_1_5_8]
23998
23999 1999-02-11  Todd C. Miller  <Todd.Miller@courtesan.com>
24000
24001         * parse.yacc, sudo.c, testsudoers.c:
24002         add cast for strdup in places it does not have it
24003         [7ce4478d3b0f]
24004
24005 1999-02-09  Todd C. Miller  <Todd.Miller@courtesan.com>
24006
24007         * configure, configure.in:
24008         define for_BSD_TYPES irix
24009         [858337ff4af8]
24010
24011 1999-02-07  Todd C. Miller  <Todd.Miller@courtesan.com>
24012
24013         * Makefile.in, sudo.cat, sudo.html, sudo.man, sudo.pod:
24014         Make it clear that it is the user's password, not root's, that we
24015         want.
24016         [ae0f51b35ee4]
24017
24018         * check.c, sudo.h:
24019         If the user enters an empty password and really has no password,
24020         accept the empty password they entered. Perviously, they could
24021         enter anything
24022         *but* an empty password. Also, add GETPASS macro that calls either
24023         tgetpass() or getpass() depending on how sudo was configured.
24024         Problem noted by jdg@maths.qmw.ac.uk
24025         [2fde21ce94c1]
24026
24027 1999-02-03  Todd C. Miller  <Todd.Miller@courtesan.com>
24028
24029         * Makefile.in, check.c, check_sia.c, compat.h, config.h.in,
24030         dce_pwent.c, emul/utime.h, find_path.c, getspwuid.c, goodpath.c,
24031         ins_2001.h, ins_classic.h, ins_csops.h, ins_goons.h, insults.h,
24032         interfaces.c, logging.c, parse.c, parse.lex, parse.yacc,
24033         pathnames.h.in, putenv.c, secureware.c, strdup.c, sudo.c, sudo.h,
24034         sudo_setenv.c, testsudoers.c, tgetpass.c, utime.c, version.h,
24035         visudo.c:
24036         add explicate copyright
24037         [d3b4449834a5]
24038
24039         * CHANGES:
24040         mention -lsocket, -lnsl configure changes
24041         [9140af4ad8ae]
24042
24043 1999-02-02  Todd C. Miller  <Todd.Miller@courtesan.com>
24044
24045         * sudo.c:
24046         Don't clobber errno after calling check_sudoers().
24047         [59bd581b2654]
24048
24049 1999-02-01  Todd C. Miller  <Todd.Miller@courtesan.com>
24050
24051         * configure, configure.in:
24052         When linking with both -lsocket and -lnsl be sure to do so in that
24053         order. Also, when we can't find socket() or inet_addr() and have to
24054         try linking with both libs, issue a warning.
24055         [0ee547163067]
24056
24057         * sudo.cat, sudo.man, sudo.pod:
24058         clarify bad timestamp and fmt
24059         [70e42cf56c75]
24060
24061 1999-01-23  Todd C. Miller  <Todd.Miller@courtesan.com>
24062
24063         * INSTALL, RUNSON:
24064         be clear that pam is linux-only and add a RUNSON entry
24065         [7fdeab875e0d]
24066
24067 1999-01-22  Todd C. Miller  <Todd.Miller@courtesan.com>
24068
24069         * CHANGES, INSTALL, configure, configure.in:
24070         fix and correctly document --with-umask; problem noted by
24071         adap@adap.org
24072         [11cd0481d63a]
24073
24074 1999-01-20  Todd C. Miller  <Todd.Miller@courtesan.com>
24075
24076         * configure, configure.in:
24077         only use /usr/{man,catman}/local to store man pages if suer didn't
24078         override prefix or mandir
24079         [781ad2cbe9be]
24080
24081         * INSTALL, configure, configure.in:
24082         fix typo, make --with-SecurID take an arg
24083         [026a9b4014fc]
24084
24085 1999-01-19  Todd C. Miller  <Todd.Miller@courtesan.com>
24086
24087         * RUNSON:
24088         updates from users
24089         [2286982b31e6]
24090
24091         * CHANGES, INSTALL, check.c, configure, configure.in:
24092         FWTK 'authsrv' support from Kevin Kadow <kadow@MSG.NET>
24093         [23aa4e5c6b02]
24094
24095         * configure, configure.in:
24096         better fix for the problem of unresolved symbols in -lnsl or
24097         -lsocket
24098         [82fe70fc287f]
24099
24100         * configure, configure.in:
24101         when checking for functions in -lnsl and -lsocket link with both of
24102         them to avoid unresolved symbols on some weirdo systems
24103         [1734a591808e]
24104
24105 1999-01-18  Todd C. Miller  <Todd.Miller@courtesan.com>
24106
24107         * BUGS, CHANGES, RUNSON, TODO:
24108         old changes that didn't make it into RCS before the RCS->CVS switch
24109         [846eb2b8f9aa]
24110
24111 1999-01-17  Todd C. Miller  <Todd.Miller@courtesan.com>
24112
24113         * Makefile.in, check.c, check_sia.c, compat.h, config.h.in,
24114         configure.in, dce_pwent.c, emul/search.h, emul/utime.h, find_path.c,
24115         getspwuid.c, goodpath.c, ins_2001.h, ins_classic.h, ins_csops.h,
24116         ins_goons.h, insults.h, interfaces.c, lex.yy.c, logging.c,
24117         lsearch.c, parse.c, parse.lex, parse.yacc, pathnames.h.in, putenv.c,
24118         secureware.c, strdup.c, sudo.c, sudo.pod, sudo_setenv.c,
24119         sudoers.pod, testsudoers.c, tgetpass.c, utime.c, visudo.c,
24120         visudo.pod:
24121         add sudo tags
24122         [962f81eaa5ab]
24123
24124         * sudo.h:
24125         testing Sudo tag
24126         [e84cbc521129]
24127
24128         * version.h:
24129         testing Sudo tag
24130         [a8c3a3998b88]
24131
24132         * BUGS, INSTALL, Makefile.in, README, check.c, check_sia.c, compat.h,
24133         config.h.in, configure, configure.in, dce_pwent.c, emul/utime.h,
24134         find_path.c, getspwuid.c, goodpath.c, ins_2001.h, ins_classic.h,
24135         ins_csops.h, ins_goons.h, insults.h, interfaces.c, lex.yy.c,
24136         logging.c, parse.c, parse.lex, parse.yacc, pathnames.h.in, putenv.c,
24137         secureware.c, strdup.c, sudo.c, sudo.cat, sudo.h, sudo.man,
24138         sudo_setenv.c, sudoers.cat, sudoers.man, testsudoers.c, tgetpass.c,
24139         utime.c, version.h, visudo.c, visudo.cat, visudo.man:
24140         crank version and regen files
24141         [23eacf00a1a4]
24142
24143         * Makefile.in:
24144         kill rcs goop in update_version and fix now that version is a const
24145         [e6e50bd8d1e1]
24146
24147         * INSTALL, check.c, config.h.in, configure, configure.in, logging.c,
24148         sudo.c, sudo.h, sudo.pod:
24149         kerb5 support from fcusack@iconnet.net
24150         [8134027986e2]
24151
24152         * realpath.c, sudo_realpath.c:
24153         we no longer use realpath
24154         [0f5f64abc646]
24155
24156         * qualify.c:
24157         replaced by find_path.c
24158         [9e32a87e09c4]
24159
24160         * options.h:
24161         all options are now configure flags
24162         [ee6bd9610102]
24163
24164         * lex.yy.c:
24165         regen
24166         [bdbf8a18161f]
24167
24168         * getwd.c:
24169         superceded by getcwd.c
24170         [1e54ee0990b4]
24171
24172         * getpass.c:
24173         superceded by tgetpass.c
24174         [4e0d1edc30e3]
24175
24176         * SUPPORTED:
24177         superceded by RUNSON
24178         [854c5a21cb53]
24179
24180         * OPTIONS:
24181         No longer used now that we have configure options for everything.
24182         [9b1ae1c89259]
24183
24184         * configure:
24185         regen based on configure.in
24186         [3a4d73936973]
24187
24188         * sudo.cat, sudo.html, sudo.man, sudoers.cat, sudoers.html,
24189         sudoers.man, visudo.cat, visudo.html, visudo.man:
24190         regen based on sudo.pod, sudoers.pod, and visudo.pod
24191         [c267beb90778]
24192
24193 1998-12-11  Todd C. Miller  <Todd.Miller@courtesan.com>
24194
24195         * check.c:
24196         fix tty tickets in remove_timestamp (didn't use ':')
24197         [fd964a74a32b]
24198
24199 1998-12-07  Todd C. Miller  <Todd.Miller@courtesan.com>
24200
24201         * interfaces.c:
24202         close sock when we are done with it
24203         [95de0380f8a4]
24204
24205 1998-11-28  Todd C. Miller  <Todd.Miller@courtesan.com>
24206
24207         * parse.yacc:
24208         never say "error on line -1"
24209         [361db1491121]
24210
24211 1998-11-24  Todd C. Miller  <Todd.Miller@courtesan.com>
24212
24213         * configure.in:
24214         check for -lnsl before -lsocket
24215         [8e966d6bbcb5]
24216
24217         * configure.in:
24218         quote '[', ']' used in ranges correctly
24219         [fa4f9c6ff651]
24220
24221 1998-11-21  Todd C. Miller  <Todd.Miller@courtesan.com>
24222
24223         * config.h.in:
24224         add missing NO_ROOT_SUDO noted by drno@tsd.edu
24225         [c969f25d1667]
24226
24227 1998-11-20  Todd C. Miller  <Todd.Miller@courtesan.com>
24228
24229         * version.h:
24230         1.5.7
24231         [7a22de0bc148]
24232
24233         * INSTALL:
24234         more info for 1.5.7
24235         [30ad9e784799]
24236
24237         * README:
24238         update for 1.5.7
24239         [cd03a0a27cd2]
24240
24241         * parse.yacc:
24242         make increases of cm_list_size and ga_list_size be similar to
24243         increases of stacksize (ie: >= not > in initial compare).
24244         [6bd450a896c7]
24245
24246         * parse.yacc:
24247         when we get a syntax error, report it for the previous line since
24248         that's generally where the error occurred.
24249         [c4ac84058f0b]
24250
24251 1998-11-18  Todd C. Miller  <Todd.Miller@courtesan.com>
24252
24253         * config.h.in, configure.in, interfaces.c:
24254         add back check for sys/sockio.h but only use it if SIOCGIFCONF is
24255         not defined
24256         [d197f31fd1e4] [SUDO_1_5_7]
24257
24258         * config.h.in:
24259         define BSD_COMP for svr4
24260         [87ac1147ff79]
24261
24262         * check.c, check_sia.c, find_path.c, getcwd.c, getspwuid.c,
24263         goodpath.c, interfaces.c, logging.c, lsearch.c, parse.c, parse.lex,
24264         parse.yacc, putenv.c, secureware.c, strdup.c, sudo.c, sudo_setenv.c,
24265         testsudoers.c, tgetpass.c, utime.c, visudo.c:
24266         more -Wall
24267         [d98e2d32db2a]
24268
24269         * configure.in:
24270         kill check for sockio,h
24271         [4399779014c1]
24272
24273         * config.h.in:
24274         no more HAVE_SYS_SOCKIO_H
24275         [67484528e347]
24276
24277         * check.c, check_sia.c, find_path.c, getcwd.c, getspwuid.c,
24278         goodpath.c, interfaces.c, logging.c, lsearch.c, parse.c, parse.lex,
24279         parse.yacc, putenv.c, secureware.c, strdup.c, sudo.c, sudo_setenv.c,
24280         testsudoers.c, tgetpass.c, utime.c, visudo.c:
24281         -Wall
24282         [2b7e83976788]
24283
24284 1998-11-16  Todd C. Miller  <Todd.Miller@courtesan.com>
24285
24286         * sudo.c:
24287         add missing inform_user()
24288         [8689528c6d55]
24289
24290 1998-11-14  Todd C. Miller  <Todd.Miller@courtesan.com>
24291
24292         * find_path.c:
24293         return NOT_FOUND if given fully qualified path and it does not exist
24294         previously it would perror(ENOENT) which bypasses the option to not
24295         leak path info
24296         [ccbc3d0130ae]
24297
24298         * configure.in:
24299         for kerb5, check for -lkerb4, fall back on -lkrb for kerb, check for
24300         -ldes
24301         [c77d3b484ece]
24302
24303 1998-11-13  Todd C. Miller  <Todd.Miller@courtesan.com>
24304
24305         * INSTALL:
24306         tty tickets are user:tty now
24307         [a53a303a614d]
24308
24309         * check.c:
24310         when using tty tickets make it user:tty not user.tty as a username
24311         could have a '.' in it
24312         [3160b3f5c890]
24313
24314 1998-11-10  Todd C. Miller  <Todd.Miller@courtesan.com>
24315
24316         * sudo.c:
24317         add "ignoring foo found in ." for auth successful case
24318         [24257169e0bd]
24319
24320 1998-11-09  Todd C. Miller  <Todd.Miller@courtesan.com>
24321
24322         * sudo.c:
24323         add missing printf param
24324         [8c905124f777]
24325
24326 1998-11-08  Todd C. Miller  <Todd.Miller@courtesan.com>
24327
24328         * INSTALL, config.h.in, configure.in, find_path.c, sudo.c, sudo.h:
24329         go back to printing "command not found" unless --disable-path-info
24330         specified. Also, tell user when we ignore '.' in their path and it
24331         would have been used but for --with-ignore-dot.
24332         [066e118c11e4]
24333
24334         * check.c, sudo.c:
24335         Only one space after a colon, not two, in printf's
24336         [38452f4c8007]
24337
24338 1998-11-05  Todd C. Miller  <Todd.Miller@courtesan.com>
24339
24340         * sudo.pod:
24341         document setting $USER
24342         [80557fe6aede]
24343
24344         * check.c:
24345         fix bugs with prompt expansion
24346         [44c4fca5f009]
24347
24348         * sudo.c:
24349         set $USER for root too
24350         [4b525e1c6269]
24351
24352 1998-11-04  Todd C. Miller  <Todd.Miller@courtesan.com>
24353
24354         * getspwuid.c:
24355         typo
24356         [5107446f43e0]
24357
24358         * configure.in:
24359         HP-UX's iscomsec is in -lsec, not libc
24360         [03c9f700b795]
24361
24362         * configure.in:
24363         remove some entries in the OS case statement that did nothing
24364         [ea96e7e0f624]
24365
24366         * TROUBLESHOOTING:
24367         add "cd" section and flush out syslog section
24368         [5107f7363b78]
24369
24370         * Makefile.in:
24371         no more sudo-lex.yy.c
24372         [ed50826efbbc]
24373
24374         * check_sia.c:
24375         add custom prompt support
24376         [6a285cea10b7]
24377
24378         * testsudoers.c:
24379         kill perror("malloc") since we already have a good error messages
24380         pw_ent -> pw for brevity
24381         [eee31052921e]
24382
24383         * sudo.c:
24384         kill perror("malloc") since we already have a good error messages
24385         pw_ent -> pw for brevity set $USER if -u specified
24386         [9f3753461f8a]
24387
24388         * parse.yacc:
24389         kill perror("malloc") since we already have a good error messages
24390         [849459088ac3]
24391
24392         * parse.c:
24393         kill perror("malloc") since we already have a good error messages
24394         pw_ent -> pw for brevity when checking if %group matches, look up
24395         user in password file so that %groups works in a RunAs spec.
24396         [0489b4ecc59a]
24397
24398         * logging.c:
24399         kill perror("malloc") since we already have a good error messages
24400         [3191a18b3526]
24401
24402         * check.c, getspwuid.c, interfaces.c:
24403         kill perror("malloc") since we already have a good error messages
24404         pw_ent -> pw for brevity
24405         [7193fdb38cf9]
24406
24407 1998-11-03  Todd C. Miller  <Todd.Miller@courtesan.com>
24408
24409         * tgetpass.c:
24410         the prompt is expanded before tgetpass is called
24411         [0f408f508041]
24412
24413         * sudo.h:
24414         tgetpass now has the same args as getpass again
24415         [b6778cd9d79f]
24416
24417         * getspwuid.c:
24418         add iscomsec, issecure support
24419         [007be7ec7ae7]
24420
24421         * check.c:
24422         we now expand any %h or %u in the prompt before passing to tgetpass
24423         [f3db8c9ee387]
24424
24425         * configure.in:
24426         add check for syslog(3) in -lsocket, -lnsl, -linet
24427         [5a96f902ce00]
24428
24429         * config.h.in:
24430         add HAVE_ISCOMSEC and HAVE_ISSECURE
24431         [f640b0d4cf05]
24432
24433         * configure.in:
24434         add check for iscomsec in HP-UX
24435         [b28b249040f0]
24436
24437         * configure.in:
24438         check for issecure if we have getpwanam on SunOS some options are
24439         incompatible with DUNIX SIA check for dispcrypt on DUNIX
24440         [a49d05d9c913]
24441
24442 1998-10-25  Todd C. Miller  <Todd.Miller@courtesan.com>
24443
24444         * config.h.in:
24445         add HAVE_DISPCRYPT
24446         [7376d543d8d6]
24447
24448         * secureware.c:
24449         add back support for non-dispcrypt based checking for older DUNIX
24450         [977b98e936be]
24451
24452         * INSTALL:
24453         sia changes
24454         [c5387c06e30f]
24455
24456         * configure.in:
24457         SIA becomes the default on Digital UNIX now havbe --disable-sia to
24458         turn it off...
24459         [3b647558ea13]
24460
24461         * check.c:
24462         move local includes after system ones
24463         [b2abad4c4aef]
24464
24465 1998-10-24  Todd C. Miller  <Todd.Miller@courtesan.com>
24466
24467         * check.c, check_sia.c, sudo.h:
24468         add pass_warn() which prints out INCORRECT_PASSWORD or an insult to
24469         stderr
24470         [547cbf299661]
24471
24472         * check_sia.c:
24473         fix while loop in sia_attempt_auth() that checks the password. Only
24474         the first iteration was working.
24475         [1886fd1ac831]
24476
24477 1998-10-22  Todd C. Miller  <Todd.Miller@courtesan.com>
24478
24479         * aclocal.m4:
24480         don't trust UID_MAX or MAXUID
24481         [2aeddb1654d8]
24482
24483         * configure.in:
24484         fix two pastos
24485         [c18f0a10b75d]
24486
24487         * configure.in:
24488         fix typo
24489         [1eb3190ef12d]
24490
24491         * getspwuid.c, secureware.c:
24492         init crypt_type to INT_MAX since it is legal to be negative in DUNX
24493         5.0
24494         [cefbde04822d]
24495
24496         * configure.in:
24497         for secureware on dunix, use -lsecurity -ldb -laud -lm but check for
24498         -ldb since DUNX < 4.0 lacks it
24499         [e6b11d971068]
24500
24501 1998-10-21  Todd C. Miller  <Todd.Miller@courtesan.com>
24502
24503         * check.c, compat.h, config.h.in, configure.in, getspwuid.c,
24504         secureware.c, sudo.c, tgetpass.c:
24505         getprpwuid is broken in HP-UX 10.20 at least (it sleeps for 2
24506         minutes if the shadow files don't exist).
24507         [2f297d095004]
24508
24509 1998-10-20  Todd C. Miller  <Todd.Miller@courtesan.com>
24510
24511         * INSTALL:
24512         updated --with-editor blurb
24513         [77d8a3ea7328]
24514
24515         * TROUBLESHOOTING:
24516         tell how to put sudoers in a different dir
24517         [456cd20eb1d0]
24518
24519         * configure.in:
24520         add missing quotes around $with_editor
24521         [22881748ab1b]
24522
24523         * configure.in:
24524         typo in --with-editor bits
24525         [ab6964580681]
24526
24527         * INSTALL:
24528         I don't expect it to work on Solaris
24529         [1c2fceaaf56e]
24530
24531         * check.c:
24532         add back security/pam_misc.h
24533         [6ffd30033c1e]
24534
24535 1998-10-19  Todd C. Miller  <Todd.Miller@courtesan.com>
24536
24537         * INSTALL:
24538         remove dunix note since configure checks for this now
24539         [e9904512b8e8]
24540
24541         * configure.in:
24542         add check for broken dunix prot.h (4.0 < 4.0D is bad)
24543         [8a4c1e6aef3b]
24544
24545         * getspwuid.c, secureware.c, tgetpass.c:
24546         new dunix shadow code, use dispcrypt(3)
24547         [1b936bc7268c]
24548
24549         * config.h.in:
24550         add HAVE_INITPRIVS
24551         [4369f4c4f914]
24552
24553         * sudo.c:
24554         call initprivs() if we have it for getprpwuid later on
24555         [11cf5915d826]
24556
24557         * Makefile.in:
24558         clean pathnames.h too
24559         [5f1df3262613]
24560
24561         * configure.in:
24562         quote "Sorry, try again." with [] since it has a comma in it set
24563         LIBS when we add stuff to SUDO_LIBS set SECUREWARE when we find
24564         getprpwuid() so we can check for bigcrypt, set_auth_parameters, and
24565         initprivs later.
24566         [e226b0a3f250]
24567
24568         * INSTALL:
24569         update Digital UNIX note about acl.h
24570         [80132b71d73a]
24571
24572         * INSTALL:
24573         add --with-sia
24574         --without-root-sudo -> --disable-root-sudo some reordering
24575         [198386358818]
24576
24577         * secureware.c:
24578         add whitespace
24579         [4aadaf1a54b0]
24580
24581         * Makefile.in, check.c, config.h.in, configure.in, logging.c, sudo.h:
24582         add SIA support
24583         [fa3ddbb9cc51]
24584
24585         * check_sia.c:
24586         Initial revision
24587         [2968551d40e4]
24588
24589 1998-10-18  Todd C. Miller  <Todd.Miller@courtesan.com>
24590
24591         * configure.in:
24592         when checking for -lsocket, -lnsl, and -linet, check for the
24593         specific functions we need from them.
24594         [8d33e64362a3]
24595
24596         * config.h.in, sudo.h:
24597         move Syslog_* defs into sudo.h
24598         [03d1774f25c7]
24599
24600         * Makefile.in, sudo.h:
24601         added check_secureware
24602         [e46e3cbb9a97]
24603
24604         * configure.in:
24605         finished adding AC_MSG_CHECKING and AC_MSG_RESULT bits
24606         [dbefe1856503]
24607
24608         * insults.h:
24609         don't define CLASSIC_INSULTS and CSOPS_INSULTS if no other sets
24610         defined. configure now does that for us
24611         [e4520ea0581f]
24612
24613         * configure.in:
24614         move some --with options around change a bunch of echo's to
24615         AC_MSG_CHECKING, AC_MSG_RESULT pairs
24616         [ffdf6869fdd7]
24617
24618         * configure.in:
24619         change $with_foo-bar -> $with_foo_bar kill extra " that caused a
24620         syntax error add some echo verbage
24621         [3278c49bf74b]
24622
24623 1998-10-17  Todd C. Miller  <Todd.Miller@courtesan.com>
24624
24625         * check.c:
24626         moved SecureWare stuff into secureware.c
24627         [42d3d3ac35dc]
24628
24629         * secureware.c:
24630         Initial revision
24631         [aa7f72a249cf]
24632
24633         * INSTALL:
24634         update url to solaris gcc bins
24635         [36a3eb668777]
24636
24637         * INSTALL:
24638         change option formatter and flesh out someentries
24639         [6fbd1db4a8ad]
24640
24641         * TROUBLESHOOTING, sudo.pod, visudo.pod:
24642         environmental variable -> environment variable
24643         [6f14d708e32d]
24644
24645         * BUGS:
24646         everything is now done via configure
24647         [c217858f58ab]
24648
24649         * README:
24650         prev rev was 1.5.6
24651         [7b4177103c35]
24652
24653         * Makefile.in:
24654         passing SUDOERS_MODE, SUDOERS_UID, SUDOERS_GID correctly
24655         [31c6b0a5e0e2]
24656
24657         * config.h.in:
24658         SUDOERS_MODE, SUDOERS_UID, SUDOERS_GID now come from the Makefile
24659         [d406a1ef6d25]
24660
24661         * Makefile.in:
24662         merge OSDEFS and OPTIONS into DEFS get sudoers_uid, sudoers_gid,
24663         sudoers_mode from configure
24664         [1c509500655a]
24665
24666         * configure.in:
24667         SUDOERS_MODE, SUDOERS_UID, and SUDOERS_GID now get substituted into
24668         the Makefile, not config.h
24669         [d4482f1492fe]
24670
24671         * INSTALL:
24672         document all --with/--enable options
24673         [22d81b312d7f]
24674
24675 1998-10-15  Todd C. Miller  <Todd.Miller@courtesan.com>
24676
24677         * insults.h:
24678         options.h is no more
24679         [560946a33f7f]
24680
24681         * config.h.in:
24682         assimilated options.h
24683         [dd8ce74613c1]
24684
24685         * configure.in:
24686         moved options from options.h to configure
24687         [d39662f71b4e]
24688
24689         * check.c, find_path.c, getspwuid.c, goodpath.c, interfaces.c,
24690         logging.c, parse.c, parse.lex, parse.yacc, sudo.c, sudo.pod,
24691         sudo_setenv.c, visudo.c:
24692         no more options.h
24693         [43924bf0858d]
24694
24695         * INSTALL, Makefile.in, PORTING, TROUBLESHOOTING:
24696         remove references to options.h
24697         [ef3474295395]
24698
24699         * dce_pwent.c, interfaces.c, sudo.c:
24700         kill sys/time.h
24701         [4d833f0034e4]
24702
24703         * tgetpass.c:
24704         if select return < -1 still prompt for pw
24705         [e0009e5c93a2]
24706
24707         * options.h:
24708         convert LOGGING, LOGFAC, MAXLOGFILELEN, IGNORE_DOT_PATH into
24709         configure options
24710         [e60a1e546516]
24711
24712         * parse.c:
24713         FAST_MATCH is no longer an optino
24714         [c448dbb3464b]
24715
24716         * check.c:
24717         remove_timestamp() if timestamp is preposterous
24718         [70d9a86c6ecd]
24719
24720         * options.h:
24721         convert more options to --with/--enable
24722         [34646d9b09dc]
24723
24724         * INSTALL, aclocal.m4:
24725         logfile -> logpath
24726         [42de502bc637]
24727
24728         * configure.in:
24729         convert more options into --with and --enable
24730         [92d0898c9844]
24731
24732         * tgetpass.c:
24733         catch EINTR in select and restart
24734         [f045d2f234d7]
24735
24736         * logging.c:
24737         sys/errno -> errno
24738         [7f0c5beab6f2]
24739
24740 1998-09-24  Todd C. Miller  <Todd.Miller@courtesan.com>
24741
24742         * sudo.c:
24743         UMASK -> SUDO_UMASK.
24744         [48f308661514]
24745
24746         * check.c, logging.c:
24747         time.h, not sys/time.h
24748         [91de049c79e4]
24749
24750 1998-09-21  Todd C. Miller  <Todd.Miller@courtesan.com>
24751
24752         * logging.c:
24753         MAILER -> _PATH_SENDMAIL
24754         [df65d6896639]
24755
24756         * INSTALL, configure.in:
24757         no more --with-C2, now it is --disable-shadow
24758         [18bfcab3b9ab]
24759
24760         * aclocal.m4, check.c, compat.h, config.h.in, configure.in,
24761         getspwuid.c, sudo.c, tgetpass.c:
24762         new shadow password scheme. Always include shadow support if the
24763         platform supports it and the user did not disable it via configure
24764         [2135d93bb4a9]
24765
24766 1998-09-20  Todd C. Miller  <Todd.Miller@courtesan.com>
24767
24768         * configure.in:
24769         --with-getpass -> --{enable,disable}-tgetpass
24770         [451b33fdd4c7]
24771
24772         * Makefile.in:
24773         pathnames.h -> pathnames.h.in
24774         [b109022eca69]
24775
24776         * check.c:
24777         fix version string
24778         [761b25c314ea]
24779
24780         * check.c:
24781         move pam_conv to be static to auth function remove pam_misc.h
24782         (solaris doesn't have one)
24783         [a682e4da987a]
24784
24785         * aclocal.m4:
24786         _CONFIG_PATH_* -> _PATH_* or _PATH_SUDO_* kill SUDO_PROG_PWD
24787         [e6005d0599b5]
24788
24789         * configure.in:
24790         munge pathnames.h.in -> pathnames.h kill SUDO_PROG_PWD
24791         [24c0ac2155ef]
24792
24793         * pathnames.h.in:
24794         convert to pathnames.h.in
24795         [013bddf7f684]
24796
24797 1998-09-19  Todd C. Miller  <Todd.Miller@courtesan.com>
24798
24799         * configure.in:
24800         fix typo in sysv4 matching case /.
24801         [2994c4f88cf5]
24802
24803 1998-09-18  Todd C. Miller  <Todd.Miller@courtesan.com>
24804
24805         * check.c:
24806         pam stuff needs to run as root, not user, for shadow passwords
24807         [d94ff75de503]
24808
24809 1998-09-17  Todd C. Miller  <Todd.Miller@courtesan.com>
24810
24811         * BUGS, INSTALL, README, configure.in:
24812         updated version
24813         [775adc7de7ac]
24814
24815         * Makefile.in, check.c, compat.h, config.h.in, dce_pwent.c,
24816         emul/utime.h, find_path.c, getspwuid.c, goodpath.c, ins_2001.h,
24817         ins_classic.h, ins_csops.h, ins_goons.h, insults.h, interfaces.c,
24818         logging.c, options.h, parse.c, parse.lex, parse.yacc,
24819         pathnames.h.in, putenv.c, strdup.c, sudo.c, sudo.h, sudo_setenv.c,
24820         testsudoers.c, tgetpass.c, utime.c, visudo.c:
24821         updated version
24822         [5ca599fb6b93]
24823
24824         * check.c:
24825         user version.h for long message
24826         [47a52ac7e542]
24827
24828         * check.c:
24829         this is version 1.5.6
24830         [8451ac79eee2]
24831
24832 1998-09-16  Todd C. Miller  <Todd.Miller@courtesan.com>
24833
24834         * Makefile.in:
24835         remove errant backslash
24836         [0222a8a650ff]
24837
24838 1998-09-15  Todd C. Miller  <Todd.Miller@courtesan.com>
24839
24840         * options.h, parse.yacc, pathnames.h.in:
24841         fix version string
24842         [fdee73255d64] [SUDO_1_5_6]
24843
24844         * BUGS, CHANGES, TODO:
24845         updtaed for 1.5.6
24846         [752443bf7f26]
24847
24848         * RUNSON:
24849         updated for 1.5.6
24850         [0f878123fe6a]
24851
24852 1998-09-14  Todd C. Miller  <Todd.Miller@courtesan.com>
24853
24854         * interfaces.c:
24855         kill unused localhost_mask var copy if name to ifr_tmp after we zero
24856         it
24857         [8e89c364cef2]
24858
24859 1998-09-13  Todd C. Miller  <Todd.Miller@courtesan.com>
24860
24861         * INSTALL:
24862         Better description of new vs. old sudoers modes fix some typos
24863         better description of /usr/ucb/cc gotchas on slowaris
24864         [c00b2a6fc1e8]
24865
24866         * Makefile.in:
24867         add sample.pam
24868         [ec7f6cc19b00]
24869
24870         * sudo.c:
24871         set NewArgv[0] to user_shell, not basename(user_shell)
24872         [1e907cbc9f7b]
24873
24874 1998-09-12  Todd C. Miller  <Todd.Miller@courtesan.com>
24875
24876         * README:
24877         mention TROUBLESHOOTING more fix some typos
24878         [2c2e6907d4a4]
24879
24880         * configure.in:
24881         move --enable/--disable to be after --with
24882         [9b30097f76c1]
24883
24884         * INSTALL:
24885         document --enable/--disable
24886         [c522362e38a8]
24887
24888         * INSTALL:
24889         document --with-pam
24890         [7e38932c78ac]
24891
24892 1998-09-11  Todd C. Miller  <Todd.Miller@courtesan.com>
24893
24894         * configure.in:
24895         Add message for pam users
24896         [d224f277e3cd]
24897
24898         * sample.pam:
24899         Initial revision
24900         [3a84d7045f54]
24901
24902         * config.h.in:
24903         fix HAVE_PAM
24904         [2f0f303ebd88]
24905
24906         * check.c, config.h.in, configure.in:
24907         pam support, from Gary Calvin <GCalvin@kenwoodusa.com>
24908         [ea3e0a72d707]
24909
24910 1998-09-10  Todd C. Miller  <Todd.Miller@courtesan.com>
24911
24912         * config.h.in:
24913         add HOST_IN_LOG and WRAP_LOG
24914         [822c36eeb6a8]
24915
24916         * logging.c:
24917         add WRAP_LOG and HOST_IN_LOG
24918         [3cf6052bd27e]
24919
24920         * configure.in:
24921         add --enable-log-host and --enable-log-wrap
24922         [c968cc12b353]
24923
24924         * aclocal.m4:
24925         use AC_DEFINE_UNQUOTED for --with-logfile and --with-timedir
24926         [915fef7e11a1]
24927
24928 1998-09-09  Todd C. Miller  <Todd.Miller@courtesan.com>
24929
24930         * compat.h:
24931         add howmany macro
24932         [9107a057a7c8]
24933
24934         * tgetpass.c:
24935         include sys/param.h to get howmany macro
24936         [7e908b5e1f32]
24937
24938 1998-09-08  Todd C. Miller  <Todd.Miller@courtesan.com>
24939
24940         * OPTIONS, options.h, parse.yacc, sudo.c, testsudoers.c, visudo.c:
24941         add RUNAS_DEFAULT
24942         [1e76398ea3fd]
24943
24944 1998-09-07  Todd C. Miller  <Todd.Miller@courtesan.com>
24945
24946         * fnmatch.c:
24947         bring in stdio.h for NULL
24948         [69c016610cbb]
24949
24950         * aclocal.m4:
24951         allow /bin/{ksh,bach} and /usr/bin/{ksh,bash} as sh
24952         [15ab2972f8d0]
24953
24954         * sudo.c:
24955         use HAVE_SET_AUTH_PARAMETERS
24956         [8abfdc8c80f7]
24957
24958         * config.h.in:
24959         add HAVE_SET_AUTH_PARAMETERS
24960         [673a5ebd5539]
24961
24962         * configure.in:
24963         add *-*-hiuxmpp* add test for set_auth_parameters() if secureware
24964         [a401f5a7469a]
24965
24966         * config.sub:
24967         add support for HI-UX/MPP SR220001 02-03 0 SR2201
24968         [cb657b7acaae]
24969
24970         * interfaces.c:
24971         initialize previfname
24972         [26a1902f56dc]
24973
24974         * interfaces.c:
24975         Don't use SIOCGIFADDR, we don't need it Use SIOCGIFFLAGS if we have
24976         it check ifr_flags against IFF_UP and IFF_LOOPBACK instead of
24977         kludging it
24978         [fa5c890c313b]
24979
24980         * configure.in:
24981         typo
24982         [bff579fbe95c]
24983
24984         * Makefile.in:
24985         don't need special build line for sudo.tab.o
24986         [10c0a0a912e4]
24987
24988         * Makefile.in:
24989         don't clean sudo.tab.[ch]
24990         [c40d5968efbb]
24991
24992         * sudo.c:
24993         Sudo should prompt for a password before telling the user that a
24994         command could not be found.
24995         [d718c85a0047]
24996
24997         * BUGS:
24998         for 1.5.6
24999         [0cc1fe5b9129]
25000
25001         * INSTALL, README:
25002         no longer require yacc
25003         [d9096fc5b8b6]
25004
25005         * Makefile.in:
25006         typo
25007         [70feb1aefbd5]
25008
25009         * Makefile.in:
25010         y.tab -> sudo.tab include pre-yacc'd parse.yacc
25011         [cc802025fd44]
25012
25013         * parse.lex:
25014         include sudo.tab.h, not y.tab.h don't break out of command args if
25015         you get a '='
25016         [728ad26dbda5]
25017
25018         * insults.h:
25019         fix version ,
25020         [242bbce1b2d4]
25021
25022         * ins_2001.h, ins_classic.h, ins_csops.h, ins_goons.h:
25023         fix version
25024         [2bb9086fea1e]
25025
25026         * compat.h:
25027         fix version
25028         [7e634d498ce6]
25029
25030         * getcwd.c:
25031         getcwd(3) from OpenBSD for those without it.
25032         [6c68d0df8f6c]
25033
25034         * sudo.h:
25035         HAVE_GETWD -> HAVE_GETCWD
25036         [2ad1e64d60c0]
25037
25038         * configure.in:
25039         pretend sunos doesn't have getcwd(3) since it opens a pipe to
25040         getpwd!
25041         [677992ba5a6a]
25042
25043         * parse.c:
25044         use NAMLEN() macro
25045         [8f5685aa3165]
25046
25047         * fnmatch.c:
25048         remove duplicate include of string.h
25049         [6024f3051ac3]
25050
25051         * configure.in:
25052         call SUDO_TYPE_DEV_T and SUDO_TYPE_INO_T
25053         [3d82a9c22cc2]
25054
25055         * aclocal.m4:
25056         add SUDO_TYPE_DEV_T and SUDO_TYPE_INO_T
25057         [53fbc47282f9]
25058
25059         * config.h.in:
25060         add dev_t and ino_t
25061         [5929bb0c7e1a]
25062
25063 1998-07-28  Todd C. Miller  <Todd.Miller@courtesan.com>
25064
25065         * check.c:
25066         fix OTP_ONLY for opie
25067         [7edcfa78f2ec]
25068
25069 1998-06-24  Todd C. Miller  <Todd.Miller@courtesan.com>
25070
25071         * testsudoers.c, tgetpass.c:
25072         include stdlib.h for malloc proto
25073         [c9f4b99a2fe9]
25074
25075 1998-05-19  Todd C. Miller  <Todd.Miller@courtesan.com>
25076
25077         * Makefile.in:
25078         make update_version saner
25079         [d522f93ee04a]
25080
25081         * config.h.in:
25082         add HAVE_WAITPID, HAVE_WAIT3, and sudo_waitpid()
25083         [c9a2d21dc608]
25084
25085         * configure.in:
25086         check for waitpid and wait3 or no waitpid
25087         [1f18c3224184]
25088
25089         * logging.c:
25090         used waitpid or wait3 if we have 'em
25091         [391c3279ee65]
25092
25093 1998-05-02  Todd C. Miller  <Todd.Miller@courtesan.com>
25094
25095         * visudo.c:
25096         fix some fprintf args, ariel@oz.engr.sgi.com (Ariel Faigon)
25097         [fbf53b18178f]
25098
25099 1998-04-28  Todd C. Miller  <Todd.Miller@courtesan.com>
25100
25101         * configure.in:
25102         don't need to explicately mention -lsocket -lnsl for sequent
25103         [1898dc055352]
25104
25105 1998-04-25  Todd C. Miller  <Todd.Miller@courtesan.com>
25106
25107         * configure.in:
25108         dynix should not link with -linet
25109         [278a4b9cfe2a]
25110
25111 1998-04-10  Todd C. Miller  <Todd.Miller@courtesan.com>
25112
25113         * INSTALL:
25114         mention that HP-UX doesn't ship with yacc
25115         [bde5147198c0]
25116
25117 1998-04-07  Todd C. Miller  <Todd.Miller@courtesan.com>
25118
25119         * check.c:
25120         ignore kerberos if we can't get the local realm
25121         [1e311a091a27]
25122
25123 1998-04-06  Todd C. Miller  <Todd.Miller@courtesan.com>
25124
25125         * BUGS, INSTALL, README, configure.in:
25126         ++version
25127         [499ffc746018]
25128
25129         * version.h:
25130         ++
25131         [35ba1ee01bd3]
25132
25133         * Makefile.in, check.c, config.h.in, dce_pwent.c, emul/utime.h,
25134         find_path.c, getcwd.c, getspwuid.c, goodpath.c, interfaces.c,
25135         logging.c, parse.c, parse.lex, putenv.c, strdup.c, sudo.c, sudo.h,
25136         sudo_setenv.c, testsudoers.c, tgetpass.c, utime.c, visudo.c:
25137         updated version
25138         [b4990a513f31]
25139
25140         * check.c, sudo.h:
25141         fix version
25142         [5710795834e8]
25143
25144         * getcwd.c:
25145         don't use popen/pclose. Do it inline.
25146         [29e57b0646a4]
25147
25148         * lsearch.c:
25149         add rcsid
25150         [b2b55c39858d]
25151
25152         * sudo.c:
25153         typo
25154         [d381ac39ed0f]
25155
25156         * check.c, compat.h, ins_2001.h, ins_classic.h, ins_csops.h,
25157         ins_goons.h, insults.h, options.h, parse.yacc, pathnames.h.in,
25158         sudo.h:
25159         updated version
25160         [462d6e1a2d75]
25161
25162         * check.c, find_path.c, parse.c, sudo.c, testsudoers.c:
25163         MAX* + 1 -> MAX*
25164         [2c2eeb78d34f]
25165
25166         * Makefile.in:
25167         getwd.c -> getcwd.c
25168         [7d718c32fc02]
25169
25170         * config.h.in:
25171         kill HAVE_GETWD
25172         [6ad3d702343f]
25173
25174         * configure.in:
25175         getcwd, not getwd
25176         [33e5b9841f58]
25177
25178         * getcwd.c:
25179         use MAX* not MAX* + 1 always run pwd as using getwd() defeats the
25180         purpose
25181         [24e58d340161]
25182
25183 1998-03-31  Todd C. Miller  <Todd.Miller@courtesan.com>
25184
25185         * OPTIONS, options.h:
25186         add STUB_LOAD_INTERFACES
25187         [d747cb23ca83]
25188
25189         * Makefile.in, check.c, compat.h, config.h.in, dce_pwent.c,
25190         emul/utime.h, find_path.c, getspwuid.c, getwd.c, goodpath.c,
25191         ins_2001.h, ins_classic.h, ins_csops.h, ins_goons.h, insults.h,
25192         interfaces.c, logging.c, options.h, parse.c, parse.lex, parse.yacc,
25193         pathnames.h.in, putenv.c, strdup.c, sudo.c, sudo.h, sudo_setenv.c,
25194         testsudoers.c, tgetpass.c, utime.c, visudo.c:
25195         updated version
25196         [0798229312cc]
25197
25198         * configure.in:
25199         support *-ccur-sysv4 and fix two typos
25200         [24a823ad7cc9]
25201
25202 1998-03-28  Todd C. Miller  <Todd.Miller@courtesan.com>
25203
25204         * configure.in:
25205         don't echo about with_logfile and with_timedir
25206         [31e4a1e2d9ad]
25207
25208         * INSTALL:
25209         document --with-logfile and --with-timedir
25210         [674f811a40e0]
25211
25212         * aclocal.m4:
25213         support --with-logfile and --with-timedir
25214         [2fc36b35db12]
25215
25216         * configure.in:
25217         Add --with-logfile and --with-timedir
25218         [09045bf07e29]
25219
25220         * sudo.c:
25221         change size computation of NewArgv for UNICOS
25222         [b50df07da3a1]
25223
25224 1998-02-19  Todd C. Miller  <Todd.Miller@courtesan.com>
25225
25226         * configure.in:
25227         treate -*-sysv4* like *-*-svr4
25228         [471b7ef4dbf2]
25229
25230 1998-02-18  Todd C. Miller  <Todd.Miller@courtesan.com>
25231
25232         * configure.in:
25233         fix spacing for --with-authenticate help
25234         [8321cb37c410]
25235
25236         * Makefile.in, check.c, compat.h, config.h.in, dce_pwent.c,
25237         emul/utime.h, find_path.c, getspwuid.c, getwd.c, goodpath.c,
25238         ins_2001.h, ins_classic.h, ins_csops.h, ins_goons.h, insults.h,
25239         interfaces.c, logging.c, options.h, parse.c, parse.lex, parse.yacc,
25240         pathnames.h.in, putenv.c, strdup.c, sudo.c, sudo.h, sudo_setenv.c,
25241         testsudoers.c, tgetpass.c, utime.c, visudo.c:
25242         updated version
25243         [dc1ab97312eb]
25244
25245         * parse.yacc:
25246         fix off by one error in push macro
25247         [bece59c8c3a9]
25248
25249 1998-02-17  Todd C. Miller  <Todd.Miller@courtesan.com>
25250
25251         * configure.in:
25252         removed bogus alloca hack
25253         [a68dd720462d]
25254
25255         * check.c:
25256         added AIX 4.x authenticate() support
25257         [12985eb448a0]
25258
25259         * parse.yacc:
25260         include alloca.h if using bison and not gcc and it exists. fixes an
25261         alloca problem on hpux 10.x
25262         [e3b5c4f26072]
25263
25264         * INSTALL:
25265         mention --with-authenticate
25266         [78a1c96820e7]
25267
25268         * configure.in:
25269         added AIX authenticate() support
25270         [c983193ec252]
25271
25272         * config.h.in:
25273         add HAVE_AUTHENTICATE
25274         [7b0e5f5db5d9]
25275
25276         * interfaces.c:
25277         dynamically size ifconf buffer
25278         [10afb0e9b2f9]
25279
25280         * configure.in:
25281         quote '[' and ']'
25282         [8fc38a4defad]
25283
25284         * Makefile.in, check.c, compat.h, config.h.in, dce_pwent.c,
25285         emul/utime.h, find_path.c, getspwuid.c, getwd.c, goodpath.c,
25286         ins_2001.h, ins_classic.h, ins_csops.h, ins_goons.h, insults.h,
25287         logging.c, options.h, parse.c, parse.lex, parse.yacc,
25288         pathnames.h.in, putenv.c, strdup.c, sudo.c, sudo.h, sudo_setenv.c,
25289         testsudoers.c, tgetpass.c, utime.c, visudo.c:
25290         updated version
25291         [5f66de71ec61]
25292
25293         * visudo.pod:
25294         add ERRORS section
25295         [3df3edb73cf6]
25296
25297 1998-02-16  Todd C. Miller  <Todd.Miller@courtesan.com>
25298
25299         * TROUBLESHOOTING:
25300         add busy stmp file explanation
25301         [6c555d469b6f]
25302
25303 1998-02-15  Todd C. Miller  <Todd.Miller@courtesan.com>
25304
25305         * configure.in:
25306         the name of the cached var that signals whether or not you are cross
25307         compiling changed. It is now ac_cv_prog_cc_cross
25308         [123911c0658c]
25309
25310 1998-02-11  Todd C. Miller  <Todd.Miller@courtesan.com>
25311
25312         * INSTALL:
25313         mention glibc 2.07 is fixed wrt lsearch()\.
25314         [ded758524582]
25315
25316 1998-02-07  Todd C. Miller  <Todd.Miller@courtesan.com>
25317
25318         * sample.sudoers, sudoers.pod:
25319         better example of su but not root su
25320         [b3199610be21]
25321
25322 1998-02-06  Todd C. Miller  <Todd.Miller@courtesan.com>
25323
25324         * Makefile.in, check.c, compat.h, config.h.in, dce_pwent.c,
25325         emul/utime.h, find_path.c, getspwuid.c, getwd.c, goodpath.c,
25326         ins_2001.h, ins_classic.h, ins_csops.h, ins_goons.h, insults.h,
25327         interfaces.c, logging.c, options.h, parse.c, parse.lex, parse.yacc,
25328         pathnames.h.in, putenv.c, strdup.c, sudo.c, sudo.h, sudo_setenv.c,
25329         testsudoers.c, tgetpass.c, utime.c, visudo.c:
25330         updated version
25331         [46922b84e86b]
25332
25333         * Makefile.in:
25334         correct regexp for updating version
25335         [8032728b2a8a]
25336
25337         * tgetpass.c:
25338         remove bogus flush of stderr spew prompt before turning off echo.
25339         Seems to fix a weird problem where if sudo complained about a bogus
25340         stamp file the user would sometimes not have a chance to enter a
25341         password
25342         [7aa1493cc141]
25343
25344         * check.c:
25345         fix bogus flush of stderr
25346         [6d047871c5e8]
25347
25348         * sudo.c:
25349         close fd's <=2 not <=3 and move that chunk of code up
25350         [553e4faac195]
25351
25352         * configure.in:
25353         support hpux1[0-9] not just hpux10
25354         [5a34a000ff8a]
25355
25356 1998-01-30  Todd C. Miller  <Todd.Miller@courtesan.com>
25357
25358         * parse.c:
25359         set sudoers_fp to nil after closing
25360         [221a8b4bbf34]
25361
25362 1998-01-24  Todd C. Miller  <Todd.Miller@courtesan.com>
25363
25364         * config.guess, config.sub:
25365         updated from autoconf 2.12
25366         [6fc86a0fc61b]
25367
25368         * configure.in:
25369         add *-*-svr4 rule
25370         [38f0427f7c9d]
25371
25372 1998-01-23  Todd C. Miller  <Todd.Miller@courtesan.com>
25373
25374         * tgetpass.c:
25375         fix select usage for high fd's (dynamically allocate readfds)
25376         [c2d1f76e0321]
25377
25378         * check.c:
25379         kill extra whitespace
25380         [d784b6c9c514]
25381
25382         * sudo.c:
25383         do an initgroups() before running a command, unless the target user
25384         is root.
25385         [4ca561287480]
25386
25387 1998-01-22  Todd C. Miller  <Todd.Miller@courtesan.com>
25388
25389         * TROUBLESHOOTING:
25390         tell people to use tabs, not spaces, in syslog.conf
25391         [8ae90a205134]
25392
25393 1998-01-21  Todd C. Miller  <Todd.Miller@courtesan.com>
25394
25395         * Makefile.in, config.h.in, dce_pwent.c, emul/utime.h, getwd.c,
25396         parse.lex, putenv.c, strdup.c, testsudoers.c, utime.c:
25397         updated version
25398         [4d855ff5de26]
25399
25400         * check.c, find_path.c, getspwuid.c, goodpath.c, interfaces.c,
25401         logging.c, parse.c, sudo.c, sudo_setenv.c, tgetpass.c, visudo.c:
25402         updated version
25403         [8e007e178b33]
25404
25405         * compat.h, ins_2001.h, ins_classic.h, ins_csops.h, ins_goons.h,
25406         insults.h, options.h, parse.yacc, pathnames.h.in, sudo.h:
25407         updated version
25408         [9ddea5c8814d]
25409
25410         * Makefile.in:
25411         more tweaks to update_version
25412         [047698752855]
25413
25414         * Makefile.in:
25415         fixed up update_version rule
25416         [47b6fa34b77f]
25417
25418         * configure.in:
25419         ++version
25420         [c1ca664e30b7]
25421
25422         * Makefile.in:
25423         removed supe of check.c
25424         [8f340a05296a]
25425
25426         * INSTALL:
25427         ++version I missed
25428         [a298e6c17491]
25429
25430         * RUNSON:
25431         updated
25432         [a14f6057bc15]
25433
25434         * BUGS, INSTALL, Makefile.in, README, check.c, compat.h, config.h.in,
25435         dce_pwent.c, emul/utime.h, find_path.c, getspwuid.c, getwd.c,
25436         goodpath.c, ins_2001.h, ins_classic.h, ins_csops.h, ins_goons.h,
25437         insults.h, interfaces.c, logging.c, options.h, parse.c, parse.lex,
25438         parse.yacc, pathnames.h.in, putenv.c, strdup.c, sudo.c, sudo.h,
25439         sudo_setenv.c, testsudoers.c, tgetpass.c, utime.c, version.h,
25440         visudo.c:
25441         updated version
25442         [02231b1a3ab3]
25443
25444         * CHANGES:
25445         updated for 1.5.5
25446         [634e5fcaf40b]
25447
25448         * Makefile.in:
25449         add rules to update version stuff in files so I don't need to do it
25450         by hand
25451         [3620ad60485a]
25452
25453         * sudo.h:
25454         sudoers_fp is now extern
25455         [88c6e9b9ea84]
25456
25457         * sudo.c:
25458         in check_sudoers, cache the sudoers file handle in sudoers_fp so we
25459         don't have to open it again in the parse. This may help with weird
25460         solaris problems where EAGAIN sometime occurrs.
25461         [d3c26451ed1d]
25462
25463         * parse.c:
25464         sudoers file open is now done only in check_sudoers() so we just do
25465         a rewind() instead of an open. May help people on solaris who were
25466         getting EAGAIN.
25467         [c8b8c7722fa5]
25468
25469 1998-01-16  Todd C. Miller  <Todd.Miller@courtesan.com>
25470
25471         * INSTALL:
25472         mention that newer glibc is fixed
25473         [20f06f5d3ef3]
25474
25475 1998-01-13  Todd C. Miller  <Todd.Miller@courtesan.com>
25476
25477         * sudo.c:
25478         newer irix uses _RLDN32_* envariables for 32-bit binaries so ignore
25479         _RLD* instead of _RLD_*
25480         [1e22c588d602]
25481
25482         * parse.c:
25483         typo
25484         [d0b7cb85f08a]
25485
25486         * parse.c:
25487         fix that bug for real
25488         [5a6eeca6d04b]
25489
25490         * INSTALL:
25491         document Linux's libc6 brokenness.
25492         [0246c1aa64ee]
25493
25494         * parse.yacc:
25495         -Wall
25496         [d0e452fb1e2d]
25497
25498         * RUNSON:
25499         updated
25500         [4949a1bbd0a9] [SUDO_1_5_4]
25501
25502         * TROUBLESHOOTING:
25503         remind people to HUP syslogd
25504         [590962faa4f0]
25505
25506         * Makefile.in:
25507         add -O flag to tar
25508         [622d02de339d]
25509
25510         * RUNSON:
25511         updated
25512         [a72930d6e615]
25513
25514         * TODO:
25515         updated
25516         [4a51bd458390]
25517
25518         * sudo.pod:
25519         remove author's email addr. people should mail sudo-bugs
25520         [9b6bbdb3a6d9]
25521
25522         * INSTALL:
25523         fix version
25524         [246274c6c8af]
25525
25526         * README, check.c, compat.h, config.h.in, configure.in, dce_pwent.c,
25527         find_path.c, getspwuid.c, getwd.c, goodpath.c, ins_2001.h,
25528         ins_classic.h, ins_csops.h, ins_goons.h, insults.h, interfaces.c,
25529         logging.c, options.h, parse.c, parse.lex, parse.yacc,
25530         pathnames.h.in, putenv.c, strdup.c, sudo.c, sudo.h, sudo_setenv.c,
25531         testsudoers.c, tgetpass.c, utime.c, version.h, visudo.c:
25532         ++version
25533         [f532ff4ee766]
25534
25535         * RUNSON:
25536         updated
25537         [62d5c71358b5]
25538
25539         * INSTALL, Makefile.in:
25540         ++version
25541         [1a7c7628edfc]
25542
25543         * CHANGES:
25544         updated fort 1.5.4
25545         [7e4873508c99]
25546
25547         * check.c:
25548         exit(1) if user enters no passwd
25549         [f382c0e35e4e]
25550
25551         * BUGS:
25552         ++version
25553         [fab6a867ab67]
25554
25555         * parse.c:
25556         commands can start with ./* not just /* -- fixes a serious security
25557         hole.
25558         [244d2fe35ee3]
25559
25560 1997-12-21  Todd C. Miller  <Todd.Miller@courtesan.com>
25561
25562         * sudo.c:
25563         Don't set the tty variable to NULL when we lack a tty, leave it as
25564         "unknown".
25565         [193b26daba03]
25566
25567 1997-11-23  Todd C. Miller  <Todd.Miller@courtesan.com>
25568
25569         * sample.sudoers:
25570         fix usage of (username) in conjunction with , and !
25571         [7ae68607f68f]
25572
25573         * visudo.c:
25574         catch the case where the user is not in the passwd file
25575         [31650258deb0]
25576
25577         * tgetpass.c:
25578         use fileno(input) + 1 instead of getdtablesize() as the nfds arg to
25579         select(2)
25580         [60ab2d9a9ee8]
25581
25582         * sudo.c:
25583         define tty global to an initial value to avoid dumping core in
25584         logging functions when passwd file is unavailable.
25585         [77056c7bc908]
25586
25587         * sudo.c:
25588         do the set_perms(PERM_USER, sudo_mode) after we have gotten the
25589         passwd entry
25590         [1fdb8e579a5a]
25591
25592         * sudo.pod:
25593         talk about problem of ALL
25594         [1cd1905c9f6f]
25595
25596 1997-10-10  Todd C. Miller  <Todd.Miller@courtesan.com>
25597
25598         * README:
25599         new web location
25600         [d24dc26f6da5]
25601
25602         * INSTALL:
25603         fdesc bug is fixed in Open/Net BSD
25604         [7d4d81b08ac3]
25605
25606         * HISTORY:
25607         updates from Nieusma
25608         [3a43769a1b78]
25609
25610 1997-10-09  Todd C. Miller  <Todd.Miller@courtesan.com>
25611
25612         * dce_pwent.c:
25613         move compat.h after the system includes
25614         [5ea43a5968ac]
25615
25616 1997-08-06  Todd C. Miller  <Todd.Miller@courtesan.com>
25617
25618         * logging.c:
25619         save errno from being clobbered by wait(). From Theo
25620         [f2d1c48cd592]
25621
25622 1997-05-21  Todd C. Miller  <Todd.Miller@courtesan.com>
25623
25624         * compat.h:
25625         fix an occurence of setresuid -> setreuid (typo)
25626         [394de35c9b1c]
25627
25628 1997-03-19  Todd C. Miller  <Todd.Miller@courtesan.com>
25629
25630         * install-sh:
25631         check for path to strip
25632         [2b7ef824bd55]
25633
25634 1997-01-16  Todd C. Miller  <Todd.Miller@courtesan.com>
25635
25636         * logging.c:
25637         deal with maxfilelen < 0 case
25638         [f0af095178d7]
25639
25640         * OPTIONS:
25641         fixed descriptin
25642         [629f60bd4b5f]
25643
25644 1996-12-12  Todd C. Miller  <Todd.Miller@courtesan.com>
25645
25646         * sudo.c:
25647         correct error message if mode/owner wrong and not statable by owner
25648         but is statable by root.
25649         [cb631ce2e85e]
25650
25651 1996-11-23  Todd C. Miller  <Todd.Miller@courtesan.com>
25652
25653         * config.guess, config.sub:
25654         autoconf 2.11
25655         [f3cbe59e0756]
25656
25657 1996-11-16  Todd C. Miller  <Todd.Miller@courtesan.com>
25658
25659         * CHANGES, RUNSON, TODO:
25660         sudo 1.5.3.
25661         [2be3229b8626]
25662
25663 1996-11-14  Todd C. Miller  <Todd.Miller@courtesan.com>
25664
25665         * parse.yacc, sudo.h:
25666         command_alias -> generic_alias
25667         [c404ca8c510d] [SUDO_1_5_3]
25668
25669         * sample.sudoers:
25670         added Runas_Alias example and fixed syntax errors
25671         [c304053f4a8a]
25672
25673         * OPTIONS, options.h:
25674         updated MAILSUBJECT
25675         [18d1573fcd2a]
25676
25677         * logging.c:
25678         added %h expansion
25679         [a4bff9b284fd]
25680
25681         * INSTALL, Makefile.in, README, check.c, compat.h, config.h.in,
25682         configure.in, dce_pwent.c, find_path.c, getspwuid.c, getwd.c,
25683         goodpath.c, ins_2001.h, ins_classic.h, ins_csops.h, ins_goons.h,
25684         insults.h, interfaces.c, logging.c, options.h, parse.c, parse.lex,
25685         parse.yacc, pathnames.h.in, putenv.c, strdup.c, sudo.c, sudo.h,
25686         sudo_setenv.c, testsudoers.c, tgetpass.c, utime.c, version.h,
25687         visudo.c:
25688         ++version
25689         [211ff20f956f]
25690
25691         * BUGS, emul/utime.h:
25692         ++version
25693         [cde5376579e3]
25694
25695         * sudoers.pod:
25696         document Runas_Alias
25697         [b1a58f28fb2c]
25698
25699         * visudo.pod:
25700         q (uid) -> Q
25701         [d256649a0e6b]
25702
25703         * visudo.c:
25704         buffer oflow checking q (uit) -> Q if yyparse() fails drop into
25705         whatnow
25706         [1cb183d15626]
25707
25708         * parse.yacc:
25709         add size params to sprintf
25710         [9228f698921f]
25711
25712         * parse.lex:
25713         allow trailing space after '\\' but before '\n'
25714         [f51dbbf69fdf]
25715
25716         * find_path.c:
25717         off by one error in path size check
25718         [a6d75ccd7632]
25719
25720         * check.c:
25721         sprintf paranoia
25722         [3ffb12d198dd]
25723
25724 1996-11-12  Todd C. Miller  <Todd.Miller@courtesan.com>
25725
25726         * parse.yacc:
25727         fixed more_aliases
25728         [aab12f2a50af]
25729
25730         * visudo.c:
25731         now warns if killed by signal ./
25732         [310c186a0fd7]
25733
25734 1996-11-11  Todd C. Miller  <Todd.Miller@courtesan.com>
25735
25736         * parse.yacc:
25737         fix Runas_Alias stuff Alias's in runas list now get expanded (but it
25738         is gross)
25739         [45590b83120f]
25740
25741         * sudo.c:
25742         Can now deal with SUDOERS_UID == 0 and SUDOERS_MODE == 0400
25743         [d53e01c14c58]
25744
25745         * parse.yacc:
25746         add Runas_Alias support change FOO to FOO_ALIAS (ie: USER_ALIAS)
25747         [7a4a040aae2d]
25748
25749         * parse.lex:
25750         Add Runas_Alias and simplify a rule.
25751         [6f794a769a37]
25752
25753         * parse.yacc:
25754         always store User_Alias's since they can be used inside of a runas
25755         list. Sigh. Really need a Runas_Alias instead.
25756         [3bab058a873e]
25757
25758 1996-10-30  Todd C. Miller  <Todd.Miller@courtesan.com>
25759
25760         * visudo.c:
25761         deal with case where there is no sudoers file
25762         [fa38b3bb244d]
25763
25764 1996-10-12  Todd C. Miller  <Todd.Miller@courtesan.com>
25765
25766         * TROUBLESHOOTING:
25767         added one
25768         [e61346d06725]
25769
25770 1996-10-11  Todd C. Miller  <Todd.Miller@courtesan.com>
25771
25772         * HISTORY, testsudoers.c:
25773         developement -> development
25774         [4df55e293941]
25775
25776         * INSTALL:
25777         added a note
25778         [3845fb83dbc0]
25779
25780         * RUNSON:
25781         for 1.5.2
25782         [5489b7298942]
25783
25784         * CHANGES:
25785         updated
25786         [0741834929e6]
25787
25788 1996-10-10  Todd C. Miller  <Todd.Miller@courtesan.com>
25789
25790         * PORTING:
25791         removed seteuid() notes
25792         [1010a60f281d] [SUDO_1_5_2]
25793
25794 1996-10-09  Todd C. Miller  <Todd.Miller@courtesan.com>
25795
25796         * compat.h:
25797         better seteuid() emulatino
25798         [e807623b662c]
25799
25800         * configure.in:
25801         added check for seteuid
25802         [8cf9fabc6f4f]
25803
25804         * config.h.in:
25805         added HAVE_SETEUID
25806         [596db46aa828]
25807
25808 1996-10-08  Todd C. Miller  <Todd.Miller@courtesan.com>
25809
25810         * configure.in:
25811         first stab at sequent support
25812         [b85a7bfcac76]
25813
25814         * config.h.in:
25815         added HAVE_SYS_SELECT_H
25816         [93ecdd042463]
25817
25818         * compat.h:
25819         sequent -> _SEQUENT_
25820         [63a38b6da98c]
25821
25822         * compat.h:
25823         added seteuid() macro for DYNIX
25824         [695bd63c5ea6]
25825
25826         * tgetpass.c:
25827         _AIX -> HAVE_SYS_SELECT_H
25828         [b31221211bc2]
25829
25830 1996-10-07  Todd C. Miller  <Todd.Miller@courtesan.com>
25831
25832         * BUGS, INSTALL, Makefile.in, OPTIONS, README, config.h.in, logging.c,
25833         parse.c, parse.lex, parse.yacc, putenv.c, strdup.c, sudo_setenv.c,
25834         testsudoers.c, tgetpass.c, utime.c, visudo.c:
25835         ++version
25836         [8052992fd453]
25837
25838         * check.c, compat.h, dce_pwent.c, emul/utime.h, find_path.c,
25839         getspwuid.c, getwd.c, goodpath.c, ins_2001.h, ins_classic.h,
25840         ins_csops.h, ins_goons.h, insults.h, interfaces.c, options.h,
25841         pathnames.h.in, version.h:
25842         ++version
25843         [f7ad15e1598a]
25844
25845         * sudo.pod:
25846         added -H and SUDO_PS1
25847         [bb965241e30c]
25848
25849         * configure.in:
25850         use SUDO_FUNC_FNMATCH
25851         [6a8350d85fb2]
25852
25853         * aclocal.m4:
25854         added SUDO_FUNC_FNMATCH
25855         [45b32c91c4ba]
25856
25857         * sudo.c:
25858         added -H flag
25859         [11ebc6872fd6]
25860
25861         * sudo.h:
25862         added MODE_RESET_HOME /
25863         [67a7f8bcbbd6]
25864
25865 1996-10-05  Todd C. Miller  <Todd.Miller@courtesan.com>
25866
25867         * INSTALL:
25868         mention OPIE
25869         [5723515d5bbd]
25870
25871         * options.h:
25872         SKEY -> OTP
25873         [c1d268130bc4]
25874
25875         * configure.in:
25876         added opie support
25877         [123872b41b20]
25878
25879         * compat.h, config.h.in:
25880         added HAVE_OPIE
25881         [528c71afc1e5]
25882
25883         * check.c:
25884         added HAVE_OPIE and changed to *_OTP_*
25885         [4c62f5db872a]
25886
25887         * OPTIONS:
25888         SKEY -> OTP
25889         [bd858e5e9652]
25890
25891 1996-10-04  Todd C. Miller  <Todd.Miller@courtesan.com>
25892
25893         * check.c:
25894         moved fclose() in skey stuff.
25895         [11f7dc8431a6]
25896
25897 1996-10-03  Todd C. Miller  <Todd.Miller@courtesan.com>
25898
25899         * putenv.c:
25900         index -> strchr remove unnecesary stuff
25901         [af2d05238062]
25902
25903         * check.c:
25904         now call skeychallenge() to get challenge instead of making one up
25905         ourselves. this way, we get extra goodies in the prompt.
25906         [49b770d98d3a]
25907
25908 1996-09-10  Todd C. Miller  <Todd.Miller@courtesan.com>
25909
25910         * CHANGES:
25911         added one
25912         [3f5149357e2a] [SUDO_1_5_1]
25913
25914         * parse.lex:
25915         allow logins to start with a number (YUCK!)
25916         [7ed7ef324741]
25917
25918 1996-09-08  Todd C. Miller  <Todd.Miller@courtesan.com>
25919
25920         * TROUBLESHOOTING:
25921         added soalris 2.5 vs 2.4 note
25922         [16160a251aae]
25923
25924         * configure.in:
25925         DUNIX doesn't need -lnsl
25926         [be924cc322c3]
25927
25928         * CHANGES:
25929         *** empty log message ***
25930         [1b2937521981]
25931
25932         * check.c, compat.h, config.h.in, dce_pwent.c, find_path.c,
25933         getspwuid.c, getwd.c, goodpath.c, ins_2001.h, ins_classic.h,
25934         ins_csops.h, ins_goons.h, insults.h, interfaces.c, logging.c,
25935         options.h, parse.c, parse.lex, parse.yacc, pathnames.h.in, putenv.c,
25936         strdup.c, sudo.c, sudo.h, sudo_setenv.c, testsudoers.c, tgetpass.c,
25937         utime.c, version.h, visudo.c:
25938         courtesan
25939         [5f203589bbfe]
25940
25941         * PORTING, README, RUNSON:
25942         courtesan
25943         [d72517f4937e]
25944
25945         * INSTALL, Makefile.in, TROUBLESHOOTING:
25946         courtesan
25947         [5c007e3c7a71]
25948
25949         * visudo.pod:
25950         *** empty log message ***
25951         [37ebe85bd4e1]
25952
25953         * sudo.pod, visudo.pod:
25954         courtesan
25955         [37f02e2130ea]
25956
25957 1996-09-07  Todd C. Miller  <Todd.Miller@courtesan.com>
25958
25959         * HISTORY:
25960         added courtesan ./
25961         [b01435226276]
25962
25963 1996-09-06  Todd C. Miller  <Todd.Miller@courtesan.com>
25964
25965         * sudo.c:
25966         added $SUDO_PROMPT support
25967         [cb1fa72c093d]
25968
25969 1996-09-04  Todd C. Miller  <Todd.Miller@courtesan.com>
25970
25971         * check.c:
25972         print long skey challemged to stderr, not stdout
25973         [750fc775b3b2]
25974
25975 1996-09-01  Todd C. Miller  <Todd.Miller@courtesan.com>
25976
25977         * CHANGES:
25978         updated for 1.5.1
25979         [9b615f393057]
25980
25981         * emul/utime.h:
25982         ++version
25983         [a94de18deafb]
25984
25985 1996-08-31  Todd C. Miller  <Todd.Miller@courtesan.com>
25986
25987         * RUNSON:
25988         updated for 1.5.1
25989         [4092f20ab634]
25990
25991 1996-08-30  Todd C. Miller  <Todd.Miller@courtesan.com>
25992
25993         * check.c:
25994         use shost, not host for tgetpass
25995         [6061c49ff9be]
25996
25997         * sudo.pod:
25998         documented %u and %h
25999         [6d2922d29897]
26000
26001         * OPTIONS:
26002         documented %u and %h
26003         [1a71da13a864]
26004
26005         * configure.in:
26006         fixed typo
26007         [1230dec2b062]
26008
26009         * INSTALL, Makefile.in, README, check.c, compat.h, config.h.in,
26010         dce_pwent.c, find_path.c, getspwuid.c, getwd.c, goodpath.c,
26011         ins_2001.h, ins_classic.h, ins_csops.h, ins_goons.h, insults.h,
26012         interfaces.c, logging.c, options.h, parse.c, parse.lex, parse.yacc,
26013         pathnames.h.in, putenv.c, strdup.c, sudo.c, sudo.h, sudo_setenv.c,
26014         testsudoers.c, tgetpass.c, utime.c, version.h, visudo.c:
26015         ++version
26016         [65ce8eabf77a]
26017
26018         * BUGS:
26019         ++version
26020         [afecab53aab7]
26021
26022 1996-08-29  Todd C. Miller  <Todd.Miller@courtesan.com>
26023
26024         * Makefile.in, configure.in, version.h:
26025         ++version
26026         [fb3ff940d672]
26027
26028         * sudo.h:
26029         new tgetpass() params
26030         [9eccc5b0f8ae]
26031
26032         * check.c:
26033         pass use and host to tgetpass
26034         [c56d9d13c401]
26035
26036         * tgetpass.c:
26037         added %u and %h escapes
26038         [04ae775d3e5d]
26039
26040         * OPTIONS, check.c, options.h:
26041         added NO_MESSAGE
26042         [3927dad19057]
26043
26044         * configure.in:
26045         added cray (unicos) support
26046         [1122210c5fb1]
26047
26048 1996-08-27  Todd C. Miller  <Todd.Miller@courtesan.com>
26049
26050         * OPTIONS, options.h, sudo.c:
26051         added SHELL_SETS_HOME
26052         [0b26909b0929]
26053
26054 1996-08-25  Todd C. Miller  <Todd.Miller@courtesan.com>
26055
26056         * INSTALL:
26057         added note about "make install"
26058         [7e56ea76d4b4]
26059
26060         * parse.yacc:
26061         changed length/size params from int to size_t
26062         [5654e5ceb1b3]
26063
26064         * OPTIONS:
26065         now get CSOPS insults as well by default
26066         [297323d0179a]
26067
26068         * insults.h:
26069         use csops insults too by default
26070         [07fafc136169]
26071
26072         * INSTALL, Makefile.in, README, config.h.in, configure.in, version.h:
26073         version = 1.5
26074         [4b8772b11e3b]
26075
26076         * sudo.c:
26077         added runas_homedir
26078         [b0e0d4417a15]
26079
26080         * TODO:
26081         updated for 1.5
26082         [66259df825d5]
26083
26084         * RUNSON:
26085         updated for 1.5
26086         [e08bc9ebfe95]
26087
26088         * CHANGES:
26089         1.5 release
26090         [8c16942fea41]
26091
26092         * INSTALL:
26093         added "upgrading" notes
26094         [210d968964ff]
26095
26096 1996-08-22  Todd C. Miller  <Todd.Miller@courtesan.com>
26097
26098         * visudo.c:
26099         now do chmod and chown after edit of temp file and before rename
26100         [de174e34faa7] [SUDO_1_5_0]
26101
26102 1996-08-18  Todd C. Miller  <Todd.Miller@courtesan.com>
26103
26104         * Makefile.in:
26105         ++version added INSTALL.configure
26106         [c9e9214f52ae]
26107
26108         * configure.in, version.h:
26109         ++version
26110         [5985abed3eb2]
26111
26112         * TROUBLESHOOTING:
26113         *** empty log message ***
26114         [d65c540ec52e]
26115
26116         * parse.yacc:
26117         added missing cast
26118         [e7247319a7d5]
26119
26120         * sudo.c:
26121         sets $HOME to pw_dir of runas user
26122         [d3f7f4d05752]
26123
26124         * sudo.pod:
26125         document $HOME change
26126         [854454d458c4]
26127
26128 1996-08-17  Todd C. Miller  <Todd.Miller@courtesan.com>
26129
26130         * sudo.pod:
26131         fixed up some wording
26132         [b0c8582f2c97]
26133
26134         * check.c, dce_pwent.c, find_path.c, getspwuid.c, getwd.c, goodpath.c,
26135         interfaces.c, logging.c, parse.c, parse.lex, parse.yacc, putenv.c,
26136         strdup.c, sudo.c, sudo_setenv.c, testsudoers.c, tgetpass.c, utime.c,
26137         visudo.c:
26138         ++version
26139         [748be723fd8b]
26140
26141         * compat.h, ins_2001.h, ins_classic.h, ins_csops.h, ins_goons.h,
26142         insults.h, options.h, pathnames.h.in, sudo.h:
26143         ++version
26144         [acdf8b1b2a1b]
26145
26146         * emul/utime.h:
26147         ++version
26148         [b3f35298ab8d]
26149
26150         * sudo.h:
26151         name nad type changes
26152         [db24ab3da141]
26153
26154         * testsudoers.c:
26155         now works with new sudo
26156         [379346c42cc2]
26157
26158         * parse.yacc:
26159         fixed some XXX
26160         [f5fe4c990052]
26161
26162         * parse.yacc:
26163         some variable name changes + comment headers for functions.
26164         [3dc3bd9aa73d]
26165
26166         * tgetpass.c:
26167         added extra paren's to make compilers happy
26168         [9e4968a34d56]
26169
26170         * sudo.c:
26171         *** empty log message ***
26172         [70c924c1ed69]
26173
26174         * parse.c:
26175         now uses init_parser() if not in sudoers and tries "list" or
26176         "validate" scold but don't be nasty.
26177         [c0d8fb3f8c9e]
26178
26179         * TROUBLESHOOTING:
26180         now can use upper case login names
26181         [c772fffcefe5]
26182
26183         * visudo.c:
26184         now uses init_parser()
26185         [b9efae7243fd]
26186
26187         * INSTALL, README:
26188         updated
26189         [27dc8283fdc8]
26190
26191         * PORTING:
26192         added info about PASSWORD_TIMEOUT
26193         [980e15d892f8]
26194
26195         * INSTALL.configure:
26196         Initial revision
26197         [8292e89a08d3]
26198
26199         * BUGS:
26200         fixed a bug ,
26201         [c6e46f5624f9]
26202
26203         * parse.yacc:
26204         now dynamically allocates memory for the stacks -- no more
26205         overflows!
26206         [8615c35b6ad3]
26207
26208         * sudo.pod:
26209         -l now explands command aliases
26210         [39f45605935d]
26211
26212         * parse.yacc:
26213         hacks to expand command aliases for `sudo -l'
26214         [e4eb752608f9]
26215
26216         * sudo.c:
26217         remove $ENV and $BASH_ENV (dangerous in ksh, posix sh, and bash)
26218         [01327ca5084b]
26219
26220         * sudo.h:
26221         added struct command_alias
26222         [dd2f32764082]
26223
26224         * sudo.pod:
26225         fixed a bug
26226         [e708ff08d2eb]
26227
26228         * lsearch.c:
26229         in compar() key should be first arg
26230         [fc14c3fa62ee]
26231
26232 1996-08-15  Todd C. Miller  <Todd.Miller@courtesan.com>
26233
26234         * BUGS:
26235         fixed some bugs
26236         [639dfe425bd5]
26237
26238         * parse.yacc:
26239         can now deal with upcase HOST and USER names
26240         [c6aa7bcfb00d]
26241
26242         * sudo.c:
26243         don't yell too loudly at non-sudoers if they do "sudo -l"
26244         [4ef146128d89]
26245
26246         * sudo.pod:
26247         fixed thinko
26248         [830f2f0f22e7]
26249
26250         * parse.c:
26251         fix comment
26252         [d20ce9e17ddc]
26253
26254 1996-08-09  Todd C. Miller  <Todd.Miller@courtesan.com>
26255
26256         * parse.c, parse.yacc:
26257         added support for new `sudo -l' stuff
26258         [7dceaef3c733]
26259
26260         * sudo.c:
26261         now uses list_matches()
26262         [293364821b61]
26263
26264         * sudo.h:
26265         added struct sudo_match
26266         [b2684179d179]
26267
26268         * configure.in:
26269         now more -lgnumalloc
26270         [4f8ae42617d8]
26271
26272 1996-08-01  Todd C. Miller  <Todd.Miller@courtesan.com>
26273
26274         * install-sh:
26275         added more paths for chown and whoami
26276         [6e685a19426c]
26277
26278 1996-07-31  Todd C. Miller  <Todd.Miller@courtesan.com>
26279
26280         * check.c:
26281         typo
26282         [3adfa01c04bc]
26283
26284 1996-07-30  Todd C. Miller  <Todd.Miller@courtesan.com>
26285
26286         * aclocal.m4:
26287         fixed DUNIX check for shadow pw
26288         [c25324bcd27b]
26289
26290         * tgetpass.c:
26291         now only turn off echo if it is already on. this fixes a race when
26292         you use sudo in a pipelin
26293         [28388c2de21c]
26294
26295         * INSTALL:
26296         updated
26297         [b45ac9366b7e]
26298
26299         * configure.in:
26300         changed "test -z $foo && do_this" to if; then construct
26301         [2183c4426bca]
26302
26303 1996-07-29  Todd C. Miller  <Todd.Miller@courtesan.com>
26304
26305         * configure.in:
26306         added missing defines of SHADOW_TYPE
26307         [be89ea68a7f3]
26308
26309 1996-07-26  Todd C. Miller  <Todd.Miller@courtesan.com>
26310
26311         * check.c:
26312         protect AUTH_CRYPT_OLDCRYPT and AUTH_CRYPT_C1CRYPT since they are
26313         only in dunix 4.x
26314         [1e7c1c677263]
26315
26316         * getspwuid.c:
26317         added AUTH_CRYPT_C1CRYPT support
26318         [88d6b0058b20]
26319
26320         * parse.c:
26321         no longer return VALIDATE_NOT_OK if there was a runas that didn't
26322         match. Now we can have runas stuff on more than one line.
26323         [52b68920d7b7]
26324
26325         * getspwuid.c, sudo.c, tgetpass.c:
26326         use SHADOW_TYPE instead of HAVE_C2_SECURITY
26327         [cf401dfcbc06]
26328
26329         * configure.in:
26330         got rid of HAVE_C2_SECURITY SHADOW_TYPE is always defined to
26331         something
26332         [c7a233c4dd93]
26333
26334         * config.h.in:
26335         removed HAVE_C2_SECURITY added SPW_BSD
26336         [8314405e9754]
26337
26338         * compat.h:
26339         use SHADOW_TYPE instead of HAVE_C2_SECURITY
26340         [6f94870df17f]
26341
26342         * check.c:
26343         SHADOW_TYPE is always defined so just against its value
26344         [72c69a55d02f]
26345
26346         * aclocal.m4:
26347         added SUDO_CHECK_SHADOW_DUNIX
26348         [ef025ae9d496]
26349
26350 1996-07-25  Todd C. Miller  <Todd.Miller@courtesan.com>
26351
26352         * sudoers.pod:
26353         * -> ?* in one example added another instance of (runas) and one of
26354         NOPASSWD:
26355         [d74fe1dcbe7d]
26356
26357 1996-07-24  Todd C. Miller  <Todd.Miller@courtesan.com>
26358
26359         * configure.in:
26360         added back check for config.cache from other host type
26361         [0ba87871f585]
26362
26363         * parse.lex:
26364         removed an instance of \"
26365         [1e008d3709f6]
26366
26367         * sample.sudoers:
26368         added an example
26369         [dbfcf68ee330]
26370
26371         * sudoers.pod:
26372         updated wrt new wildcard matching
26373         [193fa44a475b]
26374
26375         * configure.in:
26376         new check for shadow passwords if we don't know anything
26377         [67465df7dc9a]
26378
26379         * aclocal.m4:
26380         new SUDO_CHECK_SHADOW_GENERIC
26381         [3563b16a41b8]
26382
26383         * configure.in:
26384         added back check for -lsocket (oops)
26385         [a80882ee1cb6]
26386
26387         * configure.in:
26388         better (working) check for shadow passwd type if we know to use C2.
26389         [3cdd2a59a641]
26390
26391         * configure.in:
26392         now uses AC_CANONICAL_HOST to figure out os type
26393         [80db7fe6e704]
26394
26395         * Makefile.in:
26396         added config.{guess,sub}
26397         [c6be7e3ca384]
26398
26399         * aclocal.m4:
26400         removed unused stuff to figure out os type
26401         [c9a0f3b57123]
26402
26403         * config.sub:
26404         added openbsd
26405         [bfc6bfec3668]
26406
26407         * config.sub:
26408         Initial revision
26409         [e6e06ce0d17d]
26410
26411         * config.guess:
26412         Initial revision
26413         [99dd06f79199]
26414
26415         * testsudoers.c:
26416         don't call fnmatch() with FNM_PATHNAME flag unless it can only be a
26417         pathname. need to check against sudoers_args even if user_args is
26418         nil
26419         [66e6cf77f5d6]
26420
26421         * parse.c:
26422         don't call fnmatch() with FNM_PATHNAME flag unless it can only be a
26423         pathname need to check against sudoers_args even if user_args is nil
26424         [74374df17311]
26425
26426 1996-07-23  Todd C. Miller  <Todd.Miller@courtesan.com>
26427
26428         * check.c:
26429         added support for AUTH_CRYPT_OLDCRYPT w/ DUNIX C2
26430         [cbb00261c415]
26431
26432         * testsudoers.c:
26433         now takes command line args and uses cmnd_args
26434         [f0c2fd35a527]
26435
26436         * parse.lex:
26437         fill_args was adding an extra leading space
26438         [692fc999b2e8]
26439
26440 1996-07-22  Todd C. Miller  <Todd.Miller@courtesan.com>
26441
26442         * visudo.c:
26443         fixed dummy command_matches()
26444         [93d9543db6e2]
26445
26446         * parse.yacc:
26447         fixed prototype
26448         [7b0addfbd429]
26449
26450         * sudo.h:
26451         added cmnd_args
26452         [8f47c4ae65ef]
26453
26454         * parse.yacc:
26455         now uses flat args string
26456         [016e65877da3]
26457
26458         * parse.c, parse.lex:
26459         now uses flat arg string
26460         [5b5f2e3f4c09]
26461
26462         * visudo.c:
26463         added cmnd_args def
26464         [876867134775]
26465
26466         * sudo.c:
26467         now sets cmnd_args global
26468         [e6fee70cb59b]
26469
26470         * logging.c:
26471         cmnd_args is now exported from sudo.[ch]
26472         [7a9cd36e356f]
26473
26474 1996-07-21  Todd C. Miller  <Todd.Miller@courtesan.com>
26475
26476         * parse.yacc:
26477         can't rely on cmnd_matches as much as I thought -- added some $$
26478         stuff back in to prevent namespace pollution problems.
26479         [3c45fedb5af3]
26480
26481         * parse.yacc:
26482         Simplified parse rules wrt runas and NOPASSWD (more consistent).
26483         [e6d838c8a4c7]
26484
26485 1996-07-20  Todd C. Miller  <Todd.Miller@courtesan.com>
26486
26487         * parse.lex:
26488         NOPASSWD may now have blanks before the ':' '(' only starts a
26489         'runas' if in the initial state to avoid collision with command args
26490         [c5c01172f499]
26491
26492         * configure.in:
26493         added checks for specific shadow passwd schemes
26494         [b7e3d1f7b84f]
26495
26496         * aclocal.m4:
26497         added routines to check for specific shadow passwd types
26498         [e5e1d19960a6]
26499
26500 1996-07-18  Todd C. Miller  <Todd.Miller@courtesan.com>
26501
26502         * configure.in:
26503         added support for ncr boxen
26504         [bea9dc5aae7f]
26505
26506         * aclocal.m4:
26507         added support for detecting ncr boxen
26508         [8653a158a924]
26509
26510 1996-07-16  Todd C. Miller  <Todd.Miller@courtesan.com>
26511
26512         * configure.in:
26513         added sinix support
26514         [5de2b2173ee1]
26515
26516 1996-07-14  Todd C. Miller  <Todd.Miller@courtesan.com>
26517
26518         * TROUBLESHOOTING:
26519         added info about "config.cache from other other" error.
26520         [845b10198e0b]
26521
26522         * aclocal.m4:
26523         now makes sure you don't have a config.cache file from another OS
26524         [4fe32571c021]
26525
26526         * configure.in:
26527         now sets $LIBS when needed to configure links with libs when doing
26528         tests hpux10 now uses SPW_SECUREWARE for C2 added check for
26529         bigcrypt(3) if SPW_SECUREWARE
26530         [2df6b8ca538f]
26531
26532         * getspwuid.c:
26533         fixed typo
26534         [fe1cb1d792d6]
26535
26536         * tgetpass.c:
26537         now include stuff for SPW_SECUREWARE to get AUTH_MAX_PASSWD_LENGTH
26538         [f71138372c07]
26539
26540         * getspwuid.c:
26541         no more SPW_HPUX10
26542         [cfdeb18bc16b]
26543
26544         * config.h.in:
26545         no more SPW_HPUX10 added HAVE_BIGCRYPT
26546         [00d296479a61]
26547
26548         * compat.h:
26549         now uses AUTH_MAX_PASSWD_LENGTH if SPW_SECUREWARE
26550         [6c6d9e680417]
26551
26552         * check.c:
26553         SPW_SECUREWARE now uses bigcrypt
26554         [be71fc66690f]
26555
26556 1996-07-13  Todd C. Miller  <Todd.Miller@courtesan.com>
26557
26558         * sample.sudoers:
26559         fixed 2 syntax errors
26560         [45eee19ef4ac]
26561
26562         * sudoers:
26563         root may now run ALL as ALL
26564         [1b54c6b9b212]
26565
26566 1996-07-12  Todd C. Miller  <Todd.Miller@courtesan.com>
26567
26568         * interfaces.c:
26569         fixed a typo/thinko that broke BSD's with sa_len
26570         [603438360126]
26571
26572 1996-07-08  Todd C. Miller  <Todd.Miller@courtesan.com>
26573
26574         * check.c, configure.in:
26575         updated AFS support
26576         [e572eb8d177a]
26577
26578         * TROUBLESHOOTING:
26579         added entry about /usr/ucb/cc
26580         [025b353aa9d3]
26581
26582         * INSTALL:
26583         prep no longer holds gcc binaries
26584         [8b0942958049]
26585
26586         * INSTALL:
26587         updated AFS note
26588         [7af6efd5abe4]
26589
26590         * Makefile.in:
26591         added @AFS_LIBS@
26592         [97b6fe6ad7d6]
26593
26594         * compat.h:
26595         AFS allows long passwords
26596         [5fb17122c302]
26597
26598         * testsudoers.c:
26599         fixed -u user support
26600         [b1a0c1648639]
26601
26602         * parse.c:
26603         sudo -v now groks VALIDATE_OK_NOPASS
26604         [74fc03fffe7e]
26605
26606         * parse.yacc:
26607         fixed no_passwd vs. runas_matched
26608         [549a9b791a6a]
26609
26610         * TROUBLESHOOTING:
26611         took out stuff about NFS-mounting since it is no longer an issue
26612         [d95ab7fbbc61]
26613
26614         * INSTALL:
26615         added --with-libraries > --with-libpath --with-incpath
26616         [d5d15a7a0f4c]
26617
26618         * parse.yacc:
26619         was setting runas_matches to -1 in wrong place
26620         [db2b1deb8d33]
26621
26622         * check.c:
26623         removed usersec.h which is not present in new AFS versions
26624         [618b016dd17f]
26625
26626         * tgetpass.c:
26627         now deals with timeout <= 0
26628         [ba53a1257255]
26629
26630         * OPTIONS:
26631         updated
26632         [75093bd8fdca]
26633
26634         * configure.in:
26635         BSD/OS >= 2.0 now uses shlicc instead of just gcc
26636         [ff6dbf7825c2]
26637
26638         * sudo.c:
26639         fixed backwards compatibility with sudo 1.4 sudoers mode for root
26640         readable/writable filesystems
26641         [2694ed627221]
26642
26643         * Makefile.in:
26644         now gives INSTALL -c flag
26645         [63db055a2fd1]
26646
26647         * parse.yacc:
26648         slightly simpler initialization of no_passwd and runas_matches
26649         [463a1b5fa323]
26650
26651         * testsudoers.c:
26652         added -u username support
26653         [38b072fcd6b3]
26654
26655         * configure.in:
26656         improved --with-libraries support
26657         [047dbc5f0af2]
26658
26659 1996-07-07  Todd C. Miller  <Todd.Miller@courtesan.com>
26660
26661         * configure.in:
26662         added --with-incpath, --with-libpath, --with-libraries
26663         [20f20d6c718c]
26664
26665         * parse.yacc:
26666         now initializes some fields that weren't getting set to -1 pretty
26667         gross -- need a rewrite.
26668         [021c160390c6]
26669
26670 1996-06-26  Todd C. Miller  <Todd.Miller@courtesan.com>
26671
26672         * alloca.c:
26673         removed emacs'isms
26674         [9d4ec2efe057]
26675
26676         * configure.in:
26677         no longer add -lPW to *_LIBS since we include alloca.c
26678         [a626d1bbea80]
26679
26680         * config.h.in:
26681         added HAVE_ALLOCA_H
26682         [15491e2a6cff]
26683
26684         * Makefile.in:
26685         added alloca.c
26686         [0400f25e1fe4]
26687
26688         * alloca.c:
26689         Initial revision
26690         [06d033aa4882]
26691
26692         * configure.in:
26693         ++version
26694         [f52c0fb98f90]
26695
26696 1996-06-25  Todd C. Miller  <Todd.Miller@courtesan.com>
26697
26698         * sudo.c:
26699         now set uid to 1 instead of nobody for PERM_SUDOERS since nobody is
26700         not always set to a valid uid.
26701         [c2669f77704d]
26702
26703         * OPTIONS:
26704         fixed entry for SUDO_MODE
26705         [d7272f6035b8]
26706
26707         * sudo.c:
26708         Fixed NFS-mounted sudoers file under solaris both uid *and* gid were
26709         being set to -2. Now beat NFS to the punch and set uid to "nobody"
26710         ourselves, preserving group 0 to read sudoers.
26711         [b1fbc5dd1e34]
26712
26713         * parse.c:
26714         moved set_perms(PERM_ROOT) to be before yyparse()
26715         [7619d8080735]
26716
26717         * logging.c:
26718         fixed a typo
26719         [318acc48cde0]
26720
26721         * configure.in:
26722         no longer need AC_PROG_INSTALL
26723         [de01b1336dc8]
26724
26725         * Makefile.in:
26726         always use install-sh to avoid install(1)'s that use get{pw,gr}nam
26727         [ea2351986406]
26728
26729         * INSTALL:
26730         make clean -> make distclean
26731         [704a98e8ba10]
26732
26733 1996-06-20  Todd C. Miller  <Todd.Miller@courtesan.com>
26734
26735         * parse.yacc:
26736         removed some unnecsary if's
26737         [f00db6508132]
26738
26739         * Makefile.in, version.h:
26740         ++version
26741         [bdb6740b24c8]
26742
26743         * parse.c, testsudoers.c:
26744         now includes netgroup.h
26745         [93f5a06352bc]
26746
26747         * interfaces.c:
26748         removed cats of ioctl to int since they didn't shut up -Wall
26749         [83e9f912cd7a]
26750
26751         * interfaces.c:
26752         explicately cast ioctl() to int since it it not always declared
26753         [2ff9294e469e]
26754
26755         * sudo.h:
26756         added declarations for yyparse() and yylex()
26757         [6071321ab771]
26758
26759         * parse.yacc:
26760         fixed an occurence of '==' -> '='
26761         [2c46d2e11d57]
26762
26763         * config.h.in, configure.in:
26764         added check for netgroup.h
26765         [73403050f4e3]
26766
26767         * sudo.c:
26768         fixed 2 compiler warnings
26769         [680929b0bd97]
26770
26771         * sudo.c:
26772         SHELL_IF_NO_ARGS caused core dump since NewArg[cv] weren't being
26773         initialized
26774         [18707ecd07c2]
26775
26776 1996-06-19  Todd C. Miller  <Todd.Miller@courtesan.com>
26777
26778         * sudo.pod:
26779         fixed a typo
26780         [e4b5c12aa130]
26781
26782 1996-06-17  Todd C. Miller  <Todd.Miller@courtesan.com>
26783
26784         * parse.yacc:
26785         fixed a formatting thingie
26786         [c79327b6f19b]
26787
26788         * parse.c, parse.yacc:
26789         fixed -u support with multiple user lists on a line
26790         [e4d1066adca2]
26791
26792         * configure.in:
26793         unixware needs -lgen
26794         [b5bf9bca63cc]
26795
26796         * README:
26797         updated ftp location
26798         [b25a033f7921]
26799
26800         * sudoers.pod:
26801         add net_addr/netmask support
26802         [674e83516d1e]
26803
26804         * sample.sudoers:
26805         added net_addr/mask example
26806         [774878e89b28]
26807
26808         * parse.c, parse.lex:
26809         added support for net_addr/netmask
26810         [e33de27325d8]
26811
26812 1996-06-16  Todd C. Miller  <Todd.Miller@courtesan.com>
26813
26814         * sudoers.pod:
26815         ^ -> !
26816         [1a084950d6ef]
26817
26818 1996-06-15  Todd C. Miller  <Todd.Miller@courtesan.com>
26819
26820         * RUNSON:
26821         updated for 1.4.3
26822         [c82019025d09]
26823
26824         * CHANGES:
26825         udpated for 1.4.3
26826         [ceaa81adb8f0]
26827
26828         * BUGS, TODO, TROUBLESHOOTING:
26829         updated
26830         [ff94fae4b853]
26831
26832         * sample.sudoers:
26833         updated with examples of new stuff
26834         [99d0b4cb4c9c]
26835
26836         * INSTALL, README:
26837         ++version
26838         [b763b80fe836]
26839
26840         * sudoers.pod:
26841         updated wrt -u and NOPASSWD
26842         [0b5b722ea0f4]
26843
26844         * sudo.pod:
26845         updated wrt -u and CAVEATS
26846         [71d5d53b5d18]
26847
26848 1996-06-09  Todd C. Miller  <Todd.Miller@courtesan.com>
26849
26850         * sudo.c:
26851         fixed usage()
26852         [114c7d09b550]
26853
26854         * parse.lex:
26855         now use :foo: character classes (makes no diff for generated lexer)
26856         [7b0aeb737a02]
26857
26858 1996-06-07  Todd C. Miller  <Todd.Miller@courtesan.com>
26859
26860         * check.c:
26861         fixed LONG_SKEY_PROMPT stuff
26862         [0efe78b4bdda]
26863
26864 1996-06-06  Todd C. Miller  <Todd.Miller@courtesan.com>
26865
26866         * visudo.c:
26867         fixed a comment
26868         [3d289017104b]
26869
26870         * lsearch.c:
26871         make more like NetBSD one -- now compiles w/o warnings
26872         [932206296a54]
26873
26874         * emul/search.h:
26875         fixed decls of lsearch()
26876         [c58cf4584c45]
26877
26878         * config.h.in, configure.in, getspwuid.c:
26879         added SPW_HPUX10
26880         [d74e5eaa5f17]
26881
26882         * check.c:
26883         hpux 10 uses bigcrypt() if C2
26884         [359eb63f4021]
26885
26886 1996-06-04  Todd C. Miller  <Todd.Miller@courtesan.com>
26887
26888         * parse.c:
26889         now always uses fnmatch to match args
26890         [a9d91f35256a]
26891
26892         * tgetpass.c:
26893         back to using stdio instead of raw i/o since that caused some
26894         problems
26895         [e7ce2bc92974]
26896
26897 1996-05-29  Todd C. Miller  <Todd.Miller@courtesan.com>
26898
26899         * sudo.c:
26900         now give usage warning if use -l,-v,-k with args
26901         [6b48180c4fea]
26902
26903 1996-05-28  Todd C. Miller  <Todd.Miller@courtesan.com>
26904
26905         * sudo.c:
26906         NewArgc is now set to 1 for -l, -v, -k
26907         [7497cb1416a8]
26908
26909         * sudo.c:
26910         now sets sudoers to correct group if mode is 0400
26911         [484c43d99718]
26912
26913         * install-sh:
26914         updated to version used by inn and bind
26915         [28683ad8725a]
26916
26917         * configure.in:
26918         now uses -lgnumalloc if it exists
26919         [3651ca4415a2]
26920
26921         * Makefile.in:
26922         "make install" now sets uid/gid and mode on sudoers if it exists
26923         [1f5216191ae9]
26924
26925         * sudo.c:
26926         rmeoved debugging statements
26927         [aeda278e2c26]
26928
26929         * parse.yacc:
26930         added a missing free()
26931         [592c9482a159]
26932
26933         * sudo.c:
26934         now uses user_gid instead of getegid (which was wrong anyway) to set
26935         SUDO_GID Now sets command line args in SUDO_COMMAND envariabled
26936         (logging.c depends on args being in the environment)
26937         [9f5328a3b942]
26938
26939         * logging.c:
26940         now uses SUDO_COMMAND envariable to get command args rather than
26941         building it up again.
26942         [7f8edc5bccb7]
26943
26944         * parse.c:
26945         now uses user_gid
26946         [4b9303ae45fe]
26947
26948         * sudo.c:
26949         fixed off by one error in allocation NewArgv
26950         [921ea1a4e7c6]
26951
26952         * parse.c:
26953         in sudoers, 'command ""' now means command with no args
26954         [a5273648ace2]
26955
26956         * configure.in:
26957         added check for fnmatch(3) and fnmatch.h
26958         [258916a7866f]
26959
26960         * config.h.in:
26961         added HAVE_FNMATCH
26962         [b9860d361e93]
26963
26964         * Makefile.in:
26965         replaced wildcat.* with fnmatch.*
26966         [03ad9ee21a1c]
26967
26968         * testsudoers.c:
26969         now uses fnmatch()
26970         [5a7f7de987a9]
26971
26972 1996-05-27  Todd C. Miller  <Todd.Miller@courtesan.com>
26973
26974         * parse.c:
26975         now uses fnmatch() instead of wildmat a trailing star (*) by itself
26976         now matches multiple args added support for wildcards in the
26977         pathname in sudoers
26978         [1f7fb950b868]
26979
26980 1996-05-25  Todd C. Miller  <Todd.Miller@courtesan.com>
26981
26982         * fnmatch.c:
26983         now includes compat.h and config.h
26984         [090206b95cf8]
26985
26986         * config.h.in:
26987         added HAVE_FNMATCH_H
26988         [90eb42150173]
26989
26990         * configure.in:
26991         now checks for alloca() (if needed by bison or dce) and links with
26992         -lPW if it contains alloca() and libv and compiler do not.
26993         [cfa2b3cef49a]
26994
26995         * emul/fnmatch.h, fnmatch.3, fnmatch.c:
26996         Initial revision
26997         [20b1f762a32a]
26998
26999 1996-04-29  Todd C. Miller  <Todd.Miller@courtesan.com>
27000
27001         * sudo.c:
27002         now fixes mode on sudoers if set to 0400 to aid in upgrade
27003         [d4bdfd521820]
27004
27005 1996-04-28  Todd C. Miller  <Todd.Miller@courtesan.com>
27006
27007         * Makefile.in:
27008         fixed pod2man usage
27009         [5adf2ec77b27]
27010
27011         * Makefile.in, configure.in, version.h:
27012         ++version
27013         [b4029de876d0]
27014
27015         * testsudoers.c, visudo.c:
27016         runas_user is now initialized to "root"
27017         [8537d97bff39]
27018
27019         * sudo.h:
27020         removed PERM_FULL_ROOT
27021         [241f8bbf647f]
27022
27023         * sudo.c:
27024         runas_user defaults to "root" so no more need to PERM_RUNAS
27025         [fc0c0dfc72ba]
27026
27027         * parse.c:
27028         will now only running commands as root if there was no runas list
27029         (or if root is in the runas list)
27030         [40c587666c81]
27031
27032         * logging.c:
27033         now logs "USER=%s"
27034         [b733504c87fd]
27035
27036         * parse.yacc:
27037         runas_matches is now set to false if we get a negative match
27038         [5495b150b300]
27039
27040         * parse.lex:
27041         make #uid work + some minor cleanup
27042         [07851bbce03a]
27043
27044         * sample.sudoers:
27045         added support for NOPASSWD and "runas" from garp@opustel.com /
27046         [7a9c67b51fa5]
27047
27048         * visudo.c:
27049         added support for "runas" from garp@opustel.com replaced
27050         SUDOERS_OWNER with SUDOERS_UID, SUDOERS_GID added support for
27051         SUDOERS_MODE
27052         [e714209b9885]
27053
27054         * testsudoers.c:
27055         added support for "runas" from garp@opustel.com
27056         [b837f856da10]
27057
27058         * sudo.h:
27059         added support for NO_PASSWD and runas from garp@opustel.com replaced
27060         SUDOERS_OWNER with SUDOERS_UID and SUDOERS_GID and added support
27061         fro SUDOERS_MODE
27062         [cea6f26679b7]
27063
27064         * sudo.c:
27065         added support for NO_PASSWD and runas from garp@opustel.com replaced
27066         SUDOERS_OWNER with SUDOERS_UID and SUDOERS_GID and added support fro
27067         SUDOERS_MODE
27068         [61b5434237c5]
27069
27070         * parse.yacc:
27071         added support for NO_PASSWD and runas from garp@opustel.com
27072         [72ebd3056f22]
27073
27074         * parse.c, parse.lex:
27075         added support for NO_PASSWD and runas from garp@opustel.com
27076         [fef6dbdd114d]
27077
27078         * logging.c:
27079         added support for SUDOERS_WRONG_MODE and "runas"
27080         [e794efc2b443]
27081
27082         * configure.in:
27083         added --with-CC only link with -lshadow on linux (with shadow pw) if
27084         libc lacks getspnam()
27085         [3ecf4ae21002]
27086
27087         * OPTIONS, options.h:
27088         removed NO_PASSWD since it is not possible to do this in the sudoers
27089         file itself. Replaced SUDOERS_OWNER with SUDOERS_UID and
27090         SUDOERS_GID. Added SUDOERS_MODE.
27091         [2eaa4891ef48]
27092
27093         * Makefile.in:
27094         now uses SUDOERS_UID and SUDOERS_GID
27095         [8d615f0fdb2a]
27096
27097 1996-04-27  Todd C. Miller  <Todd.Miller@courtesan.com>
27098
27099         * INSTALL:
27100         added --with-CC
27101         [a1b8286a81b8]
27102
27103 1996-04-06  Todd C. Miller  <Todd.Miller@courtesan.com>
27104
27105         * parse.lex:
27106         added double quote support
27107         [a5e4fc7e3a2b]
27108
27109         * sudoers.pod:
27110         documented double quoting
27111         [c6ea47969a44]
27112
27113 1996-04-05  Todd C. Miller  <Todd.Miller@courtesan.com>
27114
27115         * mkinstalldirs:
27116         Initial revision
27117         [dcb86d65ad8f]
27118
27119         * check.c:
27120         fixed some indentation
27121         [4d1c5ab8072b]
27122
27123         * Makefile.in:
27124         fixed a typo
27125         [0d27eebc7227]
27126
27127         * Makefile.in:
27128         added install-dirs .
27129         [f499b99b8be7]
27130
27131 1996-04-04  Todd C. Miller  <Todd.Miller@courtesan.com>
27132
27133         * dce_pwent.c:
27134         new version from "Jeff A. Earickson" <jaearick@colby.edu>
27135         [422481be5fbd]
27136
27137 1996-04-03  Todd C. Miller  <Todd.Miller@courtesan.com>
27138
27139         * configure.in:
27140         $CSOPS -> $with_csops (whoops, missed one)
27141         [b04c6948130e]
27142
27143         * BUGS:
27144         updated
27145         [c4d5713e227d]
27146
27147         * parse.lex:
27148         FQHOST now has same constraints as non-FQHOST
27149         [e1c3bf2381d1]
27150
27151         * INSTALL:
27152         added note about OS's w/ shadow passwords turned on by default
27153         [166257f43be4]
27154
27155 1996-04-02  Todd C. Miller  <Todd.Miller@courtesan.com>
27156
27157         * configure.in:
27158         fixed a typo
27159         [e5c3e2e9a359]
27160
27161         * configure.in:
27162         added support for --without-THING sanitized shadow pw situtation by
27163         adding support for
27164         --without-C2
27165         [65dc6bf64cce]
27166
27167         * tgetpass.c:
27168         fixed a typo wrt placement of an end paren
27169         [a8780f818231]
27170
27171         * check.c:
27172         was closing an fd that may not have been opened
27173         [760271c7bdc9]
27174
27175 1996-03-22  Todd C. Miller  <Todd.Miller@courtesan.com>
27176
27177         * OPTIONS, options.h, sudo.c:
27178         added NO_PASSWD
27179         [28ff1dc93d7a]
27180
27181 1996-03-20  Todd C. Miller  <Todd.Miller@courtesan.com>
27182
27183         * configure.in:
27184         now always use shadow pw on some arches
27185         [069161ccffda]
27186
27187 1996-03-19  Todd C. Miller  <Todd.Miller@courtesan.com>
27188
27189         * configure.in:
27190         added pyramid support
27191         [a0eb57a3a531]
27192
27193         * configure.in:
27194         no longer check for C2 if alternate passwd method is used no longer
27195         check for some libs twice
27196         [2d0c3c902b40]
27197
27198         * parse.yacc:
27199         moved fqdn stuff into parse.lex (FQHOST)
27200         [d9c9abd481d8]
27201
27202         * parse.lex:
27203         added FQHOST rules
27204         [4a1695acff6d]
27205
27206         * tgetpass.c:
27207         now define TCSASOFT in necesary
27208         [3fac2e21c9ab]
27209
27210         * tgetpass.c:
27211         now uses read/write instead of stdio string goop to avoid problems
27212         with select(2)
27213         [67fd174e518c]
27214
27215         * OPTIONS, find_path.c, options.h:
27216         -DNO_DOT_PATH -> -DIGNORE_DOT_PATH
27217         [d05ba5100d28]
27218
27219 1996-03-17  Todd C. Miller  <Todd.Miller@courtesan.com>
27220
27221         * INSTALL:
27222         added note about no shadow auto-detect if using alternate auth
27223         schemes
27224         [b425592232a3]
27225
27226         * configure.in:
27227         don't check for C2 if AFS or DCE (unless they said --with-C2)
27228         [61342962171a]
27229
27230         * testsudoers.c:
27231         now groks shost
27232         [85dda17303f6]
27233
27234         * OPTIONS, find_path.c, options.h:
27235         added NO_DOT_PATH
27236         [c261ca1fb196]
27237
27238 1996-03-16  Todd C. Miller  <Todd.Miller@courtesan.com>
27239
27240         * find_path.c:
27241         checkdot now works correctly
27242         [3bc4835bb3e9]
27243
27244 1996-03-12  Todd C. Miller  <Todd.Miller@courtesan.com>
27245
27246         * configure.in:
27247         can't have DCE and C2 passwords both...
27248         [fb9a8ab7ca66]
27249
27250 1996-03-11  Todd C. Miller  <Todd.Miller@courtesan.com>
27251
27252         * parse.yacc, sudo.c, sudo.h, visudo.c:
27253         now uses shost even if not FQDN
27254         [87f7498b3a1f]
27255
27256         * configure.in:
27257         now looks for skey in /usr/lib and doesn't require libskey to be in
27258         /usr/local/lib just because skey.h is (for my netbsd box :-)
27259         [ceb1763e37d2]
27260
27261         * aclocal.m4, config.h.in, pathnames.h.in:
27262         _SUDO_PATH_ -> _CONFIG_PATH_
27263         [84d97ad13d75]
27264
27265         * aclocal.m4, sudo.pod:
27266         /var/run/.odus -> /var/run/sudo
27267         [922da220b8f5]
27268
27269         * pathnames.h.in:
27270         now uses _SUDO_PATH_TIMEDIR
27271         [5ecab0155fdf]
27272
27273         * OPTIONS:
27274         udpated FQDN
27275         [361b6f7440c0]
27276
27277         * aclocal.m4, configure.in:
27278         added SUDO_TIMEDIR
27279         [368c95c8c950]
27280
27281         * config.h.in:
27282         added _SUDO_PATH_TIMEDIR
27283         [3879864d808c]
27284
27285         * sudo.pod:
27286         updated wrt /var/run/sudo
27287         [9e14f2a429d3]
27288
27289         * sudo.c, sudo.h:
27290         added support for shost if FQDN
27291         [51a3f51a09a1]
27292
27293         * parse.yacc, visudo.c:
27294         now uses shost if FQDN
27295         [d19da2e92b42]
27296
27297         * check.c:
27298         Now use skeylookup() instead off skeychallenge()
27299         [4c7438bb2ae0]
27300
27301 1996-02-28  Todd C. Miller  <Todd.Miller@courtesan.com>
27302
27303         * logging.c:
27304         mail_argv should not contain ALERTMAIL as it includes "-t"
27305         [67ffaaa8f843]
27306
27307 1996-02-22  Todd C. Miller  <Todd.Miller@courtesan.com>
27308
27309         * INSTALL, Makefile.in, README, configure.in, version.h:
27310         ++version
27311         [e08fd4a809fc]
27312
27313         * compat.h:
27314         added more _PASSWD_LEN stuff -- now uses PASS_MAX too
27315         [2f20c3153689]
27316
27317         * tgetpass.c:
27318         now includes limits.h moved _PASSWD_LEN -> compat.h
27319         [b1ca3cafdacc]
27320
27321 1996-02-06  Todd C. Miller  <Todd.Miller@courtesan.com>
27322
27323         * INSTALL, README:
27324         ++version
27325         [3eacf32803f5]
27326
27327         * Makefile.in:
27328         ++versoin
27329         [3b91c317630a]
27330
27331         * Makefile.in:
27332         fixed a typo
27333         [3661ac4a7803]
27334
27335         * configure.in:
27336         ++version
27337         [60e842973745]
27338
27339 1996-02-05  Todd C. Miller  <Todd.Miller@courtesan.com>
27340
27341         * RUNSON:
27342         updated
27343         [def2c3c24195]
27344
27345         * CHANGES:
27346         done for 1.4.1 (I hope)
27347         [2ab543769a40]
27348
27349         * sudoers.pod:
27350         added info on wildcards
27351         [ce3bd41bc063]
27352
27353         * sample.sudoers:
27354         added wildcard example
27355         [762feb0577bd]
27356
27357         * Makefile.in:
27358         now uses *.pod to build *.man and *.cat & *.html
27359         [3ec14962028b]
27360
27361         * configure.in:
27362         addedSUDO_PROG_BSHELL !ll
27363         [3c80b320bf16]
27364
27365         * visudo.pod:
27366         fixed up some formatting
27367         [12166c434526]
27368
27369         * sudoers.pod:
27370         redid section describing sample sudoers stuff
27371         [b8065cceec71]
27372
27373         * sudo.pod:
27374         fixed some formatting
27375         [aa9a681add0f]
27376
27377         * getspwuid.c:
27378         now treats "" as bourne shell
27379         [30194a72ad56]
27380
27381         * Makefile.in:
27382         TESTOBJS nwo includes wildmat.o
27383         [86cc6500f84d]
27384
27385         * testsudoers.c:
27386         now works with NewArg[cv]
27387         [2f72674ce942]
27388
27389         * sudo.c:
27390         removed an XXX (fixed it in getspwuid.c)
27391         [e791ee0d1a68]
27392
27393         * aclocal.m4:
27394         added check for bourne shell
27395         [a2fd51676b8a]
27396
27397         * pathnames.h.in:
27398         added _PATH_BSHELL
27399         [e7c10011d47b]
27400
27401         * config.h.in:
27402         added _SUDO_PATH_BSHELL
27403         [6a1182898de9]
27404
27405 1996-02-04  Todd C. Miller  <Todd.Miller@courtesan.com>
27406
27407         * visudo.c:
27408         unixware vi returns 256 instead of 0
27409         [234ffc7c6786]
27410
27411         * INSTALL:
27412         added Linux note
27413         [5f85efcd2b58]
27414
27415         * logging.c:
27416         fixed up some XXX's. file log format now looks a little more like
27417         real syslog(3) format.
27418         [6df55707bfc3]
27419
27420         * README, TROUBLESHOOTING:
27421         updated wrt lex/flex
27422         [eb787d69156b]
27423
27424         * Makefile.in:
27425         commented out rule to build lex.yy.c from parse.lex since we ship
27426         with a pre-flex'd parser
27427         [7507e2ce4a95]
27428
27429         * parse.c, parse.yacc, visudo.c:
27430         path_matches -> command_matches
27431         [0bd469424f86]
27432
27433         * logging.c:
27434         eliminated some strcat()'s
27435         [9878a79bc374]
27436
27437         * configure.in:
27438         no longer checks for lex/flex (now assumes flex)
27439         [a086ccc73798]
27440
27441         * configure.in:
27442         now checks for $kerb_dir_candidate/krb.h instead of just
27443         kerb_dir_candidate
27444         [9133bc3c5208]
27445
27446 1996-02-03  Todd C. Miller  <Todd.Miller@courtesan.com>
27447
27448         * parse.yacc:
27449         now use a 'hook' expression instead of an iffy one :-)
27450         [9560df01b8c0]
27451
27452 1996-02-02  Todd C. Miller  <Todd.Miller@courtesan.com>
27453
27454         * visudo.c:
27455         now works with new sudo arg stuff
27456         [310a0d43ddad]
27457
27458         * parse.yacc:
27459         fixed dereferencing deadbeef
27460         [474ef8a8006b]
27461
27462         * sudo.c:
27463         changed an occurrence of Argv to NewArgv
27464         [205b012b7691]
27465
27466         * parse.lex:
27467         took out support for quoted commands since there is no need...
27468         [5c5036d353b1]
27469
27470         * parse.c:
27471         fixed a typo in a for() loop
27472         [7e8d5283c43b]
27473
27474         * logging.c:
27475         protected against dereferencing rogue pointers
27476         [56debd517717]
27477
27478         * sudo.c:
27479         now uses NewArgv amd NewArgc so cmnd_aegs is no longer needed this
27480         also allows us to eliminate some kludges in parse_args() and
27481         eliminate superfluous code.
27482         [5122f66ad150]
27483
27484         * logging.c:
27485         no longer uses cmnd_args, now uses NewArgv instead.
27486         [abddd23cf068]
27487
27488         * sudo.h:
27489         added struct sudo_command, NewArgc, and NewArgv removed cmnd_args
27490         (no longer used)
27491         [78410984fb05]
27492
27493         * Makefile.in:
27494         added wildmat.c to SRCS & SUDOBJS
27495         [3800efb41794]
27496
27497         * parse.yacc:
27498         COMMAND is now a struct containing the path and args
27499         [5c32822c5b94]
27500
27501         * parse.lex:
27502         replaced append() with fill_cmnd() and fill_args. command args from
27503         a sudoers entry are now stored in an arrary for easy matching.
27504         [a981d7f4eb0d]
27505
27506         * parse.c:
27507         command line args from sudoers file are now in an array like ones
27508         passed in from the command line
27509         [1d9e37e84519]
27510
27511 1996-02-01  Todd C. Miller  <Todd.Miller@courtesan.com>
27512
27513         * parse.c:
27514         wildwat stuff now works
27515         [49d16488531f]
27516
27517 1996-01-29  Todd C. Miller  <Todd.Miller@courtesan.com>
27518
27519         * version.h:
27520         ++version
27521         [53e55463ef89]
27522
27523         * Makefile.in:
27524         ++version added wildmat.*
27525         [0508297a4711]
27526
27527 1996-01-28  Todd C. Miller  <Todd.Miller@courtesan.com>
27528
27529         * parse.lex:
27530         added support for quoted commands (w/ or w/o args)
27531         [b9a637155673]
27532
27533 1996-01-22  Todd C. Miller  <Todd.Miller@courtesan.com>
27534
27535         * sudo.pod, visudo.pod:
27536         cleaned up formatting
27537         [4591d4195437]
27538
27539         * sudo.pod, visudo.pod:
27540         Initial revision
27541         [7564a8242750]
27542
27543 1996-01-21  Todd C. Miller  <Todd.Miller@courtesan.com>
27544
27545         * sudoers.pod:
27546         looks reasonable, could be mroe readable
27547         [a5be2d19d9e0]
27548
27549         * sudoers.pod:
27550         Initial revision
27551         [957888be31a6]
27552
27553 1996-01-16  Todd C. Miller  <Todd.Miller@courtesan.com>
27554
27555         * RUNSON:
27556         updated
27557         [633743aa924b]
27558
27559         * OPTIONS:
27560         updated NO_ROOT_SUDO entry
27561         [f1c15b1dec9e]
27562
27563 1996-01-15  Todd C. Miller  <Todd.Miller@courtesan.com>
27564
27565         * RUNSON:
27566         *** empty log message ***
27567         [5b63de579ff7] [SUDO_1_4_0]
27568
27569         * sudo.c:
27570         fixed SECURE_PATH
27571         [6002889f606d]
27572
27573         * RUNSON:
27574         udpa`ted for 1.4
27575         [6014a8592815]
27576
27577         * configure.in:
27578         AIX aixcrypt.exp now uses $(srcdir)
27579         [b0d57674fef4]
27580
27581         * TROUBLESHOOTING:
27582         added entry for anal ansi compilers
27583         [4193cec1c6b1]
27584
27585 1996-01-14  Todd C. Miller  <Todd.Miller@courtesan.com>
27586
27587         * INSTALL:
27588         added info on libcrypt_i for SCO
27589         [575497d56698]
27590
27591         * TODO:
27592         *** empty log message ***
27593         [d0aaf67b9913]
27594
27595         * sample.sudoers:
27596         added comments
27597         [a7773f7eda8d]
27598
27599         * TODO:
27600         1.4 release
27601         [1dade29e9fd9]
27602
27603         * CHANGES:
27604         ++version
27605         [67241be40780]
27606
27607         * INSTALL, OPTIONS, README, config.h.in, configure.in:
27608         ++version
27609         [2e0a37897f68]
27610
27611         * BUGS:
27612         ++version and fixed ISC
27613         [78963f01a0e3]
27614
27615         * check.c, compat.h, dce_pwent.c, find_path.c, getspwuid.c, getwd.c,
27616         goodpath.c, ins_2001.h, ins_classic.h, ins_csops.h, ins_goons.h,
27617         insults.h, logging.c, options.h, pathnames.h.in, putenv.c, strdup.c,
27618         sudo.c, sudo.h, sudo_setenv.c, testsudoers.c, tgetpass.c, utime.c,
27619         visudo.c:
27620         ++version
27621         [b6227f29b3d9]
27622
27623         * interfaces.c:
27624         added STUB_LOAD_INTERFACES ++version
27625         [d8150a3fd577]
27626
27627         * Makefile.in, emul/utime.h, parse.c, parse.lex, parse.yacc,
27628         version.h:
27629         ++version
27630         [da9e90e69bdc]
27631
27632         * PORTING:
27633         added info about fd_set in tgetpass added info on interfaces.c
27634         [a39902febd17]
27635
27636 1996-01-11  Todd C. Miller  <Todd.Miller@courtesan.com>
27637
27638         * dce_pwent.c:
27639         added sudo header
27640         [fc0f2c48682e]
27641
27642         * tgetpass.c:
27643         fixed a typo
27644         [43d40b72ee8f]
27645
27646         * Makefile.in:
27647         tgetpass.o is now only linked in with sudo (not visudo)
27648         [7407c5ff11f8]
27649
27650 1996-01-09  Todd C. Miller  <Todd.Miller@courtesan.com>
27651
27652         * BUGS, INSTALL, Makefile.in, OPTIONS, README, config.h.in,
27653         configure.in:
27654         ++version
27655         [9b82ad805d6b]
27656
27657         * emul/utime.h:
27658         added copyright notice
27659         [4380f16cd075]
27660
27661         * check.c, compat.h, find_path.c, getspwuid.c, getwd.c, goodpath.c,
27662         ins_2001.h, ins_classic.h, ins_csops.h, ins_goons.h, insults.h,
27663         interfaces.c, logging.c, options.h, parse.c, parse.lex, parse.yacc,
27664         pathnames.h.in, putenv.c, strdup.c, sudo.c, sudo.h, sudo_setenv.c,
27665         testsudoers.c, tgetpass.c, utime.c, version.h, visudo.c:
27666         ++version
27667         [32717fdb5d05]
27668
27669         * tgetpass.c:
27670         minor cleanup and now includes sys/bsdtypes for svr4'ish boxen
27671         [326864428da2]
27672
27673         * configure.in:
27674         ISC now gets -lcrypt now check for sys/bsdtypes.h
27675         [e064799c054b]
27676
27677         * config.h.in:
27678         added check for sys/bsdtypes.h
27679         [9adb9533c363]
27680
27681 1996-01-07  Todd C. Miller  <Todd.Miller@courtesan.com>
27682
27683         * parse.yacc:
27684         removed debugging stuff (setting freed ptr to NULL)
27685         [02fe8eec63a0]
27686
27687         * TROUBLESHOOTING:
27688         added 2 entries
27689         [02884e2733e2]
27690
27691         * Makefile.in:
27692         added FAQ
27693         [074d8dfcf28d]
27694
27695         * TROUBLESHOOTING:
27696         added section on syslog
27697         [e6bc02a22b86]
27698
27699         * configure.in:
27700         added AC_ISC_POSIX for better ISC support
27701         [8436b3e12af2]
27702
27703         * config.h.in:
27704         fixed typo
27705         [f1b3922babf4]
27706
27707         * config.h.in:
27708         added define for _POSIX_SOURCE
27709         [ded6d92b34f9]
27710
27711 1996-01-04  Todd C. Miller  <Todd.Miller@courtesan.com>
27712
27713         * configure.in:
27714         fixed check for lsearch()
27715         [75baa5bc28a3]
27716
27717 1995-12-22  Todd C. Miller  <Todd.Miller@courtesan.com>
27718
27719         * interfaces.c:
27720         fixed for AIX now deal if num_interfaces == 0 (should not happen)
27721         [ae450e859227]
27722
27723 1995-12-20  Todd C. Miller  <Todd.Miller@courtesan.com>
27724
27725         * configure.in:
27726         now only define HAVE_LSEARCH if there is a corresponding search.h
27727         [8ce645c5d17f]
27728
27729         * interfaces.c:
27730         works on ISC again
27731         [ccac920d424c]
27732
27733 1995-12-18  Todd C. Miller  <Todd.Miller@courtesan.com>
27734
27735         * configure.in:
27736         now define HAVE_LSEARCH if we find lsearch() in libcompat
27737         [7343e4313a87]
27738
27739         * lsearch.c:
27740         char * -> const char *
27741         [1c0b11c2300a]
27742
27743         * configure.in:
27744         now looks in -lcompat for lsearch()
27745         [a1cc1d6fcd09]
27746
27747         * Makefile.in:
27748         remove sudo.core visudo.core for clan target
27749         [b523456a85df]
27750
27751         * aclocal.m4:
27752         added UID_MAX support in check for MAX_UID_T_LEN
27753         [7ab262b1173f]
27754
27755         * Makefile.in:
27756         fixed another occurence of sudo_getpwuid.*
27757         [fb5809c07da2]
27758
27759         * Makefile.in, getspwuid.c:
27760         sudo_getpwuid.c -> getspwuid.c
27761         [875f2ef808b4]
27762
27763         * configure.in:
27764         moved the "echo"
27765         [ad7b8f966076]
27766
27767         * BUGS, CHANGES, INSTALL, Makefile.in, OPTIONS, README, check.c,
27768         compat.h, config.h.in, configure.in, find_path.c, getspwuid.c,
27769         getwd.c, goodpath.c, ins_2001.h, ins_classic.h, ins_csops.h,
27770         ins_goons.h, insults.h, interfaces.c, logging.c, options.h, parse.c,
27771         parse.lex, parse.yacc, pathnames.h.in, putenv.c, strdup.c, sudo.c,
27772         sudo.h, sudo_setenv.c, testsudoers.c, tgetpass.c, utime.c,
27773         version.h, visudo.c:
27774         ++version
27775         [ee57c6410ffa]
27776
27777         * testsudoers.c:
27778         added group support
27779         [54d8097df8bd]
27780
27781         * sample.sudoers:
27782         added group entry
27783         [50994d31fd49]
27784
27785         * sudoers.man:
27786         documented group support
27787         [0a16707f8fed]
27788
27789         * parse.c, parse.lex, parse.yacc, visudo.c:
27790         added group support
27791         [427218c879c8]
27792
27793 1995-12-15  Todd C. Miller  <Todd.Miller@courtesan.com>
27794
27795         * check.c:
27796         tkfile was too short and overflowed the kerberos realm
27797         [53823a1ff5af]
27798
27799 1995-12-11  Todd C. Miller  <Todd.Miller@courtesan.com>
27800
27801         * sudo.c:
27802         now copy command args directly from Argv
27803         [77408278b6fd]
27804
27805         * sudo.c:
27806         replaced code to copy cmnd_args so that is does not use realloc
27807         since most realloc()'s really stink
27808         [b29a0ff73fb6]
27809
27810 1995-12-08  Todd C. Miller  <Todd.Miller@courtesan.com>
27811
27812         * configure.in:
27813         syslog() fixed in hpux 10.01
27814         [2648e6f0cdb0]
27815
27816 1995-12-06  Todd C. Miller  <Todd.Miller@courtesan.com>
27817
27818         * configure.in:
27819         AC_CHECK_LIB() now sets SUDO_LIBS (and VISUDO_LIBS if appropriate)
27820         [8f108b8d8711]
27821
27822         * configure.in:
27823         better error if cannot find skey incs or libs
27824         [5887662ee9d3]
27825
27826         * aclocal.m4:
27827         now use a temp file for determining max len of uid_t in string form.
27828         the old hacky way broke on netbsd
27829         [b68f470fa9f8]
27830
27831         * sudo.c:
27832         added set of parens and a space
27833         [8a3d4826d022]
27834
27835 1995-12-05  Todd C. Miller  <Todd.Miller@courtesan.com>
27836
27837         * dce_pwent.c:
27838         fixes from Jeff Earickson <jaearick@colby.edu> ,
27839         [bde0f0b756ec]
27840
27841         * check.c:
27842         modified a comment
27843         [e2a97f1afbbe]
27844
27845         * Makefile.in:
27846         fixed up testsudoers target
27847         [d39c4e7bb609]
27848
27849         * configure.in:
27850         DCE changes from Jeff Earickson <jaearick@colby.edu> LIBS ->
27851         SUDO_LIBS and VISUDO_LIBS LDFLAGS -> SUDO_FDFLAGS and VISUDO_LDFLAGS
27852         [da7a1c433828]
27853
27854         * Makefile.in:
27855         LIBS -> SUDO_LIBS , VISUDO_LIBS LDFLAGS -> SUDO_LDFLAGS,
27856         VISUDO_LDFLAGS
27857         [4b69503e8487]
27858
27859 1995-11-28  Todd C. Miller  <Todd.Miller@courtesan.com>
27860
27861         * configure.in:
27862         fix for C2 on hpux 10 now uses -linet if it exists
27863         [8d300112263d]
27864
27865         * check.c:
27866         LONG_SKEY_PROMPT is less of a klusge /
27867         [dcc144abaac3]
27868
27869         * configure.in:
27870         fixed typos w/ dce stuff
27871         [f7dfd6d4e149]
27872
27873         * Makefile.in:
27874         added dce_pwent.c
27875         [79047acdc516]
27876
27877 1995-11-26  Todd C. Miller  <Todd.Miller@courtesan.com>
27878
27879         * INSTALL:
27880         amended section on combining authentication mechanisms
27881         [dc5138c7c716]
27882
27883         * PORTING:
27884         minor updates for 1.3.6
27885         [fe80c13bd994]
27886
27887         * TROUBLESHOOTING:
27888         added 2 more entries
27889         [c7201439a0f5]
27890
27891         * BUGS:
27892         updated for 1.3.6
27893         [979b414d2a2d]
27894
27895         * README:
27896         overhauled
27897         [3af8b60eb594]
27898
27899         * INSTALL:
27900         rewrote for sudo 1.3.6
27901         [b16027b9c726]
27902
27903         * TROUBLESHOOTING:
27904         added 3 entries
27905         [934c9ee3f153]
27906
27907 1995-11-25  Todd C. Miller  <Todd.Miller@courtesan.com>
27908
27909         * find_path.c, getspwuid.c, sudo.c:
27910         added explict casts for strdup since many includes don't prototype
27911         it. gag me.
27912         [3e19a11f2fcc]
27913
27914         * sudo.h:
27915         removed prototype for sudo_getpwuid() since convex C compiler choked
27916         on it.
27917         [c3ea74ca67b0]
27918
27919         * sudo.c:
27920         added prototype for sudo_getpwuid()
27921         [4a8e3cdc2b98]
27922
27923         * lsearch.c:
27924         now compiles on strict ANSI compilers
27925         [3ce5d72d0b08]
27926
27927         * check.c:
27928         added LONG_SKEY_PROMPT support
27929         [48a18b8a2332]
27930
27931         * Makefile.in:
27932         added extra $'s for make to eat up, yum.
27933         [2995b214e12b]
27934
27935         * OPTIONS, options.h:
27936         added LONG_SKEY_PROMPT
27937         [f23ae799b5a4]
27938
27939 1995-11-24  Todd C. Miller  <Todd.Miller@courtesan.com>
27940
27941         * check.c:
27942         s/key support now works with normal s/key as well as logdaemon
27943         [d67573f523bf]
27944
27945         * OPTIONS, options.h:
27946         added SKEY_ONLY
27947         [bbf07654e0de]
27948
27949         * compat.h:
27950         set _PASSWD_LEN to 256 for any of KERB4, DCE, SKEY
27951         [205895b96a36]
27952
27953         * INSTALL:
27954         added DCE note added more AIX notes
27955         [6345403b3522]
27956
27957         * sudo.c:
27958         now include pthread.h for DCE support
27959         [6fe02865f679]
27960
27961         * check.c:
27962         dce_pwent() is ok after all .,
27963         [d26a8746a55d]
27964
27965         * logging.c:
27966         now uses SYSLOG() macro that equates to either syslog() or
27967         syslog_wrapper
27968         [42ac4cff8045]
27969
27970         * dce_pwent.c:
27971         minor formatting changes. renamed check() to somthing less generic
27972         [71859f217be1]
27973
27974         * check.c, logging.c, parse.yacc, sudo.c, sudo.h, testsudoers.c,
27975         visudo.c:
27976         now uses user_pw_ent and simple macros to get at the contents
27977         [f4cbf3e7145a]
27978
27979 1995-11-23  Todd C. Miller  <Todd.Miller@courtesan.com>
27980
27981         * check.c:
27982         simpler dec unix C2 support
27983         [86bc8f75250e]
27984
27985         * getspwuid.c:
27986         now sets crypt_type for DEC unix C2
27987         [99aeadd18266]
27988
27989 1995-11-21  Todd C. Miller  <Todd.Miller@courtesan.com>
27990
27991         * configure.in:
27992         added csops paths for skey
27993         [b8ca672e2117]
27994
27995         * getspwuid.c:
27996         now includes string.h for strdup() prototype
27997         [3605259c3620]
27998
27999         * getspwuid.c:
28000         fixed a few typos
28001         [46c97e4ea417]
28002
28003         * check.c:
28004         now includes skey.h
28005         [11e611ce1b61]
28006
28007         * getspwuid.c:
28008         fixed up comments
28009         [223dac56f0c8]
28010
28011         * check.c:
28012         moved a lot of the shadow passwd crap to sudo_getpwuid()
28013         [97d8887fb7d3]
28014
28015         * sudo.c:
28016         now uses sudo_pw_ent
28017         [d014dadbef48]
28018
28019         * testsudoers.c:
28020         now uses sudo_pw_ent
28021         [d92936ed7e34]
28022
28023         * visudo.c:
28024         now sets sudo_pw_ent
28025         [ff75cdfcf8b3]
28026
28027         * getspwuid.c:
28028         Initial revision
28029         [6deb6df9d7bc]
28030
28031         * tgetpass.c:
28032         moved dce stuff into compat.h
28033         [1124284396e7]
28034
28035         * logging.c, sudo.h:
28036         now uses sudo_pw_ent
28037         [404ff20a5067]
28038
28039         * Makefile.in:
28040         added sudo_getpwuid.c
28041         [6666d0644512]
28042
28043         * compat.h:
28044         added dce support
28045         [3c3b36a7ce0e]
28046
28047         * parse.yacc:
28048         now uses sudo_pw_ent
28049         [9f5e8d11bd68]
28050
28051 1995-11-20  Todd C. Miller  <Todd.Miller@courtesan.com>
28052
28053         * check.c:
28054         fixed exempt_group stuff for OS's that don't put base gid in group
28055         vector
28056         [003f153bd396]
28057
28058         * check.c:
28059         S/Key support now works with sunos4 shadow passwords
28060         [1eb64a5efff1]
28061
28062         * Makefile.in:
28063         fixed clean rule
28064         [5695a2c62816]
28065
28066         * config.h.in, configure.in:
28067         added DCE support
28068         [f53c766c1947]
28069
28070         * tgetpass.c:
28071         DCE & KERB support
28072         [904cf436506a]
28073
28074         * check.c:
28075         first stab at dce support
28076         [aea5ca07b1e3]
28077
28078         * dce_pwent.c:
28079         now smells like sudo
28080         [8b3d609b49cd]
28081
28082         * dce_pwent.c:
28083         Initial revision
28084         [b573555f2399]
28085
28086         * check.c:
28087         skey'd sudo now works w/ normal password as well
28088         [8d038f9f6e94]
28089
28090 1995-11-19  Todd C. Miller  <Todd.Miller@courtesan.com>
28091
28092         * Makefile.in, OPTIONS, check.c, compat.h, config.h.in, find_path.c,
28093         getwd.c, goodpath.c, ins_2001.h, ins_classic.h, ins_csops.h,
28094         ins_goons.h, insults.h, interfaces.c, logging.c, options.h, parse.c,
28095         parse.lex, parse.yacc, pathnames.h.in, putenv.c, strdup.c, sudo.c,
28096         sudo.h, sudo_setenv.c, testsudoers.c, tgetpass.c, utime.c,
28097         version.h, visudo.c:
28098         updated version number
28099         [ba7e346d7904]
28100
28101         * README:
28102         updated to reflect version change
28103         [1d15cf1d8cc8]
28104
28105         * configure.in:
28106         --with options now line up ++version
28107         [08ebf625fbca]
28108
28109         * sudo.h:
28110         removed unecesary S/Key stuff
28111         [68188cba90af]
28112
28113         * configure.in:
28114         fixed S/Key support
28115         [f6d9cbc36618]
28116
28117         * Makefile.in:
28118         -I stuff now goes in CPPFLAGS
28119         [7b8e53c5b046]
28120
28121         * check.c:
28122         fixed SKey support
28123         [52c1a5cf4435]
28124
28125         * README:
28126         updated version
28127         [bed6498a10bb]
28128
28129         * OPTIONS:
28130         fixed description of EXEMPTGROUP
28131         [cfeead55edc2]
28132
28133         * sudo.c:
28134         more people use _RLD_ than just alphas...
28135         [6a3c7090a6f6]
28136
28137         * Makefile.in:
28138         replaced $man_prefix with $mandir
28139         [dc4b36a550e2]
28140
28141         * configure.in:
28142         fixed a typo
28143         [a38a4acddcaf]
28144
28145         * Makefile.in:
28146         now use more GNU'ish dir names
28147         [c5498391a520]
28148
28149         * configure.in:
28150         now set *dir correctly (can override from command line)
28151         [523ff98fd438]
28152
28153         * sudo.c:
28154         now deal with situations where we getwd() fails
28155         [88a9e61dccbb]
28156
28157 1995-11-17  Todd C. Miller  <Todd.Miller@courtesan.com>
28158
28159         * Makefile.in:
28160         added etc_dir, bin_dir, sbin_dir
28161         [75fd08d92842]
28162
28163         * configure.in:
28164         added sbin_dir
28165         [3cb318c0d8d1]
28166
28167         * Makefile.in:
28168         now ship a flex-generated lex.yy.c
28169         [4d083ed70dce]
28170
28171         * Makefile.in:
28172         now sets _PATH_SUDO_SUDOERS, _PATH_SUDO_STMP, SUDOERS_OWNER
28173         [4d51dc9c3780]
28174
28175         * pathnames.h.in:
28176         _PATH_SUDO_SUDOERS & _PATH_SUDO_STMP are now overridden via Makefile
28177         [773fd163d52f]
28178
28179         * options.h:
28180         no more error for redefining SUDOERS_OWNER
28181         [4ba336644c6a]
28182
28183         * OPTIONS:
28184         expanded SUDOERS_OWNER section
28185         [12fae405759e]
28186
28187 1995-11-16  Todd C. Miller  <Todd.Miller@courtesan.com>
28188
28189         * visudo.c:
28190         now warn if chown(2) failed
28191         [d0d1db6e3a1f]
28192
28193         * logging.c:
28194         better default warning for NO_SUDOERS_FILE
28195         [5260b458ac64]
28196
28197         * sudo.c:
28198         added missing set_perms() no more cryptic message if the sudoers
28199         file is zero length, now just give a parse error
28200         [b81ea724838a]
28201
28202         * logging.c:
28203         better diagnostics if NO_SUDOERS_FILE
28204         [877e878663c5]
28205
28206         * sudo.c:
28207         check_sudoers() now catches sudoers files that are not readable (but
28208         are stat'able).
28209         [fea05663b3de]
28210
28211 1995-11-13  Todd C. Miller  <Todd.Miller@courtesan.com>
28212
28213         * configure.in:
28214         now add -D__STDC__ for convex cc (not gcc)
28215         [c80fc53ff51b]
28216
28217         * configure.in:
28218         MAN_PREFIX -> man_prefix now sets prefix and exec_prefix
28219         [fe238226a057]
28220
28221         * Makefile.in:
28222         now uses exec_prefix & prefix from configure
28223         [f62fca5f56bd]
28224
28225         * find_path.c, getwd.c, goodpath.c, interfaces.c, logging.c, parse.c,
28226         parse.lex, parse.yacc, sudo.c, sudo.h, sudo_setenv.c, tgetpass.c,
28227         utime.c, visudo.c:
28228         options.h is now <> instead of "" so shadow build trees can have a
28229         custom copy of options.h
28230         [e6782676099c]
28231
28232         * check.c:
28233         user_is_exempt() is no longer a hack, it now uses getgrnam()
28234         [287f8d5356f7]
28235
28236         * options.h:
28237         EXEMPTGROUP is now "sudo"
28238         [61487304dbe1]
28239
28240         * configure.in:
28241         MAN_POSTINSTALL now contains a leading space
28242         [eaad4ac34012]
28243
28244         * Makefile.in:
28245         removed leading tab if @MAN_POSTINSTALL@ not defined now removes
28246         testsudoers in clean:
28247         [e01711baceb8]
28248
28249         * tgetpass.c:
28250         includes pwd.h to get _PASSWD_LEN definition
28251         [8ec174f263f1]
28252
28253 1995-10-30  Todd C. Miller  <Todd.Miller@courtesan.com>
28254
28255         * sudo.c:
28256         unset the KRB_CONF envariable if using kerberos so we don't get
28257         spoofed into using a bogus server
28258         [2561a0274fca]
28259
28260 1995-09-29  Todd C. Miller  <Todd.Miller@courtesan.com>
28261
28262         * parse.yacc:
28263         now explicately initialize match[] tp be FALSE
28264         [0e45e5c47766]
28265
28266 1995-09-23  Todd C. Miller  <Todd.Miller@courtesan.com>
28267
28268         * sudo.c:
28269         removed unused variable now passes -Wall
28270         [3452508bc16d]
28271
28272         * parse.yacc:
28273         yyerror and dumpaliases are now void's now passes -Wall
28274         [2769dfb51993]
28275
28276         * parse.lex:
28277         added prototype for yyerror
28278         [1f3f0c1b4ab4]
28279
28280         * check.c, logging.c, parse.c:
28281         now passes -Wall
28282         [eab57e5e81d2]
28283
28284         * interfaces.c:
28285         rmeoved unused cruft now passes -Wall
28286         [7a47e1866f4b]
28287
28288         * Makefile.in:
28289         fixed headers that moved to emul dir
28290         [e680c1e5049b]
28291
28292         * logging.c:
28293         fixed deref of nil pointer if no args
28294         [973b9bea432f]
28295
28296 1995-09-15  Todd C. Miller  <Todd.Miller@courtesan.com>
28297
28298         * OPTIONS:
28299         added a caveat to FQDN section
28300         [dcf6e2a5fff4]
28301
28302 1995-09-13  Todd C. Miller  <Todd.Miller@courtesan.com>
28303
28304         * Makefile.in:
28305         more $srcdir support for install targets
28306         [f6eac78436dd]
28307
28308         * find_path.c, interfaces.c, parse.c, parse.lex, parse.yacc, putenv.c,
28309         strdup.c, sudo.c, sudo_setenv.c, testsudoers.c, visudo.c:
28310         don't include malloc.h if we include stdlib.h
28311         [fca2ff307cd8]
28312
28313         * parse.yacc:
28314         local search.h now lives in emul
28315         [51c458904424]
28316
28317         * check.c, utime.c:
28318         local utime.h now lives in emul dir
28319         [f92fc9e8c8de]
28320
28321         * lsearch.c:
28322         local search.h now lives in emul
28323         [579efc407439]
28324
28325         * Makefile.in:
28326         added support for building in other than the sourcedir
28327         [2ab53a43f7d4]
28328
28329 1995-09-10  Todd C. Miller  <Todd.Miller@courtesan.com>
28330
28331         * OPTIONS:
28332         annotated CSOPS_INSULTS option
28333         [9e57d45a0afa]
28334
28335         * TROUBLESHOOTING:
28336         updated shadow passwords blurb
28337         [39b785bc7253]
28338
28339         * sudo.c:
28340         if SHELL_IF_NO_ARGS is set, "sudo -- foo" now runs a shell and
28341         passes along foo as the arguments
28342         [a91077aa8fc5]
28343
28344 1995-09-09  Todd C. Miller  <Todd.Miller@courtesan.com>
28345
28346         * parse.lex:
28347         collapsed pathname and dir sections into one -- its now less
28348         expensive
28349         [89caa03bec25]
28350
28351         * parse.lex:
28352         fixed spacing quoting [,:\\=] now works correctly append() and
28353         fill() now take args to make the above work
28354         [09d023d9ef3a]
28355
28356         * sudo.c:
28357         fixed a typo that caused commands with no tty on fd 0 but a tty on
28358         fd 1 to erroneously have "none" as their tty
28359         [07d2c0e7977c]
28360
28361 1995-09-04  Todd C. Miller  <Todd.Miller@courtesan.com>
28362
28363         * check.c:
28364         timestampfile is now a global static removed decl of timestampfile
28365         in remove_timestamp since we can just use the global one
28366         [f0cbdc6aab1c]
28367
28368         * check.c:
28369         created touch() to update timestamps added USE_TTY_TICKETS support
28370         (bit of a kludge)
28371         [cee1dd0318f8]
28372
28373         * compat.h:
28374         added _S_IFDIR and S_ISDIR
28375         [b4a51cc9628e]
28376
28377         * OPTIONS, options.h:
28378         added USE_TTY_TICKETS
28379         [b4e22f81f25e]
28380
28381         * parse.yacc:
28382         removed const from casts for lsearch() & lfind() to placate irix 4.x
28383         C compiler
28384         [5003081f76ea]
28385
28386 1995-09-03  Todd C. Miller  <Todd.Miller@courtesan.com>
28387
28388         * sudo.c:
28389         now only strip '/dev/' off of a tty if it starts with '/dev/'
28390         [7f62bcd24039]
28391
28392         * pathnames.h.in:
28393         added _PATH_DEV
28394         [6375f44d1910]
28395
28396         * configure.in:
28397         AC_HAVE_HEADERS -> AC_CHECK_HEADERS now check for tcgetattr only if
28398         have termios.h
28399         [9c60391235fd]
28400
28401         * tgetpass.c:
28402         fixed incorrect #ifdef termio uses "unsigned short" not int for
28403         c_?flag
28404         [d032e6a29845]
28405
28406         * parse.lex, parse.yacc:
28407         fixed a spelling error
28408         [cad6a944c7b1]
28409
28410         * Makefile.in:
28411         fixed typo
28412         [204a65403e7c]
28413
28414 1995-09-02  Todd C. Miller  <Todd.Miller@courtesan.com>
28415
28416         * Makefile.in:
28417         fixed a comment
28418         [268f760e57ad]
28419
28420         * parse.yacc:
28421         added dotcat() to cat 2 strings w/ a dot effeciently now that we
28422         dynamically allocate strings they need to be free()'d
28423         [ec2e2152f415]
28424
28425         * parse.lex:
28426         dynamically allocates space for strings
28427         [d10ac3533d66]
28428
28429         * sudo.h:
28430         no more MAXCOMMANDLENGTH
28431         [e2e1219bff8a]
28432
28433         * sudo.h:
28434         added decl of tty
28435         [c8ae81303ee5]
28436
28437         * logging.c, sudo.c:
28438         moved tty stuff into sudo.c
28439         [e028abefeb07]
28440
28441 1995-09-01  Todd C. Miller  <Todd.Miller@courtesan.com>
28442
28443         * parse.c:
28444         fixed a logic bug. Was denying a command if user gave command line
28445         args but there were none in the sudoers file which is wrong.
28446         [7489a99b8e8a]
28447
28448         * sudo.h:
28449         MAXCOMMMANDLEN dropped down to 1K
28450         [38ef54ba290b]
28451
28452         * parse.lex:
28453         return foo; -> return(foo);
28454         [0e8be1b57001]
28455
28456         * parse.yacc:
28457         fixed netgr_matches() prototype
28458         [e69f15910464]
28459
28460         * parse.lex:
28461         added support for escaping "termination" characters
28462         [8bd4ef50f35c]
28463
28464         * parse.c:
28465         buf is now of size MAXPATHLEN+1 since it never holds command args
28466         [2ce4b763058c]
28467
28468         * sudo.c:
28469         fixed comments
28470         [0c74a3d2ebb0]
28471
28472         * goodpath.c:
28473         fixed negation problem (doh!)
28474         [782814e3a2d1]
28475
28476         * parse.yacc:
28477         fixed 2nd parameter to lfind()
28478         [63d7b1623c08]
28479
28480         * parse.lex:
28481         now do bounds checking in fill() and append()
28482         [54381b563251]
28483
28484         * sudo.c:
28485         include netdb.h as we should added a missing void cast added
28486         SHELL_IF_NO_ARGS support now use realloc() properly. would fail if
28487         realloc actually moved the string instead of shrinking it
28488         [897ccdec9c06]
28489
28490         * sample.sudoers:
28491         updated with examples of new features
28492         [9b3ed00e8aa6]
28493
28494         * goodpath.c:
28495         now set errno to EACCES if not a regular file or not executable
28496         [2d069548a5ea]
28497
28498         * find_path.c:
28499         if given a fully-qualified or relative path we now check it with
28500         sudo_goodpath() and error out with the appropriate error message if
28501         the file does not exist or is not executable
28502         [590f89dd8dec]
28503
28504         * emul/search.h, lsearch.c:
28505         now use correct args for lfind
28506         [fccdcdbf020e]
28507
28508         * logging.c:
28509         added a comment
28510         [fab9f49708ea]
28511
28512         * insults.h:
28513         added in CSOps insults
28514         [ad8eb1862adc]
28515
28516         * ins_csops.h:
28517         Initial revision
28518         [de5a475ec018]
28519
28520         * tgetpass.c:
28521         added RCS id
28522         [c3ffd550a482]
28523
28524         * sudo.h:
28525         increased MAXCOMMANDLENGTH to 8k HAVE_GETCWD -> HAVE_GETWD
28526         [aba25c90d08a]
28527
28528         * OPTIONS:
28529         added CLASSIC_INSULTS, CSOPS_INSULTS, SHELL_IF_NO_ARGS
28530         [e27bd62e9ccf]
28531
28532         * sudo.c:
28533         fixed -k load_interfaces() now gets called if FQDN is set
28534         -p now works with -s
28535         [07ca2a34bae8]
28536
28537         * parse.c:
28538         don't try to stat() "pseudo commands" like "validate"
28539         [75527045984b]
28540
28541         * options.h:
28542         added CLASSIC_INSULTS added CSOPS_INSULTS added SHELL_IF_NO_ARGS
28543         [07b157a0eafd]
28544
28545         * configure.in:
28546         added SecurID support added other insults to --with-csops
28547         [6c992ceb244c]
28548
28549         * config.h.in:
28550         added HAVE_SECURID
28551         [e734ff617fe8]
28552
28553         * Makefile.in:
28554         added clobber target added ins_csops.h now gets CFLAGS from
28555         configure
28556         [d1e29c7cec25]
28557
28558         * aclocal.m4:
28559         relaxed SUDO_FULL_VOID
28560         [fb4084f27406]
28561
28562         * visudo.c:
28563         function comment blocks are now in same style as rest of code
28564         [04a2931354c5]
28565
28566         * testsudoers.c:
28567         added support for command line args in /etc/sudoers
28568         [bfe4e1bcc655]
28569
28570         * sudoers.man:
28571         updated to have command args in the sudoers file
28572         [1cd34355e9ea]
28573
28574         * sudo.man:
28575         added -s and -- flags added SHELL to ENVIRONMENT VARIABLES section
28576         [930b48023b68]
28577
28578 1995-08-19  Todd C. Miller  <Todd.Miller@courtesan.com>
28579
28580         * parse.yacc:
28581         PATH renamed to COMMAND
28582         [4e109a6de3cd]
28583
28584         * parse.lex:
28585         it is now a parse error for directories to have args attached to
28586         them
28587         [2ab10a146b54]
28588
28589         * logging.c:
28590         now say command args if telling user to buzz off
28591         [933de26ded8b]
28592
28593         * sudo.c:
28594         -s no longer indicates end of args sped up loading on cmnd_args in
28595         load_cmnd()
28596         [eac99a4da862]
28597
28598         * parse.c:
28599         removed an unreachable statement
28600         [634302623c49]
28601
28602         * parse.lex:
28603         made more efficient by pulling out the terminators when in GOTCMND
28604         state and making them their own rule
28605         [80798f1e1166]
28606
28607 1995-08-14  Todd C. Miller  <Todd.Miller@courtesan.com>
28608
28609         * sudo.h:
28610         removed MAXLOGLEN since it is no longer used
28611         [102824196b71]
28612
28613         * parse.lex:
28614         now allows command args
28615         [d29dfa1e5254]
28616
28617         * parse.c:
28618         now groks command arguments
28619         [6c414cb7f105]
28620
28621         * logging.c:
28622         now sets tty correctly when piped input
28623         [de46a30c0406]
28624
28625         * sudo.c:
28626         fixed loading of cmnd_args (was including command name too)
28627         [15319a425ea6]
28628
28629         * logging.c:
28630         fixed a core dump due to incorrect if construct
28631         [582363c7d7fa]
28632
28633 1995-08-13  Todd C. Miller  <Todd.Miller@courtesan.com>
28634
28635         * configure.in:
28636         only add -lsun is irix < 5 don't look for -lnsl or -lsocket if irix
28637         [da591fe9b931]
28638
28639         * aclocal.m4:
28640         fixed check for ISC
28641         [52e59f2082a7]
28642
28643         * sudo.c:
28644         now sets cmnd_args used by log_error() and that will be used by the
28645         parse to check against command args
28646         [c6804389723b]
28647
28648         * sudo.h:
28649         added cmnd_args
28650         [4d00446b4a8d]
28651
28652         * logging.c:
28653         now dynamically allocate logline since we can guess at its size
28654         [4bed8c8446aa]
28655
28656 1995-08-05  Todd C. Miller  <Todd.Miller@courtesan.com>
28657
28658         * logging.c:
28659         cleaned up a bunch of unnecesary #ifdef's eliminated a buffer remove
28660         "register" since the compiler knows more than I do now do a
28661         "basename" of the tty
28662         [3b1bbf0b3da1]
28663
28664 1995-07-31  Todd C. Miller  <Todd.Miller@courtesan.com>
28665
28666         * configure.in:
28667         ++version
28668         [5ce552f9a5f1]
28669
28670         * sudo.h:
28671         added shell extern changed MODE_* to be bit masks to allow for
28672         several options together
28673         [06f9dc4f400c]
28674
28675         * sudo.c:
28676         added -s (shell) option made MODE_* masks so we can do bitwise & and
28677         | to see if multiple flags are set.
28678         [01f8143010ad]
28679
28680         * check.c:
28681         added securid support
28682         [909e078005fe]
28683
28684 1995-07-30  Todd C. Miller  <Todd.Miller@courtesan.com>
28685
28686         * logging.c:
28687         removed a bunch of unnecesary strncpy()'s and replaced with strcat()
28688         [644506b57d61]
28689
28690 1995-07-29  Todd C. Miller  <Todd.Miller@courtesan.com>
28691
28692         * Makefile.in, version.h:
28693         ++version
28694         [3cd6f1fbc3d9]
28695
28696 1995-07-27  Todd C. Miller  <Todd.Miller@courtesan.com>
28697
28698         * parse.yacc:
28699         fixed free() of an uninitialized pointer (yuck)
28700         [8c404ee502ee]
28701
28702         * testsudoers.c:
28703         added netgr_matches
28704         [e7c9fa2f774c]
28705
28706         * parse.c:
28707         cleaned up netgr_matches
28708         [8108f00b810e]
28709
28710 1995-07-26  Todd C. Miller  <Todd.Miller@courtesan.com>
28711
28712         * RUNSON:
28713         updated for 1.3.4
28714         [4741704310a1]
28715
28716 1995-07-25  Todd C. Miller  <Todd.Miller@courtesan.com>
28717
28718         * Makefile.in:
28719         now installs sudoers.man -- really should clean this up though.
28720         [455631d45a1d]
28721
28722         * Makefile.in:
28723         added sudoers.cat and sudoers.man
28724         [0bdedd6c7363]
28725
28726         * sudo.man:
28727         pulled out stuff on the sudoers file format into a separate man page
28728         [de215d999cb9]
28729
28730         * sudoers.man:
28731         Initial revision
28732         [f25eafbb7095]
28733
28734         * HISTORY:
28735         fixed up my email address
28736         [254fbf80be74]
28737
28738         * configure.in:
28739         added checks for innetgr and getdomainname
28740         [24a99cb7e97e]
28741
28742         * visudo.c:
28743         added dummy netgr_matches function
28744         [1841ff2c01da]
28745
28746         * parse.c:
28747         added netgr_matches
28748         [ec90db6a97b8]
28749
28750         * parse.lex, parse.yacc:
28751         added NETGROUP support
28752         [c9dd93e3bc4b]
28753
28754         * config.h.in:
28755         added HAVE_INNETGR & HAVE_GETDOMAINNAME
28756         [14abd494d875]
28757
28758 1995-07-24  Todd C. Miller  <Todd.Miller@courtesan.com>
28759
28760         * sudo.c:
28761         rewrote clean_env() that has rm_env() builtin
28762         [55cb43818a95]
28763
28764 1995-07-23  Todd C. Miller  <Todd.Miller@courtesan.com>
28765
28766         * check.c:
28767         now cast uid to long in sprintf
28768         [b549eea40aeb]
28769
28770         * OPTIONS:
28771         added _INSULTS suffix to HAL & GOONS end
28772         [ed620d0aad30]
28773
28774         * options.h:
28775         added _INSULTS suffix to HAL & GOONS
28776         [9f72e9b83afd]
28777
28778         * ins_2001.h, ins_classic.h, ins_goons.h, insults.h:
28779         converted to new scheme of insult "unions" end
28780         [2f6d2b412132]
28781
28782         * sudo.c:
28783         now uses MAX_UID_T_LEN
28784         [c1df79e0f389]
28785
28786         * configure.in:
28787         added SUDO_UID_T_LEN !l
28788         [195f0b9f5f84]
28789
28790         * config.h.in:
28791         added MAX_UID_T_LEN
28792         [73f42ae4f14d]
28793
28794         * check.c:
28795         now use MAX_UID_T_LEN
28796         [df9c063234cb]
28797
28798         * aclocal.m4:
28799         added check for max len of uid_t fixed sco vs. isc check
28800         [d558f36d2223]
28801
28802 1995-07-19  Todd C. Miller  <Todd.Miller@courtesan.com>
28803
28804         * configure.in:
28805         corrected version
28806         [828dd1571e86]
28807
28808         * configure.in:
28809         added sco support
28810         [af1e2f616638]
28811
28812         * aclocal.m4:
28813         hack to check for sco
28814         [549ab99a9a43]
28815
28816         * interfaces.c:
28817         removed #include <net/route.h> since it was hosing some OS's
28818         [ac78a7c04005]
28819
28820 1995-07-18  Todd C. Miller  <Todd.Miller@courtesan.com>
28821
28822         * find_path.c:
28823         fixed prreadlink() prototype
28824         [b380fe1f2b11]
28825
28826         * check.c:
28827         added parens in #if's
28828         [e96ade691b82]
28829
28830         * configure.in:
28831         added SPW_ prefix
28832         [a302683a1483]
28833
28834         * sudo.h:
28835         moved SPW_* to config.h.in
28836         [6b3be70e34cf]
28837
28838         * sudo.c:
28839         added a set of parens
28840         [8188d735d695]
28841
28842         * config.h.in:
28843         added SPW_*
28844         [5ead6371cf60]
28845
28846         * sudo.h:
28847         added SPW_* reordered error codes
28848         [dead25b4ed0a]
28849
28850         * check.c:
28851         moved SPW_* to sudo.h
28852         [ca51fb04caf4]
28853
28854 1995-07-17  Todd C. Miller  <Todd.Miller@courtesan.com>
28855
28856         * sudo.c:
28857         SPW_AUTH -> SPW_SECUREWARE
28858         [6b512b2bc5dc]
28859
28860         * logging.c:
28861         GLOBAL_NO_AUTH_ENT -> GLOBAL_NO_SPW_ENT
28862         [defdd0944e2f]
28863
28864         * configure.in:
28865         AUTH -> SECUREWARE
28866         [d1f8a17001dd]
28867
28868         * check.c:
28869         SPW_AUTH -> SPW_SECUREWARE
28870         [af0e8d8b89b2]
28871
28872         * check.c:
28873         now uses SHADOW_TYPE to make shadow pw support more readable and
28874         modular. It's a start...
28875         [8c2a59667014]
28876
28877         * configure.in:
28878         added autodetection of shadow passwords
28879         [85f81fa54b1b]
28880
28881         * sudo.c:
28882         now uses SHADOW_TYPE define
28883         [355e5dc09b07]
28884
28885         * config.h.in:
28886         added SHADOW_TYPE which replaces SUNOS4 & __svr4__ defines
28887         [c0c06e83e483]
28888
28889         * aclocal.m4:
28890         added SUDO_CHECK_SHADOW
28891         [464301301639]
28892
28893 1995-07-12  Todd C. Miller  <Todd.Miller@courtesan.com>
28894
28895         * configure.in:
28896         define SVR4 for ISC define BROKEN_SYSLOG for hpux took out test for
28897         memmove() since we dno longer use it...
28898         [8aefa87d7d31]
28899
28900         * CHANGES:
28901         updated
28902         [ce97b3fd7182]
28903
28904         * logging.c:
28905         added BROKEN_SYSLOG support
28906         [a45c3bca36f6]
28907
28908         * config.h.in:
28909         added BROKEN_SYSLOG
28910         [6f6abf0a6268]
28911
28912         * check.c:
28913         now only bitch it timestamp > time_now + 2 * timeout to allow for a
28914         machine udpating its time from a server
28915         [546bc8d35325]
28916
28917         * sudo.man:
28918         added 2 security notes updated Nieusma's email addr
28919         [616756c56977]
28920
28921         * lsearch.c:
28922         changed a memmove() to memcpy() since we don't have to worry about
28923         overlapping segments.
28924         [30baa478526b]
28925
28926 1995-07-11  Todd C. Miller  <Todd.Miller@courtesan.com>
28927
28928         * interfaces.c:
28929         cleanup up the loop when interfaces are groped in so that it is
28930         readable
28931         [1fa39446bd69]
28932
28933         * Makefile.in, version.h:
28934         ++version
28935         [b46bd2b1770f]
28936
28937 1995-07-09  Todd C. Miller  <Todd.Miller@courtesan.com>
28938
28939         * CHANGES:
28940         annotated 124-126
28941         [b82a2b3ec7ce]
28942
28943 1995-07-07  Todd C. Miller  <Todd.Miller@courtesan.com>
28944
28945         * check.c:
28946         fixed permissions check on /tmp/.odus
28947         [cc2431a65468]
28948
28949 1995-07-06  Todd C. Miller  <Todd.Miller@courtesan.com>
28950
28951         * check.c:
28952         fixed some comments
28953         [8896d09b4fda]
28954
28955         * check.c:
28956         now checks owner & mode of timedir also checks for bogus dates on
28957         timestamp file
28958         [a0fad5df5b0a]
28959
28960         * OPTIONS:
28961         updated TIMEOUT info
28962         [033cc22d9e04]
28963
28964         * logging.c, sudo.h:
28965         added BAD_STAMPDIR and BAD_STAMPFILE
28966         [31d9ce691101]
28967
28968         * compat.h:
28969         added definition of S_IRWXU
28970         [ff2dab091a9b]
28971
28972         * CHANGES:
28973         updated
28974         [a40df90284f1]
28975
28976 1995-07-03  Todd C. Miller  <Todd.Miller@courtesan.com>
28977
28978         * interfaces.c:
28979         added #ifdef to make it compile on strange arches
28980         [4a127f12afce]
28981
28982 1995-07-02  Todd C. Miller  <Todd.Miller@courtesan.com>
28983
28984         * aclocal.m4:
28985         fixed check for fulkl void impl.
28986         [b6f2a4a361d8]
28987
28988         * check.c:
28989         added mssing "static"
28990         [520552f2772b]
28991
28992         * insults.h:
28993         replaced #elif with #else #if constructs for ancient C compilers
28994         [39ab2d365b57]
28995
28996         * INSTALL:
28997         updated irix c2 & kerb5 info
28998         [ae79b99b4905]
28999
29000         * configure.in:
29001         added shadow pw support for irix
29002         [632469d9c528]
29003
29004 1995-07-01  Todd C. Miller  <Todd.Miller@courtesan.com>
29005
29006         * BUGS, TODO:
29007         updated
29008         [2a96bb18ac30]
29009
29010         * CHANGES:
29011         last changes for sudo 1.3.3
29012         [c1c0cd1034b8]
29013
29014         * configure.in:
29015         now calls SUDO_SOCK_SA_LEN
29016         [14ea78159d45]
29017
29018         * config.h.in:
29019         added HAVE_SA_LEN
29020         [cc2a346aa905]
29021
29022         * aclocal.m4:
29023         added SUDO_SOCK_SA_LEN
29024         [456a2025644a]
29025
29026         * interfaces.c:
29027         now works with ip implementations that use sa_len in sockaddr
29028         [90be6e028077]
29029
29030         * INSTALL:
29031         added note about buggy AIX compiler
29032         [c0f6d427e4e4]
29033
29034         * interfaces.c:
29035         now include sys/time.h for AIX
29036         [2510858ab38b]
29037
29038 1995-06-28  Todd C. Miller  <Todd.Miller@courtesan.com>
29039
29040         * Makefile.in:
29041         getcwd -> getwd
29042         [66085ebca98e]
29043
29044         * interfaces.c:
29045         now works for ISC and others. yay.
29046         [f336d4ffc927]
29047
29048 1995-06-26  Todd C. Miller  <Todd.Miller@courtesan.com>
29049
29050         * Makefile.in, version.h:
29051         version++
29052         [836cffc2078d]
29053
29054 1995-06-23  Todd C. Miller  <Todd.Miller@courtesan.com>
29055
29056         * aclocal.m4:
29057         fixed test for full void impl
29058         [fb004107e7b9]
29059
29060         * sudo.c:
29061         now check to see that st_dev is non-zero before assuming that we are
29062         being spoofed
29063         [1b0e1c30c506]
29064
29065 1995-06-20  Todd C. Miller  <Todd.Miller@courtesan.com>
29066
29067         * aclocal.m4, configure.in:
29068         SUDO_FUNC_UTIME_NULL -> AC_FUNC_UTIME_NULL
29069         [4953379bfb01]
29070
29071 1995-06-19  Todd C. Miller  <Todd.Miller@courtesan.com>
29072
29073         * aclocal.m4:
29074         fixed include file order for SUDO_FUNC_UTIME_POSIX
29075         [ff64ab7df44f]
29076
29077         * logging.c:
29078         added cast for ttyname()
29079         [444f05f56758]
29080
29081         * configure.in:
29082         fixed typo
29083         [de068e748431]
29084
29085         * check.c:
29086         now deal correctly with all known variation of utime() -- yippe
29087         [b778a4195a89]
29088
29089         * configure.in:
29090         added SUDO_FUNC_UTIME_POSIX
29091         [cf635f2269d6]
29092
29093         * aclocal.m4:
29094         added SUDO_FUNC_UTIME_NULL and SUDO_FUNC_UTIME_POSIX
29095         [d79593be4b73]
29096
29097         * config.h.in:
29098         added HAVE_UTIME_POSIX
29099         [c67b4ac0dca5]
29100
29101         * check.c:
29102         fixed a typo
29103         [b14df5680f59]
29104
29105         * check.c:
29106         no longer assume !HAVE_UTIME_NULL means old BSD utime()
29107         [0aeaf4b2f38b]
29108
29109         * check.c:
29110         fixed fascist C compiler warning
29111         [c61ddf2f1f93]
29112
29113         * interfaces.c:
29114         now set strioctl.ic_timout in STRSET() now initialize num_interfaces
29115         to 0 (just to be anal)
29116         [c54cc2ba0052]
29117
29118 1995-06-18  Todd C. Miller  <Todd.Miller@courtesan.com>
29119
29120         * sudo.h:
29121         increaed MAXLOGLEN by MAXPATHLEN to account for ttyname
29122         [74cf585a54fb]
29123
29124         * logging.c:
29125         added tty logging
29126         [e27d8dcfbd78]
29127
29128         * interfaces.c:
29129         reworked the ISC code
29130         [bcf57ce8ae69]
29131
29132         * Makefile.in, version.h:
29133         updated version
29134         [032941c9b94d]
29135
29136         * check.c:
29137         now expect old-style utime(3) if utime() can't take NULL as an arg
29138         [018dd4a73030]
29139
29140         * configure.in:
29141         added check for utime.h
29142         [0b76e8feb618]
29143
29144         * config.h.in:
29145         added HAVE_UTIME_H
29146         [62ee42feda46]
29147
29148         * Makefile.in:
29149         added CPPFLAGS STATIC_FLAGS -> LDFLAGS
29150         [fa3201d294e1]
29151
29152         * configure.in:
29153         now search for kerb libs and includes
29154         [cc332401e571]
29155
29156         * check.c:
29157         added support for utime(2)'s that can't take a NULL parameter
29158         [98797fedf69f]
29159
29160         * utime.c:
29161         moved HAVE_UTIME_NULL stuff to update_timestamp() where t belongs
29162         [6ce6d825fb44]
29163
29164         * configure.in:
29165         added utime(s) stuff
29166         [a2afb744403e]
29167
29168         * check.c:
29169         now use utime()
29170         [48902240a51e]
29171
29172         * config.h.in:
29173         added HAVE_UTIME and HAVE_UTIME_NULL
29174         [9a56ab65d4f4]
29175
29176 1995-06-17  Todd C. Miller  <Todd.Miller@courtesan.com>
29177
29178         * utime.c:
29179         now use HAVE_UTIME_NULL
29180         [e3944de09a92]
29181
29182         * emul/utime.h, utime.c:
29183         Initial revision
29184         [a2cbf2ef3427]
29185
29186         * check.c:
29187         need to setuid(0) to make kerb4 stuff work.
29188         [c6cfda4039d7]
29189
29190         * tgetpass.c:
29191         no more special case for kerberos
29192         [4a5c33145be9]
29193
29194         * config.h.in:
29195         took out setreuid and setresuid stuff added kerb5 stuff (use kerb4
29196         emulation)
29197         [a607ee43e650]
29198
29199         * compat.h:
29200         no longer need setreuid() emulation now set _PASSWD_LEN to 128 if
29201         kerberos
29202         [02fb274cc136]
29203
29204         * check.c:
29205         now use private ticket file for kerberos support to avoid trouncing
29206         on system one
29207         [28d8b6b812c7]
29208
29209 1995-06-15  Todd C. Miller  <Todd.Miller@courtesan.com>
29210
29211         * sudo.h:
29212         added SPOOF_ATTEMPT & cmnd_st
29213         [d3b42a1f4d0d]
29214
29215         * sudo.c:
29216         added anti-spoofing support
29217         [ab1e2aa44a57]
29218
29219         * parse.c:
29220         now use global cmnd_st
29221         [47018265a1a6]
29222
29223         * logging.c:
29224         added SPOOF_ATTEMPT suypport
29225         [7bbe9dd2a021]
29226
29227         * testsudoers.c, visudo.c:
29228         added void casts where appropriate
29229         [f191441ba333]
29230
29231         * parse.yacc:
29232         fixed up spacing and added void casts where appropriate
29233         [15d886fc809c]
29234
29235         * sudo.c:
29236         fixed problem with "-p prompt" but no args
29237         [6fc048261a3e]
29238
29239 1995-06-14  Todd C. Miller  <Todd.Miller@courtesan.com>
29240
29241         * sudo.man:
29242         added BUGS and annotated -l description
29243         [e5c506de2603]
29244
29245         * sudo.h:
29246         validate() now takes a flag
29247         [26627becc60a]
29248
29249         * sudo.c:
29250         validate() now takes a flag added -l
29251         [a4f7bb97fe54]
29252
29253         * parse.yacc:
29254         added support for -l
29255         [e7a9b10b0ad3]
29256
29257         * parse.c:
29258         validate() now takes a flag that says whether or not to check the
29259         command
29260         [9e1e67f4e281]
29261
29262 1995-06-08  Todd C. Miller  <Todd.Miller@courtesan.com>
29263
29264         * logging.c:
29265         now deals with Argv == 1
29266         [0acb637ab635]
29267
29268         * sudo.man:
29269         added -p option
29270         [e60382fc0561]
29271
29272         * sudo.c:
29273         added prompt support reworked parse_args()
29274         [2f605267ed4a]
29275
29276         * sudo.h:
29277         added prompt
29278         [5ab021bdb419]
29279
29280         * options.h:
29281         added PASSPROMPT
29282         [614727ff44a2]
29283
29284         * check.c:
29285         now use BUFSIZ as length of kerb password added kpass so pass is
29286         always a char * now use prompt global when asking for a password
29287         [76be09af784f]
29288
29289         * tgetpass.c:
29290         now use BUFSIZ as _PASSWD_LEN if using kerberos
29291         [1e907eed312b]
29292
29293         * OPTIONS:
29294         added PASSPROMPT
29295         [ddb2f405ce40]
29296
29297 1995-06-07  Todd C. Miller  <Todd.Miller@courtesan.com>
29298
29299         * configure.in:
29300         only look for -lufc or -lcrypt if crypt() not in libc
29301         [9717d315661f]
29302
29303         * check.c:
29304         don't exit on kerb error, just warn if k_errno == KDC_PR_UNKNOWN
29305         (unknown user) silently fail
29306         [2b48693d4ee9]
29307
29308         * INSTALL:
29309         added kerb4 note
29310         [986e393f740c]
29311
29312         * tgetpass.c:
29313         HAVE_KERBEROS -> HAVE_KERB4
29314         [e438bfb5e6aa]
29315
29316         * check.c:
29317         removed debugging printf
29318         [1cf9f5cbffa5]
29319
29320         * configure.in:
29321         KERBEROS -> KERB4 added checks for setreuid & setresuid
29322         [01e9945beb1e]
29323
29324         * config.h.in:
29325         HAVE_KERBEROS -> HAVE_KERB4 added HAVE_SETREUID and HAVE_SETRESUID
29326         [0e0bb5b8ac3e]
29327
29328         * compat.h:
29329         added deif of UID_NO_CHANGE & GID_NO_CHANGE added setreuid emulation
29330         with setresuid if applic
29331         [9dae24c47696]
29332
29333         * check.c:
29334         HAVE_KERBEROS -> HAVE_KERB4 now only do the stupid chown() hack if
29335         no setreuid() or a broken one
29336         [1fca642bdb8e]
29337
29338 1995-06-06  Todd C. Miller  <Todd.Miller@courtesan.com>
29339
29340         * configure.in:
29341         added kerberos support
29342         [da5639b9b8e7]
29343
29344         * config.h.in:
29345         added HAVE_KERBEROS
29346         [fcc5be550e65]
29347
29348         * tgetpass.c:
29349         added KERBEROS support (long passwords)
29350         [303ba6924dd2]
29351
29352         * check.c:
29353         added kerberos support
29354         [e40afe98fc1d]
29355
29356 1995-06-03  Todd C. Miller  <Todd.Miller@courtesan.com>
29357
29358         * sudo.h:
29359         added MODE_BACKGROUND
29360         [9b483c932016]
29361
29362         * sudo.man:
29363         escaped dashes added -b option
29364         [62e84f1a7714]
29365
29366         * sudo.c:
29367         added -b option
29368         [7e78aaefeb95]
29369
29370         * check.c:
29371         added crypt() for osf/1 3.x enhanced secuiry
29372         [e9aa5abdb7d5]
29373
29374         * configure.in:
29375         now check for -lcrypt
29376         [5cb9c67e9fa2]
29377
29378         * interfaces.c:
29379         added ENXIO like EADDRNOTAVAIL
29380         [74223bb1ba75]
29381
29382 1995-05-08  Todd C. Miller  <Todd.Miller@courtesan.com>
29383
29384         * configure.in:
29385         now emulate getwd(), not getcwd()
29386         [3e5439d9a5f4]
29387
29388         * sudo.c:
29389         getcwd() -> getwd()
29390         [6392a96a658e]
29391
29392         * getwd.c:
29393         getcwd -> getwd
29394         [1b0ab9bae11e]
29395
29396 1995-05-02  Todd C. Miller  <Todd.Miller@courtesan.com>
29397
29398         * ins_2001.h, ins_classic.h, ins_goons.h:
29399         Initial revision
29400         [86db60d8cf00]
29401
29402         * insults.h:
29403         broke out insults into separate include files
29404         [0a01993bd38a]
29405
29406         * OPTIONS, options.h:
29407         added GOONS
29408         [e283203c6515]
29409
29410         * Makefile.in:
29411         added ins_2001.h ins_classic.h ins_goons.h
29412         [2a39cd6a4cd2]
29413
29414         * Makefile.in, version.h:
29415         ++version
29416         [05ebf4f5e41a]
29417
29418         * visudo.c:
29419         moved signal handler setup to setup_signals()
29420         [3dd976c04540]
29421
29422         * sudo.h:
29423         added load_interfaces()
29424         [af2d473b09e2]
29425
29426         * sudo.c:
29427         moved load_interfaces to interfaces.c
29428         [5c8c138e5d4c]
29429
29430         * parse.yacc:
29431         added clearaliases
29432         [aeb4ff301daa]
29433
29434         * OPTIONS, options.h:
29435         added FAST_MATCH
29436         [f49ea3d1b525]
29437
29438         * parse.lex:
29439         now uses clearaliases variable
29440         [a2dda415bf61]
29441
29442         * interfaces.c:
29443         Initial revision
29444         [a1990e3f5c69]
29445
29446         * Makefile.in:
29447         added interfaces.[co]
29448         [1e8e5984de97]
29449
29450         * testsudoers.c:
29451         now uses ip addrs and netmasks via load_interfaces()
29452         [54b8f7a6835e]
29453
29454         * sudo.c:
29455         now remove IFS instead of setting to "sane" value
29456         [ce7eec9f115e]
29457
29458 1995-05-01  Todd C. Miller  <Todd.Miller@courtesan.com>
29459
29460         * parse.c:
29461         added FAST_MATCH
29462         [816d4f5fe81a]
29463
29464 1995-04-30  Todd C. Miller  <Todd.Miller@courtesan.com>
29465
29466         * Makefile.in:
29467         sudo_goodpath.c-> goodpath.c
29468         [a5072c4e1de2]
29469
29470         * sudo.c:
29471         added Andy's new ISC changes
29472         [caa6bbee358e]
29473
29474 1995-04-14  Todd C. Miller  <Todd.Miller@courtesan.com>
29475
29476         * OPTIONS:
29477         added a sentence to SECURE_PATH info
29478         [cad6e1569d15]
29479
29480         * BUGS:
29481         added one
29482         [4b35cf699a83]
29483
29484         * CHANGES:
29485         updated
29486         [5fded9dc62f0]
29487
29488         * RUNSON:
29489         updated
29490         [33cb993cfd39]
29491
29492 1995-04-13  Todd C. Miller  <Todd.Miller@courtesan.com>
29493
29494         * RUNSON:
29495         updated for beta3
29496         [a05dc6a91995]
29497
29498         * Makefile.in, version.h:
29499         ++version
29500         [54aaf3fadc75]
29501
29502         * aclocal.m4:
29503         sendmail is now looked for in \17/usr/ucblib
29504         [231ac1a4662f]
29505
29506         * sudo.c:
29507         fixed indentation
29508         [fb137400c8c2]
29509
29510         * aclocal.m4:
29511         fixed a typo
29512         [e03f1acc468b]
29513
29514         * sudo.c:
29515         updated ISC mods
29516         [070290d4754b]
29517
29518         * configure.in:
29519         added unixware case
29520         [e90250bae0d9]
29521
29522         * check.c:
29523         user_is_exempt is no longer hidden
29524         [1a341765b8af]
29525
29526         * RUNSON:
29527         updated
29528         [a9c4898b26dd]
29529
29530         * aclocal.m4:
29531         isc and riscos changes
29532         [98b5d86585d1]
29533
29534         * OPTIONS:
29535         added NOTE about new interaction of EXEMPTGROUP and SECURE_PATH
29536         [e1ecc464ce4b]
29537
29538         * Makefile.in:
29539         fixed a typo and added testsudoers stuff
29540         [435d60e163dc]
29541
29542         * testsudoers.c:
29543         Initial revision
29544         [6ce14a448662]
29545
29546 1995-04-12  Todd C. Miller  <Todd.Miller@courtesan.com>
29547
29548         * parse.yacc:
29549         applied fixed patch from Chris
29550         [cd6144203d13]
29551
29552 1995-04-11  Todd C. Miller  <Todd.Miller@courtesan.com>
29553
29554         * Makefile.in:
29555         fixed a typo
29556         [34f8a54ba041]
29557
29558         * parse.yacc:
29559         added a set of braces for bison
29560         [f0e43b938914]
29561
29562         * parse.yacc:
29563         merged in Chris' changes to dekludge the parser.
29564         [82d6e373ab1c]
29565
29566         * logging.c:
29567         send_mail() was calling find_path() which is wrong since find_path()
29568         stores cmnd in a static var. Anyhow, it doesn't make much sense
29569         since MAILER should always be fully qualified
29570         [6eae6a0b8098]
29571
29572 1995-04-10  Todd C. Miller  <Todd.Miller@courtesan.com>
29573
29574         * sample.sudoers:
29575         added User_Alias stuff
29576         [aaba8c8e918d]
29577
29578         * aclocal.m4:
29579         SUDO_NEXT now looks for /usr/lib/NextStep/software_version
29580         [52bd81f34b32]
29581
29582         * RUNSON:
29583         added DEC UNIX 3.0 w/ gcc
29584         [7daf570775b5]
29585
29586         * visudo.c:
29587         Exit was being used in places where exit should be used
29588         [6026a89c07ed]
29589
29590         * sudoers:
29591         added "User alias specification"
29592         [a487b6e234f8]
29593
29594         * parse.yacc:
29595         fixed probs caused by making nslots and naliases a size_t
29596         [0be919384f3f]
29597
29598         * RUNSON:
29599         added KSR, upped rev to 1.3.1b2
29600         [ce04ee6faadf]
29601
29602         * logging.c, parse.yacc:
29603         1024 -> BUFSIZ
29604         [cd6dda45fa11]
29605
29606         * parse.yacc:
29607         void * -> VOID * naliases and nslots are now size_t to appease
29608         lsearch on 64-bit machines
29609         [bf2f807c0dc1]
29610
29611 1995-04-09  Todd C. Miller  <Todd.Miller@courtesan.com>
29612
29613         * TODO:
29614         did a bunch of things and added a bunch :-)
29615         [42afd957b829]
29616
29617         * PORTING:
29618         updated
29619         [972f95c85776]
29620
29621         * visudo.man:
29622         closer to BSD manpage style
29623         [07ae88f50325]
29624
29625         * sudo.man:
29626         closer to standard BSD man format
29627         [372c28dcc135]
29628
29629         * compat.h, config.h.in, emul/search.h, insults.h, options.h,
29630         pathnames.h.in, sudo.h, version.h:
29631         added RCS id
29632         [c0ec90b81002]
29633
29634         * sudo.h:
29635         removed crufty #defines that are no longer used
29636         [35e2b4b477f0]
29637
29638         * BUGS:
29639         fixed a bug
29640         [5bb3e1bee85e]
29641
29642         * sudo.man:
29643         updated based on sudo changes
29644         [e65de1cae438]
29645
29646         * parse.yacc:
29647         now allow ALL keyword in User_Aliases now allow ALL keyword as well
29648         as a NAME or ALIAS
29649         [1fb31404dd0f]
29650
29651         * CHANGES:
29652         updated
29653         [b24018ac610b]
29654
29655         * sudo.c:
29656         now sets SUDO_COMMAND and SUDO_GID envariables.
29657         [e9d791557fb7]
29658
29659         * aclocal.m4:
29660         fixed bug with full void impl check
29661         [35715301023c]
29662
29663         * parse.yacc:
29664         fixed User_Alias supoprt
29665         [4c30dfbaaa07]
29666
29667         * parse.yacc:
29668         added stubs for User_Alias support
29669         [f4afbd247edf]
29670
29671         * sudo.c:
29672         now sets removes # bogus interfaces from num_interfaces
29673         [6f077fac9ab1]
29674
29675         * parse.lex:
29676         added User_Alias support
29677         [bc7997e5df85]
29678
29679 1995-04-08  Todd C. Miller  <Todd.Miller@courtesan.com>
29680
29681         * Makefile.in:
29682         removed extraneous TODO
29683         [bc87a3b14d6d]
29684
29685 1995-04-07  Todd C. Miller  <Todd.Miller@courtesan.com>
29686
29687         * visudo.c:
29688         ntwk_matches -> addr_matches
29689         [475044e288b8]
29690
29691         * parse.yacc:
29692         ntwk_matches -> addr_matches
29693         [dd1f4093fd2d]
29694
29695         * parse.c:
29696         ntwk_matches -> addr_matches now use inet_addr() not inet_network()
29697         (which expects octet boundaries) fixes for OSF (sizeof(int) !=
29698         sizeof(long))
29699         [acd2f556940f]
29700
29701         * sudo.c:
29702         took out debugging info
29703         [044023063eca]
29704
29705         * aclocal.m4:
29706         OS was being set to unknown before non-uname based host checks.
29707         This caused no checks to happen since $OS was not zero-length.
29708         [335a7267479d]
29709
29710         * sudo.c:
29711         fixed loading of interfaces struct still has debugging info in
29712         though
29713         [2d1a18998c1e]
29714
29715         * parse.c:
29716         fixed typo
29717         [175674a3a9fa]
29718
29719 1995-04-06  Todd C. Miller  <Todd.Miller@courtesan.com>
29720
29721         * Makefile.in:
29722         ++version
29723         [55d191b5daa3]
29724
29725         * version.h:
29726         ++
29727         [d7d1f115696a]
29728
29729         * visudo.c:
29730         removed extraneous extern decl of "top
29731         [50355621047d]
29732
29733         * visudo.c:
29734         now zeros "top"
29735         [4e683210345b]
29736
29737         * parse.yacc:
29738         removed parser_cleanup (no need for it now)
29739         [afa59f222b6c]
29740
29741         * parse.lex:
29742         now calls reset_aliases() directly
29743         [3a23cbd60fc0]
29744
29745 1995-04-04  Todd C. Miller  <Todd.Miller@courtesan.com>
29746
29747         * OPTIONS:
29748         added a sentence to SECURE_PATH description
29749         [c5bf75b85af0]
29750
29751         * parse.c:
29752         fixed my stupid bug where I used NAMLEN on something I wanted to
29753         just get the name from. argh.
29754         [111f460f6540]
29755
29756 1995-04-03  Todd C. Miller  <Todd.Miller@courtesan.com>
29757
29758         * lsearch.c:
29759         fixed argument order of memmove() that i hosed when converting from
29760         bcopy(). arghh.
29761         [2f5336045c8b]
29762
29763         * Makefile.in:
29764         finally fixed DISTFILES line
29765         [a1b419e73a63]
29766
29767         * Makefile.in:
29768         tabs -> spaces
29769         [280fb03e5764]
29770
29771         * Makefile.in:
29772         added missing files to DISTFILES
29773         [991fc1cd2263]
29774
29775         * Makefile.in:
29776         SUPPORTED -> RUNSON
29777         [7580e65b05fb]
29778
29779 1995-04-01  Todd C. Miller  <Todd.Miller@courtesan.com>
29780
29781         * TODO:
29782         updated
29783         [fe764a29c1cc]
29784
29785         * RUNSON:
29786         updated for pl5b1 release
29787         [aefc35bd2291]
29788
29789         * BUGS, TODO:
29790         updated
29791         [8f0ea249b687]
29792
29793         * check.c:
29794         fixed bug where if you hit return at first sudo prompt it would
29795         still log as a failure
29796         [24539c854692]
29797
29798         * CHANGES:
29799         updated
29800         [251cc7b3ede4]
29801
29802         * aclocal.m4:
29803         better test for bogus void * implementation
29804         [efe23180cb88]
29805
29806         * logging.c:
29807         added PASSWORDS_NOT_CORRECT
29808         [bd12c73f83f7]
29809
29810         * check.c:
29811         added PASSWORDS_NOT_CORRECT stuff]
29812         [90de391a979f]
29813
29814         * sudo.h:
29815         added PASSWORDS_NOT_CORRECT
29816         [727fbeb76fc5]
29817
29818         * tgetpass.c:
29819         moved pathnames.h
29820         [4f910e5a8df7]
29821
29822         * sudo.c:
29823         removed some unused vars and fixed up uid2str
29824         [70e92c7f9076]
29825
29826         * putenv.c:
29827         moved compat.h
29828         [b271091586f6]
29829
29830         * getcwd.c, getwd.c:
29831         added pathnames.h
29832         [6f25218f133f]
29833
29834 1995-03-31  Todd C. Miller  <Todd.Miller@courtesan.com>
29835
29836         * parse.yacc:
29837         fixed a typo I introduced in the last checkin :-(
29838         [62c3af75c4fe]
29839
29840         * parse.lex:
29841         can't have #ifdef's where N is defined so just do this the broken
29842         way for AIX
29843         [c5648a5594e4]
29844
29845         * parse.yacc:
29846         better hack from Chris (but still a hack)
29847         [6b6d8aed93f3]
29848
29849         * parse.lex:
29850         stupid hack for broken aix lex
29851         [efc3f9e5280e]
29852
29853         * tgetpass.c:
29854         now includes compat.h \ 6
29855         [401822173f77]
29856
29857         * visudo.c:
29858         now includes fcntl.h
29859         [63865c2f8ac6]
29860
29861         * compat.h:
29862         added FD_SET and FD_ZERO for 4.2BSD
29863         [00c5597c0bb0]
29864
29865         * parse.yacc:
29866         dirty hack to fix parser bug. i don't really like this but it works
29867         for now...
29868         [5b8bbdc81569]
29869
29870         * sudo.c:
29871         uid2str is now static like the prototype says
29872         [f2a97b5cb870]
29873
29874 1995-03-30  Todd C. Miller  <Todd.Miller@courtesan.com>
29875
29876         * CHANGES, SUPPORTED, TODO, TROUBLESHOOTING:
29877         updated
29878         [6f79c3e92716]
29879
29880         * RUNSON:
29881         Initial revision
29882         [12a09ef9e884]
29883
29884         * sudo.c:
29885         check_sudoers now returns an error code and sudo calls inform_user
29886         and log_error based on the return value.
29887         [340eca188d9a]
29888
29889         * logging.c, sudo.h:
29890         added entries for new errors
29891         [6050d8542e1f]
29892
29893         * parse.c:
29894         now set uid to that of SUDOERS_OWNER while parsing sudoers file
29895         [3683c42bc9b0]
29896
29897         * Makefile.in:
29898         took out testsudoers \ 6
29899         [65317d49db48]
29900
29901         * sudo.c:
29902         now explicately checks that it is setuid root
29903         [2fe1be60ef6a]
29904
29905         * sudo.c:
29906         If a user has no passwd entry sudo would segv (writing to a garbage
29907         pointer). Now allocate space before writing :-)
29908         [d08e7eb5e5ef]
29909
29910         * configure.in:
29911         reordered AC_CHECK_FUNCS
29912         [4c82e56c6f4f]
29913
29914         * config.h.in:
29915         fixed memset macro
29916         [77ede6b714ab]
29917
29918         * tgetpass.c, visudo.c:
29919         bzero -> memset
29920         [1a005bb322c8]
29921
29922         * logging.c:
29923         bzero -> memset when a parse error is logged the line number of the
29924         error is now logged too
29925         [a42d68047723]
29926
29927         * INSTALL:
29928         added Sunos to blurb about c2 security
29929         [af750a1d131e]
29930
29931         * configure.in:
29932         added a SUN4 define for C2 security
29933         [6ad5b23a3eb0]
29934
29935         * config.h.in:
29936         bcopy -> memmove bzero -> memset
29937         [5494460c8464]
29938
29939         * lsearch.c:
29940         bcopy -> memmove char * -> VOID *
29941         [a15f5c316e16]
29942
29943         * check.c:
29944         added support for sunos with C2 security
29945         [03fea5bb21e6]
29946
29947         * OPTIONS, options.h:
29948         reordered
29949         [1686265af3e1]
29950
29951         * pathnames.h.in:
29952         _PATH_SUDO_LOGFILE now set based on configure
29953         [5867b58e4a04]
29954
29955         * configure.in:
29956         added SUDO_LOGFILE and SUDO_TYPE_SIZE_T
29957         [1984d9fd1b5c]
29958
29959         * config.h.in:
29960         added _SUDO_PATH_LOGFILE
29961         [dd3eebe62580]
29962
29963         * aclocal.m4:
29964         added SUDO_LOGFILE to find where to put sudo.log added
29965         SUDO_CHECK_TYPE (just AC_CHECK_TYPE but checks unistd.h too) added
29966         SUDO_TYPE_SIZE_T (calls SUDO_CHECK_TYPE)
29967         [c589a515a99a]
29968
29969 1995-03-29  Todd C. Miller  <Todd.Miller@courtesan.com>
29970
29971         * TROUBLESHOOTING:
29972         Initial revision
29973         [f42f1baba3a8]
29974
29975         * sudo.c:
29976         now do set_perms(PERM_ROOT) before the getpwuid() in load_global()
29977         to work around a problem is trusted hpux shadow passwords. yuck.
29978         [ae1f13b54687]
29979
29980         * parse.yacc:
29981         backed out a change in malloc/realloc
29982         [ab868db0ad69]
29983
29984         * parse.yacc:
29985         now include stdlib.h
29986         [957eef0631eb]
29987
29988         * visudo.c:
29989         now do an freopen() of the stmp file so that yyin will always point
29990         to the same thing. This is important for flex since we are doing a
29991         YY_NEWFILE
29992         [44558922fd3e]
29993
29994         * parse.yacc:
29995         replaced yywrap() with parser_cleanup() since yywrap() needs to be
29996         in parse.lex to be able to use YY_NEW_FILE. sigh.
29997         [12dd09921074]
29998
29999         * parse.lex:
30000         now have a rule that matches anything that doesn't match an
30001         explicite rule. well, you know what i mean (. matches anything not
30002         yet matched). However, this means that there is input still queued
30003         up so we need to do a YY_NEW_FILE; in yywrap. So, yywrap has moved
30004         into parse.lex and it calls parser_cleanup() which is most of the
30005         old yywrap() sigh.
30006         [7f4042bc48d6]
30007
30008         * SUPPORTED:
30009         no longer used
30010         [8f220be4da94]
30011
30012         * getcwd.c, getwd.c:
30013         moved compat.h to be the last include file
30014         [9f3a65e2d485]
30015
30016         * parse.yacc:
30017         fixed type of aliascmp() args
30018         [1c27eb989bdf]
30019
30020         * find_path.c:
30021         NULL -> '\0'
30022         [5c8d8cf1692e]
30023
30024         * parse.yacc:
30025         added casts to lfind and lsearch args for irix
30026         [61027ddeecf8]
30027
30028         * Makefile.in:
30029         bsdinstall -> install-sh
30030         [61de6612c5a5]
30031
30032         * INSTALL:
30033         added info about make realclean
30034         [29c6324d727f]
30035
30036         * Makefile.in:
30037         updated VERSION added dependencies for visudo.cat
30038         [09077d7229d4]
30039
30040         * version.h:
30041         -> pl5b1
30042         [5d21c7ad1a41]
30043
30044         * sudo.c:
30045         took out -l
30046         [fc1478d81b38]
30047
30048         * Makefile.in:
30049         now there is a real visudo.man and visudo.cat
30050         [58aeac43a6dd]
30051
30052         * sudo.man:
30053         took out visudo stuff
30054         [4a6ac4393343]
30055
30056         * visudo.man:
30057         Initial revision
30058         [cba348843db8]
30059
30060         * parse.c, parse.lex, parse.yacc:
30061         updated copyright
30062         [ffa16b70944a]
30063
30064         * README:
30065         updated for pl5
30066         [a26e423e9e5f]
30067
30068         * sudo.man:
30069         updated Nieusma & Hieb email addresses
30070         [f0083e71989d]
30071
30072         * INSTALL:
30073         updated to include options.h and OPTIONS
30074         [ee59e2b76c94]
30075
30076         * CHANGES, TODO:
30077         updated
30078         [51e011ad5220]
30079
30080         * BUGS:
30081         eliminated bug #1 (yay)
30082         [e7e88515494e]
30083
30084         * configure.in:
30085         sunos no longer gets linked statically
30086         [2e5b3ff3108f]
30087
30088 1995-03-28  Todd C. Miller  <Todd.Miller@courtesan.com>
30089
30090         * parse.lex:
30091         prototype now uses __P()
30092         [68ecdcab4c70]
30093
30094         * parse.lex:
30095         make fill() non-ansi
30096         [d6509972260b]
30097
30098         * parse.c:
30099         made -v (validate) work
30100         [13c9d520638c]
30101
30102         * logging.c:
30103         now gives host
30104         [f04859cdba5a]
30105
30106         * find_path.c:
30107         don't check for execute/statable if fq or relative path given
30108         [4bbe851f3973]
30109
30110         * parse.c:
30111         added a cast
30112         [345c308f72f3]
30113
30114         * visudo.c:
30115         now include ctype.h for islower and tolower macros
30116         [582c0aa332d5]
30117
30118         * goodpath.c:
30119         moved _S_IFMT & _S_ISREG to compat.h
30120         [828e4ca4e7b4]
30121
30122         * sudo.c:
30123         moved a set of parens
30124         [5783474ecf37]
30125
30126         * strdup.c:
30127         now include compat.h
30128         [75e2036b94af]
30129
30130         * emul/search.h:
30131         void * -> VOID *
30132         [cedcfaf04161]
30133
30134         * parse.yacc:
30135         now cast malloc & realloc return vals added search for HAVE_LSEARCH
30136         now use strcmp if no strcasecmp available
30137         [d6a42bc3d4ae]
30138
30139         * lsearch.c:
30140         void * -> VOID *
30141         [886adc44f607]
30142
30143         * config.h.in:
30144         removed HAVE_FLEX added VOID added HAVE_DIRENT_H, HAVE_SYS_NDIR_H,
30145         HAVE_SYS_DIR_H, HAVE_NDIR_H added HAVE_LSEARCH
30146         [3b50d7fb4349]
30147
30148         * compat.h:
30149         added _S_IFMT, _S_IFREG, and S_ISREG
30150         [73d506c7d53c]
30151
30152         * aclocal.m4:
30153         took out SUDO_PROG_INSTALL 1.x to 2.x changes added echo and results
30154         to most SUDO_* macros
30155         [8442155f5936]
30156
30157         * Makefile.in:
30158         no more -I.
30159         [63462f195bd4]
30160
30161         * configure.in:
30162         various 1.x ro 2.x autoconf changes now check for strcasecmp now use
30163         AC_INSTALL_PROG instead of custom one added check for fully woorking
30164         void implementation
30165         [5ac6b6e6230f]
30166
30167         * Makefile.in:
30168         added lsearch & search.h visudo links into $(LIBOBJS)
30169         [bc119cda4598]
30170
30171         * aclocal.m4:
30172         partial 1.x to 2.x changes added SUDO_FULL_VOID
30173         [1194d01fa5c5]
30174
30175         * visudo.c:
30176         whatnow_help was prototyped to be static be was not declared as
30177         such
30178         [0f85489dd426]
30179
30180         * configure.in:
30181         autoconf 2.x changes took out HAVE_FLEX (no longer used) added check
30182         for dirent/dir/ndir.h
30183         [7408f3854948]
30184
30185         * parse.c:
30186         now use groovy gnu autoconf macro AC_HEADER_DIRENT
30187         [e465db9f5dfa]
30188
30189         * getcwd.c, getwd.c:
30190         MAXPATHLEN -> MAXPATHLEN+1
30191         [714d87424e21]
30192
30193         * emul/search.h, lsearch.c:
30194         Initial revision
30195         [55d79482c535]
30196
30197 1995-03-27  Todd C. Miller  <Todd.Miller@courtesan.com>
30198
30199         * parse.yacc:
30200         eliminated bison warnings
30201         [61ca0a96da22]
30202
30203         * parse.lex:
30204         added missing case
30205         [6be0f849747c]
30206
30207         * visudo.c:
30208         now iincludes signal.h
30209         [221e0fcc144f]
30210
30211         * parse.yacc:
30212         only clear data structures on a parse error
30213         [7b1c0f1a4527]
30214
30215         * visudo.c:
30216         whatnow() now gives help on invalid input
30217         [e5a4cd88c587]
30218
30219         * visudo.c:
30220         added a whatnow() function (sort of like mh)
30221         [932d9b145f1c]
30222
30223         * parse.yacc:
30224         kill_aliases -> reset_aliases yywrap() now cleans up by calling
30225         reset_aliases() and clearing top took reset stuff out of yyerror()
30226         since it doesn't beling there (and doesn't work anyway). errorlineno
30227         is now initially set to -1 so we can set it to the first error that
30228         occurrs (it was getting set to the last)
30229         [2f71f95a974c]
30230
30231         * parse.lex:
30232         added a void cast
30233         [18ae6042dce4]
30234
30235         * visudo.c:
30236         rewrote from scratch based on 4.3BSD vipw.c
30237         [2f6814f18576]
30238
30239 1995-03-26  Todd C. Miller  <Todd.Miller@courtesan.com>
30240
30241         * sudo.c, sudo.h:
30242         removed ocmnd
30243         [a31735f41ad4]
30244
30245         * sudo.h:
30246         no more sudo_realpath() and find_path() changed params
30247         [8e85c3b39159]
30248
30249         * sudo.c:
30250         find_path() changed since no more realpath()
30251         [b25366c7f2ee]
30252
30253         * parse.yacc:
30254         on error, errorlineno is set to the line where the error occurred
30255         added kill_aliases() to free the aliases struct now clean up in
30256         yyerror() so we can reparse cleanly
30257         [2342f578c27a]
30258
30259         * options.h, parse.c:
30260         no more USE_REALPATH
30261         [cfc59babeaff]
30262
30263         * logging.c:
30264         changed to use new find_path()
30265         [91c7a38e7751]
30266
30267         * find_path.c:
30268         removed all the realpath() stuff
30269         [cc21a43a8562]
30270
30271         * Makefile.in:
30272         sudo_realpath.c -> sudo_goodpath.c
30273         [03a9b1ddec2f]
30274
30275         * visudo.c:
30276         now works correctly with utk parser
30277         [08aa554a0ce8]
30278
30279         * goodpath.c:
30280         Initial revision
30281         [1ea607e1ffb2]
30282
30283         * sudo_realpath.c:
30284         eliminated a compiler warning
30285         [198bcccc55b6]
30286
30287         * sudo.c:
30288         elinated compiler warning
30289         [e2384f9a878b]
30290
30291         * sudo_realpath.c:
30292         added sudo_goodpath()
30293         [43878c4cc540]
30294
30295         * sudo.h:
30296         added prototype for sudo_goodpath
30297         [23e8627a2265]
30298
30299         * parse.c:
30300         added support for /sys/dir.h
30301         [eca897087741]
30302
30303         * options.h:
30304         USE_REALPATH turned off
30305         [620ac8b63d85]
30306
30307         * find_path.c:
30308         added calls to sudo_goodpath()
30309         [ad170904fbcd]
30310
30311         * configure.in:
30312         added check for dirent.h
30313         [7964a8c26855]
30314
30315         * config.h.in:
30316         added HAVE_DIRENT_H
30317         [1f785fec7e19]
30318
30319         * configure.in:
30320         added in linux shadow pass stuff \ 6
30321         [e585a5785f50]
30322
30323 1995-03-24  Todd C. Miller  <Todd.Miller@courtesan.com>
30324
30325         * visudo.c:
30326         added back host, user, cmnd, parse_error
30327         [0ec19f3d64f4]
30328
30329         * visudo.c:
30330         added in utk changes plus some minor cosmetic changes
30331         [c5c1921c8a58]
30332
30333         * sudo.c, sudo_realpath.c:
30334         added void casts for printf's
30335         [9c6ff11c0082]
30336
30337         * options.h:
30338         added a define of USE_REALPATH
30339         [db3711c9efc5]
30340
30341         * configure.in:
30342         there is no more visudoers/Makefile
30343         [36e1bc1f78d0]
30344
30345         * Makefile.in:
30346         added in utk changes (visudo is now built from the toplevel)
30347         [76203d4b345d]
30348
30349         * find_path.c:
30350         added (void) casts to printf's
30351         [dd5cb1e060ac]
30352
30353         * parse.c, parse.lex, parse.yacc, sudo.h, sudo_realpath.c:
30354         merged in utk changes
30355         [35563307fd8e]
30356
30357 1995-03-23  Todd C. Miller  <Todd.Miller@courtesan.com>
30358
30359         * find_path.c:
30360         now check to see that what we are trying to run is a file (or a link
30361         to a file, we do a stat(2) so there is no diff)
30362         [05889c4bcace]
30363
30364 1995-03-13  Todd C. Miller  <Todd.Miller@courtesan.com>
30365
30366         * CHANGES:
30367         updated
30368         [3e8047bb26fb]
30369
30370         * Makefile.in:
30371         aclocal.m4 -> acsite.m4 make realclean updated for new autoconf \ 6
30372         [0bdbaa7c4c7d]
30373
30374         * sudo.man:
30375         added myself as maintainer
30376         [77a9d75aab84]
30377
30378 1995-02-17  Todd C. Miller  <Todd.Miller@courtesan.com>
30379
30380         * sudo.c:
30381         changed setegid -> setgid
30382         [7f4788d73b6f]
30383
30384 1995-02-06  Todd C. Miller  <Todd.Miller@courtesan.com>
30385
30386         * configure.in:
30387         fixed the test for irix 5.x to skip bad libs
30388         [bfef896de013]
30389
30390         * aclocal.m4:
30391         now initialize OS and OSREV
30392         [cc302756e440]
30393
30394 1995-01-27  Todd C. Miller  <Todd.Miller@courtesan.com>
30395
30396         * configure.in:
30397         irix5 changes
30398         [ac985b23f5f2]
30399
30400         * configure.in:
30401         AC_WITH -> AC_ARG_WITH changes other misc changes for autoconf 2.1
30402         compatibility
30403         [0cf8c92a06d7]
30404
30405 1995-01-19  Todd C. Miller  <Todd.Miller@courtesan.com>
30406
30407         * visudo.c:
30408         use YY_NEW_FILE, not yyrestart since OSF flex doesn't do the righ
30409         thing wrt yyrestart (grrrr)
30410         [18e8eabfbb82]
30411
30412 1995-01-16  Todd C. Miller  <Todd.Miller@courtesan.com>
30413
30414         * Makefile.in:
30415         added visudoers/compat.h to DISTFILES
30416         [db23b574b034]
30417
30418         * configure.in:
30419         fixed an echo
30420         [7cbc0462b89d]
30421
30422         * sudo.c:
30423         added ocmnd declaration adjusted for find_path()'s new parameters
30424         [d929cd156474]
30425
30426         * sudo.h:
30427         added ocmnd extern adjusted find_path() prototype
30428         [e0004daf5d3c]
30429
30430         * parse.c:
30431         cmndcmp() now takes 3 arguments and checks against the qualified as
30432         well as the unqualified pathname. more code that should use
30433         cmndcmp() but did not, now does
30434         [6f70a8c17bee]
30435
30436         * options.h:
30437         added to a comment
30438         [7a78680426b2]
30439
30440         * logging.c:
30441         changed to use new find_path() parameter passing
30442         [840981d30db4]
30443
30444         * find_path.c:
30445         find_path() now takes 2 copyout parameters (one for the qualified
30446         pathname and one for the unqualified pathname). The third parameter
30447         may be NULL.
30448         [851503b005e9]
30449
30450         * configure.in:
30451         no longer munge pathnames.h
30452         [427d8796c5a9]
30453
30454         * pathnames.h.in:
30455         changed _PATH_* to use _SUDO_PATH_* (which are defined in config.h)
30456         as a result, pathnames.h does not need to be run through configure
30457         and the user can override the configured values easily.
30458         [2e378f2ebe88]
30459
30460         * config.h.in:
30461         added _SUDO_PATH_* entries
30462         [0857de7cebab]
30463
30464         * aclocal.m4:
30465         _PATH* -> _SUDO_PATH_*
30466         [7601193f56cc]
30467
30468         * Makefile.in:
30469         updated DISTFILES and HDRS .o's now depend on config.h
30470         [39d8601965cf]
30471
30472 1995-01-13  Todd C. Miller  <Todd.Miller@courtesan.com>
30473
30474         * compat.h:
30475         removed extraneous #endif
30476         [27d4c5f2ce7e]
30477
30478         * aclocal.m4:
30479         added SUDO_PROG_MV
30480         [76dda3bdd816]
30481
30482         * configure.in:
30483         added SUDO_PROG_MV added riscos and isc os types took out
30484         -DSHORT_MESSAGE from --with-csops since it is now the default
30485         [68c206ad976e]
30486
30487         * sudo.c:
30488         move the include of id.h to compat.h now includes options.h
30489         [45a1eaafb3a8]
30490
30491         * sudo.h:
30492         moved compatibility #defines to compat.h
30493         [0eee27057698]
30494
30495         * pathnames.h.in:
30496         added _PATH_MV
30497         [e830797ab320]
30498
30499         * config.h.in:
30500         move __P to compat.h
30501         [188e12e0ba93]
30502
30503         * getcwd.c, getwd.c, putenv.c:
30504         now includes compat.h
30505         [c72cb6d73981]
30506
30507         * compat.h:
30508         Initial revision
30509         [d4d2f359ae03]
30510
30511 1995-01-12  Todd C. Miller  <Todd.Miller@courtesan.com>
30512
30513         * sudo.h:
30514         pull user-configurable stuff out and put in options.h
30515         [ef929467b070]
30516
30517 1995-01-11  Todd C. Miller  <Todd.Miller@courtesan.com>
30518
30519         * parse.lex, parse.yacc, visudo.c:
30520         now includes options.h
30521         [e36d7c82add1]
30522
30523         * check.c, find_path.c, logging.c, parse.c, sudo_realpath.c,
30524         sudo_setenv.c:
30525         now includes options.h
30526         [f186ba03de07]
30527
30528         * Makefile.in:
30529         added visudoers/options.h
30530         [e5350c476494]
30531
30532         * OPTIONS, options.h:
30533         Initial revision
30534         [9b6b5001e318]
30535
30536         * Makefile.in:
30537         added OPTIONS and options.h
30538         [25448341e16a]
30539
30540         * logging.c:
30541         changed #ifdef's to use LOGGING and SLOG_SYSLOG/SLOG_FILE
30542         [5dd6385dd1d3]
30543
30544         * check.c, sudo.h:
30545         changed PASSWORD_TIMEOUT to minutes
30546         [0ec6aab98738]
30547
30548 1994-12-17  Todd C. Miller  <Todd.Miller@courtesan.com>
30549
30550         * visudo.c:
30551         now only do Editor +line_num if line_num != 0
30552         [b69f04b5e3c7]
30553
30554 1994-12-16  Todd C. Miller  <Todd.Miller@courtesan.com>
30555
30556         * visudo.c:
30557         now use mv if rename(2) fails
30558         [83210dca1bab]
30559
30560         * BUGS:
30561         added a visudo bug
30562         [d61a806f9aa7]
30563
30564         * check.c:
30565         expanded comment
30566         [641f2cba94cb]
30567
30568 1994-11-12  Todd C. Miller  <Todd.Miller@courtesan.com>
30569
30570         * check.c:
30571         fixed user_is_exempt to return 0 if EXEMPTGROUP is not set
30572         [7a11135039a8]
30573
30574 1994-11-10  Todd C. Miller  <Todd.Miller@courtesan.com>
30575
30576         * sudo.c:
30577         added mips & isc support
30578         [e258dc053119]
30579
30580         * parse.c:
30581         added support for non-root owned sudoers file
30582         [fea07e65a0fc]
30583
30584         * check.c:
30585         added exempt group support
30586         [928fb4bd9ad5]
30587
30588         * sudo.h:
30589         added set_perms() support added SUDOERS_OWNER so can have non-root
30590         own sudoers file added exempt group support added isc support
30591         [61c578d31fc1]
30592
30593         * visudo.c:
30594         now copy sudoers to temp file via read/write (not stdio) now chown
30595         new sudoers file to SUDOERS_OWNER
30596         [a5176c59df70]
30597
30598 1994-11-08  Todd C. Miller  <Todd.Miller@courtesan.com>
30599
30600         * configure.in:
30601         added skey support
30602         [35a8d2fabdb7]
30603
30604         * sudo_realpath.c:
30605         be_* -> setperms()
30606         [a1631d686e1c]
30607
30608         * sudo.h:
30609         fixed typo added set_perms support added skey support added
30610         seteuid()/setegid() emulation for AIX
30611         [c0c8d6771406]
30612
30613         * sudo.c:
30614         be_* -> setperms() now check to make sure sudoers file is owned by
30615         root nread/write by only root
30616         [13ab1e261f1a]
30617
30618         * logging.c, parse.c:
30619         be_* -> setperms()
30620         [21499d845c8f]
30621
30622         * check.c:
30623         be_* -> set_perms() added skey support
30624         [df51b56871c1]
30625
30626 1994-11-06  Todd C. Miller  <Todd.Miller@courtesan.com>
30627
30628         * Makefile.in:
30629         ++version
30630         [3c1abbe4e43c]
30631
30632         * version.h:
30633         ++
30634         [1d2f9b540a95]
30635
30636 1994-10-21  Todd C. Miller  <Todd.Miller@courtesan.com>
30637
30638         * sudo.c:
30639         now sets IFS
30640         [eabbb41b9f08]
30641
30642         * insults.h:
30643         fixed typo
30644         [c7997f19216e]
30645
30646 1994-10-15  Todd C. Miller  <Todd.Miller@courtesan.com>
30647
30648         * config.h.in:
30649         added HAVE_SKEY
30650         [da948ec4186b]
30651
30652 1994-10-04  Todd C. Miller  <Todd.Miller@courtesan.com>
30653
30654         * CHANGES:
30655         updated
30656         [f4b55ab007ea]
30657
30658         * Makefile.in:
30659         ++version
30660         [0489068b8c95]
30661
30662         * version.h:
30663         ++
30664         [d189faedf423]
30665
30666         * sudo.c:
30667         now bail if ARgv[1] > MAXPATHLEN
30668         [0cea8ecc9dc2]
30669
30670         * configure.in:
30671         added function check for tcgetattr(3)
30672         [e03289b22c2f]
30673
30674         * config.h.in:
30675         only define HAVE_TERMIOS_H if you have tcgetattr(3)
30676         [757eab83d1a2]
30677
30678         * config.h.in:
30679         added check for tcgetattr
30680         [c5ae92715930]
30681
30682 1994-09-26  Todd C. Miller  <Todd.Miller@courtesan.com>
30683
30684         * CHANGES:
30685         updated
30686         [cbc419883108]
30687
30688 1994-09-22  Todd C. Miller  <Todd.Miller@courtesan.com>
30689
30690         * parse.lex:
30691         now only include unistd.h for linux
30692         [e9adeab95ef0]
30693
30694 1994-09-21  Todd C. Miller  <Todd.Miller@courtesan.com>
30695
30696         * Makefile.in:
30697         added visudo.8 generation
30698         [d6a3f0f887f8]
30699
30700         * configure.in:
30701         added -Wl,-bI:./aixcrypt.exp to aix flags
30702         [72594a21edcf]
30703
30704 1994-09-20  Todd C. Miller  <Todd.Miller@courtesan.com>
30705
30706         * BUGS:
30707         added one
30708         [9993a349e096]
30709
30710         * CHANGES:
30711         updated
30712         [297b31ec4cdd]
30713
30714         * README:
30715         added mailing list info
30716         [10372f94a2b2]
30717
30718         * parse.yacc:
30719         now use sudolineno instead of yylineno fixed bison warnings
30720         [25a83e62057b]
30721
30722         * configure.in:
30723         now use -no_library_replacement for osf don't make a static binary
30724         for hpux >= 9.0
30725         [1fa7b892f1a3]
30726
30727         * tgetpass.c:
30728         added string.h/strings.h inclusion
30729         [71faa98fc0a1]
30730
30731         * config.h.in:
30732         added ssize_t def
30733         [406284bd1ac0]
30734
30735         * parse.lex:
30736         added inclusion of string.h/strings.h
30737         [6985b1df5d09]
30738
30739         * aclocal.m4:
30740         fixed uname | sed (needed to quote the '[')
30741         [4cd2d3415c1a]
30742
30743         * parse.lex:
30744         replaced yylineno with sudolineno fixed bison syntax errors
30745         [0bd31a5fab26]
30746
30747         * visudo.c:
30748         changed yylineno to sudolineno since yylineno cannot be counted
30749         upon.
30750         [38c30104d0ae]
30751
30752         * TODO:
30753         updated
30754         [5d4746f1a752]
30755
30756         * parse.c:
30757         added code to support command listings
30758         [030172e133fd]
30759
30760         * sudo.c:
30761         added code for -l flag
30762         [801dbbc82778]
30763
30764         * sudo.man:
30765         fixed typo added info for -l flag
30766         [8916ca945d65]
30767
30768         * configure.in:
30769         AC_SSIZE_T -> SUDO_SSIZE_T
30770         [c61f7f47013f]
30771
30772         * aclocal.m4:
30773         added SUDO_SSIZE_T
30774         [0ccdb77be84d]
30775
30776         * sudo.h:
30777         added MODE_LIST
30778         [9b2bd844c76c]
30779
30780         * configure.in:
30781         added AC_SSIZE_T
30782         [35cca208f9b5]
30783
30784         * find_path.c, sudo_realpath.c:
30785         readlink() is now declared as returning ssize~_t
30786         [0640a08d1407]
30787
30788         * configure.in:
30789         added -laud for OSF c2
30790         [b7539c905efc]
30791
30792 1994-09-02  Todd C. Miller  <Todd.Miller@courtesan.com>
30793
30794         * Makefile.in, visudo.c:
30795         changed sudo-bugs.cs.colorado.edu -> sudo-bugs@cs.colorado.edu
30796         [067fd9bcb5e1]
30797
30798         * config.h.in, parse.lex, parse.yacc, pathnames.h.in:
30799         changed sudo-bugs.cs.colorado.edu -> sudo-bugs@cs.colorado.edu
30800         [fc46e7c7110a]
30801
30802         * check.c, find_path.c, getcwd.c, getwd.c, insults.h, logging.c,
30803         parse.c, putenv.c, strdup.c, sudo.c, sudo.h, sudo_realpath.c,
30804         sudo_setenv.c, tgetpass.c, version.h:
30805         changed sudo-bugs.cs.colorado.edu -> sudo-bugs@cs.colorado.ed
30806         [d1d4fbc53a98]
30807
30808 1994-09-01  Todd C. Miller  <Todd.Miller@courtesan.com>
30809
30810         * Makefile.in:
30811         ++version
30812         [b7066d97633f]
30813
30814         * version.h:
30815         ++
30816         [65ec69d88110]
30817
30818         * logging.c:
30819         added host to alertmail messages
30820         [d973c19ce777]
30821
30822         * CHANGES, TODO:
30823         udpated
30824         [5a65eb16faeb]
30825
30826         * logging.c:
30827         fixed logging problem where mail would not say which user it was
30828         [35723edcc5d2]
30829
30830         * configure.in:
30831         added -laud for gcc if osf & c2
30832         [18f1e0ae5548]
30833
30834         * check.c:
30835         moved set_auth_parameters to sudo.c
30836         [d23112fe01db]
30837
30838         * sudo.c:
30839         added set_auth_parameters for osf
30840         [eb70f65214ac]
30841
30842         * configure.in:
30843         cleaned up -static stuff
30844         [01e9575f0422]
30845
30846         * Makefile.in:
30847         ++version
30848         [7ac3bff5c770]
30849
30850         * version.h:
30851         ++
30852         [10a4ff478469]
30853
30854         * sudo.c:
30855         changed setenv() to sudo_setenv()
30856         [40a78abb9946]
30857
30858         * check.c:
30859         fixed osf problem
30860         [3d69b118efb8]
30861
30862         * configure.in:
30863         added OSF C2 stuff
30864         [38cff3ad4093]
30865
30866         * CHANGES:
30867         updated
30868         [cd341dd0581a]
30869
30870         * check.c:
30871         added osf auth support & removed some extra spaces
30872         [a448cdd81514]
30873
30874         * INSTALL, SUPPORTED:
30875         added osf C2 stuff
30876         [f70484796146]
30877
30878 1994-08-31  Todd C. Miller  <Todd.Miller@courtesan.com>
30879
30880         * TODO:
30881         added 2 suggestions
30882         [695fbdbd86e6]
30883
30884         * Makefile.in:
30885         removed README.v1.3.1 and added VERSION stuff
30886         [f69403eb04c6]
30887
30888         * version.h:
30889         pl1
30890         [21580c0f8cb1]
30891
30892 1994-08-30  Todd C. Miller  <Todd.Miller@courtesan.com>
30893
30894         * version.h:
30895         1.3.1final
30896         [630114970298]
30897
30898         * Makefile.in:
30899         added HISTORY
30900         [901bff251614]
30901
30902         * sudo.man:
30903         mention HISTPRY file
30904         [86dbcfd4326e]
30905
30906         * sudo.c:
30907         use sizeof instead of a constant in 1 place
30908         [d819604c68ca]
30909
30910         * parse.yacc:
30911         added unistd.h
30912         [6f9500f9fe7e]
30913
30914         * parse.lex:
30915         added unistd.h
30916         [468b81a276eb]
30917
30918         * README:
30919         udpated
30920         [7e275618923a]
30921
30922         * HISTORY:
30923         Initial revision
30924         [5db1b0a3939b]
30925
30926 1994-08-17  Todd C. Miller  <Todd.Miller@courtesan.com>
30927
30928         * version.h:
30929         ++
30930         [7dfbb4a810bb] [SUDO_1_3_1]
30931
30932         * CHANGES:
30933         updated
30934         [7820ee610bf8]
30935
30936         * sudo_setenv.c:
30937         added unistd.h include
30938         [30cf2b654525]
30939
30940 1994-08-16  Todd C. Miller  <Todd.Miller@courtesan.com>
30941
30942         * sudo.c:
30943         added sys/time.h for AIX
30944         [199fc8caf3a3]
30945
30946 1994-08-15  Todd C. Miller  <Todd.Miller@courtesan.com>
30947
30948         * configure.in:
30949         added check for -lsocket and sys/sockio.h
30950         [f9abfbb31031]
30951
30952         * config.h.in:
30953         took out libshadow check and added in sys/sockio.h check
30954         [0c4b0393ac80]
30955
30956         * sudo.c:
30957         now include sockio.h instead of ioctl.h if it exists "sudo -" now
30958         gets a better error message
30959         [53041bea5483]
30960
30961         * sample.sudoers:
30962         now has a dir and subnet entry
30963         [56b820f65438]
30964
30965 1994-08-13  Todd C. Miller  <Todd.Miller@courtesan.com>
30966
30967         * sudo.c:
30968         removed if_ether.h
30969         [b4f64507493e]
30970
30971         * TODO:
30972         added an item
30973         [ea2a1bb6922a]
30974
30975         * sudo.man:
30976         added network and ip addresses to man page
30977         [01c85016511f]
30978
30979         * sudo.c:
30980         no error if can't get interfaces or netmask since networking may not
30981         be in the kernel.
30982         [50b8890e2134]
30983
30984         * parse.c:
30985         nwo check for interfaces == NULL
30986         [dc1b3eef0db2]
30987
30988         * parse.c:
30989         fixed a bug that caused directory specs in a Cmnd_Alias to fail if
30990         the last entry in the spec failed (ie: it was only looking at the
30991         last entry). CLeaned things up by adding the cmndcmp() function--all
30992         neat & tidy
30993         [007e93578e5e]
30994
30995         * CHANGES:
30996         added one
30997         [40e8a2cef497]
30998
30999 1994-08-12  Todd C. Miller  <Todd.Miller@courtesan.com>
31000
31001         * sudo.c:
31002         now do two passes to skip bogus interfaces (lo0, etc)
31003         [465e30aecaf7]
31004
31005         * parse.lex, parse.yacc, visudo.c:
31006         added include of netinet/in.h
31007         [11e3816ed362]
31008
31009         * logging.c, sudo_realpath.c, sudo_setenv.c:
31010         added ninclude of netinet/in.h
31011         [daccfa40fe1e]
31012
31013         * check.c, find_path.c, getcwd.c, getwd.c:
31014         added include of netinet/in.h
31015         [0222f95e06ad]
31016
31017         * version.h:
31018         ++
31019         [d6b0cfa35a38]
31020
31021         * sudo.h:
31022         added interfaces global
31023         [ba52fa8ad75e]
31024
31025         * parse.c:
31026         now uses new interfaces global
31027         [17473ad5ecba]
31028
31029         * sudo.c:
31030         now ip addresses are gleaned fw/o dns
31031         [8828bb2007e0]
31032
31033 1994-08-10  Todd C. Miller  <Todd.Miller@courtesan.com>
31034
31035         * sudo.c:
31036         added load_ip_addrs() to load the ip_addrs global var
31037         [60c825f04238]
31038
31039         * parse.c:
31040         added hostcmp() to compare hostnames, ip addrs, and network addrs
31041         [ab0e40e37537]
31042
31043         * sudo.h:
31044         added ip_addrs def added load_ip_addrs prototype
31045         [c41c565d0777]
31046
31047 1994-08-08  Todd C. Miller  <Todd.Miller@courtesan.com>
31048
31049         * CHANGES:
31050         updated
31051         [2a128dbe9bcb]
31052
31053         * Makefile.in:
31054         removed multiple entries in DISTFILES
31055         [2490f4f371e6]
31056
31057         * visudo.c:
31058         ansified the !STDC_HEADERS decls
31059         [646ba06d17ae]
31060
31061         * find_path.c, getcwd.c, getwd.c, putenv.c, strdup.c:
31062         don't do malloc decl if gnuc
31063         [f1bad1925f98]
31064
31065         * sudo.c:
31066         can't use getopt(3) since it munges args to the command to be run as
31067         root don't do malloc decl if gnuc
31068         [38e78f6da14e]
31069
31070         * find_path.c, getcwd.c, getwd.c, putenv.c, strdup.c, sudo.c,
31071         sudo_realpath.c, sudo_setenv.c:
31072         ansi-fied !STDC_HEADER function prottypes
31073         [51d8cad89976]
31074
31075         * getcwd.c, getwd.c:
31076         added missing paren
31077         [6a1fae70e27e]
31078
31079         * Makefile.in:
31080         added putenv.c to DISTFILES
31081         [a5e4523eabbb]
31082
31083         * sudo_setenv.c:
31084         added params to func decls when STDC_HEADERS is not defined now can
31085         count on putenv() being there
31086         [fd587796189b]
31087
31088         * sudo_realpath.c:
31089         took out errno decl since sudo.h does it for us fixed up a next cc
31090         warning added params to func decls when STDC_HEADERS is not defined
31091         [70fa5152ace6]
31092
31093         * sudo.h:
31094         took out environ extern added local declaratio of putenv() if local
31095         version is needed
31096         [a84bae6c020d]
31097
31098         * find_path.c, getcwd.c, getwd.c, strdup.c, sudo.c:
31099         added params to func decls when STDC_HEADERS is not defined
31100         [f406f0e47ac0]
31101
31102         * config.h.in:
31103         added memcpy check check to see that ansi vs bsd macros are ntot
31104         already defiend before defining (ie: avoid redefinition)
31105         [879ae026e19f]
31106
31107         * configure.in:
31108         removed fluff setenv check plus check w/ replace for putenv if also
31109         no setenv
31110         [e3c03814ad4b]
31111
31112         * putenv.c:
31113         Initial revision
31114         [3cff63e2dc1b]
31115
31116 1994-08-06  Todd C. Miller  <Todd.Miller@courtesan.com>
31117
31118         * sudo_setenv.c:
31119         Initial revision
31120         [4d637631fa6b]
31121
31122         * sudo.h:
31123         rm'd s realp[ath added sudo_realpath and sudo_setenv
31124         [07ba001ff57e]
31125
31126         * sudo.c:
31127         now use sudo_setenvc
31128         [fd81e04d5ef0]
31129
31130         * configure.in:
31131         added puteenv and setenv, removed realpath
31132         [27bfacfb513b]
31133
31134         * config.h.in:
31135         added putenv & setenv
31136         [515f14eaf6e4]
31137
31138         * Makefile.in:
31139         added sudo_setenv
31140         [217731a717c5]
31141
31142         * version.h:
31143         ++
31144         [eadb346d7129]
31145
31146 1994-08-05  Todd C. Miller  <Todd.Miller@courtesan.com>
31147
31148         * configure.in:
31149         added MAN_POSTINSTALL and /usr/share/catman for irix
31150         [2a9496c1bdba]
31151
31152         * Makefile.in:
31153         added MAN_POSTINSTALL
31154         [89b0d4695529]
31155
31156         * CHANGES:
31157         added
31158         [48c021ba8a70]
31159
31160         * sudo.man:
31161         added SUDO_* plus new options
31162         [c0759cff5683]
31163
31164         * CHANGES:
31165         added one
31166         [7d44a3922d56]
31167
31168         * configure.in:
31169         took out shadow lib
31170         [07cf3de18701]
31171
31172         * TODO:
31173         adde done
31174         [a27a578e8afe]
31175
31176         * visudo.c:
31177         now use yyrestart() if flex now reset yylineno to 0
31178         [77d67ce0b677]
31179
31180         * Makefile.in:
31181         support for installing a cat page instead of a man page if no nroff
31182         [44671c0fc0fa]
31183
31184         * configure.in:
31185         now defines HAVE_FLEX fixed up man stuff so that it looks for nroff
31186         to determine whether or not to install a cat or man page
31187         [0562d069c135]
31188
31189         * config.h.in:
31190         added HAVE_FLEX
31191         [c5490bae39d3]
31192
31193         * sudo.c:
31194         not set ret to MODE_RUN initially
31195         [88b4983c195b]
31196
31197         * find_path.c:
31198         made command (and therefor cmnd dynamically allocated)
31199         [95b82e32b6de]
31200
31201         * TODO:
31202         did #8
31203         [fb6f41308cdf]
31204
31205         * version.h:
31206         ++
31207         [14112ecab5ae]
31208
31209         * sudo_realpath.c:
31210         changed bufs from MAXPATHLEN to MAXPATHLEN+1
31211         [0ad4f34e55c0]
31212
31213         * sudo.h:
31214         added MODE_ removed validate_only and added remove_timestamp()
31215         [dd5f99c57728]
31216
31217         * sudo.c:
31218         usage() now takes an int (exit value) added parse_args() to parse
31219         command line arguments moved call to find_path() from load_globals
31220         to new function load_cmnd() removed validate_only global -- now use
31221         the concept of "modes" added -h and -k options
31222         [c3887090b28a]
31223
31224         * parse.c:
31225         no longer use global validate_only now checks for command called
31226         "validate" removed check for non-fully qualified commands since that
31227         is done by find_path
31228         [7d56fbd26369]
31229
31230         * find_path.c:
31231         changed MAXPATHLEN r to MAXPATHLEN+1
31232         [a86e8664d971]
31233
31234         * find_path.c:
31235         fixed off by one error with MAXPATHLEN and fixed a comment
31236         [58adcef8c981]
31237
31238         * check.c:
31239         check_timestamp no longer runs reminder(), it is implied in the
31240         return val added remove_timestamp()
31241         [42ab5a77066f]
31242
31243         * CHANGES:
31244         updated
31245         [8e69b31df024]
31246
31247 1994-08-04  Todd C. Miller  <Todd.Miller@courtesan.com>
31248
31249         * BUGS:
31250         fixed on
31251         [bc34f1ac4280]
31252
31253         * sudo_realpath.c:
31254         took out old_errno
31255         [a168d00a0768]
31256
31257         * CHANGES:
31258         updated
31259         [04ba80922df7]
31260
31261 1994-08-03  Todd C. Miller  <Todd.Miller@courtesan.com>
31262
31263         * logging.c:
31264         moved send_mail to after syslog
31265         [4d4188087834]
31266
31267         * sudo.c:
31268         now set SUDO_ envariables
31269         [e5963f1bd3bb]
31270
31271 1994-08-01  Todd C. Miller  <Todd.Miller@courtesan.com>
31272
31273         * version.h:
31274         ++
31275         [2a4534845d8c]
31276
31277         * sudo_realpath.c:
31278         now print error if chdir fails
31279         [0d75c8973d49]
31280
31281         * find_path.c:
31282         removed an XXX
31283         [e2077bcb35aa]
31284
31285 1994-07-26  Todd C. Miller  <Todd.Miller@courtesan.com>
31286
31287         * CHANGES:
31288         updated
31289         [e30a2b39b41a]
31290
31291         * configure.in:
31292         no more static binaries for aix
31293         [77a0beb6bd80]
31294
31295 1994-07-25  Todd C. Miller  <Todd.Miller@courtesan.com>
31296
31297         * INSTALL:
31298         fixed typo
31299         [ba5e0d391bc4]
31300
31301         * sudo_realpath.c:
31302         took out stuff not needed for sudo now does be_root/be_user itself
31303         now uses cwd global
31304         [4f6d4641d793]
31305
31306         * version.h:
31307         +=2
31308         [97da927b297c]
31309
31310         * logging.c, sudo.c:
31311         be_root/be_user is now down in sudo_realpath()
31312         [f331662fa50f]
31313
31314         * logging.c, sudo.h:
31315         now works with 4.2BSD syslog (blech)
31316         [98e39d89dd36]
31317
31318         * find_path.c:
31319         now use sudo_realpath()
31320         [ab436a8ebd02]
31321
31322         * config.h.in:
31323         took out realpth() stuff since we now use sudo_realpath()
31324         [8de5ef9f6044]
31325
31326         * configure.in:
31327         ultrix enhanced sec
31328         [815fb7fffcc0]
31329
31330         * SUPPORTED:
31331         added ultrix enhanced sec.
31332         [6466766c8062]
31333
31334         * INSTALL:
31335         updated
31336         [d681a634297a]
31337
31338         * check.c:
31339         ultrix enhanced security suport
31340         [f10c8decbcc2]
31341
31342         * Makefile.in:
31343         added sudo_realpath.c
31344         [6b9bcd3be022]
31345
31346         * CHANGES:
31347         updated
31348         [2fa8084c1b53]
31349
31350         * tgetpass.c:
31351         increased passwd len to 24 for c2 security
31352         [ec64838be62d]
31353
31354         * BUGS:
31355         updated BUGS
31356         [ca00d8fec2ce]
31357
31358 1994-07-15  Todd C. Miller  <Todd.Miller@courtesan.com>
31359
31360         * check.c:
31361         now use user global var
31362         [568769719013]
31363
31364         * configure.in:
31365         took out -ls
31366         [490a44180d5f]
31367
31368 1994-07-14  Todd C. Miller  <Todd.Miller@courtesan.com>
31369
31370         * configure.in:
31371         added AFS libs
31372         [4fb40c8c01ba]
31373
31374         * sudo.h:
31375         user is now a char * added epasswd
31376         [27a919fafdfb]
31377
31378         * sudo.c:
31379         added tzset() to load_globals added epasswd (encrypted password)
31380         global made user dynamically allocated
31381         [b99ef9bdbfce]
31382
31383         * configure.in:
31384         added tzset test
31385         [27592dd1214b]
31386
31387         * config.h.in:
31388         added HAVE_TZSET
31389         [b13f4213f3d0]
31390
31391         * check.c:
31392         cleaned up encrypted passwd grab somewhat
31393         [c8ba9a4db38a]
31394
31395         * configure.in:
31396         fixed AFS typo
31397         [2bfcbce237b6]
31398
31399         * INSTALL:
31400         added AFS not
31401         [80c67329393c]
31402
31403         * CHANGES:
31404         udpated
31405         [2f09ecdd5d31]
31406
31407         * logging.c:
31408         can now log to both syslog & a file
31409         [4d5c0932bc01]
31410
31411         * sudo.h:
31412         added BOTH_LOGS
31413         [623c539be824]
31414
31415         * CHANGES:
31416         updated
31417         [a1c7f5ef3616]
31418
31419         * configure.in:
31420         --with-AFS
31421         [28718d8f5daf]
31422
31423         * config.h.in:
31424         added HAVE_AFS
31425         [2e32bb4e63e4]
31426
31427         * check.c:
31428         added afs changes
31429         [fe4d0ff320a2]
31430
31431         * sudo.h:
31432         removed AFS stuff :-)
31433         [a40387e6fa27]
31434
31435         * tgetpass.c:
31436         include sys/select for AIX
31437         [f32c5a8f2c84]
31438
31439         * sudo.h:
31440         added AFS
31441         [da2ab3dd0348]
31442
31443         * version.h:
31444         ++
31445         [452d4dfe25af]
31446
31447 1994-07-07  Todd C. Miller  <Todd.Miller@courtesan.com>
31448
31449         * CHANGES, SUPPORTED:
31450         updated
31451         [e7dfe6f23a37]
31452
31453         * logging.c:
31454         can now have MAILER undefined
31455         [1d33b98b35e1]
31456
31457         * INSTALL:
31458         new sub-note about MAILER
31459         [d35c636a0574]
31460
31461         * sudo.man:
31462         added blurb about password timeout
31463         [70c2ee50de20]
31464
31465         * configure.in:
31466         convex c2 changes
31467         [367138a6232e]
31468
31469         * aclocal.m4:
31470         took out duplicate define of _CONVEX_SOURCE
31471         [647182138450]
31472
31473         * Makefile.in:
31474         added OSDEFS
31475         [7fdcd50602d1]
31476
31477         * config.h.in:
31478         added spaces
31479         [f2b8a05e48f3]
31480
31481         * tgetpass.c:
31482         added a goto if fgets fails
31483         [68a6586d9c45]
31484
31485         * sudo.h:
31486         use __hpux not hpux convex c2 stuff
31487         [5c377a8d5f34]
31488
31489         * sudo.c:
31490         use __hpux not hpux
31491         [9363bc0f9f9e]
31492
31493         * logging.c:
31494         convex c2 stuff
31495         [ea5630975ac4]
31496
31497         * config.h.in:
31498         define ansi-ish cpp os defines if non-ansi are defined for hpux &
31499         convex
31500         [664f53a5e786]
31501
31502         * INSTALL:
31503         updated to say we support sonvex C2
31504         [5f2f8b87013e]
31505
31506         * check.c:
31507         added convex c2 support
31508         [9a665d4918fa]
31509
31510 1994-07-01  Todd C. Miller  <Todd.Miller@courtesan.com>
31511
31512         * tgetpass.c:
31513         no more ioctl never returns NULL uses fgets() and select() to
31514         timeout
31515         [b333e6d63e97]
31516
31517 1994-06-29  Todd C. Miller  <Todd.Miller@courtesan.com>
31518
31519         * configure.in:
31520         things were testing -n "$GCC" instead of -z "$GCC"
31521         [059a9b15ede2]
31522
31523         * tgetpass.c:
31524         now works + uses fgets()
31525         [353d7ebcb7bb]
31526
31527 1994-06-28  Todd C. Miller  <Todd.Miller@courtesan.com>
31528
31529         * tgetpass.c:
31530         select doesn't seem to recognize a single '\n' as input waiting so
31531         we can;t use it, sigh.
31532         [f76e3218b835]
31533
31534 1994-06-26  Todd C. Miller  <Todd.Miller@courtesan.com>
31535
31536         * PORTING:
31537         updated tgetpass() blurb
31538         [95baac736b49]
31539
31540         * configure.in:
31541         added --with-getpass
31542         [42ac0bdf58ed]
31543
31544         * Makefile.in:
31545         added tgetpass stuff
31546         [e2b38c635663]
31547
31548         * tgetpass.c:
31549         now uses stdio
31550         [36af8ff66e35]
31551
31552         * version.h:
31553         ++
31554         [4e81c9db19bd]
31555
31556 1994-06-24  Todd C. Miller  <Todd.Miller@courtesan.com>
31557
31558         * PORTING:
31559         updated ,.
31560         [54f523770a05]
31561
31562         * config.h.in:
31563         added USE_GETPASS && HAVE_C2_SECURITY
31564         [86b355cb2953]
31565
31566         * configure.in:
31567         fixed a test aded --with-C2 and --with-tgetpass
31568         [abf6181588ef]
31569
31570         * check.c:
31571         added hpux C2 shit
31572         [20d4177ffa88]
31573
31574         * Makefile.in:
31575         took out tgetpass.*
31576         [cc82fd9984b4]
31577
31578         * INSTALL:
31579         added C2 blurb
31580         [1d2bfc35e4b6]
31581
31582 1994-06-13  Todd C. Miller  <Todd.Miller@courtesan.com>
31583
31584         * configure.in:
31585         no termio(s) for ultrix since it is broken
31586         [d3e82e835350]
31587
31588         * check.c:
31589         added a space (yeah, anal)
31590         [05e4b31ca68c]
31591
31592         * realpath.c, sudo_realpath.c:
31593         fixed it (duh, rtfm)
31594         [f13097cb8cb6]
31595
31596 1994-06-08  Todd C. Miller  <Todd.Miller@courtesan.com>
31597
31598         * config.h.in:
31599         took out bsd signal stuff for irix
31600         [e179cdafc97a]
31601
31602         * visudo.c:
31603         comments in #endif
31604         [e3a629190f5e]
31605
31606         * configure.in:
31607         don't define BSD signals for irix
31608         [3ce57bffb7f0]
31609
31610         * TODO:
31611         did some...
31612         [274241cd0f74]
31613
31614         * CHANGES:
31615         updated
31616         [8f29fc755faf]
31617
31618         * realpath.c, sudo_realpath.c:
31619         took out unneeded code by changing where a strings was terminated
31620         [b5564d62d30e]
31621
31622 1994-06-07  Todd C. Miller  <Todd.Miller@courtesan.com>
31623
31624         * realpath.c, sudo_realpath.c:
31625         fix bug where /dirname would return NULL
31626         [b85f470daf26]
31627
31628         * sudo.h:
31629         move __P to config.h
31630         [7763c0ff3f28]
31631
31632         * getcwd.c, getwd.c, realpath.c, sudo_realpath.c:
31633         added errno definition
31634         [4cc9d2d9782a]
31635
31636         * config.h.in:
31637         added __P
31638         [ca06f5aa58f3]
31639
31640         * config.h.in:
31641         added HAVE_FCHDIR
31642         [206d714641e0]
31643
31644         * strdup.c:
31645         now include stdio
31646         [0d8458da0e1d]
31647
31648         * realpath.c, sudo_realpath.c:
31649         now works if no fchdir
31650         [e035911b6722]
31651
31652         * visudo.c:
31653         define SA_RESETHAND to null if not defined
31654         [afec03e84342]
31655
31656         * configure.in:
31657         added check & replace
31658         [c1a65481441c]
31659
31660         * configure.in:
31661         took out -static for nextstep -- it doesn't work
31662         [fa1a1a611743]
31663
31664 1994-06-06  Todd C. Miller  <Todd.Miller@courtesan.com>
31665
31666         * logging.c:
31667         moved #endif to where it belongs
31668         [07d3a8972097]
31669
31670         * SUPPORTED:
31671         correction
31672         [0c1ecba3e5a3]
31673
31674         * configure.in:
31675         now checks for strdup realpath getcwd bzero
31676         [f029a1917515]
31677
31678         * config.h.in:
31679         emulate bzero
31680         [d792352e44a3]
31681
31682         * visudo.c:
31683         added posic signals
31684         [2ed0005f90fc]
31685
31686         * tgetpass.c:
31687         bzero cast
31688         [6d91b1a1526f]
31689
31690         * logging.c:
31691         added posix signals
31692         [67ede9c22a05]
31693
31694         * configure.in:
31695         removed BROKEN_GETPASS added new srcs toreplace missing functions
31696         [cf44274bb1c8]
31697
31698         * config.h.in:
31699         added posix signal stuff
31700         [a3c1c98fe8ef]
31701
31702         * Makefile.in:
31703         added new srcs
31704         [b6a079afee47]
31705
31706         * visudo.c:
31707         updated useag
31708         [589ed091c44f]
31709
31710         * tgetpass.c:
31711         now uses posix signals
31712         [30f74964074f]
31713
31714         * PORTING:
31715         updated sto reflect major changes
31716         [bcfc309e017b]
31717
31718         * CHANGES, TODO:
31719         updated
31720         [23aacbd54278]
31721
31722         * tgetpass.c:
31723         uses sysconf() if available
31724         [a27431c90bab]
31725
31726         * sudo.h:
31727         added PASSWORD_TIMEOUT + prototypes for new functions
31728         [d7473c2f77c4]
31729
31730         * realpath.c, sudo_realpath.c:
31731         for those w/o this in libc
31732         [1e47aa7a9d46]
31733
31734         * getcwd.c, getwd.c:
31735         Initial revision
31736         [c90dea57a84f]
31737
31738         * find_path.c:
31739         rewrote to use realpath(3) - nis now all my code
31740         [d2c3bb8fb37d]
31741
31742         * config.h.in:
31743         added HAVE_REALPATH
31744         [02c10352a8c7]
31745
31746         * check.c:
31747         now use tgetpass
31748         [b5c021fc179f]
31749
31750         * Makefile.in:
31751         added LIBOBJS use tgetpass.c
31752         [230a7b3eeaa3]
31753
31754 1994-06-05  Todd C. Miller  <Todd.Miller@courtesan.com>
31755
31756         * tgetpass.c:
31757         works now :-)
31758         [025e7a3875ba]
31759
31760         * tgetpass.c:
31761         Initial revision
31762         [3316ab33b230]
31763
31764         * pathnames.h.in:
31765         added /dev/tty
31766         [29242585e53f]
31767
31768 1994-06-04  Todd C. Miller  <Todd.Miller@courtesan.com>
31769
31770         * version.h:
31771         incremented
31772         [f2e54b48280f]
31773
31774         * sudo.c:
31775         always use getcwd
31776         [c6068e8a4029]
31777
31778         * config.h.in:
31779         added check for getwd
31780         [ab1e102ad673]
31781
31782         * configure.in:
31783         replace strdup & realpath & getcwd if missing
31784         [b0eb14f2a1c3]
31785
31786         * pathnames.h.in:
31787         added _PATH_PWD
31788         [309d2388f69a]
31789
31790         * aclocal.m4:
31791         added SUDO_PROG_PWD
31792         [e16e85deb96c]
31793
31794         * strdup.c:
31795         Initial revision
31796         [810efdc15007]
31797
31798         * realpath.c, sudo_realpath.c:
31799         Initial revision
31800         [d85eee438e09]
31801
31802 1994-06-03  Todd C. Miller  <Todd.Miller@courtesan.com>
31803
31804         * configure.in:
31805         quoted quare brackets
31806         [d0e7ca111d98]
31807
31808 1994-06-02  Todd C. Miller  <Todd.Miller@courtesan.com>
31809
31810         * sudo.c:
31811         no need to strdup() a constant
31812         [a8c44712df9a]
31813
31814         * CHANGES:
31815         updated
31816         [71364129cca0]
31817
31818         * sudo.man:
31819         added validate
31820         [0bb198095a26]
31821
31822         * sudo.c:
31823         added -v to usage
31824         [31ea71f11dbb]
31825
31826         * parse.c, sudo.c, sudo.h:
31827         added validate_only stuff
31828         [9bcd853d3c90]
31829
31830 1994-05-30  Todd C. Miller  <Todd.Miller@courtesan.com>
31831
31832         * configure.in:
31833         now finds sed
31834         [6374bb0d3f28]
31835
31836         * aclocal.m4:
31837         $OSREV is now an int
31838         [ace0666d66cf]
31839
31840 1994-05-29  Todd C. Miller  <Todd.Miller@courtesan.com>
31841
31842         * configure.in:
31843         added mtxinu to caser
31844         [73a776887b16]
31845
31846         * sudo.h:
31847         added EXEC macro
31848         [2e8eb28b710a]
31849
31850         * sudo.c:
31851         now use the EXEC nmacro now only do a gethostbyname() if FQDN is set
31852         [56afb4f658d5]
31853
31854         * logging.c:
31855         changed mail_argv[] def now use EXEC() macro
31856         [ddcabd28edb1]
31857
31858         * check.c:
31859         took out crypt() definition
31860         [0e657724cf5f]
31861
31862         * version.h:
31863         upped the version
31864         [62c5d66119fc]
31865
31866         * configure.in:
31867         always look for -lnsl
31868         [d7b594f0313b]
31869
31870         * aclocal.m4:
31871         added an echo
31872         [1caae3491dc5]
31873
31874         * sudo.h:
31875         SHORT_MESSAGE is now the default
31876         [cfce35c3119a]
31877
31878         * config.h.in:
31879         fixed typo
31880         [6499a564bf75]
31881
31882         * configure.in:
31883         added missing AC_DEFINE(SVR4) for solaris
31884         [feef0b17b94f]
31885
31886         * sudo.man:
31887         documented the -v flag
31888         [a6429f2bc2cf]
31889
31890         * SUPPORTED:
31891         updated
31892         [088886e79540]
31893
31894         * check.c:
31895         proto-ized crypt()
31896         [801e4ff5b121]
31897
31898         * config.h.in:
31899         added LIBSHADOW undef
31900         [8df588e9ee2b]
31901
31902         * configure.in:
31903         nwo set OS to be lowercase
31904         [561ebed833e4]
31905
31906 1994-05-28  Todd C. Miller  <Todd.Miller@courtesan.com>
31907
31908         * configure.in:
31909         now use SUDO_OSTYPE to set $OS
31910         [0e60aee23098]
31911
31912         * aclocal.m4:
31913         now use uname to determine os
31914         [99705e58d400]
31915
31916         * visudo.c:
31917         added prototypes & moved sig handler around
31918         [1f0bc8d23b51]
31919
31920         * sudo.h:
31921         added prototyppes
31922         [be3935a2b163]
31923
31924         * check.c, logging.c, sudo.c:
31925         added prototypes
31926         [2079b4605ab8]
31927
31928         * parse.c:
31929         added comment
31930         [a34d147d8399]
31931
31932         * config.h.in:
31933         nwo use _BSD_SIGNALS not _BSD_COMPAT
31934         [63663195f047]
31935
31936         * aixcrypt.exp:
31937         Initial revision
31938         [890aed08357e]
31939
31940         * Makefile.in:
31941         added aixcrypt.exp
31942         [1005a183105f]
31943
31944         * parse.lex, parse.yacc:
31945         moved config.h to top of includes
31946         [9569c49aa5f3]
31947
31948 1994-05-25  Todd C. Miller  <Todd.Miller@courtesan.com>
31949
31950         * find_path.c:
31951         now don't bitch if get EACCESS (treat like EPERM)
31952         [dbeffb638de4]
31953
31954         * visudo.c:
31955         added -v flag and usage()
31956         [4d44ed60ed75]
31957
31958         * version.h:
31959         fixed a typo
31960         [cf3f9347ae41]
31961
31962         * sudo.c:
31963         cast Argv to a const for exec added -v flag
31964         [d11b6efc0e45]
31965
31966         * logging.c:
31967         mail_argv is now a const
31968         [93bb5d90bb6f]
31969
31970         * configure.in:
31971         only set RETSIGTYPE if it is not set already
31972         [c97aac260b77]
31973
31974         * aclocal.m4:
31975         now defines & STDC_HEADERS for Irix
31976         [9c2b24ad1fc5]
31977
31978         * Makefile.in:
31979         added version.h
31980         [9f79e880229a]
31981
31982         * insults.h, sudo.h:
31983         prevent multiple inclusion
31984         [d68c8a9243ce]
31985
31986         * version.h:
31987         Initial revision
31988         [dbb39c5ef8d9]
31989
31990         * parse.lex, parse.yacc:
31991         now includes config.h
31992         [f117e036a56b]
31993
31994         * aclocal.m4:
31995         now talks about sunos 4.x
31996         [c9054aa92d4e]
31997
31998         * visudo.c:
31999         calls to Exit now pass an arg
32000         [a92104670551]
32001
32002 1994-05-24  Todd C. Miller  <Todd.Miller@courtesan.com>
32003
32004         * visudo.c:
32005         signal handler now takes an int argument
32006         [26f480c41523]
32007
32008         * CHANGES:
32009         updated
32010         [8c166a9d796b]
32011
32012         * sudo.c:
32013         ok, the getcwd() is now *really* done as the user
32014         [ab86cf85134a]
32015
32016         * configure.in:
32017         changed AIX STATIC_FLAGS
32018         [b9c0a3ba5663]
32019
32020         * aclocal.m4:
32021         solaris now defines SVR4
32022         [c3e20cac96f5]
32023
32024         * sudo.h:
32025         added cwd and fixed stupid core dump that makes no sense. sigh.
32026         [7a9755436dbb]
32027
32028         * sudo.c:
32029         moved getcwd stuff into load_globals
32030         [ec2bc90df1f3]
32031
32032         * parse.c:
32033         took out externs that are in suod.h
32034         [93c4b3f856d7]
32035
32036         * logging.c:
32037         moved cwd into load_globals
32038         [050de754d228]
32039
32040         * find_path.c:
32041         moved cwd stuff
32042         [22f3f3b4c34d]
32043
32044         * Makefile.in:
32045         fixed make distclean & realclean
32046         [c9964d89bcef]
32047
32048         * TODO:
32049         updated .,
32050         [e513581ef0e3]
32051
32052         * CHANGES:
32053         added solaris changes
32054         [505d930daf27]
32055
32056         * aclocal.m4:
32057         added solaris changes, need to rework
32058         [33f20fb16c49]
32059
32060         * configure.in:
32061         cleaned up for solaris
32062         [2fb8cfa05d0f]
32063
32064         * logging.c:
32065         reinstall reapchild signal handler for non-bsd signals
32066         [3d1dc545113d]
32067
32068         * sudo.h:
32069         took out getdtablesize() emulation for HP-UX (no longer needed)
32070         [1fc83d170f34]
32071
32072         * sudo.c:
32073         support for HAVE_SYSCONF
32074         [50ca2a7a224a]
32075
32076         * visudo.c:
32077         added <fcntl.h> for solaris & reorg'd the includes + minor prettying
32078         up /
32079         [0a570e826dd4]
32080
32081         * config.h.in:
32082         added HAVE_SYSCONF
32083         [2b9a9f3a4e94]
32084
32085 1994-05-16  Todd C. Miller  <Todd.Miller@courtesan.com>
32086
32087         * configure.in:
32088         now tells you what os you are running /.
32089         [06c6332a895b]
32090
32091         * aclocal.m4:
32092         took out extra ','
32093         [e8c75ce59f4a]
32094
32095 1994-05-14  Todd C. Miller  <Todd.Miller@courtesan.com>
32096
32097         * config.h.in:
32098         added _BSD_COMPAT
32099         [73c5099806c2]
32100
32101         * aclocal.m4:
32102         fixed for irix5
32103         [1047d1f6c0eb]
32104
32105         * CHANGES:
32106         updated
32107         [1bc4969fee96]
32108
32109         * sudo.c:
32110         uid seinitialized to -2
32111         [8d7812b1878b]
32112
32113 1994-04-28  Todd C. Miller  <Todd.Miller@courtesan.com>
32114
32115         * sudo.c:
32116         now removes LIBPATH for AIX
32117         [075392eb1dd9]
32118
32119 1994-03-13  Todd C. Miller  <Todd.Miller@courtesan.com>
32120
32121         * configure.in:
32122         now uses ufc if it finds it
32123         [ab6ce30a5958]
32124
32125 1994-03-12  Todd C. Miller  <Todd.Miller@courtesan.com>
32126
32127         * sudo.h:
32128         no longer define yyval & yylval since yacc does it
32129         [09d250aea50a]
32130
32131         * parse.lex:
32132         now defines yylval as extenr
32133         [8ec2b88952bc]
32134
32135         * configure.in:
32136         BROKEN_GETPASS is now an OPTION
32137         [3714f4bb8312]
32138
32139         * config.h.in:
32140         took out BROKEN_GETPASS
32141         [9c4f6aa50137]
32142
32143         * Makefile.in:
32144         took out big comment
32145         [4c13cff0e556]
32146
32147         * README:
32148         updated
32149         [b8b9902b620d]
32150
32151         * Makefile.in:
32152         took out README.beta
32153         [ed2cd861e82b]
32154
32155         * SUPPORTED:
32156         Initial revision
32157         [2fffc51e6606]
32158
32159         * INSTALL:
32160         now reference SUPPORTED .,
32161         [d112c30be1f2]
32162
32163         * config.h.in:
32164         now check for convex OR __convex__
32165         [a0e5701a3069]
32166
32167         * aclocal.m4:
32168         now check for convex or __convex__
32169         [5dae2bfbe3bc]
32170
32171         * Makefile.in:
32172         added dist target
32173         [400a54de57db]
32174
32175         * aclocal.m4:
32176         use __convex__
32177         [58a19470ed0b]
32178
32179         * find_path.c:
32180         now use _S_* stat stuff to be ansi-like
32181         [28cce560e048]
32182
32183         * INSTALL:
32184         updated for configure directions
32185         [a034ccc7c30a]
32186
32187         * Makefile.in:
32188         distclean now removes config.h and pathnames.h
32189         [300f2349b4ab]
32190
32191         * CHANGES:
32192         updated
32193         [646f7e9430c1]
32194
32195         * TODO:
32196         fixed typoe
32197         [70fd6361b2bc]
32198
32199         * visudo.c:
32200         updated version
32201         [cf13d87d789f]
32202
32203         * Makefile.in:
32204         updated version
32205         [8c5dacc27a7a]
32206
32207         * config.h.in, pathnames.h.in:
32208         added copyright header
32209         [747ce3d3d6b7]
32210
32211         * check.c, find_path.c, insults.h, logging.c, parse.c, parse.lex,
32212         parse.yacc, sudo.c, sudo.h:
32213         udpated version
32214         [4751c39bad18]
32215
32216         * visudo.c:
32217         udpated to use configure + pathnames.h
32218         [d45dff76a1cd]
32219
32220         * aclocal.m4:
32221         updated
32222         [f05a367a55be]
32223
32224         * Makefile.in, config.h.in, configure.in:
32225         updated
32226         [524778598879]
32227
32228         * sudo.h:
32229         now works with configure
32230         [83fc40e533f4]
32231
32232         * check.c, find_path.c, getpass.c, logging.c, parse.c, sudo.c:
32233         updated to work with configure + pathnames.h
32234         [cb67fa6ab52d]
32235
32236         * Makefile.in:
32237         added LEXLIB
32238         [f43cad4ab0a2]
32239
32240 1994-03-10  Todd C. Miller  <Todd.Miller@courtesan.com>
32241
32242         * COPYING:
32243         updated gnu general licence to versio 2
32244         [2b0b56112ddc]
32245
32246         * config.h.in, pathnames.h.in:
32247         Initial revision
32248         [4b586f39ec2d]
32249
32250         * sudo.h:
32251         changed to work with configure
32252         [13f3506ddf16]
32253
32254 1994-03-09  Todd C. Miller  <Todd.Miller@courtesan.com>
32255
32256         * Makefile.in, aclocal.m4, configure.in:
32257         Initial revision
32258         [a8636ae77371]
32259
32260         * visudo.c:
32261         now uses defines used by configure
32262         [de438d118993]
32263
32264 1994-03-01  Todd C. Miller  <Todd.Miller@courtesan.com>
32265
32266         * find_path.c:
32267         sudo won't bitch about EPERM now, for real
32268         [ce26d9ef7e3f]
32269
32270 1994-02-28  Todd C. Miller  <Todd.Miller@courtesan.com>
32271
32272         * logging.c:
32273         renamed exec_argv to eliminate a libc name clash with ksros
32274         [bcb4350d8411]
32275
32276         * CHANGES:
32277         corrected
32278         [dae68d422efd]
32279
32280         * logging.c, sudo.c, sudo.h:
32281         execve -> execv
32282         [40cc2c4bdb15]
32283
32284         * TODO:
32285         upated
32286         [9275a8b8fc45]
32287
32288         * PORTING:
32289         added 2 mroe items
32290         [6cbb5c56993c]
32291
32292         * CHANGES:
32293         updated
32294         [73f34f8e571a]
32295
32296         * sudo.h:
32297         added UMASK and mode_t declaration
32298         [7c2015e1d171]
32299
32300         * sudo.c:
32301         added UMASK
32302         [d37be7523680]
32303
32304         * logging.c:
32305         now opens log file with mode 077
32306         [0825cc3ee841]
32307
32308         * check.c:
32309         saved current umask ans restores it
32310         [659c1aaae8e8]
32311
32312         * sudo.h:
32313         added MAXLOGFILELEN
32314         [34331c7dee90]
32315
32316         * logging.c:
32317         split long log lines. FOr syslog, split into multiple entries, for
32318         a log file, indent the extra for readability
32319         [72c9e4cdba6e]
32320
32321 1994-02-27  Todd C. Miller  <Todd.Miller@courtesan.com>
32322
32323         * CHANGES:
32324         added changes
32325         [81196833673d]
32326
32327         * sudo.h:
32328         MAXLOGLEN & MAXSYSLOGLEN are now different (as they should be)
32329         [1aa69e903840]
32330
32331 1994-02-25  Todd C. Miller  <Todd.Miller@courtesan.com>
32332
32333         * TODO:
32334         added input from Brett M Hogden <hogden@rge.com>
32335         [80f01fc88ce9]
32336
32337 1994-02-16  Todd C. Miller  <Todd.Miller@courtesan.com>
32338
32339         * sudo.c:
32340         added rmenv() to remove stuff from environ. can now uses execvp()
32341         OR execve() becuase of this.
32342         [e7fc2535bd67]
32343
32344         * logging.c:
32345         now uses execvp() OR execve()
32346         [56391aa1f99d]
32347
32348         * sudo.h:
32349         added USE_EXECVE
32350         [f21f38050b95]
32351
32352         * sudo.h:
32353         added environ
32354         [6b805e23c6f6]
32355
32356         * find_path.c:
32357         now ignore EPERM
32358         [c8fd7117a1d7]
32359
32360         * sudo.h:
32361         moved some func decls out of sudo.h and into sudo.c as statics /.
32362         [5f555c267d27]
32363
32364         * CHANGES:
32365         updated
32366         [431f478af320]
32367
32368         * sudo.h:
32369         took out Envp
32370         [6f722be7793d]
32371
32372 1994-02-14  Todd C. Miller  <Todd.Miller@courtesan.com>
32373
32374         * BUGS:
32375         Initial revision
32376         [4a8ecf0da95c]
32377
32378 1994-02-10  Todd C. Miller  <Todd.Miller@courtesan.com>
32379
32380         * CHANGES:
32381         added SECURE_PATH
32382         [1c72cb222609]
32383
32384         * sudo.c, sudo.h:
32385         added SECURE_PATH
32386         [5bf5357a63c5]
32387
32388         * sudo.h:
32389         added SECURE_PATH
32390         [3976a74405ac]
32391
32392         * INSTALL:
32393         added sample.sudoers note
32394         [1b395d29aaeb]
32395
32396         * sudoers:
32397         Initial revision
32398         [485888d07477]
32399
32400 1994-02-09  Todd C. Miller  <Todd.Miller@courtesan.com>
32401
32402         * find_path.c:
32403         fixed typo
32404         [bfc3cc4d41ca]
32405
32406         * PORTING:
32407         took out SAVED_UID garbage
32408         [b7c2d3469661] [SUDO_1_3_0]
32409
32410         * INSTALL:
32411         mentioned HAL
32412         [253d6695df90]
32413
32414         * sudo.h:
32415         added HAL line
32416         [29ec1a4ac6de]
32417
32418         * insults.h:
32419         added HAL insults
32420         [7d7c96d77c74]
32421
32422         * TODO:
32423         updated
32424         [aa2ed9790586]
32425
32426         * logging.c:
32427         more verbose error if mailer not found
32428         [fca47fd00cb6]
32429
32430         * check.c:
32431         now do getpwent as root for soem shadow password systems (bsdi)
32432         [e0339e110d46]
32433
32434 1994-02-08  Todd C. Miller  <Todd.Miller@courtesan.com>
32435
32436         * sudo.h:
32437         took out SAVED_UID garbade
32438         [fcb0e81dcdb5]
32439
32440         * sudo.c:
32441         took out SAVED_UID garbage since it don't work
32442         [507e9513e9c2]
32443
32444 1994-02-06  Todd C. Miller  <Todd.Miller@courtesan.com>
32445
32446         * README:
32447         updated
32448         [d2b6b253dae5]
32449
32450         * insults.h:
32451         added a missing space :-)
32452         [8940ea991f87]
32453
32454         * sudo.c, sudo.h:
32455         took out multimax cruft
32456         [c2606b365181]
32457
32458         * INSTALL:
32459         minor update
32460         [05fb6ee73131]
32461
32462         * PORTING:
32463         finished
32464         [c4ac47c84dc5]
32465
32466         * sudo.c:
32467         fixed a typo + indentation
32468         [7eab40aae8fa]
32469
32470 1994-02-05  Todd C. Miller  <Todd.Miller@courtesan.com>
32471
32472         * sudo.h:
32473         took outumoved some defines to the config file ,. ,.
32474         [defff05beb52]
32475
32476         * PORTING:
32477         Initial revision
32478         [c803e9127959]
32479
32480         * TODO:
32481         did #6
32482         [c6fa1c946c31]
32483
32484         * sudo.h:
32485         added HAS_SAVED_UID
32486         [6a88a39c0a07]
32487
32488         * sudo.c:
32489         put back AIX cruft
32490         [a24d2507ddd4]
32491
32492 1994-02-03  Todd C. Miller  <Todd.Miller@courtesan.com>
32493
32494         * sudo.c:
32495         aix changes
32496         [1663915f754a]
32497
32498 1994-02-02  Todd C. Miller  <Todd.Miller@courtesan.com>
32499
32500         * CHANGES:
32501         updated
32502         [a8cc73747cae]
32503
32504         * check.c, logging.c, parse.c, sudo.c, sudo.h:
32505         now is only root when abs necesary
32506         [3c9d12c5cdfe]
32507
32508         * check.c:
32509         added missing %s\n
32510         [609320b72d89]
32511
32512 1994-01-31  Todd C. Miller  <Todd.Miller@courtesan.com>
32513
32514         * install-sh:
32515         Initial revision
32516         [b5bba140a175]
32517
32518         * TODO:
32519         updated
32520         [c9d2eba602af]
32521
32522         * CHANGES:
32523         updated
32524         [932f1fc3bb14]
32525
32526         * sudo.c:
32527         now removed _RLD_* for alphas
32528         [54a36e648158]
32529
32530         * INSTALL:
32531         updated for new config scheme
32532         [61c8ae800444]
32533
32534         * find_path.c:
32535         more verbose eror messages
32536         [b4fd123db42d]
32537
32538 1994-01-27  Todd C. Miller  <Todd.Miller@courtesan.com>
32539
32540         * TODO:
32541         now have solaris
32542         [371002fbf266]
32543
32544         * sudo.h:
32545         define __svr4__ for SOLARIS
32546         [0b5cf5ed936d]
32547
32548         * check.c:
32549         added svr4 junk for shadow pws for solaris 2.x
32550         [91ed58f21618]
32551
32552         * check.c, sudo.c:
32553         took out setuid(0) and setreuid(udi) garbage. Its not needed since
32554         we start out setuid with the correct perms.
32555         [07689e782b0b]
32556
32557         * check.c, sudo.c, sudo.h:
32558         now use setreuid()
32559         [7d64d685d78e]
32560
32561 1994-01-26  Todd C. Miller  <Todd.Miller@courtesan.com>
32562
32563         * sudo.man:
32564         revised AUTHORS secrtion & added ENV_EDITOR stuff to VARIABLES
32565         sectoin
32566         [b26967b1e19b]
32567
32568         * visudo.c:
32569         now uses ENV_EDITOR if you want to use the EDITOR envar
32570         [a4f8fcb9bd1d]
32571
32572         * sudo.h:
32573         now uses ENV_EDITOR if you want to use the EDITOR envar >> .
32574         [028cc55c4328]
32575
32576 1993-12-07  Todd C. Miller  <Todd.Miller@courtesan.com>
32577
32578         * INSTALL:
32579         rewrote most of this
32580         [a6750923f9c9]
32581
32582         * README:
32583         minor update + spell fix
32584         [a411717a7249]
32585
32586         * sudo.h:
32587         added all options that are in the Makefile
32588         [6db3b3b841b3]
32589
32590         * getpass.c:
32591         now use USE_TERMIO #define for sgi & hpux
32592         [b91f89ae6be1]
32593
32594         * TODO:
32595         todo: posix sigs
32596         [4548a56eb2ef]
32597
32598 1993-12-06  Todd C. Miller  <Todd.Miller@courtesan.com>
32599
32600         * check.c, find_path.c:
32601         always include strings.h
32602         [1fc20bda92c0]
32603
32604         * visudo.c:
32605         added STATICEDITOR
32606         [0596f820716e]
32607
32608         * sudo.h:
32609         sgi has vi in /usr/bin too
32610         [94203b62bfd9]
32611
32612         * sudo.man:
32613         added VISUAL
32614         [87c2844c4cac]
32615
32616 1993-12-03  Todd C. Miller  <Todd.Miller@courtesan.com>
32617
32618         * sudo.h:
32619         sue /usr/bin/vi on some systems
32620         [e3ad9190f35e]
32621
32622         * sudo.c:
32623         fixed warning (include strings.h)
32624         [0b896de4d8a0]
32625
32626         * sudo.man:
32627         added John_Rouillard@dl5000.bc.edu's changes (new features)
32628         [f41b4205a8cf]
32629
32630         * CHANGES:
32631         changes from John_Rouillard@dl5000.bc.edu
32632         [6bdef8e948d5]
32633
32634         * visudo.c:
32635         added EDITOR envar
32636         [5c4bf716de21]
32637
32638         * check.c, find_path.c, parse.c, sudo.c:
32639         added patches from John_Rouillard directory spec
32640         uses EDITOR
32641         [f62a435f8c41]
32642
32643 1993-12-02  Todd C. Miller  <Todd.Miller@courtesan.com>
32644
32645         * getpass.c:
32646         added flush for hpux
32647         [07cfdd6a7b55]
32648
32649 1993-11-30  Todd C. Miller  <Todd.Miller@courtesan.com>
32650
32651         * sudo.c:
32652         no longer assume malloc returns a char *
32653         [7480bd2756f3]
32654
32655         * sudo.c:
32656         alpha change to remove LD_-like thing fixed SHLIB_PATH stuff -- now
32657         gets removed correctly
32658         [8587166c6ac8]
32659
32660         * sudo.h:
32661         added STD_HEADERS macro
32662         [480f5a9a516c]
32663
32664         * sudo.c:
32665         now uses STD_HEADERS macor for ansi
32666         [c5018806fd59]
32667
32668         * find_path.c:
32669         now uses STD_HEADERS macro
32670         [ad821e0788ea]
32671
32672         * check.c:
32673         niceties for C compiler bitches -- no real change
32674         [0fc0b1a5fb64]
32675
32676 1993-11-29  Todd C. Miller  <Todd.Miller@courtesan.com>
32677
32678         * visudo.c:
32679         now doesn't fclose a file never opened.
32680         [ee888ec9427d]
32681
32682 1993-11-28  Todd C. Miller  <Todd.Miller@courtesan.com>
32683
32684         * sudo.man:
32685         added visudo line
32686         [698d51c66407]
32687
32688         * sudo.man:
32689         added error stuff added me in there...
32690         [d202fd34b906]
32691
32692         * CHANGES:
32693         noted insults
32694         [998a22c2230c]
32695
32696         * INSTALL:
32697         added blurb about reading stuff
32698         [e71db100798f]
32699
32700         * sudo.h:
32701         added insults
32702         [c110431cec56]
32703
32704         * insults.h:
32705         corrected somments and removed newlines
32706         [493706fd488c]
32707
32708         * check.c:
32709         now uses insults
32710         [6d23cf06a0ef]
32711
32712         * insults.h:
32713         Initial revision
32714         [83153c26b4a3]
32715
32716         * INSTALL:
32717         added dec syslog note
32718         [555437273237]
32719
32720         * sample.sudoers:
32721         added real stuff in there
32722         [53442a7fba78]
32723
32724         * TODO:
32725         added a todo
32726         [c630472bd4dc]
32727
32728         * TODO:
32729         added one
32730         [806464453284]
32731
32732 1993-11-27  Todd C. Miller  <Todd.Miller@courtesan.com>
32733
32734         * sample.sudoers:
32735         Initial revision
32736         [7db0a9f1ca8f]
32737
32738         * sudo.man:
32739         updated with changes
32740         [d9bf254c6c08]
32741
32742         * sudo.man:
32743         Initial revision
32744         [dd6f11174ac6]
32745
32746         * indent.pro:
32747         Initial revision
32748         [dbfbb494fad9]
32749
32750         * CHANGES, COPYING, INSTALL, README, TODO:
32751         Initial revision
32752         [6d98f489a079]
32753
32754         * visudo.c:
32755         updated version number and took out jeff's old addr since it is no
32756         good
32757         [ee47c24818cb]
32758
32759         * check.c, find_path.c, logging.c, parse.c, parse.lex, parse.yacc,
32760         sudo.c, sudo.h:
32761         updated version number and took out jeff's email (since it is
32762         invalid)
32763         [54616458a52e]
32764
32765 1993-10-28  Todd C. Miller  <Todd.Miller@courtesan.com>
32766
32767         * check.c:
32768         added fflush()
32769         [145c881f4fb4]
32770
32771 1993-10-23  Todd C. Miller  <Todd.Miller@courtesan.com>
32772
32773         * find_path.c:
32774         now return NULL instead pf\b\bof exiting for nopn\b\bn-fatal errors
32775         [8bc74f8cb1ae]
32776
32777 1993-10-21  Todd C. Miller  <Todd.Miller@courtesan.com>
32778
32779         * check.c:
32780         new banner
32781         [5387ab2af516]
32782
32783         * parse.lex:
32784         now sudo.h gets included first
32785         [2acb01c18e18]
32786
32787 1993-10-18  Todd C. Miller  <Todd.Miller@courtesan.com>
32788
32789         * parse.lex:
32790         now can use flex
32791         [164d3839adf0]
32792
32793         * sudo.h:
32794         linux patch
32795         [f1b6b1b1a2ca]
32796
32797         * sudo.c:
32798         hpux 9 fix, removes SHLIB_PATH linux patch
32799         [67611dc1737f]
32800
32801         * check.c:
32802         linux diff
32803         [c24536682397]
32804
32805 1993-10-15  Todd C. Miller  <Todd.Miller@courtesan.com>
32806
32807         * find_path.c:
32808         stat now ignores EINVAL
32809         [c7761a5dc642]
32810
32811 1993-10-06  Todd C. Miller  <Todd.Miller@courtesan.com>
32812
32813         * find_path.c, sudo.c:
32814         now declare strdup as extern
32815         [6b7d6f8784b5]
32816
32817 1993-10-04  Todd C. Miller  <Todd.Miller@courtesan.com>
32818
32819         * visudo.c:
32820         reformatted with indent + by hand
32821         [9d43084e4990]
32822
32823         * check.c, find_path.c, getpass.c, logging.c, parse.c, sudo.c, sudo.h:
32824         used indent to "fix" coding style
32825         [489ffacbdc70]
32826
32827         * find_path.c:
32828         now checks '.' or '.' or '' in PATH -- but does it LAST should maybe
32829         move the code that does this into the loop body. makes it messier
32830         tho. hmmm.
32831         [c4d22b48da9a]
32832
32833 1993-09-08  Todd C. Miller  <Todd.Miller@courtesan.com>
32834
32835         * find_path.c:
32836         redid the fix for non-executable files in an easier to read way plus
32837         some minor aethetic changes
32838         [84fe337f1426]
32839
32840         * find_path.c:
32841         fixed bug with non-executable tings of same name in path introduced
32842         by checkig errno after stat(2).
32843         [c2a812cfcbc1]
32844
32845 1993-09-05  Todd C. Miller  <Todd.Miller@courtesan.com>
32846
32847         * sudo.c:
32848         fixed off by one error
32849         [fabb7cee0041]
32850
32851         * find_path.c:
32852         now handles decending below '/' correctly
32853         [5d2ddfc0b220]
32854
32855         * sudo.c:
32856         now actually builds Envp instead of munging envp
32857         [bdc4b08f6898]
32858
32859 1993-09-04  Todd C. Miller  <Todd.Miller@courtesan.com>
32860
32861         * parse.yacc:
32862         now includes sys/param.h
32863         [efbb494ab4de]
32864
32865         * visudo.c:
32866         now includes sys/param.h
32867         [ad6c91d59958]
32868
32869         * sudo.h:
32870         fixed ifndef -> ifdef
32871         [7aebe822d863]
32872
32873         * qualify.c:
32874         make more like find_path.c
32875         [853b2dab2e03]
32876
32877         * find_path.c:
32878         rewritten by millert
32879         [c6a043cc11b3]
32880
32881         * sudo.h:
32882         fixed MAXCOMMANDLENGTH now uses USE_CWD and NEED_STRDUP added info
32883         about new defines in the comment
32884         [39ffefce3aec]
32885
32886         * logging.c:
32887         now uses USE_CWD
32888         [fa0f3b118bb3]
32889
32890         * sudo.h:
32891         added delc for clean_envp() and Envp
32892         [a12034e300c2]
32893
32894         * sudo.c:
32895         now rips LD_* env vars out of envp and passed sanitized Envp to exec
32896         [d201a218e056]
32897
32898         * logging.c:
32899         now uses execve()
32900         [f3e01032cd33]
32901
32902         * find_path.c:
32903         ENOTDIR is ok now too (in case part of the path is bogus)
32904         [b5cbbb201bb5]
32905
32906         * qualify.c:
32907         now works correctly (ttaltotal rewrite)
32908         [0c25d64a5c68]
32909
32910         * parse.lex:
32911         now includes sys/param.h didn't match trailing / -- fix from
32912         rouilj@cs.umb.edu
32913         [b6363ba110af]
32914
32915 1993-06-11  Todd C. Miller  <Todd.Miller@courtesan.com>
32916
32917         * sudo.c:
32918         moved around the #ifndef _AIX
32919         [7d4330950c20]
32920
32921         * check.c, logging.c, parse.c:
32922         Initial revision
32923         [c101e9572d7f]
32924
32925 1993-03-20  Todd C. Miller  <Todd.Miller@courtesan.com>
32926
32927         * qualify.c:
32928         Initial revision
32929         [5a5f21d0e0bf]
32930
32931 1993-03-13  Todd C. Miller  <Todd.Miller@courtesan.com>
32932
32933         * find_path.c:
32934         now works if you do sudo bin/test
32935         [07835120ce43]
32936
32937         * find_path.c:
32938         works
32939         [c3da8b5efa20]
32940
32941 1993-03-02  Todd C. Miller  <Todd.Miller@courtesan.com>
32942
32943         * sudo.h:
32944         Initial revision
32945         [28a1caa38b72]
32946
32947         * visudo.c:
32948         Initial revision
32949         [0e5cd7c3cdbe]
32950
32951         * parse.lex, parse.yacc:
32952         Initial revision
32953         [5f2d0cccb06b]
32954
32955 1993-02-16  Todd C. Miller  <Todd.Miller@courtesan.com>
32956
32957         * sudo.c:
32958         took out errno.h
32959         [7466431a2655]
32960
32961         * sudo.c:
32962         now spews error if exec fails and exits with -1
32963         [e5c41ea725c1]
32964
32965         * sudo.c:
32966         Initial revision
32967         [8aeabe39a0c2]
32968
32969         * find_path.c:
32970         now only execs files with (an) executable bit set.
32971         [0a451f9c0e58]
32972
32973         * find_path.c:
32974         Initial revision
32975         [02a534891a35]
32976
32977 1993-02-15  Todd C. Miller  <Todd.Miller@courtesan.com>
32978
32979         * getpass.c:
32980         added nice comment
32981         [ea8b2aaa9389]
32982
32983         * getpass.c:
32984         now works on sgi's
32985         [bf2b7c6d0960]
32986
32987         * getpass.c:
32988         Initial revision
32989         [9f4de251c1b5]
32990