Imported Upstream version 1.7.4p6
[debian/sudo] / ChangeLog
1 2011-01-18  Todd C. Miller  <Todd.Miller@courtesan.com>
2
3         * term.c:
4         Clear, don't set, OPOST in c_oflag as was intended in e26055d17b72.
5         [eacd774c37c0]
6
7 2011-01-11  Todd C. Miller  <Todd.Miller@courtesan.com>
8
9         * check.c:
10         If the user is running sudo as himself but as a different group we
11         need to prompt for a password.
12         [fe8a94f96542]
13
14 2011-01-10  Todd C. Miller  <Todd.Miller@courtesan.com>
15
16         * pwutil.c:
17         If user has no supplementary groups, fall back on checking the group
18         file explicitly.
19         [c536ddb16bb6]
20
21 2011-01-04  Todd C. Miller  <Todd.Miller@courtesan.com>
22
23         * match.c:
24         Fix NULL dereference with "sudo -g group" when the sudoers rule has
25         no runas user or group listed. Fixes RedHat bug Bug 667103.
26         [c51e2be737b2]
27
28 2010-12-21  Todd C. Miller  <Todd.Miller@courtesan.com>
29
30         * term.c:
31         Clear OPOST from c_oflag like we used to. Fixes screen-based
32         editors such as vi.
33         [e26055d17b72]
34
35         * sudoers.pod:
36         Clarify umask option description. From Reuben Thomas.
37         [fb8bdcb54feb]
38
39 2010-11-24  Todd C. Miller  <Todd.Miller@courtesan.com>
40
41         * pp:
42         Add support for RHEL 6 file modes that include a trailing dot on
43         files with an SELinux security context
44         [fcc1daaf4df0]
45
46 2010-11-22  Todd C. Miller  <Todd.Miller@courtesan.com>
47
48         * sudoers.pod:
49         fix typo; from Michael T Hunter
50         [46e70e2063af]
51
52 2010-10-07  Todd C. Miller  <Todd.Miller@courtesan.com>
53
54         * check.c:
55         Having a timestamp file defined is no longer indicative of tty
56         tickets being enabled. Check def_tty_tickets directly.
57         [6c3803c239d9]
58
59 2010-10-01  Todd C. Miller  <Todd.Miller@courtesan.com>
60
61         * set_perms.c:
62         Sync set_project() with trunk.
63         [646fd9bc0537]
64
65         * set_perms.c, sudo.c:
66         Move set_project() into runas_setup(). Fixes a NULL deref when
67         project support is enabled and sudo's -g flag is used without the
68         -u flag.
69         [6ffd892243ab]
70
71 2010-09-21  Todd C. Miller  <Todd.Miller@courtesan.com>
72
73         * linux_audit.c:
74         Ignore ECONNREFUSED from audit_log_user_command() which will occur
75         if auditd is not running.
76         [a686884684ca]
77
78 2010-09-13  Todd C. Miller  <Todd.Miller@courtesan.com>
79
80         * install-sh:
81         Use sed instead of expr to split a flag from its argument. Fixes a
82         problem with expr interpreting its arguments as a flag when they
83         start with a dash.
84         [16372da8a286]
85
86 2010-09-08  Todd C. Miller  <Todd.Miller@courtesan.com>
87
88         * bsm_audit.c:
89         Solaris BSM audit return EINVAL when auditing is not enabled,
90         whereas OpenBSM returns ENOSYS.
91         [bb9c94a8fa7d]
92
93 2010-09-07  Todd C. Miller  <Todd.Miller@courtesan.com>
94
95         * toke.c, toke.l:
96         Add missing LOG_INPUT/LOG_OUTPUT support in the lexer.
97         [0a5519756bf1]
98
99         * sudo.c:
100         Set NewArgv[0] to the name of the pseudo-command we are running.
101         Fixes a problem with "sudo -l" when auditing is enabled and the user
102         is not allowed to run any commands on the host. Adapted from a patch
103         from Daniel Kopecek.
104         [694ed1a75a4a]
105
106 2010-09-06  Todd C. Miller  <Todd.Miller@courtesan.com>
107
108         * match.c:
109         When matching the runas user and runas group (-u and -g command line
110         options), keep track of runas group and runas user matches
111         separately. Only return a positive match if we have a match for
112         both runas user and runas group (if specified).
113         [68d30216c13a]
114
115 2010-09-04  Todd C. Miller  <Todd.Miller@courtesan.com>
116
117         * ldap.c, parse.c:
118         Do not return -1 on error from the display functions; the call
119         expects a return value >= 0.
120         [e50e6ae4d06d]
121
122         * ldap.c:
123         display_bound_defaults now returns a count so make the stub return
124         0, not 1.
125         [97293ced4908]
126
127 2010-09-03  Todd C. Miller  <Todd.Miller@courtesan.com>
128
129         * get_pty.c:
130         It looks like AIX doesn't need to push STREAMS modules for ptys.
131         [62c281fcd4ad]
132
133 2010-08-30  Todd C. Miller  <Todd.Miller@courtesan.com>
134
135         * Makefile.in:
136         Install sudoers file from the build dir not hte src dir.
137         [a26afd8db531]
138
139 2010-08-26  Todd C. Miller  <Todd.Miller@courtesan.com>
140
141         * set_perms.c:
142         If runas_pw changes, reset the stashed runas aux group vector.
143         Otherwise, if runas_default is set in a per-command Defaults
144         statement, the command runs with root's aux group vector (i.e. the
145         one that was used when locating the command).
146         [24a695707b67]
147
148         * Makefile.in:
149         Add target to generate sudoers file Remove generated sudoers file as
150         part of distclean
151         [448627fc35b6]
152
153 2010-08-23  millert  <millert@rh4-x86.home.courtesan.com>
154
155         * exec.c:
156         When not logging I/O install a handler for SIGCONT and deliver it to
157         the command upon resume. Fixes bugzilla #431
158         [e84690aa67bd]
159
160 2010-08-21  Todd C. Miller  <Todd.Miller@courtesan.com>
161
162         * sudo.c:
163         Don't need to fork and wait when compiled with --disable-pam-session
164         [2ae1bbe4437a]
165
166 2010-08-20  Todd C. Miller  <Todd.Miller@courtesan.com>
167
168         * lbuf.c:
169         Convert a remaining puts() and putchar() to use the output function.
170         [d68c213feb0f]
171
172 2010-08-18  Todd C. Miller  <Todd.Miller@courtesan.com>
173
174         * Makefile.in:
175         Replace sudoers with sudoers.in in DISTFILES
176         [616509f85d6c]
177
178         * env.c:
179         Set dupcheck to TRUE when setting new HOME value if !env_reset but
180         always_set_home is true. Prevents a duplicate HOME in the
181         environment (old value plus the new one) introduced in 9f97e4b43a4b.
182         [2672ae047984]
183
184         * configure, configure.in, sudoers, sudoers.in:
185         Substitute sysconfdir in the installed sudoers file to get the
186         correct path for sudoers.d.
187         [ab14a68e546f]
188
189 2010-08-17  Todd C. Miller  <Todd.Miller@courtesan.com>
190
191         * boottime.c, get_pty.c:
192         Fix typos that prevented compilation on Irix; Friedrich Haubensak
193         [a3e6c5a66890]
194
195 2010-08-14  Todd C. Miller  <Todd.Miller@courtesan.com>
196
197         * auth/pam.c:
198         If the user hits ^C while a password is being read, error out before
199         reading any further passwords in the pam conversation function.
200         Otherwise, if multiple PAM auth methods are required, the user will
201         have to hit ^C for each one.
202         [c8f6bc58fd86]
203
204 2010-08-09  Todd C. Miller  <Todd.Miller@courtesan.com>
205
206         * exec.c:
207         Fix waitpid() loop termination condition.
208         [97719b3259f2]
209
210         * exec_pty.c:
211         Use sudo_waitpid() instead of bare waitpid()
212         [624a40269189]
213
214 2010-08-07  Todd C. Miller  <Todd.Miller@courtesan.com>
215
216         * sudo.pp:
217         Set pp_kit_version and strip off patchlevel
218         [814c87778567]
219
220         * sudo.pp:
221         Better handling of versions with a patchlevel. For rpm and deb, use
222         the patchlevel+1 as the release. For AIX, use the patchlevel as the
223         4th version number. For the rest, just leave the patchlevel in the
224         version string.
225         [d18ef30f0a72]
226
227 2010-08-06  Todd C. Miller  <Todd.Miller@courtesan.com>
228
229         * auth/sudo_auth.c:
230         For non-standalone auth methods, stop reading the password if the
231         user enters ^C at the prompt.
232         [59d2b1328d1e]
233
234         * check.c:
235         When removing/resetting the timestamp file ignore the tty ticket
236         contents.
237         [8b285f601ec0]
238
239 2010-08-04  Todd C. Miller  <Todd.Miller@courtesan.com>
240
241         * UPGRADE:
242         Fix typo
243         [0f443aa22e96]
244
245 2010-08-03  Todd C. Miller  <Todd.Miller@courtesan.com>
246
247         * check.c:
248         Do not produce a warning for "sudo -k" if the ticket file does not
249         exist.
250         [eeaaa73d7f5b]
251
252 2010-08-02  Todd C. Miller  <Todd.Miller@courtesan.com>
253
254         * aclocal.m4, configure:
255         Add cross-compile defaults for remaining AC_TRY_RUN usage.
256         [fb88d22eabc6]
257
258 2010-07-31  Todd C. Miller  <Todd.Miller@courtesan.com>
259
260         * aclocal.m4, config.h.in, configure, configure.in, snprintf.c:
261         Use AC_CHECK_MEMBER in SUDO_SOCK_SA_LEN Use AC_TYPE_LONG_LONG_INT
262         and AC_CHECK_SIZEOF([long int]) instead of rolling our own.
263         [5e7cc557a46e]
264
265 2010-07-30  Todd C. Miller  <Todd.Miller@courtesan.com>
266
267         * .hgtags:
268         Added tag SUDO_1_7_4 for changeset 2920a3b9d568
269         [e929004d5102]
270
271         * pp:
272         Debian: Remove dots from decoded release number AIX: looser matching
273         of file command output for AIX 5.1
274         [2920a3b9d568] [SUDO_1_7_4]
275
276         * .hgtags:
277         Added tag SUDO_1_7_4 for changeset 0d844aa34c1d
278         [cf65ddcec602]
279
280 2010-07-29  Todd C. Miller  <Todd.Miller@courtesan.com>
281
282         * exec_pty.c:
283         exec_monitor is static
284         [0d844aa34c1d]
285
286         * pp:
287         Update to latest version
288         [7b8a00defbd6]
289
290 2010-07-28  Todd C. Miller  <Todd.Miller@courtesan.com>
291
292         * sudo.pp:
293         Let pp determine pp_aix_version itself.
294         [c5ee7944af03]
295
296         * INSTALL, config.h.in, configure, configure.in, mkpkg, sudo.c:
297         Add support for Ubuntu admin flag file and enable it when building
298         Ubuntu packages.
299         [2d97501cda0c]
300
301         * sudo.pp, sudoers:
302         Add commented out SuSE-like targetpw settings
303         [f4ad331ace46]
304
305         * configure, configure.in:
306         Only try to use +DAportable for non-GCC on hppa Check the value of
307         $pic_flag insteaf of whether the compiler is ANSI C when detecting
308         the HP-UX bundled C compiler.
309         [654da0091c16]
310
311         * configure, configure.in:
312         Prevent configure from adding the -g flag unless in devel mode
313         [e3c11f228c56]
314
315 2010-07-27  Todd C. Miller  <Todd.Miller@courtesan.com>
316
317         * sudo.pp:
318         Go back to sudo-flavor to match existing packages and only use an
319         underscore for those that need it.
320         [1f78ecf3b990]
321
322         * sudo.pp:
323         Use sudo_$flavor instead of sudo-$flavor since that causes the least
324         amount of trouble for the various package managers.
325         [7e1e07115788]
326
327         * mkpkg:
328         Fix handling of the ldap flavor Remove destdir unless --debug was
329         specified Make distclean before running configure if there is a
330         Makefile present
331         [2bde3925346d]
332
333         * configure, configure.in:
334         Back out version change in 5baf2187a138
335         [bbc3a81afbba]
336
337         * mkpkg:
338         Pass extra args on to configure on HP-UX, if we don't have the HP C
339         compiler, disable zlib to prevent gcc from finding it in
340         /usr/local/lib.
341         [87201c7f1116]
342
343         * configure, configure.in, mkpkg:
344         Use the HP ANSI C compiler on HP-UX if possible
345         [5baf2187a138]
346
347         * sudoreplay.c:
348         Some getline() implementations (FreeBSD 8.0) do not ignore the
349         length pointer when the line pointer is NULL as they should.
350         [8652300785ed]
351
352         * sudoreplay.c:
353         Don't need to check for *cp being non-zero, isdigit() will do that.
354         [107301a99b6a]
355
356         * sudoreplay.c:
357         Add setlocale() so the command line arguments that use floating
358         point work in different locales. Since sudo now logs the timing
359         data in the C locale we must Parse the seconds in the timing file
360         manually instead of using strtod(). Furthermore, sudo 1.7.3 logged
361         the number of seconds with the user's locale so if the decimal point
362         is not '.' try using the locale-specific version.
363         [2b8ed181e37c]
364
365         * exec.c:
366         Do I/O logging in the C locale so the floating point numbers in the
367         timing file are not locale-dependent.
368         [18abbca14078]
369
370         * sudoreplay.c:
371         Use errorx() not error() for thingsthat don't set errno.
372         [a2e7c6793d26]
373
374 2010-07-26  Todd C. Miller  <Todd.Miller@courtesan.com>
375
376         * sudo.pp:
377         Add Tru64 kit support
378         [40e2d21aa17f]
379
380         * pp:
381         Better support for 1.2.3 style versions in Tru64 kits
382         [f7133199a711]
383
384         * pp:
385         Remove apparently unnecessary use of sudo
386         [a667a69eeab0]
387
388         * Makefile.in:
389         Create timedir as part of install-dirs target.
390         [a2e394d694dd]
391
392         * exec_pty.c:
393         Handle ENXIO from read/write which can occur when reading/writing a
394         pty that has gone away. Fixes bugzilla 422
395         [142f4c2efa17]
396
397         * pwutil.c:
398         sudo_pwdup() was not expanding an empty pw_shell to _PATH_BSHELL
399         [82e5e46bf458]
400
401         * mkpkg:
402         platform is a pp flag not a variable
403         [9d0ab9b9bf0c]
404
405         * Makefile.in, mkpkg, sudo.pp:
406         Add simple arg parsing for mkpkg so we can set debug, flavor or
407         platform.
408         [8142ab01ccd9]
409
410         * pp:
411         Make rpm backend work on AIX 5.x
412         [2467a79d0b4d]
413
414 2010-07-25  Todd C. Miller  <Todd.Miller@courtesan.com>
415
416         * sudoers:
417         Add commented out Defaults entry for log_output
418         [b3fe97e59ae0]
419
420 2010-07-23  Todd C. Miller  <Todd.Miller@courtesan.com>
421
422         * Makefile.in:
423         Install binary files with -b~ to make a backup. Fixes "text file
424         busy" error on HP-UX during install.
425         [3563e3e0163a]
426
427         * install-sh:
428         "mv -f" on HP-UX doesn't unlink the destination first so add an
429         explicit rm before moving the temporary into place.
430         [3994af813c88]
431
432         * configure, configure.in:
433         Some more ${foo} -> $(foo) conversion for consistent Makefiles.
434         [c214d50c32ec]
435
436 2010-07-22  Todd C. Miller  <Todd.Miller@courtesan.com>
437
438         * pathnames.h.in:
439         Add missing include of maillock.h for Solaris
440         [343f04b7a581]
441
442         * NEWS, TROUBLESHOOTING, UPGRADE, configure, configure.in,
443         sample.syslog.conf, sudoers.cat:
444         Change the default syslog facility from local2 to authpriv (or auth
445         if the operating system doesn't support authpriv).
446         [949f39cf4a59]
447
448         * Makefile.in, configure, configure.in, sudo.pp:
449         Install sudoers as /etc/sudoers on RPM and debian systems where the
450         package manager will not replace a user-modified configuration file.
451         This fixes upgrades from the vendor sudo packages.
452         [74c7ff01e880]
453
454         * pp:
455         RPM: use %config(noreplace) instead of %config for volatile This
456         results in the new file being installed with a .rpmnew suffix
457         instead of the file being replaced and the old one renamed with a
458         .rpmsave suffix.
459         [166133a4fb9e]
460
461 2010-07-21  Todd C. Miller  <Todd.Miller@courtesan.com>
462
463         * boottime.c, mkstemps.c:
464         Include time.h for struct timeval.
465         [50446e0b8398]
466
467         * exec_pty.c:
468         The return value of strsignal() may be const and should be treated
469         as const regardless.
470         [c035b17b50e3]
471
472         * sudoers.cat, sudoers.man.in, sudoers.pod:
473         Mention that 127.0.0.1 will not match, nor will localhost unless
474         that is the actual host name.
475         [e9977ec7ac4f]
476
477         * Makefile.in:
478         fix typo
479         [f216d653404d]
480
481         * Makefile.in, NEWS, README, UPGRADE, WHATSNEW:
482         Rename WHATSNEW -> NEWS
483         [f3ce0a462ca0]
484
485         * pp:
486         Updated pp with latest patches
487         [cded68af5ba0]
488
489         * WHATSNEW, exec.c, exec_pty.c, set_perms.c, sudo.c, sudo.h:
490         If pam is in use, wait until the process has finished before calling
491         pam_close_session().
492         [fb3d7de50a05]
493
494         * sudoers.cat, sudoers.man.in:
495         regen sudoers manual
496         [7498a058eeb1]
497
498         * UPGRADE, sudoers, sudoers.pod:
499         Add commented out line to add HOME to env_keep and add a warning to
500         the note about the HOME change in UPGRADE.
501         [0f7e08f09b9f]
502
503 2010-07-20  Todd C. Miller  <Todd.Miller@courtesan.com>
504
505         * sudoreplay.c:
506         Add LINE_MAX define for those without it.
507         [6248dd44573c]
508
509         * WHATSNEW:
510         Mention that tty_tickets is now the default.
511         [4cf26eaee5ba]
512
513         * INSTALL, UPGRADE, config.h.in, configure, configure.in, defaults.c,
514         sudoers.cat, sudoers.man.in, sudoers.pod:
515         The tty_tickets option is now on by default.
516         [73dd2b82a3a9]
517
518         * WHATSNEW:
519         Mention that AIX authdb support has been fixed.
520         [9331829dc276]
521
522         * aix.c:
523         setauthdb() only sets the "old" registry if it was set by a previous
524         call to setauthdb(). To restore the original value, passing NULL
525         (or an empty string) to setauthdb() is sufficient.
526         [d956fd763521]
527
528 2010-07-19  Todd C. Miller  <Todd.Miller@courtesan.com>
529
530         * sudoers.cat, sudoers.man.in, sudoers.pod:
531         Mention new handling of HOME in always_set_home and set_home
532         descriptions.
533         [a69c9bed3164]
534
535         * sudo.cat, sudo.man.in, sudo.pod:
536         fix typo
537         [9b90bb3e9187]
538
539         * UPGRADE, WHATSNEW, env.c, sudo.cat, sudo.man.in, sudo.pod:
540         Reset HOME when env_reset is enabled unless it is in env_keep
541         [18223dfd1ac3]
542
543         * sudoers.cat, sudoers.man.in, sudoers.pod:
544         The default for set_logname has been "true" for some time now.
545         [9f97e4b43a4b]
546
547         * sudoers.cat, sudoers.man.in, sudoers.pod:
548         Document that MAIL it set in env_reset mode.
549         [dcf9ad98079e]
550
551         * boottime.c:
552         Add missing include of time.h
553         [57bee414982d]
554
555         * defaults.c, sudo.c:
556         Check return value of setdefs() but don't stop setting defaults if
557         we hit an unknown one.
558         [a42cb2d6b7ed]
559
560         * logging.c:
561         Fix check for dup2() return value.
562         [916cd7fdeba7]
563
564         * visudo.c:
565         Treat an unknown defaults entry as a parse error.
566         [1f94675835d9]
567
568         * env.c:
569         Check KEPT_MAIL not DID_MAIL when determining whether to set MAIL in
570         -i and env_reset mode.
571         [aa6657ccfe01]
572
573         * env.c:
574         Add PYTHONUSERBASE to initial_badenv_table
575         [93058374f0d9]
576
577         * WHATSNEW, aclocal.m4, config.h.in, configure, configure.in, env.c,
578         pathnames.h.in, sudo.cat, sudo.man.in, sudo.pod:
579         If env_reset is enabled, set the MAIL environment variable based on
580         the target user unless MAIL is explicitly preserved in sudoers.
581         [d903c904dcd4]
582
583 2010-07-17  Todd C. Miller  <Todd.Miller@courtesan.com>
584
585         * pp:
586         decode debian code names
587         [2df0ecbc23b4]
588
589         * WHATSNEW:
590         fix typo
591         [b66a95fa1869]
592
593 2010-07-16  Todd C. Miller  <Todd.Miller@courtesan.com>
594
595         * WHATSNEW:
596         Add entry about SuSE bash script fix.
597         [04af78fa281c]
598
599         * sudo.c:
600         Restore RLIMIT_NPROC after the uid switch if it appears that
601         runas_setup() did not do it for us. Fixes a bash script problem on
602         SuSE with RLIMIT_NPROC set to RLIM_INFINITY.
603         [bb14802d48b1]
604
605 2010-07-15  Todd C. Miller  <Todd.Miller@courtesan.com>
606
607         * mkpkg, pp, sudo.pp:
608         Restore the dot removal in the os version reported by polypkg. Adapt
609         mkpkg and sudo.pp to the change.
610         [83c7870130fe]
611
612 2010-07-16  Todd C. Miller  <Todd.Miller@courtesan.com>
613
614         * WHATSNEW:
615         Mention polypkg
616         [c5f6e40bbb58]
617
618         * README, WHATSNEW:
619         Update for sudo 1.7.4
620         [0c688f1f8160]
621
622         * INSTALL:
623         document --with-pam-login
624         [33ca3f6308ae]
625
626         * sudoers.cat, sudoers.man.in, sudoers.pod:
627         The tag is NOSETENV, not UNSETENV. From Petr Uzel.
628         [95f37e63ca15]
629
630 2010-07-15  Todd C. Miller  <Todd.Miller@courtesan.com>
631
632         * sudo.pp:
633         Include flavor in solaris package name
634         [b6d56ccf367e]
635
636         * mkpkg:
637         Older shells don't support IFS= so set explictly to space, tab,
638         newline.
639         [336925525e17]
640
641         * mkpkg:
642         Use '=' not '==' in test
643         [98c692271cfd]
644
645         * mkpkg:
646         Fix typo that prevented debian from matching
647         [af4deec35e37]
648
649         * mkpkg:
650         Add missing prefix setting for debian
651         [d0c1941cb6ec]
652
653         * sudo.pp:
654         Use tab indents to reduce the chance of problem with <<- Uncomment
655         some env_keep lines for RHEL, SLES and Debian to more closely match
656         the vendor sudoers files.
657         [74ba26566cdc]
658
659         * sudo.pp:
660         Fix indentation Fix the debian %set section, pp does not set
661         pp_deb_distro Uncomment %sudo line in sudoers for debian Add pam.d
662         to %files for debian Remove the /etc/sudo-ldap.conf symlink on
663         debian for ldap flavor
664         [f15ff41b5afd]
665
666         * sudoers:
667         Add commented out env_keep entries, sample Aliases and a %sudo line
668         for debian.
669         [8264e4ed42dc]
670
671         * configure, configure.in:
672         Remove check for egrep; configure has its own
673         [27b3d85ebf4f]
674
675         * configure.in:
676         Use enable_zlib instead of enableval for consistency
677         [4a15cfd43d3e]
678
679 2010-07-14  Todd C. Miller  <Todd.Miller@courtesan.com>
680
681         * mkpkg:
682         Enable zlib for linux distros
683         [fcab91448bb0]
684
685         * mkpkg:
686         Add ldap flavor to default build
687         [e35a577c8994]
688
689         * mkpkg, sudo.pp:
690         Simplify rpm linux distro settings
691         [f30547765636]
692
693         * UPGRADE, aclocal.m4, configure, configure.in, sudo.cat, sudo.man.in,
694         sudoers.cat:
695         Move time stamp files from /var/run/sudo to /var/{db,lib,adm}/sudo.
696         [8c9440423d98]
697
698         * Makefile.in, mkpkg, sudo.pp:
699         Add ldap "flavor" for debian, controlled by the SUDO_FLAVOR
700         environment variable.
701         [9f418defc08a]
702
703         * sudo.pp:
704         Create sudo group on debian
705         [4b0cc7b8b0b5]
706
707         * mkpkg, sudo.pp:
708         Add debian 4/5/6 and use the dot when doing version matches
709         [d5184f0a1efc]
710
711         * sudoers.cat, sudoers.man.in, sudoers.pod:
712         Remove spurious "and"; from debian
713         [8b9f2a5937bc]
714
715         * aclocal.m4, configure:
716         Use a loop when searching for mv, sendmail and sh
717         [a1c7d19721a4]
718
719         * aclocal.m4, configure, configure.in, sudoers.cat, sudoers.man.in,
720         sudoers.pod, visudo.cat, visudo.man.in, visudo.pod:
721         Substitute the value of EDITOR into the sudoers and visudo manuals.
722         [f00dc9343f94]
723
724 2010-07-13  Todd C. Miller  <Todd.Miller@courtesan.com>
725
726         * mkpkg, pp, sudo.pp:
727         Initial debian 4.0 support
728         [6d73c000723f]
729
730         * mkpkg:
731         Some platforms need -fPIE instead of -fpie
732         [8533a29633e8]
733
734         * Makefile.in:
735         Add packaging bits to DISTFILES
736         [dea9f374f28b]
737
738         * auth/pam.c:
739         Only set PAM_RHOST for Solaris, where it is needed to avoid a bug.
740         On Linux it causes a DNS lookup via libaudit.
741         [22e04d2f5f0f]
742
743         * sudo.psf:
744         We now use pp to generate HP-UX packages
745         [6c9f8ae6bc11]
746
747 2010-07-12  Todd C. Miller  <Todd.Miller@courtesan.com>
748
749         * auth/pam.c:
750         Fix indentation
751         [e52e9e6338d5]
752
753         * INSTALL, Makefile.in:
754         isntall-man -> install-doc
755         [02cc8198ea7a]
756
757         * configure, configure.in, sudo.cat, sudo.man.in, sudoers.cat,
758         sudoers.ldap.cat, sudoers.ldap.man.in, sudoers.man.in,
759         sudoreplay.cat, sudoreplay.man.in, visudo.cat, visudo.man.in:
760         Bump version to 1.7.4
761         [df6ce4ea908a]
762
763         * INSTALL.binary, Makefile.binary.in, Makefile.in:
764         Remove remaining bits of the old binary package
765         [8d4f82c23c22]
766
767         * sudo.pp:
768         Use http://rc.quest.com/topics/polypkg/ for packaging
769         [d71793085629]
770
771         * Makefile.in, mkpkg, pp:
772         Use http://rc.quest.com/topics/polypkg/ for packaging
773         [675e505758c5]
774
775         * install-sh:
776         Just ignore the -c option, it is the default Add support for -d
777         option
778         [2adfb3a63231]
779
780         * env.c, logging.c, pathnames.h.in:
781         Use _PATH_STDPATH instead of _PATH_DEFPATH
782         [2c22d54a1f02]
783
784         * Makefile.in:
785         Do not strip binaries.
786         [bc84682b372c]
787
788         * INSTALL, configure, configure.in:
789         Add --insults=disabled configure option to allow people to build in
790         insult support but have the insults disabled unless explicitly
791         enabled in sudoers.
792         [6d9f40db9cca]
793
794 2010-07-10  Todd C. Miller  <Todd.Miller@courtesan.com>
795
796         * env.c, sudoreplay.c:
797         Fix K&R compilation
798         [e44d3be7ab85]
799
800 2010-07-09  Todd C. Miller  <Todd.Miller@courtesan.com>
801
802         * auth/pam.c, config.h.in, configure, configure.in, env.c, sudo.c,
803         sudo.h:
804         Add support for a sudo-i pam.d file to be used for "sudo -i".
805         Adapted from a RedHat patch.
806         [2984c3831d88]
807
808         * Makefile.in:
809         Fix installation of sudo_noexec.so
810         [d1f7ca8331b6]
811
812         * Makefile.in, config.h.in, configure, configure.in, missing.h,
813         mkstemp.c, mkstemps.c, sudo_edit.c:
814         Use mkstemps() instead of mkstemp() in sudoedit. This allows
815         sudoedit to preserve the file extension (if any) which may be used
816         by the editor (like emacs) to choose the editing mode.
817         [46399679d9ae]
818
819 2010-07-08  Todd C. Miller  <Todd.Miller@courtesan.com>
820
821         * ldap.c, sudoers.ldap.cat, sudoers.ldap.man.in, sudoers.ldap.pod:
822         TLS_CACERT is now an alias for TLS_CACERTFILE. OpenLDAP uses
823         TLS_CACERT, not TLS_CACERTFILE in its ldap.conf. Other LDAP client
824         code, such as nss_ldap, uses TLS_CACERTFILE. Also document why you
825         should avoid disabling TLS_CHECKPEER is possible.
826         [1d626a5cf8c0]
827
828 2010-07-07  Todd C. Miller  <Todd.Miller@courtesan.com>
829
830         * toke.c, toke.l:
831         Add suport for negated user/host/command lists in a Defaults entry.
832         E.g. Defaults:!baduser noexec
833         [24f07a805dce]
834
835 2010-07-01  Todd C. Miller  <Todd.Miller@courtesan.com>
836
837         * sudoers.ldap.pod:
838         fix typo.
839         [d5f2922cecf2]
840
841 2010-06-29  Todd C. Miller  <Todd.Miller@courtesan.com>
842
843         * .hgtags:
844         Added tag SUDO_1_7_3 for changeset 72fd1f510a08
845         [cc8b2277e17e]
846
847         * configure, configure.in, sudo.cat, sudo.man.in, sudoers.cat,
848         sudoers.ldap.cat, sudoers.ldap.man.in, sudoers.man.in,
849         sudoreplay.cat, sudoreplay.man.in, visudo.cat, visudo.man.in:
850         Sudo 1.7.3 GA
851         [72fd1f510a08] [SUDO_1_7_3]
852
853         * alias.c, alloc.c, auth/afs.c, auth/aix_auth.c, auth/bsdauth.c,
854         auth/dce.c, auth/fwtk.c, auth/kerb4.c, auth/kerb5.c, auth/pam.c,
855         auth/passwd.c, auth/rfc1938.c, auth/secureware.c, auth/securid.c,
856         auth/securid5.c, auth/sia.c, auth/sudo_auth.c, boottime.c, check.c,
857         defaults.c, env.c, exec.c, exec_pty.c, fileops.c, find_path.c,
858         fnmatch.c, get_pty.c, getcwd.c, getdate.c, getdate.y, getline.c,
859         getspwuid.c, glob.c, goodpath.c, gram.c, gram.y, interfaces.c,
860         iolog.c, lbuf.c, ldap.c, logging.c, match.c, parse.c, parse_args.c,
861         pwutil.c, set_perms.c, snprintf.c, sudo.c, sudo_edit.c, sudo_nss.c,
862         sudoreplay.c, term.c, testsudoers.c, tgetpass.c, toke.c, toke.l,
863         tsgetgrpw.c, visudo.c:
864         Include strings.h even if string.h exists since they may define
865         different things. Fixes warnings on AIX and others.
866         [7c6de7fb5dba]
867
868         * env.c:
869         Do not rely on env.env_len when unsetting a variable, just use the
870         NULL terminator.
871         [faf088613ce5]
872
873         * env.c:
874         In unsetenv() check for NULL or empty name as per POSIX 1003.1-2008
875         [47f8dfcc7a48]
876
877 2010-06-28  Todd C. Miller  <Todd.Miller@courtesan.com>
878
879         * sudoers.ldap.cat, sudoers.ldap.man.in, sudoers.ldap.pod:
880         Mention that multiple URI lines are merged into a single one.
881         [1dc0ac5929bf]
882
883         * WHATSNEW:
884         Document AIX fixes
885         [be36e8a6dddd]
886
887 2010-06-26  Todd C. Miller  <Todd.Miller@courtesan.com>
888
889         * env.c, sudo.c, sudo.h:
890         For env_init() just use environ not the envp from main().
891         [d4f3e374caeb]
892
893 2010-06-25  Todd C. Miller  <Todd.Miller@courtesan.com>
894
895         * configure, configure.in, sudo.cat, sudo.man.in, sudoers.cat,
896         sudoers.ldap.cat, sudoers.ldap.man.in, sudoers.man.in,
897         sudoreplay.cat, sudoreplay.man.in, visudo.cat, visudo.man.in:
898         Update version to 1.7.3rc1
899         [fe43fe79070d]
900
901         * TODO:
902         fqdn issue is resolved
903         [f35cb63eb74b]
904
905         * env.c:
906         In unsetenv(), assign ep in the for loop instead of doing it
907         earlier. This version of the code does not change env.envp in
908         between when ep is assigned and when it is used but older versions
909         (e.g. 1.7.2) do.
910         [a4cd29c862c9]
911
912         * aix.c:
913         Use S_REGISTRY instead of S_AUTHSYSTEM as the argument to
914         getuserattr() when fetching the administrative domain to be used by
915         setauthdb(). This was suggested by AIX support and is consistent
916         with what OpenSSH does.
917         [d3109706ec85]
918
919         * vasgroups.c:
920         Use warningx() instead of log_error() since the latter is not
921         available to visudo or testsudoers. This does mean that they don't
922         end up in syslog.
923         [0174e89f983b]
924
925         * sudo.c:
926         Defer call to sudo_nonunix_groupcheck_cleanup() until after we have
927         closed the sudoers sources. From Quest sudo.
928         [c1b33e3e0f9e]
929
930         * pwutil.c:
931         Ignore case when matching user/group names in the cache. From Quest
932         sudo.
933         [72df368a8a0e]
934
935 2010-06-24  Todd C. Miller  <Todd.Miller@courtesan.com>
936
937         * config.h.in, configure, configure.in, selinux.c:
938         Add check for setkeycreatecon() when --with-selinux is specified.
939         [24144c52c0cc]
940
941         * configure, configure.in:
942         Bump version to 1.7.3b5 Error out if libaudit.h is missing or
943         ununable when --with-linux-audit was specified
944         [215c7653d9bc]
945
946         * aix.c:
947         K&R function declaration for aix_setauthdb()
948         [82da12d222a6]
949
950         * env.c, sudo.c, sudo.h:
951         If env_init() was called implicitly via getenv(), setenv() or
952         putenv() just use the specified envp instead of mallocing a new
953         copy. This prevents an infinite loop on OpenBSD which calls
954         getenv() from malloc() to get MALLOC_OPTIONS.
955         [8e82ce63f774]
956
957         * ldap.c:
958         Add support for multiple URI lines by joining the contents and
959         passing the result to ldap_initialize.
960         [b4e10b2ffdb1]
961
962 2010-06-23  Todd C. Miller  <Todd.Miller@courtesan.com>
963
964         * pwutil.c, set_perms.c, sudo_nss.c:
965         Bracket initgroups with calls to aix_setauthdb() and
966         aix_restoreauthdb()
967         [363dbe449f1c]
968
969         * aix.c:
970         Include compat.h before alloc.h to get __P
971         [819a2667ffd7]
972
973         * auth/aix_auth.c:
974         Include usersec.h for authenticate() prototype
975         [2b8dd2b67131]
976
977         * aix.c:
978         Add missing includes Add missing trailing NUL in userinfo string
979         [8deaedf44943]
980
981 2010-06-22  Todd C. Miller  <Todd.Miller@courtesan.com>
982
983         * HISTORY, history.pod:
984         Mention when LDAP was incorporated.
985         [4e6c8ec4f67c]
986
987 2010-06-21  Todd C. Miller  <Todd.Miller@courtesan.com>
988
989         * configure:
990         Define _LINUX_SOURCE_COMPAT on AIX for strsignal() prototype, it is
991         not covered by _ALL_SOURCE.
992         [3657f1b181b9]
993
994         * pwutil.c:
995         Include usersec.h on AIX to get IDtouser() prototype.
996         [11483bbe15c7]
997
998         * configure.in:
999         Define _LINUX_SOURCE_COMPAT on AIX for strsignal() prototype, it is
1000         not covered by _ALL_SOURCE.
1001         [fd48e6e2136b]
1002
1003 2010-06-18  Todd C. Miller  <Todd.Miller@courtesan.com>
1004
1005         * iolog.c:
1006         Add a cast to quiet a compiler warning.
1007         [51e9d419bd83]
1008
1009         * boottime.c:
1010         Use memset() instead of zero_bytes() since we don't include sudo.h
1011         [f310b2123ba9]
1012
1013         * Makefile.in:
1014         getline.o is already in LIB_OBJS, do not need it in COMMON_OBJS
1015         [c8750c2d75ab]
1016
1017         * getdate.c, getdate.y:
1018         Quiet a compiler warning.
1019         [9f231be15958]
1020
1021         * defaults.c, sudo.c:
1022         Call set_fqdn() after sudoers has parsed instead of inline as a
1023         callback.
1024         [26d413ddb6dd]
1025
1026         * WHATSNEW:
1027         Do not call set_fqdn() until sudoers parses (where is gets run as a
1028         callback).
1029         [582453a993a1]
1030
1031         * sudo.c:
1032         Do not call set_fqdn() until sudoers parses (where is gets run as a
1033         callback). Otherwise, if sudo is built --with-fqdn the fqdn will be
1034         set even if !fqdn is set in sudoers.
1035         [aa01e867d1bb]
1036
1037         * configure, configure.in, sudo.cat, sudo.man.in, sudoers.cat,
1038         sudoers.ldap.cat, sudoers.ldap.man.in, sudoers.man.in,
1039         sudoreplay.cat, sudoreplay.man.in, visudo.cat, visudo.man.in:
1040         Bump version to 1.7.3b4
1041         [c1c5a73766b6]
1042
1043         * WHATSNEW:
1044         mention the change in tty ticket behavior when there is no tty
1045         [93ddde63e453]
1046
1047         * TODO:
1048         remove done items
1049         [9601b2e8dcef]
1050
1051         * aix.c:
1052         Remove comment; NAME in usrinfo should be user name.
1053         [eb46f1e8ea08]
1054
1055         * check.c:
1056         Do not update tty ticket if there is no tty.
1057         [e64e8c8f2286]
1058
1059         * sudo.cat, sudo.man.in, sudo.pod:
1060         No longer need to use -- with the -s flag
1061         [e45c18dd79dc]
1062
1063         * Makefile.in:
1064         Add missing $(srcdir) to sudo.man.in target
1065         [2bd89f6ca9f3]
1066
1067         * Makefile.in:
1068         Do not rely on BSD make's $>
1069         [cb328b82cb92]
1070
1071         * configure, configure.in:
1072         Set timedir to /var/db/sudo for darwin to match Apple sudo's
1073         location
1074         [860c7f1b001f]
1075
1076 2010-06-16  Todd C. Miller  <Todd.Miller@courtesan.com>
1077
1078         * Makefile.in, configure, configure.in:
1079         Move aix.o from SUDO_OBJS to COMMON_OBJS
1080         [f8a9bdf346c1]
1081
1082         * config.h.in, configure, configure.in, defaults.c, iolog.c,
1083         sudoreplay.c:
1084         Check for zlib.h in addition to libz.
1085         [fb77e44d5196]
1086
1087         * Makefile.in, exec.c, exec_pty.c, sudo.h, sudo_exec.h:
1088         Move functions and symbols shared between exec.c and exec_pty.c into
1089         sudo_exec.h.
1090         [e798d945424e]
1091
1092         * sudo.h:
1093         Add missing prototypes for aix_setauthdb and aix_restoreauthdb
1094         [8bc2af6d4e17]
1095
1096         * Makefile.in:
1097         Comment out rules to build .man.in and .cat files unless --with-
1098         devel
1099         [81d6726a19ab]
1100
1101         * aix.c, pwutil.c, set_perms.c, sudo.h:
1102         Fix AIX compilation problems.
1103         [7d95f73eca42]
1104
1105         * sudo.c:
1106         Cast isalnum() arg to unsigned char.
1107         [5fff9a81af00]
1108
1109         * WHATSNEW:
1110         Add Linux audit support.
1111         [e59e0670ba79]
1112
1113         * sudo.c:
1114         Quote any non-alphanumeric characters other than '_' or '-' when
1115         passing a command to be run via the shell for the -s and -i options.
1116         [d35a3f4cb3c0]
1117
1118         * sudo.c:
1119         Add missing braces that broke -i mode.
1120         [7fe124b078ec]
1121
1122         * linux_audit.c:
1123         Fix linux_audit_command() return value
1124         [0c582476181c]
1125
1126 2010-06-15  Todd C. Miller  <Todd.Miller@courtesan.com>
1127
1128         * Makefile.in, linux_audit.c, linux_audit.h:
1129         Add Linux audit support.
1130         [b207dc9960de]
1131
1132 2010-06-16  Todd C. Miller  <Todd.Miller@courtesan.com>
1133
1134         * INSTALL, audit.c, bsm_audit.c, config.h.in, configure, configure.in,
1135         logging.h, selinux.c:
1136         Add Linux audit support.
1137         [26ae31d7ff93]
1138
1139 2010-06-15  Todd C. Miller  <Todd.Miller@courtesan.com>
1140
1141         * sudoreplay.c, sudoreplay.cat, sudoreplay.man.in, sudoreplay.pod:
1142         Sync sudoreplay with trunk
1143         [65b780cccfa5]
1144
1145         * exec_pty.c:
1146         Remove an XXX
1147         [8304ac649241]
1148
1149         * aix.c, configure, configure.in, pwutil.c, set_perms.c, sudo.h:
1150         Set usrinfo for AIX Set adminstrative domain for the process when
1151         looking up user's password info and when preparing for execve().
1152         [52b48cbe97fd]
1153
1154         * ldap.c, parse.c:
1155         Better prefix determination now that we can't rely on len==0 to tell
1156         the beginning on an entry.
1157         [32f1875d9605]
1158
1159         * WHATSNEW, ldap.c, sudoers.ldap.cat, sudoers.ldap.man.in,
1160         sudoers.ldap.pod:
1161         Add support for multiple sudoers_base entries in ldap.conf. From
1162         Joachim Henke
1163         [3c0b59fce7b4]
1164
1165         * configure, configure.in:
1166         Remove duplicate setsid check
1167         [7712d6d52da1]
1168
1169         * Makefile.in, config.h.in, configure, configure.in, exec_pty.c,
1170         logging.c, missing.h, setsid.c:
1171         Move setsid emulation into setsid.c
1172         [f24743c9e4e9]
1173
1174         * exec_pty.c, logging.c, selinux.c, sudo.c, tgetpass.c:
1175         Check for dup2() failure.
1176         [b1b6ba761b61]
1177
1178         * config.h.in, configure, configure.in:
1179         Remove dup2 check, it is not optional.
1180         [cfbe5f3b5956]
1181
1182 2010-06-14  Todd C. Miller  <Todd.Miller@courtesan.com>
1183
1184         * WHATSNEW:
1185         Add mbr_check_membership support and SELinux fixes
1186         [af1936a7cf2f]
1187
1188         * Makefile.in:
1189         Sync SRCS and DISTFILES with reality
1190         [0971b5dcb1be]
1191
1192         * INSTALL:
1193         Update OS specific notes. Delete some really ancient ones and move
1194         older ones to the end of the list.
1195         [872dd8b437a8]
1196
1197         * README:
1198         Bump for sudo 1.7.3 Merge some changes from trunk
1199         [a3088c75bf22]
1200
1201         * selinux.c, sudo.c:
1202         Call selinux_restore_tty() as part of cleanup() so it gets called
1203         from error()/errorx()
1204         [0197c07d4c1e]
1205
1206         * compat.h:
1207         No longer use SA_NOCLDSTOP
1208         [73ca654cd3f8]
1209
1210         * interfaces.h, match.c:
1211         Move union sudo_in_addr_un into interfaces.h
1212         [c84bda7c332a]
1213
1214         * pathnames.h.in:
1215         Update copyright year
1216         [94871f44206b]
1217
1218         * HISTORY, LICENSE, aix.c, alias.c, alloc.h, boottime.c, bsm_audit.h,
1219         compat.h, defaults.c, defaults.h, env.c, fileops.c, find_path.c,
1220         gettime.c, gram.y, history.pod, lbuf.h, license.pod, logging.c,
1221         match.c, missing.h, nanosleep.c, parse.h, set_perms.c,
1222         sudoers.ldap.cat, sudoers.ldap.man.in, sudoers.ldap.pod,
1223         sudoreplay.c, term.c, tgetpass.c, toke.l, visudo.c, visudo.cat,
1224         visudo.man.in, visudo.pod:
1225         Update copyright year
1226         [4cfb47c799b8]
1227
1228         * Makefile.in:
1229         Remove varsub as part of clean
1230         [61f04a21b0bb]
1231
1232         * match.c:
1233         Quiet a compiler warning.
1234         [06d8cfe916c8]
1235
1236         * getdate.c, getdate.y:
1237         Quiet a compiler warning.
1238         [473d2b7d44a1]
1239
1240         * ldap.c, sudo.h:
1241         Make the remaining functions in ldap.c static
1242         [ba555565b30a]
1243
1244         * ldap.c:
1245         Make private functions static. Diff from Joachim Henke
1246         [1603035b1863]
1247
1248         * schema.ActiveDirectory:
1249         Updates from Alain Roy to provide better examples for importing the
1250         schema and to fix problems caused by Windows validating attributes
1251         which have not yet been added before committing the changes.
1252         [83f11ae00f19]
1253
1254 2010-06-12  Todd C. Miller  <Todd.Miller@courtesan.com>
1255
1256         * Makefile.in, configure, configure.in, sudo.cat, sudoers.cat:
1257         Generate .cat files directly from .man.in instead of .man using
1258         default values in configure.in
1259         [0a92b41c5ce5]
1260
1261 2010-06-11  Todd C. Miller  <Todd.Miller@courtesan.com>
1262
1263         * configure, configure.in, sudo.c, sudo_usage.h.in:
1264         Print configure args with verbose version information.
1265         [ca4a5fcf0af8]
1266
1267         * visudo.c:
1268         Remove tfd from struct sudoersfile; it is not used. Add prev pointer
1269         to struct sudoersfile. Declare list of sudoersfile using TQ_DECLARE.
1270         Use tq_append to append sudoers entries to the tail queue.
1271         [344c631d0d43]
1272
1273 2010-06-10  Todd C. Miller  <Todd.Miller@courtesan.com>
1274
1275         * WHATSNEW:
1276         Describe tty timestamp improvements
1277         [136b0f832903]
1278
1279         * toke.c, toke.l:
1280         A comment character may not be part of a command line argument
1281         unless it is quoted with a backslash. Fixes parsing of:
1282         testuser ALL=NOPASSWD: /usr/bin/wl #comment foo bar closes bz #441
1283         [2a0c82ffedde]
1284
1285         * sudo.cat, sudo.man.in, sudoers.cat, sudoers.man.in:
1286         regen
1287         [c9fddd23c7e1]
1288
1289         * sudoers.pod:
1290         Make this read a little bit better when passwd_timeout is 0.
1291         [51644950823f]
1292
1293         * Makefile.in:
1294         Use the --file argument to config.status instead of setting
1295         CONFIG_FILES
1296         [fc2b42c60b5d]
1297
1298         * sudo.man.pl, sudo.pod:
1299         Attempt to handle a default password prompt timeout of zero more
1300         gracefully.
1301         [478b8e720993]
1302
1303         * toke.c, toke.l:
1304         Do not override value of keepopen global, instead restore it to the
1305         value we pushed onto the stack when popping.
1306         [dc370d57a668]
1307
1308         * exec.c, exec_pty.c, logging.c, mon_systrace.c, tgetpass.c:
1309         Use SA_INTERRUPT in sa_flags
1310         [3845c6637361]
1311
1312         * getdate.c, getdate.y, ldap.c, sudoreplay.c:
1313         Silence some compiler warnings
1314         [112ac65afd0c]
1315
1316 2010-06-09  Todd C. Miller  <Todd.Miller@courtesan.com>
1317
1318         * exec.c, exec_pty.c, sudo.c, sudo.h:
1319         Implement background mode. If I/O logging we use pipes instead of a
1320         pty.
1321         [8d448eaf2aaa]
1322
1323         * compat.h, exec.c, exec_pty.c, mksiglist.c, strsignal.c, tgetpass.c:
1324         Move compat definition of NSIG to compat.h
1325         [cae72a4c9dec]
1326
1327         * tgetpass.c:
1328         Ignore SIGPIPE for "sudo -S"
1329         [c6595c8527c4]
1330
1331         * tgetpass.c:
1332         Properly handle TGP_ECHO again. Print a newline if the user
1333         interrupted password input.
1334         [15acbe4fb535]
1335
1336         * exec_pty.c:
1337         Use POSIX tcgetpgrp() instead of BSD TIOCGPGRP ioctl
1338         [dd041fc9554c]
1339
1340 2010-06-08  Todd C. Miller  <Todd.Miller@courtesan.com>
1341
1342         * exec.c, exec_pty.c, selinux.c, sudo.c, sudo.h:
1343         Return an error from selinux_setup() instead of exiting. Call
1344         selinux_setup() from exec_setup().
1345         [b518225cafba]
1346
1347         * compat.h:
1348         Add definition of WCOREDUMP for systems without it. This is known
1349         to work on AIX and SunOS 4, but may be incorrect on other systems
1350         that lack WCOREDUMP.
1351         [365e56db7cd5]
1352
1353         * check.c, compat.h, config.h.in, configure, configure.in, iolog.c,
1354         nanosleep.c, sudo_edit.c, visudo.c:
1355         Replace timerfoo macros with timevalfoo since the timer macros are
1356         known to be busted on some systems.
1357         [4bb5228606c5]
1358
1359         * toke.c, toke.l:
1360         If a file in a #includedir has improper permissions or owner just
1361         skip it. This prevents packages that incorrectly install a file
1362         into /etc/sudoers.d from breaking sudo so easily. Syntax errors in
1363         #includedir files still result in a parse error (for now).
1364         [b7fb75eddb77]
1365
1366         * TODO, auth/pam.c, exec.c, exec_pty.c, set_perms.c, sudo.c, sudo.h:
1367         Defer call to pam_close_session() until after the command finishes
1368         if there is a monitor process.
1369         [0a39c8e6a81b]
1370
1371         * WHATSNEW, def_data.c, def_data.h, def_data.in, exec.c, sudoers.cat,
1372         sudoers.man.in, sudoers.pod:
1373         Add use_pty sudoers option to force use of a pty even when not
1374         logging I/O.
1375         [aea971f1456a]
1376
1377         * env.c, sudo.c, sudo.h:
1378         Instead of trying to keep the global environment in sync with our
1379         private copy, provide our own getenv() that returns values from the
1380         private environment and use env_get() to pass the environment in to
1381         run_command().
1382         [58c85c5695dc]
1383
1384         * set_perms.c:
1385         Fix typo
1386         [0f677fcdde04]
1387
1388 2010-06-07  Todd C. Miller  <Todd.Miller@courtesan.com>
1389
1390         * sudo.h:
1391         Rename pty.c -> get_pty.c
1392         [39137dcc4420]
1393
1394         * iolog.c:
1395         Add #define for maximum session id
1396         [2a487437f013]
1397
1398         * Makefile.in, configure, configure.in, exec.c, exec_pty.c, iolog.c,
1399         selinux.c, sudo.c, sudo.h, sudo_edit.c:
1400         Split exec.c into exec.c and exec_pty.c Pass a flag in to
1401         sudo_execve to indicate whether we need to wait for the command
1402         to finish (fork + execve vs. execve).
1403         [b197515585db]
1404
1405         * Makefile.in, configure, configure.in, get_pty.c, pty.c:
1406         Rename pty.c -> get_pty.c
1407         [c0e5270bb28a]
1408
1409         * aclocal.m4, configure, configure.in:
1410         Fix --without-iologdir
1411         [dcd6c5907b10]
1412
1413 2010-06-06  Todd C. Miller  <Todd.Miller@courtesan.com>
1414
1415         * iolog.c:
1416         Only use I/O input log file if def_log_input is set and output file
1417         if def_log_output is set.
1418         [96cdd49be996]
1419
1420 2010-06-05  Todd C. Miller  <Todd.Miller@courtesan.com>
1421
1422         * parse_args.c, sudo.c:
1423         Include sudo_usage.h after sudo.h now that it has function
1424         prototypes to guarantee that __P is defined.
1425         [c67b77f8d6b1]
1426
1427 2010-06-04  Todd C. Miller  <Todd.Miller@courtesan.com>
1428
1429         * tgetpass.c:
1430         Do signal setup after turning off echo, not before. If we are using
1431         a tty but are not the foreground pgrp this will generate SIGTTOU so
1432         we want the default action to be taken (suspend process). Use an
1433         array for signals received instead of a single variable so we don't
1434         lose any when there are multiple different signals.
1435         [de356064ea01]
1436
1437         * defaults.h, lbuf.h, sudo.h:
1438         Reorg function prototypes a bit
1439         [5c40f58bb28e]
1440
1441         * Makefile.in, parse_args.c, sudo.c, sudo.h, sudo_usage.h.in:
1442         Move argument parsing into parse_args.c
1443         [fad7b8737c12]
1444
1445         * Makefile.in, config.h.in, configure, configure.in, missing.h,
1446         mksiglist.c, mksiglist.h, siglist.in, strsignal.c:
1447         Build our own sys_siglist for systems that lack it.
1448         [3b5f671936dc]
1449
1450         * exec.c, iolog.c, missing.h, sudo_edit.c:
1451         K&R fixes
1452         [dad62986f2fe]
1453
1454         * exec.c, pty.c, sudo.c, sudo.h, sudo_edit.c:
1455         Log sudoedit sessions as well; adapted from trunk
1456         [2c5d9695022b]
1457
1458         * configure:
1459         regen
1460         [9b319e89a6c4]
1461
1462         * INSTALL, Makefile.in, WHATSNEW, aclocal.m4, configure, configure.in,
1463         def_data.c, def_data.h, def_data.in, defaults.c, exec.c, gram.c,
1464         gram.h, gram.y, iolog.c, parse.c, parse.h, pathnames.h.in, pty.c,
1465         script.c, selinux.c, sudo.c, sudo.h, sudoers.cat, sudoers.man.in,
1466         sudoers.pod, sudoreplay.c, sudoreplay.cat, sudoreplay.man.in,
1467         sudoreplay.pod, term.c:
1468         Merge I/O logging changes from trunk. Disabling I/O log support at
1469         compile time does not currently work. Sudoedit is not yet hooked up
1470         to I/O logging.
1471         [968c2c74c69b]
1472
1473 2010-06-03  Todd C. Miller  <Todd.Miller@courtesan.com>
1474
1475         * INSTALL, configure, configure.in:
1476         Add --enable-warnings configure option
1477         [19cf967c36d1]
1478
1479         * check.c, lbuf.h, script.c, sudo.c, sudo_nss.c:
1480         Fix K&R compilation issues on HP-UX.
1481         [c01a547cdcf8]
1482
1483         * lbuf.c, lbuf.h, ldap.c, parse.c, sudo.c, sudo_nss.c:
1484         Pass in output function to lbuf_init() instead of writing to stdout.
1485         A side effect is that the usage info can now go to stderr as it
1486         should. Add support for embedded newlines in lbuf and use that
1487         instead of multiple calls to lbuf_print.
1488         [596a427ff873]
1489
1490         * configure, configure.in, sudo.man.pl, sudoers.man.pl:
1491         Use numeric registers to handle conditionals instead of trying to do
1492         it all with text processing.
1493         [31570c372e0e]
1494
1495         * sudoers.pod:
1496         Document per-command SELinux settings
1497         [bbce5acad1be]
1498
1499         * sudo.pod:
1500         timestamp -> time stamp
1501         [d7335ce6286f]
1502
1503         * tsgetgrpw.c:
1504         Set close on exec flag in private versions of setpwent() and
1505         setgrent().
1506         [954814bdbd56]
1507
1508         * logging.c:
1509         Make send_mail() take a printf-style argument list
1510         [0783ad585062]
1511
1512         * Makefile.binary.in, Makefile.in, aclocal.m4, acsite.m4,
1513         config.guess, config.h.in, config.sub, configure, configure.in,
1514         ltmain.sh, m4/libtool.m4, m4/ltoptions.m4, m4/ltsugar.m4,
1515         m4/ltversion.m4, m4/lt~obsolete.m4:
1516         Update to autoconf 2.65 and libtool 2.2.6b
1517         [3544dd2f1a94]
1518
1519         * boottime.c:
1520         Don't use TRUE/FALSE which may not be defined.
1521         [8649bf22b3b2]
1522
1523         * sudo.cat, sudo.man.in, sudo.pod:
1524         Document new tty_ticket behavior
1525         [0663e0390338]
1526
1527         * find_path.c, sudo.c, sudo.h, visudo.c:
1528         Make find_path() a little more generic by not checking def_foo
1529         variables inside it. Instead, pass in ignore_dot as a function
1530         argument.
1531         [16c3f27cd9b9]
1532
1533         * check.c:
1534         Store info from stat(2)ing the tty in the tty ticket when tty
1535         tickets are in use. If the tty lives on a devpts (Linux) or devices
1536         (Solaris) filesystem, stash the ctime in the tty ticket file, as it
1537         is not updated when the tty is written to. This helps us determine
1538         when a tty has been reused without the user authenticating again
1539         with sudo.
1540         [f9aec9ab9054]
1541
1542         * boottime.c, check.c, sudo.h:
1543         get_boottime() now fills in a timeval struct
1544         [dbd2003659c0]
1545
1546 2010-06-02  Todd C. Miller  <Todd.Miller@courtesan.com>
1547
1548         * check.c, compat.h, config.h.in, configure, configure.in, fileops.c,
1549         gettime.c, sudo.h, sudo_edit.c, visudo.c:
1550         Use timeval directly instead of converting to timespec when dealing
1551         with file times and time of day.
1552         [c85bf3e41839]
1553
1554         * auth/pam.c:
1555         Fix OpenPAM detection for newer versions.
1556         [67f29a0703d0]
1557
1558         * vasgroups.c:
1559         Sync with Quest sudo git repo
1560         [2680ad9762c2]
1561
1562         * aclocal.m4, configure, configure.in:
1563         HP-UX ld uses +b instead or -R or -rpath Fix typo in libvas check
1564         libvas may need libdl for dlopen() Add missing template for
1565         ENV_DEBUG Adapted from Quest sudo
1566         [6c886eb9070a]
1567
1568         * README.LDAP:
1569         Fix typos; from Quest Sudo
1570         [cf258fc69f1a]
1571
1572         * Makefile.in, configure.in:
1573         Use value of SHELL from configure in Makefile
1574         [08aaf12221d6]
1575
1576 2010-05-28  Todd C. Miller  <Todd.Miller@courtesan.com>
1577
1578         * env.c:
1579         Handle duplicate variables in the environment. For unsetenv(), keep
1580         looking even after remove the first instance. For sudo_putenv(),
1581         check for and remove dupes after we replace an existing value.
1582         [086c6397d8cd]
1583
1584 2010-04-29  Todd C. Miller  <Todd.Miller@courtesan.com>
1585
1586         * visudo.c:
1587         Fix a crash when checking a sudoers file that has aliases that
1588         reference themselves. Based on a diff from David Wood.
1589         [5efc702a3b35]
1590
1591 2010-04-15  Todd C. Miller  <Todd.Miller@courtesan.com>
1592
1593         * alias.c:
1594         Fix use after free in error message when a duplicate alias exists.
1595         [9eaac49bd22b]
1596
1597 2010-04-14  Todd C. Miller  <Todd.Miller@courtesan.com>
1598
1599         * visudo.c:
1600         Set errorfile to the sudoers path if we set parse_error manually.
1601         This prevents a NULL dereference in printf() when checking a sudoers
1602         file in strict mode when alias errors are present.
1603         [b4eed2f0615d]
1604
1605 2010-04-12  Todd C. Miller  <Todd.Miller@courtesan.com>
1606
1607         * TODO, sudoers.cat, sudoers.man.in, sudoers.pod:
1608         Fix typo
1609         [57198cae9cf5]
1610
1611 2010-04-09  Todd C. Miller  <Todd.Miller@courtesan.com>
1612
1613         * find_path.c:
1614         Qualify the command even if it is in the current working directory,
1615         e.g. "./foo" instead of just returning "foo". This removes an
1616         ambiguity between real commands and possible pseudo-commands in
1617         command matching.
1618         [fb4d571495fa]
1619
1620 2010-04-07  Todd C. Miller  <Todd.Miller@courtesan.com>
1621
1622         * sudoers.cat, sudoers.man.in, sudoers.pod:
1623         Add a note about the security implications of the fast_glob option.
1624         [84f8097553d9]
1625
1626         * memrchr.c:
1627         Remove duplicate includes
1628         [3e8d90f4c30f]
1629
1630 2010-03-22  Todd C. Miller  <Todd.Miller@courtesan.com>
1631
1632         * configure, configure.in:
1633         Fix installation of sudoers.ldap in "make install" when --with-ldap
1634         was specified without a directory. From Prof. Dr. Andreas Mueller
1635         [5177a284b9ff]
1636
1637 2010-03-09  Todd C. Miller  <Todd.Miller@courtesan.com>
1638
1639         * match.c:
1640         When doing a glob match, short circuit if gl.gl_pathc is 0. From
1641         Mark Kettenis.
1642         [549f8f7c2463]
1643
1644 2010-03-08  Todd C. Miller  <Todd.Miller@courtesan.com>
1645
1646         * script.c:
1647         Use parent process group id instead of parent process id when
1648         checking foreground status and suspending parent. Fixes an issue
1649         when running commands under /usr/bin/time and others.
1650         [eac86126e335]
1651
1652         * env.c:
1653         In setenv(), if the var is empty, return 1 and set errno to EINVAL
1654         instead of returning EINVAL directly.
1655         [d202091ec15e]
1656
1657 2010-02-22  Todd C. Miller  <Todd.Miller@courtesan.com>
1658
1659         * match.c:
1660         Check for pseudo-command by looking at the first character of the
1661         command in sudoers instead of checking the user-supplied command for
1662         a slash.
1663         [88f3181692fe]
1664
1665 2010-02-09  Todd C. Miller  <Todd.Miller@courtesan.com>
1666
1667         * toke.l:
1668         Avoid a duplicate fclose() of the sudoers file.
1669         [164d39108dde]
1670
1671         * toke.l:
1672         Fix size arg when realloc()ing include stack. From Daniel Kopecek
1673         [8900bccef219]
1674
1675 2010-02-06  Todd C. Miller  <Todd.Miller@courtesan.com>
1676
1677         * aix.c, config.h.in, configure, configure.in:
1678         Use setrlimit64(), if available, instead of setrlimit() when setting
1679         AIX resource limits since rlim_t is 32bits.
1680         [2cbb14d98fc1]
1681
1682         * logging.c:
1683         Fix use after free when sending error messages. From Timo Juhani
1684         Lindfors
1685         [caf183fd9d94]
1686
1687 2010-01-18  Todd C. Miller  <Todd.Miller@courtesan.com>
1688
1689         * ChangeLog, Makefile.in:
1690         Generate the ChangeLog as part of "make dist" instead of having it
1691         in the repo.
1692         [836c31615859]
1693
1694 2010-01-17  Todd C. Miller  <Todd.Miller@courtesan.com>
1695
1696         * Makefile.in:
1697         Generate correct ChangeLog for 1.7 branch.
1698         [586dd90b8878]
1699
1700 2010-01-17  Todd C. Miller  <Todd.Miller@courtesan.com>
1701
1702         * Makefile.binary.in, Makefile.in, aix.c, alias.c, alloc.c, alloc.h,
1703         auth/afs.c, auth/aix_auth.c, auth/bsdauth.c, auth/dce.c,
1704         auth/fwtk.c, auth/kerb4.c, auth/kerb5.c, auth/pam.c, auth/passwd.c,
1705         auth/rfc1938.c, auth/secureware.c, auth/securid.c, auth/securid5.c,
1706         auth/sia.c, auth/sudo_auth.c, auth/sudo_auth.h, check.c,
1707         closefrom.c, compat.h, configure.in, defaults.c, defaults.h,
1708         emul/charclass.h, emul/timespec.h, env.c, error.c, error.h,
1709         fileops.c, find_path.c, getcwd.c, getprogname.c, getspwuid.c,
1710         gettime.c, goodpath.c, gram.c, gram.y, ins_2001.h, ins_classic.h,
1711         ins_csops.h, ins_goons.h, insults.h, interfaces.c, interfaces.h,
1712         isblank.c, lbuf.c, lbuf.h, ldap.c, list.c, list.h, logging.c,
1713         logging.h, match.c, memrchr.c, missing.h, mkinstalldirs, mkstemp.c,
1714         mon_systrace.c, nanosleep.c, parse.c, parse.h, pathnames.h.in,
1715         pty.c, pwutil.c, redblack.c, redblack.h, sample.pam, sample.sudoers,
1716         sample.syslog.conf, script.c, selinux.c, sesh.c, set_perms.c,
1717         sigaction.c, snprintf.c, strcasecmp.c, strerror.c, strlcat.c,
1718         strlcpy.c, strsignal.c, sudo.c, sudo.h, sudo.man.in, sudo.pod,
1719         sudo_edit.c, sudo_noexec.c, sudo_nss.c, sudo_nss.h, sudo_usage.h.in,
1720         sudoers.ldap.man.in, sudoers.ldap.pod, sudoers.man.in, sudoers.pod,
1721         sudoers2ldif, sudoreplay.c, sudoreplay.man.in, sudoreplay.pod,
1722         term.c, testsudoers.c, tgetpass.c, timestr.c, toke.c, toke.l,
1723         utimes.c, visudo.c, visudo.man.in, visudo.pod, zero_bytes.c:
1724         Remove CVS $Sudo$ tags.
1725         [de683a8b31f5]
1726
1727 2009-12-26  Todd C. Miller  <Todd.Miller@courtesan.com>
1728
1729         * sudo_usage.h.in:
1730         make this match sudoers SYNOPSIS
1731         [c74ba66944c2]
1732
1733         * lbuf.c, parse.c:
1734         Print a newline between Runas and Command-specific defaults in sudo
1735         -l.
1736         [b5bdfcc9ce4b]
1737
1738         * term.c:
1739         Use SET and CLR macros in term_raw
1740         [50ca42609d6c]
1741
1742         * sudoreplay.c:
1743         Set stdin to non-blocking mode early instead of in check_input. Use
1744         term_raw instead of term_cbreak since the data we get has already
1745         been expanded via OPOST.
1746         [51c47e803d62]
1747
1748 2009-12-23  Todd C. Miller  <Todd.Miller@courtesan.com>
1749
1750         * script.c, term.c:
1751         Enable/disable all postprocessing instead of just nl->crnl
1752         processing since things like tab expansion matter too. However, if
1753         stdout is a tty leave postprocessing on in the pty since we run into
1754         problems doing it only on the real stdout with .e.g nvi.
1755         [62666e309673]
1756
1757 2009-12-19  Todd C. Miller  <Todd.Miller@courtesan.com>
1758
1759         * check.c:
1760         If tty_tickets is enabled and there is no tty, prompt for a
1761         password. Do not lecture user for "sudo -k command" if user has a
1762         timestamp.
1763         [5880200c5f6b]
1764
1765         * INSTALL:
1766         Document missing options: --with-efence and --with-bsm-audit
1767         [d83afcdf9ff3]
1768
1769         * sudo.cat, sudo.man.in, sudo.pod, sudoers.cat, sudoers.ldap.cat,
1770         sudoers.ldap.man.in, sudoers.ldap.pod, sudoers.man.in, sudoers.pod,
1771         sudoreplay.cat, sudoreplay.man.in, sudoreplay.pod, visudo.cat,
1772         visudo.man.in, visudo.pod:
1773         username -> user name groupname -> group name hostname -> host name
1774         [10c85646f45d]
1775
1776         * INSTALL, README.LDAP, sudoers.pod:
1777         filename -> file name like the rest of the docs
1778         [1ef8ab5a9018]
1779
1780 2009-12-17  Todd C. Miller  <Todd.Miller@courtesan.com>
1781
1782         * parse.c:
1783         Fix printing of entries with multiple host entries on a single line.
1784         [226ceaf91d8d]
1785
1786 2009-12-14  Todd C. Miller  <Todd.Miller@courtesan.com>
1787
1788         * sudoers.pod:
1789         Mention that targetpw affects the timestamp file name.
1790         [a26e22e4f72e]
1791
1792         * def_data.c, def_data.h, def_data.in, defaults.c, script.c,
1793         sudoers.pod:
1794         Add compress_transcript option.
1795         [6e94f8cb9dfb]
1796
1797 2009-12-13  Todd C. Miller  <Todd.Miller@courtesan.com>
1798
1799         * configure, configure.in:
1800         bump to 1.7.3b2
1801         [906d7e347d15]
1802
1803         * pwutil.c, set_perms.c, sudo.c, sudo_nss.c:
1804         Better split of membership vs. traditional group check in
1805         user_in_group(). Allow user_ngroups to be < 0 if getgroups() fails.
1806         [6ebc55d4716b]
1807
1808 2009-12-12  Todd C. Miller  <Todd.Miller@courtesan.com>
1809
1810         * pwutil.c:
1811         Fix pasto and add default return value.
1812         [7973b5e4599c]
1813
1814         * check.c, match.c, pwutil.c, sudo.h:
1815         refactor group member checking into user_in_group()
1816         [48ca8c2eddf8]
1817
1818         * check.c, config.h.in, configure, configure.in, match.c, sudo.c,
1819         sudo.h:
1820         Add support for mbr_check_membership() as present in darwin.
1821         [5501aed02b9f]
1822
1823 2009-12-10  Todd C. Miller  <Todd.Miller@courtesan.com>
1824
1825         * match.c:
1826         Rename label to be accurate
1827         [3af17dd960f7]
1828
1829         * Makefile.in, boottime.c, check.c, config.h.in, configure,
1830         configure.in, sudo.h:
1831         Treat timestamp files from before we booted as old. Idea from and
1832         Apple patch.
1833         [5c96e484c05a]
1834
1835 2009-12-09  Todd C. Miller  <Todd.Miller@courtesan.com>
1836
1837         * sudo.c, sudo.pod, sudo_usage.h.in:
1838         Allow the -u flag to be used in conjunction with the -v flag as per
1839         older versions of sudo.
1840         [591e9fc13c1a]
1841
1842         * logging.c:
1843         fix typo in last commit
1844         [4fd0c692dcf0]
1845
1846 2009-12-08  Todd C. Miller  <Todd.Miller@courtesan.com>
1847
1848         * logging.c:
1849         Convert fmt_first and fmt_confd into macros.
1850         [32e870158b29]
1851
1852         * sudoers.pod:
1853         timeouts can be floats now
1854         [89de639a9679]
1855
1856         * WHATSNEW, def_data.c, def_data.h, def_data.in, defaults.c,
1857         defaults.h, mkdefaults:
1858         Add support for floating point timeout values (e.g. 2.5 minutes).
1859         [210ffa291733]
1860
1861 2009-12-07  Todd C. Miller  <Todd.Miller@courtesan.com>
1862
1863         * sudo.pod:
1864         The -L flag will be removed in sudo 1.7.4
1865         [ffd026084333]
1866
1867 2009-12-06  Todd C. Miller  <Todd.Miller@courtesan.com>
1868
1869         * sudoreplay.c:
1870         Fix a bug due to order of operators.
1871         [938d34464283]
1872
1873 2009-11-23  Todd C. Miller  <Todd.Miller@courtesan.com>
1874
1875         * match.c:
1876         cmnd_matches() already deals with negation so _cmndlist_matches()
1877         does not need to do so itself. Fixes a bug with negated entries in
1878         a Cmnd_List.
1879         [71c845f6ce73]
1880
1881 2009-11-22  Todd C. Miller  <Todd.Miller@courtesan.com>
1882
1883         * sudo.c:
1884         Don't exit() from open_sudoers, just return NULL for all errors.
1885         [8cfa832f972a]
1886
1887         * script.c:
1888         Can't rely on the shell sending us SIGCONT when transitioning from
1889         backgroup to foreground process.
1890         [3c6c5b6cb4b3]
1891
1892         * toke.c, toke.l:
1893         Add missing extern def for parse_error
1894         [45b7b59d03b7]
1895
1896 2009-11-21  Todd C. Miller  <Todd.Miller@courtesan.com>
1897
1898         * toke.c, toke.l:
1899         Avoid a parse error when #includedir doesn't find any files. Closes
1900         bug #375
1901         [1ce1b850e9e6]
1902
1903         * Makefile.in:
1904         Include sudo.man.pl and sudoers.man.pl in the distribution tarball.
1905         [6a22e32da108]
1906
1907 2009-11-15  Todd C. Miller  <Todd.Miller@courtesan.com>
1908
1909         * script.c:
1910         Start command out in foreground mode if stdout is a tty. Works
1911         around issues with some curses-based programs that don't handle
1912         tcsetattr getting interrupted by a signal. Still allows us to avoid
1913         hogging the tty if the command is part of a pipeline.
1914         [1c32f2b94769]
1915
1916         * script.c, sudo.c, sudo.h, sudoreplay.c, term.c, tgetpass.c:
1917         Use a socketpair to pass signals from parent to child. Child will
1918         now pass command status change info back via the socketpair. This
1919         allows the parent to distinguish between signals it has been sent
1920         directly and signals the command has received. It also means the
1921         parent can once again print the signal notifications to the tty so
1922         all writes to the pty master occur in the parent. The command is
1923         now always started in background mode with tty signals handled by
1924         the parent.
1925         [c6790b82986d]
1926
1927 2009-11-04  Todd C. Miller  <Todd.Miller@courtesan.com>
1928
1929         * configure, configure.in:
1930         Fix a few typos in the descriptions; from Jeff Makey Only do the
1931         check for krb5_get_init_creds_opt_free() taking two arguments if we
1932         find krb5_get_init_creds_opt_alloc(). Otherwise we will get a false
1933         positive when using our own krb5_get_init_creds_opt_free which takes
1934         only a single argument.
1935         [845a9ff6f93d]
1936
1937 2009-11-03  Todd C. Miller  <Todd.Miller@courtesan.com>
1938
1939         * configure, configure.in:
1940         Remove a spurious comma in the kerb5 bits.
1941         [3433eab083db]
1942
1943         * auth/kerb5.c:
1944         Call krb5_get_init_creds_opt_init() in our emulated
1945         krb5_get_init_creds_opt_alloc() for MIT kerberos.
1946         [7ffb40bf43e9]
1947
1948 2009-11-01  Todd C. Miller  <Todd.Miller@courtesan.com>
1949
1950         * config.h.in:
1951         Add HAVE_ZLIB
1952         [9297bde61ecc]
1953
1954         * script.c:
1955         Need to ignore SIGTT{IN,OU} in child when running the command in the
1956         background. Also some minor cleanup.
1957         [dc208d982319]
1958
1959 2009-10-31  Todd C. Miller  <Todd.Miller@courtesan.com>
1960
1961         * script.c:
1962         Instead of calling sigsuspend when waiting for SIGUSR[12] from
1963         parent, install the signal handlers w/o SA_RESTART and let them
1964         interrupt waitpid().
1965         [759c7d18203b]
1966
1967         * script.c:
1968         Pass along SIGHUP and SIGTERM from parent to child.
1969         [035b0e254568]
1970
1971         * script.c:
1972         Close unused bits of script_fds in processes that don't need them.
1973         Restore default SIGCONT handler in child.
1974         [e037378ab0c1]
1975
1976         * script.c:
1977         Update foreground/background status in SIGCONT handler in parent
1978         process.
1979         [3f7f91333264]
1980
1981 2009-10-25  Todd C. Miller  <Todd.Miller@courtesan.com>
1982
1983         * script.c:
1984         Defer setting terminal into raw mode until just before we fork() and
1985         only do it if sudo is the foreground process. If we get SIGTT{IN,OU}
1986         and sudo is already in the foreground be sure to set raw mode before
1987         continuing the child.
1988         [1102ef40832c]
1989
1990 2009-10-24  Todd C. Miller  <Todd.Miller@courtesan.com>
1991
1992         * script.c:
1993         Fix handling of SIGTTOU/SIGTTIN in program being run. We now only
1994         give the command the controlling tty if the main sudo process is the
1995         foreground process.
1996         [cf3a91cb5682]
1997
1998         * script.c:
1999         Don't bother with sudo_waitpid() here for now.
2000         [9086de480c2d]
2001
2002         * script.c:
2003         fix non-zlib case
2004         [a258bff0f9a6]
2005
2006 2009-10-23  Todd C. Miller  <Todd.Miller@courtesan.com>
2007
2008         * script.c:
2009         Remove non-wroking code that crept into rev 1.55
2010         [2802dd55cff5]
2011
2012 2009-10-22  Todd C. Miller  <Todd.Miller@courtesan.com>
2013
2014         * INSTALL, configure, configure.in, script.c, sudoreplay.c:
2015         First pass at zlib support for transcript data files
2016         [5d10260807da]
2017
2018         * Makefile.in:
2019         remove vestiges of ZLDFLAGS
2020         [1fa0caf1c0fb]
2021
2022         * script.c:
2023         Add missing variable declaration for when TIOCSCTTY is not defined.
2024         Need to include sys/termio.h for TIOCSCTTY on some systems.
2025         [ee7f41ac2709]
2026
2027         * script.c:
2028         when resuming command, send SIGCONT to its pgrp not just pid
2029         [5cd63c1d565b]
2030
2031         * selinux.c:
2032         remove unused variable
2033         [df67df4be228]
2034
2035         * script.c:
2036         include selinux.h for is_selinux_enabled() proto
2037         [85ebaa880cc1]
2038
2039         * script.c:
2040         Don't use log_error() in the child process.
2041         [def65fe2a433]
2042
2043         * script.c:
2044         Do I/O in parent instead of child since the parent can have both
2045         /dev/tty as well as the pty fds open. The child just sets things up
2046         and waits for its grandchild and writes the signal description to
2047         the pty master if the command was killed by a signal.
2048         [95e473208982]
2049
2050 2009-10-18  Todd C. Miller  <Todd.Miller@courtesan.com>
2051
2052         * missing.h, sudo.h:
2053         Move two struct forward declarations from sudo.h to missing.h
2054         [90ad28294a8c]
2055
2056         * script.c:
2057         Make comment at the top of script_exec() match reality.
2058         [c5042d27dbe0]
2059
2060         * sudo.c:
2061         if neither stdin nor stdout is a tty, check stderr
2062         [c532ff20c8d8]
2063
2064         * Makefile.in:
2065         Add back dependecy of gram.h on gram.y
2066         [c58382b7fcca]
2067
2068         * script.c:
2069         Make transcript mode work as long as we can figure out our tty, even
2070         if it is not stdin. We'd like to use /dev/tty but that won't be
2071         valid after the setsid().
2072         [7b8bba8d99e7]
2073
2074 2009-10-17  Todd C. Miller  <Todd.Miller@courtesan.com>
2075
2076         * config.h.in, configure, configure.in, pty.c:
2077         Add support for IRIX-style dynamic ptys
2078         [bedc9bac44c1]
2079
2080         * Makefile.in, alloc.h, getline.c, sudo.h, sudoreplay.c:
2081         Move alloc.c protos into alloc.h
2082         [b6a90649617d]
2083
2084         * missing.h:
2085         Move prototypes for missing libc functions to missing.h
2086         [dda9ae1ccaf8]
2087
2088         * Makefile.in, sudo.h, sudoreplay.c:
2089         Move prototypes for missing libc functions to missing.h
2090         [7483166b577b]
2091
2092 2009-10-16  Todd C. Miller  <Todd.Miller@courtesan.com>
2093
2094         * config.h.in, configure, configure.in:
2095         Disable transcript support if no tcsetpgrp until we support older
2096         BSD-style job control.
2097         [27ac1d8163df]
2098
2099         * configure, configure.in, pty.c, script.c:
2100         Break out pty code into pty.c
2101         [e85509b25d41]
2102
2103         * compat.h, config.h.in, configure, configure.in:
2104         add killpg macro if no killpg function
2105         [3a125f4a51f0]
2106
2107         * config.h.in, configure, configure.in, script.c:
2108         Push ptem and ldterm for STERAMS-based systems when allocating a
2109         pty.
2110         [36bb39b30ff2]
2111
2112 2009-10-15  Todd C. Miller  <Todd.Miller@courtesan.com>
2113
2114         * script.c:
2115         Sprinkle some more O_NOCTTY and call grantpt() before unlockpt()
2116         [d94bd5c9bf4e]
2117
2118         * script.c:
2119         Call tcgetpgrp() in the parent, not the child and have the child
2120         spin until it is granted. Fixes a race on darwin.
2121         [6e8d435339ce]
2122
2123         * script.c:
2124         Only use TIOCNOTTY in the non-setsid case. If no TIOCSCTTY, just
2125         reopen slave.
2126         [0bdc63c019ca]
2127
2128 2009-10-14  Todd C. Miller  <Todd.Miller@courtesan.com>
2129
2130         * script.c:
2131         In script mode, if the command is killed by a signal, print the
2132         signal description as well as a core dump notification like the
2133         shell does.
2134         [9df61738df07]
2135
2136         * Makefile.in, config.h.in, configure, configure.in, strsignal.c,
2137         sudo.h:
2138         Add check for strsignal() and a simple implementation if it is not
2139         there but sys_siglist is
2140         [61421a188ef4]
2141
2142         * script.c:
2143         Add missing WUNTRACED and store the signal that stopped the
2144         grandchild in suspended, not signo.
2145         [df65042b200e]
2146
2147         * script.c:
2148         g/c unused code
2149         [40d8cb5c9203]
2150
2151         * script.c:
2152         Associate the grandchild's pgrp with the tty instead of the child's
2153         and just get suspend notifications via SIGCHLD instead of directly.
2154         This fixes a hang with programs that try to set terminal attributes
2155         and is more consistent with how the shell handles things.
2156         [6865abff7e94]
2157
2158 2009-10-12  Todd C. Miller  <Todd.Miller@courtesan.com>
2159
2160         * script.c:
2161         Move setpgid() of child into the parent side of the fork() where it
2162         belongs.
2163         [3defa782777c]
2164
2165 2009-10-11  Todd C. Miller  <Todd.Miller@courtesan.com>
2166
2167         * script.c:
2168         fix typo
2169         [b6a612b3622c]
2170
2171         * script.c:
2172         Run command in its own pgrp (like the shell does) for easier
2173         signalling. No need to relay SIGINT or SIGQUIT to parent, just send
2174         to grandchild. Don't want grandchild stopped events in the child
2175         (only termination). Flush output after suspending grandchild before
2176         signalling parent.
2177         [db556bf2176f]
2178
2179         * script.c:
2180         Back out revision 1.34; the problem lies elsewhere.
2181         [85f590a03275]
2182
2183         * script.c:
2184         Don't set stdout to blocking mode when flushing remaining output.
2185         It can cause us to hang when trying to exit. Need to investigate
2186         why.
2187         [6f803a3e33ca]
2188
2189         * script.c:
2190         Handle SIGTTOU and remove some debugging.
2191         [52d17279053e]
2192
2193         * term.c:
2194         Back out revision 1.10 as the signal that interrupts us may be
2195         SIGTTOU or SIGTTIN which the caller must handle.
2196         [7e2fa9107975]
2197
2198         * script.c:
2199         Apparently we need to send SIGSTOP to the command as well as ourself
2200         when we get SIGTSTP, the kernel doesn't automatically stop the
2201         process for us.
2202         [1a936e9309c4]
2203
2204         * script.c:
2205         Use an extra process to act as the glue bewteen the sessions
2206         associated with the user's controlling tty (what the shell uses) and
2207         the tty that sudo is using to do its logging. Basically, this means
2208         that if we get, e.g. SIGTSTP from the process sudo is running, we
2209         relay the signal to the parent so it's shell can do the job control.
2210         [6dd296988060]
2211
2212         * term.c:
2213         Handle getting/setting terminal attributes when the fd is in non-
2214         blocking mode.
2215         [ae5ae535ea7b]
2216
2217 2009-10-07  Todd C. Miller  <Todd.Miller@courtesan.com>
2218
2219         * sudoreplay.c, sudoreplay.cat, sudoreplay.man.in, sudoreplay.pod:
2220         Add support for pausing and changing the speed in interactive mode.
2221         [72a2063780a7]
2222
2223         * script.c:
2224         Already define O_NOCTTY in compat.h, don't need it here
2225         [b5d80ed3e5ce]
2226
2227 2009-10-06  Todd C. Miller  <Todd.Miller@courtesan.com>
2228
2229         * sudoreplay.c:
2230         Add missing protos
2231         [c4cb4e7f4d8a]
2232
2233 2009-09-30  Todd C. Miller  <Todd.Miller@courtesan.com>
2234
2235         * sudo_edit.c:
2236         Always update the stashed mtime of the temp file instead of using
2237         what we have for the original because the time resolution of the
2238         filesystem the temporary is on may not match that of the filesystem
2239         that holds the original. Should fix bz #371 found by Philippe Levan.
2240         [c86ca4bec60c]
2241
2242         * sudoreplay.c:
2243         Use cbreak mode instead of raw mode and add signal handlers to
2244         restore the tty on interrupt.
2245         [84dd283da41c]
2246
2247         * script.c, sudo.h, term.c:
2248         Retain NL to NLCR conversion on the real tty and skip it on the pty
2249         we allocate. That way, if stdout is not a pty there are no extra
2250         carriage returns.
2251         [32e4f570414e]
2252
2253         * script.c:
2254         Fix log_output(); just pass in a string and a length.
2255         [ca980cc0a3fb]
2256
2257 2009-09-28  Todd C. Miller  <Todd.Miller@courtesan.com>
2258
2259         * script.c:
2260         do not use errno when complaining out lack of a tty
2261         [8f9b8c55ab8e]
2262
2263 2009-09-27  Todd C. Miller  <Todd.Miller@courtesan.com>
2264
2265         * Makefile.in, sudoreplay.c, term.c:
2266         Instead of messing with line endings, just set terminal to raw mode
2267         in sudoreplay.
2268         [90943fa87acb]
2269
2270         * term.c:
2271         When copying the terminal attributes to the pty, be sure not to set
2272         ONLCR. This prevents extra carriage returns from ending up in the
2273         script output file.
2274         [e6b5475ac2aa]
2275
2276         * script.c:
2277         Convert a do {} while into a while
2278         [e461310d2c77]
2279
2280         * Makefile.in:
2281         Use if then instead of test && when installing binaries that may not
2282         exist.
2283         [ad4f9490d971]
2284
2285         * script.c:
2286         Add O_NOCTTY when opening a tty device. Explicitly disconnect from
2287         old tty before associatng with new one.
2288         [0e0ca634b80c]
2289
2290         * script.c, selinux.c, sudo.c, sudo.h:
2291         First cut at refactoring some of the selinux code so it can be used
2292         in conjunction with sudo's transcript support.
2293         [779b0d8f9d29]
2294
2295 2009-09-26  Todd C. Miller  <Todd.Miller@courtesan.com>
2296
2297         * aclocal.m4, configure, configure.in:
2298         Fix default case of transcript_enabled being unset.
2299         [f8aa96186e6b]
2300
2301         * script.c, sudoreplay.c:
2302         Use _PATH_SUDO_TRANSCRIPT instead of _PATH_SUDO_SESSDIR
2303         [2844a7a851fa]
2304
2305         * INSTALL, Makefile.in, aclocal.m4, configure, configure.in, sudo.c:
2306         Hook up --disable-transcript and --enable-transcript=DIR
2307         [b3fa7e6b2480]
2308
2309 2009-09-25  Todd C. Miller  <Todd.Miller@courtesan.com>
2310
2311         * aclocal.m4, configure, configure.in, pathnames.h.in:
2312         _PATH_SUDO_SESSDIR -> _PATH_SUDO_TRANSCRIPT Add --enable-
2313         transcript=DIR option to specify the directory
2314         [b0bb76d43cda]
2315
2316         * sudo.cat, sudo.man.in, sudoers.cat, sudoers.man.in:
2317         regen
2318         [c7a8a0a9027c]
2319
2320         * configure, configure.in, sudoers.man.pl, sudoers.pod:
2321         Substitute in default value for secure_path
2322         [c8f9ac6dbf93]
2323
2324         * sudo.pod:
2325         Mention that the password must be followed by a newline with the -S
2326         option.
2327         [2fc589a3ee7e]
2328
2329 2009-09-20  Todd C. Miller  <Todd.Miller@courtesan.com>
2330
2331         * script.c:
2332         Go back to dropping out of the select() loop when the process dies;
2333         Linux ptys apparently don't behave the same as BSD in regards to
2334         select(). No need to flush remaining output to the transcript, only
2335         to stdout. Add back code to check the master pty for additional data
2336         when we exit the main select loop.
2337         [abed9a9cbc6b]
2338
2339 2009-09-19  Todd C. Miller  <Todd.Miller@courtesan.com>
2340
2341         * Makefile.in:
2342         Add getline.o to COMMON_OBJS
2343         [04ef7643cbc2]
2344
2345         * Makefile.in:
2346         sudoreplay depends on libsudo.a
2347         [142bd0472631]
2348
2349         * Makefile.in:
2350         More pwutil.o into COMMON_OBJS
2351         [4a016b933629]
2352
2353         * pwutil.c, testsudoers.c, tsgetgrpw.c:
2354         Remove my_* redirection in pwutil.c for testsudoers and just use the
2355         normal libc get{pw,gr}* names.
2356         [9b76d637d86b]
2357
2358         * sudoreplay.cat, sudoreplay.man.in, sudoreplay.pod:
2359         More time and date examples
2360         [c6ee0175ec56]
2361
2362         * Makefile.in, configure, configure.in, nanosleep.c, sudoreplay.c:
2363         Move nanosleep() emulation into its own file Check librt.a for
2364         nanosleep if we don't find it in libc
2365         [4da0cc26aad7]
2366
2367         * Makefile.in, configure, configure.in:
2368         Build libsudo with the common bits and link things against that.
2369         [2b53bc0b081a]
2370
2371         * script.c:
2372         Fix final flush.
2373         [6da287d833da]
2374
2375         * script.c:
2376         Keep reading from the pty master -> log file until read returns <=
2377         0. Do our best to write everything to stdout when flushing any
2378         remaining bits.
2379         [2a45d4ae280c]
2380
2381         * sudoreplay.c:
2382         Use unbuffered I/O when writing to stdout and make sure we write the
2383         entire buffer.
2384         [f39ef9844a47]
2385
2386 2009-09-18  Todd C. Miller  <Todd.Miller@courtesan.com>
2387
2388         * sudoreplay.c:
2389         Only use max_wait if it is non-zero
2390         [f6c10604d2e8]
2391
2392         * getdate.c, getdate.y, getline.c:
2393         Need compat.h here
2394         [5d6722e225a0]
2395
2396         * sudoreplay.c:
2397         Fix nanosleep emulation
2398         [34e5e5d72a76]
2399
2400         * script.c:
2401         Fix comment after #endif
2402         [bd1347718b25]
2403
2404         * sudoreplay.c:
2405         Add protos for missing libc bits
2406         [644f496427a2]
2407
2408         * configure, configure.in:
2409         add missing line continuation char
2410         [db13c0d402cd]
2411
2412         * config.h.in, configure, configure.in, getline.c:
2413         Implement getline() in terms of fgetln() if we have it.
2414         [3ab786eaadc5]
2415
2416         * sudoreplay.c:
2417         Print year when formatting log line
2418         [90be669e3443]
2419
2420         * sudoreplay.pod:
2421         Document cwd, attempt to document time/date formats.
2422         [6290fb9b65c6]
2423
2424         * sudoreplay.c:
2425         Fix getline return value check.
2426         [d696d6657261]
2427
2428         * Makefile.in, config.h.in, configure, configure.in, getline.c,
2429         sudoreplay.c:
2430         Use getline() if the system has it, else use provide our own for
2431         sudoreplay.
2432         [afca1d6fbe5e]
2433
2434         * script.c:
2435         Refactor code to update output and timing files.
2436         [361491332b1a]
2437
2438 2009-09-17  Todd C. Miller  <Todd.Miller@courtesan.com>
2439
2440         * sudoreplay.c:
2441         Make sudo_getln() behave more like glibc getline.
2442         [40c9f2ea29e6]
2443
2444         * script.c:
2445         When flushing remaining output, also update timing file.
2446         [5a9a5a627549]
2447
2448         * sudoreplay.c:
2449         Use get_timestr() and make the -l output look like the regular sudo
2450         log.
2451         [452ba9d436c9]
2452
2453         * logging.c, sudo.h, timestr.c:
2454         Make get_timestr() take a time_t so we can use it properly in
2455         sudoreplay.
2456         [82e67cc53c9c]
2457
2458         * script.c:
2459         Create session dir earlier now that we update the seq number early.
2460         [797fe8d6dc61]
2461
2462 2009-09-16  Todd C. Miller  <Todd.Miller@courtesan.com>
2463
2464         * sudoreplay.c:
2465         Use fromdate and todate as the keywords instead of from and to; the
2466         short forms will still be accepted.
2467         [d14d9b116df4]
2468
2469         * sudoreplay.c:
2470         Fix reading long liensin sudo_getln()
2471         [58dadd74118c]
2472
2473         * script.c, sudoreplay.c:
2474         Log the cwd in the script log file. Add sudo_getln() to read
2475         arbitrarily long lines.
2476         [faceb802ab8f]
2477
2478         * Makefile.in, logging.c, sudo.h, timestr.c:
2479         Move get_timestr() into its own source file so sudoreplay can use
2480         it.
2481         [99b054bfa20a]
2482
2483 2009-09-15  Todd C. Miller  <Todd.Miller@courtesan.com>
2484
2485         * sudoreplay.c:
2486         Add to and from perdicates (date ranges); needs documentation
2487         [1d629174dcf4]
2488
2489 2009-09-14  Todd C. Miller  <Todd.Miller@courtesan.com>
2490
2491         * Makefile.in, getdate.c, getdate.y:
2492         Fix warning and add generated getdate.c
2493         [b877a86b5a03]
2494
2495         * Makefile.in, getdate.y:
2496         Add getdate.y to be used for sudoreplay date parsing.
2497         [b8e26fbb7a40]
2498
2499 2009-09-13  Todd C. Miller  <Todd.Miller@courtesan.com>
2500
2501         * sudoreplay.c:
2502         Check more than just the first character of a predicate
2503         [4fe53728adb1]
2504
2505         * sudoreplay.cat, sudoreplay.man.in, sudoreplay.pod:
2506         Add examples, sort predicates
2507         [70f8075cbccc]
2508
2509         * Makefile.in, sudoreplay.c, sudoreplay.cat, sudoreplay.man.in,
2510         sudoreplay.pod:
2511         Implement search expressions in sudoreplay similar in concept to
2512         what find or tcpdump uses. TODO: date ranges
2513         [f7ce4fb4cf3a]
2514
2515 2009-09-07  Todd C. Miller  <Todd.Miller@courtesan.com>
2516
2517         * script.c:
2518         Remove vhangup as it was hanging up the wrong tty. Should really
2519         vhangup in the child after it as set its tty.
2520         [2eed9df73010]
2521
2522         * sudoers.pod:
2523         Fix cut at documenting transcript support.
2524         [e6c533a5568a]
2525
2526         * logging.c:
2527         ID= -> TSID= for transcript ID
2528         [1bf755a35333]
2529
2530 2009-09-06  Todd C. Miller  <Todd.Miller@courtesan.com>
2531
2532         * sudoers.pod:
2533         Move fast_glob description to where it belongs in sorted order
2534         [5901cfb0d25f]
2535
2536         * def_data.c, def_data.h, def_data.in, gram.c, gram.h, gram.y,
2537         parse.c, parse.h, sudo.c:
2538         Rename script -> transcript
2539         [e06cf823122c]
2540
2541 2009-09-03  Todd C. Miller  <Todd.Miller@courtesan.com>
2542
2543         * compat.h:
2544         Add timeradd and timersub for those without them
2545         [929f8aa06c2b]
2546
2547         * script.c:
2548         Sanity check sessid before using it.
2549         [aa8ca5211d43]
2550
2551         * sudo.c:
2552         Only set the session id if we are running a command or editing a
2553         file.
2554         [7205d717c098]
2555
2556         * script.c:
2557         Actually. qsort is fine since most versions fal back to a cheaper
2558         sort when the number of elements to sort is small (like in our
2559         case).
2560         [d11c7cd352fe]
2561
2562         * config.h.in, configure, configure.in, script.c:
2563         Check for dup2 and use dup instead if we don't have it.
2564         [98bd89830f8a]
2565
2566         * script.c, sudo.c, sudo.h:
2567         Move the code to dup2 the script fds to low numbered descriptors
2568         into script_duplow() and fix the fd sorting.
2569         [9453fdc5fba6]
2570
2571         * script.c, sudo.c, sudo.h:
2572         Move script_setup() back to immediately before we drop privs and
2573         call the new script_nextid() in its place, which will set
2574         sudo_user.sessid for the logging functions.
2575         [8434d0c8ff08]
2576
2577 2009-09-01  Todd C. Miller  <Todd.Miller@courtesan.com>
2578
2579         * Makefile.in:
2580         Install sudoreplay
2581         [6acf2cdb4d3f]
2582
2583         * sudoreplay.c:
2584         remove unused variable
2585         [2316360bb992]
2586
2587 2009-08-30  Todd C. Miller  <Todd.Miller@courtesan.com>
2588
2589         * logging.c, script.c, sudo.c, sudo.h:
2590         Log the session ID, if there is one. Currently logs ID=XXXXXX,
2591         perhaps should be SESSIONID or SESSID.
2592         [53976905b0a6]
2593
2594         * Makefile.in, configure, configure.in, sudoreplay.cat,
2595         sudoreplay.man.in, sudoreplay.pod:
2596         Add sudoreplay docs
2597         [da4f14f0e64c]
2598
2599         * sudoreplay.c:
2600         add -V (version) flag
2601         [b5e743639ee3]
2602
2603         * sudoreplay.c:
2604         Hook up max_wait.
2605         [2ec5697a92ba]
2606
2607         * script.c, sudoreplay.c:
2608         Use base36 number for the ID and store script files with paths like
2609         /var/log/sudo-session/00/00/00{,.tim,.scr}. This gives us 36^6
2610         (2,176,782,336) unique IDs.
2611         [6aab019d07aa]
2612
2613 2009-08-23  Todd C. Miller  <Todd.Miller@courtesan.com>
2614
2615         * config.h.in, configure.in:
2616         Add check for regcomp
2617         [44c3ebd7ff34]
2618
2619         * sudoreplay.c:
2620         Add support for selecting by pattern and tty when listing.
2621         [66189f840c52]
2622
2623 2009-08-17  Todd C. Miller  <Todd.Miller@courtesan.com>
2624
2625         * sudoreplay.c:
2626         The beginnings of a list mode.
2627         [8d0150b4a52c]
2628
2629 2009-08-16  Todd C. Miller  <Todd.Miller@courtesan.com>
2630
2631         * Makefile.in:
2632         fix pasto
2633         [616b4640b8a8]
2634
2635         * Makefile.in, config.h.in, configure.in:
2636         Add scaffolding for building sudoreplay
2637         [a32958505dbe]
2638
2639         * sudoreplay.c:
2640         include error.h first arg to nanotime is const
2641         [fe5a7bb31bc5]
2642
2643         * sudoreplay.c:
2644         Initial cut at sudoreplay; replay a sudo session.
2645         [f149fba372bd]
2646
2647 2009-08-08  Todd C. Miller  <Todd.Miller@courtesan.com>
2648
2649         * script.c:
2650         Fix wait() usage and use correct wait status.
2651         [f4745ed7ad05]
2652
2653         * sudo.c, sudo.h, tgetpass.c:
2654         Add protos for term_* to sudo.h
2655         [14fe1abd7e7b]
2656
2657         * script.c:
2658         Fix detection of the child process exiting. Since the child is in
2659         its own session we should only ever get SIGCHLD for that process but
2660         better safe than sorry.
2661         [7edfdadd8505]
2662
2663         * config.h.in:
2664         Add UNIX98 pty support.
2665         [82f4b53a0e8f]
2666
2667         * configure, configure.in, script.c:
2668         Add UNIX98 pty support.
2669         [795b8bb0a3a1]
2670
2671 2009-08-07  Todd C. Miller  <Todd.Miller@courtesan.com>
2672
2673         * term.c:
2674         For raw mode, don't bother clearing BRKINT or PARMRK and clear IUCLC
2675         if it is defined.
2676         [40f8b83baf69]
2677
2678         * auth/pam.c:
2679         Set PAM_RUSER and PAM_RHOST early so they can be used during
2680         authentication. Based on a patch from Jamie Beverly.
2681         [3d567b453a6a]
2682
2683         * match.c:
2684         Close dir before returning if strlcpy() reports overflow. From
2685         Martynas Venckus.
2686         [6a82f96473e5]
2687
2688         * config.h.in, configure, configure.in, script.c:
2689         On Linux, the openpty proto libes in pty.h
2690         [98643a018d1c]
2691
2692         * script.c:
2693         Call vhangup on exit if the system has it Use setpgrp() if no
2694         setsid()
2695         [3a9e13149829]
2696
2697 2009-08-06  Todd C. Miller  <Todd.Miller@courtesan.com>
2698
2699         * config.h.in, configure, configure.in:
2700         Add checks for revoke and vhangup if we don't have openpty
2701         [fcb04572e994]
2702
2703         * script.c:
2704         Session logging guts that got forgotten in the previous commit.
2705         [c2af08a63ea9]
2706
2707         * Makefile.in, aclocal.m4, compat.h, config.h.in, configure,
2708         configure.in, def_data.c, def_data.h, def_data.in, gram.c, gram.h,
2709         gram.y, parse.c, parse.h, pathnames.h.in, sudo.c, sudo.h, term.c,
2710         tgetpass.c:
2711         First cut at session logging for sudo. Still need to write
2712         get_pty() for Unix 98 and old-style BSD ptys. Also needs
2713         documentation and general cleanup.
2714         [77e3f5e25738]
2715
2716 2009-08-05  Todd C. Miller  <Todd.Miller@courtesan.com>
2717
2718         * sudo.c, sudo_edit.c:
2719         Fix a bug introduced with def_closefrom. The value of def_closefrom
2720         already includes the +1.
2721         [7291c136300d]
2722
2723 2009-07-29  Todd C. Miller  <Todd.Miller@courtesan.com>
2724
2725         * Makefile.in:
2726         Generate sudo distributions with pax in ustar mode. No longer need
2727         to use a temp file or have the source dir name match the version.
2728         [9778177a8272]
2729
2730 2009-07-18  Todd C. Miller  <Todd.Miller@courtesan.com>
2731
2732         * toke.c, toke.l:
2733         Fix expansion of %h in #include names. Fixes bugzilla 363
2734         [6e346879ba24]
2735
2736 2009-07-12  Todd C. Miller  <Todd.Miller@courtesan.com>
2737
2738         * mkdefaults:
2739         If no arg assume def_data.in
2740         [c1dd28c0e675]
2741
2742         * README, WHATSNEW:
2743         Update for 1.7.2
2744         [f5ad45f69f05] [SUDO_1_7_2]
2745
2746         * ChangeLog:
2747         sync
2748         [6283549396ff]
2749
2750 2009-06-30  Todd C. Miller  <Todd.Miller@courtesan.com>
2751
2752         * sudoers.cat, sudoers.man.in, sudoers.pod:
2753         Add missing single quotes around a colon in Runas_Spec definition.
2754         From Elias Benali.
2755         [ccc6ee4fca83]
2756
2757 2009-06-29  Todd C. Miller  <Todd.Miller@courtesan.com>
2758
2759         * sudo.man.in, sudoers.man.in:
2760         regen
2761         [546e75304ebf]
2762
2763         * redblack.c:
2764         In rbrepair, re-color the root or the first non-block node we find
2765         to be black. Re-coloring the root is probably not needed but won't
2766         hurt.
2767         [34d01ebe241b]
2768
2769         * sudo.cat, sudoers.cat:
2770         regen
2771         [bebf5a39f54f]
2772
2773 2009-06-26  Todd C. Miller  <Todd.Miller@courtesan.com>
2774
2775         * redblack.c:
2776         When repairing the tree, don't touch the root node.
2777         [9841f0d5d789]
2778
2779 2009-06-25  Todd C. Miller  <Todd.Miller@courtesan.com>
2780
2781         * set_perms.c:
2782         Protect call to setegid in runas_setup with #ifdef HAVE_SETEUID.
2783         Reported by Josef Schmid.
2784         [ed044b1eb879]
2785
2786 2009-06-23  Todd C. Miller  <Todd.Miller@courtesan.com>
2787
2788         * sudoers.pod:
2789         Document that we accept env_pam-style environment files
2790         [e3b545456352]
2791
2792         * env.c:
2793         Adapt to accept pam_env-style /etc/environment which allows shell-
2794         style lines such as: export EDITOR="/usr/bin/vi"
2795         [752eb75bf007]
2796
2797         * sudoers.pod:
2798         Make it clear that env_delete only works when !env_reset. From Lo??c
2799         Minier
2800         [3bd3f8e351ba]
2801
2802 2009-06-15  Todd C. Miller  <Todd.Miller@courtesan.com>
2803
2804         * sudo.pod, sudoers.pod:
2805         Add non-unix group bits, adapted from Quest
2806         [8ce427de8dea]
2807
2808         * Makefile.in:
2809         build the .cat page in the current working dir, not the src dir
2810         [00e87a307674]
2811
2812         * env.c:
2813         Return EINVAL in setenv() if var is NULL or the empty string to
2814         match glibc behavior.
2815         [23fd7c247142]
2816
2817 2009-06-13  Todd C. Miller  <Todd.Miller@courtesan.com>
2818
2819         * configure, configure.in:
2820         Use AS_HELP_STRING for AC_ARG_WITH and AC_ARG_ENABLE
2821         [fedd4a3e2a85]
2822
2823 2009-06-11  Todd C. Miller  <Todd.Miller@courtesan.com>
2824
2825         * sudo.cat, sudo.man.in, sudoers.cat, sudoers.ldap.cat,
2826         sudoers.ldap.man.in, sudoers.man.in, visudo.cat, visudo.man.in:
2827         regen
2828         [7b9f461a40b3]
2829
2830 2009-06-09  Todd C. Miller  <Todd.Miller@courtesan.com>
2831
2832         * INSTALL:
2833         Document --with-libvas and --with-libvas-rpath
2834         [a071e6d96c89]
2835
2836 2009-05-29  Todd C. Miller  <Todd.Miller@courtesan.com>
2837
2838         * ldap.c, sudoers.ldap.pod:
2839         For netscape-derived LDAP SDKs the cert and key paths may be a
2840         directory or a file. However, version 5.0 of the SDK only seems to
2841         support using a directory. If ldapssl_clientauth_init fails and the
2842         cert or key paths look like they could be files, strip off the last
2843         path element and try again.
2844         [ac4e49d83043]
2845
2846         * Makefile.in:
2847         Add non-Unix group .o to COMMON_OBJS and substitute in path to flex.
2848         [4547cc1a335f]
2849
2850 2009-05-27  Todd C. Miller  <Todd.Miller@courtesan.com>
2851
2852         * configure, configure.in, match.c, sudo.c, vasgroups.c:
2853         Update non-Unix group support from Quest, as reworked by me.
2854         [1abafce29dc6]
2855
2856         * toke.c:
2857         regen
2858         [01bfca9148b7]
2859
2860         * toke.l:
2861         Add support for escaped hex chars in names, e.g. \x20 for space.
2862         [3c7be8e58a39]
2863
2864 2009-05-25  Todd C. Miller  <Todd.Miller@courtesan.com>
2865
2866         * LICENSE, Makefile.in, aclocal.m4, alias.c, auth/aix_auth.c,
2867         auth/pam.c, auth/sudo_auth.c, auth/sudo_auth.h, check.c, env.c,
2868         fileops.c, glob.c, gram.y, interfaces.c, lbuf.c, ldap.c, logging.c,
2869         logging.h, match.c, parse.c, parse.h, pathnames.h.in, pwutil.c,
2870         set_perms.c, sudo.c, sudo.h, sudo.pod, sudo_nss.c, sudo_nss.h,
2871         sudo_usage.h.in, sudoers.ldap.pod, sudoers.pod, testsudoers.c,
2872         tgetpass.c, toke.l, visudo.c:
2873         Update copyright years.
2874         [e615f676c764]
2875
2876 2009-05-24  Todd C. Miller  <Todd.Miller@courtesan.com>
2877
2878         * interfaces.c, lbuf.c:
2879         Minor fixes for Minix-3
2880         [898c510d23f9]
2881
2882 2009-05-22  Todd C. Miller  <Todd.Miller@courtesan.com>
2883
2884         * set_perms.c:
2885         Handle getgroups() returning 0. Also add missing check for
2886         HAVE_GETGROUPS.
2887         [d73b958f9ffd]
2888
2889 2009-05-19  Todd C. Miller  <Todd.Miller@courtesan.com>
2890
2891         * Makefile.in, config.h.in, configure, configure.in, sudo.c,
2892         version.h, visudo.c:
2893         Replace version.h with PACKAGE_VERSION set via AC_INIT in configure.
2894         [5050579a264d]
2895
2896 2009-05-18  Todd C. Miller  <Todd.Miller@courtesan.com>
2897
2898         * set_perms.c:
2899         Remove group setting code in setusercontext case, we will do it
2900         ourselves later on in runas_setup. Set the gid after
2901         initgroups/setgroups is called, since on Mac OS X it seems to change
2902         the egid.
2903         [09dc21d8b42d]
2904
2905 2009-05-17  Todd C. Miller  <Todd.Miller@courtesan.com>
2906
2907         * LICENSE, Makefile.in, config.h.in, match.c, nonunix.h, sudo.c,
2908         vasgroups.c:
2909         Initial bits of non-unix group support using Quest Authentication
2910         Services
2911         [1eecab0ff27e]
2912
2913         * toke.c, toke.l:
2914         Accept %:foo as a non-Unix group
2915         [4c4b5dd899a6]
2916
2917         * toke.c, toke.l:
2918         Allow user/group to be double quoted in the case of non-Unix groups
2919         which contain spaces.
2920         [47a3d568b7e8]
2921
2922 2009-05-11  Todd C. Miller  <Todd.Miller@courtesan.com>
2923
2924         * match.c:
2925         Don't allow the user to specify the default runas user if their
2926         sudoers entry only allows them to run as a group.
2927         [4d726177227c]
2928
2929 2009-05-10  Todd C. Miller  <Todd.Miller@courtesan.com>
2930
2931         * sudo.c:
2932         Must call audit_success before we change uids.
2933         [04a9e6ce6e55]
2934
2935         * logging.c, set_perms.c, sudo.h, testsudoers.c:
2936         Add option for set_perm to not exit on failure and use this in the
2937         logging routines.
2938         [833dce7b7f42]
2939
2940         * parse.c:
2941         In -l mode, if the user is only allowed to run as a group, display
2942         the user's name, not root's before the allowed group.
2943         [ef92ff99d265]
2944
2945         * sudo.c:
2946         Fix -g mode, broken by rev 1.503 which had the side effect of
2947         setting the runas user to root unilaterally.
2948         [50a2f7df4385]
2949
2950 2009-05-08  Todd C. Miller  <Todd.Miller@courtesan.com>
2951
2952         * fileops.c:
2953         When unlocking a file with fcntl, use F_SETLK, not F_SETLKW.
2954         [30fbe832dcf3]
2955
2956         * pwutil.c:
2957         Only cache by the method we fetched for pwd and grp lookups.
2958         Previously we cached both by namd and id but this can cause problems
2959         for entries that share the same id. Also add more info in the error
2960         message in case the insert fails (which should now be impossible).
2961         [ef95a4f0bab5]
2962
2963 2009-04-30  Todd C. Miller  <Todd.Miller@courtesan.com>
2964
2965         * sudoers.pod:
2966         Add a clarification from Nick Sieger
2967         [1eadad329561]
2968
2969 2009-04-25  Todd C. Miller  <Todd.Miller@courtesan.com>
2970
2971         * env.c:
2972         Inline the setting of the environment string.
2973         [9515d11c6295]
2974
2975 2009-04-24  Todd C. Miller  <Todd.Miller@courtesan.com>
2976
2977         * env.c:
2978         setenv(3) in Linux treats a NUL value as the empty string setenv(3)
2979         in BSD doesn't return an error if the name has '=' in it, it just
2980         treats the '=' as end of string.
2981         [941260bf94d2]
2982
2983 2009-04-22  Todd C. Miller  <Todd.Miller@courtesan.com>
2984
2985         * toke.c, toke.l:
2986         Not all systems have d_namlen
2987         [e377b18d8e2d]
2988
2989 2009-04-20  Todd C. Miller  <Todd.Miller@courtesan.com>
2990
2991         * sudoers.pod:
2992         Fix up some pod2html issues.
2993         [823a1f10ab60]
2994
2995 2009-04-19  Todd C. Miller  <Todd.Miller@courtesan.com>
2996
2997         * interfaces.c:
2998         Check for NULL ifa_addr and ifa_netmask. Adapted from a diff from
2999         Quest Software.
3000         [73de36653131]
3001
3002         * sudoers.pod:
3003         Ignore files ending in '~' in sudo.d (emacs backup files)
3004         [7871fad702db]
3005
3006         * toke.c, toke.l:
3007         Ignore files ending in '~' in sudo.d (emacs backup files)
3008         [53fded2a469f]
3009
3010 2009-04-18  Todd C. Miller  <Todd.Miller@courtesan.com>
3011
3012         * sudoers.cat, sudoers.man.in, sudoers.pod, toke.c, toke.l:
3013         For #includedir, ignore any file containing a dot
3014         [a7daa1bce6c2]
3015
3016         * Makefile.in, version.h:
3017         Bump version
3018         [ef60f14ffc44]
3019
3020         * gram.c, gram.y, parse.c, parse.h, sudo.c, sudo.h, sudoers.cat,
3021         sudoers.man.in, sudoers.pod, testsudoers.c, toke.c, toke.l,
3022         visudo.c:
3023         Implement #includedir directive. Files in an includedir are not
3024         edited by visudo unless they contain a syntax error.
3025         [3923d85a6c79]
3026
3027         * ChangeLog:
3028         sync
3029         [8741ed61a78b] [SUDO_1_7_1]
3030
3031         * WHATSNEW:
3032         Forgot umask_override
3033         [7c86a21a5504]
3034
3035         * ChangeLog, TODO:
3036         sync
3037         [57339ca6bccf]
3038
3039 2009-04-16  Todd C. Miller  <Todd.Miller@courtesan.com>
3040
3041         * visudo.c:
3042         Rewind stream if we fdopen sudoers since it may not be at the
3043         beginning. Set the keepopen flag on already-open files too so the
3044         lexer doesn't close them out from under us.
3045         [61292d819aff]
3046
3047         * visudo.c:
3048         Print the proper file name when there is a parse error in an include
3049         file.
3050         [b0e85d4aedde]
3051
3052 2009-04-11  Todd C. Miller  <Todd.Miller@courtesan.com>
3053
3054         * WHATSNEW:
3055         Sync
3056         [997e5d485ea3]
3057
3058 2009-04-10  Todd C. Miller  <Todd.Miller@courtesan.com>
3059
3060         * configure, configure.in:
3061         Fix a warning when --without-ldap is specified.
3062         [d91fd9481b30]
3063
3064 2009-04-05  Todd C. Miller  <Todd.Miller@courtesan.com>
3065
3066         * alias.c, parse.h, visudo.c:
3067         Store aliases that we remove during check_aliases in a freelist and
3068         free them at the end so we don't leak memory.
3069         [805e2272f6a3]
3070
3071 2009-03-28  Todd C. Miller  <Todd.Miller@courtesan.com>
3072
3073         * visudo.c:
3074         Check aliases in -c mode too.
3075         [9199e188d9f2]
3076
3077         * alias.c, parse.h, visudo.c:
3078         Make alias_remove return the alias struct instead of freeing it
3079         directly. Fixes a use after free in alias_remove_recursive, the only
3080         consumer.
3081         [a04b61804800]
3082
3083         * alias.c, match.c, parse.c, parse.h, visudo.c:
3084         Rename find_alias -> alias_find for consistency.
3085         [48b0a82924f3]
3086
3087 2009-03-27  Todd C. Miller  <Todd.Miller@courtesan.com>
3088
3089         * visudo.c:
3090         When checking for unused aliases, recurse if the alias points to
3091         another alias.
3092         [2d4d1a7f3a41]
3093
3094 2009-03-16  Todd C. Miller  <Todd.Miller@courtesan.com>
3095
3096         * ldap.c:
3097         Back out rev 1.105 for now. Real ldapux_client.conf support will be
3098         done later after some refactoring.
3099         [8ad72e69b277]
3100
3101 2009-03-14  Todd C. Miller  <Todd.Miller@courtesan.com>
3102
3103         * ldap.c:
3104         Treat ldap_hostport the same as "host" for ldapux.
3105         [3281dcc66da8]
3106
3107         * configure, configure.in:
3108         Only check for ldap_sasl_interactive_bind_s if we can find sasl.h.
3109         Fixes compilation with ldapux.
3110         [ca1ed585ef0e]
3111
3112 2009-03-12  Todd C. Miller  <Todd.Miller@courtesan.com>
3113
3114         * fileops.c:
3115         fix char subscript
3116         [41e51f080d00]
3117
3118 2009-03-11  Todd C. Miller  <Todd.Miller@courtesan.com>
3119
3120         * Makefile.in:
3121         remove errant carriage returns
3122         [e9e258a31c7b]
3123
3124         * audit.c, env.c:
3125         fix K&R compilation
3126         [d182e8920f13]
3127
3128         * sudo.cat, sudo.man.in, sudoers.cat, sudoers.ldap.cat,
3129         sudoers.ldap.man.in, sudoers.man.in, visudo.cat, visudo.man.in:
3130         regen
3131         [791a5cbf04e5]
3132
3133 2009-03-10  Todd C. Miller  <Todd.Miller@courtesan.com>
3134
3135         * config.h.in:
3136         Add missing HAVE_BSM_AUDIT
3137         [49ad1bb96f04]
3138
3139         * WHATSNEW:
3140         Add 1.7.1 features
3141         [f107f1604c61]
3142
3143         * INSTALL:
3144         Mention --with-netsvc
3145         [d1e90d147795]
3146
3147         * sudoers.ldap.pod:
3148         Document netsvc.conf support
3149         [e78f8abce6af]
3150
3151         * configure, configure.in, pathnames.h.in, sudo.c, sudo_nss.c,
3152         sudo_nss.h:
3153         Add support for AIX netsvc.conf (like nsswitch.conf).
3154         [1df56a84dee5]
3155
3156 2009-03-08  Todd C. Miller  <Todd.Miller@courtesan.com>
3157
3158         * config.h.in, configure, configure.in, env.c:
3159         Add --enable-env-debug flag to enable environment sanity checks.
3160         [128cdd8832e7]
3161
3162         * sudoers.ldap.pod, sudoers.pod:
3163         Work around some pod2html issue.
3164         [e733b9609bd2]
3165
3166 2009-03-07  Todd C. Miller  <Todd.Miller@courtesan.com>
3167
3168         * env.c:
3169         Only sync environ for putenv, setenv, and unsetenv. We need to make
3170         sure that sudo_putenv and sudo_setenv only modify env.envp, not
3171         environ.
3172         [be3ac732243c]
3173
3174 2009-03-02  Todd C. Miller  <Todd.Miller@courtesan.com>
3175
3176         * env.c:
3177         Really fix UNSETENV_VOID
3178         [08ab7e882507]
3179
3180         * env.c:
3181         Fix unsetenv when UNSETENV_VOID
3182         [d3038b3f2f15]
3183
3184         * aclocal.m4, configure:
3185         Fix SUDO_FUNC_PUTENV_CONST
3186         [de35569c572b]
3187
3188         * ldap.c:
3189         tivoli-based ldap does not have ldapssl_err2string
3190         [c63fd90d5e99]
3191
3192         * configure:
3193         regen
3194         [f38f1ee828ad]
3195
3196 2009-03-01  Todd C. Miller  <Todd.Miller@courtesan.com>
3197
3198         * config.h.in, configure, configure.in, ldap.c:
3199         Add support for Tivoli-based LDAP start TLS as seen in AIX.
3200         Untested.
3201         [8f8771829f85]
3202
3203         * env.c:
3204         Add sanity checks for setenv/unsetenv
3205         [adbd1d95856b]
3206
3207         * Makefile.in:
3208         Include bsm_audit.h in the tarball
3209         [4a4aa02b2c32]
3210
3211         * Makefile.in, version.h:
3212         bump version for sudo 1.7.1
3213         [362c71d21595]
3214
3215         * aclocal.m4, auth/aix_auth.c, config.h.in, configure, configure.in,
3216         env.c, ldap.c, sudo.h:
3217         Replace sudo_setenv/sudo_unsetenv with calls to setenv/unsetenv and
3218         provide our own setenv/unsetenv/putenv that operates on own env
3219         pointer. Make sync_env() inline in setenv/unsetenv/putenv functions.
3220         [276edcd23032]
3221
3222 2009-02-25  Todd C. Miller  <Todd.Miller@courtesan.com>
3223
3224         * sudo.c:
3225         Make "sudoedit -h" work as expected
3226         [2bcbbb45d389]
3227
3228         * auth/pam.c:
3229         Make sure def_prompt is always defined. This is a workaround for
3230         pam configs that prompt for a password in the session but don't have
3231         an auth line. A better fix is to expand the sudo prompt earlier and
3232         set def_prompt to that when initializing.
3233         [ee073c04aec3]
3234
3235         * sudo.pod:
3236         Mention that the helper for -A may be graphical.
3237         [b64a940c4082]
3238
3239         * TROUBLESHOOTING:
3240         Document what happens if there is no tty.
3241         [313d58a856a5]
3242
3243         * sudo.c:
3244         cosmetic changes
3245         [894f5e3b0c3e]
3246
3247         * term.c:
3248         Fix term_restore
3249         [6c6315ff14bc]
3250
3251         * sudo.c:
3252         Fix "sudo -k" with no other args
3253         [59e94dc419c6]
3254
3255 2009-02-24  Todd C. Miller  <Todd.Miller@courtesan.com>
3256
3257         * check.c, sudo.c, sudo.pod, sudo_usage.h.in:
3258         Allow the -k flag to be specified in conjunction with a command or
3259         another option that may require authentication.
3260         [5960ff20355d]
3261
3262 2009-02-23  Todd C. Miller  <Todd.Miller@courtesan.com>
3263
3264         * configure, configure.in:
3265         Remove unneeded AC_CANONICAL_TARGET; from Diego E. 'Flameeyes'
3266         [e86ab69c4a57]
3267
3268         * Makefile.in:
3269         Parallel make fix. From Diego E. 'Flameeyes'
3270         [1289d7ee27db]
3271
3272 2009-02-21  Todd C. Miller  <Todd.Miller@courtesan.com>
3273
3274         * def_data.c, def_data.h, def_data.in, sudo.c, sudoers.pod:
3275         Implement umask_override
3276         [8b87a3f7c5aa]
3277
3278         * toke.c:
3279         regen
3280         [79d7ca9ac873]
3281
3282         * sudoers.pod, toke.l, visudo.c:
3283         Implement %h escape in sudoers include filenames.
3284         [a7f288dd64f0]
3285
3286         * audit.c:
3287         Need to include compat.h
3288         [c0dc07ce2f70]
3289
3290         * Makefile.in, audit.c, bsm_audit.c, bsm_audit.h, logging.h, sudo.c:
3291         Make audit_success and audit_failure generic functions in
3292         preparation for integrating linux audit support.
3293         [7df020a8fd6f]
3294
3295         * term.c:
3296         remove duplicate include
3297         [1dfcd01a7e46]
3298
3299 2009-02-20  Todd C. Miller  <Todd.Miller@courtesan.com>
3300
3301         * bsm_audit.c:
3302         Add missing include
3303         [fb56e08c37ee]
3304
3305         * sudo.c:
3306         May need to update the runas user after parsing command-based
3307         defaults.
3308         [246f130d7802]
3309
3310 2009-02-18  Todd C. Miller  <Todd.Miller@courtesan.com>
3311
3312         * glob.c:
3313         Add missing pair of braces introduced with character class support.
3314         [0e2afa2e03e9]
3315
3316 2009-02-15  Todd C. Miller  <Todd.Miller@courtesan.com>
3317
3318         * def_data.c, def_data.h, def_data.in, sudoers.pod, tgetpass.c:
3319         Rename pwstars to pwfeedback
3320         [a9f85a57ebac]
3321
3322 2009-02-11  Todd C. Miller  <Todd.Miller@courtesan.com>
3323
3324         * bsm_audit.c, bsm_audit.h:
3325         Add const to make MacOS happy.
3326         [4274432d6627]
3327
3328         * Makefile.in, auth/sudo_auth.c, bsm_audit.c, bsm_audit.h, configure,
3329         configure.in, sudo.c:
3330         Add bsm audit support from Christian S.J. Peron
3331         [bef61cd8693d]
3332
3333         * term.c:
3334         This is new code, no DARPA notice.
3335         [ec6ad09b9c23]
3336
3337 2009-02-10  Todd C. Miller  <Todd.Miller@courtesan.com>
3338
3339         * def_data.c, def_data.h, def_data.in, match.c, sudoers.pod:
3340         Rename simple_glob -> fast_glob
3341         [68d9ed803cc1]
3342
3343         * match.c:
3344         g/c unused var
3345         [693fa0464eb6]
3346
3347         * def_data.c, def_data.h, def_data.in, match.c, sudoers.pod:
3348         Add simple_glob option to use fnmatch() instead of glob(). This is
3349         useful when you need to specify patterns that reference network file
3350         systems.
3351         [77ba634f6949]
3352
3353         * tgetpass.c:
3354         add term_* proto
3355         [520f5149d073]
3356
3357         * sudoers.pod:
3358         mention glob()
3359         [ddaab8e03c52]
3360
3361 2009-02-09  Todd C. Miller  <Todd.Miller@courtesan.com>
3362
3363         * tgetpass.c:
3364         Delete any pwstars we wrote after the user hits return. That way
3365         there is no record on screen as to the user's password length.
3366         [fae25cda762b]
3367
3368 2009-02-08  Todd C. Miller  <Todd.Miller@courtesan.com>
3369
3370         * term.c:
3371         Move terminal setting bits from tgetpass.c to term.c
3372         [03d43325ee99]
3373
3374         * Makefile.in, def_data.c, def_data.h, def_data.in, sudoers.pod,
3375         tgetpass.c:
3376         Add pwstars sudoers option that causes sudo to print a star every
3377         time the user presses a key.
3378         [7aab417e184d]
3379
3380 2009-02-03  Todd C. Miller  <Todd.Miller@courtesan.com>
3381
3382         * Makefile.in:
3383         Fix up F<> brokenness for visudo.man.in and sudoers.ldap.man.in.
3384         [64f70e879816]
3385
3386 2009-01-27  Todd C. Miller  <Todd.Miller@courtesan.com>
3387
3388         * ldap.c:
3389         For ldap_search_ext_s() the sizelimit param should be 0, not -1, to
3390         indicate no limit. From Mark Janssen.
3391         [e2c5732d54f5]
3392
3393 2009-01-17  Todd C. Miller  <Todd.Miller@courtesan.com>
3394
3395         * toke.c, toke.l:
3396         Comments that begin with #- should not be parsed as uids.
3397         [a72a50f12f41]
3398
3399 2009-01-09  Todd C. Miller  <Todd.Miller@courtesan.com>
3400
3401         * sudo.c:
3402         Do not try to set the close on exec flag if we didn't actually open
3403         sudoers.
3404         [ece3ca256904]
3405
3406 2008-12-19  Todd C. Miller  <Todd.Miller@courtesan.com>
3407
3408         * ChangeLog:
3409         regen
3410         [e11f0e4c1bdd] [SUDO_1_7_0]
3411
3412 2008-12-14  Todd C. Miller  <Todd.Miller@courtesan.com>
3413
3414         * TODO:
3415         sync
3416         [5b8954462bb3]
3417
3418 2008-12-09  Todd C. Miller  <Todd.Miller@courtesan.com>
3419
3420         * auth/pam.c:
3421         Return PAM_AUTH_ERR instead of PAM_CONV_ERR if user enters ^C at the
3422         password prompt.
3423         [8563601cb3de]
3424
3425         * configure, configure.in:
3426         Don't try to build sudo_noexec.so on HP-UX with the bundled compiler
3427         as it cannot generate shared objects.
3428         [6d4262ef9669]
3429
3430         * emul/charclass.h, glob.c, lbuf.c, tgetpass.c:
3431         K&R compilation fixes
3432         [77921678d17c]
3433
3434         * parse.c:
3435         Use tq_foreach_fwd when checking pseudo-commands to make it clear
3436         that we are not short-circuiting on last match. When pwcheck is
3437         'all', initialize nopass to TRUE and override it with the first non-
3438         TRUE entry.
3439         [96b209f4778f]
3440
3441 2008-12-08  Todd C. Miller  <Todd.Miller@courtesan.com>
3442
3443         * parse.c:
3444         Do not short circuit pseudo commands when we get a match since,
3445         depending on the settings, we may need to examine all commands for
3446         tags.
3447         [fdbaf89d6f35]
3448
3449 2008-12-03  Todd C. Miller  <Todd.Miller@courtesan.com>
3450
3451         * sudoers.cat, sudoers.man.in:
3452         regen
3453         [1ecce7c1b841]
3454
3455         * sudoers.pod:
3456         hostnames may also contain wildcards
3457         [82b76695601c]
3458
3459         * Makefile.in:
3460         remove stamp-* files and linux core files in clean target
3461         [22003f091467]
3462
3463 2008-12-02  Todd C. Miller  <Todd.Miller@courtesan.com>
3464
3465         * auth/sudo_auth.h, config.h.in, configure, configure.in:
3466         Use HAVE_SIA_SES_INIT instead of HAVE_SIA for Digital UNIX
3467         [6905bede8410]
3468
3469 2008-11-26  Todd C. Miller  <Todd.Miller@courtesan.com>
3470
3471         * configure, configure.in:
3472         correctly enable SIA on Digital UNIX
3473         [a51881d13995]
3474
3475         * TODO:
3476         checkpoint
3477         [af0fe8d94d42]
3478
3479         * ChangeLog:
3480         sync
3481         [831f623cf99c]
3482
3483 2008-11-25  Todd C. Miller  <Todd.Miller@courtesan.com>
3484
3485         * check.c, sudo.h, tgetpass.c:
3486         Even if neither stdin nor stdout are ttys we may still have /dev/tty
3487         available to us.
3488         [20f306ba883b]
3489
3490 2008-11-24  Todd C. Miller  <Todd.Miller@courtesan.com>
3491
3492         * sudoers.cat, sudoers.man.in:
3493         regen
3494         [76d97c4c318f]
3495
3496         * sudoers.pod:
3497         fix typos; Markus Lude
3498         [bff8bc1e2066]
3499
3500         * ChangeLog:
3501         sync
3502         [f108552531cd]
3503
3504         * toke.c:
3505         regen
3506         [de828413c67e]
3507
3508         * toke.l:
3509         Fix matching of a line that only consists of a comment char
3510         [09c953d8d5ca]
3511
3512 2008-11-22  Todd C. Miller  <Todd.Miller@courtesan.com>
3513
3514         * auth/pam.c:
3515         MacOS pam will retry conversation function if it fails so just treat
3516         ^C as an empty password.
3517         [d056058930bc]
3518
3519         * visudo.c:
3520         When checking for alias use, also check defaults bindings.
3521         [2647f82c7dbd]
3522
3523         * redblack.c:
3524         unused var
3525         [b7ff71c17c18]
3526
3527         * redblack.c:
3528         Replace my rbdelete with Emin's version (which actually works ;-)
3529         [21b133dd0c72]
3530
3531 2008-11-19  Todd C. Miller  <Todd.Miller@courtesan.com>
3532
3533         * testsudoers.c:
3534         malloc debugging
3535         [0fb446fa3279]
3536
3537         * visudo.c:
3538         malloc options in devel mode for visudo too
3539         [98d06c6afeef]
3540
3541 2008-11-18  Todd C. Miller  <Todd.Miller@courtesan.com>
3542
3543         * sudo.c:
3544         fix compilation on non-C99; from Theo
3545         [7c304e16c536]
3546
3547         * visudo.c:
3548         fix check_aliases
3549         [83f30a3b1765]
3550
3551         * alias.c:
3552         when destroying an alias, free the correct data pointer
3553         [6e1a8bd86c01]
3554
3555         * auth/sudo_auth.h:
3556         add proto for aixauth_cleanup; from Dale King
3557         [eba94ffc8f63]
3558
3559 2008-11-15  Todd C. Miller  <Todd.Miller@courtesan.com>
3560
3561         * sudo.cat, sudo.man.in, sudoers.cat, sudoers.man.in, visudo.cat,
3562         visudo.man.in:
3563         regen
3564         [409fa57fff83]
3565
3566         * sudo.pod, sudoers.pod, visudo.pod:
3567         standardize on the term 'option' for command line options (not flag)
3568         [228caefc2e36]
3569
3570 2008-11-14  Todd C. Miller  <Todd.Miller@courtesan.com>
3571
3572         * INSTALL:
3573         Add note on configuring HP-UX pam
3574         [f7674a581baf]
3575
3576 2008-11-11  Todd C. Miller  <Todd.Miller@courtesan.com>
3577
3578         * check.c, sudo.c:
3579         Move tty checks into check_user() so we only do them if we actually
3580         need a password.
3581         [7d997d7106d6]
3582
3583         * sudo.c:
3584         Don't error out if no tty or askpass unless we actually need to
3585         authenticate.
3586         [9f23b83ed66c]
3587
3588 2008-11-10  Todd C. Miller  <Todd.Miller@courtesan.com>
3589
3590         * ChangeLog:
3591         regen
3592         [23f9aef32da6]
3593
3594         * pathnames.h.in, sudo.c:
3595         s/overriden/overridden/; from Tobias Stoeckmann
3596         [9f7459a8fac5]
3597
3598 2008-11-09  Todd C. Miller  <Todd.Miller@courtesan.com>
3599
3600         * WHATSNEW, visudo.c:
3601         check sudoers owner and mode in strict mode
3602         [a3468c5ac1c4]
3603
3604         * gram.c, toke.c:
3605         regen
3606         [7d6b515a5443]
3607
3608         * sudo.man.in, sudoers.man.in, visudo.man.in:
3609         Update copyright years.
3610         [52d340cb8cba]
3611
3612         * LICENSE, alias.c, alloc.c, auth/afs.c, auth/aix_auth.c,
3613         auth/bsdauth.c, auth/fwtk.c, auth/kerb4.c, auth/kerb5.c, auth/pam.c,
3614         auth/securid.c, auth/securid5.c, auth/sia.c, auth/sudo_auth.h,
3615         closefrom.c, compat.h, defaults.c, defaults.h, env.c, fileops.c,
3616         gettime.c, gram.y, ins_csops.h, insults.h, interfaces.c,
3617         interfaces.h, lbuf.c, license.pod, list.c, logging.c, logging.h,
3618         parse.c, parse.h, pwutil.c, redblack.c, redblack.h, snprintf.c,
3619         sudo.c, sudo.pod, sudo_edit.c, sudo_nss.h, sudoers.pod,
3620         testsudoers.c, toke.l, tsgetgrpw.c, utimes.c, version.h, visudo.c,
3621         visudo.pod, zero_bytes.c:
3622         Update copyright years.
3623         [b4e6bf2beafa]
3624
3625         * emul/charclass.h, fnmatch.c, glob.c:
3626         add my copyright
3627         [28681385014a]
3628
3629 2008-11-08  Todd C. Miller  <Todd.Miller@courtesan.com>
3630
3631         * toke.c, toke.l:
3632         The loop in fill_cmnd() was going one byte too far past the end,
3633         resulting in a NUL being written immediately after the buffer end.
3634         [a5a49d603cd7]
3635
3636         * UPGRADE, WHATSNEW:
3637         add sections on tgetpass changes
3638         [2e6929b6a102]
3639
3640         * tgetpass.c:
3641         Treat EOF w/o newline as an error.
3642         [aa02b1db9240]
3643
3644 2008-11-07  Todd C. Miller  <Todd.Miller@courtesan.com>
3645
3646         * parse.c:
3647         Fix "sudo -v" when NOPASSWD is set.
3648         [f4914711ea80]
3649
3650         * auth/bsdauth.c, auth/fwtk.c, auth/pam.c, auth/sudo_auth.c,
3651         auth/sudo_auth.h:
3652         No longer treat an empty password at the prompt as special. To quit
3653         out of sudo you now need to hit ^C at the password prompt.
3654         [980f760ad419]
3655
3656         * sudoers.cat, sudoers.man.in:
3657         regen
3658         [6ca21a2cd869]
3659
3660         * def_data.c, def_data.h, def_data.in, sudo.c, sudoers.pod:
3661         Sudo will now refuse to run if no tty is present unless the new
3662         visiblepw sudoers flag is set.
3663         [0cc56943252e]
3664
3665 2008-11-06  Todd C. Miller  <Todd.Miller@courtesan.com>
3666
3667         * aix.c:
3668         just use RLIM_INFINITY for RLIM_SAVED_MAX if RLIM_SAVED_MAX not
3669         defined
3670         [24fc6f712d5c]
3671
3672         * aix.c:
3673         fix fallback value for RLIM_SAVED_MAX
3674         [e09e04e1af89]
3675
3676         * auth/aix_auth.c, auth/sudo_auth.h:
3677         Move clearing of AUTHSTATE into aixauth_cleanup.
3678         [e14ae7bd259c]
3679
3680         * auth/aix_auth.c, env.c:
3681         Unset AUTHSTATE after calling authenticate() as it may not be
3682         correct for the user we are running the command as.
3683         [d14f68f1b0ab]
3684
3685         * isblank.c:
3686         Add isblank() function for systems without it. Needed for POSIX
3687         character class matching in fnmatch.c and glob.c.
3688         [16cba30b283f]
3689
3690 2008-11-05  Todd C. Miller  <Todd.Miller@courtesan.com>
3691
3692         * TROUBLESHOOTING:
3693         expound on sudo and cd
3694         [8e0fa9033637]
3695
3696 2008-11-04  Todd C. Miller  <Todd.Miller@courtesan.com>
3697
3698         * ChangeLog:
3699         regen
3700         [40cf320a10fc]
3701
3702         * sudoers.cat, sudoers.man.in:
3703         regen
3704         [7cac761ae2c6]
3705
3706         * sudoers.pod:
3707         mention defauts parse order
3708         [4e2ce86d1394]
3709
3710 2008-11-03  Todd C. Miller  <Todd.Miller@courtesan.com>
3711
3712         * Makefile.in, aclocal.m4, compat.h, configure:
3713         Add isblank() function for systems without it. Needed for POSIX
3714         character class matching in fnmatch.c and glob.c.
3715         [a1ab55da8424]
3716
3717         * Makefile.in:
3718         add emul/charclass.h to HDRS
3719         [7e8a019dcaa4]
3720
3721 2008-11-02  Todd C. Miller  <Todd.Miller@courtesan.com>
3722
3723         * TODO:
3724         checkpoint
3725         [afeb9bc1baed]
3726
3727         * defaults.c, parse.c, testsudoers.c, visudo.c:
3728         Move update_defaults into defaults.c and call it properly from
3729         visudo and testsudoers.
3730         [f4dbb369461f]
3731
3732         * defaults.c, interfaces.c, pwutil.c, sudo.c, sudo_edit.c, tgetpass.c,
3733         tsgetgrpw.c:
3734         use zero_bytes() instead of memset() for consistency
3735         [4cee0465f4a8]
3736
3737         * logging.c, mon_systrace.c, parse.c, sudo.c, sudo_edit.c, tgetpass.c,
3738         visudo.c:
3739         Zero out sigaction_t before use in case it has non-standard entries.
3740         [120092225459]
3741
3742         * match.c:
3743         quiet gcc
3744         [098a1df49b23]
3745
3746         * match.c:
3747         Short circuit glob() checks if basename(pattern) !=
3748         basename(command). Refactor code that checks for a command in a
3749         directory and use it in the glob case if the resolved pattern ends
3750         in a '/'.
3751         [3c46fd317acb]
3752
3753 2008-11-01  Todd C. Miller  <Todd.Miller@courtesan.com>
3754
3755         * defaults.h, parse.c, sudo.c, testsudoers.c, visudo.c:
3756         Defer setting runas defaults until after runaspw/gr is setup.
3757         [12e75ee49c0c]
3758
3759 2008-10-29  Todd C. Miller  <Todd.Miller@courtesan.com>
3760
3761         * match.c, sudo.c, testsudoers.c:
3762         Use MAXHOSTNAMELEN+1 when allocating host/domain name since some
3763         systems do not include space for the NUL in the size. Also manually
3764         NUL-terminate buffer from gethostname() since POSIX is wishy-washy
3765         on this.
3766         [7266ab3296a3]
3767
3768 2008-10-26  Todd C. Miller  <Todd.Miller@courtesan.com>
3769
3770         * sudo.c, sudoers.pod:
3771         When setting the umask, use the union of the user's umask and the
3772         default value set in sudoers so that we never lower the user's umask
3773         when running a command.
3774         [4e804b004e38]
3775
3776         * sudo.c:
3777         Don't try to read from a zero-length sudoers file. Remove the bogus
3778         Solaris work-around for EAGAIN. Since we now use fgetc() it should
3779         not be a problem.
3780         [bb8e5f68d944]
3781
3782 2008-10-25  Todd C. Miller  <Todd.Miller@courtesan.com>
3783
3784         * parse.c:
3785         In update_defaults() check the return value of user*_matches against
3786         ALLOW so we don't inadvertantly match on UNSPEC.
3787         [4e422fa1527e]
3788
3789 2008-10-24  Todd C. Miller  <Todd.Miller@courtesan.com>
3790
3791         * sudo.cat, sudo.man.in, sudoers.cat, sudoers.ldap.cat,
3792         sudoers.ldap.man.in, sudoers.man.in, visudo.cat, visudo.man.in:
3793         regen man pages; no more hyphenation
3794         [15de4fe2fe01]
3795
3796         * sudo.c:
3797         Don't error out on a zero-length sudoers file. With the advent of
3798         #include the user could create a situation where sudo is unusable.
3799         [6eb461319fa5]
3800
3801 2008-10-23  Todd C. Miller  <Todd.Miller@courtesan.com>
3802
3803         * auth/kerb5.c, config.h.in, configure, configure.in:
3804         Newer heimdal has 2-argument krb5_get_init_creds_opt_free() like MIT
3805         krb5. Really old heimdal has no krb5_get_init_creds_opt_alloc() at
3806         all. Add configure tests to handle all the cases.
3807         [4b554a98470d]
3808
3809 2008-10-08  Todd C. Miller  <Todd.Miller@courtesan.com>
3810
3811         * sudo.pod:
3812         resort ENVIRONMENT
3813         [f4f20f40653e]
3814
3815         * sudoers.pod:
3816         document sudoers_locale
3817         [0bffd2dbe806]
3818
3819         * sudo.pod, sudo_edit.c:
3820         add SUDO_EDITOR variable that sudoedit uses in preference to VISUAL
3821         or EDITOR
3822         [0ef8cb248cee]
3823
3824         * toke.c, toke.l:
3825         In fill_cmnd(), collapse any escaped sudo-specific characters.
3826         Allows character classes to be used in pathnames.
3827         [5685244c8e44]
3828
3829 2008-10-03  Todd C. Miller  <Todd.Miller@courtesan.com>
3830
3831         * lbuf.c:
3832         fix typo in non-C89 function declaration
3833         [99a7113b3a05]
3834
3835         * sudoers.pod:
3836         Mention POSIX characters classes now that out fnmatch() and glob()
3837         support them.
3838         [9c916f1230c3]
3839
3840         * sample.sudoers, sudoers.pod:
3841         Replace [A-z] (which won't match in UTF8) with [A-Za-z] which is
3842         locale agnostic.
3843         [a60a62bec244]
3844
3845         * parse.h:
3846         use __signed char if we are going to assign a negative value since
3847         on Power, char is unsigned by default
3848         [2877b319df17]
3849
3850         * config.h.in, configure, configure.in:
3851         Add tests for __signed char and signed char.
3852         [5eb874fdf1d4]
3853
3854         * aix.c:
3855         Fix AIX limit setting. getuserattr() returns values in disk blocks
3856         rather than bytes. The default hard stack size in newer AIX is
3857         RLIM_SAVED_MAX. From Dale King.
3858         [3db67415ecc3]
3859
3860 2008-09-26  Todd C. Miller  <Todd.Miller@courtesan.com>
3861
3862         * emul/charclass.h, fnmatch.c, glob.c:
3863         Add character class support to included glob(3) and fnmatch(3).
3864         [6b5b4ad77899]
3865
3866 2008-09-16  Todd C. Miller  <Todd.Miller@courtesan.com>
3867
3868         * emul/fnmatch.h:
3869         Remove UCB advertising clause and some compatibility defines.
3870         [2ade7bee74e1]
3871
3872 2008-09-14  Todd C. Miller  <Todd.Miller@courtesan.com>
3873
3874         * sudo_edit.c:
3875         Check EDITOR/VISUAL to make sure sudoedit is not re-invoking itself
3876         or sudo. This allows one to set EDITOR to sudoedit without getting
3877         into an infinite loop of sudoedit running itself until the path gets
3878         too big.
3879         [aa49ab68f82d]
3880
3881         * def_data.c, def_data.h, def_data.in, defaults.c, sudo.c:
3882         Add sudoers_locale Defaults option to override the default sudoers
3883         locale of "C".
3884         [0639886a35bf]
3885
3886 2008-09-13  Todd C. Miller  <Todd.Miller@courtesan.com>
3887
3888         * sudo.c:
3889         Set locale to system default except for during sudoers parse.
3890         [016dd2736728]
3891
3892 2008-09-12  Todd C. Miller  <Todd.Miller@courtesan.com>
3893
3894         * match.c:
3895         Redo change in 1.34 to use pointer arithmetic.
3896         [f9e7b63bb450]
3897
3898 2008-09-11  Todd C. Miller  <Todd.Miller@courtesan.com>
3899
3900         * match.c:
3901         Fix a dereference (read) of a freed pointer. Reported by Patrick
3902         Williams.
3903         [69877b633753]
3904
3905 2008-08-23  Todd C. Miller  <Todd.Miller@courtesan.com>
3906
3907         * sudo.c:
3908         Set locale to "C" to avoid interpretation issues with character
3909         ranges in sudoers. May want to make the locale a sudoers option in
3910         the future.
3911         [098a95de1746]
3912
3913 2008-08-20  Todd C. Miller  <Todd.Miller@courtesan.com>
3914
3915         * config.h.in:
3916         we no longer use setproctitle
3917         [c7f20fb747ea]
3918
3919         * sudo.h:
3920         remove #if 1
3921         [a368ee6816c6]
3922
3923         * LICENSE, mkstemp.c:
3924         Use my replacement mkstemp() from the mktemp package.
3925         [d07c2beb0f9e]
3926
3927 2008-07-12  Todd C. Miller  <Todd.Miller@courtesan.com>
3928
3929         * gram.c:
3930         regen with yacc skeleton bug fixed
3931         [24784571cbb8]
3932
3933         * sudoers.pod:
3934         Remove duplicate "as root". From Martin Toft.
3935         [97241acfee5e]
3936
3937 2008-07-02  Todd C. Miller  <Todd.Miller@courtesan.com>
3938
3939         * pwutil.c, sudo.c, sudo.h, testsudoers.c:
3940         Flesh out the fake passwd entry used for running commands as a uid
3941         not listed in the passwd database. Fixes an issue with some PAM
3942         modules.
3943         [a6648227f3f2]
3944
3945 2008-07-01  Todd C. Miller  <Todd.Miller@courtesan.com>
3946
3947         * sudo.c:
3948         Error out in -i mode if the user has no shell. This can happen when
3949         running commands as a uid with no password entry.
3950         [0c174bef36ff]
3951
3952 2008-06-26  Todd C. Miller  <Todd.Miller@courtesan.com>
3953
3954         * toke.c, toke.l:
3955         Better fix for line continuation inside double quotes. Now accepts
3956         whitespace between the backslash and the newline like the main
3957         lexer.
3958         [64efcdf86d31]
3959
3960 2008-06-25  Todd C. Miller  <Todd.Miller@courtesan.com>
3961
3962         * toke.c, toke.l:
3963         Fix line continuation in strings. It was only being honored if
3964         preceded by whitespace.
3965         [96c21271a3e4]
3966
3967 2008-06-22  Todd C. Miller  <Todd.Miller@courtesan.com>
3968
3969         * config.h.in, configure, configure.in, logging.c:
3970         Replace the double fork with a fork + daemonize.
3971         [328505441e67]
3972
3973 2008-06-21  Todd C. Miller  <Todd.Miller@courtesan.com>
3974
3975         * env.c, sudo.c:
3976         The -i flag should imply env_reset. This got broken in sudo 1.6.9.
3977         [3caedfeaec87]
3978
3979         * logging.c, sudo.c, sudo_edit.c, visudo.c:
3980         Change how the mailer is waited for. Instead of having a SIGCHLD
3981         handler, use the double fork trick to orphan the child that opens
3982         the pipe to sendmail. Fixes a problem running su on some Linux
3983         distros.
3984         [b59ce60a393d]
3985
3986 2008-06-20  Todd C. Miller  <Todd.Miller@courtesan.com>
3987
3988         * configure, configure.in:
3989         Fix configure test for dirfd() on Linux where DIR is opaque.
3990         [b8f729cdfecc]
3991
3992 2008-06-17  Todd C. Miller  <Todd.Miller@courtesan.com>
3993
3994         * tgetpass.c:
3995         Get rid of the QNX TCSAFLUSH -> TCSADRAIN hack. If QNX still has
3996         this problem we'll need to revisit this again.
3997         [c17fee8ad530]
3998
3999 2008-06-11  Todd C. Miller  <Todd.Miller@courtesan.com>
4000
4001         * logging.c:
4002         Ignore SIGPIPE instead of blocking it when piping to the mailer. If
4003         we only block the signal it may be delivered later when we unblock.
4004         Also, there is no need to block SIGCHLD since we no longer do the
4005         double fork. The normal SIGCHLD handler is sufficient.
4006         [e94a49e992e5]
4007
4008 2008-06-08  Todd C. Miller  <Todd.Miller@courtesan.com>
4009
4010         * configure, configure.in:
4011         Add description for NO_PAM_SESSION, from a redhat patch.
4012         [b9e4c939ec09]
4013
4014 2008-06-06  Todd C. Miller  <Todd.Miller@courtesan.com>
4015
4016         * sudo.cat, sudo.man.in, sudo.pod:
4017         Fix typos in -i usage
4018         [2d7ce5de0235]
4019
4020 2008-05-18  Todd C. Miller  <Todd.Miller@courtesan.com>
4021
4022         * configure, configure.in:
4023         Redo the test for dgettext() in a way that hopefully will work
4024         around the libintl_dgettext() undefined problem.
4025         [d27beb0cf85e]
4026
4027 2008-05-11  Todd C. Miller  <Todd.Miller@courtesan.com>
4028
4029         * schema.ActiveDirectory:
4030         change filename in comment
4031         [733da4ee9ac5]
4032
4033 2008-05-10  Todd C. Miller  <Todd.Miller@courtesan.com>
4034
4035         * Makefile.in, README.LDAP, sudoers.ldap.cat, sudoers.ldap.man.in,
4036         sudoers.ldap.pod:
4037         Reference schema.ActiveDirectory
4038         [d6aec537800e]
4039
4040 2008-05-09  Todd C. Miller  <Todd.Miller@courtesan.com>
4041
4042         * schema.OpenLDAP, schema.iPlanet:
4043         Mark sudoRunAs as deprecated.
4044         [00c50df807af]
4045
4046         * schema.ActiveDirectory:
4047         add sudoRunAsUser and sudoRunAsGroup
4048         [19bcce6f72fb]
4049
4050         * schema.ActiveDirectory:
4051         Active Directory schema by Chantal Paradis and Eric Paquet
4052         [06a09c92c6a5]
4053
4054 2008-05-08  Todd C. Miller  <Todd.Miller@courtesan.com>
4055
4056         * parse.c:
4057         remove an XXX that was fixed
4058         [b88038062fa2]
4059
4060         * ChangeLog:
4061         sync
4062         [8fc27c17270e]
4063
4064         * parse.c:
4065         Initialize tags to UNSPEC instead of def_* in "sudo -l" mode. This
4066         fixes a problem where the tag value printed was influenced by
4067         defaults set in the first pass through the parser.
4068         [588ccd630367]
4069
4070 2008-05-04  Todd C. Miller  <Todd.Miller@courtesan.com>
4071
4072         * Makefile.in, sudo.psf:
4073         No point in packaging the TODO file
4074         [9590248fffe1]
4075
4076         * ChangeLog:
4077         sync
4078         [152acf4c6813]
4079
4080 2008-05-03  Todd C. Miller  <Todd.Miller@courtesan.com>
4081
4082         * WHATSNEW, def_data.c, def_data.h, def_data.in, env.c, sudo.c,
4083         sudo.h, sudoers.cat, sudoers.man.in, sudoers.pod:
4084         Add env_file Defaults option that is similar to /etc/environment on
4085         some systems.
4086         [1daf53d51e18]
4087
4088 2008-05-02  Todd C. Miller  <Todd.Miller@courtesan.com>
4089
4090         * Makefile.in, README, TODO, WHATSNEW, sudo.cat, sudo.man.in,
4091         sudoers.cat, sudoers.ldap.cat, sudoers.ldap.man.in, sudoers.man.in,
4092         version.h, visudo.cat, visudo.man.in:
4093         change version to 1.7.0
4094         [d41d126b9bd8]
4095
4096         * UPGRADE:
4097         initial valgrind pass done
4098         [c59c3876d8ca]
4099
4100 2008-04-23  Todd C. Miller  <Todd.Miller@courtesan.com>
4101
4102         * ldap.c:
4103         Fix typo/think in sudo_ldap_read_secret() when storing the secret.
4104         [830d246c09b0]
4105
4106 2008-04-11  Todd C. Miller  <Todd.Miller@courtesan.com>
4107
4108         * ldap.c:
4109         define LDAPS_PORT if the system headers do not
4110         [247b12325701]
4111
4112 2008-04-10  Todd C. Miller  <Todd.Miller@courtesan.com>
4113
4114         * gram.c, gram.y:
4115         Fix another memory leak in init_parser().
4116         [7bba47deba11]
4117
4118         * configure, configure.in:
4119         There was a missing space before the ldap libs in SUDO_LIBS for some
4120         configurations.
4121         [7524cfc93759]
4122
4123         * alias.c, gram.c, gram.y, toke.c, toke.l:
4124         Clean up some memory leaks pointed out by valgrind.
4125         [a965866ece1a]
4126
4127 2008-04-07  Todd C. Miller  <Todd.Miller@courtesan.com>
4128
4129         * sudo.c:
4130         fix "sudo -s" broken by mode/flags breakout
4131         [acffe984d408]
4132
4133         * configure, configure.in:
4134         remove duplicate check for dgettext
4135         [58145529133c]
4136
4137 2008-04-05  Todd C. Miller  <Todd.Miller@courtesan.com>
4138
4139         * aix.c:
4140         Fall back to default stanza if no user-specific limit is found.
4141         [7b8cb29123ee]
4142
4143 2008-04-02  Todd C. Miller  <Todd.Miller@courtesan.com>
4144
4145         * snprintf.c:
4146         include stdint.h if present
4147         [f0ec38529306]
4148
4149         * snprintf.c:
4150         Use LLONG_MAX, not the old QUAD_MAX
4151         [01041ce508fb]
4152
4153 2008-04-01  Todd C. Miller  <Todd.Miller@courtesan.com>
4154
4155         * sudoers.ldap.pod:
4156         fix cut and pasto
4157         [34240fdef5ab]
4158
4159 2008-03-31  Todd C. Miller  <Todd.Miller@courtesan.com>
4160
4161         * pwutil.c:
4162         Add #ifdef PURITY
4163         [ce1b571ad526]
4164
4165 2008-03-30  Todd C. Miller  <Todd.Miller@courtesan.com>
4166
4167         * auth/bsdauth.c:
4168         remove useless cast
4169         [494f8a862e1d]
4170
4171 2008-03-27  Todd C. Miller  <Todd.Miller@courtesan.com>
4172
4173         * ChangeLog:
4174         sync
4175         [f5c97ffaabcc]
4176
4177         * TODO:
4178         sync
4179         [96ff1c44c182]
4180
4181         * sudo.h:
4182         Split MODE_* defines into primary and flags.
4183         [c02ee3027cb9]
4184
4185 2008-03-26  Todd C. Miller  <Todd.Miller@courtesan.com>
4186
4187         * aix.c:
4188         It turns out the logic for getting AIX limits is more convoluted
4189         than I realized and differs depending on whether the soft and/or
4190         hard limits are defined.
4191         [cf8d3f85d395]
4192
4193 2008-03-23  Todd C. Miller  <Todd.Miller@courtesan.com>
4194
4195         * Makefile.in, configure, configure.in:
4196         Back out AIX-specific change to set the sudo_noexec path to the .a
4197         file, we do really want to use the .so file. Since libtool doesn't
4198         do that correctly, just install the .so file ourselves in the
4199         Makefile.
4200         [05c6f33177d9]
4201
4202         * install-sh:
4203         If the file given to install is a path, only use the basename of the
4204         file when building the destination path.
4205         [695ba4e429ce]
4206
4207 2008-03-18  Todd C. Miller  <Todd.Miller@courtesan.com>
4208
4209         * sudo.c:
4210         parse_args() cleanup: Sort command line options in the getopt()
4211         switch The -U option requires a parameter Normalize a few ISSET
4212         calls Split mode into mode and flags and retire the now-obsolete
4213         excl variable
4214         [0d156835f861]
4215
4216         * WHATSNEW, check.c, sudo.c, sudo.cat, sudo.h, sudo.man.in, sudo.pod,
4217         sudo_usage.h.in:
4218         Add -n (non-interactive) flag.
4219         [e3e50400d32d]
4220
4221         * sudo.c:
4222         Move version printing, etc. into a separate function.
4223         [18c91b476e2c]
4224
4225         * sudo.c:
4226         Don't try to cleanup nsswitch if it has not been initialized.
4227         [aeb1ca1b399d]
4228
4229 2008-03-17  Todd C. Miller  <Todd.Miller@courtesan.com>
4230
4231         * logging.c:
4232         Block SIGPIPE in send_mail() so sudo is not killed by a problem
4233         executing the mailer.
4234         [f130e7924cca]
4235
4236 2008-03-14  Todd C. Miller  <Todd.Miller@courtesan.com>
4237
4238         * configure, configure.in:
4239         AIX shared libs end in .a, not .so.
4240         [a5deb07020d8]
4241
4242 2008-03-13  Todd C. Miller  <Todd.Miller@courtesan.com>
4243
4244         * env.c:
4245         Preserve HOME by default too. Matches documentation and previous
4246         behavior.
4247         [c16f17f1047c]
4248
4249 2008-03-12  Todd C. Miller  <Todd.Miller@courtesan.com>
4250
4251         * sudo.c:
4252         Use getopt() to parse the command line. We need to be able to
4253         intersperse env variables and options yet still honor "--"" which
4254         complicates things slightly.
4255         [60f271ce5c16]
4256
4257 2008-03-06  Todd C. Miller  <Todd.Miller@courtesan.com>
4258
4259         * ChangeLog:
4260         sync
4261         [685e67964eda]
4262
4263         * acsite.m4, configure, ltmain.sh:
4264         update to libtool-1.5.26
4265         [4c9a8c3d3b40]
4266
4267         * config.guess, config.sub:
4268         update from libtool-1.5.26 distribution
4269         [c6641aef2527]
4270
4271         * aix.c, sudo.h:
4272         attempt to fix compilation errors on AIX
4273         [edb13e5b2184]
4274
4275         * Makefile.in:
4276         fix typo in last commit
4277         [25ba7f7ceae4]
4278
4279         * Makefile.in:
4280         Add WHATSNEW file to the distribution
4281         [213f4115de8f]
4282
4283         * visudo.c:
4284         use warningx instead of fprintf(stderr, ...)
4285         [a3494b8ccb19]
4286
4287         * list.c:
4288         add DEBUG to list2tq
4289         [115d24a3000c]
4290
4291         * ChangeLog, TODO:
4292         sync
4293         [60e6f4d1fac0]
4294
4295         * WHATSNEW:
4296         mention mailfrom
4297         [e2498f9e18d6]
4298
4299         * Makefile.in, aix.c, config.h.in, configure, configure.in,
4300         set_perms.c, sudo.h:
4301         Add aix_setlimits() to set resource limits on AIX using a
4302         combination of getuserattr() and setrlimit(). Currently untested.
4303         [9b1441fd89ca]
4304
4305 2008-03-05  Todd C. Miller  <Todd.Miller@courtesan.com>
4306
4307         * def_data.c, def_data.h, def_data.in, logging.c, sudoers.cat,
4308         sudoers.man.in, sudoers.pod:
4309         Add mailfrom Defaults option that sets the value of the From: field
4310         in the warning/error mail. If unset the login name of the invoking
4311         user is used.
4312         [029b9f05d3d9]
4313
4314         * defaults.c:
4315         store a copy of _PATH_SUDO_ASKPASS in def_askpass that is freeable
4316         [a90e407d5e00]
4317
4318         * gram.c, gram.y:
4319         When adding a default, only call list2tq() once to do the list to tq
4320         conversion. It is not legal to call list2tq multiple times on the
4321         same list since list2tq consumes and modifies the list argument.
4322         [fbc25d245c4a]
4323
4324         * sudoers.ldap.cat, sudoers.ldap.man.in, sudoers.ldap.pod:
4325         comment out XXXs for now
4326         [595a1d43309d]
4327
4328         * WHATSNEW:
4329         mention askpass
4330         [b993e0837c22]
4331
4332 2008-03-04  Todd C. Miller  <Todd.Miller@courtesan.com>
4333
4334         * sudo.c:
4335         Error out if both -A and -S are specified Error out if -A is
4336         specified but no askpass is configured
4337         [24f1df2638f6]
4338
4339         * configure, configure.in:
4340         we are not going to ship a sudo-specific askpass
4341         [61949e7a3943]
4342
4343 2008-03-03  Todd C. Miller  <Todd.Miller@courtesan.com>
4344
4345         * sudo.h:
4346         fix definition of TGP_ASKPASS
4347         [0447c57ba4c3]
4348
4349         * def_data.c, def_data.in:
4350         make askpass boolean-capable
4351         [e0885893a325]
4352
4353         * INSTALL:
4354         document --with-askpass
4355         [c76e15ba97cf]
4356
4357         * sudo.cat, sudo.man.in, sudoers.cat, sudoers.ldap.cat,
4358         sudoers.man.in, visudo.cat:
4359         regen
4360         [8d16242980b7]
4361
4362 2008-03-02  Todd C. Miller  <Todd.Miller@courtesan.com>
4363
4364         * sudo.pod, sudo_usage.h.in, sudoers.pod:
4365         document -A and askpass
4366         [02c07505a78c]
4367
4368         * auth/sudo_auth.c, check.c, configure, configure.in, def_data.c,
4369         def_data.h, def_data.in, defaults.c, pathnames.h.in, sudo.c, sudo.h,
4370         sudo_usage.h.in, tgetpass.c:
4371         Add support for running a helper program to read the password when
4372         no tty is present (or when specified with the -A flag). TODO: docs.
4373         [05780f5f71fd]
4374
4375         * def_data.c, def_data.in:
4376         add missing printf format to SELinux role and type strings
4377         [2b32774715e7]
4378
4379 2008-02-27  Todd C. Miller  <Todd.Miller@courtesan.com>
4380
4381         * INSTALL, configure, configure.in:
4382         Disable use of gss_krb5_ccache_name() by default and add
4383         --enable-gss-krb5-ccache-name configure option to enable it. It
4384         seems that gss_krb5_ccache_name() doesn't work properly with some
4385         combinations of Heimdal and OpenLDAP.
4386         [f61ebd3b19bd]
4387
4388 2008-02-22  Todd C. Miller  <Todd.Miller@courtesan.com>
4389
4390         * selinux.c:
4391         Ignore setexeccon() failing in permissive mode. Also add a call to
4392         setkeycreatecon() (though this is probably insufficient). From Dan
4393         Walsh.
4394         [52564fc1c069]
4395
4396         * auth/pam.c:
4397         Only set std_prompt for the PAM_PROMPT_* cases. The conversation
4398         function may be called for non-password reading purposes so we must
4399         be careful not to use def_prompt in cases where it may not be set.
4400         [29d88ca575ba]
4401
4402 2008-02-20  Todd C. Miller  <Todd.Miller@courtesan.com>
4403
4404         * selinux.c:
4405         Don't free the new tty context, we need to keep it around when we
4406         restore the tty context after the command completes
4407         [5b4bd39b6ea8]
4408
4409 2008-02-19  Todd C. Miller  <Todd.Miller@courtesan.com>
4410
4411         * selinux.c:
4412         s/newrole/sudo/
4413         [21b8a96ff8df]
4414
4415         * sudo.man.pl, sudo.pod:
4416         Only put login_cap(3) in SEE ALSO section if we have login.conf
4417         support
4418         [05250ddff2c0]
4419
4420 2008-02-18  Todd C. Miller  <Todd.Miller@courtesan.com>
4421
4422         * sudo.cat, sudo.man.in, sudoers.cat, sudoers.ldap.cat,
4423         sudoers.ldap.man.in, sudoers.man.in, visudo.cat, visudo.man.in:
4424         regen
4425         [301e5c5ccdbe]
4426
4427         * sudoers.pod:
4428         Substitute in comment characters for lines partaining to login.conf,
4429         BSD auth and SELinux and only enable them if pertinent.
4430         [c1c98fa163ce]
4431
4432         * sudoers.man.pl:
4433         Substitute in comment characters for lines partaining to login.conf,
4434         BSD auth and SELinux and only enable them if pertinent.
4435         [6c88f30b878a]
4436
4437         * sudo.pod:
4438         Substitute in comment characters for lines partaining to login.conf,
4439         BSD auth and SELinux and only enable them if pertinent.
4440         [acdbdfd24e1d]
4441
4442         * sudo.man.pl:
4443         Substitute in comment characters for lines partaining to login.conf,
4444         BSD auth and SELinux and only enable them if pertinent.
4445         [0c56d4750ac3]
4446
4447         * Makefile.in, configure, configure.in:
4448         Substitute in comment characters for lines partaining to login.conf,
4449         BSD auth and SELinux and only enable them if pertinent.
4450         [9a02bd6a6658]
4451
4452         * Makefile.in, sudo.pod, sudoers.ldap.pod, sudoers.pod, visudo.pod:
4453         Remove the =cut on the first line (above the copyright notice) to
4454         quiet pod2man. Also remove the hackery in the FILES section and
4455         just deal with the fact that there will a newline between each
4456         pathname.
4457         [2ac1ab191835]
4458
4459 2008-02-17  Todd C. Miller  <Todd.Miller@courtesan.com>
4460
4461         * Makefile.in:
4462         run sudo.man.pl when generating sudo.man.in
4463         [859727369168]
4464
4465         * configure, configure.in, sudo.man.pl:
4466         comment out SELinux manual bits unless --with-selinux was specified
4467         [97ff4212b649]
4468
4469         * sudoers.pod:
4470         document role and type defaults for SELinux
4471         [870f303366b3]
4472
4473         * sudo.c, sudo.cat, sudo.man.in, sudo.pod, sudo_usage.h.in:
4474         Document "sudo -ll" and make "sudo -l -l" be equivalent.
4475         [3ce6dc429ea3]
4476
4477 2008-02-15  Todd C. Miller  <Todd.Miller@courtesan.com>
4478
4479         * configure, configure.in:
4480         Treat k*bsd*-gnu like Linux, not BSD. Fixes compilation problems on
4481         Debian GNU/kFreeBSD.
4482         [c4efa567a328]
4483
4484 2008-02-13  Todd C. Miller  <Todd.Miller@courtesan.com>
4485
4486         * auth/kerb5.c:
4487         Avoid Heimdal'isms introduced in the rev 1.32 rewrite of
4488         verify_krb_v5_tgt()
4489         [f80538e5a6fa]
4490
4491         * logging.c, logging.h, sudo.c:
4492         Remove dependence on VALIDATE_NOT_OK in logging functions. Split
4493         log_auth() into log_allowed() and log_denial() Replace mail_auth()
4494         with should_mail() and a call to send_mail()
4495         [58aac9997557]
4496
4497 2008-02-10  Todd C. Miller  <Todd.Miller@courtesan.com>
4498
4499         * ldap.c:
4500         Add debugging so we can tell if the krb5 ccache is accessible
4501         [c679322527bb]
4502
4503         * INSTALL:
4504         mention --with-selinux
4505         [9efbe0b52194]
4506
4507 2008-02-09  Todd C. Miller  <Todd.Miller@courtesan.com>
4508
4509         * configure:
4510         regen
4511         [467a834f867c]
4512
4513         * selinux.c:
4514         add Sudo tag
4515         [d004ee669bed]
4516
4517         * sudo.c, sudo.cat, sudo.h, sudo.man.in, sudo.pod, sudo_usage.h.in,
4518         sudoers.ldap.cat, sudoers.ldap.man.in, sudoers.ldap.pod,
4519         testsudoers.c, toke.c, toke.l:
4520         Add support for SELinux RBAC. Sudoers entries may specify a role
4521         and type. There are also role and type defaults that may be used.
4522         To make sure a transition occurs, when using RBAC commands are
4523         executed via the new sesh binary. Based on initial changes from Dan
4524         Walsh.
4525         [1d4abfe2c004]
4526
4527         * sesh.c:
4528         Add support for SELinux RBAC. Sudoers entries may specify a role
4529         and type. There are also role and type defaults that may be used.
4530         To make sure a transition occurs, when using RBAC commands are
4531         executed via the new sesh binary. Based on initial changes from Dan
4532         Walsh.
4533         [1e3b395ce049]
4534
4535         * Makefile.in, config.h.in, configure.in, def_data.c, def_data.h,
4536         def_data.in, gram.c, gram.h, gram.y, ldap.c, parse.c, parse.h,
4537         pathnames.h.in, selinux.c:
4538         Add support for SELinux RBAC. Sudoers entries may specify a role
4539         and type. There are also role and type defaults that may be used.
4540         To make sure a transition occurs, when using RBAC commands are
4541         executed via the new sesh binary. Based on initial changes from Dan
4542         Walsh.
4543         [6b421948286e]
4544
4545 2008-02-08  Todd C. Miller  <Todd.Miller@courtesan.com>
4546
4547         * lbuf.c, ldap.c, parse.c, sudo.c, sudo.h, sudo_nss.c:
4548         Add long list (sudo -ll) support for printing verbose LDAP and
4549         sudoers file entries. Still need to update manual.
4550         [2875be37935c]
4551
4552 2008-02-03  Todd C. Miller  <Todd.Miller@courtesan.com>
4553
4554         * ldap.c, parse.c, sudo.h, sudo_nss.c, sudo_nss.h:
4555         Unify the -l output for file and ldap based sudoers and use lbufs
4556         for both. The ldap output does not currently include options that
4557         cannot be represented as tags. This will be remedied in a long list
4558         output mode to come.
4559         [b2e429456596]
4560
4561 2008-01-27  Todd C. Miller  <Todd.Miller@courtesan.com>
4562
4563         * set_perms.c:
4564         Use a specific error message for errno == EAGAIN when setuid() et al
4565         fails. On Linux systems setuid() will fail with errno set to EAGAIN
4566         if changing to the new uid would result in a resource limit
4567         violation.
4568         [08d0aecd9f03]
4569
4570         * sudo.c:
4571         Unlimit nproc on Linux systems where calling the setuid() family of
4572         syscalls causes the nroc resource limit to be checked. The limits
4573         will be reset by pam_limits.so when PAM is used. In the non-PAM
4574         case the nproc limit will remain unlimited but there doesn't seem to
4575         be a way around that other than having sudo parse
4576         /etc/security/limits.conf directly.
4577         [df024b415a8d]
4578
4579         * env.c, sudo.c, sudo.pod:
4580         Only read /etc/environment on Linux and AIX
4581         [90669e2aefdb]
4582
4583 2008-01-23  Todd C. Miller  <Todd.Miller@courtesan.com>
4584
4585         * configure, configure.in:
4586         Use SUDO_DEFINE_UNQUOTED instead of AC_DEFINE_UNQUOTED to prevent
4587         ldap.conf and ldap.secret paths from going into config.h. Avoid
4588         single quotes in variable expansion when using SUDO_DEFINE_UNQUOTED
4589         since in some versions of bash they will end up literally in the
4590         resulting define.
4591         [25390f3ef10a]
4592
4593 2008-01-21  Todd C. Miller  <Todd.Miller@courtesan.com>
4594
4595         * README.LDAP:
4596         mention --with-nsswitch=no
4597         [c509df927263]
4598
4599         * configure, configure.in:
4600         ldap_ssl.h depends on ldap.h being included first
4601         [d96d90e9b21f]
4602
4603         * config.h.in, configure, configure.in, ldap.c:
4604         Include ldap_ssl.h if we can find it. Needed for the
4605         ldapssl_set_strength defines on HP-UX at least.
4606         [9e530470948a]
4607
4608         * sudoers.ldap.pod:
4609         sync
4610         [b9d101f4673a]
4611
4612         * TODO:
4613         sync
4614         [2ce951b2ecd0]
4615
4616         * sudo.cat, sudo.man.in, sudoers.cat, sudoers.ldap.cat,
4617         sudoers.ldap.man.in, sudoers.man.in, visudo.cat, visudo.man.in:
4618         regen
4619         [b61d793987e0]
4620
4621         * Makefile.in:
4622         Use 78n line length when formatting cat pages.
4623         [761bee9d5759]
4624
4625         * README.LDAP:
4626         Remove redundant info that is now in sudoers.ldap.pod
4627         [01828dcce59e]
4628
4629 2008-01-20  Todd C. Miller  <Todd.Miller@courtesan.com>
4630
4631         * sudoers.ldap.cat, sudoers.ldap.man.in, sudoers.ldap.pod:
4632         Reorganize the first section a bit. Substitute the proper path for
4633         /etc/sudoers.
4634         [11ae165e065d]
4635
4636         * sudoers.ldap.cat, sudoers.ldap.man.in, sudoers.ldap.pod:
4637         Substitute values for ldap.conf, ldap.secret and nsswitch.conf Move
4638         schema into EXAMPLES
4639         [ab6509d1dde7]
4640
4641         * configure, configure.in:
4642         Substitute values for ldap.conf, ldap.secret and nsswitch.conf into
4643         sudoers.ldap.man.
4644         [6e689972f465]
4645
4646         * configure, configure.in:
4647         substitute for sudoers.ldap.man
4648         [5a4a25766dee]
4649
4650         * Makefile.in:
4651         Fix cut & pasto introduced when adding sudoers.ldap man page.
4652         [a7b069af8894]
4653
4654         * sudoers.ldap.cat, sudoers.ldap.man.in, sudoers.ldap.pod:
4655         Fill in some of the missing pieces. Still needs some reorganization
4656         and editing.
4657         [5e7331722166]
4658
4659 2008-01-19  Todd C. Miller  <Todd.Miller@courtesan.com>
4660
4661         * Makefile.in, sudoers.ldap.cat, sudoers.ldap.man.in,
4662         sudoers.ldap.pod:
4663         Beginnings of a sudoers.ldap man page. Currently, much of the
4664         information is adapted from README.LDAP.
4665         [aad28c8a922d]
4666
4667 2008-01-18  Todd C. Miller  <Todd.Miller@courtesan.com>
4668
4669         * pwutil.c:
4670         When copying gr_mem we must guarantee that the storage space for
4671         gr_mem is properly aligned. The simplest way to do this is to
4672         simply store gr_mem directly after struct group. This is not a
4673         problem for gr_passwd or gr_name as they are simple strings.
4674         [af58fc76f1ed]
4675
4676         * ldap.c:
4677         Fix a typo/thinko in one of the calls to
4678         sudo_ldap_check_user_netgroup(). From Marco van Wieringen.
4679         [70b2eb8097f5]
4680
4681 2008-01-17  Todd C. Miller  <Todd.Miller@courtesan.com>
4682
4683         * config.h.in, configure, configure.in, ldap.c:
4684         include <mps/ldap_ssl.h> in ldap.c if available
4685         [34346206ef16]
4686
4687 2008-01-16  Todd C. Miller  <Todd.Miller@courtesan.com>
4688
4689         * gram.c, gram.y:
4690         Make sure we define SIZE_MAX for yacc's skeleton.c
4691         [d8a45c7a3c42]
4692
4693         * tgetpass.c:
4694         Use TCSAFLUSH when restoring terminal settings (and echo) to
4695         guarantee that any pending output is discarded
4696         [549a184479e5]
4697
4698 2008-01-15  Todd C. Miller  <Todd.Miller@courtesan.com>
4699
4700         * sudoers:
4701         no longer need to specify SETENV when user has sudo ALL
4702         [3051b41f8032]
4703
4704         * testsudoers.c:
4705         sync user_args size calculation with sudo.c Add -g group option,
4706         renaming old -g to -G Add set_runasgr() and set_runaspw() and use
4707         them
4708         [0850325180f0]
4709
4710         * sudo.c, sudo.h:
4711         Make set_runaspw static void
4712         [5d44d7a340ce]
4713
4714         * testsudoers.c, visudo.c:
4715         g/c set_runaspw stub
4716         [79ebb5e2cc38]
4717
4718         * configure, configure.in:
4719         Don't add -llber twice.
4720         [4356d302eef4]
4721
4722 2008-01-14  Todd C. Miller  <Todd.Miller@courtesan.com>
4723
4724         * ldap.c:
4725         fix typo
4726         [249cecc557e9]
4727
4728 2008-01-13  Todd C. Miller  <Todd.Miller@courtesan.com>
4729
4730         * gram.c:
4731         regen
4732         [2f94ea375b67]
4733
4734         * configure, configure.in:
4735         Fix check that determines whether -llber is required.
4736         [6afa99523379]
4737
4738         * README.LDAP, config.h.in, configure, configure.in, ldap.c:
4739         For netscape-based LDAP, use ldapssl_set_strength() to implement the
4740         checkpeer ldap.conf option.
4741         [16ae24d73795]
4742
4743         * auth/kerb5.c:
4744         Delay krb5_cc_initialize() until we actually need to use the cred
4745         cache, which is what krb5_verify_user() does. Better cleanup on
4746         failure.
4747         [d12e5f1695b8]
4748
4749 2008-01-12  Todd C. Miller  <Todd.Miller@courtesan.com>
4750
4751         * auth/kerb5.c:
4752         Rewrite verify_krb_v5_tgt() based on what heimdal's
4753         krb5_verify_user() does.
4754         [05b5815f86c9]
4755
4756 2008-01-09  Todd C. Miller  <Todd.Miller@courtesan.com>
4757
4758         * gram.c:
4759         The U suffix on constants is an ANSI feature
4760         [c6dfce3167f1]
4761
4762         * configure, configure.in:
4763         Add check for ber_set_option() in -llber
4764         [43d0c0566074]
4765
4766 2008-01-07  Todd C. Miller  <Todd.Miller@courtesan.com>
4767
4768         * README.LDAP:
4769         default if no nsswitch.conf is files only
4770         [c13001d9c998]
4771
4772 2008-01-06  Todd C. Miller  <Todd.Miller@courtesan.com>
4773
4774         * README.LDAP:
4775         don't tell people to mail aaron about LDAP stuff
4776         [8165ec1ef0c6]
4777
4778         * README.LDAP:
4779         timelimit and bind_timelimit
4780         [44f74cbed167]
4781
4782         * ChangeLog:
4783         sync
4784         [aba1a0ab02bd]
4785
4786         * ldap.c:
4787         Move ldap.secret reading into a separate function.
4788         [1948acc9f7a4]
4789
4790         * check.c:
4791         user_runas -> runas_pw
4792         [334490fc2bae]
4793
4794 2008-01-05  Todd C. Miller  <Todd.Miller@courtesan.com>
4795
4796         * TODO:
4797         sync
4798         [c7b165cc47c6]
4799
4800         * check.c, sudo.pod, sudoers.pod:
4801         Add and document the %p escape in the password prompt. Based on a
4802         patch from Patrick Schoenfeld.
4803         [3972d4f31ffa]
4804
4805         * ldap.c:
4806         Check strlcpy() return values.
4807         [9b42f3ae8ff1]
4808
4809         * ldap.c:
4810         refactor ldap binding code into sudo_ldap_bind_s()
4811         [cb0c66a4d955]
4812
4813         * README.LDAP:
4814         Make it clear that host and uri can take multiple parameters. URI is
4815         now supported for more than just openldap nsswitch.conf does't
4816         accept "compat"
4817         [f610dea656d6]
4818
4819         * sudo.c:
4820         comment cleanup and update (c) year
4821         [6cd69c810ca5]
4822
4823         * parse.c, sudo_nss.c:
4824         Move display_privs() and display_cmnd() from parse.c to sudo_nss.c.
4825         This should make it possible to build an LDAP-only sudo binary.
4826         [61c3f27066a0]
4827
4828         * ldap.c, parse.c, sudo.c, sudo.h, sudo_nss.h:
4829         Improve chaining of multiple sudoers sources by passing in the
4830         previous return value to the next in the chain
4831         [2c0b722b1b2d]
4832
4833         * gram.y:
4834         Free up parser data structures in sudo_file_close().
4835         [2251531d4519]
4836
4837         * gram.c, parse.c:
4838         Free up parser data structures in sudo_file_close().
4839         [8371f130f401]
4840
4841         * ldap.c:
4842         Parse uri ourself if no ldap_initialize() is present Use
4843         ldap_create() instead of deprecated ldap_init() Use
4844         ldap_sasl_bind_s() instead of deprecated ldap_simple_bind_s()
4845         [85d3825b1953]
4846
4847         * config.h.in, configure, configure.in:
4848         Add check for ldap_sasl_bind_s() Remove -DLDAP_DEPRECATED from
4849         CFLAGS
4850         [240524512bc5]
4851
4852 2008-01-04  Todd C. Miller  <Todd.Miller@courtesan.com>
4853
4854         * config.h.in, configure, configure.in:
4855         add check for ldap_create
4856         [3089badd73b8]
4857
4858 2008-01-03  Todd C. Miller  <Todd.Miller@courtesan.com>
4859
4860         * config.h.in, configure, configure.in, ldap.c:
4861         Add sudo_ldap_get_first_rdn() to return the first rdn of an entry's
4862         dn using the mechanism appropriate for the LDAP SDK in use. Use
4863         ldap_unbind_ext_s() instead of deprecated ldap_unbind_s(). Emulate
4864         ldap_unbind_ext_s() and ldap_search_ext_s() for SDK's without them.
4865         [6deeca3d00cc]
4866
4867         * lbuf.c:
4868         include unistd.h
4869         [8419ed0bae7f]
4870
4871         * config.h.in, configure.in:
4872         fix typo in mtim_getnsec
4873         [2d5f21230a60]
4874
4875 2008-01-02  Todd C. Miller  <Todd.Miller@courtesan.com>
4876
4877         * config.h.in, configure, configure.in:
4878         add check for st__tim in struct stat as used by SCO
4879         [587060ea2a89]
4880
4881         * ldap.c:
4882         use ldap_search_ext_s instead of deprecated ldap_search_s
4883         [5fc44fe3b44c]
4884
4885         * Makefile.in, TODO, sudo.cat, sudo.man.in:
4886         add sudo_nss.h to HDRS
4887         [86f01a70ff29]
4888
4889         * ldap.c:
4890         Replace deprecated ldap_explode_dn() with calls to ldap_str2dn() and
4891         ldap_rdn2str().
4892         [aa217002cfae]
4893
4894 2008-01-01  Todd C. Miller  <Todd.Miller@courtesan.com>
4895
4896         * ldap.c:
4897         Use ldap_get_values_len()/ldap_value_free_len() instead of the
4898         deprecated ldap_get_values()/ldap_value_free().
4899         [e22dceb85e57]
4900
4901         * ChangeLog:
4902         sync
4903         [adad27b36107]
4904
4905         * TODO:
4906         sync
4907         [c449eb47e0ef]
4908
4909         * gettime.c, sudo.c:
4910         Remove some already fixed XXXs
4911         [532788d0e6da]
4912
4913         * ldap.c:
4914         Same return value as non-existent sudoers if LDAP was unable to
4915         connect.
4916         [5819810e8e4e]
4917
4918         * sudo.pod:
4919         mention /etc/environment
4920         [ea8e6102f853]
4921
4922         * README.LDAP, UPGRADE, WHATSNEW:
4923         Update to reflect recent developments.
4924         [ed1fb026fe77]
4925
4926         * sudo.c:
4927         Print nsswitch.conf, ldap.conf and ldap.secret paths in -V output.
4928         [55b68a58260d]
4929
4930         * ldap.c:
4931         When building up a query don't list groups in the aux group vector
4932         that are the same as the passwd file group. On most systems the
4933         first gid in the group vector is the same as the passwd entry gid.
4934         [4bb51e297e0d]
4935
4936         * env.c, ldap.c:
4937         Define LDAPNOINIT before calling ldap_init(), etc. to disable user
4938         ldaprc and system defaults that could affect how LDAP works.
4939         [ce5036440db2]
4940
4941         * INSTALL, configure, configure.in, pathnames.h.in, sudo.c,
4942         sudo_nss.c, sudo_nss.h:
4943         Rename read_nss -> sudo_read_nss Add --with-nsswitch to allow users
4944         to specify nsswitch.conf path or disable it. If --with-nsswitch=no
4945         but --with-ldap, order is LDAP, then sudoers. Fix --with-ldap-conf-
4946         file and --with-ldap-secret-file
4947         [ea5d7704381f]
4948
4949         * parse.c:
4950         Honor def_ignore_local_sudoers
4951         [f38e1121fae1]
4952
4953 2007-12-31  Todd C. Miller  <Todd.Miller@courtesan.com>
4954
4955         * ldap.c:
4956         no longer need to check def_ignore_local_sudoers here
4957         [fce2a72f96fb]
4958
4959         * parse.c:
4960         Refactor group vector resetting into a function and also call it
4961         from display_cmnd. Stop after the first sucessful match in
4962         display_cmnd. Print a newline between each display_privs method.
4963         [981b37b5adff]
4964
4965         * parse.c:
4966         fix double free introduced in rev 1.218
4967         [c574b02d8747]
4968
4969         * ldap.c:
4970         belt and suspenders; zero out result after freeing it
4971         [7732988d4620]
4972
4973         * env.c, fileops.c, ldap.c, sudo.h, sudo_nss.c:
4974         Refactor line reading into a separate function, sudo_parseln(),
4975         which removes comments, leading/trailing whitespace and newlines.
4976         May want to rethink the use of sudo_parseln() for /etc/ldap.secret
4977         [61d9068f0645]
4978
4979         * parse.c, sudo.c:
4980         Make the inability to read the sudoers file a non-fatal error if
4981         there are other sudoers sources available. sudoers_file_lookup now
4982         returns "not OK" if sudoers was not present
4983         [643babf597a8]
4984
4985         * ldap.c:
4986         make it clear that the global options are from LDAP
4987         [9ff950349463]
4988
4989         * logging.c:
4990         allocate proper amount of space for error string
4991         [8bebb7d46d19]
4992
4993         * sudo_nss.c, sudo_nss.h:
4994         actual sudo nss code
4995         [5bd7d52d7738]
4996
4997         * ldap.c, parse.c, sudo.c, sudo.h:
4998         nss-ify display_privs and display_cmnd.
4999         [cccfdd3253f2]
5000
5001         * defaults.c, parse.c, testsudoers.c, visudo.c:
5002         move update_defaults() to parse.c
5003         [ace144b958a9]
5004
5005         * Makefile.in, ldap.c, list.c, parse.c, parse.h, sudo.c, sudo.h:
5006         Use nsswitch to hide some sudoers vs. ldap implementation details
5007         and reduce the number of #ifdef LDAP TODO: fix display routines and
5008         error handling
5009         [6225edde89a6]
5010
5011 2007-12-28  Todd C. Miller  <Todd.Miller@courtesan.com>
5012
5013         * Makefile.in, README.LDAP, ldap.c, pathnames.h.in, sudo.c, sudo.h:
5014         First cut at nsswitch.conf support. Further reorganizaton and
5015         related changes are forthcoming.
5016         [717f59d0790b]
5017
5018 2007-12-21  Todd C. Miller  <Todd.Miller@courtesan.com>
5019
5020         * env.c, pathnames.h.in, sudo.c, sudo.h:
5021         Add support for reading and /etc/environment file. Still needs to
5022         be documented and should probably only applies to OSes that have it
5023         (AIX and Linux, maybe others).
5024         [15d3edae27e4]
5025
5026         * ldap.c:
5027         include limits.h
5028         [e19875ef0f82]
5029
5030 2007-12-20  Todd C. Miller  <Todd.Miller@courtesan.com>
5031
5032         * WHATSNEW:
5033         reword LDAP SASL
5034         [7ec3c4ec31b5]
5035
5036 2007-12-19  Todd C. Miller  <Todd.Miller@courtesan.com>
5037
5038         * TODO:
5039         sync
5040         [87c5a7aea7bf]
5041
5042         * README.LDAP:
5043         Add an example sudoRole, clarify netscape vs. openldap a bit more
5044         [6f96c0ca8107]
5045
5046         * README.LDAP:
5047         Be clear on what is OpenLDAP vs. Netscape-derived
5048         [a33c8314dec5]
5049
5050         * config.h.in, configure, configure.in, ldap.c:
5051         Use ldapssl_init() for ldaps support instead of trying to do it
5052         manually with ldap_init() + ldapssl_install_routines(). Use tls_cert
5053         and tls_key for cert7.db and key3.db respectively. Don't print
5054         debugging info for options that are not set. Add warning if
5055         start_tls specified when not supported.
5056         [abb62dc7e4a3]
5057
5058         * ldap.c:
5059         fix compilation on solaris
5060         [03d449684e80]
5061
5062         * Makefile.in:
5063         add missing .h and .c files for missing lib objs
5064         [8b37825bdfc7]
5065
5066 2007-12-18  Todd C. Miller  <Todd.Miller@courtesan.com>
5067
5068         * ldap.c:
5069         fix LDAP_OPT_NETWORK_TIMEOUT setting
5070         [226eba89c0ad]
5071
5072         * ldap.c:
5073         fix compilation on Solaris
5074         [917d47639eb6]
5075
5076 2007-12-17  Todd C. Miller  <Todd.Miller@courtesan.com>
5077
5078         * configure, configure.in:
5079         fix typo
5080         [009d5c81b225]
5081
5082         * README.LDAP:
5083         try to clear up which variables are for OpenLDAP and which are for
5084         netscape-derived SDKs
5085         [f8d9823ee73c]
5086
5087         * config.h.in, configure, configure.in, ldap.c:
5088         Add support for "ssl on" in both netscape and openldap flavors. Only
5089         the OpenLDAP flavor has been tested.
5090         [952745829ec5]
5091
5092         * logging.c, sudo.c, sudo.h:
5093         Call cleanup() before exit in log_error() instead of calling
5094         sudo_ldap_close() directly. ldap_conn can now be static to sudo.c
5095         [da02d1b67a2c]
5096
5097         * sudo.c:
5098         ld -> ldap_conn
5099         [01afa6d927cc]
5100
5101 2007-12-16  Todd C. Miller  <Todd.Miller@courtesan.com>
5102
5103         * logging.c, sudo.c, sudo.h:
5104         Better ldap cleanup.
5105         [25b9abe2d617]
5106
5107         * ldap.c:
5108         Distinguish between LDAP conf settings that are connection-specific
5109         (which take an ld pointer) and those that are default settings
5110         (which do not).
5111         [d48dc6c9c3b4]
5112
5113 2007-12-14  Todd C. Miller  <Todd.Miller@courtesan.com>
5114
5115         * ldap.c:
5116         Improved warnings on error.
5117         [c8dce7b4feb4]
5118
5119         * ldap.c:
5120         Make ldap config table driven and set the config *after* we open the
5121         connection.
5122         [d9698b5a2681]
5123
5124 2007-12-13  Todd C. Miller  <Todd.Miller@courtesan.com>
5125
5126         * ldap.c:
5127         fix LDAP_OPT_X_CONNECT_TIMEOUT compat define
5128         [598c6df06660]
5129
5130         * configure, configure.in:
5131         some operating systems need to link with -lkrb5support when using
5132         krb5
5133         [8896365dde9e]
5134
5135 2007-12-10  Todd C. Miller  <Todd.Miller@courtesan.com>
5136
5137         * WHATSNEW:
5138         minor update
5139         [acfeeb7f4886]
5140
5141         * sudo.cat, sudo.man.in, sudoers.cat, sudoers.man.in:
5142         regen
5143         [a3c6699674f9]
5144
5145 2007-12-08  Todd C. Miller  <Todd.Miller@courtesan.com>
5146
5147         * ChangeLog, TODO:
5148         sync
5149         [138e99b925ee]
5150
5151         * ldap.c, schema.OpenLDAP, schema.iPlanet, sudoers2ldif:
5152         add -g support for LDAP
5153         [8fc27dbe9287]
5154
5155 2007-12-03  Todd C. Miller  <Todd.Miller@courtesan.com>
5156
5157         * WHATSNEW, sudo.c, sudo.pod, sudo_usage.h.in:
5158         The -i and -s flags can now take an optional command.
5159         [6afec104ee77]
5160
5161 2007-12-02  Todd C. Miller  <Todd.Miller@courtesan.com>
5162
5163         * auth/pam.c, def_data.c, def_data.h, def_data.in, sudo.c, sudo.pod,
5164         sudoers.pod:
5165         Add passprompt_override flag to sudoers that will cause the prompt
5166         to be overridden in all cases. This flag is also set when the user
5167         specifies the -p flag.
5168         [e4c5402131a6]
5169
5170         * sudo.c:
5171         Move setting of login class until after sudoers has been parsed. Set
5172         NewArgv[0] for -i after runas_pw has been set.
5173         [62a48c8c56fa]
5174
5175         * configure, configure.in:
5176         Move the dgettext check.
5177         [5fd8a4712d1c]
5178
5179 2007-12-01  Todd C. Miller  <Todd.Miller@courtesan.com>
5180
5181         * auth/pam.c, config.h.in, configure, configure.in:
5182         Add basic support for looking up the string "Password: " in the PAM
5183         localized text db. This allows us to determine whether the PAM
5184         prompt is the default "Password: " one even if it has been
5185         localized.
5186
5187         TODO: concatenate non-std PAM prompts and user-specified sudo
5188         prompts.
5189         [81c25a415d41]
5190
5191 2007-11-27  Todd C. Miller  <Todd.Miller@courtesan.com>
5192
5193         * Makefile.in, config.h.in, configure, configure.in, parse.c,
5194         set_perms.c, sudo.c, sudo.h:
5195         Use AC_FUNC_GETGROUPS instead of a home-grown attempt that was
5196         insufficient.
5197         [1cce6ec1a91e]
5198
5199         * acsite.m4, configure, interfaces.c, memrchr.c:
5200         Fix typos; Martynas Venckus
5201         [be1233cca11a]
5202
5203 2007-11-26  Todd C. Miller  <Todd.Miller@courtesan.com>
5204
5205         * set_perms.c:
5206         Don't assume runas_pw is set; it may not be in the -g case.
5207         [aa11bd2193ac]
5208
5209 2007-11-25  Todd C. Miller  <Todd.Miller@courtesan.com>
5210
5211         * logging.c, set_perms.c:
5212         Set aux group vector for PERM_RUNAS and restore group vector for
5213         PERM_ROOT if we previously changed it. Stash the runas group vector
5214         so we don't have to call initgroups more than once. Also add no-op
5215         check to check_perms.
5216         [53837fc755f7]
5217
5218 2007-11-21  Todd C. Miller  <Todd.Miller@courtesan.com>
5219
5220         * WHATSNEW, check.c, def_data.in, defaults.c, gram.c, gram.h, gram.y,
5221         ldap.c, logging.c, match.c, mon_systrace.c, parse.c, parse.h,
5222         pwutil.c, set_perms.c, sudo.c, sudo.cat, sudo.h, sudo.man.in,
5223         sudo.pod, sudo_usage.h.in, sudoers.cat, sudoers.man.in, sudoers.pod,
5224         testsudoers.c, visudo.c, visudo.cat, visudo.man.in:
5225         Add support for runas groups. This allows the user to run a command
5226         with a different effective group. If the -g option is specified
5227         without -u the command will be run as the current user (only the
5228         group will change). the -g and -u options may be used together.
5229         TODO: implement runas group for ldap improve runas group
5230         documentation add testsudoers support
5231         [9019309df6d0]
5232
5233         * configure, configure.in:
5234         fix setting of mandir
5235         [2c60f269399f]
5236
5237         * sudo.pod, sudoers.pod:
5238         document that ALL implies SETENV
5239         [bcc8e5b703b9]
5240
5241         * ldap.c:
5242         s/setenv_ok/setenv_implied/g
5243         [f005df2c2eea]
5244
5245         * ldap.c:
5246         hostname_matches() returns TRUE on match in sudo 1.7.
5247         [c3d4377b6e8b]
5248
5249         * ldap.c:
5250         use strcmp, not strcasecmp when comparing ALL
5251         [e486024574a1]
5252
5253         * ldap.c:
5254         Make sudo ALL imply setenv. Note that unlike with file-based
5255         sudoers this does affect all the commands in the sudoRole.
5256         [bc12f54321d1]
5257
5258         * gram.c, gram.y, parse.c, parse.h:
5259         sudo "ALL" now implies the SETENV tag but, unlike an explicit tag,
5260         it is not passed on to other commands in the list.
5261         [026e2cb40680]
5262
5263         * visudo.c:
5264         Add missing sudo_setpwent() and sudo_setgrent() calls. Also use
5265         sudo_getpwuid() instead of getpwuid().
5266         [86f30a8fbd49]
5267
5268 2007-11-15  Todd C. Miller  <Todd.Miller@courtesan.com>
5269
5270         * sudoers:
5271         Expand on the dangers of not using visudo to edit sudoers.
5272         [e434e8057d02]
5273
5274 2007-11-08  Todd C. Miller  <Todd.Miller@courtesan.com>
5275
5276         * parse.c:
5277         Don't quote *?[]! on output since the lexer does not strip off the
5278         backslash when reading those in.
5279         [561da4a13afa]
5280
5281 2007-11-07  Todd C. Miller  <Todd.Miller@courtesan.com>
5282
5283         * glob.c:
5284         expand "u_foo" types to "unsigned foo" to avoid compatibility
5285         issues.
5286         [b0d7c64d78c3]
5287
5288 2007-11-04  Todd C. Miller  <Todd.Miller@courtesan.com>
5289
5290         * logging.c:
5291         Refactor log line generation in to new_logline().
5292         [6a9b9730615d]
5293
5294 2007-10-25  Todd C. Miller  <Todd.Miller@courtesan.com>
5295
5296         * TROUBLESHOOTING:
5297         fix typo
5298         [9e19d4f86e47]
5299
5300 2007-10-24  Todd C. Miller  <Todd.Miller@courtesan.com>
5301
5302         * config.h.in, configure, configure.in, interfaces.c, interfaces.h,
5303         match.c:
5304         Add configure check for struct in6_addr instead of relying on
5305         AF_INET6 since some systems define AF_INET6 but do not include IPv6
5306         support.
5307         [e24082c416bd]
5308
5309 2007-10-21  Todd C. Miller  <Todd.Miller@courtesan.com>
5310
5311         * configure, configure.in:
5312         Fix block to add -lutil for FreeBSD and NetBSD when logincap is in
5313         use.
5314         [76a9df4a63be]
5315
5316 2007-10-20  Todd C. Miller  <Todd.Miller@courtesan.com>
5317
5318         * configure, configure.in:
5319         POSIX states that struct timespec be declared in time.h so check
5320         there regardless of the value of TIME_WITH_SYS_TIME.
5321         [e42c55ec9daf]
5322
5323 2007-10-17  Todd C. Miller  <Todd.Miller@courtesan.com>
5324
5325         * tgetpass.c:
5326         Instead of defining a macro to call the appropriate method for
5327         turning on/off echo, just define tc[gs]etattr() and the related
5328         defines that use the correct terminal ioctls if needed. Also go back
5329         to using TCSAFLUSH instead of TCSADRAIN on all but QNX.
5330         [5dfb2379d995]
5331
5332 2007-10-09  Todd C. Miller  <Todd.Miller@courtesan.com>
5333
5334         * Makefile.in:
5335         g/c @ALLOCA@
5336         [e6946c2e3820]
5337
5338         * configure:
5339         regen
5340         [9bac7159a138]
5341
5342         * INSTALL, auth/pam.c, config.h.in, configure.in:
5343         Add --disable-pam-session configure option to disable calling
5344         pam_{open,close}_session. May work around bugs in some PAM
5345         implementations.
5346         [273d0fdb4a9d]
5347
5348 2007-10-08  Todd C. Miller  <Todd.Miller@courtesan.com>
5349
5350         * tgetpass.c:
5351         quiet gcc warnings
5352         [325565c5a579]
5353
5354         * tgetpass.c:
5355         Avoid printing the prompt if we are already backgrounded. E.g. if
5356         the user runs "sudo foo &" from the shell. In this case, the call
5357         to tcsetattr() will cause SIGTTOU to be delivered.
5358         [db2139a8d8b8]
5359
5360 2007-09-15  Todd C. Miller  <Todd.Miller@courtesan.com>
5361
5362         * def_data.c, def_data.h, def_data.in:
5363         Reorder things such that the definition of env_reset come right
5364         before the env variable lists.
5365         [e0d8e22a581a]
5366
5367         * parse.h:
5368         Shrink type and seqno in struct alias from int to u_short
5369         [9425263dd565]
5370
5371         * alias.c, match.c, parse.c, parse.h:
5372         Add a sequence number in the aliases for loop detection. If we find
5373         an alias with the seqno already set to the current (global) value we
5374         know we've visited it before so ignore it.
5375         [301a0548ffff]
5376
5377 2007-09-13  Todd C. Miller  <Todd.Miller@courtesan.com>
5378
5379         * TODO, auth/pam.c, sudo.c, sudo.h:
5380         PAM wants the full tty path so add user_ttypath which holds the full
5381         path to the tty or is NULL if no tty was present.
5382         [c7c1dd4b36c8]
5383
5384         * auth/pam.c:
5385         Set PAM_RHOST to work around a bug in Solaris 7 and lower that
5386         results in a segv.
5387         [3a8865b3a357]
5388
5389 2007-09-11  Todd C. Miller  <Todd.Miller@courtesan.com>
5390
5391         * gram.c:
5392         regen
5393         [5647be127950]
5394
5395         * alias.c, defaults.c, gram.y, list.c, list.h, match.c, parse.c,
5396         parse.h, testsudoers.c, visudo.c:
5397         rename lh_ -> tq_
5398         [8f500c542c4a]
5399
5400 2007-09-10  Todd C. Miller  <Todd.Miller@courtesan.com>
5401
5402         * alloc.c:
5403         remove some useless casts
5404         [409a448b23f5]
5405
5406         * alloc.c:
5407         pull in inttypes.h for SIZE_MAX; we avoid stdint.h since inttypes.h
5408         predates the final C99 spec and the standard specifies that it shall
5409         include stdint.h anyway
5410         [ae478fdef61a]
5411
5412 2007-09-06  Todd C. Miller  <Todd.Miller@courtesan.com>
5413
5414         * Makefile.in, alloca.c, configure.in:
5415         Since we ship with a pre-generated parser there is no need to ship a
5416         bogus alloca implementation.
5417         [3f611a7cc0e5]
5418
5419         * configure:
5420         regen
5421         [771eccf5269c]
5422
5423         * configure.in:
5424         remove initial setting of CHECKSIA, we require that it be unset if
5425         not used
5426         [a2e91adc5aa2]
5427
5428         * Makefile.in:
5429         add list.c to SRCS
5430         [7db0e56cf5b9]
5431
5432         * configure:
5433         regen
5434         [3716ec30172e]
5435
5436         * configure.in:
5437         only do SIA checks on Digital Unix
5438         [6a96e1af2597]
5439
5440 2007-09-05  Todd C. Miller  <Todd.Miller@courtesan.com>
5441
5442         * sudoers.cat, sudoers.man.in:
5443         regen
5444         [ac1dc29de72b]
5445
5446         * ChangeLog, TODO:
5447         sync
5448         [781effce0a2d]
5449
5450         * auth/kerb5.c:
5451         Remove call to krb5_cc_register() as it is not needed for modern
5452         kerb5.
5453         [351b8b764f16]
5454
5455         * configure:
5456         regen
5457         [ac21dbcc9c2c]
5458
5459         * aclocal.m4, configure.in:
5460         New method for setting the default authentication type and avoiding
5461         conflicts in auth types.
5462         [5fb15be11f78]
5463
5464         * match.c, parse.c, testsudoers.c:
5465         Each entry in a cmndlist now has an associated runaslist so no need
5466         to keep track of the most recent non-NULL one.
5467         [582e015786b0]
5468
5469 2007-09-04  Todd C. Miller  <Todd.Miller@courtesan.com>
5470
5471         * ldap.c:
5472         back out partial ldaps support mistakenly committed
5473         [357703e94b2d]
5474
5475         * ldap.c:
5476         Add support for unix groups and netgroups in sudoRunas
5477         [2f04eb91c6d0]
5478
5479 2007-09-03  Todd C. Miller  <Todd.Miller@courtesan.com>
5480
5481         * sudo_edit.c:
5482         Fix sudoedit of a non-existent file. From Tilo Stritzky.
5483         [a5488a03bddd]
5484
5485 2007-09-02  Todd C. Miller  <Todd.Miller@courtesan.com>
5486
5487         * configure:
5488         regen
5489         [541177376ee1]
5490
5491         * INSTALL:
5492         update --passprompt escape info
5493         [6d57db4cd538]
5494
5495         * configure.in:
5496         remove now-bogus comment and update copyright date
5497         [6a4af45fa331]
5498
5499         * configure.in:
5500         Fix up use of with_passwd
5501         [7c79d8640f77]
5502
5503         * acsite.m4, config.guess, config.sub, configure.in, ltmain.sh:
5504         Update to autoconf-2.61 andf libtool-1.5.24
5505         [045259b0b439]
5506
5507         * Makefile.in:
5508         "cmp -s" not just cmp Add @datarootdir@ to quiet autoconf-2.61
5509         [f5b6a7afb817]
5510
5511 2007-09-01  Todd C. Miller  <Todd.Miller@courtesan.com>
5512
5513         * gram.c:
5514         regen
5515         [b5b78e71d2cb]
5516
5517         * gram.y:
5518         move tags and runaslist propagation to be earlier
5519         [94f7805f4489]
5520
5521         * visudo.c:
5522         If -f flag given use the permissions of the original file as a
5523         template
5524         [9303d22bddb0]
5525
5526         * gram.y:
5527         prevent a double free() when re-initing the parser
5528         [5b3907c4de5a]
5529
5530 2007-08-31  Todd C. Miller  <Todd.Miller@courtesan.com>
5531
5532         * configure:
5533         regen
5534         [49a90b19a17d]
5535
5536         * aclocal.m4, alias.c, alloc.c, auth/API, auth/afs.c, auth/bsdauth.c,
5537         auth/kerb4.c, auth/kerb5.c, auth/pam.c, auth/securid.c,
5538         auth/securid5.c, auth/sia.c, auth/sudo_auth.h, config.h.in,
5539         configure.in, env.c, ldap.c, list.c, list.h, memrchr.c, parse.c,
5540         parse.h, pwutil.c, redblack.c, redblack.h, snprintf.c, sudo.c,
5541         sudo.h, testsudoers.c, visudo.c, zero_bytes.c:
5542         Remove support for compilers that don't support void *
5543         [35e1d01ae197]
5544
5545         * gram.c:
5546         regen
5547         [70ce412a458a]
5548
5549         * Makefile.in, alias.c, defaults.c, gram.y, list.c, list.h, match.c,
5550         parse.c, parse.h, testsudoers.c, visudo.c:
5551         Move list manipulation macros to list.h and create C versions of the
5552         more complex ones in list.c. The names have been down-cased so they
5553         appear more like normal functions.
5554         [9cea0e281148]
5555
5556         * Makefile.in:
5557         Fix cmp command when regenerating parser. Make gram.o the first
5558         dependency for all programs so gram.h will be generated before
5559         anything that needs it.
5560         [429ea065abf1]
5561
5562         * gram.y, parse.h:
5563         Convert NEW_DEFAULT anf NEW_MEMBER into static functions.
5564         [2f3433833589]
5565
5566         * match.c, parse.c, testsudoers.c:
5567         Use LH_FOREACH_REV when checking permission and short-circuit on the
5568         first non-UNSPEC hit we get for the command. This means that
5569         instead of cycling through the all the parsed sudoers entries we
5570         start at the end and work backwards and quit after the first
5571         positive or negative match.
5572         [881474532f3e]
5573
5574         * gram.c:
5575         regen
5576         [9152a19d4188]
5577
5578         * defaults.c, gram.y, parse.c, parse.h, testsudoers.c, visudo.c:
5579         Change list head macros to take a pointer, not a struct.
5580         [054f1dcce4cc]
5581
5582         * gram.c:
5583         regen
5584         [be154aae6235]
5585
5586         * gram.y:
5587         Propagate the runasspec from one command to the next in a cmndspec.
5588         [4957b1cb03a3]
5589
5590 2007-08-30  Todd C. Miller  <Todd.Miller@courtesan.com>
5591
5592         * match.c:
5593         Replace has_meta() with a macro that calls strpbrk().
5594         [a2e58846a542]
5595
5596         * regen
5597         [5a932a5c9451]
5598
5599         * alias.c, defaults.c, gram.y, match.c, parse.c, parse.h,
5600         testsudoers.c, visudo.c:
5601         Use a list head struct when storing the semi-circular lists and
5602         convert to tail queues in the process. This will allow us to
5603         reverse foreach loops more easily and it makes it clearer which
5604         functions expect a list as opposed to a single member.
5605
5606         Add macros for manipulating lists. Some of these should become
5607         functions.
5608
5609         When freeing up a list, just pop off the last item in the queue
5610         instead of going from head to tail. This is simpler since we don't
5611         have to stash a pointer to the next member, we always just use the
5612         last one in the queue until the queue is empty.
5613
5614         Rename match functions that take a list to have list in the name.
5615         Break cmnd_matches() into cmnd_matches() and cmndlist_matches.
5616         [7c37b271607a]
5617
5618         * parse.c:
5619         Fix pasto, append "!" not negated (which is an int) for sudo -l
5620         output.
5621         [93a444c3997f]
5622
5623         * Makefile.in:
5624         Remove the dependency of gram .h on gram.y, the .c dependency is
5625         enough. Only move y.tab.h to gram.h if it is different; avoids
5626         needless rebuilding.
5627         [67bf4ea2a2e5]
5628
5629 2007-08-27  Todd C. Miller  <Todd.Miller@courtesan.com>
5630
5631         * sudoers.pod:
5632         Defaults lines may be associated with lists of users, hosts,
5633         commands and runas users, not just single entries.
5634         [795effacb6be]
5635
5636 2007-08-26  Todd C. Miller  <Todd.Miller@courtesan.com>
5637
5638         * Makefile.in:
5639         Revert the "cmp" portion of the last diff, it doesn't make sense.
5640         [26f34bf4e2e3]
5641
5642         * Makefile.in:
5643         Remove *.lo for clean: When generating the parser, only move the
5644         generated files into place if they differ from the existing ones.
5645         [84673fea371b]
5646
5647 2007-08-25  Todd C. Miller  <Todd.Miller@courtesan.com>
5648
5649         * toke.c, toke.l:
5650         Replace IPV6 regexp with a much simpler (readable) one and add an
5651         extra check when it matches to make sure we have a valid address.
5652         [592e9f690556]
5653
5654         * match.c:
5655         Fix thinko introduced when merging IPV6 support.
5656         [da38cd5eb8c7]
5657
5658 2007-08-24  Todd C. Miller  <Todd.Miller@courtesan.com>
5659
5660         * HISTORY, LICENSE:
5661         regen
5662         [0d7b27b90634]
5663
5664         * license.pod:
5665         add 2007
5666         [510e5048ae1a]
5667
5668         * UPGRADE:
5669         mention #uid vs. comment pitfall
5670         [4d2861898bcc]
5671
5672         * acsite.m4:
5673         Merge in a patch from the libtool cvs that fixes a problem with the
5674         latest autoconf. From Stepan Kasal.
5675         [0c279ae7df3e]
5676
5677         * parse.h:
5678         Back out he XOR swap trick, it is slower than a temp variable on
5679         modern CPUs.
5680         [91c4b024e317]
5681
5682         * gram.c:
5683         regen
5684         [cb6d4106fb74]
5685
5686         * gram.y, parse.h:
5687         Convert the tail queue to a semi-circle queue and use the XOR swap
5688         trick to swap the prev pointers during append.
5689         [8bf4d9fbee58]
5690
5691 2007-08-23  Todd C. Miller  <Todd.Miller@courtesan.com>
5692
5693         * parse.h:
5694         remove useless statement
5695         [421ec1dd73e6]
5696
5697         * toke.c, toke.l:
5698         Refactor #include parsing into a separate function and return
5699         unparsed chars (such as newline or comment) back to the lexer.
5700         [64166917aa3d]
5701
5702 2007-08-22  Todd C. Miller  <Todd.Miller@courtesan.com>
5703
5704         * WHATSNEW:
5705         mention better uid support
5706         [56f510e7f2ec]
5707
5708         * sudoers.pod:
5709         Users may now consist of a uid.
5710         [5fd31b2c55ed]
5711
5712         * gram.c, gram.h, toke.c:
5713         regen
5714         [599e58af6dc1]
5715
5716         * parse.c:
5717         Use lbuf_append_quoted() for sudo -l output to quote characters that
5718         would require quoting in sudoers.
5719         [3132d05c990a]
5720
5721         * lbuf.c, lbuf.h:
5722         Add lbuf_append_quoted() which takes a set of characters which
5723         should be quoted with a backslash when displayed.
5724         [ab09bebb1d65]
5725
5726         * toke.l:
5727         Require that the first character after a comment not be a digit or a
5728         dash. This allows us to remove the GOTRUNAS state and treat
5729         uid/gids similar to other words. It also means that we can now
5730         specify uids in User_Lists and a User_Spec may now contain a uid.
5731         [461fe01f8392]
5732
5733         * gram.y, toke.l:
5734         Replace RUNAS token with '(' and ')' tokens to make the runas
5735         portion of the grammar more natural.
5736         [e0c383b4684d]
5737
5738         * BUGS:
5739         The BUGS file is history
5740         [4d9a809585c7]
5741
5742         * Makefile.in, README:
5743         The BUGS file is history
5744         [d9500e261172]
5745
5746 2007-08-21  Todd C. Miller  <Todd.Miller@courtesan.com>
5747
5748         * toke.c, toke.l:
5749         Allow comments after a RunasAlias as long as the character after the
5750         pound sign isn't a digit or a dash.
5751         [d7f3bd94eeda]
5752
5753         * WHATSNEW:
5754         Glob support was back-ported to 1.6.9
5755         [d1d5cfd46228]
5756
5757 2007-08-20  Todd C. Miller  <Todd.Miller@courtesan.com>
5758
5759         * Makefile.in:
5760         remove sudo_usage.h in distclean
5761         [df05ce9c4127]
5762
5763         * parse.c:
5764         If a Defaults value contains a blank, double-quote the string.
5765         [9057a910daad]
5766
5767         * toke.c, toke.l:
5768         Properly deal with Defaults double-quoted strings that span multiple
5769         lines using the line continuation char. Previously, the entire
5770         thing, including the continuation char, newline, and spaces was
5771         stored as-is.
5772         [4a4e8eacefe6]
5773
5774         * sudo.c:
5775         Be consistent when using single quotes and backticks.
5776         [d010b83a0fa1]
5777
5778 2007-08-19  Todd C. Miller  <Todd.Miller@courtesan.com>
5779
5780         * Makefile.in, configure, configure.in, lbuf.c, lbuf.h, parse.c,
5781         sudo.c, sudo_usage.h.in:
5782         Add new linebuf code to do appends of dynamically allocated strings
5783         and word-wrapped output. Currently used for sudo's usage() and sudo
5784         -l output. Sudo usage strings are now in sudo_usage.h which is
5785         generated at configure time.
5786         [4dfd0ee8d961]
5787
5788 2007-08-18  Todd C. Miller  <Todd.Miller@courtesan.com>
5789
5790         * parse.c, sudo.c, sudo.h:
5791         Fix line wrapping in usage() and use the actual tty width instead of
5792         assuming 80.
5793         [700eab37c5a6]
5794
5795 2007-08-17  Todd C. Miller  <Todd.Miller@courtesan.com>
5796
5797         * history.pod:
5798         some more info
5799         [8140112a8ae1]
5800
5801         * history.pod:
5802         Mentioned Chris Jepeway's parser and also the new one that is in
5803         sudo 1.7.
5804         [2132d00f0597]
5805
5806 2007-08-16  Todd C. Miller  <Todd.Miller@courtesan.com>
5807
5808         * sudo.pod, visudo.pod:
5809         For the options list, add flag args where appropriate and increase
5810         the indent level so there is room for them.
5811         [2b60fb572e12]
5812
5813 2007-08-15  Todd C. Miller  <Todd.Miller@courtesan.com>
5814
5815         * parse.c:
5816         Fix some spacing in "sudo -l" and add a comment about some bogosity
5817         in the line wrapping.
5818         [b59b056f5ee2]
5819
5820         * sudo.cat, sudo.man.in, sudoers.cat, sudoers.man.in, visudo.cat,
5821         visudo.man.in:
5822         regen
5823         [5fb719f18ebc]
5824
5825         * INSTALL, Makefile.in, WHATSNEW, config.h.in, configure.in,
5826         def_data.c, def_data.h, def_data.in, gram.c, gram.h, gram.y,
5827         parse.c, parse.h, pathnames.h.in, sudo.c, sudo.h, sudoers.pod,
5828         testsudoers.c, toke.c, toke.l:
5829         Remove monitor support until there is a versino of systrace that
5830         uses a lookaside buffer (or we have a better mechanism to use).
5831         [61ff76878e4a]
5832
5833         * config.h.in, configure, configure.in, sudo.c:
5834         use getaddrinfo() instead of gethostbyname() if it is available
5835         [cc33c136aa6a]
5836
5837 2007-08-14  Todd C. Miller  <Todd.Miller@courtesan.com>
5838
5839         * parse.c, sudo.c:
5840         Deal with OSes where sizeof(gid_t) < sizeof(int).
5841         [130a89cbdfba]
5842
5843         * interfaces.c:
5844         repair non-getifaddrs() code after ipv6 integration
5845         [7ae7a89e2236]
5846
5847         * sudo.c:
5848         If we can open sudoers but fail to read the first byte, close the
5849         file stream before trying again.
5850         [6f31272fae7b]
5851
5852 2007-08-13  Todd C. Miller  <Todd.Miller@courtesan.com>
5853
5854         * toke.c:
5855         regen
5856         [4d7afe0aa6fa]
5857
5858         * gram.y, interfaces.c, interfaces.h, match.c, sudoers.pod, toke.l:
5859         Add IPv6 support; adapted from patches by YOSHIFUJI Hideaki
5860         [4e6ff2965a42]
5861
5862         * sudo.pod, sudoers.pod, visudo.pod:
5863         Add some missing markup Update copyright
5864         [7e6d3c686b5e]
5865
5866 2007-08-12  Todd C. Miller  <Todd.Miller@courtesan.com>
5867
5868         * configure, configure.in:
5869         fix sudo_noexec extension which got broken in the libtool update
5870         [3a5b447df861]
5871
5872 2007-08-10  Todd C. Miller  <Todd.Miller@courtesan.com>
5873
5874         * Makefile.in:
5875         explicitly specify -Tascii to nroff
5876         [45c8da4cbefe]
5877
5878 2007-08-08  Todd C. Miller  <Todd.Miller@courtesan.com>
5879
5880         * logging.c:
5881         remove an ANSI-ism that crept in
5882         [29086f87b2ca]
5883
5884 2007-08-07  Todd C. Miller  <Todd.Miller@courtesan.com>
5885
5886         * sudo.pod:
5887         Adjust list indents Prevent -- from being turned into an em dash Use
5888         a list for the environment instead of a literal paragraph
5889         [c3abcd8f76f4]
5890
5891         * visudo.pod:
5892         Use a list for the environment instead of an indented literal
5893         paragraph.
5894         [0ffcfcb7349f]
5895
5896         * sudoers.pod:
5897         Adjust list indentation
5898         [615c89e3123a]
5899
5900         * license.pod:
5901         add =head3
5902         [8b2e0d38c0bd]
5903
5904 2007-08-06  Todd C. Miller  <Todd.Miller@courtesan.com>
5905
5906         * sudo.pod:
5907         mention that when specifying a uid for the -u option the shell may
5908         require that the # be escaped
5909         [3e3a17bff150]
5910
5911 2007-08-02  Todd C. Miller  <Todd.Miller@courtesan.com>
5912
5913         * match.c:
5914         Fix off by one in group matching.
5915         [b529602b7fba]
5916
5917 2007-07-31  Todd C. Miller  <Todd.Miller@courtesan.com>
5918
5919         * env.c:
5920         Fix typo: PYTHONINSPEC should be PYTHONINSPECT. From David Krause.
5921         [ffbf8907c6e7]
5922
5923 2007-07-30  Todd C. Miller  <Todd.Miller@courtesan.com>
5924
5925         * configure, configure.in:
5926         Add missing define of HAVE_GSS_KRB5_CCACHE_NAME for the
5927         -lgssapi_krb5 case.
5928         [2b85a89c2252]
5929
5930         * aclocal.m4, configure, configure.in:
5931         Fix link tests such that new gcc doesn't optimize away the test.
5932         [83484ec95cba]
5933
5934 2007-07-29  Todd C. Miller  <Todd.Miller@courtesan.com>
5935
5936         * sudo.pod, sudoers.pod, visudo.pod:
5937         add missing over/back
5938         [251a12c89b91]
5939
5940         * sudo.pod, sudoers.pod, visudo.pod:
5941         Change FILES section to use =item
5942         [60b9efc3a0b2]
5943
5944         * env.c:
5945         Add back allocation of the env struct in rebuild_env but save a copy
5946         of the old pointer and free it before returning.
5947         [1100cd4fa997]
5948
5949         * env.c:
5950         Don't init the private environment in rebuild_env() since it may
5951         have already been done implicitly sudo_setenv/sudo_unsetenv.
5952
5953         Multiply length by sizeof(char *) in memcpy/memmove when copying the
5954         environment so we copy the full thing.
5955
5956         Add missing set of parens so we deref the right pointer in
5957         sudo_unsetenv when searching for a matching variable.
5958         [9086a8f756b1]
5959
5960 2007-07-26  Todd C. Miller  <Todd.Miller@courtesan.com>
5961
5962         * sudo.pod, sudoers.pod, visudo.pod:
5963         Use file markup for paths in the FILES section
5964         [940d99f731f2]
5965
5966         * sudo.pod, sudoers.pod, visudo.pod:
5967         Don't capitalize sudo/visudo
5968         [f067a455d44b]
5969
5970         * sudoers.pod:
5971         Sort sudoers options; based on a diff from Igor Sobrado.
5972         [a9b9befe85ac]
5973
5974 2007-07-25  Todd C. Miller  <Todd.Miller@courtesan.com>
5975
5976         * sudo.pod, sudoers.pod, visudo.pod:
5977         Use 8 and 5 instead of @mansectsu@ and @mansectform@ since the
5978         latter confuses pod2man. The Makefile rules for the .man.in file
5979         will add @mansectsu@ and @mansectform@ back in after pod2man is done
5980         anyway.
5981         [b50ea0db727c]
5982
5983 2007-07-22  Todd C. Miller  <Todd.Miller@courtesan.com>
5984
5985         * LICENSE, Makefile.in, license.pod:
5986         Move license info to pod format
5987         [25bdd82e592b]
5988
5989         * configure, configure.in, sudoers.pod:
5990         Substitute value of path_info into sudoers man page.
5991         [9ba661a82798]
5992
5993         * WHATSNEW:
5994         remove features that were back-ported to 1.6.9
5995         [e76d756cbe65]
5996
5997         * sudo.c, sudo.pod, visudo.c, visudo.pod:
5998         Sort SYNOPSIS and sync usage. From Igor Sobrado.
5999         [4970386c9e54]
6000
6001         * env.c:
6002         Only need sudo_setenv/sudo_unsetenv if we are going to use
6003         ldap_sasl_interactive_bind_s() but don't have
6004         gss_krb5_ccache_name().
6005         [f1a73d8b35c5]
6006
6007         * ChangeLog:
6008         rebuild without branch info
6009         [5d5a33494677]
6010
6011         * Makefile.in:
6012         Add ChangeLog target
6013         [a702034fdd89]
6014
6015         * auth/pam.c:
6016         Run cleanup code if the user hits ^C at the password prompt.
6017         [9cf87768e921]
6018
6019         * auth/pam.c:
6020         Some versions of pam_lastlog have a bug that will cause a crash if
6021         PAM_TTY is not set so if there is no tty, set PAM_TTY to the empty
6022         string.
6023         [5b63f6c88866]
6024
6025 2007-07-20  Todd C. Miller  <Todd.Miller@courtesan.com>
6026
6027         * Makefile.in:
6028         ChageLog not Changelog
6029         [1243d8473ceb]
6030
6031         * ChangeLog:
6032         sync
6033         [d887df98c6b0]
6034
6035         * Makefile.in:
6036         CHANGE -> Changelog
6037         [917738df30dd]
6038
6039         * TODO:
6040         sync
6041         [cd382f7d1948]
6042
6043 2007-07-19  Todd C. Miller  <Todd.Miller@courtesan.com>
6044
6045         * config.h.in, configure, configure.in, ldap.c:
6046         Add configure hooks for gss_krb5_ccache_name() and the gssapi
6047         headers.
6048         [139606209991]
6049
6050 2007-07-18  Todd C. Miller  <Todd.Miller@courtesan.com>
6051
6052         * env.c, sudo.c:
6053         rebuild_env() and insert_env_vars() no longer return environment
6054         pointer, they set environ directly.
6055
6056         No longer need to pass around an envp pointer since we just operate
6057         on environ now.
6058
6059         Add dosync argument to insert_env() that indicates whether it should
6060         reset environ when realloc()ing env.envp.
6061
6062         Use an initial size of 128 for the environment.
6063         [4735fd5fddb8]
6064
6065         * env.c:
6066         Split sudo_setenv() into an external version and a version only for
6067         use by rebuild_env().
6068         [fda7d655adb1]
6069
6070 2007-07-16  Todd C. Miller  <Todd.Miller@courtesan.com>
6071
6072         * ldap.c:
6073         Add support for using gss_krb5_ccache_name() instead of setting
6074         KRB5CCNAME. Also use sudo_unsetenv() in the non-
6075         gss_krb5_ccache_name() case if there was no KRB5CCNAME in the
6076         original environment. TODO: configure setup for
6077         gss_krb5_ccache_name()
6078         [fcafa5a49caf]
6079
6080         * README.LDAP:
6081         add krb5_ccname
6082         [fceb8f883886]
6083
6084         * README.LDAP, ldap.c:
6085         Add support for sasl_secprops in ldap.conf
6086         [1f06f4bf7347]
6087
6088         * env.c, sudo.h:
6089         Add sudo_unsetenv() and refactor private env syncing code into
6090         sync_env().
6091         [045ecb3fd22b]
6092
6093         * README.LDAP, ldap.c:
6094         The ldap.conf variable is sasl_auth_id not sasl_authid.
6095         [a5f98491311b]
6096
6097 2007-07-15  Todd C. Miller  <Todd.Miller@courtesan.com>
6098
6099         * ldap.c, sudo.c, sudo.h:
6100         Add support for krb5_ccname in ldap.conf. If specified, it will
6101         override the default value of KRB5CCNAME in the environment for the
6102         duration of the call to ldap_sasl_interactive_bind_s().
6103         [b08a10c3045b]
6104
6105         * env.c, sudo.h:
6106         Remove format_env() Add sudo_setenv() to replace most format_env() +
6107         insert_env() combinations. insert_env() no longer takes a struct
6108         environment *
6109         [131da52f43f3]
6110
6111         * ldap.c:
6112         Fix use_sasl vs. rootuse_sasl logic.
6113         [0c0417b6918c]
6114
6115         * README.LDAP, config.h.in, configure, configure.in, ldap.c:
6116         Add support for SASL auth when connecting to an LDAP server. Adapted
6117         from a diff by Tom McLaughlin.
6118         [a6285f1356ea]
6119
6120 2007-07-14  Todd C. Miller  <Todd.Miller@courtesan.com>
6121
6122         * configure, configure.in:
6123         Only enable AIX or BSD auth if no other exclusive auth method has
6124         been chosen. Allows people to e.g., use PAM on AIX without adding
6125         --without-aixauth. A better solution is needed to deal with default
6126         authentication since if a non-exclusive method is chosen we will
6127         still get an error.
6128         [83f7afdc0ec3]
6129
6130 2007-07-11  Todd C. Miller  <Todd.Miller@courtesan.com>
6131
6132         * HISTORY, Makefile.in, history.pod:
6133         Generate HISTORY from history.pod (which is also used for web pages)
6134         [60bcd5164931]
6135
6136 2007-07-09  Todd C. Miller  <Todd.Miller@courtesan.com>
6137
6138         * sudo.man.in, sudoers.man.in:
6139         regen
6140         [63956a366191]
6141
6142         * sudo.pod:
6143         Better explanation of environment handling in the sudo man page.
6144         [6c247742f7ee]
6145
6146         * env.c, sudo.c:
6147         Defer setting user-specified env vars until after authentication.
6148         [4750b79323ee]
6149
6150         * env.c:
6151         honor def_default_path for PATH set on the command line
6152         [6db31d9b6d65]
6153
6154         * env.c, sudo.c, sudo.pod, sudoers.pod:
6155         Allow user to set environment variables on the command line as long
6156         as they are allowed by env_keep and env_check. Ie: apply the same
6157         restrictions as normal environment variables. TODO: deal with
6158         secure_path
6159         [26c0da3840cf]
6160
6161 2007-07-08  Todd C. Miller  <Todd.Miller@courtesan.com>
6162
6163         * sudo.c, sudo_edit.c:
6164         Call rebuild_env() in call cases. Pass original envp to sudo_edit().
6165         Don't allow -E or env var setting in sudoedit mode. More accurate
6166         usage() when called as sudoedit.
6167         [a4af20658361]
6168
6169         * ldap.c:
6170         warn -> warning
6171         [d87d1192b048]
6172
6173         * sudo.pod:
6174         add -c option to sudoedit synopsis
6175         [15b596a7e2db]
6176
6177         * TODO:
6178         udpate to reality
6179         [e2f8fde89db1]
6180
6181         * parse.c:
6182         Use ALLOW/DENY instead of TRUE/FALSE when dealing with the return
6183         value from {user,host,runas,cmnd}_matches(). Rename *matches
6184         variables -> *match. Purely cosmetic.
6185         [e54a44c00a88]
6186
6187         * parse.c:
6188         Move setting of FLAG_NO_CHECK into the if(pwflag) block. No change
6189         in behavior.
6190         [c6272b4f2127]
6191
6192         * sudoers:
6193         add SETENV tag
6194         [3a3066bb6788]
6195
6196 2007-07-06  Todd C. Miller  <Todd.Miller@courtesan.com>
6197
6198         * parse.c:
6199         Make pwcheck local to the pwflag block. Use pwcheck even if user
6200         didn't match since Defaults options may still apply.
6201         [45da9efbbafd]
6202
6203         * check.c, sudo.c:
6204         Do not update timestamp if user not validated by sudoers.
6205         [a4a9d4364827]
6206
6207         * set_perms.c:
6208         for PERM_RUNAS, set the egid to the runas user's gid and restore to
6209         the user's original in PERM_ROOT
6210         [1514bfb32847]
6211
6212         * logging.c, mon_systrace.c, set_perms.c, sudo.h:
6213         PERM_FULL_ROOT is now no different than PERM_ROOT so remove
6214         PERM_FULL_ROOT
6215         [b9d047a3178c]
6216
6217         * check.c:
6218         don't check timestamp mtime if we are just going to remove it
6219         [5d2470bc6cbd]
6220
6221         * sudoers.pod:
6222         Move sudoers defaults parameters into their own section.
6223         [54701fbc0ff3]
6224
6225         * testsudoers.c:
6226         Reduce a level of indent by a few placed continue statements.
6227         [5d5a9838c8ef]
6228
6229         * parse.c:
6230         Make matching but negated commands/hosts/runas entries override a
6231         previous match as expected. Also reduce some levels of indent by a
6232         few placed continue statements.
6233         [dd59fa4b91a1]
6234
6235 2007-07-05  Todd C. Miller  <Todd.Miller@courtesan.com>
6236
6237         * parse.c:
6238         Print default runas in "sudo -l" if sudoers don't specify one.
6239         [07d408c400bd]
6240
6241         * match.c:
6242         Less hacky way of testing whether the domain was set.
6243         [a537059776e5]
6244
6245 2007-07-04  Todd C. Miller  <Todd.Miller@courtesan.com>
6246
6247         * INSTALL:
6248         Mention pam-devel and openldap-devel for Linux
6249         [9e708c54ecc3]
6250
6251 2007-07-03  Todd C. Miller  <Todd.Miller@courtesan.com>
6252
6253         * README.LDAP:
6254         or vs. are
6255         [abe8c0f3a410]
6256
6257 2007-07-01  Todd C. Miller  <Todd.Miller@courtesan.com>
6258
6259         * sudo.c:
6260         fix typo in Solaris project support
6261         [2ffeb2d80959]
6262
6263         * HISTORY:
6264         update
6265         [df162b36f120]
6266
6267         * sudo.c:
6268         Make -- on the command line match the manual page. The implied shell
6269         case has been simplified as a result.
6270         [cd217a1f6694]
6271
6272 2007-06-28  Todd C. Miller  <Todd.Miller@courtesan.com>
6273
6274         * sudoers2ldif:
6275         add simplistic support for sudoRunas; note that if a sudoers entry
6276         contains multiple Runas users, all will apply to the sudoRole
6277         [65b11421f5c8]
6278
6279         * sudoers2ldif:
6280         honor SETENV and NOSETENV tags
6281         [2c0d5ba7a09b]
6282
6283 2007-06-24  Todd C. Miller  <Todd.Miller@courtesan.com>
6284
6285         * mon_systrace.c:
6286         Redo setting of user_args. We now build up a private copy of argv
6287         first and then replace the NULs?with spaces.
6288         [ccbba72ea112]
6289
6290         * mon_systrace.c:
6291         getcwd() returns NULL on failure, not 0 on success
6292         [88cd9e66e530]
6293
6294         * mon_systrace.c:
6295         allow chunksiz to reach 1 before erroring out
6296         [619d68f14964]
6297
6298         * sudo.cat, sudo.man.in, sudoers.cat, sudoers.man.in, visudo.cat,
6299         visudo.man.in:
6300         regen
6301         [8db512d3caf0]
6302
6303 2007-06-23  Todd C. Miller  <Todd.Miller@courtesan.com>
6304
6305         * def_data.c, def_data.h, def_data.in, env.c, gram.c, gram.h, gram.y,
6306         logging.c, parse.c, parse.h, sudo.c, sudo.h, sudo.pod, sudoers.pod,
6307         toke.c, toke.l:
6308         Add support for setting environment variables on the command line.
6309         This is only allowed if the setenv sudoers options is enabled or if
6310         the command is prefixed with the SETENV tag.
6311         [5744caebd969]
6312
6313         * README.LDAP:
6314         replace Aaron's email address with the sudo-workers list
6315         [2ffce5f9afc0]
6316
6317         * configure:
6318         regen
6319         [8013dff82c0c]
6320
6321 2007-06-22  Todd C. Miller  <Todd.Miller@courtesan.com>
6322
6323         * schema.OpenLDAP, schema.iPlanet:
6324         Break schema out into separate files.
6325         [15e598e4c60b]
6326
6327         * Makefile.in, README.LDAP:
6328         Break schema out into separate files.
6329         [1a53966ca1fa]
6330
6331 2007-06-21  Todd C. Miller  <Todd.Miller@courtesan.com>
6332
6333         * auth/aix_auth.c:
6334         free message if set by authenticate()
6335         [849c220c1236]
6336
6337         * match.c:
6338         deal with NULL gr_mem
6339         [49e4d74f0bbe]
6340
6341 2007-06-20  Todd C. Miller  <Todd.Miller@courtesan.com>
6342
6343         * config.h.in:
6344         regen
6345         [fead999ad3e9]
6346
6347         * configure.in:
6348         add template for HAVE_PROJECT_H
6349         [e6c42c2eaad1]
6350
6351         * closefrom.c:
6352         include fcntl.h
6353         [54d98b382f03]
6354
6355 2007-06-19  Todd C. Miller  <Todd.Miller@courtesan.com>
6356
6357         * INSTALL:
6358         mention --with-project
6359         [d3ea3baad7c5]
6360
6361         * config.h.in, configure.in, sudo.c:
6362         Add Solaris 10 "project" support. From Michael Brantley.
6363         [f14f3c8c6554]
6364
6365         * sudoers.pod:
6366         fix typo
6367         [50db81a19787]
6368
6369         * configure:
6370         regen
6371         [ea71afd3e564]
6372
6373         * configure.in:
6374         Fix preservation of LDFLAGS in the LDAP case.
6375         [40a3a47e8059]
6376
6377         * memrchr.c:
6378         Remove dependecy on NULL
6379         [c957ae5e1733]
6380
6381         * configure:
6382         regen
6383         [4955ce0c6912]
6384
6385         * aclocal.m4, configure.in:
6386         Can't use the regular autoconf fnmatch() check since we need
6387         FNM_CASEFOLD so go back to our custom one.
6388         [f10d76237486]
6389
6390         * env.c:
6391         Fix preserving of variables in env_keep.
6392         [d040049d6b84]
6393
6394         * env.c:
6395         add XAUTHORIZATION
6396         [0d589a5fe015]
6397
6398         * UPGRADE:
6399         expand upon env resetting and mention that it began in 1.6.9 not
6400         1.7.
6401         [dba251655c76]
6402
6403         * sudoers.pod:
6404         Update descriptions of env_keep and env_check to match current
6405         reality.
6406         [dba77357954b]
6407
6408 2007-06-18  Todd C. Miller  <Todd.Miller@courtesan.com>
6409
6410         * env.c:
6411         Add LINGUAS to initial_checkenv_table. Add COLORS, HOSTNAME,
6412         LS_COLORS, MAIL, PS1, PS2, XAUTHORITY to intial_keepenv_table.
6413         [eec4632bd190]
6414
6415         * env.c, logging.c:
6416         Treat USERNAME environemnt variable like LOGNAME/USER
6417         [09f52dcfd70c]
6418
6419         * env.c:
6420         Don't need to populate keepenv table with the contents of the
6421         checkenv table.
6422         [527a14afd973]
6423
6424         * sudo.c:
6425         Don't force sudo into the C locale.
6426         [8a5bd301ef96]
6427
6428         * env.c:
6429         Make env_check apply when env_reset it true. Environment variables
6430         are passed through unless they contain '/' or '%'. There is no need
6431         to have a variable in both env_check and env_keep.
6432         [840c802721e4]
6433
6434 2007-06-16  Todd C. Miller  <Todd.Miller@courtesan.com>
6435
6436         * visudo.c:
6437         Remove an duplicate lock_file() call and add a comment.
6438         [5af9dcdf0eb6]
6439
6440         * UPGRADE:
6441         Add sudo 1.6.9 upgrade note.
6442         [1585149f2914]
6443
6444 2007-06-14  Todd C. Miller  <Todd.Miller@courtesan.com>
6445
6446         * interfaces.c:
6447         Solaris will return EINVAL if the buffer used in SIOCGIFCONF is too
6448         small. From Klaus Wagner.
6449         [d6899fc44f77]
6450
6451         * logging.c, sudo.h:
6452         Redo the long syslog line splitting based on a patch from Eygene
6453         Ryabinkin. Include memrchr() for systems without it.
6454         [66a50e8d553a]
6455
6456         * memrchr.c:
6457         Redo the long syslog line splitting based on a patch from Eygene
6458         Ryabinkin. Include memrchr() for systems without it.
6459         [2f6702b7d41b]
6460
6461         * Makefile.in, config.h.in, configure, configure.in:
6462         Redo the long syslog line splitting based on a patch from Eygene
6463         Ryabinkin. Include memrchr() for systems without it.
6464         [407a46190921]
6465
6466         * configure.in:
6467         Since we need to be able to convert timespec to timeval for utimes()
6468         the last 3 digits in the tv_nsec are not significant. This makes the
6469         sudoedit file date comparison work again.
6470         [9d0258849fa9]
6471
6472 2007-06-13  Todd C. Miller  <Todd.Miller@courtesan.com>
6473
6474         * aclocal.m4, configure, configure.in:
6475         Add SUDO_ADD_AUTH macro to deal with adding things to AUTH_OBJS.
6476         This deals with exclusive authentication methods in a simple way.
6477         [7d70072c0f35]
6478
6479 2007-06-12  Todd C. Miller  <Todd.Miller@courtesan.com>
6480
6481         * LICENSE:
6482         mkstemp.c is BSD code too.
6483         [29e236d98162]
6484
6485         * sudo.pod, sudoers.pod, visudo.pod:
6486         No commercial support for now.
6487         [7c76b3e192dd]
6488
6489 2007-06-11  Todd C. Miller  <Todd.Miller@courtesan.com>
6490
6491         * sudo.c:
6492         cleanenv() is no more.
6493         [518080514408]
6494
6495 2007-06-10  Todd C. Miller  <Todd.Miller@courtesan.com>
6496
6497         * ChangeLog:
6498         Display branch info in Changelog
6499         [44e3b27427c7]
6500
6501         * utimes.c:
6502         Include config.h early so we have it for TIME_WITH_SYS_TIME
6503         [4bf1a00d0703]
6504
6505         * ChangeLog:
6506         Fix Changelog generation and update.
6507         [6e960dbcbece]
6508
6509 2007-06-09  Todd C. Miller  <Todd.Miller@courtesan.com>
6510
6511         * closefrom.c:
6512         Use /proc/self/fd instead of /proc/$$/fd
6513
6514         Move old-style fd closing into closefrom_fallback() and call that if
6515         /proc/self/fd doesn't exist or the F_CLOSEM fcntl() fails
6516         [faa7e4810758]
6517
6518         * auth/kerb5.c, config.h.in, configure.in:
6519         o use krb5_verify_user() if available instead of doing it by hand o
6520         use krb5_init_secure_context() if we have it o pass an encryption
6521         type of 0 to krb5_kt_read_service_key() instead of
6522         ENCTYPE_DES_CBC_MD5 to let kerberos choose.
6523         [df7acf72bd7c]
6524
6525         * env.c:
6526         Check TERM and COLORTERM for '%' and '/' characters. From Debian.
6527         [f92d05197e40]
6528
6529         * configure.in:
6530         Fix closefrom() substitution in the Makefile
6531         [b642b13fcc5c]
6532
6533         * TROUBLESHOOTING:
6534         Mention alternate sudo pronunciation.
6535         [7c71dc73409f]
6536
6537 2007-06-07  Todd C. Miller  <Todd.Miller@courtesan.com>
6538
6539         * env.c:
6540         Remove KRB5_KTNAME from environment. Allow COLORTERM.
6541         [70f35a79f780]
6542
6543         * auth/kerb5.c:
6544         If we cannot get a valid service key using the default keytab it is
6545         a fatal error. Fixes a bug where sudo could be tricked into
6546         allowing access when it should not by a fake KDC. From Thor Lancelot
6547         Simon.
6548         [a3ae6a47cb23]
6549
6550 2007-05-12  Todd C. Miller  <Todd.Miller@courtesan.com>
6551
6552         * aclocal.m4, configure, configure.in:
6553         Update long long checks to use AC_CHECK_TYPES and to cache values.
6554         [047318eaaeb2]
6555
6556         * aclocal.m4, configure.in:
6557         Use AC_FUNC_FNMATCH instead of a homebrew fnmatch checker. We can't
6558         use AC_REPLACE_FNMATCH since that assumes replacing with GNU
6559         fnmatch.
6560         [80513a1003ea]
6561
6562 2007-05-11  Todd C. Miller  <Todd.Miller@courtesan.com>
6563
6564         * configure, configure.in:
6565         Add closefrom() to LIB_OBJS not SUDO_OBJS if it is missing since we
6566         need it for visudo now too.
6567         [50837c7c2b5e]
6568
6569 2007-04-24  Todd C. Miller  <Todd.Miller@courtesan.com>
6570
6571         * sudoers.pod:
6572         Attempt to clarify the bit talking about network numbers w/o
6573         netmasks.
6574         [211e68c1d034]
6575
6576         * sudo.pod:
6577         Clarify timestamp dir ownership sentence.
6578         [9178f132c7f7]
6579
6580 2007-04-20  Todd C. Miller  <Todd.Miller@courtesan.com>
6581
6582         * auth/pam.c:
6583         Linux PAM now defines __LINUX_PAM__, not __LIBPAM_VERSION. From
6584         Dmitry V. Levin.
6585         [81fce91667bc]
6586
6587 2007-04-16  Todd C. Miller  <Todd.Miller@courtesan.com>
6588
6589         * sudo.c:
6590         -i is also one of the mutually exclusive options to list it in the
6591         warning message. Noted by Chris Pepper.
6592         [7da73fb248e9]
6593
6594 2007-04-12  Todd C. Miller  <Todd.Miller@courtesan.com>
6595
6596         * visudo.pod:
6597         The sudoers variable is env_editor, not enveditor. From Jean-
6598         Francois Saucier.
6599         [2a86ec09a6db]
6600
6601 2007-03-29  Todd C. Miller  <Todd.Miller@courtesan.com>
6602
6603         * redblack.c:
6604         I tracked down the original author so credit him and include his
6605         license info.
6606         [3733553a1bba]
6607
6608 2007-02-06  Todd C. Miller  <Todd.Miller@courtesan.com>
6609
6610         * sudo.cat, sudo.man.in, sudo.pod, sudoers.cat, sudoers.man.in,
6611         sudoers.pod:
6612         Fix typos; from Jason McIntyre.
6613         [1ee4ce2512f2]
6614
6615         * logging.c:
6616         Restore signal mask before calling reapchild(). Fixes a possible
6617         race condition that could prevent sudo from properly waiting for the
6618         child.
6619         [9ee4192385dc]
6620
6621 2007-01-31  Todd C. Miller  <Todd.Miller@courtesan.com>
6622
6623         * pwutil.c:
6624         Don't declare pw_free() if we are not going to use it.
6625         [adb79a4289ca]
6626
6627         * env.c:
6628         Add NOEXEC support for AIX 5.3 which supports LDR_PRELOAD and
6629         LDR_PRELOAD64. The 64-bit version is not currently supported.
6630         Remove zero_env() prototype as it no longer exists.
6631         [b4fe65027fb6]
6632
6633 2006-12-11  Todd C. Miller  <Todd.Miller@courtesan.com>
6634
6635         * logging.c:
6636         Add "Auto-Submitted: auto-generated" line to sudo mail for rfc 3834.
6637         [78002ad90f7b]
6638
6639 2006-09-29  Todd C. Miller  <Todd.Miller@courtesan.com>
6640
6641         * auth/pam.c:
6642         If the user enters ^C at the password prompt, abort instead of
6643         trying to authenticate with an empty password (which causes an
6644         annoying delay).
6645         [da3f27b747c7]
6646
6647 2006-08-17  Todd C. Miller  <Todd.Miller@courtesan.com>
6648
6649         * closefrom.c, config.h.in, configure, configure.in:
6650         Add fcntl F_CLOSEM support to closefrom(); adapted from a diff by
6651         Darren Tucker.
6652         [0331b7780759]
6653
6654         * pwutil.c:
6655         pw_free() is only used by sudo_freepwcache() so ifdef it out too.
6656         [0014c0d9eeba]
6657
6658 2006-08-04  Todd C. Miller  <Todd.Miller@courtesan.com>
6659
6660         * config.guess, config.sub:
6661         Update to latest versions from cvs.savannah.gnu.org
6662         [aa0143101c20]
6663
6664 2006-07-31  Todd C. Miller  <Todd.Miller@courtesan.com>
6665
6666         * pwutil.c, sudo_edit.c:
6667         Move password/group cache cleaning out of sudo_end{pw,grp}ent() so
6668         we can close the passwd/group files early.
6669         [559074bd7eb7]
6670
6671         * config.h.in, configure, configure.in, set_perms.c:
6672         Add seteuid() flavor of set_perms() for systems without setreuid()
6673         or setresuid() that have a working seteuid(). Tested on Darwin.
6674         [508d8da99189]
6675
6676 2006-07-30  Todd C. Miller  <Todd.Miller@courtesan.com>
6677
6678         * mon_systrace.c:
6679         systrace_read() returns ssize_t
6680         [9f97d1d1a59d]
6681
6682         * configure, configure.in:
6683         Fix typo, -lldap vs. -ldap; from Tim Knox.
6684         [a8cc43c3bb2a]
6685
6686 2006-07-28  Todd C. Miller  <Todd.Miller@courtesan.com>
6687
6688         * HISTORY:
6689         Fix typo; Matt Ackeret
6690         [86964ee3dfbd]
6691
6692 2006-07-17  Todd C. Miller  <Todd.Miller@courtesan.com>
6693
6694         * sudo.c:
6695         Print sudoers path in -V mode for root.
6696         [dc43f2d75bd9]
6697
6698 2006-06-15  Todd C. Miller  <Todd.Miller@courtesan.com>
6699
6700         * ldap.c:
6701         Do a sub tree search instead of a base search (one level in the tree
6702         only) for sudo right objects. This allows system administrators to
6703         categorize the rights in a tree to make them easier to manage.
6704         [6d2d9abf996e]
6705
6706 2005-12-28  Todd C. Miller  <Todd.Miller@courtesan.com>
6707
6708         * sudo.pod:
6709         fix typo
6710         [1473413bcbda]
6711
6712 2005-12-04  Todd C. Miller  <Todd.Miller@courtesan.com>
6713
6714         * ldap.c:
6715         Convert GET_OPT and GET_OPTI to use just 2 args. Add timelimit and
6716         bind_timelimit support; adapted from gentoo.
6717         [afc816093026]
6718
6719 2005-11-23  Todd C. Miller  <Todd.Miller@courtesan.com>
6720
6721         * ldap.c:
6722         Support comments that start in the middle of a line
6723         [c25df6ee3db8]
6724
6725         * configure, configure.in:
6726         Define LDAP_DEPRECATED until we start using ldap_get_values_len()
6727         [ee249bfe230a]
6728
6729 2005-11-18  Todd C. Miller  <Todd.Miller@courtesan.com>
6730
6731         * closefrom.c:
6732         Silence gcc -Wsign-compare; djm@openbsd.org
6733         [28769ce6418d]
6734
6735         * error.c, sudo.c, sudo.h, testsudoers.c, visudo.c:
6736         cleanup() now takes an int as an arg so it can be used as a signal
6737         handler too.
6738         [2bb0df34d09c]
6739
6740         * sudo.c:
6741         Make a copy of the shell field in the passwd struct for NewArgv to
6742         avoid a use after free situation after sudo_endpwent() is called.
6743         [5dcc9ffd362e]
6744
6745 2005-11-17  Todd C. Miller  <Todd.Miller@courtesan.com>
6746
6747         * config.h.in, configure, configure.in:
6748         Add mkstemp() for those poor souls without it.
6749         [5fdd02e863e0]
6750
6751         * mkstemp.c:
6752         Add mkstemp() for those poor souls without it.
6753         [c99401207860]
6754
6755         * Makefile.in:
6756         Add mkstemp() for those poor souls without it.
6757         [9c1cf2678f24]
6758
6759 2005-11-15  Todd C. Miller  <Todd.Miller@courtesan.com>
6760
6761         * env.c:
6762         Add PERL5DB to list of environment variables to remove.
6763         [7375c27ecf75]
6764
6765 2005-11-13  Todd C. Miller  <Todd.Miller@courtesan.com>
6766
6767         * mon_systrace.c, mon_systrace.h:
6768         Instead of calling the check function twice with a state cookie use
6769         separate check/log functions.
6770
6771         Check more ioctl() calls for failure.
6772
6773         systrace_{read,write} now return the number of bytes read/written or
6774         -1 on error.
6775         [3dc8946d90e9]
6776
6777         * env.c:
6778         Add more environment variables to remove; from gentoo linux Add some
6779         comments about what bad env variables go to what (more to do)
6780         [6918110a6b82]
6781
6782 2005-11-11  Todd C. Miller  <Todd.Miller@courtesan.com>
6783
6784         * sudo.c, sudo_edit.c:
6785         Move sudo_end{gr,pw}ent() until just before the exec since they free
6786         up our cached copy of the passwd structs, including sudo_user and
6787         sudo_runas. Fixes a use-after-free bug.
6788         [54de3778bad0]
6789
6790         * visudo.c:
6791         Close all fd's before executing editor.
6792         [4fcc05e1bec8]
6793
6794         * sudo.c:
6795         Enable malloc debugging on OpenBSD when SUDO_DEVEL is set.
6796         [ef0e8ffa5c9f]
6797
6798         * check.c:
6799         Fix fd leak when lecture file option is enabled. From Jerry Brown
6800         [ce97f9207cd8]
6801
6802 2005-11-07  Todd C. Miller  <Todd.Miller@courtesan.com>
6803
6804         * env.c:
6805         Add PERLLIB, PERL5LIB and PERL5OPT to the default list of
6806         environment variables to remove. From Charles Morris
6807         [c96e1367d1c1]
6808
6809 2005-11-01  Todd C. Miller  <Todd.Miller@courtesan.com>
6810
6811         * env.c:
6812         add JAVA_TOOL_OPTIONS to initial_badenv_table for java 5
6813         [72a6a1571226]
6814
6815 2005-10-28  Todd C. Miller  <Todd.Miller@courtesan.com>
6816
6817         * env.c:
6818         add PS4 and SHELLOPTS to initial_badenv_table for bash
6819         [89dfb3f318f3]
6820
6821 2005-08-15  Todd C. Miller  <Todd.Miller@courtesan.com>
6822
6823         * sudoers.pod:
6824         Fix typo; Toby Peterson
6825         [b7a3222b23f4]
6826
6827 2005-08-02  Todd C. Miller  <Todd.Miller@courtesan.com>
6828
6829         * tsgetgrpw.c:
6830         Make return buffers static so they don't get clobbered
6831         [13323a39b9f5]
6832
6833 2005-07-28  Todd C. Miller  <Todd.Miller@courtesan.com>
6834
6835         * auth/securid5.c:
6836         Fix securid5 authentication, was not checking for ACM_OK. Also add
6837         default cases for the two switch()es. Problem noted by ccon at
6838         worldbank
6839         [14091e418333]
6840
6841 2005-06-27  Todd C. Miller  <Todd.Miller@courtesan.com>
6842
6843         * ldap.c:
6844         Remove ncat() in favor of just counting bytes and pre-allocating
6845         what is needed.
6846         [25b8712adb61]
6847
6848 2005-06-26  Todd C. Miller  <Todd.Miller@courtesan.com>
6849
6850         * ldap.c:
6851         Fix up some comments Add missing fclose() for the rootbinddn case
6852         [ae95c8a89711]
6853
6854         * ldap.c:
6855         align struct ldap_config
6856         [35d0d64c76f8]
6857
6858         * ldap.c:
6859         use LINE_MAX for max conf file line size
6860         [da116cb8853d]
6861
6862         * pathnames.h.in:
6863         add _PATH_LDAP_SECRET
6864         [128b04ecfab7]
6865
6866         * README.LDAP:
6867         Mention rootbinddn Give example ou=SUDOers container
6868         [852edc69bd1c]
6869
6870 2005-06-25  Todd C. Miller  <Todd.Miller@courtesan.com>
6871
6872         * INSTALL, configure, configure.in, ldap.c:
6873         Support rootbinddn in ldap.conf
6874         [1615c91522a1]
6875
6876         * env.c, sudo.pod, sudoers.pod:
6877         Preserve DISPLAY environment variable by default.
6878         [05f503d5f438]
6879
6880         * acsite.m4, configure:
6881         set need_lib_prefix=no for all cases; this is safe for LD_PRELOAD
6882         [18a04dea8d05]
6883
6884         * acsite.m4, configure:
6885         set need_version=no for all cases; this is safe for LD_PRELOAD
6886         [b542560e1a73]
6887
6888         * aclocal.m4:
6889         typo
6890         [c040df0fcd5a]
6891
6892         * configure, configure.in:
6893         Add dragonfly
6894         [f13794618636]
6895
6896         * auth/pam.c:
6897         Fix call to pam_end() when pam_open_session() fails.
6898         [0be47cdfdef1]
6899
6900         * configure:
6901         regen
6902         [7f5c13b4b800]
6903
6904         * acsite.m4:
6905         rebuild acsite.m4 from libtool 1.9f libtool.m4 ltoptions.m4
6906         ltsugar.m4 ltversion.m4
6907         [a7ba9fd1a2ab]
6908
6909         * config.guess, config.sub, ltmain.sh:
6910         merge in local changes: config.guess: o better openbsd support
6911         config.sub: o hiuxmpp support ltmain.sh o remove requirement that
6912         libs must begin with "lib" o don't print a bunch of crap about
6913         library installs o don't run ldconfig
6914         [f4149f2c720f]
6915
6916         * config.guess, config.sub, ltmain.sh:
6917         libtool 1.9f
6918         [82a534e7121f]
6919
6920         * configure.in:
6921         Update with autoupdate and make minor changes for libtool 1.9f
6922         [11b5ae5c1428]
6923
6924 2005-06-23  Todd C. Miller  <Todd.Miller@courtesan.com>
6925
6926         * parse.c:
6927         don't call sudo_ldap_display_cmnd if ldap not setup
6928         [8bcf6c094ffe]
6929
6930         * sudo_edit.c, visudo.c:
6931         Move declatation of struct timespec to its own include files for
6932         systems without it since it needs time_t defined.
6933         [b95c333299a0]
6934
6935         * gettime.c:
6936         Move declatation of struct timespec to its own include files for
6937         systems without it since it needs time_t defined.
6938         [021b4569cc0c]
6939
6940         * fileops.c:
6941         Move declatation of struct timespec to its own include files for
6942         systems without it since it needs time_t defined.
6943         [dd8573b2ee7d]
6944
6945         * emul/timespec.h:
6946         Move declatation of struct timespec to its own include files for
6947         systems without it since it needs time_t defined.
6948         [f95137771564]
6949
6950         * check.c, compat.h:
6951         Move declatation of struct timespec to its own include files for
6952         systems without it since it needs time_t defined.
6953         [2ef2ace8fe85]
6954
6955         * ldap.c:
6956         Don't set safe_cmnd for the "sudo ALL" case.
6957         [ad7fa9e07da0]
6958
6959 2005-05-27  Todd C. Miller  <Todd.Miller@courtesan.com>
6960
6961         * auth/pam.c:
6962         Call pam_open_session() and pam_close_session() to give pam_limits a
6963         chance to run. Idea from Karel Zak.
6964         [fed46d471350]
6965
6966 2005-04-24  Todd C. Miller  <Todd.Miller@courtesan.com>
6967
6968         * check.c, sudo.c:
6969         Add explicit cast from mode_t -> u_int in printf to silence warnings
6970         on Solaris
6971         [17bb961fe22d]
6972
6973         * parse.c:
6974         include grp.h to silence a warning on Solaris
6975         [14386fbab640]
6976
6977 2005-04-23  Todd C. Miller  <Todd.Miller@courtesan.com>
6978
6979         * parse.c:
6980         Fix printing of += and -= defaults.
6981         [a667604c56cd]
6982
6983 2005-04-17  Todd C. Miller  <Todd.Miller@courtesan.com>
6984
6985         * mon_systrace.c:
6986         Sanity check number of syscall args with argsize. Not really needed
6987         but a little paranoia never hurts.
6988         [6bb455a2c2d6]
6989
6990         * mon_systrace.c, mon_systrace.h:
6991         Don't do pointer arithmetic on void * Use int, not size_t/ssize_t
6992         for systrace lengths (since it uses int)
6993         [3cafccffcffd]
6994
6995 2005-04-16  Todd C. Miller  <Todd.Miller@courtesan.com>
6996
6997         * mon_systrace.c:
6998         Add some memsets for paranoia Fix namespace collsion w/ error Check
6999         rval of decode_args() and update_env() Remove improper setting of
7000         validated variable
7001         [3d385158354d]
7002
7003 2005-04-12  Todd C. Miller  <Todd.Miller@courtesan.com>
7004
7005         * parse.c, sudo.c, sudo.h:
7006         In -l mode, only check local sudoers file if def_ignore_sudoers is
7007         not set and call LDAP versions from display_privs() and
7008         display_cmnd() instead of directly from main(). Because of this we
7009         need to defer closing the ldap connection until after -l processing
7010         has ocurred and we must pass in the ldap pointer to display_privs()
7011         and display_cmnd().
7012         [1dfc2e8c9f2b]
7013
7014         * ldap.c:
7015         Reorganize LDAP code to better match normal sudoers parsing.
7016         Instead of storing strings for later printing in -l mode we do
7017         another query since the authenticating user and the user being
7018         listed may not be the same (the new -U flag). Also add support for
7019         "sudo -l command".
7020
7021         There is still a fair bit if duplicated code that can probably be
7022         refactored.
7023         [e9568f19bde5]
7024
7025 2005-04-11  Todd C. Miller  <Todd.Miller@courtesan.com>
7026
7027         * ldap.c:
7028         Replace pass variable with do_netgr for better readability.
7029         [1bba841b6e79]
7030
7031         * ldap.c:
7032         use DPRINTF macro
7033         [02b159b66bb5]
7034
7035         * ldap.c:
7036         estrdup, not strdup
7037         [22cdee7973c1]
7038
7039 2005-04-10  Todd C. Miller  <Todd.Miller@courtesan.com>
7040
7041         * parse.c:
7042         Add macro to test if the tag changed to improve readability.
7043         [4e11b4819556]
7044
7045         * parse.c:
7046         Avoid printing defaults header if there are no defaults to print...
7047         [41a28627df03]
7048
7049         * glob.c:
7050         Fix a warning on systems without strlcpy().
7051         [6814e0f0e4f4]
7052
7053         * pwutil.c:
7054         Use macros where possible for sudo_grdup() like sudo_pwdup().
7055         [30f201ff35cd]
7056
7057 2005-04-08  Todd C. Miller  <Todd.Miller@courtesan.com>
7058
7059         * utimes.c:
7060         It is possible for tv_usec to hold >= 1000000 usecs so add in
7061         tv_usec / 1000000.
7062         [794ac4d53a65]
7063
7064 2005-03-30  Todd C. Miller  <Todd.Miller@courtesan.com>
7065
7066         * auth/kerb5.c:
7067         The component in krb5_principal_get_comp_string() should be 1, not 0
7068         for Heimdal. From Alex Plotnick.
7069         [fefa351c5044]
7070
7071 2005-03-29  Todd C. Miller  <Todd.Miller@courtesan.com>
7072
7073         * alias.c, alloc.c, check.c, defaults.c, find_path.c, gram.c, gram.y,
7074         interfaces.c, ldap.c, logging.c, match.c, mon_systrace.c, pwutil.c,
7075         redblack.c, sudo.c, sudo.h, toke.c, toke.l, visudo.c:
7076         Add efree() for consistency with emalloc() et al. Allows us to rely
7077         on C89 behavior (free(NULL) is valid) even on K&R.
7078         [7876bb80d87c]
7079
7080         * parse.c, sudo.c:
7081         Move initgroups() for -U option into display_privs() so group
7082         matching in sudoers works correctly.
7083         [b074428ad2ca]
7084
7085 2005-03-27  Todd C. Miller  <Todd.Miller@courtesan.com>
7086
7087         * ldap.c:
7088         Removed duplicate call to ldap_unbind_s introduced along with
7089         sudo_ldap_close.
7090         [19acc1c20f7c]
7091
7092         * parse.c:
7093         Add missing space in Defaults printing
7094         [95d2935bf6d4]
7095
7096 2005-03-25  Todd C. Miller  <Todd.Miller@courtesan.com>
7097
7098         * pwutil.c:
7099         Sync sudo_pwdup with OpenBSD changes: use macros for size computaton
7100         and string copies.
7101         [6b6b241495e5]
7102
7103 2005-03-19  Todd C. Miller  <Todd.Miller@courtesan.com>
7104
7105         * pwutil.c:
7106         Zero old pw_passwd before replacing with version from shadow file.
7107         [3251b349dfe1]
7108
7109         * configure, configure.in:
7110         Only attempt shadow password detection if PAM is not being used Add
7111         shadow_* variables to make shadow password detection more generic.
7112         [d498a3423ac9]
7113
7114         * configure.in:
7115         Use OSDEFS for os-specific -D_FOO_BAR stuff rather than CPPFLAGS
7116         [04d55bbd5e35]
7117
7118 2005-03-13  Todd C. Miller  <Todd.Miller@courtesan.com>
7119
7120         * sudoers.pod:
7121         use a non-breaking space to avoid a double space after e.g.
7122         [11cdb54bdf7b]
7123
7124         * sudo.pod:
7125         commna, not colon after e.g.
7126         [8d5875ff72e0]
7127
7128 2005-03-12  Todd C. Miller  <Todd.Miller@courtesan.com>
7129
7130         * sudo_noexec.c:
7131         Add __ variants of the exec functions. GNU libc at least uses
7132         __execve() internally.
7133         [d1880473d790]
7134
7135         * indent.pro:
7136         Match reality a bit more.
7137         [633e3fa875a7]
7138
7139         * pwutil.c:
7140         Missed piece from rev. 1.6, fix sudo_getpwnam() too.
7141         [128f7b21c2ee]
7142
7143         * pwutil.c:
7144         Store shadow password after making a local copy of struct passwd in
7145         case normal and shadow routines use the same internal buffer in
7146         libc.
7147         [f806052a6ffc]
7148
7149 2005-03-11  Todd C. Miller  <Todd.Miller@courtesan.com>
7150
7151         * alloc.c, logging.c:
7152         Make varargs usage consistent with the rest of the code.
7153         [3d45affc9851]
7154
7155 2005-03-10  Todd C. Miller  <Todd.Miller@courtesan.com>
7156
7157         * sudo_noexec.c:
7158         Wrap more of the exec family since on Linux the others do not appear
7159         to go through the normal execve() path.
7160         [8167769b4e19]
7161
7162         * visudo.c:
7163         make print_unused static like proto says
7164         [ecf10e1bae55]
7165
7166         * glob.c:
7167         silence a warning on K&R systems
7168         [2e00425f1a5c]
7169
7170         * alias.c, error.c:
7171         make this build in K&R land
7172         [156f65f8525a]
7173
7174         * parse.c:
7175         make this build in K&R land
7176         [6fc9276889cb]
7177
7178 2005-03-08  Todd C. Miller  <Todd.Miller@courtesan.com>
7179
7180         * toke.c:
7181         regen
7182         [3b349748cd21]
7183
7184 2005-03-06  Todd C. Miller  <Todd.Miller@courtesan.com>
7185
7186         * ldap.c:
7187         return(foo) not return foo optimize _atobool() slightly
7188         [11d09d154ed5]
7189
7190         * ldap.c:
7191         Use TRUE/FALSE
7192         [53999320d98f]
7193
7194         * ldap.c:
7195         Reformat to match the rest of sudo's code.
7196         [1bd0f2afa0e7]
7197
7198         * sudo.pod:
7199         I am the primary author
7200         [5d311ecd85c6]
7201
7202 2005-02-23  Todd C. Miller  <Todd.Miller@courtesan.com>
7203
7204         * Makefile.in, README, RUNSON:
7205         The RUNSON file is toast--it confused too many people and really
7206         isn't needed in a configure-oriented world.
7207         [96a6ef7bbc08]
7208
7209         * INSTALL:
7210         alternate -> alternative
7211         [b65015c5d0a2]
7212
7213         * tgetpass.c:
7214         Use TCSADRAIN instead of TCSAFLUSH since some OSes have issues with
7215         TCSAFLUSH.
7216         [c66b4763ffdc]
7217
7218         * toke.l:
7219         Allow leading blanks before Defaults and Foo_Alias definitions
7220         [2add513d9277]
7221
7222         * Makefile.in:
7223         fix rules to build toke.o and gram.o in devel mode
7224         [96cbb414ebd3]
7225
7226 2005-02-20  Todd C. Miller  <Todd.Miller@courtesan.com>
7227
7228         * sudoers.pod:
7229         env_keep overrides set_logname
7230         [401877193a15]
7231
7232         * env.c:
7233         Fix disabling set_logname and make env_keep override set_logname.
7234         [0906e7a5ed93]
7235
7236         * compat.h, config.h.in, configure, configure.in:
7237         No longer need memmove()
7238         [43bdb6efe3f2]
7239
7240         * env.c, sudo.c:
7241         Just clean the environment once. This assumes that any further
7242         setenv/putenv will be able to handle the fact that we replaced
7243         environ with our own malloc'd copy but all the implementations I've
7244         checked do.
7245         [11658fe92ba2]
7246
7247 2005-02-16  Todd C. Miller  <Todd.Miller@courtesan.com>
7248
7249         * env.c, sudo.c:
7250         In -i mode, base the value of insert_env()'s dupcheck flag on
7251         DID_FOO flags. Move checks for $HOME resetting into rebuild_env()
7252         [8365b0bd0c71]
7253
7254 2005-02-13  Todd C. Miller  <Todd.Miller@courtesan.com>
7255
7256         * env.c, sudo.c:
7257         Move setting of user_path, user_shell, user_prompt and prev_user
7258         into init_vars() since user_shell at least is needed there.
7259         [37e22dce66e9]
7260
7261 2005-02-12  Todd C. Miller  <Todd.Miller@courtesan.com>
7262
7263         * Makefile.in:
7264         fix devel builds
7265         [9fbb15ef164c]
7266
7267         * sudo.c:
7268         Fix some printf format mismatches on error.
7269         [ffc1c3f11740]
7270
7271         * check.c:
7272         Fix some printf format mismatches on error.
7273         [7b3b508adf50]
7274
7275         * configure, gram.c, toke.c:
7276         regen
7277         [aa76f9d8b02a]
7278
7279         * Makefile.in, aclocal.m4, alias.c, alloc.c, auth/afs.c,
7280         auth/aix_auth.c, auth/bsdauth.c, auth/dce.c, auth/fwtk.c,
7281         auth/kerb4.c, auth/kerb5.c, auth/pam.c, auth/passwd.c,
7282         auth/rfc1938.c, auth/secureware.c, auth/securid.c, auth/securid5.c,
7283         auth/sia.c, auth/sudo_auth.c, auth/sudo_auth.h, check.c,
7284         closefrom.c, compat.h, configure.in, defaults.c, defaults.h,
7285         emul/utime.h, env.c, error.c, fileops.c, find_path.c, getprogname.c,
7286         getspwuid.c, gettime.c, goodpath.c, gram.y, interfaces.c,
7287         interfaces.h, ldap.c, logging.c, logging.h, match.c, mon_systrace.c,
7288         parse.c, redblack.c, redblack.h, set_perms.c, sigaction.c,
7289         snprintf.c, strcasecmp.c, strerror.c, strlcat.c, strlcpy.c, sudo.c,
7290         sudo.h, sudo.pod, sudo_edit.c, sudo_noexec.c, sudoers.pod,
7291         testsudoers.c, tgetpass.c, toke.l, utimes.c, version.h, visudo.c,
7292         visudo.pod, zero_bytes.c:
7293         Update copyright years.
7294         [0610c3654739]
7295
7296         * Makefile.binary.in:
7297         Update copyright years.
7298         [d78ffc9f2e2b]
7299
7300         * LICENSE:
7301         Update copyright years.
7302         [f60473bca4b1]
7303
7304         * BUGS, INSTALL, INSTALL.binary, Makefile.in, README, configure.in:
7305         version 1.7
7306         [aa977a544ca1]
7307
7308         * WHATSNEW:
7309         What's new in sudo 1.7, based on the 1.7 CHANGES entries.
7310         [ecfcf7269c14]
7311
7312 2005-02-11  Todd C. Miller  <Todd.Miller@courtesan.com>
7313
7314         * compat.h, logging.h, sudo.h:
7315         Add __printflike and use it with gcc to warn about printf-like
7316         format mismatches
7317         [b192ad4a0548]
7318
7319 2005-02-10  Todd C. Miller  <Todd.Miller@courtesan.com>
7320
7321         * CHANGES, ChangeLog:
7322         Replaced CHANGES file with ChangeLog generated from cvs logs
7323         [d9ace9dab98f]
7324
7325         * set_perms.c:
7326         Use warning/error instead of perror/fatal.
7327         [e33259df7738]
7328
7329         * config.guess:
7330         Update OpenBSD section
7331         [9d2c23de6801]
7332
7333         * UPGRADE:
7334         Add upgrading noted for 1.7
7335         [1fb6b6d6df07]
7336
7337         * env.c, sudo.c, sudoers.pod:
7338         Instead of zeroing out the environment, just prune out entries based
7339         on the env_delete and env_check lists. Base building up the new
7340         environment on the current environment and the variables we removed
7341         initially.
7342         [fc192df8fd15]
7343
7344         * config.h.in, configure, configure.in, sudo.c:
7345         Set locale to "C" if locales are supported, just to be safe.
7346         [91fbaa98f02e]
7347
7348         * toke.c, toke.l:
7349         Cast?argument to ctype functions to unsigned char.
7350         [e096b4d65796]
7351
7352 2005-02-08  Todd C. Miller  <Todd.Miller@courtesan.com>
7353
7354         * env.c:
7355         correct value for DID_USER
7356         [b5b05d36ec15]
7357
7358         * error.c, fnmatch.c, getcwd.c, glob.c, snprintf.c:
7359         #include <compat.h> not "compat.h"
7360         [7a0ad9a0ccd7]
7361
7362         * defaults.c:
7363         Reset the environment by default.
7364         [4ecc6423e0f0]
7365
7366         * sudo.c:
7367         Alloc an extra slot in NewArgv. Removes the need to malloc an new
7368         vector if execve() fails.
7369         [83dfb6f584a7]
7370
7371 2005-02-07  Todd C. Miller  <Todd.Miller@courtesan.com>
7372
7373         * INSTALL, config.h.in, configure, configure.in, sudo.c:
7374         Use execve(2) and wrap the command in sh if we get ENOEXEC.
7375         [c0c6af4e2a21]
7376
7377 2005-02-06  Todd C. Miller  <Todd.Miller@courtesan.com>
7378
7379         * sudo_noexec.c:
7380         Only include time.h on systems that lack struct timespec which gets
7381         defind in compat.h (using time_t).
7382         [e373e518b4cb]
7383
7384         * sudo_noexec.c:
7385         Include time.h for time_t in compat.h for systems w/o struct
7386         timespec.
7387         [a34b5637e458]
7388
7389         * compat.h, config.h.in, configure, configure.in:
7390         use bcopy on systems w/o memmove
7391         [f835eafd78c6]
7392
7393         * compat.h:
7394         __attribute__((__unused__)) doesn't work in gcc 2.7.2.1 so limit its
7395         use to gcc >= 2.8.
7396         [1cb9a4e58566]
7397
7398         * Makefile.in:
7399         Add explicit rule to build sudo_noexec.lo
7400         [df1dfcf8dd77]
7401
7402 2005-02-05  Todd C. Miller  <Todd.Miller@courtesan.com>
7403
7404         * INSTALL.configure, Makefile.in:
7405         No longer depend on VPATH; pointed out a bunch of missed
7406         dependencies.
7407         [601a45d4af6b]
7408
7409         * TROUBLESHOOTING:
7410         Help for PAM when account section is missing
7411         [9b8221256756]
7412
7413         * auth/pam.c:
7414         Give user a clue when there is a missing "account" section in the
7415         PAM config.
7416         [2529625c0495]
7417
7418         * auth/pam.c:
7419         Better error handling.
7420         [518c9bda23d8]
7421
7422         * config.h.in, configure, configure.in:
7423         Move _FOO_SOURCE to CPPFLAGS so it takes effect as early as
7424         possible. Silences a warning about isblank() on linux.
7425         [19c94d7ecdc8]
7426
7427         * auth/pam.c:
7428         Fix typo (missing comma) that caused an incorrect number of args to
7429         be passed to log_error().
7430         [0099dfec560f]
7431
7432 2005-02-01  Todd C. Miller  <Todd.Miller@courtesan.com>
7433
7434         * pwutil.c:
7435         Don't try to destroy a tree we didn't create.
7436         [d43c4fe03aa4]
7437
7438 2005-01-27  Todd C. Miller  <Todd.Miller@courtesan.com>
7439
7440         * alias.c, alloc.c, auth/afs.c, auth/aix_auth.c, auth/bsdauth.c,
7441         auth/dce.c, auth/fwtk.c, auth/kerb4.c, auth/kerb5.c, auth/pam.c,
7442         auth/passwd.c, auth/rfc1938.c, auth/secureware.c, auth/securid.c,
7443         auth/securid5.c, auth/sia.c, auth/sudo_auth.c, check.c, closefrom.c,
7444         compat.h, defaults.c, env.c, error.c, fileops.c, find_path.c,
7445         fnmatch.c, getcwd.c, getprogname.c, getspwuid.c, gettime.c,
7446         goodpath.c, gram.c, gram.y, interfaces.c, ldap.c, logging.c,
7447         match.c, mon_systrace.c, parse.c, pwutil.c, set_perms.c,
7448         sigaction.c, snprintf.c, strcasecmp.c, strerror.c, strlcat.c,
7449         strlcpy.c, sudo.c, sudo_edit.c, sudo_noexec.c, testsudoers.c,
7450         tgetpass.c, toke.c, toke.l, utimes.c, visudo.c, zero_bytes.c:
7451         Add __unused to rcsids
7452         [ad6b4ac45705]
7453
7454 2005-01-21  Todd C. Miller  <Todd.Miller@courtesan.com>
7455
7456         * configure, configure.in:
7457         Fix error message when mixing invalid auth types
7458         [68069b3ff5bc]
7459
7460         * INSTALL:
7461         PAM, AIX auth, BSD auth and login_cap are now on by default if the
7462         OS supports them.
7463         [4e44e9098cf0]
7464
7465         * auth/sudo_auth.h, config.h.in:
7466         s/HAVE_AUTHENTICATE/HAVE_AIXAUTH/g
7467         [2d569b43b23e]
7468
7469         * configure.in:
7470         Better checking for conflicting authentication methods Display the
7471         authentication methods used at the end of configure Rename --with-
7472         authenticate -> --with-aixauth Use --with-aixauth, --with-bsdauth,
7473         --with-pam, --with-logincap by default on systems that support them
7474         unless disabled. Add OSMAJOR variable that replaces old OSREV; now
7475         OSREV has full version number
7476         [a21115b6fe9f]
7477
7478 2005-01-18  Todd C. Miller  <Todd.Miller@courtesan.com>
7479
7480         * def_data.c, def_data.in, sudo.c, sudoers.pod:
7481         s/-O/-C/
7482         [ee73f1b81923]
7483
7484 2005-01-14  Todd C. Miller  <Todd.Miller@courtesan.com>
7485
7486         * configure.in:
7487         Replace: test -n "$FOO" || FOO="bar"
7488
7489         With: : ${FOO='bar'}
7490         [37552d9054fc]
7491
7492 2005-01-09  Todd C. Miller  <Todd.Miller@courtesan.com>
7493
7494         * pwutil.c, testsudoers.c, tsgetgrpw.c:
7495         Use function pointers to only call private passwd/group routines
7496         when using a nonstandard passwd/group file.
7497         [215908681dfb]
7498
7499 2005-01-06  Todd C. Miller  <Todd.Miller@courtesan.com>
7500
7501         * CHANGES:
7502         sync
7503         [2e55c03f5790]
7504
7505         * tsgetgrpw.c:
7506         Can't use strtok() since it doesn't handle empty fields so add
7507         getpwent()/getgrent() functions and call those.
7508         [bdaa5b0db70e]
7509
7510 2005-01-05  Todd C. Miller  <Todd.Miller@courtesan.com>
7511
7512         * Makefile.in:
7513         Fix dummied out toke.c and gram.c dependencies.
7514         [4b909c8b2ebe]
7515
7516         * Makefile.in:
7517         Rename PARSESRCS -> GENERATED since it is only used in the clean
7518         target Add devdir variable and use it to specify the path to parser
7519         sources
7520         [f27b3f41ca23]
7521
7522         * configure:
7523         regen
7524         [22c6435dbd46]
7525
7526         * configure.in:
7527         Add a devdir variables that defaults to $(srcdir) and is set to . if
7528         --devel was specified. Allows for proper dependecies building the
7529         parser.
7530         [a36d694c6d21]
7531
7532         * testsudoers.c:
7533         Add support for custom passwd/group files.
7534         [296549ff4b87]
7535
7536         * Makefile.in:
7537         Build private copy of pwutil.o for testsudoers with MYPW defined so
7538         it uses our own passwd/group routines.
7539         [bafa54ec78ca]
7540
7541         * visudo.c:
7542         Remove sudo_*{pw,gr}* stubs and add sudo_setspent/sudo_endspent
7543         stubs instead. We can now just use the caching sudo_*{pw,gr}*
7544         functions in pwutil.c Add comment about wanting to call
7545         sudo_endpwent/sudo_endgrent in cleanup()
7546         [7e59d6b5510d]
7547
7548         * tsgetgrpw.c:
7549         Remove caching; we will just use what is in pwutil.c Use global
7550         buffers for passwd/group structs Rename functions from sudo_* to
7551         my_*
7552         [8c1e068f574c]
7553
7554         * logging.c, sudo.c:
7555         g/c pwcache_init/pwcache_destroy
7556         [60a24909b947]
7557
7558         * sudo.h:
7559         Undo last commit and add sudo_setspent and sudo_endspent instead.
7560         [bac80db08296]
7561
7562         * getspwuid.c, pwutil.c:
7563         Move all but the shadow stuff from getspwuid.c to pwutil.c and
7564         pwcache_get and pwcache_put as they are no longer needed. Also add
7565         preprocessor magic to use private versions of the passwd and group
7566         routines if MYPW is defined (for use by testsudoers).
7567         [a16b8678a426]
7568
7569         * tsgetgrpw.c:
7570         zero out struct passwd/group before filling it in so if there are
7571         fields we don't handle they end up as 0.
7572         [274cb6a93301]
7573
7574         * logging.c, sudo.c, sudo.h, testsudoers.c, visudo.c:
7575         Adapt to pwutil.c
7576         [43ebd04c8b82]
7577
7578         * Makefile.in:
7579         Add tsgetgrpw.c and pwutil.c Rename the *OBJ variables for better
7580         readability.
7581         [7f88c6061e2d]
7582
7583         * tsgetgrpw.c:
7584         Passwd and group lookup routines for testsudoers that support
7585         alternate passwd and group files.
7586         [d7803101d34e]
7587
7588         * getspwuid.c, pwutil.c:
7589         Split off pw/gr cache and dup code into its own file. This allows
7590         visudo and testsudoers to use the pw/gr cache too.
7591         [ef333d3ffedf]
7592
7593 2005-01-02  Todd C. Miller  <Todd.Miller@courtesan.com>
7594
7595         * parse.c:
7596         Print Defaults info in "sudo -l" output and wrap lines based on the
7597         terminal width.
7598         [e559eae4250e]
7599
7600 2005-01-01  Todd C. Miller  <Todd.Miller@courtesan.com>
7601
7602         * match.c, testsudoers.c, visudo.c:
7603         Only check group vector in usergr_matches() if we are matching the
7604         invoking or list user. Always check the group members, even if
7605         there was a group vector.
7606         [d0c7ceb2a041]
7607
7608 2004-12-17  Todd C. Miller  <Todd.Miller@courtesan.com>
7609
7610         * LICENSE, Makefile.in, fnmatch.3:
7611         No longer bundle fnmatch.3
7612         [72db4a4ff4e1]
7613
7614         * CHANGES, TODO:
7615         checkpoint
7616         [e92781bfd99c]
7617
7618 2004-12-16  Todd C. Miller  <Todd.Miller@courtesan.com>
7619
7620         * sudo.c:
7621         sort usage
7622         [15e3b876ec2c]
7623
7624         * sudo.pod:
7625         Sort command line options
7626         [c1fa56584bc4]
7627
7628         * def_data.c, def_data.h, def_data.in, defaults.c, logging.c, sudo.c,
7629         sudo.pod, sudoers.pod:
7630         Add closefrom sudoers option to start closing at a point other than
7631         3. Add closefrom_override sudoers option and -C sudo flag to allow
7632         the user to specify a different closefrom starting point.
7633         [370652b099d1]
7634
7635         * pathnames.h.in:
7636         Add _PATH_DEVNULL for those without it.
7637         [0c4c3e0ceb8b]
7638
7639         * LICENSE:
7640         no more UCB strcasecmp
7641         [397a6298e07f]
7642
7643         * strcasecmp.c:
7644         replace BSD licensed one with version derived from pdksh
7645         [d7cfda8c57a2]
7646
7647 2004-12-10  Todd C. Miller  <Todd.Miller@courtesan.com>
7648
7649         * sudo.c:
7650         Fix last commit.
7651         [7afb9a180532]
7652
7653         * sudo.c:
7654         Make sure stdin, stdout and stderr are open and dup them to
7655         /dev/null if not.
7656         [590f387068bd]
7657
7658 2004-12-03  Todd C. Miller  <Todd.Miller@courtesan.com>
7659
7660         * ldap.c, mon_systrace.c, sudo.c, sudo.h:
7661         add sudo_ldap_close
7662         [4273a36765a7]
7663
7664         * fileops.c, gettime.c, sudo.c, sudo_edit.c, utimes.c, visudo.c:
7665         Use TIME_WITH_SYS_TIME
7666         [c32b59bf15fb]
7667
7668         * config.h.in, configure, configure.in:
7669         Add TIME_WITH_SYS_TIME_H
7670         [57cb146f451d]
7671
7672 2004-12-02  Todd C. Miller  <Todd.Miller@courtesan.com>
7673
7674         * env.c:
7675         Add missing braces to avoid DYLD_FORCE_FLAT_NAMESPACE being set
7676         unconditionally on darwin. From Toby Peterson.
7677         [d69959681c87]
7678
7679         * getspwuid.c:
7680         Check rbinsert() return value. In the case of faked up entries
7681         there is usually a negative response cached that we need to
7682         overwrite.
7683
7684         In pwfree() don't try to zero out a NULL pw_passwd pointer.
7685         [00b32d1a48c1]
7686
7687         * mon_systrace.c:
7688         Use the double fork trick to avoid the monitor process being waited
7689         for by the main program run through sudo.
7690         [e0ce556712ff]
7691
7692 2004-11-29  Todd C. Miller  <Todd.Miller@courtesan.com>
7693
7694         * sudo.c:
7695         Call initgroups() in -U mode so group matches work normally.
7696         [2235bea15283]
7697
7698         * def_data.h, mkdefaults:
7699         Don't print a trailing comma for the last entry in enum def_tupple
7700         [c43a96bb31df]
7701
7702 2004-11-28  Todd C. Miller  <Todd.Miller@courtesan.com>
7703
7704         * sudoers.cat, sudoers.man.in, sudoers.pod:
7705         Mention values when lecture, listpw and verifypw are used in boolean
7706         context.
7707         [a0b5c0abaccf]
7708
7709         * def_data.c, def_data.in:
7710         verifypw when used in a boolean TRUE context should be "all", not
7711         "any".
7712         [2eb076ddd5e2]
7713
7714 2004-11-26  Todd C. Miller  <Todd.Miller@courtesan.com>
7715
7716         * def_data.in, defaults.c:
7717         Allow tuples that can be used as booleans to be used as boolean
7718         TRUE. In this case the 2nd possible value of the tuple is used for
7719         TRUE.
7720         [bd99aa77e88b]
7721
7722 2004-11-25  Todd C. Miller  <Todd.Miller@courtesan.com>
7723
7724         * configure, configure.in:
7725         Correct the test for 2-parameter timespecsub
7726         [d41c9cb26b97]
7727
7728         * sudo.h:
7729         Add strub struct definitions for passwd, timeval and timespec
7730         [c4ce5c43d8c5]
7731
7732         * config.h.in, configure, configure.in, sudo_edit.c, visudo.c:
7733         Add check for 2-argument form of timespecsub (FreeBSD and BSD/OS)
7734         and fix a typo in the gettimeofday check.
7735         [8ac9893057ce]
7736
7737 2004-11-24  Todd C. Miller  <Todd.Miller@courtesan.com>
7738
7739         * match.c, testsudoers.c:
7740         Deal with user_stat being NULL as it is for visudo and testsudoers.
7741         [3605a6ff64d0]
7742
7743         * parse.c, sudo.c, sudo.cat, sudo.h, sudo.man.in, sudo.pod:
7744         Add -U option to use in conjunction with -l instead of -u. Add
7745         support for "sudo -l command" to test a specific command.
7746         [99638789d415]
7747
7748         * gram.c, gram.y, sudo.c:
7749         Set safe_cmnd after sudoers_lookup() if it has not been set.
7750         Previously it was set by sudo "ALL" in the parser but at that point
7751         the fully-qualified pathname has not yet been found.
7752         [ac30d98f8225]
7753
7754 2004-11-23  Todd C. Miller  <Todd.Miller@courtesan.com>
7755
7756         * parse.c, testsudoers.c:
7757         Correctly handle multiple privileges per userspec and runas
7758         inheritence.
7759         [a98a965181af]
7760
7761 2004-11-21  Todd C. Miller  <Todd.Miller@courtesan.com>
7762
7763         * defaults.c:
7764         Zero out sd_un for each entry in sudo_defs_table in init_defaults.
7765         [031d3cd4a848]
7766
7767 2004-11-19  Todd C. Miller  <Todd.Miller@courtesan.com>
7768
7769         * toke.c, toke.l:
7770         make per-command defaults work with sudoedit
7771         [e56fe33db916]
7772
7773         * ldap.c, parse.c, sudo.c, sudo.h:
7774         Remove the FLAG_NOPASS, FLAG_NOEXEC and FLAG_MONITOR flags.
7775         Instead, we just set the approriate defaults variable.
7776         [756eeecc1d86]
7777
7778         * sample.sudoers, sudoers.cat, sudoers.man.in, sudoers.pod:
7779         Document per-command Defaults.
7780         [92a0f84b91c1]
7781
7782         * defaults.c, defaults.h, gram.c, gram.h, gram.y, mon_systrace.c,
7783         sudo.c, testsudoers.c, toke.c, toke.l, visudo.c:
7784         Add support for command-specific Defaults entries. E.g.
7785         Defaults!/usr/bin/vi noexec
7786         [be3d52bf01cf]
7787
7788         * defaults.c, match.c, parse.c, parse.h, testsudoers.c:
7789         Change an occurence of user_matches() -> runas_matches() missed
7790         previously runas_matches(), host_matches() and cmnd_matches() only
7791         really need to pass in a list of members. user_matches() still
7792         needs to pass in a passwd struct because of "sudo -l"
7793         [833b22fc6fa0]
7794
7795         * parse.c:
7796         Check def_authenticate, def_noexec and def_monitor when setting
7797         return flags. XXX May be better to just set the defaults directly
7798         and get rid of those flags.
7799         [b6db22b59d69]
7800
7801         * alias.c, alloc.c, auth/afs.c, auth/aix_auth.c, auth/bsdauth.c,
7802         auth/dce.c, auth/fwtk.c, auth/kerb4.c, auth/kerb5.c, auth/pam.c,
7803         auth/passwd.c, auth/rfc1938.c, auth/secureware.c, auth/securid.c,
7804         auth/securid5.c, auth/sia.c, auth/sudo_auth.c, check.c, closefrom.c,
7805         defaults.c, env.c, error.c, fileops.c, find_path.c, fnmatch.c,
7806         getcwd.c, getprogname.c, getspwuid.c, gettime.c, glob.c, goodpath.c,
7807         gram.c, gram.y, interfaces.c, ldap.c, logging.c, match.c,
7808         mon_systrace.c, parse.c, redblack.c, set_perms.c, snprintf.c,
7809         strcasecmp.c, strerror.c, strlcat.c, strlcpy.c, sudo.c, sudo_edit.c,
7810         sudo_noexec.c, testsudoers.c, tgetpass.c, toke.c, toke.l, utimes.c,
7811         visudo.c, zero_bytes.c:
7812         Use: #include <config.h> Not: #include "config.h" That way we get
7813         the correct config.h when build dir != src dir
7814         [97e5670a442b]
7815
7816         * Makefile.in:
7817         Back out part of rev 1.263; fix -I order
7818         [197ea01cad5d]
7819
7820         * toke.c, toke.l:
7821         More robust parsing if #include; could be much better still.
7822         [31bc3cd8f045]
7823
7824         * sudo_edit.c, visudo.c:
7825         Make arg splitting in visudo and sudoedit consistent.
7826         [7bc74485f246]
7827
7828         * Makefile.in, alias.c, gram.c, gram.y, parse.h:
7829         Split alias routines out into their own file.
7830         [d90f633cf9ae]
7831
7832         * error.h:
7833         __attribute__ is already defined in compat.h
7834         [676ed3fe9203]
7835
7836         * visudo.c:
7837         quit() should not be __noreturn__ as it is non-void on some
7838         platforms.
7839         [e528c2b6ba10]
7840
7841         * auth/fwtk.c, auth/rfc1938.c, auth/securid.c, auth/securid5.c:
7842         Add local error/warning functions like err/warn but that call an
7843         additional cleanup routine in the error case. This means we no
7844         longer need to compile a special version of alloc.o for visudo.
7845         [e78e8aae882e]
7846
7847         * parse.h:
7848         Clarify comments about the data structures
7849         [ae894e266701]
7850
7851 2004-11-18  Todd C. Miller  <Todd.Miller@courtesan.com>
7852
7853         * visudo.c:
7854         Add support for VISUAL and EDITOR containing command line args. If
7855         env_editor is not set any args in VISUAL and EDITOR are ignored.
7856         Arguments are also now supported in def_editor.
7857         [ff7303b8e298]
7858
7859 2004-11-17  Todd C. Miller  <Todd.Miller@courtesan.com>
7860
7861         * parse.h:
7862         alias_matches() is no more
7863         [b59825e28084]
7864
7865         * CHANGES, TODO:
7866         sync
7867         [2b8f5f63c1de]
7868
7869         * Makefile.in:
7870         When regenerating the parser, don't replace gram.h unless it has
7871         changed.
7872         [819949668018]
7873
7874         * Makefile.in:
7875         remove Makefile.binary for distclean
7876         [351eec8d00b2]
7877
7878         * env.c:
7879         Preserve KRB5CCNAME in zero_env() and add a paranoia check to make
7880         sure we can't overflow new_env.
7881         [3284d17b9c6d]
7882
7883         * sudo_edit.c:
7884         paranoia when stripping trailing slashes from tempdir.
7885         [012f1aa2b81f]
7886
7887         * sudo.c:
7888         Set user_ngroups to 0 if getgroups() returns an error.
7889         [c46d43e9449a]
7890
7891 2004-11-16  Todd C. Miller  <Todd.Miller@courtesan.com>
7892
7893         * config.h.in, configure, configure.in, sudo.c:
7894         Add configure check for getgroups()
7895         [5d8a214e2cef]
7896
7897         * ldap.c:
7898         Use supplementary group vector in struct sudo_user.
7899         [3d0c463c034d]
7900
7901         * match.c:
7902         Only do string comparisons on the group members if there is no
7903         supplemental group list.
7904         [be1c8362f7ef]
7905
7906         * CHANGES, TODO:
7907         sync
7908         [db188bc5b975]
7909
7910         * sudo_edit.c:
7911         On Digital UNIX _PATH_VAR_TMP doesn't end with a trailing slash so
7912         chop off any trailing slashes we see and add an explicit one.
7913         [e1b477dafee1]
7914
7915         * match.c:
7916         remove bogus XXX comment
7917         [8aecb8a28d40]
7918
7919         * match.c:
7920         Get rid of alias_matches and correctly fall through to the non-alias
7921         cases when there is no alias with the specified name.
7922         [2cd555246f09]
7923
7924         * getspwuid.c:
7925         Cache non-existent passwd/group entries too.
7926         [8de9a467d271]
7927
7928         * gram.c:
7929         regen
7930         [9ece18c58f36]
7931
7932         * getspwuid.c:
7933         fix typo
7934         [9a7ae371eac1]
7935
7936         * check.c, getspwuid.c, glob.c, ldap.c, logging.c, match.c,
7937         mon_systrace.h, sudo.c, sudo.h, testsudoers.c, visudo.c:
7938         Implement group caching and use the passwd and group caches
7939         throughout.
7940         [f1d8c5015169]
7941
7942 2004-11-15  Todd C. Miller  <Todd.Miller@courtesan.com>
7943
7944         * match.c:
7945         Properly negate the return value of alias_matches() when
7946         appropriate.
7947         [ce59c4ce77ad]
7948
7949         * match.c:
7950         Make hostname_matches() return TRUE for a match, else FALSE like the
7951         caller expects.
7952         [1dc03902d3a2]
7953
7954         * Makefile.in:
7955         Add missing dependencies on gram.h
7956         [4f94bbb1d50c]
7957
7958         * match.c:
7959         Use runas_matches in alias_matches() now that we have it.
7960         [284d22e91178]
7961
7962         * parse.c, parse.h:
7963         Expand aliases in "sudo -l" mode
7964         [f67a38b79c44]
7965
7966         * gram.y, match.c:
7967         Use ALIAS for the member type when storing an alias instead of
7968         HOSTALIAS/RUNASALIAS/CMNDALIAS/USERALIAS since match.c relies on the
7969         more generic type. Expand runas_matches instead of calling
7970         user_matches() inside of it since user_matches() looks up
7971         USERALIASes, not RUNASALIASes.
7972         [52004d75232b]
7973
7974         * CHANGES, getspwuid.c:
7975         Paranoia; zero out pw_passwd before freeing passwd entry.
7976         [bd1b22638f00]
7977
7978         * LICENSE, Makefile.in, alloc.c, check.c, config.h.in, configure,
7979         configure.in, defaults.c, emul/err.h, env.c, err.c, error.c,
7980         error.h, find_path.c, interfaces.c, logging.c, mon_systrace.c,
7981         sudo.c, sudo.h, sudo_edit.c, testsudoers.c, visudo.c:
7982         Add local error/warning functions like err/warn but that call an
7983         additional cleanup routine in the error case. This means we no
7984         longer need to compile a special version of alloc.o for visudo.
7985         [25000b676cfe]
7986
7987         * match.c:
7988         Use userpw_matches() to compare usernames, not strcmp(), since the
7989         latter checks for "#uid".
7990         [fcbe4b859f66]
7991
7992         * getspwuid.c, mon_systrace.c, mon_systrace.h, sudo.c:
7993         Cache passwd db entries in 2 reb-black trees; one indexed by uid,
7994         the other by user name. The data returned from the cache should be
7995         considered read-only and is destroyed by sudo_endpwent().
7996         [ee2418ff3f86]
7997
7998         * match.c:
7999         add cast to uid_t
8000         [eb6415302d84]
8001
8002         * gram.y:
8003         missing free in alias_destroy
8004         [572ecb680ad8]
8005
8006         * redblack.c:
8007         Can't use rbapply() for rbdestroy since the destructor is passed a
8008         data pointer, not a node pointer.
8009         [11ce713830c0]
8010
8011         * getspwuid.c, logging.c, sudo.c, sudo.h:
8012         Create and use private versions of setpwent() and endpwent() that
8013         set/end the shadow password file too.
8014         [616bc76d23bf]
8015
8016         * gram.c, gram.h, gram.y, match.c, parse.h, testsudoers.c, visudo.c:
8017         Store aliases in a red-black tree.
8018         [ce017d540416]
8019
8020         * Makefile.in, redblack.c, redblack.h:
8021         red-black tree implementation
8022         [cd5586e8f48b]
8023
8024         * visudo.c:
8025         Edit all sudoers file if there were unused or undefined aliases and
8026         we are in strict mode.
8027         [b6d5f5bb7262]
8028
8029 2004-11-12  Todd C. Miller  <Todd.Miller@courtesan.com>
8030
8031         * CHANGES, def_data.c, def_data.h, def_data.in, defaults.c, env.c,
8032         find_path.c, sudoers.cat, sudoers.man.in, sudoers.pod, visudo.c:
8033         Bring back the "secure_path" Defaults option now that Defaults take
8034         effect before the path is searched.
8035         [2e52c0e27606]
8036
8037 2004-11-11  Todd C. Miller  <Todd.Miller@courtesan.com>
8038
8039         * logging.c, parse.c:
8040         A user can always list their own entries, even with -u. Better error
8041         message when failing to list another user's entries.
8042         [e2e24deb0071]
8043
8044         * parse.c, sudo.c, sudo.h:
8045         The syntax to list another user's entries is now "-u otheruser -l".
8046         Only root or users with sudo "ALL" may list other user's entries.
8047         [3c0657e8f5fe]
8048
8049         * sudo.cat, sudo.man.in, sudo.pod:
8050         Update env variable info in SECURITY NOTES
8051         [299716071024]
8052
8053         * env.c:
8054         strip CDPATH too
8055         [9b97643b26f9]
8056
8057         * env.c:
8058         strip exported bash functions from the environment.
8059         [9e5090c8284f]
8060
8061 2004-10-27  Todd C. Miller  <Todd.Miller@courtesan.com>
8062
8063         * sudo.c:
8064         Only reset sudo_user.pw based on SUDO_USER environment variables for
8065         real commands and sudoedit. This avoids a confusing message when a
8066         user tries "sudo -l" or "sudo -v" and is denied.
8067         [3ea6d0053274]
8068
8069         * gram.c, gram.y, parse.h:
8070         Extend LIST_APPEND to deal with appending lists too
8071         [d963e42f622f]
8072
8073 2004-10-26  Todd C. Miller  <Todd.Miller@courtesan.com>
8074
8075         * logging.c:
8076         Convert some bitwise AND to ISSET
8077         [130dc40d268e]
8078
8079         * lex.yy.c, toke.c:
8080         toke.c replaces lex.yy.c
8081         [048858df79e7]
8082
8083         * CHANGES, TODO:
8084         sync
8085         [d19e7abf251c]
8086
8087         * BUGS:
8088         new parser fixes most of the outstanding bugs
8089         [0891f66e3758]
8090
8091         * configure:
8092         regen
8093         [1a3358cc7283]
8094
8095         * visudo.c:
8096         Rework for the new parser. Now checks for unused aliases in sudoers.
8097         [ad462ede3094]
8098
8099         * testsudoers.c:
8100         Rewrite for the new parser. Now supports a -d flag (dump) and adds
8101         a -h flag (host). It now defaults to the local hostname unless
8102         otherwise specified.
8103         [1b69685cc601]
8104
8105         * sudo.h:
8106         Add new prototypes. Remove NOMATCH/UNSPEC (now in parse.h)
8107         [2e4fb3abfef0]
8108
8109         * sudo.c:
8110         Update for new parse. We now call find_path() *after* we have
8111         updated the global defaults based on sudoers. Also adds support for
8112         listing other user's privs if you are root.
8113         [cf3db9fc3024]
8114
8115         * mon_systrace.c:
8116         Working LDAP support; also remove a now-unneeded rewind().
8117         [649ecf1baf6b]
8118
8119         * logging.c, logging.h:
8120         Add NO_STDERR flag.
8121         [6cb935af94e0]
8122
8123         * ldap.c:
8124         Split sudo_ldap_check() into three pieces: sudo_ldap_open(),
8125         udo_ldap_update_defaults() and sudo_ldap_check(). This allows us to
8126         connecto to LDAP, apply the default options, find the command in the
8127         user's path, and then check whether the user is allowed to run it.
8128         The important thing here is that the default runas user may be
8129         specified as a default option and that needs to be set before we
8130         search for the command.
8131         [fc0426abc6f1]
8132
8133         * ldap.c:
8134         Add casts to unsigned char for isspace() to quiet a gcc warning.
8135         [e5358e3df439]
8136
8137         * defaults.h:
8138         Add prototype for update_defaults()
8139         [564dac3db74e]
8140
8141         * defaults.c:
8142         Don't warn about line numbers now that we operate on a set of data
8143         structures (or LDAP) and not a file.
8144         [bcd9ffb9b67c]
8145
8146         * config.h.in:
8147         No long use lsearch()
8148         [9d048c587319]
8149
8150         * Makefile.in:
8151         Update for new and changed file names.
8152         [6f424a7c4515]
8153
8154         * LICENSE:
8155         no more BSD lsearch.c
8156         [463a96d89026]
8157
8158         * match.c:
8159         foo_matches() routines now live in match.c Added user_matches(),
8160         runas_matches(), host_matches(), cmnd_matches() and alias_matches()
8161         that operate on the parsed sudoers file.
8162         [b14da8a0567e]
8163
8164         * parse.lex, toke.l:
8165         Move parse.lex -> toke.l Rename buffer_frob() -> switch_buffer()
8166         WORD no longer needs to exclude '@' kill yywrap()
8167         [a922294eb7b7]
8168
8169         * gram.c, gram.h, gram.y, parse.c, parse.h, parse.yacc, sudo.tab.c,
8170         sudo.tab.h:
8171         Rewritten parser that converts sudoers into a set of data
8172         structures. This eliminates ordering issues and makes it possible to
8173         apply sudoers Defaults entries before searching for the command.
8174         [30d2ec4d203c]
8175
8176         * configure.in, emul/search.h, lsearch.c:
8177         We won't be using lsearch() any longer.
8178         [29c4d54bfac0]
8179
8180         * ldap.c:
8181         sudo should not send mail if someone who runs 'sudo -l' has no
8182         entry.
8183         [6fc27a69fd9c]
8184
8185         * sudo.cat, sudo.man.in, sudoers.cat, sudoers.man.in, visudo.cat,
8186         visudo.man.in:
8187         regen
8188         [8166347917f3]
8189
8190         * visudo.pod:
8191         Update warnings to match new visudo
8192         [004c0766798f]
8193
8194         * sudoers.pod:
8195         The new parser doesn't have the old ordering constraints.
8196         [ffd43bd08661]
8197
8198         * sudo.pod:
8199         Document that -l now takes an optional username argument
8200         [278f9557de8b]
8201
8202 2004-10-25  Todd C. Miller  <Todd.Miller@courtesan.com>
8203
8204         * RUNSON:
8205         AIX 5.2.0.0 works
8206         [523acd29d858]
8207
8208         * ldap.c:
8209         If LDAP_OPT_SUCCESS is not defined, use LDAP_SUCCESS instead. Fixes
8210         a compilation problem with Solaris 9's native LDAP.
8211
8212         Set FLAG_MONITOR when needed.
8213         [35824ade672d]
8214
8215 2004-10-23  Todd C. Miller  <Todd.Miller@courtesan.com>
8216
8217         * mon_systrace.c:
8218         Call sudo_goodpath() *after* changing the cwd to match the traced
8219         process. Fixes relative paths.
8220         [12ee111d0ad7]
8221
8222 2004-10-21  Todd C. Miller  <Todd.Miller@courtesan.com>
8223
8224         * testsudoers.c:
8225         Kill set_perms() stub--it is no longer needed.
8226         [116ed702935d]
8227
8228 2004-10-13  Todd C. Miller  <Todd.Miller@courtesan.com>
8229
8230         * sudoers.cat, sudoers.man.in, sudoers.pod:
8231         stay_setuid now requires set_reuid() or setresuid()
8232         [8511f67e25d5]
8233
8234         * INSTALL, PORTING, TROUBLESHOOTING, config.h.in, configure,
8235         configure.in, set_perms.c, sudo.c, sudo.h:
8236         Kill use of POSIX saved uids; they aren't worth bothering with.
8237         [b3b1f19f18c1]
8238
8239 2004-10-07  Todd C. Miller  <Todd.Miller@courtesan.com>
8240
8241         * glob.c:
8242         remove call to issetugid()
8243         [63f2e492c08f]
8244
8245         * sudoers.cat, sudoers.man.in, sudoers.pod:
8246         Remove warning about wildcards. Now that we use glob() the bug is
8247         fixed.
8248         [b15729d32266]
8249
8250         * parse.c:
8251         Use glob(3) instead of fnmatch(3) for matching pathnames and stat
8252         each result that matches the basename of the user's command. This
8253         makes "cd /usr/bin ; sudo ./blah" work when sudoers allows
8254         /usr/bin/blah. Fixes bug #143.
8255         [e31eb6310340]
8256
8257         * config.h.in, configure, configure.in:
8258         Define HAVE_EXTENDED_GLOB for extended glob (GLOB_TILDE and
8259         GLOB_BRACE)
8260         [677ed6661e17]
8261
8262         * config.h.in, configure, configure.in:
8263         Check for a glob() that supports GLOB_BRACE and GLOB_TILDE
8264         [aaa2329dd266]
8265
8266         * LICENSE:
8267         reference glob
8268         [bedc9a923423]
8269
8270         * glob.c:
8271         4.4BSD glob(3) with fixes from OpenBSD and some unneeded extensions
8272         removed.
8273         [81799451473c]
8274
8275         * emul/glob.h:
8276         4.4BSD glob(3) with fixes from OpenBSD and some unneeded extensions
8277         removed.
8278         [0335cf31fb1e]
8279
8280 2004-10-05  Todd C. Miller  <Todd.Miller@courtesan.com>
8281
8282         * mon_systrace.c:
8283         Just return if STRIOCINJECT or STRIOCREPLACE fail. It probably
8284         means we are out of space in the stack gap...
8285         [5b02b702021e]
8286
8287         * CHANGES:
8288         sync
8289         [be3826273e56]
8290
8291         * mon_systrace.c:
8292         Take a stab at ldap sudoers support here.
8293         [9d023695b0de]
8294
8295         * mon_systrace.c, mon_systrace.h:
8296         Detach from tracee on SIGHUP, SIGINT and SIGTERM. Now "sudo reboot"
8297         doesn't cause reboot to inadvertanly kill itself.
8298         [d4aab2365610]
8299
8300         * mon_systrace.c:
8301         put "monitor" in the proctitle, not "systrace"
8302         [9a9025767d86]
8303
8304         * mon_systrace.c:
8305         When modifying the environment, don't replace envp when we can get
8306         away with just rewriting pointers in the traced process.
8307         [c03622f7a2e2]
8308
8309         * mon_systrace.c, mon_systrace.h:
8310         Add environment updating via STRIOCINJECT (if available).
8311         [037291016870]
8312
8313         * sudoers.cat, sudoers.man.in:
8314         regen
8315         [869acc511046]
8316
8317 2004-10-04  Todd C. Miller  <Todd.Miller@courtesan.com>
8318
8319         * lex.yy.c:
8320         regen
8321         [4e61a9bd3c97]
8322
8323         * parse.lex:
8324         Fix bug introduced in unput() removal; want yyless(0) not yyless(1)
8325         [b70d7bd6e147]
8326
8327         * mon_systrace.c:
8328         Include file is now mon_systrace.h
8329         [ead4e36d92ae]
8330
8331         * Makefile.in, configure, configure.in, def_data.c, def_data.h,
8332         def_data.in, lex.yy.c, parse.c, parse.h, parse.lex, parse.yacc,
8333         sudo.c, sudo.h, sudo.tab.c, sudo.tab.h, sudoers.pod:
8334         No longer call it tracing, it is now "monitoring" which should be
8335         more a obvious name to non-hackers.
8336         [aa811ded0789]
8337
8338 2004-10-01  Todd C. Miller  <Todd.Miller@courtesan.com>
8339
8340         * mon_systrace.c, mon_systrace.h:
8341         Fix some XXX
8342         [a271072dacc6]
8343
8344         * mon_systrace.c, mon_systrace.h:
8345         No need to include syscall.h, use 1024 as the max # of entries (the
8346         max that systrace(4) allows).
8347
8348         Only need to use SYSTR_POLICY_ASSIGN once
8349
8350         Change check_syscall() -> find_handler() and have it return the
8351         handler instead of just running it. We need this since handler now
8352         have two parts: one part that generates and answer and another that
8353         gets called after the answer is accepted (to do logging).
8354
8355         Add some missing check_exec for emul execv
8356         [a89d243f0525]
8357
8358         * sample.pam, sample.sudoers, sample.syslog.conf, sudoers:
8359         Add $Sudo$ tags.
8360         [6f3fedb0daba]
8361
8362         * config.h.in:
8363         Add missing HAVE_LINUX_SYSTRACE_H
8364         [ff75ab7bfc53]
8365
8366         * Makefile.in:
8367         add trace_systrace.o dependency
8368         [88a408668ab2]
8369
8370 2004-09-30  Todd C. Miller  <Todd.Miller@courtesan.com>
8371
8372         * configure, configure.in:
8373         Also look for systrace.h in /usr/include/linux
8374         [98b98b436cf3]
8375
8376         * mon_systrace.c, mon_systrace.h:
8377         Move all struct defs and prototypes into trace_systrace.h and mark
8378         all but systace_attach() static.
8379         [85511253b570]
8380
8381         * mon_systrace.c, mon_systrace.h:
8382         Add support for tracing emulations. At the moment, all emulations
8383         are compiled in. It might make sense to #ifdef them in the future,
8384         though this impeeds readability.
8385         [87bb50abf277]
8386
8387         * Makefile.in, configure, configure.in:
8388         rename systrace.c -> trace_systrace.c
8389         [31cfa4407d93]
8390
8391         * parse.yacc, sudo.tab.c:
8392         Allow this to build with a K&R compiler again
8393         [32876af5bb98]
8394
8395         * TODO:
8396         sync
8397         [46865bd70f7c]
8398
8399         * compat.h, sudo.c, visudo.c:
8400         Use __attribute__((__noreturn__))
8401         [65bbad71fe89]
8402
8403         * visudo.c:
8404         Exit() takes a negative value to indicate it was not called via
8405         signal.
8406         [b93032ed7b60]
8407
8408         * sudo.cat, sudo.man.in, sudoers.cat, sudoers.man.in, visudo.cat,
8409         visudo.man.in:
8410         regen
8411         [45bcf4661558]
8412
8413         * Makefile.in, visudo.c:
8414         Define Err() and Errx() that are like err() and errx() but call
8415         Exit() instead of exit(). Build private copy of alloc.o for visudo
8416         that calls Err() and Errx().
8417         [c6d02bf42edd]
8418
8419 2004-09-29  Todd C. Miller  <Todd.Miller@courtesan.com>
8420
8421         * lex.yy.c, sudo.tab.c:
8422         regen
8423         [39de7e7c59da]
8424
8425         * CHANGES:
8426         sync
8427         [ba481d9ed1aa]
8428
8429         * visudo.c:
8430         Overhaul visudo for editing multiple files: o visudo has been
8431         broken out into functions (more work needed here) o each file is
8432         now edited before sudoers is re-parsed o if a #include line is
8433         added that file will be edited too
8434
8435         TODO: o cleanup temp files when exiting via err() or errx() o
8436         continue breaking things out into separate functions
8437         [80c35cf534eb]
8438
8439         * parse.lex, sudo.c, sudo.h, testsudoers.c, visudo.c:
8440         Add keepopen arg to open_sudoers that open_sudoers can use to
8441         indicate to the caller that the fd should not be closed when it is
8442         done with it. To be used by visudo to keep locked fds from being
8443         closed prematurely (and thus losing the lock).
8444         [f330fe632470]
8445
8446         * parse.yacc, sudo.c:
8447         Add errorfile global that contains the name of the file that caused
8448         the error.
8449         [98079c7a37ed]
8450
8451         * parse.lex:
8452         return COMMENT to yacc grammar for a #include line
8453         [2024a8de4fa8]
8454
8455         * parse.lex:
8456         Remove us of unput() in favor of yyless() which is cheaper.
8457         [c61291902beb]
8458
8459         * parse.yacc:
8460         Allow an empty sudoers file.
8461         [62fb111db2e7]
8462
8463 2004-09-28  Todd C. Miller  <Todd.Miller@courtesan.com>
8464
8465         * mon_systrace.c:
8466         Rewind sudoers_fp now that sudoers_lookup() doesn't do it for us.
8467         [9e15869ef597]
8468
8469         * lex.yy.c, sudo.tab.c:
8470         regen
8471         [c29bdd43bfad]
8472
8473         * visudo.c:
8474         Do signal setup before calling edit_sudoers(). Don't shadow the
8475         "quiet" global.
8476         [74252efd09ff]
8477
8478         * visudo.c:
8479         If a sudoers file includes other files, edit those too. Does not yes
8480         deal with creating the new includes files itself.
8481         [06af7b9c173f]
8482
8483         * testsudoers.c:
8484         init_parser now takes a path
8485         [b5ee186eb192]
8486
8487         * parse.c, parse.h, parse.lex, parse.yacc:
8488         More scaffolding for dealing with multiple sudoers files: o
8489         init_parser() now takes a path used to populate the sudoers global
8490         o the sudoers global is used to print the correct file in yyerror()
8491         o when switching to a new sudoers file, perserve old file name and
8492         line number
8493         [d9be4970b8bd]
8494
8495         * Makefile.in, pathnames.h.in:
8496         Kill _PATH_SUDOERS_TMP; it is not meaningful now that we can have
8497         multiple sudoers files.
8498         [6ccc4e921c43]
8499
8500         * parse.c, sudo.c:
8501         Rewind sudoers_fp in open_sudoers() instead of sudoers_lookup() so
8502         we start at the right file position when reading include files.
8503         [91fcb961e7a4]
8504
8505         * sudoers.pod:
8506         document #include
8507         [fbb92a25a726]
8508
8509         * lex.yy.c:
8510         regen
8511         [50cd7a4c9dff]
8512
8513         * parse.lex:
8514         Add max depth of 128 for the include stack to avoid loops.
8515
8516         Since yyerror() doesn't stop parsing, pass return values back to
8517         yylex and call yyterminate() on error.
8518         [e79dbffb729d]
8519
8520 2004-09-27  Todd C. Miller  <Todd.Miller@courtesan.com>
8521
8522         * sudoers.pod:
8523         document tracing
8524         [165a467eadd8]
8525
8526         * sudo.pod:
8527         Mention PREVENTING SHELL ESCAPES section of sudoers man page
8528         [3217ccecd834]
8529
8530         * lex.yy.c, sudo.tab.c:
8531         regen
8532         [fbd58d1d3a76]
8533
8534         * parse.lex:
8535         Add support for #include in sudoers (visudo support TBD)
8536         [a78015ca81af]
8537
8538         * parse.yacc:
8539         make yyerror()'s argument const
8540         [7d8e168c019a]
8541
8542         * testsudoers.c, visudo.c:
8543         Add open_sudoers() stubs.
8544         [087466787198]
8545
8546         * sudo.c, sudo.h:
8547         Rename check_sudoers() open_sudoers() and make it return a FILE *
8548         [142fc511fc65]
8549
8550 2004-09-26  Todd C. Miller  <Todd.Miller@courtesan.com>
8551
8552         * BUGS, INSTALL, INSTALL.binary, Makefile.in, README, configure.in,
8553         version.h:
8554         Crank version
8555         [1adc3f839480]
8556
8557         * Makefile.in, sudo.psf:
8558         Better HP-UX depot construction
8559         [2d952b000e63]
8560
8561 2004-09-25  Todd C. Miller  <Todd.Miller@courtesan.com>
8562
8563         * mon_systrace.c:
8564         o Made children global so check_exec() can lookup a child. o
8565         Replaced uid in struct childinfo with struct passwd * (for runas) o
8566         new_child() now takes a parent pid so the runas info can be
8567         inherited o Added find_child() to lookup a child by its pid o
8568         update_child() now fills in a struct passwd o Converted the big
8569         if/else mess in set_policy to a switch o Syscalls that change uid
8570         are now "ask" so we get SYSTR_MSG_UGID events
8571         [29b9ea3f09a3]
8572
8573         * getspwuid.c:
8574         Add flag to sudo_pwdup that indicates whether or not to lookup the
8575         shadow password. Will be used to a struct passwd that has the
8576         shadow password already filled in.
8577         [e19d43dd7238]
8578
8579         * mon_systrace.c:
8580         add missing increment of addr in read_string()
8581         [f9eb0f060cb6]
8582
8583         * mon_systrace.c:
8584         Remove bogus call to update_child() and some cosmetic fixes
8585         [701ab0b97fef]
8586
8587         * mon_systrace.c:
8588         Don't leak /dev/systrace fd to tracee Make initialized global for
8589         simplicity If STRIOCATTACH returns EBUSY we are already being traced
8590         Check for user_args == NULL in setproctitle() call Add missing calls
8591         to STRIOCANSWER
8592         [1956edf9bc3a]
8593
8594         * sudo.c:
8595         g/c sudo_pwdup proto
8596         [b7c4d6249ecb]
8597
8598         * Makefile.in, sudo.psf:
8599         Add target for building a depot file
8600         [357019efd99b]
8601
8602         * mon_systrace.c:
8603         trim includes
8604         [501534428471]
8605
8606 2004-09-24  Todd C. Miller  <Todd.Miller@courtesan.com>
8607
8608         * lex.yy.c, sudo.tab.c, sudo.tab.h:
8609         regen
8610         [52fd250c6986]
8611
8612         * INSTALL:
8613         document --with-systrace
8614         [79623927c94e]
8615
8616         * config.h.in, configure, configure.in:
8617         Add check for setproctitle
8618         [1730cf1c26ed]
8619
8620         * mon_systrace.c:
8621         pass struct str_msg_ask in to syscall checker so it can set the
8622         error code
8623         [1703fd2fdef6]
8624
8625         * mon_systrace.c:
8626         systrace(4) support for sudo. On systems with the systrace(4)
8627         kernel facility (OpenBSD, NetBSD, Linux w/ patches) sudo can
8628         intercept exec calls and check the exec args against the sudoers
8629         file. In other words, sudo can now control subcommands and shell
8630         escapes.
8631         [928c9217c386]
8632
8633         * sudo.c, sudo.h:
8634         Call systrace_attach() if FLAG_TRACE is set.
8635         [014ba9402fa5]
8636
8637         * parse.c, parse.h, parse.lex, parse.yacc, sudo.h:
8638         Add trace Defaults option and TRACE/NOTRACE tags and set FLAG_TRACE
8639         [a99904db5e56]
8640
8641         * parse.c, sudo.c:
8642         Don't close sudoers_fp, keep it open and set close on exec flag
8643         instead.
8644         [43a9fec60bee]
8645
8646         * def_data.c, def_data.h, def_data.in:
8647         Add trace option
8648         [5b643b86730a]
8649
8650         * Makefile.in:
8651         Add systrace
8652         [47a0519c427c]
8653
8654         * INSTALL:
8655         SunOS /bin/sh blows up with configure
8656         [005a23cc5615]
8657
8658         * configure, configure.in:
8659         Include sys/param.h before systrace.h
8660         [9345bc8efecf]
8661
8662         * configure:
8663         regen
8664         [a8f53fcbb254]
8665
8666         * pathnames.h.in:
8667         _PATH_DEV_SYSTRACE
8668         [d2ad1e492a00]
8669
8670         * configure.in:
8671         line up options in --help
8672         [fa51f2821d09]
8673
8674         * config.h.in, configure.in:
8675         Add --with-systrace
8676         [a264d54bc413]
8677
8678 2004-09-23  Todd C. Miller  <Todd.Miller@courtesan.com>
8679
8680         * configure:
8681         regen
8682         [a4dad0bcc523]
8683
8684         * aclocal.m4, configure.in:
8685         make this work with autoconf-2.59
8686         [c4a92b6a684a]
8687
8688 2004-09-16  Todd C. Miller  <Todd.Miller@courtesan.com>
8689
8690         * sudo_edit.c:
8691         Simplify logic around open & stat of files and do sanity on edited
8692         file even if we lack fstat (still racable but worth doing).
8693         [adda65ade70c]
8694
8695 2004-09-15  Todd C. Miller  <Todd.Miller@courtesan.com>
8696
8697         * HISTORY:
8698         Add support url
8699         [bf6590fbde9f]
8700
8701         * Makefile.in:
8702         versino 1.6.8p1
8703         [b84ebfaf1552] [SUDO_1_6_8p1]
8704
8705         * CHANGES:
8706         more changes for 1.6.8p1
8707         [e23a9c0393b6]
8708
8709         * version.h:
8710         1.6.8p1
8711         [872f14504b5f]
8712
8713         * CHANGES, sudo_edit.c:
8714         Add sanity check so we don't try to edit something other than a
8715         regular file.
8716         [350134ec6d4e]
8717
8718 2004-09-15  Aaron Spangler  <aaron777@gmail.com>
8719
8720         * CHANGES:
8721         sync
8722         [3091ca9eae00]
8723
8724         * INSTALL:
8725         document --with-ldap-conf-file
8726         [0e2cd6b896f1]
8727
8728 2004-09-14  Todd C. Miller  <Todd.Miller@courtesan.com>
8729
8730         * CHANGES, ins_csops.h:
8731         political correctness strikes again
8732         [428e8bc77f55]
8733
8734         * RUNSON:
8735         sync
8736         [27f44bd423dc]
8737
8738 2004-09-12  Todd C. Miller  <Todd.Miller@courtesan.com>
8739
8740         * Makefile.binary.in, Makefile.in:
8741         Install sudoedit man link
8742         [19a55234fc1f]
8743
8744         * INSTALL:
8745         Update PAM note and mention where HP-UX users can download gcc
8746         binaries.
8747         [d37cdbbabfd4]
8748
8749         * Makefile.in:
8750         libtool wants to install stuff from .libs so fake one up for binary
8751         installations.
8752         [a681bc6fcfba]
8753
8754         * Makefile.binary.in:
8755         rm -f old sudoedit link instead of using ln -f set LIBTOOL correctly
8756         [3e0c4b3372cc]
8757
8758         * Makefile.in:
8759         Deal with "uname -m" having slashes in it rm -f old sudoedit link
8760         instead of using ln -f
8761         [cff33fb97e5b]
8762
8763         * Makefile.binary, Makefile.binary.in:
8764         Makefile.binary -> Makefile.binary.in for config.status substitution
8765         Add support for installing noexec bits
8766         [37d8bb3483c6]
8767
8768         * Makefile.in:
8769         Copy noexec bits into binary dists too No longer use my old arch
8770         script for making binary dists
8771         [e7058bab9e33]
8772
8773         * Makefile.binary:
8774         Install sudoedit link.
8775         [417d1e101711]
8776
8777 2004-09-11  Todd C. Miller  <Todd.Miller@courtesan.com>
8778
8779         * emul/utime.h:
8780         avoid __P so there is no need for compat.h to be included
8781         [6d8d1f1abf7d]
8782
8783         * utimes.c:
8784         Don't use HAVE_UTIME_H before including config.h.
8785         [013b7bb61181]
8786
8787 2004-09-10  Todd C. Miller  <Todd.Miller@courtesan.com>
8788
8789         * compat.h:
8790         Fix Solatis futimes macro
8791         [d4eda2ca0d29]
8792
8793 2004-09-09  Todd C. Miller  <Todd.Miller@courtesan.com>
8794
8795         * sudo_edit.c:
8796         Rename ots -> omtim for improved readability.
8797         [127ca5bb297c]
8798
8799 2004-09-08  Todd C. Miller  <Todd.Miller@courtesan.com>
8800
8801         * sudo_edit.c:
8802         Redo changes in revision 1.7. Don't really need to keep the temp
8803         file open; re-opening it with the invoking user's euid is
8804         sufficient.
8805         [55a883165a95]
8806
8807         * CHANGES:
8808         sync
8809         [9015b291170d]
8810
8811         * sudo.cat, sudo.man.in:
8812         regen
8813         [c0313f6ed783]
8814
8815         * sudo.pod:
8816         back out revision 1.70; it is no long applicable
8817         [b641d503aff6]
8818
8819         * env.c:
8820         Let the loader initialize nep
8821         [bec192139b02]
8822
8823         * config.h.in, configure, configure.in:
8824         Removed unneed check for fchown Add check for gettimeofday Move
8825         autoheader template stuff into separate AH_TEMPLATE lines
8826         [bfc0edbd43f2]
8827
8828         * check.c, compat.h, fileops.c, sudo.h, sudo_edit.c, visudo.c:
8829         Use timespec throughout.
8830         [1a178a23b69b]
8831
8832         * Makefile.in:
8833         gettime.[co]
8834         [6aeb48a7ab7f]
8835
8836         * gettime.c:
8837         function to return the current time in a struct timespec
8838         [bf8eb12cb63f]
8839
8840         * utimes.c:
8841         Not a darpa-sponsored file.
8842         [121ce5e2036c]
8843
8844 2004-09-07  Todd C. Miller  <Todd.Miller@courtesan.com>
8845
8846         * compat.h, config.h.in, configure, configure.in:
8847         Add a check for struct timespec and provide it for those without.
8848         [42124055030d]
8849
8850         * config.h.in, configure, configure.in, sudo_edit.c:
8851         Add checks for st_mtim and st_mtimespec and add macros for pulling
8852         the mtime sec and nsec out of struct stat. These are used in
8853         sudo_edit() to better tell whether or not the file has changed.
8854         [23debfbb3fab]
8855
8856         * check.c, fileops.c, sudo.h, sudo_edit.c, visudo.c:
8857         Add an extra param to touch() for nsec
8858         [56f7a4ba8ddb]
8859
8860         * sudo_edit.c:
8861         Call mkstemp() as the in invoking user so we don't have to chown the
8862         file later. Only touch() the temp file if we can do it via the file
8863         descriptor. Don't check for modification of the temp file if we lack
8864         fstat(). Catch errors read()ing the temp file.
8865         [665f52c70836]
8866
8867         * fileops.c:
8868         If path is NULL and fd == -1 return -1.
8869         [757a518a824c]
8870
8871         * sudo_edit.c:
8872         closefrom() is overkill, the only extra fds are the ones we opened
8873         so just close those in the child.
8874         [f361c9d2a1f4]
8875
8876         * Makefile.in, aclocal.m4, check.c, compat.h, config.h.in, configure,
8877         configure.in, fileops.c, sudo.h, sudo_edit.c, utime.c, utimes.c,
8878         visudo.c:
8879         Use utimes() and futimes() instead of utime() in touch(), emulating
8880         as needed. Not all systems are able to support setting the times of
8881         an fd so touch() takes both an fd and a file name as arguments.
8882         [3d9276f29717]
8883
8884 2004-09-07  Aaron Spangler  <aaron777@gmail.com>
8885
8886         * env.c:
8887         Rare SEGV
8888         [8995f828782d]
8889
8890 2004-09-06  Todd C. Miller  <Todd.Miller@courtesan.com>
8891
8892         * sudo.cat, sudo.man.in, sudoers.cat, sudoers.man.in, visudo.cat,
8893         visudo.man.in:
8894         regen
8895         [b8e9406711c5]
8896
8897         * sudo.pod, sudoers.pod, visudo.pod:
8898         Add SUPPORT section and re-order some of the sections to match the
8899         order we use in OpenBSD.
8900         [fa37bd917e2c]
8901
8902 2004-09-06  Aaron Spangler  <aaron777@gmail.com>
8903
8904         * env.c:
8905         Openldap ~/.ldaprc fix
8906         [1a37afe6850f]
8907
8908 2004-09-06  Todd C. Miller  <Todd.Miller@courtesan.com>
8909
8910         * sudo.pod:
8911         Talk about how the editor must write its changes to the original
8912         file and not just use rename(2).
8913         [c55ed91c5ee9]
8914
8915         * CHANGES:
8916         sync
8917         [62af26bd37a2]
8918
8919         * sudo_edit.c:
8920         Keep the temp file open instead of re-opening after the editor has
8921         exited.
8922         [de41eeb6dcf2]
8923
8924         * sample.pam:
8925         Update for current redhat/fedora core.
8926         [8cf083077333]
8927
8928 2004-09-03  Aaron Spangler  <aaron777@gmail.com>
8929
8930         * README.LDAP:
8931         tls_ examples
8932         [ba783d88a034]
8933
8934 2004-09-02  Aaron Spangler  <aaron777@gmail.com>
8935
8936         * ldap.c:
8937         config tls_* options
8938         [0b0e0797b3b9]
8939
8940 2004-08-29  Todd C. Miller  <Todd.Miller@courtesan.com>
8941
8942         * configure, configure.in:
8943         No need for -lcrypt when using pam.
8944         [41fff3a53e68]
8945
8946 2004-08-27  Todd C. Miller  <Todd.Miller@courtesan.com>
8947
8948         * configure:
8949         regen
8950         [75820aecce2c]
8951
8952 2004-08-27  Aaron Spangler  <aaron777@gmail.com>
8953
8954         * configure.in, ldap.c, pathnames.h.in:
8955         Allow --with-ldap-conf-file option to override LDAP_CONF
8956         [c9909bc484a5]
8957
8958         * ldap.c:
8959         cleanup debug message
8960         [1f6ca4824d8d]
8961
8962 2004-08-26  Aaron Spangler  <aaron777@gmail.com>
8963
8964         * README.LDAP:
8965         more config info
8966         [f2e7147fd507]
8967
8968 2004-08-24  Todd C. Miller  <Todd.Miller@courtesan.com>
8969
8970         * TODO, find_path.c, goodpath.c, parse.c, sudo.c, sudo.h, visudo.c:
8971         Add cmnd_base to struct sudo_user and set it in init_vars(). Add
8972         cmnd_stat to struct sudo_user and set it in sudo_goodpath(). No
8973         longer use gross statics in command_matches(). Also rename some
8974         variables for improved clarity.
8975         [7169a6c7bea4]
8976
8977 2004-08-21  Todd C. Miller  <Todd.Miller@courtesan.com>
8978
8979         * INSTALL:
8980         document HP's crippled compiler deficiency.
8981         [c405ea5a8d4c]
8982
8983         * INSTALL:
8984         Fix some thinkos in --with-editor and --with-env-editor
8985         descriptions. Noticed by Norihiko Murase.
8986         [dd781de1c985]
8987
8988         * configure, configure.in:
8989         --with-noexec takes an optional PATH argument.
8990         [8f6ab77f22cc]
8991
8992         * INSTALL:
8993         document --with-noexec
8994         [50cb1fc627ce]
8995
8996 2004-08-17  Todd C. Miller  <Todd.Miller@courtesan.com>
8997
8998         * RUNSON, TODO:
8999         sync
9000         [f2503bd13373] [SUDO_1_6_8]
9001
9002         * sudo_edit.c:
9003         Better warning message when sudoedit is unable to write to the
9004         destination file.
9005         [f78c18f2ffa8]
9006
9007         * sudo.cat, sudo.man.in:
9008         regen
9009         [7e2bf63d6d9a]
9010
9011         * sudo.pod:
9012         Don't italicize the string "sudoedit"
9013         [c691643bd269]
9014
9015 2004-08-16  Todd C. Miller  <Todd.Miller@courtesan.com>
9016
9017         * HISTORY:
9018         Mention GratiSoft.
9019         [dc53de581b2d]
9020
9021 2004-08-11  Todd C. Miller  <Todd.Miller@courtesan.com>
9022
9023         * sudo.tab.c:
9024         regen
9025         [8ae0484dfc38]
9026
9027         * parse.yacc:
9028         Reset used_runas to FALSE when re-intializing the parser.
9029         [b7403f353a02]
9030
9031 2004-08-09  Todd C. Miller  <Todd.Miller@courtesan.com>
9032
9033         * config.guess:
9034         Correct OpenBSD mips support
9035         [314fc7afc165]
9036
9037         * config.guess:
9038         Add OpenBSD/mips
9039         [ac87d0a773ef]
9040
9041 2004-08-07  Aaron Spangler  <aaron777@gmail.com>
9042
9043         * README.LDAP:
9044         More behavior notes
9045         [13be1d212b47]
9046
9047         * README.LDAP:
9048         Updates on current behavior
9049         [d498a8866d6f]
9050
9051 2004-08-06  Todd C. Miller  <Todd.Miller@courtesan.com>
9052
9053         * sudoers.pod:
9054         =back does not take an indentlevel (makes no difference to formatted
9055         files).
9056         [9c8523bb382a]
9057
9058         * sudo.pod:
9059         =back does not take an indentlevel (makes no difference to formatted
9060         files).
9061         [e5f479e24fa8]
9062
9063         * CHANGES:
9064         new
9065         [2dbd9aba8b33]
9066
9067         * sudo.c:
9068         Consistency. Use same error for bad -u #uid when targetpw is set as
9069         we do when a bad -u username is specified.
9070         [922961c4a9d6]
9071
9072         * TODO:
9073         Add checksum idea from Steve Mancini
9074         [e6ece1b766ba]
9075
9076         * sudoers.cat, sudoers.man.in:
9077         regen
9078         [370d2317829f]
9079
9080         * sudo.cat, sudo.man.in:
9081         regen
9082         [f93d41fc38b1]
9083
9084         * sudo.pod, sudoers.pod:
9085         Document the restriction on uids specified via -u when targetpw is
9086         set.
9087         [878fedb455db]
9088
9089         * sudo.c:
9090         Error out when targetpw is enabled and sudo is run with -u #uid but
9091         #uid does not exist in the passwd database. We can't do target
9092         authentication when the target is not in passwd!
9093         [27c5888c86eb]
9094
9095         * sudo.cat, sudo.man.in, sudoers.cat, sudoers.man.in:
9096         regen
9097         [ceb65711050c]
9098
9099         * TODO:
9100         Some more todo for the next release.
9101         [7b7417be7601]
9102
9103         * INSTALL:
9104         Make it clear that PAM should be used for DCE support when possible.
9105         [7502029fd385]
9106
9107         * sudoers.pod:
9108         o Document problems with wildcards and relative paths. o Make the
9109         order requirements more prominent. o Change a "set" to "reset" for
9110         clarity.
9111         [bacdd181b33f]
9112
9113 2004-08-05  Todd C. Miller  <Todd.Miller@courtesan.com>
9114
9115         * sudo.pod:
9116         Mention --with-secure-path, not SECURE_PATH.
9117         [41283ddde5e1]
9118
9119 2004-08-03  Aaron Spangler  <aaron777@gmail.com>
9120
9121         * ldap.c:
9122         reflect changes to parse.c
9123         [8880fe9b724d]
9124
9125 2004-08-02  Todd C. Miller  <Todd.Miller@courtesan.com>
9126
9127         * sudo.tab.c:
9128         regen
9129         [a57658ca9177]
9130
9131         * parse.c, parse.h, testsudoers.c, visudo.c:
9132         Don't pass user_cmnd and user_args to command_matches(), just use
9133         the globals there. Since we keep state with statics anyway it is
9134         misleading to pretend that passing in different cmnd and cmnd_args
9135         will work.
9136         [0a2544991fd6]
9137
9138         * parse.yacc:
9139         Don't pass user_cmnd and user_args to command_matches(), just use
9140         the globals there. Since we keep state with statics anyway it is
9141         misleading to pretend that passing in different cmnd and cmnd_args
9142         will work.
9143         [a4910bf6032b]
9144
9145         * parse.c:
9146         Fix a bug introduced in rev. 1.149. When checking for pseudo-
9147         commands check for a '/' anywhere in cmnd, not just the first
9148         character.
9149         [ce98142f03ca]
9150
9151 2004-07-31  Aaron Spangler  <aaron777@gmail.com>
9152
9153         * sudo.man.in, sudo.pod:
9154         Clarification thanks to Olivier Blin <oblin@mandrakesoft.com>
9155         [a91800e094b1]
9156
9157         * sudoers.man.in, sudoers.pod:
9158         Add ignore_local_sudoers
9159         [741ddcbf7083]
9160
9161         * README.LDAP:
9162         Sun One schema definition by Andreas.Bussjaeger@t-systems.com and
9163         janth@moldung.no
9164         [742c02e07cd9]
9165
9166 2004-07-29  Todd C. Miller  <Todd.Miller@courtesan.com>
9167
9168         * CHANGES:
9169         typo
9170         [e7cdefbd7a9a]
9171
9172 2004-07-23  Todd C. Miller  <Todd.Miller@courtesan.com>
9173
9174         * CHANGES:
9175         sync
9176         [734dafc4a85e]
9177
9178         * parse.c:
9179         Parse sudoers file as PERM_RUNAS not PERM_ROOT and remove a useless
9180         PERM_SUDOERS. Restore to PERM_ROOT upon exit of the parse.
9181         [151b7f593568]
9182
9183 2004-07-08  Todd C. Miller  <Todd.Miller@courtesan.com>
9184
9185         * CHANGES:
9186         PAM change
9187         [d8fb6d6a22d0]
9188
9189 2004-07-08  Aaron Spangler  <aaron777@gmail.com>
9190
9191         * ldap.c:
9192         Better debugging of ALL command
9193         [9db3e84029dc]
9194
9195 2004-07-08  Todd C. Miller  <Todd.Miller@courtesan.com>
9196
9197         * parse.c:
9198         When matching for "sudoedit" in sudoers check both the command the
9199         user typed *and* the command that is listed in the sudoers entry.
9200         [f36ca1f94095]
9201
9202 2004-07-04  Aaron Spangler  <aaron777@gmail.com>
9203
9204         * ldap.c:
9205         Added !command feature
9206         [ed539574611b]
9207
9208 2004-06-28  Todd C. Miller  <Todd.Miller@courtesan.com>
9209
9210         * auth/pam.c:
9211         Use pam_acct_mgmt() to check for disabled accounts; Brian Farrell
9212         [2be8e0e8813a]
9213
9214 2004-06-11  Todd C. Miller  <Todd.Miller@courtesan.com>
9215
9216         * LICENSE:
9217         License is ISC-style, not BSD-style
9218         [ac0589e1dd5d]
9219
9220         * CHANGES:
9221         sync
9222         [16058a30f404]
9223
9224 2004-06-10  Todd C. Miller  <Todd.Miller@courtesan.com>
9225
9226         * sudo.cat, sudo.man.in:
9227         regen
9228         [8820eb9c809b]
9229
9230         * sudo.pod:
9231         o Update some out of date bits to reality o Change the shell promt
9232         in examples to bourne-shell style o Clarify some details o Add a
9233         CAVEAT about "sudo cd /foo"
9234         [b0af373214b6]
9235
9236         * check.c:
9237         Don't ask for a password if invoking user == target user.
9238         [dd5c96141132]
9239
9240         * sudo.c:
9241         typo in comment
9242         [278d20f9b249]
9243
9244 2004-06-08  Todd C. Miller  <Todd.Miller@courtesan.com>
9245
9246         * sudoers.cat, sudoers.man.in:
9247         regen
9248         [9036c6f39eff]
9249
9250         * sudoers.pod:
9251         Expand on NOEXEC a little.
9252         [9a13756aebe4]
9253
9254         * TODO:
9255         sync
9256         [8d2c1af48de8]
9257
9258         * visudo.cat, visudo.man.in:
9259         regen
9260         [3921f01607c8]
9261
9262         * sudo.tab.c:
9263         regen
9264         [9338c3d68250]
9265
9266         * visudo.pod:
9267         Add a check in visudo for runas_default being set after it has
9268         already been used.
9269         [6700358d7ad8]
9270
9271         * CHANGES, parse.yacc, visudo.c:
9272         Add a check in visudo for runas_default being set after it has
9273         already been used.
9274         [803560986a8a]
9275
9276         * sudo.tab.c:
9277         regen
9278         [b60636e2cf63]
9279
9280         * parse.yacc:
9281         Add a MATCHED macro for testing whether foo_matches has been set to
9282         TRUE or FALSE. This is more readable than checking for >=0 or < 0.
9283         Doesn't change the actual code generated.
9284         [f376da8ccdc8]
9285
9286 2004-06-07  Todd C. Miller  <Todd.Miller@courtesan.com>
9287
9288         * sudoers.cat:
9289         regen
9290         [6cceb6d6c9bd]
9291
9292         * sudoers.man.in:
9293         regen
9294         [5acd12b730b3]
9295
9296         * sudoers.pod:
9297         Correct description of where Defaults specs should go.
9298         [6b11ff53d7ad]
9299
9300         * sudoers:
9301         Correct description of where Defaults specs should go.
9302         [868db857630d]
9303
9304         * testsudoers.c, visudo.c:
9305         update (c) year
9306         [272c8a53604c]
9307
9308         * logging.h:
9309         update (c) year
9310         [3cec76d400ce]
9311
9312         * ldap.c:
9313         update (c) year
9314         [f264632488a0]
9315
9316         * find_path.c:
9317         update (c) year
9318         [40c227af9227]
9319
9320         * auth/pam.c:
9321         update (c) year
9322         [87149e0eed50]
9323
9324         * auth/bsdauth.c, auth/kerb5.c:
9325         update (c) year
9326         [d72eb434c068]
9327
9328 2004-06-06  Todd C. Miller  <Todd.Miller@courtesan.com>
9329
9330         * sudo.tab.c:
9331         regen
9332         [83408d9e9d2e]
9333
9334         * auth/bsdauth.c, auth/kerb5.c, auth/pam.c, visudo.c:
9335         Remove trailing spaces, no actual code changes.
9336         [4c3bf2819293]
9337
9338         * tgetpass.c:
9339         Remove trailing spaces, no actual code changes.
9340         [96f6e0a24c26]
9341
9342         * ldap.c, logging.h, parse.c, parse.yacc, sudo.c, testsudoers.c:
9343         Remove trailing spaces, no actual code changes.
9344         [c7075d1cbed5]
9345
9346         * getcwd.c:
9347         Remove trailing spaces, no actual code changes.
9348         [776cc0374547]
9349
9350         * find_path.c:
9351         Remove trailing spaces, no actual code changes.
9352         [7ed7099f3c71]
9353
9354         * compat.h, defaults.c, env.c:
9355         Remove trailing spaces, no actual code changes.
9356         [893e83c33795]
9357
9358         * check.c:
9359         Remove trailing spaces, no actual code changes.
9360         [f77750f8803b]
9361
9362         * sudo.tab.c:
9363         regen
9364         [62e0ed883b31]
9365
9366         * parse.yacc:
9367         Fix a >=0 that should be <0 that was improperly converted when
9368         UNSPEC was added.
9369         [ad1531a55a49]
9370
9371         * parse.yacc:
9372         Add do {} while(0) around pop macro Set cmnd_matches to UNSPEC, not
9373         NOMATCH when resetting it.
9374         [ae017a12870a]
9375
9376         * parse.yacc:
9377         Fix pastos introduced in SETNMATCH addition.
9378         [6ea1c9d80681]
9379
9380 2004-06-05  Todd C. Miller  <Todd.Miller@courtesan.com>
9381
9382         * README.LDAP:
9383         Update for configure changes
9384         [637a635da287]
9385
9386         * sudo.tab.c:
9387         regen
9388         [4753c2788713]
9389
9390         * sudo.h:
9391         Add NOMATCH and UNSPEC defines (-1 and -2 respectively) and use
9392         these in parse.yacc. Also in parse.yacc initialize the *_matches
9393         vars to UNSPEC and add two macros, SETMATCH and SETNMATCH for use
9394         when setting *_matches to a value that may be
9395         NOMATCH/UNSPEC/TRUE/FALSE.
9396         [2ba622e15a4d]
9397
9398         * parse.yacc:
9399         Add NOMATCH and UNSPEC defines (-1 and -2 respectively) and use
9400         these in parse.yacc. Also in parse.yacc initialize the *_matches
9401         vars to UNSPEC and add two macros, SETMATCH and SETNMATCH for use
9402         when setting *_matches to a value that may be
9403         NOMATCH/UNSPEC/TRUE/FALSE.
9404         [746b519e41a6]
9405
9406         * parse.yacc:
9407         Initialize runas to -2, not -1 since we need to be able to
9408         distinguish between the initialized value and the value of a non-
9409         match when passing along the runas value to multiple commands.
9410
9411         The result of this is that an unmatched runas is now set to -1, not
9412         0. This is required now that parse.c treats a FALSE value for runas
9413         as being explicitly denied.
9414         [7791ed3621f6]
9415
9416 2004-06-03  Todd C. Miller  <Todd.Miller@courtesan.com>
9417
9418         * sudo.c, visudo.c:
9419         Error out if argc < 1.
9420         [ce6b2a9eda3c]
9421
9422         * getprogname.c:
9423         Error out if argc < 1.
9424         [c566cce8dc78]
9425
9426         * configure, configure.in:
9427         Add tests for what libs we need to link with for ldap and for
9428         whether or not lber.h needs to be explicitly included.
9429         [b2e9729cc4e7]
9430
9431 2004-06-03  Aaron Spangler  <aaron777@gmail.com>
9432
9433         * ldap.c:
9434         Solaris native LDAP build fix
9435         [39929e40eb11]
9436
9437 2004-06-01  Todd C. Miller  <Todd.Miller@courtesan.com>
9438
9439         * ldap.c:
9440         Set edn to NULL is ldap_get_dn() fails to avoid potential use of an
9441         unset variable.
9442         [6a4c20a66f98]
9443
9444         * sudo.h:
9445         Add prototype for sudo_ldap_list_matches
9446         [443b007a8dab]
9447
9448         * configure, configure.in:
9449         Better check for dirfd macro--we now set HAVE_DIRFD for the macro
9450         version too. Added check for dd_fd in `DIR' if no dirfd is found;
9451         this is now used to confitionally define the dirfd macro in
9452         compat.h.
9453         [567656978f7e]
9454
9455         * config.h.in:
9456         Better check for dirfd macro--we now set HAVE_DIRFD for the macro
9457         version too. Added check for dd_fd in `DIR' if no dirfd is found;
9458         this is now used to confitionally define the dirfd macro in
9459         compat.h.
9460         [34eace4faec8]
9461
9462         * compat.h:
9463         Better check for dirfd macro--we now set HAVE_DIRFD for the macro
9464         version too. Added check for dd_fd in `DIR' if no dirfd is found;
9465         this is now used to confitionally define the dirfd macro in
9466         compat.h.
9467         [8d50ff1bbf2a]
9468
9469         * closefrom.c:
9470         Only check /proc/$$/fd if we have the dirfd function/macro.
9471         [15e3ccce7553]
9472
9473         * compat.h, config.h.in, configure, configure.in:
9474         Add a check for a dirfd() function (like Linux) and add a dirfd
9475         macro in compat.h if there is no dirfd() function or macro.
9476         [1e95756edb50]
9477
9478         * closefrom.c, getcwd.c:
9479         dirfd() is now defined in compat.h as needed.
9480         [bb1d79271188]
9481
9482         * CHANGES:
9483         Clarify closefrom() note.
9484         [f4e4a5508dda]
9485
9486         * parse.c:
9487         When checking for a command in the directory, only copy the base dir
9488         once.
9489         [7a3276808b87]
9490
9491         * closefrom.c:
9492         If there is a /proc/$$/fd directory, behave like the Solaris
9493         closefrom() and only close the descriptors listed therein.
9494         [19de23779e84]
9495
9496         * alloc.c:
9497         compat.h guarantees INT_MAX is defined.
9498         [1bf0c79d4606]
9499
9500         * compat.h:
9501         Add definitions of OPEN_MAX and INT_MAX for those without it and
9502         remove definition of RLIM_INFINITY (now unused).
9503         [f827d1ebf96e]
9504
9505         * CHANGES, alloc.c, check.c, compat.h, find_path.c, getcwd.c, parse.c,
9506         sudo.c, sudo.h, visudo.c:
9507         Use PATH_MAX, not MAXPATHLEN since the former is standardized.
9508         [59788f211c24]
9509
9510 2004-05-31  Todd C. Miller  <Todd.Miller@courtesan.com>
9511
9512         * CHANGES:
9513         sync
9514         [d32fa124f1ad]
9515
9516         * RUNSON:
9517         Add some entries that were mailed in a while ago
9518         [ff8d5bfec54e]
9519
9520         * closefrom.c:
9521         o sysconf returns a long, not an int. o check for negative return
9522         value from sysconf/getdtablesize and use OPEN_MAX in this case. o
9523         define OPEN_MAX to 256 for those without it (a fair guess...)
9524         [ccf81ae6deb2]
9525
9526 2004-05-30  Todd C. Miller  <Todd.Miller@courtesan.com>
9527
9528         * UPGRADE:
9529         Mention change in parse order for RunAs entries.
9530         [dc73b0bca617]
9531
9532         * configure:
9533         regen
9534         [07cce8e0534e]
9535
9536 2004-05-29  Todd C. Miller  <Todd.Miller@courtesan.com>
9537
9538         * INSTALL, README.LDAP, config.h.in, configure.in:
9539         o --with-ldap now takes an optional dir as a parameter o added
9540         check for ldap_initialize() and start_tls_s()
9541         [2b846c7974c6]
9542
9543         * README.LDAP:
9544         Fix some typos, word choice and formatting issues.
9545         [00dc8ca84b10]
9546
9547 2004-05-28  Todd C. Miller  <Todd.Miller@courtesan.com>
9548
9549         * tgetpass.c:
9550         Use SA_INTERRUPT so SunOS works correctly, avoid stdio and just use
9551         read/write as it is simpler.
9552         [30f5446ee8b0]
9553
9554         * configure, configure.in:
9555         Remove hack overriding cross-compiler check. It should no longer be
9556         needed.
9557         [22a6cbd88608]
9558
9559         * compat.h:
9560         Remove select() compat bits since we no longer use select().
9561         [d7bbf7cd36f5]
9562
9563         * CHANGES, tgetpass.c:
9564         Use alarm() instead of select() for the timeout for systems that
9565         don't fully/properly implement select().
9566         [d7cc60f15800]
9567
9568 2004-05-27  Todd C. Miller  <Todd.Miller@courtesan.com>
9569
9570         * CHANGES:
9571         synbc
9572         [132a39788e07]
9573
9574         * RUNSON:
9575         update
9576         [61ef508380c6]
9577
9578         * set_perms.c:
9579         Deal with systems that have no way of setting the effective uid such
9580         as nsr-tandem-nsk.
9581         [306e00e9b5a4]
9582
9583         * configure, configure.in:
9584         Define NO_SAVED_IDS if we don't find seteuid()
9585         [8588f18345cf]
9586
9587         * config.h.in, configure, configure.in:
9588         Add back check for setreuid() since NSK doesn't have it.
9589         [43127bd703d1]
9590
9591         * sudoers.cat, sudoers.man.in:
9592         regen
9593         [af4f4b20e422]
9594
9595         * CHANGES:
9596         sync
9597         [29ca3b699c24]
9598
9599         * BUGS:
9600         sync
9601         [3593f17f72ed]
9602
9603         * parse.c:
9604         In sudoers_lookup() return VALIDATE_NOT_OK if the runas user was
9605         explicitly denied and the command matched. This fixes a long-
9606         standing bug and makes: foo machine = (ALL) /usr/bin/blah
9607         foo machine = (!bar) /usr/bin/blah
9608
9609         equivalent to: foo machine = (ALL, !bar) /usr/bin/blah
9610         [2f5ee244985a]
9611
9612         * sudoers.pod:
9613         Clarify mail_noperm
9614         [3238b2d41989]
9615
9616 2004-05-20  Aaron Spangler  <aaron777@gmail.com>
9617
9618         * Makefile.in:
9619         Missing DESTDIR in make install for sudo_noexec.la
9620         [91431e821525]
9621
9622 2004-05-17  Todd C. Miller  <Todd.Miller@courtesan.com>
9623
9624         * sudo.cat, sudo.man.in, sudoers.cat, sudoers.man.in, visudo.cat,
9625         visudo.man.in:
9626         regen
9627         [cdfde0dcb556]
9628
9629         * TODO:
9630         sync
9631         [4799b7d8b62c]
9632
9633         * sudoers.pod:
9634         Remove fastboot/fasthalt (who still remembers these?) and add a
9635         minimal sudoedit example.
9636         [19d299f233cd]
9637
9638         * sample.sudoers:
9639         Remove fastboot/fasthalt (who still remembers these?) and add a
9640         minimal sudoedit example.
9641         [b1bca73d6250]
9642
9643         * UPGRADE, sudo.c, visudo.c:
9644         filesystem -> file system
9645         [1e1afaf30469]
9646
9647         * TROUBLESHOOTING:
9648         filesystem -> file system
9649         [39fb594e9338]
9650
9651         * CHANGES, INSTALL:
9652         filesystem -> file system
9653         [85948b608ffe]
9654
9655         * sudo.pod, sudoers.pod:
9656         Fix some minor typos and formatting goofs
9657         [e94d243a0b90]
9658
9659         * lex.yy.c:
9660         regen
9661         [2eed0ab1f4c4]
9662
9663         * visudo.pod:
9664         remove my email addr
9665         [b63262c0389b]
9666
9667         * sudo.pod, sudoers.pod, visudo.pod:
9668         Use @mansectform@ and @mansectsu@ everywhere Make man page
9669         references links with L<>
9670         [f459f4b9ddb9]
9671
9672         * parse.lex:
9673         Accept quoted globbing characters and pass them verbatim for
9674         fnmatch()
9675         [8248b86e9380]
9676
9677         * UPGRADE:
9678         Document that /tmp/.odus is gone.
9679         [3667b66af5bb]
9680
9681         * pathnames.h.in:
9682         No longer use /tmp/.odus as a possible timestamp dir unless
9683         specifically configured to do so. Instead, if no /var/run exists,
9684         use /var/adm/sudo or /usr/adm/sudo.
9685         [48d94c9f9ad4]
9686
9687         * configure:
9688         No longer use /tmp/.odus as a possible timestamp dir unless
9689         specifically configured to do so. Instead, if no /var/run exists,
9690         use /var/adm/sudo or /usr/adm/sudo.
9691         [058d7b8cf07b]
9692
9693         * aclocal.m4:
9694         No longer use /tmp/.odus as a possible timestamp dir unless
9695         specifically configured to do so. Instead, if no /var/run exists,
9696         use /var/adm/sudo or /usr/adm/sudo.
9697         [cf52c4c2803f]
9698
9699         * CHANGES:
9700         No longer use /tmp/.odus as a possible timestamp dir unless
9701         specifically configured to do so. Instead, if no /var/run exists,
9702         use /var/adm/sudo or /usr/adm/sudo.
9703         [6058c4cefcec]
9704
9705         * set_perms.c, sudo.c, tgetpass.c, visudo.c:
9706         Preliminary changes to support nsr-tandem-nsk. Based on patches
9707         from Tom Bates.
9708         [2e5f81834383]
9709
9710         * logging.c:
9711         Preliminary changes to support nsr-tandem-nsk. Based on patches
9712         from Tom Bates.
9713         [934bbe6872b6]
9714
9715         * check.c, compat.h:
9716         Preliminary changes to support nsr-tandem-nsk. Based on patches
9717         from Tom Bates.
9718         [390b698b5924]
9719
9720 2004-05-16  Todd C. Miller  <Todd.Miller@courtesan.com>
9721
9722         * CHANGES:
9723         There was no 1.6.7p6.
9724         [8013d2e6b062]
9725
9726         * BUGS, CHANGES:
9727         sync
9728         [c38b41f32857]
9729
9730         * Makefile.in:
9731         add missing files to DISTFILES
9732         [e6a80ad03039]
9733
9734         * sudo.cat, sudoers.cat, visudo.cat:
9735         regen
9736         [027bc9746dd5]
9737
9738         * sudoers.man.in:
9739         regen
9740         [f5e85ef686cf]
9741
9742         * Makefile.in:
9743         Fix some line wrap and update (c) year
9744         [bad1f46aa1ca]
9745
9746 2004-04-28  Aaron Spangler  <aaron777@gmail.com>
9747
9748         * README.LDAP:
9749         Build Note
9750         [7a061248249b]
9751
9752 2004-04-07  Aaron Spangler  <aaron777@gmail.com>
9753
9754         * Makefile.in:
9755         Fix install-dirs
9756         [be0726dd92e7]
9757
9758 2004-04-05  Todd C. Miller  <Todd.Miller@courtesan.com>
9759
9760         * sudo.tab.c:
9761         regen
9762         [3f4f0d1ab8b9]
9763
9764         * visudo.c:
9765         In Exit() when used as a signal handler, emsg is a pointer so
9766         sizeof() is wrong so make it a #define instead. Also avoid using a
9767         negative exit value. Found by Aaron Campbell
9768         [78716a3a3fdc]
9769
9770 2004-03-24  Todd C. Miller  <Todd.Miller@courtesan.com>
9771
9772         * sudoers.pod:
9773         Remove bogus sentence about uids in a User_List. Document usernames
9774         vs. uid parsing in a Runas_List.
9775         [7ca510b5031c]
9776
9777         * parse.c, parse.h, parse.yacc, sudo.c, testsudoers.c, visudo.c:
9778         If the user specified a uid with the -u flag and the uid exists in
9779         the passwd file, set runas_user to the name, not the uid.
9780
9781         When comparing usernames in sudoers, if a name is really a uid
9782         (starts with '#') compare it numerically to pw_uid.
9783         [8d6935d04673]
9784
9785 2004-03-22  Todd C. Miller  <Todd.Miller@courtesan.com>
9786
9787         * auth/kerb5.c:
9788         krb5_mcc_ops should be const; Johnny C. Lam
9789         [aa8c753e426e]
9790
9791 2004-02-28  Aaron Spangler  <aaron777@gmail.com>
9792
9793         * CHANGES, config.h.in, ldap.c:
9794         Added start_tls support
9795         [7ef864c15b69]
9796
9797 2004-02-14  Todd C. Miller  <Todd.Miller@courtesan.com>
9798
9799         * Makefile.in:
9800         Clean up libtool stuff for 'make distclean' and add def_data.c,
9801         def_data.h to PARSESRCS.
9802         [bf9bb6bb06ab]
9803
9804 2004-02-14  Aaron Spangler  <aaron777@gmail.com>
9805
9806         * strlcat.c, strlcpy.c:
9807         Un-Fix last license munge
9808         [42654b77ac71]
9809
9810 2004-02-13  Todd C. Miller  <Todd.Miller@courtesan.com>
9811
9812         * configure:
9813         regen
9814         [e4de6b23a4dc]
9815
9816         * CHANGES, RUNSON, TODO:
9817         checkpoint
9818         [94e1ace84d5c]
9819
9820         * lex.yy.c, sudo.tab.c:
9821         regen
9822         [8ce784505643]
9823
9824         * auth/passwd.c, auth/rfc1938.c, auth/secureware.c, auth/securid.c,
9825         auth/securid5.c, auth/sia.c, auth/sudo_auth.c, auth/sudo_auth.h,
9826         emul/search.h, emul/utime.h:
9827         More to a less restrictive, ISC-style license.
9828         [a31b20e48003]
9829
9830         * auth/kerb5.c, auth/pam.c:
9831         More to a less restrictive, ISC-style license.
9832         [e41f92b41216]
9833
9834         * auth/dce.c, auth/fwtk.c, auth/kerb4.c:
9835         More to a less restrictive, ISC-style license.
9836         [87534c164a52]
9837
9838         * auth/bsdauth.c:
9839         More to a less restrictive, ISC-style license.
9840         [e21be6594b58]
9841
9842         * auth/afs.c, auth/aix_auth.c, zero_bytes.c:
9843         More to a less restrictive, ISC-style license.
9844         [6d234be91c5e]
9845
9846         * sudoers.man.in, sudoers.pod, testsudoers.c, tgetpass.c, visudo.c,
9847         visudo.man.in, visudo.pod:
9848         More to a less restrictive, ISC-style license.
9849         [b02aea324fd6]
9850
9851         * sudo_noexec.c:
9852         More to a less restrictive, ISC-style license.
9853         [a6da7631e0b2]
9854
9855         * strlcat.c, strlcpy.c, sudo.c, sudo.h, sudo.man.in, sudo.pod,
9856         sudo_edit.c:
9857         More to a less restrictive, ISC-style license.
9858         [71cdcc241e94]
9859
9860         * sigaction.c, strerror.c:
9861         More to a less restrictive, ISC-style license.
9862         [4bccdedca58a]
9863
9864         * ldap.c, logging.c, logging.h, parse.c, parse.h, pathnames.h.in,
9865         set_perms.c:
9866         More to a less restrictive, ISC-style license.
9867         [64d772d70ab3]
9868
9869         * getspwuid.c, goodpath.c, ins_2001.h, ins_classic.h, ins_csops.h,
9870         ins_goons.h, insults.h, interfaces.c, interfaces.h:
9871         More to a less restrictive, ISC-style license.
9872         [520381c60a54]
9873
9874         * find_path.c, getprogname.c:
9875         More to a less restrictive, ISC-style license.
9876         [f605d5eab6f1]
9877
9878         * fileops.c:
9879         More to a less restrictive, ISC-style license.
9880         [4129a8b38a67]
9881
9882         * env.c:
9883         More to a less restrictive, ISC-style license.
9884         [d5bd859757de]
9885
9886         * defaults.h:
9887         More to a less restrictive, ISC-style license.
9888         [008f5d5743f5]
9889
9890         * LICENSE, Makefile.in, alloc.c, check.c, closefrom.c, compat.h,
9891         defaults.c:
9892         More to a less restrictive, ISC-style license.
9893         [d8d7bfc8a18b]
9894
9895         * utime.c, version.h:
9896         More to a less restrictive, ISC-style license.
9897         [e2e038ad8209]
9898
9899         * parse.lex, parse.yacc:
9900         More to a less restrictive, ISC-style license.
9901         [2f5942e847a1]
9902
9903         * Makefile.binary:
9904         More to a less restrictive, ISC-style license.
9905         [1ed561734535]
9906
9907 2004-02-13  Aaron Spangler  <aaron777@gmail.com>
9908
9909         * sudoers2ldif:
9910         Merged in LDAP Support
9911         [3994c4d05947]
9912
9913         * ldap.c, sudo.c, sudo.h:
9914         Merged in LDAP Support
9915         [547eaa346fcc]
9916
9917         * def_data.c, def_data.h, def_data.in:
9918         Merged in LDAP Support
9919         [8fb255280e42]
9920
9921         * CHANGES, Makefile.in, README.LDAP, config.h.in, configure.in:
9922         Merged in LDAP Support
9923         [1038092a161e]
9924
9925 2004-02-08  Todd C. Miller  <Todd.Miller@courtesan.com>
9926
9927         * sudo.h, sudo_noexec.c:
9928         Only do "extern int errno" if errno is not a macro.
9929         [b2e02a08be8b]
9930
9931 2004-02-06  Todd C. Miller  <Todd.Miller@courtesan.com>
9932
9933         * set_perms.c:
9934         setreuid(0, 0) fails on QNX if the euid is not already 0 so set the
9935         euid first, then just call setuid(0) to set the real uid too.
9936         [f08546e2e0ee]
9937
9938         * set_perms.c:
9939         Use setresuid() and setreuid() for PERM_RUNAS when appropriate
9940         instead of seteuid() which may not exist.
9941         [ba508581befb]
9942
9943 2004-02-04  Todd C. Miller  <Todd.Miller@courtesan.com>
9944
9945         * LICENSE:
9946         2004
9947         [37425513a342]
9948
9949         * INSTALL, config.h.in, configure, configure.in, ins_classic.h:
9950         Add --with-pc-insults configure option
9951         [7daa5294c17b]
9952
9953         * visudo.man.in:
9954         Prefer VISUAL over EDITOR like old vipw did.
9955         [996252a4ab65]
9956
9957 2004-02-01  Todd C. Miller  <Todd.Miller@courtesan.com>
9958
9959         * sudo.man.in, sudoers.man.in:
9960         regen
9961         [a247f1c52eb9]
9962
9963         * sudoers.pod:
9964         Add a note that noexec is not a cure-all.
9965         [9e7fc535367d]
9966
9967         * sudoers.pod:
9968         Mention that disabling "root_sudo" is pretty pointless.
9969         [f38a415afba0]
9970
9971         * configure, configure.in:
9972         Substitute for root_sudo in sudoers.pod
9973         [ce483cfc86be]
9974
9975         * sudo.pod:
9976         Add sudoedit to the NAME section
9977         [51bc453ec2f6]
9978
9979         * sudoers.pod:
9980         Document that fact that setting ignore_dot in sudoers has no effect
9981         due to the fact that find_path() is called *before* sudoers is read.
9982         [6808df7e417c]
9983
9984 2004-01-30  Todd C. Miller  <Todd.Miller@courtesan.com>
9985
9986         * sudo_edit.c:
9987         Do not require _PATH_USRTMP to be set.
9988         [546f3270dd10]
9989
9990         * BUGS, CHANGES, TODO:
9991         sync
9992         [4205ddeab781]
9993
9994         * sudo.man.in:
9995         regen
9996         [e2143690a88a]
9997
9998         * sudo.pod:
9999         Clarify that when sudo is run by root with the SUDO_USER variable
10000         set, the sudoers lookup happens for root and not the SUDO_USER user.
10001         [47207bec1bdf]
10002
10003 2004-01-29  Todd C. Miller  <Todd.Miller@courtesan.com>
10004
10005         * auth/pam.c, auth/sudo_auth.c, interfaces.c, logging.c, parse.c,
10006         set_perms.c, sigaction.c, sudo.c, tgetpass.c:
10007         Use the SET, CLR and ISSET macros.
10008         [a8b0d7f1e8fd]
10009
10010         * fnmatch.c:
10011         Use the SET, CLR and ISSET macros.
10012         [1afbcba22ba6]
10013
10014         * defaults.c, env.c:
10015         Use the SET, CLR and ISSET macros.
10016         [2f39431e0a49]
10017
10018         * interfaces.h:
10019         MAIN was replaced with _SUDO_MAIN some time ago.
10020         [ea1b38f2ac9d]
10021
10022         * sudo.c:
10023         Don't look at prev_user until after we've parsed sudoers and done
10024         the password check. That way, if sudo/sudoedit is run from a root
10025         process that was invoked by sudo, we check sudoers for root, not the
10026         previous user. This makes sudoedit much more useful and means that
10027         for the sudo case, we get correct logging on who actually ran the
10028         command.
10029         [431dfbf20552]
10030
10031 2004-01-23  Todd C. Miller  <Todd.Miller@courtesan.com>
10032
10033         * sudo_edit.c:
10034         Add a comment describing why we need to be notified about our child
10035         stopping.
10036         [0bec3ce4b49d]
10037
10038 2004-01-22  Todd C. Miller  <Todd.Miller@courtesan.com>
10039
10040         * def_data.c, def_data.in:
10041         Update the noexec variable descriptions
10042         [9cb7f1aa0e57]
10043
10044         * sudoers.man.in, sudoers.pod:
10045         noexec now replaces more than just execve()
10046         [23cbdc0ee95c]
10047
10048         * sudo_noexec.c:
10049         Alas, all the world does not go through execve(2). Many systems
10050         still have an execv(2) system call, Linux 2.6 provides fexecve(2)
10051         and it is not uncommon for libc to have underscore ('_') versions of
10052         the functions to be used internally by the library. Instead of
10053         stubbing all these out by hand, define a macro and let it do the
10054         work. Extra exec functions pointed out by Reznic Valery.
10055         [9fa0cd871b0c]
10056
10057         * sudo.c, sudo_edit.c:
10058         Fix suspending the editor in -e mode. Because we do a fork() first
10059         we need to be notified when the child has been stopped and then send
10060         that same signal to ourself so the shell can do its job control
10061         thing.
10062         [773165eb6057]
10063
10064         * visudo.c:
10065         Use WIFEXITED and WEXITSTATUS macros. If there are systems out
10066         there that want to run sudo that still don't support these we can
10067         try to deal with that later.
10068         [6af68e4aff60]
10069
10070         * lex.yy.c:
10071         regen
10072         [403435317d5d]
10073
10074         * sudo.man.in, sudo.pod, sudoers.man.in, sudoers.pod:
10075         Document sudo -e / sudoedit
10076         [a80f6ea910af]
10077
10078         * configure, configure.in:
10079         fix typo
10080         [5020fcdc27f4]
10081
10082         * config.h.in, configure.in:
10083         Add SET/CLR/ISSET
10084         [03ff57286e7e]
10085
10086 2004-01-21  Todd C. Miller  <Todd.Miller@courtesan.com>
10087
10088         * sudo.c:
10089         Allow non-exclusive flags when invoked as sudoedit. Pretty print the
10090         long usage() line to not wrap (assumes 80 char display)
10091         [3941fa4004bb]
10092
10093         * Makefile.in, sudo.c:
10094         If sudo is invoked as "sudoedit" the -e flag is implied and no other
10095         flags are permitted.
10096         [929670b01293]
10097
10098         * sudo.h:
10099         Add a new flag, -e, that makes it possible to give users the ability
10100         to edit files with the editor of their choice as the invoking user,
10101         not the runas user. Temporary files are used for the actual edit
10102         and the temp file is copied over the original after the editor is
10103         done.
10104         [c4051414c1f4]
10105
10106         * Makefile.in, parse.c, parse.lex, sudo.c, sudo_edit.c:
10107         Add a new flag, -e, that makes it possible to give users the ability
10108         to edit files with the editor of their choice as the invoking user,
10109         not the runas user. Temporary files are used for the actual edit
10110         and the temp file is copied over the original after the editor is
10111         done.
10112         [37ac05c8ac3c]
10113
10114         * env.c, sudo.c:
10115         If real uid == 0 and the SUDO_USER environment variables is set, use
10116         that to determine the invoking user's true identity. That way the
10117         proper info gets logged by someone who has done "sudo su" but still
10118         uses sudo to as root. We can't do this for non-root users since
10119         that would open up a security hole, though perhaps it would be
10120         acceptable to use getlogin(2) on OSes where this a system call (and
10121         doesn't just look in the utmp file).
10122         [c2f9198708a1]
10123
10124         * pathnames.h.in:
10125         Add _PATH_TMP, _PATH_VARTMP and _PATH_USRTMP
10126         [7d9e5768df93]
10127
10128         * config.h.in, configure, configure.in:
10129         Add check for fchown(2)
10130         [a85df18798ed]
10131
10132 2004-01-20  Todd C. Miller  <Todd.Miller@courtesan.com>
10133
10134         * sudo.c:
10135         Back out portions of the -i commit that set NewArgv[0] in
10136         set_runaspw. It is far to late to set NewArgv[0] there and will have
10137         no effect anyway as cmnd and safe_cmnd have already been set.
10138         [c2d343430c1c]
10139
10140         * visudo.c, visudo.pod:
10141         Prefer VISUAL over EDITOR like old vipw did.
10142         [ae32f477cea3]
10143
10144 2004-01-19  Todd C. Miller  <Todd.Miller@courtesan.com>
10145
10146         * env.c, sudo.c:
10147         In -i mode always set new environment based on the runas user's
10148         passwd entry.
10149         [fa653b7887a8]
10150
10151 2004-01-18  Todd C. Miller  <Todd.Miller@courtesan.com>
10152
10153         * sudo.man.in, sudo.pod:
10154         Document the new -i flag and sync SYNOPSIS section with usage() in
10155         sudo.c. Also sort the flags in the OPTIONS section.
10156         [6aabc0ffc47e]
10157
10158         * sudo.c, sudo.h:
10159         o Add -i that acts similar to "su -", based on patches from David J.
10160         MacKenzie o Sort the flags in the usage message
10161         [c0fe7d6beffd]
10162
10163         * sudoers.man.in, sudoers.pod:
10164         Add a missing @runas_default@ substitution.
10165         [60516fe2d090]
10166
10167 2004-01-17  Todd C. Miller  <Todd.Miller@courtesan.com>
10168
10169         * sudo.c:
10170         Change euid to runas user before calling find_path().
10171         Unfortunately, though runas_user can be modified in sudoers we
10172         haven't parsed sudoers yet.
10173         [f469fdf2e313]
10174
10175         * sudoers.man.in, sudoers.pod:
10176         Add missing defintion of Parameter_List and use single pipes in the
10177         Defaults EBNF definition.
10178         [f7bed6e909bf]
10179
10180         * sudo.c:
10181         Fix a bug when set_runaspw() is used as a callback. We don't want
10182         to reset the contents of runas_pw if the user specified a user via
10183         the -u flag.
10184
10185         Avoid unnecessary passwd lookups in set_authpw(). In most cases we
10186         already have the info in runas_pw.
10187         [efc35623ba09]
10188
10189 2004-01-16  Todd C. Miller  <Todd.Miller@courtesan.com>
10190
10191         * check.c:
10192         Add Stan Lee / Uncle Ben quote to the lecture from RedHat
10193         [ebd5a76ccd7e]
10194
10195         * sudo.h:
10196         Update sudo_getepw() proto and add one for set_runaspw()
10197         [6ed65795c17f]
10198
10199         * parse.c:
10200         If we can't stat the command as root, try as the runas user instead.
10201         [ae713fca0e15]
10202
10203         * testsudoers.c, visudo.c:
10204         Add stub set_runaspw() function
10205         [42aa37050053]
10206
10207         * sudo.c:
10208         Add set_runaspw() function to fill in runas_pw. This will be used
10209         as a callback to update runas_pw when the runas user changes.
10210         [e570aa0088d0]
10211
10212         * env.c, sudo.c:
10213         PERM_RUNAS -> PERM_FULL_RUNAS
10214         [51eec6f9e89a]
10215
10216         * set_perms.c, sudo.h:
10217         Rename PERM_RUNAS -> PERM_FULL_RUNAS and add a PERM_RUNAS that just
10218         changes the euid.
10219         [877c6fe4d12c]
10220
10221         * getspwuid.c:
10222         Make sudo_pwdup() act like OpenBSD pw_dup() and allocate memory in
10223         one chunk for easy free()ing. Also change it from static to extern.
10224         [ab503260a7ec]
10225
10226         * defaults.c, defaults.h:
10227         Add callback support
10228         [a61c4ca983fb]
10229
10230         * mkdefaults:
10231         Add a callback field and use it for runas_default
10232         [96b69c27df5e]
10233
10234         * def_data.c, def_data.in:
10235         Add a callback field and use it for runas_default
10236         [d3e9f06872b8]
10237
10238 2004-01-15  Todd C. Miller  <Todd.Miller@courtesan.com>
10239
10240         * auth/fwtk.c:
10241         Add support for chalnecho and display server responses used by fwtk
10242         >= 2.0
10243         [b1870f7aaf0d]
10244
10245 2004-01-12  Todd C. Miller  <Todd.Miller@courtesan.com>
10246
10247         * sudoers.man.in, sudoers.pod:
10248         ld.so is ld.so.1 on solaris
10249         [2bf9a123fa4c]
10250
10251         * Makefile.in, config.h.in, configure, configure.in, sudo.c, sudo.h:
10252         Use closefrom() instead of doing the equivalent inline.
10253         [7e3ef6072884]
10254
10255         * closefrom.c:
10256         closefrom(3) for systems w/o it
10257         [35caf58bb636]
10258
10259 2004-01-09  Todd C. Miller  <Todd.Miller@courtesan.com>
10260
10261         * sudoers.man.in:
10262         Update from .pod file.
10263         [d4c94fc0e0c9]
10264
10265         * configure, configure.in:
10266         Substitute noexec_file for the sudoers man page
10267         [203d3376a551]
10268
10269         * sudo.man.in, sudo.pod:
10270         Mention noexec
10271         [014375ddbb06]
10272
10273         * sudoers.man.in, sudoers.pod:
10274         Document noexec
10275         [49a65d06201f]
10276
10277         * auth/pam.c, config.h.in, configure.in:
10278         Move PAM_CONST macro definition from config.h to pam.c where it
10279         belongs. We can't have this in config.h since that gets included too
10280         early.
10281         [e64748071637]
10282
10283         * auth/pam.c, config.h.in, configure, configure.in:
10284         Some PAM implementations put their headers in /usr/include/pam
10285         instead of /usr/include/security.
10286         [8cc749e9575c]
10287
10288         * configure.in:
10289         I missed changing the EXEC macro -> EXECV here when I changed this
10290         in config.h.in and sudo.c a while ago.
10291         [6f5afac7789f]
10292
10293         * acsite.m4:
10294         OpenBSD vax/m88k/hppa don't do shared libs
10295         [e4901d958bb7]
10296
10297         * configure, configure.in:
10298         o merge the hpux case entries into a single entry w/ its own sub-
10299         case statement. o HP-UX >= 11 support getspnam(), use it in
10300         preference to getprpwuid()
10301         [0caad428894e]
10302
10303         * configure, configure.in:
10304         eval $shrext so that it expands nicely on MacOS X
10305         [40419343eef8]
10306
10307         * Makefile.in:
10308         Don't lie about making a module, it does the wrong thing on mach
10309         [7629b28f5688]
10310
10311         * ltmain.sh:
10312         Remove requirement that libs must begin with "lib". They don't when
10313         we point directly at the lib using LD_PRELOAD or its equivalent.
10314         [d66f3de6ec85]
10315
10316         * acsite.m4:
10317         Disable support for c++, f77 and java. We don't need it, it takes a
10318         lot of time, and it hosed our check for shared lib support.
10319         [4f5749c52ce4]
10320
10321         * configure:
10322         regen
10323         [160865e9d15f]
10324
10325         * configure.in:
10326         Call AC_ENABLE_SHARED and check the status of enable_shared to know
10327         when shared libs are available.
10328         [42504c1668fc]
10329
10330         * acsite.m4:
10331         Duh, OpenBSD suports shared libs too
10332         [8e3cd9417475]
10333
10334         * config.h.in, configure.in:
10335         Only OpenPAM and Linux PAM use const qualifiers.
10336         [b2f76476e866]
10337
10338         * configure, configure.in:
10339         o No need to check for sed, libtool config does that for us o move
10340         check for --with-noexec until after libtool magic is run so we can
10341         use $can_build_shared and $shrext
10342         [668c656e89cc]
10343
10344         * ltmain.sh:
10345         Don't print a bunch of crap about library installs since we are not
10346         really installing a library.
10347         [83fbcad29fe4]
10348
10349         * env.c:
10350         Make format_env() varargs Add noexec support for Darwin, MacOS X,
10351         Irix, and Tru64
10352         [468885d75d10]
10353
10354         * acsite.m4, ltconfig, ltmain.sh:
10355         Update to libtool 1.5 with local changes: o no ldconfig in the
10356         finish step o assume no libprefix or version is needed
10357         [4961cffc3797]
10358
10359         * sudo_noexec.c:
10360         Fix compilation under K&R
10361         [8b309bf0b1b2]
10362
10363 2004-01-06  Todd C. Miller  <Todd.Miller@courtesan.com>
10364
10365         * CHANGES:
10366         checkpoint
10367         [3c368badab32]
10368
10369         * sudo_noexec.c:
10370         stub execve() that just returns EACCES; used for noexec
10371         functionality
10372         [1297acae283a]
10373
10374         * sudo.tab.h:
10375         Regen w/ updated byacc from OpenBSD; fixes a gcc 3.2 issue with
10376         generated code.
10377         [dcab78c49273]
10378
10379         * sudo.tab.c:
10380         Regen w/ updated byacc from OpenBSD; fixes a gcc 3.2 issue with
10381         generated code.
10382         [0a61c735eabe]
10383
10384 2004-01-05  Todd C. Miller  <Todd.Miller@courtesan.com>
10385
10386         * def_data.c, def_data.h, def_data.in:
10387         Move the environment defaults to the end and shorten a few of the
10388         descriptions.
10389         [66787b9c612c]
10390
10391         * configure, configure.in:
10392         no shared libs on ultris or convexos
10393         [2c5f3c456e32]
10394
10395         * Makefile.in, configure, configure.in:
10396         Build sudo_noexec shared object using libtool; could use some
10397         cleanup.
10398         [373f483555dd]
10399
10400         * acsite.m4, ltconfig, ltmain.sh:
10401         libtool scaffolding
10402         [c903a42e3d90]
10403
10404         * parse.yacc, sudo.tab.c:
10405         Merge the NOPASSWD/PASSWD and NOEXEC/EXEC rules so that order is not
10406         important.
10407         [c6e8a34639a4]
10408
10409         * defaults.c, env.c, lex.yy.c, parse.c, parse.h, parse.lex,
10410         parse.yacc, pathnames.h.in, sudo.c, sudo.h, sudo.tab.c:
10411         update copyright year
10412         [a16372ae1711]
10413
10414         * configure, configure.in, defaults.c, env.c, pathnames.h.in:
10415         Add _PATH_SUDO_NOEXEC and corresponding --with-noexec configure
10416         option. The default value of noexec_file is set to this.
10417         [7d88e1d3c494]
10418
10419         * def_data.c, def_data.h, def_data.in, env.c, lex.yy.c, parse.c,
10420         parse.h, parse.lex, parse.yacc, sudo.c, sudo.h, sudo.tab.c,
10421         sudo.tab.h:
10422         Add support for preloading a shared object containing a dummy
10423         execve() function that just sets error and returns -1. This adds a
10424         "noexec_file" option to load the filename as well as a "noexec" flag
10425         to enable it unconditionally. There is also a NOEXEC tag that can
10426         be attached to specific commands and an EXEC tag to disable it.
10427         [c8b6712feb91]
10428
10429         * mkdefaults:
10430         add missing newline to usage statement
10431         [e84746618362]
10432
10433         * config.h.in, sudo.c:
10434         Rename EXEC macro -> EXECV
10435         [ddaa0c027299]
10436
10437         * logging.c:
10438         Don't truncate usernames to 8 characters in the log message.
10439         [f62a20f27075]
10440
10441         * check.c, sudoers.man.in, sudoers.pod:
10442         Update copyright year
10443         [ca9964054085]
10444
10445         * check.c, def_data.c, def_data.h, def_data.in, sudoers.man.in,
10446         sudoers.pod:
10447         Add a new option, lecture_file, that can be used to point to a
10448         custom sudo lecture.
10449         [940133231216]
10450
10451 2003-12-31  Todd C. Miller  <Todd.Miller@courtesan.com>
10452
10453         * auth/aix_auth.c, auth/bsdauth.c, auth/fwtk.c, auth/pam.c,
10454         auth/sudo_auth.c:
10455         Add a zero_bytes() function to do the equivalent of bzero in such a
10456         way that will heopfully not be optimized away by sneaky compilers.
10457         [161b6d74bfb4]
10458
10459         * zero_bytes.c:
10460         Add a zero_bytes() function to do the equivalent of bzero in such a
10461         way that will heopfully not be optimized away by sneaky compilers.
10462         [d035abf0af94]
10463
10464         * Makefile.in, sudo.h:
10465         Add a zero_bytes() function to do the equivalent of bzero in such a
10466         way that will heopfully not be optimized away by sneaky compilers.
10467         [ff136de3e255]
10468
10469         * err.c:
10470         Use #ifdef __STDC__, not #if __STDC__.
10471         [6889dd6bc51a]
10472
10473 2003-12-30  Todd C. Miller  <Todd.Miller@courtesan.com>
10474
10475         * mkdefaults:
10476         Always put at least one space between the def_* macro name and its
10477         definition.
10478         [6b3ad0e6619a]
10479
10480         * configure, configure.in:
10481         Adjust code for --without-lecture to match new values.
10482         [062aa788a6b9]
10483
10484         * visudo.man.in:
10485         regen after pasto fix
10486         [3deec16906c0]
10487
10488         * sudoers.man.in, sudoers.pod:
10489         Document that "lecture" has changed from a flag to a tuple.
10490         [e2c03062b533]
10491
10492         * check.c, def_data.c, def_data.h, def_data.in, defaults.c,
10493         defaults.h, logging.c, mkdefaults, parse.c, sudo.c, sudo.h:
10494         Add support for tuples in def_data.in; these are implemented as an
10495         enum type. Currently there is only a single tuple enum but in the
10496         future we may have one tuple enum per T_TUPLE entry in def_data.in.
10497         Currently listpw, verifypw and lecture are tuples. This avoids the
10498         need to have two entries (one ival, one str) for pwflags and syslog
10499         values.
10500
10501         lecture is now a tuple with the following values: never, once,
10502         always
10503
10504         We no longer use both an int and string entry for syslog facilities
10505         and priorities. Instead, there are logfac2str() and logpri2str()
10506         functions that get used when we need to print the string values.
10507         [5293f946c836]
10508
10509         * auth/aix_auth.c, auth/bsdauth.c, auth/fwtk.c, auth/pam.c,
10510         auth/rfc1938.c, auth/securid5.c, auth/sia.c, auth/sudo_auth.c,
10511         check.c, def_data.h, defaults.c, defaults.h, env.c, find_path.c,
10512         logging.c, mkdefaults, parse.c, parse.yacc, set_perms.c, sudo.c,
10513         sudo.tab.c, visudo.c:
10514         Create def_* macros for each defaults value so we no longer need the
10515         def_{flag,ival,str,list,mode} macros (which have been removed). This
10516         is a step toward more flexible data types in def_data.in.
10517         [009c02934106]
10518
10519         * TODO:
10520         checkpoint
10521         [0a99a4bb5d15]
10522
10523 2003-12-23  Todd C. Miller  <Todd.Miller@courtesan.com>
10524
10525         * sudo.c:
10526         If we are in -k/-K mode, just spew to stderr. It is not unusual for
10527         users to place "sudo -k" in a .logout file which can cause sudo to
10528         be run during reboot after the YP/NIS/NIS+/LDAP/etc daemon has died.
10529         Previously, this would result in useless mail and logging.
10530         [d282e7ed63af]
10531
10532 2003-12-16  Todd C. Miller  <Todd.Miller@courtesan.com>
10533
10534         * visudo.pod:
10535         fix pasto in VISUAL description
10536         [1c6a6148b5f9]
10537
10538 2003-12-10  Todd C. Miller  <Todd.Miller@courtesan.com>
10539
10540         * configure:
10541         regen
10542         [f44312c63799]
10543
10544         * CHANGES:
10545         checkpoint
10546         [0c42e38f78d5]
10547
10548         * TROUBLESHOOTING:
10549         Some OSes (like Solaris) allow export w/ nosuid too
10550         [973ce85ffa12]
10551
10552 2003-08-12  Todd C. Miller  <Todd.Miller@courtesan.com>
10553
10554         * compat.h:
10555         We don't use FD_ZERO anymore so just define FD_SET (if not already
10556         there).
10557         [d1c8c11905cd]
10558
10559 2003-06-29  Todd C. Miller  <Todd.Miller@courtesan.com>
10560
10561         * auth/pam.c:
10562         Fix a core dump on Solaris by preserving the pam_handle_t we used
10563         during authentication for pam_prep_user(). If we didn't
10564         authenticate (ie: ticket still valid), we call pam_init() from
10565         pam_prep_user(). This is something of a hack; it may be better to
10566         change the auth API and add an auth_final() function that acts like
10567         pam_prep_user().
10568         [f787de49b175]
10569
10570 2003-06-21  Todd C. Miller  <Todd.Miller@courtesan.com>
10571
10572         * set_perms.c:
10573         Add explicit declaration of printerr variable in function header
10574         (was defaulting to int which is OK but oh so K&R :-). From Theo.
10575         [492c2358783f]
10576
10577 2003-06-09  Todd C. Miller  <Todd.Miller@courtesan.com>
10578
10579         * config.h.in, configure.in:
10580         s/HAVE_STOW/USE_STOW/
10581         [4b99e1824ece]
10582
10583         * logging.c:
10584         Also exit waitpid() loop when pid == 0. Fixes a problem where the
10585         sudo process would spin eating up CPU until sendmail finished when
10586         it has to send mail.
10587         [ec3d5792b9b4]
10588
10589 2003-05-30  Todd C. Miller  <Todd.Miller@courtesan.com>
10590
10591         * fnmatch.c:
10592         Remove advertising clause, UCB has disavowed it
10593         [43a26bbd6628]
10594
10595         * fnmatch.3:
10596         Remove advertising clause, UCB has disavowed it
10597         [3ff24291bcfa]
10598
10599 2003-05-22  Todd C. Miller  <Todd.Miller@courtesan.com>
10600
10601         * parse.c:
10602         Don't assume that getgrnam() calls don't modify contents of struct
10603         passwd returned by getpwnam(). On FreeBSD w/ NIS this can happen.
10604         Based on a patch from Kirk Webb.
10605         [5574c68f60f3]
10606
10607 2003-05-06  Todd C. Miller  <Todd.Miller@courtesan.com>
10608
10609         * configure.in:
10610         missing ;;
10611         [22378f2a9d31]
10612
10613         * configure.in:
10614         darwin has a broken setreuid() in at least some versions
10615         [d572aed930d2]
10616
10617         * env.c:
10618         Fix an off by one error when reallocating the environment; Kevin Pye
10619         [3d98e7cf097a]
10620
10621 2003-04-30  Todd C. Miller  <Todd.Miller@courtesan.com>
10622
10623         * sudoers.pod:
10624         Fix User_Spec definition; SEKINE Tatsuo
10625         [49b0da65e090]
10626
10627 2003-04-28  Todd C. Miller  <Todd.Miller@courtesan.com>
10628
10629         * HISTORY:
10630         More info on the early days from Coggs.
10631         [9381ca10b06b]
10632
10633 2003-04-21  Todd C. Miller  <Todd.Miller@courtesan.com>
10634
10635         * auth/kerb5.c:
10636         remove errant semicolon that prevented compilation under heimdal
10637         [d2f2bb73a598]
10638
10639 2003-04-16  Todd C. Miller  <Todd.Miller@courtesan.com>
10640
10641         * testsudoers.c, tgetpass.c, visudo.c, visudo.man.in, visudo.pod:
10642         add DARPA credit on affected files
10643         [7020785ee50d]
10644
10645         * sudoers.pod:
10646         add DARPA credit on affected files
10647         [83b46318750b]
10648
10649         * sigaction.c, strerror.c, sudo.c, sudo.h, sudo.man.in, sudo.pod,
10650         sudoers.man.in:
10651         add DARPA credit on affected files
10652         [d8adf1c2ba22]
10653
10654         * set_perms.c:
10655         add DARPA credit on affected files
10656         [3d79fdabb582]
10657
10658         * pathnames.h.in:
10659         add DARPA credit on affected files
10660         [e334cdda422f]
10661
10662         * logging.c, parse.c:
10663         add DARPA credit on affected files
10664         [8f75f822755b]
10665
10666         * auth/passwd.c, auth/rfc1938.c, auth/secureware.c, auth/securid.c,
10667         auth/securid5.c, auth/sia.c, auth/sudo_auth.c, fileops.c,
10668         find_path.c, getprogname.c, getspwuid.c, goodpath.c, interfaces.c,
10669         interfaces.h:
10670         add DARPA credit on affected files
10671         [da66e28fb3f5]
10672
10673         * auth/kerb5.c, auth/pam.c:
10674         add DARPA credit on affected files
10675         [15da3021b49c]
10676
10677         * auth/afs.c, auth/aix_auth.c, auth/bsdauth.c, auth/dce.c,
10678         auth/fwtk.c, auth/kerb4.c, parse.lex, parse.yacc, utime.c,
10679         version.h:
10680         add DARPA credit on affected files
10681         [868d54cbddea]
10682
10683         * env.c:
10684         add DARPA credit on affected files
10685         [90239f51ef0a]
10686
10687         * defaults.c, defaults.h:
10688         add DARPA credit on affected files
10689         [6a64205fd1eb]
10690
10691         * compat.h:
10692         add DARPA credit on affected files
10693         [316a735783c4]
10694
10695         * Makefile.in, alloc.c, check.c:
10696         add DARPA credit on affected files
10697         [cd939e05c810]
10698
10699         * LICENSE:
10700         slightly different wording for the darpa credit
10701         [e468909c4a21]
10702
10703 2003-04-15  Todd C. Miller  <Todd.Miller@courtesan.com>
10704
10705         * LICENSE:
10706         Add DARPA credit
10707         [8eb20e2cd63e]
10708
10709 2003-04-14  Todd C. Miller  <Todd.Miller@courtesan.com>
10710
10711         * auth/kerb5.c:
10712         Use krb5_princ_component() instead of krb5_princ_realm() for MIT
10713         Kerberos like we did before I messed things up ;-)
10714
10715         Use krb5_principal_get_comp_string() to do the same thing w/
10716         Heimdal. I'm not sure if the component should be 0 or 1 in this
10717         case.
10718
10719         #define ENCTYPE_DES_CBC_MD5 ETYPE_DES_CBC_MD5 for Heimdal since
10720         older versions lack ENCTYPE_DES_CBC_MD5. This is gross and there
10721         should be a configure check for this I guess.
10722         [74919a3933fe]
10723
10724 2003-04-13  Todd C. Miller  <Todd.Miller@courtesan.com>
10725
10726         * sample.sudoers:
10727         builtin -> built-in; Jason McIntyre
10728         [027f2187923e]
10729
10730         * TROUBLESHOOTING, config.h.in, configure, configure.in:
10731         builtin -> built-in; Jason McIntyre
10732         [70b81ac48943]
10733
10734         * sudoers.pod:
10735         built in -> built-in; Jason McIntyre
10736         [da658ef5138d]
10737
10738 2003-04-09  Todd C. Miller  <Todd.Miller@courtesan.com>
10739
10740         * CHANGES:
10741         checkpoint for 1.6.7p3
10742         [da85f989fadf]
10743
10744         * HISTORY:
10745         Update info on the early years @ SUNY-Buffalo from Cliff Spencer.
10746         Amazingly, sudo source from 1985 is available via groups.google.com
10747         [39e0fc85b89f]
10748
10749         * sudo.c:
10750         Don't change rl.rlim_max for RLIMIT_CORE. We need only set
10751         rl.rlim_cur to 0 to turn off core dumps. This may be needed for the
10752         RLIMIT_CORE restoration on some OSes.
10753         [7e2c1a7adfd8]
10754
10755 2003-04-04  Todd C. Miller  <Todd.Miller@courtesan.com>
10756
10757         * auth/kerb5.c:
10758         Make this compile on Heimdal and MIT Kerberos 5
10759         [44c07d615868]
10760
10761         * config.h.in, configure, configure.in:
10762         Check for heimdal even if we found krb5-config and define
10763         HAVE_HEIMDAL.
10764         [aba0126f0059]
10765
10766         * auth/kerb5.c:
10767         Replace ETYPE_DES_CBC_MD5 with ENCTYPE_DES_CBC_MD5. The former is
10768         no longer defined by MIT kerb5 (though it used to be and indeed
10769         remains so in Heimdal).
10770         [e5a6c64d7cd5]
10771
10772 2003-04-03  Todd C. Miller  <Todd.Miller@courtesan.com>
10773
10774         * mkinstalldirs:
10775         Remove newer stuff that passes multiple (possibly duplicate)
10776         directories to "mkdir -p" since that seems to break on Tru64 Unix at
10777         least. This basically brings back what shipped with sudo 1.6.6.
10778         [f2a1abd872b3]
10779
10780 2003-04-02  Todd C. Miller  <Todd.Miller@courtesan.com>
10781
10782         * auth/kerb5.c:
10783         Correct number of args to krb5_principal_get_realm() and fix an
10784         unclosed comment that hid the bug.
10785         [0b37f8ce7824]
10786
10787         * configure:
10788         regen
10789         [1876cb840fe0]
10790
10791         * configure.in:
10792         ++version
10793         [480aff7c048e]
10794
10795         * README:
10796         ++version
10797         [488e0bbff613]
10798
10799         * Makefile.in:
10800         ++version
10801         [97ef63cedc38]
10802
10803         * INSTALL.binary:
10804         ++version
10805         [a506204e77d0]
10806
10807         * INSTALL:
10808         ++version
10809         [555aeba5c2bf]
10810
10811         * CHANGES, version.h:
10812         ++version
10813         [f66985a64063]
10814
10815         * BUGS:
10816         ++version
10817         [ea3573432412]
10818
10819         * configure.in:
10820         use krb5-config to determine Kerberos V details if it exists
10821         [7b46bbdaf774]
10822
10823         * alloc.c, auth/fwtk.c, auth/rfc1938.c, auth/securid.c,
10824         auth/securid5.c, auth/sia.c, check.c, compat.h, defaults.c, env.c,
10825         find_path.c, interfaces.c, logging.c, parse.c, sudo.c, sudo.h,
10826         testsudoers.c, visudo.c:
10827         Use warn/err and getprogname() throughout. The main exception is
10828         openlog(). Since the admin may be filtering logs based on the
10829         program name in the log files, hard code this to "sudo".
10830         [9f180d015cfa]
10831
10832         * Makefile.in:
10833         Add getprogname.c and err.c
10834         [d411c54a07dc]
10835
10836         * configure:
10837         regen
10838         [6d585d391acc]
10839
10840         * config.h.in, configure.in:
10841         Add checks for getprognam(), __progname and err.h
10842         [bcbccf61d34a]
10843
10844         * emul/err.h:
10845         For systems withour err/warn functions.
10846         [1b33118884d9]
10847
10848         * err.c:
10849         For systems withour err/warn functions.
10850         [26721f6b041f]
10851
10852         * getprogname.c:
10853         For systems neither getprogname() nor __progname; uses Argv[0].
10854         [841cf42af1eb]
10855
10856 2003-04-01  Todd C. Miller  <Todd.Miller@courtesan.com>
10857
10858         * CHANGES:
10859         checkpoint for 1.6.7p1
10860         [5bfdaf441dce]
10861
10862         * sudo.c, testsudoers.c:
10863         fix strlcpy() rval check (innocuous)
10864         [e05ac7e0d1f3]
10865
10866         * check.c:
10867         oflow detection in expand_prompt() was faulty (false positives). The
10868         count was based on strlcat() return value which includes the length
10869         of the entire string.
10870         [086c5a0acb25]
10871
10872 2003-03-31  Todd C. Miller  <Todd.Miller@courtesan.com>
10873
10874         * RUNSON, TODO:
10875         checkpoint for the sudo 1.6.7 release
10876         [096bab4da29a] [SUDO_1_6_7]
10877
10878         * CHANGES:
10879         checkpoint for the sudo 1.6.7 release
10880         [87322187ed78]
10881
10882 2003-03-24  Todd C. Miller  <Todd.Miller@courtesan.com>
10883
10884         * logging.c:
10885         g/c unused variable
10886         [c57cd4a17765]
10887
10888         * configure:
10889         regen
10890         [e7c1f581dfac]
10891
10892         * configure.in:
10893         use man sections 8 and 5 for csops
10894         [87de581bda88]
10895
10896 2003-03-21  Todd C. Miller  <Todd.Miller@courtesan.com>
10897
10898         * configure:
10899         regen
10900         [cb1433a9c7a1]
10901
10902         * configure.in:
10903         Add -lskey or -lopie directly to SUDO_LIBS instead of having
10904         AC_CHECK_LIB() add them to LIBS. Fixes visudo linkage.
10905         [ac5667978939]
10906
10907         * configure:
10908         regen
10909         [638459118a2a]
10910
10911         * configure.in:
10912         Add --with-blibpath for AIX. An alternate libpath may be specified
10913         or
10914         -blibpath support can be disabled. Also change conifgure such that
10915         -blibpath is not specified if no -L libpaths were added to
10916         SUDO_LDFLAGS.
10917         [c7d17b480cad]
10918
10919         * aclocal.m4:
10920         Add --with-blibpath for AIX. An alternate libpath may be specified
10921         or
10922         -blibpath support can be disabled. Also change conifgure such that
10923         -blibpath is not specified if no -L libpaths were added to
10924         SUDO_LDFLAGS.
10925         [37022e991575]
10926
10927         * INSTALL:
10928         Add --with-blibpath for AIX. An alternate libpath may be specified
10929         or
10930         -blibpath support can be disabled. Also change conifgure such that
10931         -blibpath is not specified if no -L libpaths were added to
10932         SUDO_LDFLAGS.
10933         [4b4bbe5bbe1b]
10934
10935         * configure.in:
10936         add AIX blibpath support
10937         [16ba788bf086]
10938
10939         * INSTALL, configure.in:
10940         --with-skey and --with-opie now take an option directory argument
10941         This obsoletes a --with-csops hack (/tools/cs/skey)
10942
10943         Also remove the remaining direct uses of "echo"
10944         [5b4986a90c03]
10945
10946 2003-03-20  Todd C. Miller  <Todd.Miller@courtesan.com>
10947
10948         * configure.in:
10949         Detect KTH Kerberos IV and deal with it. Also make -lroken optional
10950         for KTH Kerberos IV and V.
10951         [119f97b48e18]
10952
10953         * aclocal.m4:
10954         Add SUDO_APPEND_LIBPATH function that add -L/path/to/dir (and
10955         -R/path/to/dir if $with_rpath) to the specified variable.
10956         [e55e49d076ce]
10957
10958         * INSTALL, configure.in:
10959         Add -R/path/to/libs for Solaris and SVR4. There is a new configure
10960         option, --with-rpath to control this behavior.
10961         [d4730c5399ab]
10962
10963         * configure.in:
10964         for kerb4 put libdes after libkrb on the link line
10965         [5c566100eab6]
10966
10967         * auth/kerb4.c:
10968         typo
10969         [6541b72b64a3]
10970
10971         * configure.in:
10972         fix kerberos lib check when a path is specified
10973         [ae833a914c6f]
10974
10975         * logging.c:
10976         Fix boolean thinko in SIGCHLD reaper and call reapchild after
10977         sending mail instead of doing a conditional sudo_waitpid.
10978         [86fa9a35df5a]
10979
10980 2003-03-19  Todd C. Miller  <Todd.Miller@courtesan.com>
10981
10982         * configure:
10983         regen
10984         [e6275cf528ba]
10985
10986         * configure.in:
10987         replace =DIR with [=DIR] where sensible
10988         [c39a59173b38]
10989
10990         * configure.in:
10991         o Use AC_MSG_* instead of "echo" o New Kerberos include/lib
10992         detection based on openssh's configure.in
10993         [5b7a340912df]
10994
10995         * INSTALL:
10996         --with-kerb4 and --with-kerb5 now take an optional argument.
10997         [71ed87fc9c64]
10998
10999 2003-03-16  Todd C. Miller  <Todd.Miller@courtesan.com>
11000
11001         * auth/securid.c:
11002         Kill remaining strcpy(), the programmer's guide says username is 32
11003         bytes.
11004         [bdba70fcd08d]
11005
11006         * auth/kerb4.c:
11007         trat uid_t as unsigned long for printf and use snprintf, not sprintf
11008         [8072f5f8966d]
11009
11010         * auth/rfc1938.c:
11011         use snprintf
11012         [fc0c70c665fe]
11013
11014 2003-03-15  Todd C. Miller  <Todd.Miller@courtesan.com>
11015
11016         * auth/afs.c, auth/aix_auth.c, auth/bsdauth.c, auth/dce.c,
11017         auth/fwtk.c, auth/kerb4.c, auth/kerb5.c, auth/pam.c, auth/passwd.c,
11018         auth/rfc1938.c, auth/sudo_auth.c:
11019         update copyright year
11020         [b0a10ccb1d0e]
11021
11022         * sudo.man.in, sudoers.man.in, visudo.man.in:
11023         update copyright year
11024         [8fce0034eb51]
11025
11026         * LICENSE, Makefile.in, aclocal.m4, alloc.c, check.c, compat.h,
11027         configure.in, env.c, find_path.c, interfaces.c, logging.c, parse.c,
11028         parse.lex, parse.yacc, set_perms.c, sudo.c, sudo.h, sudo.pod,
11029         sudoers.pod, testsudoers.c, version.h, visudo.c, visudo.pod:
11030         update copyright year
11031         [d541e75fe520]
11032
11033         * check.c, env.c, sudo.c:
11034         Cast [ug]ids to unsigned long and printf with %lu
11035         [2ede64d3592b]
11036
11037         * configure:
11038         regen
11039         [c7c3245bdf3e]
11040
11041         * configure.in:
11042         correct error messages for --with-sudoers-{mode,uid,gid}
11043         [77fc15b1c9db]
11044
11045         * alloc.c:
11046         make the malloc(0) error specific to each function to aid tracking
11047         down bugs.
11048         [a58c34374b4b]
11049
11050         * alloc.c:
11051         deal with platforms where size_t is signed and there is no SIZE_MAX
11052         or SIZE_T_MAX
11053         [7192abb4ab4e]
11054
11055         * auth/kerb5.c:
11056         Make this compile w/ Heimdal and fix some gcc warnings.
11057         [f52f026f31c2]
11058
11059         * sudo.c:
11060         Use stat_sudoers macro so --with-stow can work
11061         [c3674735c139]
11062
11063         * INSTALL, config.h.in, configure, configure.in:
11064         Add support for --with-stow based on patches from Robert Uhl
11065         [b274cc1dd52c]
11066
11067         * env.c:
11068         fix indentation
11069         [110d9f1721b1]
11070
11071         * configure.in:
11072         back out rev 1.352
11073         [1eee91c83f11]
11074
11075         * lex.yy.c:
11076         regen
11077         [72fba1c9590b]
11078
11079         * parse.lex:
11080         use strlcpy, not strncpy
11081         [4faccbaeccef]
11082
11083         * set_perms.c:
11084         Fix typo; check pw_uid, not pw_gid after setusercontext() failure.
11085         [33bf0d18fdc1]
11086
11087         * logging.c:
11088         use pid_t
11089         [3e0536993d2c]
11090
11091 2003-03-14  Todd C. Miller  <Todd.Miller@courtesan.com>
11092
11093         * strlcat.c, strlcpy.c:
11094         Make gcc shutup about unused rcsid
11095         [1669a0c74e9e]
11096
11097         * interfaces.c:
11098         Move the n == 0 check for the non-getifaddrs cas
11099         [2460be061b2a]
11100
11101         * auth/rfc1938.c:
11102         skeychallenge() on NetBSD take a size parameter
11103         [05acc2012801]
11104
11105         * configure:
11106         regen
11107         [24bccf4749e8]
11108
11109         * configure.in:
11110         put -ldl after -lpam, not before; fixes static linking on Linux
11111         [7f06b7b2b4d8]
11112
11113         * interfaces.c:
11114         Avoid malloc(0) and fix the loop invariant for the getifaddrs()
11115         case.
11116         [239a55068646]
11117
11118         * sudo.cat, sudoers.cat, visudo.cat:
11119         regen
11120         [4a2eed3981ca]
11121
11122         * sudo.man.in, sudoers.man.in, visudo.man.in:
11123         regen
11124         [2c96ea2cf930]
11125
11126         * Makefile.in:
11127         Preserve copyright notice from .pod file in .man.in file
11128         [519fbd09aebc]
11129
11130         * visudo.pod:
11131         Add sudoers(5) to SEE ALSO
11132         [77ecfe3aedf1]
11133
11134 2003-03-13  Todd C. Miller  <Todd.Miller@courtesan.com>
11135
11136         * lex.yy.c:
11137         regen
11138         [6f5751ce0b74]
11139
11140         * parse.lex:
11141         Don't assume libc can realloc() a NULL string. If malloc/realloc
11142         fails, make sure we just return; yyerror() is not terminal.
11143         [1b8618623708]
11144
11145         * lex.yy.c:
11146         regen
11147         [5d31b46191c6]
11148
11149         * parse.lex:
11150         simplify fill_args a little and use strlcpy for paranoia
11151         [0ea35a55542b]
11152
11153         * sudo.tab.c:
11154         regen
11155         [5a8d508d708b]
11156
11157         * check.c, env.c, find_path.c, parse.c, parse.yacc, sudo.c,
11158         testsudoers.c:
11159         Use strlc{at,py} for paranoia's sake and exit on overflow. In all
11160         cases the strings were either pre-allocated to the correct size of
11161         length checks were done before the copy but a little paranoia can go
11162         a long way.
11163         [e73d28f1d14e]
11164
11165         * sudo.h:
11166         Add strlc{at,py} protos
11167         [748ffc7fc7f4]
11168
11169         * env.c, interfaces.c:
11170         Use erealloc3()
11171         [47f2cb46aba8]
11172
11173         * configure:
11174         regen
11175         [e7e2fb79f935]
11176
11177         * alloc.c:
11178         Oflow test of nmemb > SIZE_MAX / size is fine (don't need >=). Use
11179         memcpy() instead of strcpy() in estrdup() so this is strcpy()-free.
11180         [7e0fa4d6fc1d]
11181
11182         * sudo.c:
11183         snprintf() a uid as %lu, not %ld to match the MAX_UID_T_LEN test in
11184         configure.
11185         [09ea4d3959e9]
11186
11187         * aclocal.m4:
11188         In MAX_UID_T_LEN test cast uid_t to unsigned long, just unsigned.
11189         [31b4fdfdb8bf]
11190
11191 2003-03-12  Todd C. Miller  <Todd.Miller@courtesan.com>
11192
11193         * sudo.c:
11194         Use snprintf() for paranoia
11195         [a2659ceb46de]
11196
11197         * parse.yacc:
11198         Use emalloc2 and erealloc3
11199         [90a069842401]
11200
11201         * Makefile.in:
11202         strlc{at,py} for those w/o it
11203         [bac82dc916ee]
11204
11205         * strlcat.c, strlcpy.c:
11206         stlc{at,py} for those w/o it.
11207         [ce7254f5db09]
11208
11209         * config.h.in, configure, configure.in:
11210         Add stlc{at,py} for those w/o it.
11211         [00f08219657a]
11212
11213         * alloc.c, sudo.h:
11214         Add erealloc3(), a realloc() version of emalloc2().
11215         [c96eaf08bbed]
11216
11217         * interfaces.c, sudo.c:
11218         Use emalloc2() to allocate N things of a certain size.
11219         [1e0aba365555]
11220
11221         * alloc.c, sudo.h:
11222         Add emalloc2() -- like calloc() but w/o the bzero and with
11223         error/oflow checking.
11224         [292150bc4153]
11225
11226         * alloc.c:
11227         Error out on malloc(0); suggested by theo
11228         [995279e81326]
11229
11230 2003-03-10  Todd C. Miller  <Todd.Miller@courtesan.com>
11231
11232         * configure, configure.in:
11233         fix a typo; David Krause
11234         [f161213a17ab]
11235
11236 2003-03-07  Todd C. Miller  <Todd.Miller@courtesan.com>
11237
11238         * sudo.pod:
11239         fix typo
11240         [3ae5ad9a351a]
11241
11242 2003-03-04  Todd C. Miller  <Todd.Miller@courtesan.com>
11243
11244         * env.c:
11245         Remove DYLD_ from the environment for MacOS X; from bbraun
11246         [38caad5a3935]
11247
11248 2003-03-01  Todd C. Miller  <Todd.Miller@courtesan.com>
11249
11250         * config.h.in, configure.in:
11251         not not; Anil Madhavapeddy
11252         [d4f4f0bfc66b]
11253
11254 2003-01-23  Todd C. Miller  <Todd.Miller@courtesan.com>
11255
11256         * sudo.pod, sudoers.pod, visudo.pod:
11257         typos; jmc@openbsd.org
11258         [868c0f09bf9e]
11259
11260 2003-01-20  Todd C. Miller  <Todd.Miller@courtesan.com>
11261
11262         * parse.yacc:
11263         Add some missing ';' rule terminators that bison warns about.
11264         [535b0b8dcce5]
11265
11266         * config.sub:
11267         fix typo I introduced in last merge
11268         [81db4e4f43fe]
11269
11270         * configure:
11271         regenerate with autoconf 2.57
11272         [ca0c1e9564f8]
11273
11274         * config.h.in:
11275         Add missing "$HOME"
11276         [209186197ad1]
11277
11278         * configure.in:
11279         Add some more square backets to make autoconf 2.57 happy
11280         [b5639c14faf7]
11281
11282         * config.sub, mkinstalldirs:
11283         Updates from autoconf-2.57
11284         [36be35eb331b]
11285
11286         * config.guess:
11287         Updates from autoconf-2.57
11288         [ea0f8ca622af]
11289
11290 2003-01-17  Todd C. Miller  <Todd.Miller@courtesan.com>
11291
11292         * sudo.tab.h:
11293         regen
11294         [13a65a421567]
11295
11296         * lex.yy.c, sudo.tab.c:
11297         regen
11298         [0b529db7cb6d]
11299
11300         * parse.lex, parse.yacc, sudoers.pod:
11301         Add support for Defaults>RunasUser
11302         [20d726373175]
11303
11304 2003-01-07  Todd C. Miller  <Todd.Miller@courtesan.com>
11305
11306         * visudo.c:
11307         fclose() yyin after each yyparse() is done and use fopen() instead
11308         of using freopen().
11309         [587f8a2df857]
11310
11311         * parse.lex:
11312         Better fix for sudoers files w/o a newline before EOF. It looks
11313         like the issue is that yyrestart() does not reset the start
11314         condition to INITIAL which is an issue since we parse sudoers
11315         multiple times.
11316         [920f8326968a]
11317
11318 2003-01-06  Todd C. Miller  <Todd.Miller@courtesan.com>
11319
11320         * parse.lex:
11321         Work around what appears to be a flex bug when dealing with files
11322         that lack a final newline before EOF. This adds a rule to match EOF
11323         in the non-initial states which resets the state to INITIAL and
11324         throws an error.
11325         [b94943bb1f81]
11326
11327         * visudo.c:
11328         o The parser needs sudoers to end with a newline but some editors
11329         (emacs) may not add one. Check for a missing newline at EOF and
11330         add one if needed. o Set quiet flag during initial sudoers parse (to
11331         get options) o Move yyrestart() call and always use freopen() to
11332         open yyin after initial sudoers parse.
11333         [12d12f9b07aa]
11334
11335 2002-12-15  Todd C. Miller  <Todd.Miller@courtesan.com>
11336
11337         * set_perms.c:
11338         Fix pasto/thinko in setresgid()/setregid() usage. Want to set
11339         effective gid, not real gid, when reading sudoers.
11340         [c7d18b810fcd]
11341
11342         * set_perms.c:
11343         don't compile set_perms_posix if we have setreuid or setresuid
11344         [b9cea7a81a29]
11345
11346 2002-12-14  Todd C. Miller  <Todd.Miller@courtesan.com>
11347
11348         * sudo.pod, sudoers.pod:
11349         document new prompt escapes
11350         [2f088076b640]
11351
11352         * check.c:
11353         Add %U and %H escapes and redo prompt rewriting. "%%" now gets
11354         collapsed to "%" as was originally intended. This also gets rid of
11355         lastchar (does lookahead instead of lookback) which should simplify
11356         the logic slightly.
11357         [4b707b77b3c7]
11358
11359 2002-12-13  Todd C. Miller  <Todd.Miller@courtesan.com>
11360
11361         * tgetpass.c:
11362         Write the prompt *after* turning off echo to avoid some password
11363         characters being echoed on heavily-loaded machines with fast
11364         typists.
11365         [d38c57775915]
11366
11367         * config.sub:
11368         Add support for mipseb; wiz@danbala.tuwien.ac.at
11369         [cfdac87ed5c8]
11370
11371         * configure.in:
11372         Fix IRIX fallout from name changes in man dir/sect Makefile
11373         variables. Patch from erici AT motown DOT cc DOT utexas DOT edu
11374         [9a7618755c23]
11375
11376         * auth/pam.c:
11377         Keep a local copy of tgetpass_flags so we don't add in TGP_ECHO to
11378         the global copy. Problem noted by Peter Pentchev.
11379         [d0a3e189cb06]
11380
11381 2002-11-28  Todd C. Miller  <Todd.Miller@courtesan.com>
11382
11383         * sudo.tab.c:
11384         regen
11385         [23b931359087]
11386
11387         * parse.yacc:
11388         Add missing yyerror() calls; YYERROR does not seem to call this for
11389         us.
11390         [0be7aeb3ac57]
11391
11392 2002-11-26  Todd C. Miller  <Todd.Miller@courtesan.com>
11393
11394         * sudo.c:
11395         fix typo in comment; Pedro Bastos
11396         [d7406c460e99]
11397
11398 2002-11-22  Todd C. Miller  <Todd.Miller@courtesan.com>
11399
11400         * INSTALL:
11401         document --disable-setresuid
11402         [fbd03d03a027]
11403
11404         * auth/aix_auth.c, auth/bsdauth.c, auth/fwtk.c, auth/pam.c,
11405         auth/sudo_auth.c:
11406         Sprinkle some volatile qualifiers to prevent over-enthusiastic
11407         optimizers from removing memset() calls.
11408         [5370ac0e6129]
11409
11410         * logging.c, parse.yacc:
11411         minor sign fixes pointed out by gcc -Wsign-compare
11412         [db872438337f]
11413
11414         * set_perms.c, sudo.c, sudo.h:
11415         Revamp set_perms. We now use a version based on setresuid() or
11416         setreuid() when possible since that allows us to support the
11417         stay_setuid option and we always know exactly what the semantics
11418         will be (various Linux kernels have broken POSIX saved uid support).
11419         [523bc212396c]
11420
11421         * config.h.in, configure:
11422         regen from configure.in
11423         [351877ea2624]
11424
11425         * configure.in:
11426         Add checks for setresuid() and a way to disable using it
11427         [a5b21653d169]
11428
11429         * compat.h:
11430         No long need to emulate set*[ug]id() via setres[ug]id() or
11431         setre[ug]id(). The new set_perms stuff only uses things it knows are
11432         there.
11433         [47884bd5d1d9]
11434
11435         * sudo.c:
11436         Before exec, restore state of signal handlers to be the same as when
11437         we were initialy invoked instead of just reseting to SIG_DFL. Fixes
11438         a problem when using sudo with nohup. Based on a patch from Paul
11439         Markham.
11440         [f8f5a1484faa]
11441
11442         * sudo.c:
11443         o timestamp_uid should be uid_t, not int o clarify error message
11444         when sudo is run by root and no_root_sudo is set
11445         [19dda0734264]
11446
11447 2002-09-19  Todd C. Miller  <Todd.Miller@courtesan.com>
11448
11449         * README:
11450         update ftp link for bison
11451         [98bc191016e3]
11452
11453 2002-07-20  Todd C. Miller  <Todd.Miller@courtesan.com>
11454
11455         * set_perms.c:
11456         Error out if setusercontext() fails and the runas user is not root.
11457         [089f9ade4686]
11458
11459 2002-05-20  Todd C. Miller  <Todd.Miller@courtesan.com>
11460
11461         * auth/securid5.c:
11462         Fix rcsid
11463         [07e9e85dcc2f]
11464
11465         * configure.in:
11466         Fix SecurID API test
11467         [5ec201f454a5]
11468
11469 2002-05-17  Todd C. Miller  <Todd.Miller@courtesan.com>
11470
11471         * env.c:
11472         typo in comment
11473         [9d385c9ac533]
11474
11475         * configure.in:
11476         securid5 stuff needs pthreads. Just adding -lpthread is suboptimal
11477         but I don't see a better way at the moment.
11478         [f89e55cbb313]
11479
11480         * Makefile.in, auth/securid5.c:
11481         SecurID API version 5 support from Michael Stroucken
11482         [68500ac7e531]
11483
11484         * configure.in:
11485         Add check for SecurID 5.0 API
11486         [1ee242e6de6b]
11487
11488 2002-05-08  Todd C. Miller  <Todd.Miller@courtesan.com>
11489
11490         * strerror.c:
11491         We actually do still need config.h to get the 'const' definition for
11492         K&R C.
11493         [d9c982032d85]
11494
11495 2002-05-05  Todd C. Miller  <Todd.Miller@courtesan.com>
11496
11497         * configure:
11498         regen with autoconf 2.5.3
11499         [c71fc086eef5]
11500
11501         * configure.in:
11502         Don't set sysconfdir to '/etc' if the user has specified a --prefix.
11503         [d90da1efafd9]
11504
11505         * configure.in:
11506         Some fixes for autoconf 2.53 from Robert Uhl o don't AC_SUBST
11507         LIBOBJS o force a 4th arg for AC_CHECK_HEADER() to workaround a bug
11508         [dd67afefa90d]
11509
11510         * env.c, sudo.c, sudo.h:
11511         No need for dump_badenv() now that dump_defaults() knows how to dump
11512         lists.
11513         [6bcda468501d]
11514
11515         * BUGS, INSTALL, INSTALL.binary, Makefile.in, README, configure.in,
11516         version.h:
11517         ++version
11518         [44e3b8f95f0b]
11519
11520         * sudoers.pod:
11521         document timestampowner
11522         [37ebd69e9dd1]
11523
11524         * check.c:
11525         Don't call set_perms() when doing timestamp stuff unless
11526         timestamp_uid != 0.
11527         [63a63d41d18c]
11528
11529         * auth/sudo_auth.c, check.c, logging.c, parse.c, set_perms.c, sudo.c,
11530         sudo.h, testsudoers.c:
11531         g/c second arg to set_perms--it is no longer used
11532         [7ac4ce50c612]
11533
11534 2002-05-03  Todd C. Miller  <Todd.Miller@courtesan.com>
11535
11536         * check.c, set_perms.c, sudo.c, sudo.h:
11537         Add support for non-root timestamp dirs. This allows the timestamp
11538         dir to be shared via NFS (though this is not recommended).
11539         [faa83dd2b7fb]
11540
11541         * def_data.c, def_data.h, def_data.in:
11542         Add timestampowner, "Owner of the authentication timestamp dir"
11543         [d47640d4c86a]
11544
11545 2002-05-02  Todd C. Miller  <Todd.Miller@courtesan.com>
11546
11547         * env.c:
11548         Don't try to pre-compute the size of the new envp, just allocate
11549         space up front and realloc as needed. Changes to the new env
11550         pointer must all be made through insert_env() which now keeps track
11551         of spaced used and allocates as needed.
11552         [39bc934a9f2c]
11553
11554 2002-04-26  Todd C. Miller  <Todd.Miller@courtesan.com>
11555
11556         * configure:
11557         regen
11558         [0e12c09bb790]
11559
11560         * configure.in:
11561         Fix two typo/pastos; from jrj@purdue.edu
11562         [b718a4bf1181]
11563
11564 2002-04-25  Todd C. Miller  <Todd.Miller@courtesan.com>
11565
11566         * INSTALL.binary, README:
11567         ++version
11568         [a1e33027278c] [SUDO_1_6_6]
11569
11570         * configure, sudo.cat, sudo.man.in, sudoers.cat, sudoers.man.in,
11571         visudo.cat, visudo.man.in:
11572         regen
11573         [19eb2be283ef]
11574
11575         * CHANGES, RUNSON, TODO:
11576         Sync with 1.6.6
11577         [2ff9a9087f63]
11578
11579         * check.c:
11580         The the loop used to expand %h and %u, the lastchar variable was not
11581         being initialized. This means that if the last char in the prompt
11582         is '%' and the first char is 'h' or 'u' a extra copy of the host or
11583         user name would be copied, for which space had not been allocated.
11584         [b2e27197857d]
11585
11586 2002-04-18  Todd C. Miller  <Todd.Miller@courtesan.com>
11587
11588         * BUGS, INSTALL, Makefile.in, configure.in, version.h:
11589         crank version to 1.6.6
11590         [cfd08689e597]
11591
11592         * auth/afs.c:
11593         #undef VOID to get rid of an AFS warning
11594         [b40760564dc1]
11595
11596         * env.c:
11597         Use easprintf instead of emalloc + sprintf for some things.
11598         [e7bfe2e69a03]
11599
11600 2002-03-16  Todd C. Miller  <Todd.Miller@courtesan.com>
11601
11602         * lex.yy.c, sudo.tab.c:
11603         regen
11604         [35327104383d]
11605
11606         * parse.c, parse.lex, parse.yacc, testsudoers.c:
11607         Remove Chris Jepeway's email address so people don't bug him ;-)
11608         [c03410747a69]
11609
11610 2002-03-12  Todd C. Miller  <Todd.Miller@courtesan.com>
11611
11612         * sudo.c:
11613         Move endpwent() to be after set_perms(PERM_RUNAS, ...) and also call
11614         endgrent() at the same time.
11615         [28b6097d5d1a]
11616
11617 2002-02-22  Todd C. Miller  <Todd.Miller@courtesan.com>
11618
11619         * INSTALL:
11620         Make it clear which configure options take arguments.
11621         [38529e7efad0]
11622
11623 2002-01-25  Todd C. Miller  <Todd.Miller@courtesan.com>
11624
11625         * compat.h:
11626         HP-UX 9.x has RLIMIT_* but no RLIM_INFINITY. If there is no
11627         RLIM_INFINITY, just pretend it is -1. This works because we only
11628         check for RLIM_INFINITY and do not set anything to that value.
11629         [53173d34e6eb]
11630
11631 2002-01-22  Todd C. Miller  <Todd.Miller@courtesan.com>
11632
11633         * auth/pam.c:
11634         Zero and free allocated memory when there is a conversation error.
11635         [e342133db579]
11636
11637         * auth/bsdauth.c:
11638         Use sigaction() not signal()
11639         [126c2790561f]
11640
11641         * INSTALL:
11642         Mention that some linux kernels have broken POSIX saved ID support
11643         [571ef1a893d3]
11644
11645         * CHANGES:
11646         checkpoint for 1.6.5p2
11647         [9e9e456f7f43]
11648
11649         * configure:
11650         regen
11651         [d53703a46708]
11652
11653         * configure.in:
11654         Add --disable-setreuid flag
11655         [3b9f2679cb55]
11656
11657         * INSTALL:
11658         Document new --disable-setreuid option and change description for
11659         --disable-saved-ids to match new error message.
11660         [14fd3e5f60a5]
11661
11662         * set_perms.c:
11663         fatal() now takes an argument that determines whether or not to call
11664         perror().
11665         [d826b25e62ff]
11666
11667         * TROUBLESHOOTING:
11668         Update for new error messages from set_perms()
11669         [78007c3f76a9]
11670
11671         * PORTING:
11672         Update for new error messages from set_perms()
11673         [60c545a6bcff]
11674
11675 2002-01-21  Todd C. Miller  <Todd.Miller@courtesan.com>
11676
11677         * auth/pam.c:
11678         Make this compile w/o warnings
11679         [b90843a29af5]
11680
11681         * auth/pam.c:
11682         Mention that we can't use pam_acct_mgmt()
11683         [1dfc5a6e0479]
11684
11685         * auth/aix_auth.c, auth/bsdauth.c, auth/fwtk.c, auth/pam.c:
11686         The user's password was not zeroed after use when AIX
11687         authentication, BSD authentication, FWTK or PAM was in use.
11688         [b18fff30b1e7]
11689
11690 2002-01-20  Todd C. Miller  <Todd.Miller@courtesan.com>
11691
11692         * auth/pam.c:
11693         Avoid giving PAM a NULL password response, use the empty string
11694         instead. This avoids a log warning when the user hits ^C at the
11695         password prompt when PAM is in use.
11696         [c3315805e4e4]
11697
11698         * auth/pam.c:
11699         Don't check the return value of pam_setcred(). In Linux-PAM 0.75
11700         pam_setcred() returns the last saved return code, not the return
11701         code for the setcred module. Because we haven't called
11702         pam_authenticate(), this is not set and so pam_setcred() returns
11703         PAM_PERM_DENIED.
11704         [73db145fa179]
11705
11706         * Makefile.in:
11707         Don't need a '/' between $(DESTDIR) and a directory.
11708         [0901ca618176]
11709
11710         * Makefile.binary:
11711         Don't need a '/' between $(DESTDIR) and a directory.
11712         [cd7eb6098b87]
11713
11714 2002-01-18  Todd C. Miller  <Todd.Miller@courtesan.com>
11715
11716         * configure:
11717         regen
11718         [41b12c039282]
11719
11720         * configure.in:
11721         o BSDi also has a bogus setreuid() o Old FreeBSD has a bogus
11722         setreuid() o new NetBSD has a real setreuid() o add check for
11723         freeifaddrs() if getifaddrs() exists.
11724         [a82ee3b01733]
11725
11726         * config.h.in, interfaces.c:
11727         Older BSDi releases lack freeifaddrs() so add a test for that and if
11728         it is not present just use free().
11729         [6270671ea9d5]
11730
11731 2002-01-17  Todd C. Miller  <Todd.Miller@courtesan.com>
11732
11733         * CHANGES, RUNSON:
11734         Checkpoint for 1.6.5p1
11735         [26134ecf9b36]
11736
11737         * auth/passwd.c:
11738         Return AUTH_FAILURE in passwd_init() if skeyaccess() denies access
11739         to normal passwords, not AUTH_FATAL (which just causes an exit).
11740         [785e0f4bc0e2]
11741
11742         * visudo.c:
11743         Don't use memory after it has been freed.
11744         [c60492739fdb]
11745
11746         * auth/passwd.c:
11747         skeyaccess() wants a struct passwd * not a char *; Patch from
11748         Phillip E. Lobbes
11749         [65a1d3806fcd] [SUDO_1_6_5]
11750
11751         * BUGS:
11752         ++version
11753         [b2e1825e692e]
11754
11755         * CHANGES, RUNSON, TODO:
11756         checkpoint for sudo 1.6.5
11757         [d730945622e7]
11758
11759 2002-01-16  Todd C. Miller  <Todd.Miller@courtesan.com>
11760
11761         * configure:
11762         regen
11763         [49744c403ac9]
11764
11765         * INSTALL, INSTALL.binary, Makefile.in, README, configure.in:
11766         version 1.6.5
11767         [ec30a5f7fc45]
11768
11769         * sudo.cat, sudo.man.in, sudoers.cat, sudoers.man.in, visudo.cat,
11770         visudo.man.in:
11771         sudo version 1.6.5
11772         [458a3bed535d]
11773
11774         * logging.c:
11775         o when invoking the mailer as root use a hard-coded environment that
11776         doesn't include any info from the user's environment. Basically
11777         paranoia.
11778
11779         o Add support for the NO_ROOT_MAILER compile-time option and run the
11780         mailer as the user and not root if NO_ROOT_MAILER is defined.
11781         [4df351ec92ce]
11782
11783         * set_perms.c, sudo.h:
11784         Bring back PERM_FULL_USER
11785         [edb6039bb284]
11786
11787         * configure:
11788         regen
11789         [3eb2943afa03]
11790
11791         * version.h:
11792         version 1.6.5
11793         [044fc9a0c72b]
11794
11795         * INSTALL, config.h.in, configure.in:
11796         Add --disable-root-mailer option to run the mailer as the user and
11797         not root.
11798         [e9f805397963]
11799
11800         * CHANGES:
11801         checkpoint for 1.6.4p2
11802         [b58aae5aa98a]
11803
11804         * PORTING:
11805         Mention the "seteuid(0): Operation not permitted" problem here too
11806         just for good measure.
11807         [90135b37a691]
11808
11809 2002-01-15  Todd C. Miller  <Todd.Miller@courtesan.com>
11810
11811         * env.c, getspwuid.c, sudo.c:
11812         The SHELL environment variable was preserved from the user's
11813         environment instead of being reset based on the passwd database when
11814         the "env_reset" option was used. Now it is reset as it should be.
11815         [300066ef3c71]
11816
11817         * configure:
11818         regen
11819         [a47d779e6552]
11820
11821         * INSTALL, TROUBLESHOOTING, config.h.in, configure.in, set_perms.c,
11822         sudo.c:
11823         Add a configure option to turn off use of POSIX saved IDs
11824         [fb18cc8e94d0]
11825
11826         * configure:
11827         regen
11828         [d4f2f20025b6]
11829
11830         * configure.in:
11831         add --with-efence option
11832         [45c4f33a8e88]
11833
11834         * sudo.c:
11835         Only OR in MODE_RESET_HOME if MODE_RUN is set. Fixes a problem where
11836         "sudo -l" would not work if always_set_home was set.
11837         [c3a6de6c4800]
11838
11839         * lex.yy.c:
11840         regen
11841         [417424452998]
11842
11843         * parse.lex:
11844         Quoted commas were not being treated correctly in command line
11845         arguments.
11846         [753415541b37]
11847
11848         * sudo.c:
11849         o Move the call to rebuild_env() until after MODE_RESET_HOME is set.
11850         Otherwise, the set_home option has no effect.
11851
11852         o Fix use of freed memory when the "fqdn" flag is set. This was
11853         introduced by the fix for the "segv when gethostbynam() fails" bug.
11854         Also, we no longer call set_fqdn() if the "fqdn" flag is not set so
11855         there is no need to check the "fqdn" flag in set_fqdn() itself.
11856         [4b6a4245c04e]
11857
11858         * env.c:
11859         Add 'continue' statements to optimize the switch statement. From
11860         Solar.
11861         [a82c76975ae5]
11862
11863 2002-01-13  Todd C. Miller  <Todd.Miller@courtesan.com>
11864
11865         * sudoers.cat, sudoers.man.in:
11866         Regen from new sudoers.pod
11867         [6ecc07b3d0e1] [SUDO_1_6_4]
11868
11869         * sudoers.pod:
11870         Add caveat about stay_setuid flag
11871         [9d228a7bea1b]
11872
11873         * sudo.c:
11874         If set_perms == set_perms_posix and the stay_setuid flag is not set,
11875         set all uids to 0 and use set_perms_fallback().
11876         [c4e54d1ec86f]
11877
11878         * set_perms.c, sudo.h:
11879         Remove PERM_FULL_USER (which is no longer used) and add
11880         PERM_FULL_ROOT (used when exec'ing the mailer).
11881         [15406c522ea2]
11882
11883         * logging.c:
11884         Use set_perms(PERM_FULL_ROOT, 0) before exec'ing the mailer since we
11885         never want to run the mailer setuid.
11886         [2294853e0666]
11887
11888 2002-01-12  Todd C. Miller  <Todd.Miller@courtesan.com>
11889
11890         * sudo.cat, sudo.man.in, sudo.pod, visudo.cat, visudo.man.in,
11891         visudo.pod:
11892         Use sudo.ws instead of courtesan.com in URLs
11893         [55204002a308]
11894
11895         * Makefile.binary, Makefile.in:
11896         Fix mansect substitution
11897         [b7b5cbc3aa91]
11898
11899         * Makefile.in:
11900         Substitute man sections in Makefile.binary
11901         [040deb785e56]
11902
11903         * Makefile.binary:
11904         Sync install targets with Makefile.in and substitute in man
11905         sections.
11906         [77882a275281]
11907
11908         * INSTALL, INSTALL.binary:
11909         version is 1.6.4
11910         [0f87aabbcb70]
11911
11912         * Makefile.in:
11913         Repair bindist target
11914         [8d43bfe7e2d1]
11915
11916         * CHANGES:
11917         sync for 1.6.4
11918         [13ca3d4a0a72]
11919
11920 2002-01-10  Todd C. Miller  <Todd.Miller@courtesan.com>
11921
11922         * install-sh:
11923         Fix case where neither whoami nor id are found
11924         [424dd270bc47]
11925
11926 2002-01-09  Todd C. Miller  <Todd.Miller@courtesan.com>
11927
11928         * install-sh:
11929         If neither whoami nor id exists, just assume we are root.
11930         [2d2644e42c53]
11931
11932         * alloc.c:
11933         Add explicit cast to (VOID *) on malloc/realloc. Seems to be needed
11934         on AIX which for some reason isn't pulling in the malloc prototype.
11935         [231440d2ee3b]
11936
11937 2002-01-08  Todd C. Miller  <Todd.Miller@courtesan.com>
11938
11939         * Makefile.in, aclocal.m4, compat.h, parse.c, sudo.c:
11940         (c) 2002
11941         [700e3b41a68e]
11942
11943         * CHANGES:
11944         checkpoint
11945         [33e604bd8d5b]
11946
11947         * sudo.c:
11948         Defer assigning new environment until right before the exec.
11949         [f13c49e75c1c]
11950
11951         * parse.c:
11952         kill extra blank line
11953         [12ef22e9dae3]
11954
11955 2002-01-07  Todd C. Miller  <Todd.Miller@courtesan.com>
11956
11957         * configure:
11958         regen
11959         [a6cd2d788f74]
11960
11961         * configure.in:
11962         Use -O not -O2 for m88k-motorola-sysv* since motorola gcc-derived
11963         compiler doesn't recognise -O2.
11964         [5234aa543692]
11965
11966         * HISTORY:
11967         Clarify origins of Root Group sudo a bit based on info from
11968         billp@rootgroup.com
11969         [4deef01c4208]
11970
11971 2002-01-03  Todd C. Miller  <Todd.Miller@courtesan.com>
11972
11973         * LICENSE:
11974         2002
11975         [6c8e089dbd1a]
11976
11977         * CHANGES:
11978         checkpoint for 1.6.4rc1
11979         [3349eb87a49f]
11980
11981 2002-01-02  Todd C. Miller  <Todd.Miller@courtesan.com>
11982
11983         * config.h.in:
11984         now generated via autoheader
11985         [84657d303cb9]
11986
11987         * configure:
11988         regen
11989         [207bfa6a13f6]
11990
11991         * compat.h:
11992         Move in some stuff that was previously in config.h.
11993         [e576d8b6480f]
11994
11995         * aclocal.m4, configure.in:
11996         Add info for autoheader.
11997         [0549cd5da27c]
11998
11999 2002-01-01  Todd C. Miller  <Todd.Miller@courtesan.com>
12000
12001         * Makefile.in:
12002         o Add DESTDIR support o Use -M, -O, and -G instead of -m, -o, and
12003         -g to facilitate non-root installs
12004         [619216038f56]
12005
12006         * install-sh:
12007         Add -M option (like -m but only for root) If we can't find "whoami",
12008         use "id" w/ some sed.
12009         [b39121c8b792]
12010
12011         * configure:
12012         regen
12013         [b39b93ff9804]
12014
12015         * configure.in:
12016         allow user to always override mansectsu and mansectform
12017         [0fca5e63bd90]
12018
12019 2001-12-31  Todd C. Miller  <Todd.Miller@courtesan.com>
12020
12021         * mkinstalldirs:
12022         update from autoconf 2.52
12023         [07bd75a508c3]
12024
12025         * config.guess, config.sub:
12026         Update from autoconf 2.52
12027         [857b90fe31b7]
12028
12029         * configure:
12030         regen with autoconf 2.52
12031         [08e7d1ea2aeb]
12032
12033         * configure.in:
12034         o Call AC_PROG_CC_STDC to find out how to run the compiler in ANSI
12035         mode o Remove compiler-specific checks for HP-UX now that we use
12036         AC_PROG_CC_STDC
12037         [d433a70b6208]
12038
12039         * RUNSON:
12040         Checkpoint
12041         [babf6d2235d1]
12042
12043         * auth/pam.c:
12044         o Add pam_prep_user function to call pam_setcred() for the target
12045         user; on Linux this often sets resource limits. o When calling
12046         pam_end(), try to convert the auth->result to a PAM_FOO value.
12047         This is a hack--we really need to stash the last PAM_FOO value
12048         received and use that instead.
12049         [6ad6f340dd2a]
12050
12051         * set_perms.c, sudo.h:
12052         o Add pam_prep_user function to call pam_setcred() for the target
12053         user; on Linux this often sets resource limits.
12054         [67795421ac82]
12055
12056         * env.c:
12057         Fix off by one error in number of bytes allocated via malloc (does
12058         not affected any released version of sudo).
12059         [5f5915360111]
12060
12061 2001-12-30  Todd C. Miller  <Todd.Miller@courtesan.com>
12062
12063         * lex.yy.c:
12064         regen
12065         [8208c0277775]
12066
12067         * parse.lex:
12068         Allow '@', '(', ')', ':' in arguments to a defaults variable w/o
12069         requiring that they be quoted.
12070         [ae59bc8f68dd]
12071
12072         * sudoers.cat, sudoers.man.in, sudoers.pod:
12073         Mention that no double quotes are needed when
12074         adding/deleting/assigning a single value to a list.
12075         [25efc940a1f0]
12076
12077         * Makefile.in:
12078         Don't rely on mkdefaults being executable, call perl explicitly.
12079         [6edc97ba5f1d]
12080
12081         * sudo.tab.c:
12082         regen
12083         [49130b2e7e4d]
12084
12085         * parse.yacc:
12086         Remove some XXX that are no longer relevant.
12087         [d460ac0d3767]
12088
12089         * defaults.c:
12090         o Roll our own loop instead of using strpbrk() for better
12091         grokability o When adding to a list we must malloc() and use
12092         memcpy(), not strdup() since we must only copy len bytes from str.
12093         [649bef08e1f0]
12094
12095 2001-12-21  Todd C. Miller  <Todd.Miller@courtesan.com>
12096
12097         * sudo.tab.c:
12098         regen
12099         [f0bbf2c38c0e]
12100
12101         * parse.yacc:
12102         typo in comment
12103         [2563711ff593]
12104
12105 2001-12-19  Todd C. Miller  <Todd.Miller@courtesan.com>
12106
12107         * CHANGES:
12108         checkpoint
12109         [a6d8a29fb30e]
12110
12111         * configure:
12112         regen
12113         [bdfcaaf3bd13]
12114
12115         * configure.in:
12116         avoid the -g flag unless --with-devel was specified
12117         [a976707bef30]
12118
12119         * Makefile.in:
12120         mkdefaults, def_data.in and sigaction.c were missing from the
12121         tarball
12122         [6917ffbaa412]
12123
12124         * Makefile.in:
12125         def_data.c was missing
12126         [87c78b11453d]
12127
12128 2001-12-18  Todd C. Miller  <Todd.Miller@courtesan.com>
12129
12130         * env.c:
12131         Fix setting of $USER and $LOGNAME in the non-reset_env case. Also
12132         allow HOME, SHELL, LOGNAME, and USER to be specified in keep_env
12133         [fc8698e6a45e]
12134
12135         * TODO:
12136         Another TODO item
12137         [6f251d6cd466]
12138
12139         * sudoers:
12140         Add comment for Default section so folks know where it should go.
12141         [7edba626f392]
12142
12143 2001-12-17  Todd C. Miller  <Todd.Miller@courtesan.com>
12144
12145         * tgetpass.c:
12146         Use TCSETAF, not TCSETA to set terminal in termio case
12147         [fbd172f6c5d3]
12148
12149         * sudoers.cat, sudoers.man.in:
12150         regen from sudoers.pod
12151         [64edd2de816e]
12152
12153         * sudoers.pod:
12154         o Typo, Runas_User_List should be Runas_List o a User_List can not
12155         contain a uid o mention that the Defaults section should come after
12156         Alias definitions but before the user specifications
12157         [54070ba2092b]
12158
12159 2001-12-15  Todd C. Miller  <Todd.Miller@courtesan.com>
12160
12161         * sudoers.cat, sudoers.man.in:
12162         regen
12163         [e62d1d97693c]
12164
12165         * sudoers.pod:
12166         Fix listpw and verifypw sections, they were not being formatted
12167         properly.
12168         [123868c2f3e9]
12169
12170         * sudoers.cat, sudoers.man.in:
12171         regen
12172         [f94841f8b374]
12173
12174         * sudoers.pod:
12175         fix typos
12176         [f278f1c1184e]
12177
12178         * configure:
12179         regen
12180         [d2270049ba9f]
12181
12182         * config.h.in, configure.in:
12183         use AC_SYS_POSIX_TERMIOS instead of rolling our own
12184         [c1a13f1354b9]
12185
12186         * README:
12187         Reference sudo.ws not courtesan.com
12188         [ca13be67ebd7]
12189
12190         * PORTING:
12191         Add notes on shadow passwords
12192         [aa13863f2314]
12193
12194         * BUGS:
12195         In list mode (sudo -l), characters escaped with a backslash are
12196         shown verbatim with the backslash.
12197         [1a75a2858be2]
12198
12199         * sudoers:
12200         Add simple examples from OpenBSD (Marc Espie)
12201         [3ae9a9ae4125]
12202
12203         * tgetpass.c:
12204         Catch SIGTTIN and SIGTTOU too and treat them like SIGTSTP.
12205         [f8817699ee10]
12206
12207         * CHANGES:
12208         minor prettyification
12209         [f523587929b9]
12210
12211         * CHANGES:
12212         Updated change log
12213         [39d9010ee7a8]
12214
12215         * testsudoers.c:
12216         Fix CIDR handling here too.
12217         [c91db8344c32]
12218
12219         * auth/pam.c:
12220         Apparently a NULL response is OK
12221         [83bae61078d9]
12222
12223         * TODO:
12224         Checkpoint for upcoming beta release
12225         [efb95c09df2a]
12226
12227         * TROUBLESHOOTING:
12228         Many people believe that adding a runas spec should obviate the need
12229         for the -u flag. It does not.
12230         [c698bad85b0e]
12231
12232         * RUNSON:
12233         checkpoint update for upcoming 1.6.4 beta
12234         [009e465a0a45]
12235
12236         * config.h.in:
12237         o Add HAVE_STDLIB_H and HAVE_MEMORY_H o Define HAVE_STRINGS_H even
12238         if HAVE_STRING_H is defined -- this is safe now
12239         [d27c035f4e14]
12240
12241         * PORTING:
12242         Add signals section
12243         [2d24c13cb3c8]
12244
12245         * configure:
12246         regen
12247         [2b80a939e2ed]
12248
12249         * configure.in:
12250         Fix check for sigaction_t
12251         [6fa41c89ab20]
12252
12253         * sudo.c:
12254         XXX - should call find_path() as runas user, not root. Can't do
12255         that until the parser changes though.
12256         [f0b4f85651bd]
12257
12258         * sudo.c:
12259         If find_path() fails as root, try again as the invoking user (useful
12260         for NFS). Idea from Chip Capelik.
12261         [e03fa7872692]
12262
12263         * sudo.cat, sudo.man.in, sudoers.cat, sudoers.man.in:
12264         Regenerate after pod file changes
12265         [48e4bd75ec21]
12266
12267         * def_data.c, def_data.h, def_data.in, set_perms.c, sudo.c, sudo.h,
12268         sudo.pod, sudoers.pod:
12269         Add new sudoers option "preserve_groups". Previously sudo would not
12270         call initgroups() if the target user was root. Now it always calls
12271         initgroups() unless the -P command line option or the
12272         "preserve_groups" sudoers option is set. Idea from TJ Saunders.
12273         [4f730359f101]
12274
12275 2001-12-14  Todd C. Miller  <Todd.Miller@courtesan.com>
12276
12277         * compat.h, config.h.in:
12278         Use new HAVE_SIGACTION_T define
12279         [dfb25f3cae5b]
12280
12281         * logging.c:
12282         Fix compilation on K&C
12283         [7355e3275e34]
12284
12285         * configure:
12286         regen
12287         [a710584f92f0]
12288
12289         * configure.in:
12290         Add check for sigaction_t -- IRIX already defines this so don't
12291         redefine it.
12292         [df9c5737f6da]
12293
12294         * snprintf.c:
12295         fix typo
12296         [3d782b8134c8]
12297
12298         * interfaces.c:
12299         need stdlib.h here too
12300         [c789d8973ab2]
12301
12302         * configure:
12303         regen
12304         [44822856bf46]
12305
12306         * configure.in:
12307         Remove redundant checks for string.h, strings.h and unistd.h
12308         [933c94f8bbf4]
12309
12310         * sudo.cat, sudo.man.in, sudoers.cat, sudoers.man.in, visudo.cat,
12311         visudo.man.in:
12312         Regen from pod files
12313         [ad18c590f638]
12314
12315         * BUGS:
12316         Update for 1.6.4
12317         [26bc88b69d22]
12318
12319         * configure, lex.yy.c, sudo.tab.c:
12320         regen
12321         [bef89fd6fa2d]
12322
12323         * strerror.c:
12324         Return EINVAL if errnum > sys_nerr
12325         [0512374e6661]
12326
12327         * auth/sudo_auth.h:
12328         o Update copyright year
12329         [a877016db6e2]
12330
12331         * LICENSE, Makefile.binary, Makefile.in, aclocal.m4, compat.h,
12332         config.h.in, defaults.h, interfaces.h, pathnames.h.in, sudo.h,
12333         sudo.pod:
12334         o Update copyright year
12335         [e15a1b39039f]
12336
12337         * configure.in:
12338         o Don't define STDC_HEADERS unconditionally for IRIX o Update
12339         copyright year
12340         [82a8cb819e07]
12341
12342         * README:
12343         update version
12344         [d82e523a16b4]
12345
12346         * auth/afs.c, auth/aix_auth.c, auth/bsdauth.c, auth/dce.c,
12347         auth/fwtk.c, auth/kerb4.c, auth/kerb5.c, auth/pam.c, auth/passwd.c,
12348         auth/rfc1938.c, auth/secureware.c, auth/securid.c, auth/sia.c,
12349         auth/sudo_auth.c, logging.c, parse.c, parse.lex, parse.yacc,
12350         set_perms.c, snprintf.c, sudo.c, testsudoers.c, tgetpass.c, utime.c,
12351         visudo.c:
12352         o Reorder some headers and use STDC_HEADERS define properly o Update
12353         copyright year
12354         [fe39f76b3795]
12355
12356         * lsearch.c:
12357         o Reorder some headers and use STDC_HEADERS define properly o Update
12358         copyright year
12359         [764ba3d4fa13]
12360
12361         * getspwuid.c, goodpath.c, interfaces.c:
12362         o Reorder some headers and use STDC_HEADERS define properly o Update
12363         copyright year
12364         [fb46d46140d4]
12365
12366         * getcwd.c:
12367         o Reorder some headers and use STDC_HEADERS define properly o Update
12368         copyright year
12369         [b199d70ac7ab]
12370
12371         * alloc.c, check.c, defaults.c, env.c, fileops.c, find_path.c,
12372         fnmatch.c:
12373         o Reorder some headers and use STDC_HEADERS define properly o Update
12374         copyright year
12375         [dab8f192a3ed]
12376
12377         * configure:
12378         regen
12379         [156658f25cea]
12380
12381         * tgetpass.c:
12382         flags set in signal handlers should be volatile sig_atomic_t
12383         [c22931a5535e]
12384
12385         * config.h.in, configure.in:
12386         Add checks for volatile and sig_atomic_t
12387         [b03b3341381d]
12388
12389         * configure, lex.yy.c:
12390         regen
12391         [ed9daba88217]
12392
12393         * def_data.c, def_data.h, def_data.in, defaults.c, env.c, find_path.c,
12394         sudo.c, sudoers.pod:
12395         Remove "secure_path" Defaults option since it cannot work with the
12396         existing parser.
12397         [c9e54a0f5971]
12398
12399         * find_path.c, sudo.c:
12400         Unset "secure_path" if user_is_exempt()
12401         [fb7544565ae8]
12402
12403         * env.c, pathnames.h.in:
12404         o Remove assumption that PATH and TERM are not listed in env_keep o
12405         If no PATH is in the environment use a default value o If TERM is
12406         not set in the non-reset case also give it a default value.
12407         [c987eb7df268]
12408
12409         * aclocal.m4, configure.in, defaults.c, pathnames.h.in:
12410         _PATH_SENDMAIL -> _PATH_SUDO_SENDMAIL so --without-sendmail works on
12411         systems that define in paths.h
12412         [51865b0cdebf]
12413
12414         * auth/passwd.c, auth/sudo_auth.c, auth/sudo_auth.h:
12415         Add support for skeyaccess(3) if it is present in libskey.
12416         [8add77c7d3e7]
12417
12418 2001-12-13  Todd C. Miller  <Todd.Miller@courtesan.com>
12419
12420         * sudo.c:
12421         Only need to do 'lc = login_getclass(NULL)' if lc == NULL
12422         [5a3d3cbf2c6d]
12423
12424         * parse.lex:
12425         '\\' is a perfectly legal character to have in a command line
12426         argument.
12427         [c15a466ef00e]
12428
12429         * sudo.c:
12430         o Defer call to set_fqdn() until it is safe to use log_error() o
12431         Don't print errno string value if gethostbyname fails, it is not
12432         relevant
12433         [c0c6bcf08bcb]
12434
12435         * parse.c:
12436         Fix CIDR -> in_addr_t conversion.
12437         [2f307ebeb63f]
12438
12439 2001-12-12  Todd C. Miller  <Todd.Miller@courtesan.com>
12440
12441         * sudoers.pod:
12442         Remove an extra "User_List" in the User_Spec definition From
12443         ybertrand AT snoopymail.com
12444         [97bde59ea280]
12445
12446         * parse.c:
12447         Make 'listpw=never' work for users who are not explicitly mentioned
12448         in sudoers.
12449         [258f0f30a428]
12450
12451         * sudoers.pod:
12452         Remove gratuitous '=' in EBNF grammar; era AT iki.fi
12453         [4b0f03872ee1]
12454
12455         * sudoers.pod:
12456         Document new list Defaults type and convert env_keep and env_delete
12457         to lists. Document new env_check option.
12458         [a07f1f079fe3]
12459
12460         * lex.yy.c, sudo.tab.c, sudo.tab.h:
12461         regen parser
12462         [e39ac6c6581b]
12463
12464         * parse.lex:
12465         Don't let '#' appear in a {WORD} and restrict #foo in a Runas spec
12466         to #[0-9-]+.
12467         [69c5388908f3]
12468
12469         * configure:
12470         regen
12471         [0f1877b88cb3]
12472
12473         * aclocal.m4:
12474         Simpler SUDO_FUNC_ISBLANK that uses AC_TRY_LINK
12475         [6545503ae361]
12476
12477         * config.h.in, configure.in:
12478         Add check for skeyaccess(3)
12479         [6caf69fe6359]
12480
12481         * visudo.pod:
12482         Document new -c, -f, and -q options
12483         [13d0203c21d3]
12484
12485         * visudo.c:
12486         o Add -f option (alternate sudoers file) o Convert to use getopt(3)
12487         [4c2b664d617d]
12488
12489         * configure:
12490         regen
12491         [6d5bd932e7b5]
12492
12493         * aclocal.m4, config.h.in, configure.in:
12494         Add check for isblank and a replacement macro if it doesn't exist.
12495         [b524f5e4f953]
12496
12497 2001-12-11  Todd C. Miller  <Todd.Miller@courtesan.com>
12498
12499         * visudo.c:
12500         In check-only mode, don't create sudoers if it does not already
12501         exist.
12502         [c748a2d5acad]
12503
12504         * parse.yacc:
12505         o Add a new token, DEFVAR, to indicate a Defaults variable name o
12506         Add support for "+=" and "-=" list operators o replace some 1 and 0
12507         with TRUE and FALSE for greater legibility.
12508         [554cb174b37e]
12509
12510         * parse.lex:
12511         o Use exclusive start conditions to remove some ambiguity in the
12512         lexer. Also reorder some things for clarity. o Add support for
12513         "+=" and "-=" list operators. o Use the new DEFVAR token to denote
12514         a Defaults variable name.
12515         [3a2cf8323e26]
12516
12517         * sudo.h:
12518         Prototype init_envtables()
12519         [b74916469dab]
12520
12521         * env.c:
12522         o Convert environment handling to use lists instead of strings.
12523         This greatly simplifies routines that need to do "foreach" type
12524         operations. o Add new init_envtables() function to set env_check
12525         and env_delete defaults based on initial_badenv_table and
12526         initial_checkenv_table (formerly sudo_badenv_table).
12527         [0a8b404658b6]
12528
12529         * defaults.c, defaults.h:
12530         o Add a new LIST type and functions to manipulate it. o This is for
12531         use with environment handling variables. o Call new
12532         init_envtables() routine inside init_defaults() to initialize the
12533         environment lists.
12534         [ae73e64f0902]
12535
12536         * def_data.c, def_data.h, def_data.in:
12537         Convert environment options to use the new LIST type and add a new
12538         one, env_check that only deletes if the sanity check fails.
12539         [3019503936de]
12540
12541         * testsudoers.c:
12542         Add dummy version of init_envtables()
12543         [9d9e3ee609d9]
12544
12545         * parse.yacc:
12546         honor quiet mode
12547         [8330fba6167c]
12548
12549         * visudo.c:
12550         Add check-only mode
12551         [dab411bc8c35]
12552
12553         * mkdefaults:
12554         Fix generation of entries with NULL descriptions.
12555         [ea75b9fed02e]
12556
12557 2001-12-09  Todd C. Miller  <Todd.Miller@courtesan.com>
12558
12559         * tgetpass.c:
12560         Use sigaction_t and quiet a gcc warning.
12561         [6f67d719c452]
12562
12563         * sudo.c:
12564         Must reset signal handlers before we exec
12565         [300418120e1a]
12566
12567         * auth/aix_auth.c, auth/bsdauth.c, auth/fwtk.c, auth/pam.c,
12568         auth/sudo_auth.c:
12569         Be carefule now that tgetpass() can return NULL (user hit ^C). PAM
12570         version needs testing. Set SIGTSTP to SIG_DFL during password entry
12571         so user can suspend us.
12572         [00304aa58747]
12573
12574         * tgetpass.c:
12575         Add support for interrupting/suspending tgetpass via keyboard input.
12576         If you suspend sudo from the password prompt and resume it will re-
12577         prompt you.
12578         [4af2b5101d32]
12579
12580         * sudo.c:
12581         Don't block keyboard interrupt signals, just set them to SIG_IGN.
12582         [d46d7f67ef6b]
12583
12584 2001-12-08  Todd C. Miller  <Todd.Miller@courtesan.com>
12585
12586         * config.h.in:
12587         add back HAVE_SIGACTION
12588         [c9c7702c603e]
12589
12590         * configure:
12591         regen
12592         [09fe669d337f]
12593
12594         * config.h.in, configure.in, logging.c, sudo.c, visudo.c:
12595         Kill POSIX_SIGNALS define and old signal support now that we emulate
12596         POSIX ones Also be sure to correctly initialize struct sigaction.
12597         [4bc2a6dbb2be]
12598
12599         * strerror.c:
12600         Don't need config.h or "#ifndef HAVE_STRERROR" wrapper.
12601         [1ad64a19f328]
12602
12603         * compat.h:
12604         Add scaffolding for POSIX signal emulation
12605         [945861d4c93b]
12606
12607         * sigaction.c:
12608         o Add missing ';' so this compiles o Can't use NULL since we don't
12609         include stdio.h
12610         [04d0cac7438f]
12611
12612         * sigaction.c:
12613         Emulate sigaction() using sigvec()
12614         [d0b54a989875]
12615
12616 2001-11-13  Todd C. Miller  <Todd.Miller@courtesan.com>
12617
12618         * sudoers.pod:
12619         Document new behavior of negative values of timestamp_timeout Fix a
12620         typo
12621         [4c0716570d01]
12622
12623         * sudo.pod:
12624         Add security note about command not being logged after 'sudo su' and
12625         friends.
12626         [43294851a33c]
12627
12628         * sudo.pod:
12629         Mention that -V prints default values when run as root, including
12630         the list of environment variables to clear.
12631         [d9e5e550a8c3]
12632
12633         * Makefile.in:
12634         Run pod2man with --quotes=none to avoid stupid quoting of C<>
12635         entries.
12636         [997b23c35dbe]
12637
12638 2001-11-12  Todd C. Miller  <Todd.Miller@courtesan.com>
12639
12640         * auth/sudo_auth.c, def_data.c, def_data.h, def_data.in, sudoers.pod:
12641         Add mail_badpass option Also modify mail_always behavior to also
12642         send mail when the password is wrong
12643         [838d40ccafce]
12644
12645         * env.c, sudo.c, sudo.h:
12646         Dump default bad env table when 'sudo -V' is run by root.
12647         [f67f1b8048b0]
12648
12649         * sudoers.pod:
12650         document env_delete
12651         [d74f893663a2]
12652
12653         * env.c:
12654         Add support for '*' in env_keep when not resetting the environment
12655         (ie: the normal case).
12656         [fd4fb62ea8fd]
12657
12658         * env.c:
12659         Add env_delete variable that lets the user replace/add to the
12660         bad_env_table. Allow '*' wildcard in env_keep entries.
12661         [aa728bc35e29]
12662
12663 2001-11-06  Todd C. Miller  <Todd.Miller@courtesan.com>
12664
12665         * mkinstalldirs:
12666         Force umask to 022 to guarantee sane directory permissions.
12667         [9ab3cfe70569]
12668
12669 2001-11-02  Todd C. Miller  <Todd.Miller@courtesan.com>
12670
12671         * Makefile.in:
12672         add sudo.tab.h and sudo.tab.c to sudo.tab.o dependency
12673         [671010465e6f]
12674
12675         * mkdefaults:
12676         fix breakage in last commit
12677         [8318f8851e56]
12678
12679         * Makefile.in:
12680         acsite.m4 -> aclocal.m4
12681         [30c146873a01]
12682
12683         * check.c:
12684         fix I_TS_TIMEOUT vs. I_TIMESTAMP_TIMEOUT pasto in previous commit
12685         [4dc8b39954da]
12686
12687         * def_data.c:
12688         regenerated from def_data.in
12689         [915ea16ce1eb]
12690
12691         * check.c, defaults.c, defaults.h:
12692         Add new T_UINT type that most things use instead of T_INT If
12693         timestamp_timeout is < 0 then treat the ticket as never expiring (to
12694         be expired manually by the user).
12695         [3a3a636a2a5d]
12696
12697         * def_data.in:
12698         change most T_INT -> T_UINT
12699         [a2228d2457af]
12700
12701         * mkdefaults:
12702         fix warning when no args
12703         [ca70a5394af5]
12704
12705         * visudo.c:
12706         Change 2 Exit() -> exit() Avoid stdio in Exit() and call _exit() if
12707         we are a signal handler. We no longer print the signal number but
12708         the user can just check the exit value for that.
12709         [dc424f631fef]
12710
12711 2001-10-16  Todd C. Miller  <Todd.Miller@courtesan.com>
12712
12713         * logging.c:
12714         when setting up pipes in child process check for case where stdin ==
12715         pipe fd 0
12716         [518112d76184]
12717
12718 2001-10-11  Todd C. Miller  <Todd.Miller@courtesan.com>
12719
12720         * visudo.c:
12721         Ignore editor exit value since XPG4 says vi's exit value is the
12722         count of editing errors made (failed searches, etc).
12723         [b9d952284865]
12724
12725 2001-10-05  Todd C. Miller  <Todd.Miller@courtesan.com>
12726
12727         * configure:
12728         regen
12729         [cb3aa586f03b]
12730
12731         * configure.in:
12732         sco now is identified by config.guess as *-sco-*
12733         [46664bbdea61]
12734
12735         * configure.in:
12736         Check for getspnam() in -lgen if not in -lc for UnixWare.
12737         [0f152ad1ba93]
12738
12739 2001-09-18  Todd C. Miller  <Todd.Miller@courtesan.com>
12740
12741         * sudoers.pod, visudo.pod:
12742         "upper case" -> "uppercase"
12743         [f9151f232326]
12744
12745         * sudoers.pod:
12746         fix typos and grammar; pjanzen@foatdi.harvard.edu
12747         [2855d73d0237]
12748
12749 2001-08-28  Todd C. Miller  <Todd.Miller@courtesan.com>
12750
12751         * sudoers.pod:
12752         Missing word (specify); krapht@secureops.com
12753         [65523eb37a2c]
12754
12755 2001-08-23  Todd C. Miller  <Todd.Miller@courtesan.com>
12756
12757         * sudo.c:
12758         If we fail to lookup a login class, apply the default one.
12759         [d4869faa6816]
12760
12761         * logging.c:
12762         In log_error() free message, not logline unconditionally, then free
12763         logline if it is not the same as message. No function change but
12764         this mirrors how they are allocated.
12765         [565e5f6cc643]
12766
12767 2001-07-17  Todd C. Miller  <Todd.Miller@courtesan.com>
12768
12769         * configure:
12770         regenerate
12771         [834a48f548a2]
12772
12773         * configure.in:
12774         remove some backslash quotes that are unneeded
12775         [50d401d6e2ca]
12776
12777         * configure.in:
12778         o Tweaks to make this work with autoconf-2.50 o Use AC_LIBOBJ
12779         instead of changing LIBOBJS directly o Use AC_REPLACE_FUNCS where we
12780         can o Use AC_CHECK_FUNCS instead of AC_CHECK_FUNC so we don't have
12781         to AC_DEFINE things manually.
12782         [f502c5f15f92]
12783
12784         * config.guess, config.sub:
12785         Updated from autoconf-2.50
12786         [6140205915ef]
12787
12788 2001-05-22  Todd C. Miller  <Todd.Miller@courtesan.com>
12789
12790         * README:
12791         Update mailing list section. We use mailman now, not majordomo.
12792         [b9a8ca45e6dc]
12793
12794 2001-05-10  Todd C. Miller  <Todd.Miller@courtesan.com>
12795
12796         * getspwuid.c, logging.c, sudo.c:
12797         Use setpwent()/endpwent() + all the shadow variants to make sure we
12798         don't inadvertantly leak an fd to the child. Apparently Linux's
12799         shadow routines leave the fd open even if you don't call setspent().
12800         Reported by mike@gistnet.com; different patch used.
12801         [d33792ef6c01]
12802
12803 2001-04-13  Todd C. Miller  <Todd.Miller@courtesan.com>
12804
12805         * sudoers.pod:
12806         s/eg./e.g./
12807         [bd32a0acaf93]
12808
12809         * tgetpass.c:
12810         select() may return EAGAIN. If so, continue like we do for EINTR.
12811         [5f202c943818]
12812
12813         * logging.c:
12814         Fix a non-exploitable buffer overflow in the word splitting code.
12815         This should really be rewritten.
12816         [4c724363863a]
12817
12818         * Makefile.in:
12819         FAQ link goes away
12820         [1d26dd6c8972]
12821
12822         * INSTALL:
12823         Tell people to look in sample.syslog.conf for examples, not FAQ
12824         [affcae3f43ca]
12825
12826         * TROUBLESHOOTING:
12827         Update list of env vars that are cleared
12828         [234e56f1435a]
12829
12830         * sudo.c:
12831         remove struct env_table decl since that stuff has all moved to env.c
12832         [5dd923148777]
12833
12834 2001-04-04  Todd C. Miller  <Todd.Miller@courtesan.com>
12835
12836         * fileops.c:
12837         Fix a pasto in flock-style unlocking and include <sys/file.h> for
12838         flock on older systems; twetzel@gwdg.de
12839         [d5420d9d2861]
12840
12841         * configure:
12842         regen to get NeXT lockf/flock fix
12843         [d3ba6ed70e15]
12844
12845         * configure.in:
12846         force NeXT to use flock since lockf is broken
12847         [bd5391dca1bb]
12848
12849 2001-03-30  Todd C. Miller  <Todd.Miller@courtesan.com>
12850
12851         * check.c:
12852         Use stashed user_gid when checking against exempt gid since sudo
12853         sets its gid to a a value that makes sudoers readable. Previously
12854         if you used gid 0 as the exempt group everyone would be exempt. From
12855         Paul Kranenburg <pk@cs.few.eur.nl>
12856         [0b140cc3a817]
12857
12858 2001-03-29  Todd C. Miller  <Todd.Miller@courtesan.com>
12859
12860         * configure:
12861         regen
12862         [cc455408f32b]
12863
12864         * aclocal.m4:
12865         #include stdio.h in SUDO_CHECK_TYPE since IRIX 6 aparently defines
12866         some types (such as ssize_t) therein.
12867         [b6aee85ca331]
12868
12869 2001-03-02  Todd C. Miller  <Todd.Miller@courtesan.com>
12870
12871         * defaults.c:
12872         Fix negation of paths in a boolean context. Problem found by
12873         apt@UH.EDU
12874         [8aee217a7cdf]
12875
12876 2001-02-23  Todd C. Miller  <Todd.Miller@courtesan.com>
12877
12878         * visudo.c:
12879         pasto
12880         [ad32b277bf68]
12881
12882 2001-02-17  Todd C. Miller  <Todd.Miller@courtesan.com>
12883
12884         * visudo.c:
12885         SA_RESETHAND means the opposite of what I was thinking--oops To
12886         block all signals in old-style signals use ~0, not 0xffffffff
12887         [6ecdd793590a]
12888
12889 2001-02-04  Todd C. Miller  <Todd.Miller@courtesan.com>
12890
12891         * defaults.c:
12892         coerce difference of pointers to int when used in a string length
12893         printf format; deraadt@openbsd.org
12894         [a9d10f07180d]
12895
12896 2001-01-17  Todd C. Miller  <Todd.Miller@courtesan.com>
12897
12898         * visudo.c:
12899         Block all signals in Exit() to avoid a signal race. There is still
12900         a tiny window but I'm not going to worry about it.
12901         [6661805c0458]
12902
12903 2001-01-07  Todd C. Miller  <Todd.Miller@courtesan.com>
12904
12905         * env.c:
12906         glibc uses the LANGUAGE env var so clear that too; Solar Designer
12907         [d4ba95628afb]
12908
12909         * lex.yy.c:
12910         Regenerate with a fix to flex.skl that preserves errno from
12911         clobbering by isatty().
12912         [607eec736e19]
12913
12914 2000-12-31  Todd C. Miller  <Todd.Miller@courtesan.com>
12915
12916         * auth/aix_auth.c, auth/bsdauth.c, auth/fwtk.c, auth/pam.c,
12917         auth/sia.c, auth/sudo_auth.c:
12918         Some defaults I_ defines got renamed.
12919         [ec19b23caaf3]
12920
12921         * Makefile.in, check.c, def_data.c, def_data.h, def_data.in,
12922         defaults.c, defaults.h, env.c, logging.c, mkdefaults, parse.yacc,
12923         set_perms.c, sudo.c, sudo.tab.c:
12924         Move defaults info into its own files from which we generate .h and
12925         .c files. This makes adding or rearranging variables much simpler.
12926         [e91b880b5043]
12927
12928 2000-12-30  Todd C. Miller  <Todd.Miller@courtesan.com>
12929
12930         * configure, configure.in:
12931         fix typo in last commit
12932         [10a6ee2bae71]
12933
12934         * compat.h, config.h.in, configure, configure.in:
12935         Add check + emulation for setegid (like seteuid).
12936         [29492092bd2f]
12937
12938         * env.c:
12939         Make env_keep override badenv_table as documented Fix traversal of
12940         badenv_table (broken in last commit)
12941         [37c9f0d22673]
12942
12943         * set_perms.c, sudo.c, sudo.h:
12944         Don't try and build saved uid version of set_perms on systems w/o
12945         them. Rename set_perms_saved_uid() -> set_perms_posix() Make
12946         set_perms_setreuid simply be set_perms_fallback() and simply include
12947         the appropriate function at compile time (setreuid() vs. setuid()).
12948         [3107333c062c]
12949
12950         * sudoers.cat, sudoers.man.in, sudoers.pod:
12951         PATH is also preserved when env_reset is in effect
12952         [90e45c5711ff]
12953
12954         * CHANGES, Makefile.in, check.c, compat.h, config.h.in, configure,
12955         configure.in, defaults.c, defaults.h, env.c, find_path.c,
12956         getspwuid.c, set_perms.c, sudo.c, sudo.cat, sudo.h, sudo.man.in,
12957         sudo.pod, sudoers.cat, sudoers.man.in, sudoers.pod, testsudoers.c,
12958         visudo.c, visudo.cat, visudo.man.in:
12959         New Defaults options: o stay_setuid - sudo will remain setuid if
12960         system has saved uids or setreuid(2) o env_reset - reset the
12961         environment to a sane default o env_keep - preserve environment
12962         variables that would otherwise be cleared
12963
12964         No longer use getenv/putenv/setenv functions--do environment munging
12965         by hand. Potentially dangerous environment variables can be cleared
12966         only if they contain '/' pr '%' characters to protect buggy
12967         programs. Moved environment routines into env.c (new file)
12968         [c2f97651db4c]
12969
12970         * INSTALL:
12971         Clear up --without-passwd description
12972         [2f336dab6733]
12973
12974         * putenv.c, sudo_setenv.c:
12975         We now build up a new environment from scratch and assign it to
12976         "environ".
12977         [6ae6152f2238]
12978
12979 2000-12-19  Todd C. Miller  <Todd.Miller@courtesan.com>
12980
12981         * sudo.pod, visudo.pod:
12982         Grammatical fixes from Paul Janzen
12983         [e03ead2e56f8]
12984
12985 2000-12-15  Todd C. Miller  <Todd.Miller@courtesan.com>
12986
12987         * visudo.c:
12988         If there was a syntax error and the user just wants to quit, unlink
12989         sudoers if it is zero length.
12990         [74ba7921f520]
12991
12992         * visudo.c:
12993         'Q' means ignore parse error, not 'q'
12994         [e8d0e4491fe6]
12995
12996         * visudo.c:
12997         Open sudoers for writing with mode SUDOERS_MODE From Dimitry Andric
12998         <dim@xs4all.nl>
12999         [b24990a72491]
13000
13001 2000-12-13  Todd C. Miller  <Todd.Miller@courtesan.com>
13002
13003         * set_perms.c:
13004         Add missing #ifdef HAVE_LOGIN_CAP_H; ayamura@ayamura.org
13005         [41a8db10e076]
13006
13007 2000-12-09  Todd C. Miller  <Todd.Miller@courtesan.com>
13008
13009         * config.guess, config.sub:
13010         Darwin / Mac OS X support from Wilfredo Sanchez <wsanchez@apple.com>
13011         [6052da895d2e]
13012
13013 2000-11-03  Todd C. Miller  <Todd.Miller@courtesan.com>
13014
13015         * sudo.c, visudo.c:
13016         Use exit(127), not exit(-1)
13017         [9ff0c3eada34]
13018
13019         * Makefile.in, defaults.c, defaults.h, set_perms.c, sudo.c:
13020         Move set_perms() to its own file and use POSIX saved uid or
13021         setreuid() if available.
13022
13023         Added stay_setuid option for systems that have libraries that
13024         perform extra paranoia checks in system libraries for setuid
13025         programs (ie: anything with issetugid(2)).
13026         [28960f842698]
13027
13028         * sudo.c:
13029         strip more bits from the environment and add a facility for
13030         stripping things only if they contain '/' or '%' to address printf
13031         format string vulnerabilities in other programs.
13032         [b98d6375f299]
13033
13034 2000-11-02  Todd C. Miller  <Todd.Miller@courtesan.com>
13035
13036         * configure:
13037         regen
13038         [7e74e5c91049]
13039
13040         * configure.in:
13041         For NCR, add -lc89 to LIBS, not SUDO_LIBS and cache the existence of
13042         strcasecmp().
13043         [a418e9e70442]
13044
13045         * configure:
13046         regen
13047         [bbff244a52bc]
13048
13049         * configure.in:
13050         Check for strcasecmp(3) in -lc89 for NCR Unix
13051         [361c99576681]
13052
13053 2000-11-01  Todd C. Miller  <Todd.Miller@courtesan.com>
13054
13055         * config.h.in:
13056         Define HAVE_INNETGR #ifdef HAVE__INNETGR
13057         [473cdb92b6db]
13058
13059         * configure:
13060         regen
13061         [4e6364a195e0]
13062
13063         * compat.h, config.h.in, configure.in:
13064         Add check for _innetgr(3) since NCR systems have that instead of
13065         innetgr(3).
13066         [25e6852e7494]
13067
13068 2000-10-31  Todd C. Miller  <Todd.Miller@courtesan.com>
13069
13070         * auth/securid.c:
13071         check return value of creadcfg() call sd_close() after sd_auth()
13072         store username in sd->username so we don't rely on the USER env
13073         variable
13074         [d106b4f42722]
13075
13076 2000-10-30  Todd C. Miller  <Todd.Miller@courtesan.com>
13077
13078         * INSTALL:
13079         document --with-bsdauth
13080         [f1518ecc2ee9]
13081
13082         * configure:
13083         regen
13084         [dceb35071ea8]
13085
13086         * configure.in:
13087         --with-bsdauth assumes --with-logincap
13088         [4200778083fd]
13089
13090         * auth/bsdauth.c, auth/fwtk.c:
13091         When prompting for a response to a challenge, if the user just hits
13092         return then reprompt with echo turned on.
13093         [a539b6474a97]
13094
13095 2000-10-29  Todd C. Miller  <Todd.Miller@courtesan.com>
13096
13097         * sudo.c:
13098         Remove debugging code that should not have been committed, oops.
13099         [9862607b77a7]
13100
13101         * auth/bsdauth.c:
13102         Use lower-level routines and get the password ourselves. Checks for
13103         a challenge and if there is one echo is not turned off.
13104         [2d8fcd166baa]
13105
13106         * auth/pam.c, auth/sudo_auth.h:
13107         minor housekeeping, no real code changes
13108         [d0074a277fb4]
13109
13110 2000-10-27  Todd C. Miller  <Todd.Miller@courtesan.com>
13111
13112         * sudo.c:
13113         Fix a coredump in the logging functions if gethostname(2) fails by
13114         deferring the call to log_error() until things are better setup.
13115
13116         Fix return value of set_loginclass() in non-BSD-auth case.
13117
13118         Hard-code 'sudo' in the usage message so we can fit more options on
13119         a line
13120         [d9d1b7579818]
13121
13122         * logging.c:
13123         Fix errant ';' (typo) that broken MSG_ONLY
13124         [849b2276a470]
13125
13126 2000-10-26  Todd C. Miller  <Todd.Miller@courtesan.com>
13127
13128         * sudo.cat, sudo.man.in:
13129         regen
13130         [bb3c8c6704d1]
13131
13132         * sudo.pod:
13133         Document -a flag
13134         [e18316cebaac]
13135
13136         * Makefile.in, auth/bsdauth.c, auth/sudo_auth.h, config.h.in,
13137         configure, configure.in, getspwuid.c, sudo.c:
13138         Add support for BSD authentication.
13139         [f374cfd9ca0d]
13140
13141 2000-10-19  Todd C. Miller  <Todd.Miller@courtesan.com>
13142
13143         * sudoers.pod:
13144         Fix typo; from sato@complex.eng.hokudai.ac.jp
13145         [3085fee9766e]
13146
13147 2000-10-12  Todd C. Miller  <Todd.Miller@courtesan.com>
13148
13149         * sudoers.pod:
13150         Mention negating umask
13151         [c9e410294dae]
13152
13153         * defaults.c:
13154         Allow user to specify umask of 0777 (same as !umask)
13155         [bb771daa96fe]
13156
13157 2000-10-09  Todd C. Miller  <Todd.Miller@courtesan.com>
13158
13159         * sudo.pod, visudo.pod:
13160         Fix a typo and give a URL for the sudo history.
13161         [77f73199aedb]
13162
13163 2000-10-08  Todd C. Miller  <Todd.Miller@courtesan.com>
13164
13165         * defaults.c, sudo.pod:
13166         fix typos; pepper@reppep.com
13167         [5532c7421340]
13168
13169 2000-09-14  Todd C. Miller  <Todd.Miller@courtesan.com>
13170
13171         * sudo.c, sudo.h, sudo_setenv.c:
13172         sudo_setenv() now exits on memory alloc failure instead of returning
13173         -1.
13174         [71f1cf18f47b]
13175
13176 2000-09-07  Todd C. Miller  <Todd.Miller@courtesan.com>
13177
13178         * sudo.c:
13179         Strip out NLSPATH and PATH_LOCALE from the environment for FreeBSD
13180         and possibly others.
13181         [b69d985b0d22]
13182
13183         * logging.c:
13184         Don't use vsyslog(3) since HP-UX (and others?) lack it. This means
13185         that "%m" won't be expanded but we don't use that anyway since the
13186         logging routines may splat to stderr as well.
13187         [8d37a544d0c0]
13188
13189         * defaults.c, defaults.h, sudo.c, sudoers.cat, sudoers.man.in,
13190         sudoers.pod:
13191         Add always_set_home variable
13192         [dbcaff646e07]
13193
13194         * configure, configure.in:
13195         Have to hard code default values in help since the defaults are set
13196         _after_ the help stuff.
13197         [7b5d6d72f55c]
13198
13199 2000-08-31  Todd C. Miller  <Todd.Miller@courtesan.com>
13200
13201         * lex.yy.c, parse.lex:
13202         Allow special characters (including '#') to be embedded in pathnames
13203         if quoted by a '\\'. The quoted chars will be dealt with by
13204         fnmatch(). Unfortunately, 'sudo -l' still prints the '\\'.
13205         [3ed33cf09977]
13206
13207 2000-08-13  Todd C. Miller  <Todd.Miller@courtesan.com>
13208
13209         * install-sh:
13210         Better path searching for programs we need.
13211         [60517cb1f0d6]
13212
13213         * TROUBLESHOOTING:
13214         Add section on "C compiler cannot create executables" errors.
13215         [e4ada6eaee59]
13216
13217         * Makefile.binary, Makefile.in, version.h:
13218         Crank version
13219         [93d1bd5b7f5e]
13220
13221         * aclocal.m4, configure, configure.in, sudo.cat, sudo.man.in,
13222         sudo.pod, sudoers.cat, sudoers.man.in, sudoers.pod, visudo.cat,
13223         visudo.man.in, visudo.pod:
13224         Substitute values from configure into man pages.
13225         [619854c356c1]
13226
13227 2000-08-12  Todd C. Miller  <Todd.Miller@courtesan.com>
13228
13229         * parse.c, sudo.c:
13230         The listpw and verifypw sudoers options would not take effect
13231         because the value of the default was checked *before* sudoers was
13232         parsed. Instead of passing in the value of PWCHECK_* to
13233         sudoers_lookup(), pass in the arg for def_ival() so the check can be
13234         deferred until after sudoers is parsed.
13235         [4f596e358f72]
13236
13237 2000-08-11  Todd C. Miller  <Todd.Miller@courtesan.com>
13238
13239         * tgetpass.c:
13240         When writing prompt, no need to write the NUL as well;
13241         hag@linnaean.org
13242         [fbcdd7b431ee]
13243
13244 2000-06-09  Todd C. Miller  <Todd.Miller@courtesan.com>
13245
13246         * install-sh:
13247         When looking for chown, check in /sbin too
13248         [657ba6653f8c]
13249
13250 2000-06-05  Todd C. Miller  <Todd.Miller@courtesan.com>
13251
13252         * visudo.c:
13253         Remove extraneous call to init_defaults() and set runas_user to NULL
13254         betweem parses so init_defaults will reset it each time, thus
13255         avoiding a reference to free()d data.
13256         [7421fcd692af]
13257
13258 2000-06-04  Todd C. Miller  <Todd.Miller@courtesan.com>
13259
13260         * config.h.in, interfaces.c, interfaces.h, sudo.c:
13261         Add support for using getifaddrs() to get the list of ip addr /
13262         netmask pairs. Currently IPv4-only.
13263         [a35bc4f7306d]
13264
13265         * visudo.c:
13266         Add a missing check for UserEditor == NULL Add missing '+' before
13267         line number when invoking editor to fix a syntax error
13268         [f0d4635f6082]
13269
13270 2000-05-12  Todd C. Miller  <Todd.Miller@courtesan.com>
13271
13272         * sudo.c:
13273         Call clean_env very early in main() for paranoia's sake. Idea from
13274         Marc Esipovich.
13275         [f8d72ebd0115]
13276
13277 2000-05-10  Todd C. Miller  <Todd.Miller@courtesan.com>
13278
13279         * sudo.h:
13280         Update proto for evasprintf and easprintf
13281         [d147d6e58419]
13282
13283         * alloc.c:
13284         Make easprintf() and evasprintf() return an int.
13285         [b2ca5d089667]
13286
13287         * check.c:
13288         If the targetpw flag is set, use target username as part of the
13289         timestamp path. If tty tickets are in effect cat the tty and the
13290         target username with a ':' as the separator.
13291         [de11abc693c2]
13292
13293 2000-05-09  Todd C. Miller  <Todd.Miller@courtesan.com>
13294
13295         * auth/pam.c:
13296         Backout part of last change; setting PAM_USER to the invoking user
13297         breaks things like targetpw.
13298         [427218a7387f]
13299
13300         * auth/pam.c:
13301         set tty and username via pam_set_item
13302         [85d1922dbcc9]
13303
13304         * auth/sudo_auth.c, check.c, getspwuid.c, sudo.c, sudo.h:
13305         Fix root, runas, and target authentication for non-passwd file auth
13306         methods.
13307         [a14535e7b30c]
13308
13309 2000-04-22  Todd C. Miller  <Todd.Miller@courtesan.com>
13310
13311         * sudo.cat, sudo.man.in, sudo.pod, sudoers.cat, sudoers.man.in,
13312         sudoers.pod, visudo.cat, visudo.man.in, visudo.pod:
13313         Use B<-Z> not C<-Z> for command line flags in all places. This is
13314         more consistent and works around a bug in Pod::Man.
13315         [64b5a05f30c5]
13316
13317         * sudoers.cat, sudoers.man.in, sudoers.pod:
13318         Fix an occurence of 'semicolon' that should be 'colon'
13319         [4ea5aacae3fb]
13320
13321 2000-04-19  Todd C. Miller  <Todd.Miller@courtesan.com>
13322
13323         * configure, configure.in:
13324         Fix --with-badpri help line
13325         [3cc40977c043]
13326
13327 2000-04-17  Todd C. Miller  <Todd.Miller@courtesan.com>
13328
13329         * defaults.c, logging.c, sudo.c:
13330         Bracket calls to syslog with an openlog() and closelog() since some
13331         authentication methods (like PAM) may do their own logging via
13332         syslog. Since we don't use syslog much (usually just once per
13333         session) this doesn't really incur a performance penalty. It also
13334         Fixes a SEGV with pam_kafs.
13335         [fe1cc28529f6]
13336
13337 2000-04-15  Todd C. Miller  <Todd.Miller@courtesan.com>
13338
13339         * sudo.c:
13340         Fix -H flag. runas_homedir is only valid after
13341         set_perms(PERM_RUNAS, mode)
13342         [ce9b1c6f68a6]
13343
13344 2000-04-12  Todd C. Miller  <Todd.Miller@courtesan.com>
13345
13346         * INSTALL:
13347         Clarify the fact that insults are not enabled just by including them
13348         in the binary.
13349         [d5a31d48320c]
13350
13351 2000-04-07  Todd C. Miller  <Todd.Miller@courtesan.com>
13352
13353         * sudo.cat, sudo.man.in, sudoers.cat, sudoers.man.in, visudo.cat,
13354         visudo.man.in:
13355         Regenerated with perl 5.6.0 pod2man
13356         [21751433768b]
13357
13358         * Makefile.in:
13359         Give date string to pod2man since its default is ugly and it ain't
13360         got no alibi.
13361         [0080b2f6298f]
13362
13363         * Makefile.in:
13364         Do section substitution on the output of pod2man and remove hack
13365         needed for old pod2man.
13366         [1ef843d5c78b]
13367
13368         * sudo.pod, sudoers.pod, visudo.pod:
13369         Put back real man sections, we will do the substitution later.
13370         [f728c1abad7e]
13371
13372 2000-04-02  Todd C. Miller  <Todd.Miller@courtesan.com>
13373
13374         * configure, configure.in:
13375         Don't bother checking for the path to vi if user specified --with-
13376         editor
13377         [bf698487e0d5]
13378
13379 2000-04-01  Todd C. Miller  <Todd.Miller@courtesan.com>
13380
13381         * CHANGES, visudo.c:
13382         Visudo now does its own fork/exec instead of calling system(3).
13383         [99bbcd88863b]
13384
13385         * CHANGES, INSTALL, Makefile.in, sudoers.cat, sudoers.man.in,
13386         sudoers.pod, visudo.c:
13387         Visudo now checks for the existence of an editor and gives a
13388         sensible error if it does not exist.
13389
13390         The path to the editor for visudo is now a colon-separated list of
13391         allowable editors. If the user has $EDITOR set and it matches one
13392         of the allowed editors that editor will be used. If not, the first
13393         editor in the list that actually exists is used.
13394         [cc86eb9f5440]
13395
13396         * sudo.cat, sudo.man.in, sudo.pod:
13397         Clear up confusion wrt sudo's return value.
13398         [9385b12d8e79]
13399
13400 2000-03-27  Todd C. Miller  <Todd.Miller@courtesan.com>
13401
13402         * Makefile.in:
13403         Strip sudo and visudo for bindist target
13404         [a995ddd79177]
13405
13406         * sudo.cat, sudo.man.in, sudo.pod, sudoers.cat, sudoers.man.in,
13407         sudoers.pod, visudo.cat, visudo.man.in, visudo.pod:
13408         Use @mansectsu@ and @mansectform@ in the man page bodies as well.
13409         [5eb9e60a726f] [SUDO_1_6_3]
13410
13411         * visudo.cat, visudo.man.in, visudo.pod:
13412         Typo: @sysconf@ -> @sysconfdir@
13413         [f07f52fcd099]
13414
13415         * Makefile.in:
13416         'make dist' should not cause any files to be modified so remove its
13417         dependencies.
13418         [7f44a2666a9c]
13419
13420         * CHANGES:
13421         Whoops, forgot to add release marker
13422         [16c0f16b35b8]
13423
13424 2000-03-26  Todd C. Miller  <Todd.Miller@courtesan.com>
13425
13426         * CHANGES:
13427         Final change for 1.6.3 (or so I hope)
13428         [473c89da6123]
13429
13430         * sudo.cat, sudoers.cat, visudo.cat:
13431         Use SYSV man sections since BSD systems will have nroff...
13432         [0a6bd154324e]
13433
13434 2000-03-24  Todd C. Miller  <Todd.Miller@courtesan.com>
13435
13436         * parse.yacc, sudo.tab.c:
13437         When checking to see if the host/user matches in a defaults spec,
13438         check against TRUE, not just non-zero since it might be -1.
13439         [41f2b7ad3fdd]
13440
13441         * configure, configure.in:
13442         OSF/1 puts file formats in section 4, not 5.
13443         [d77c1301afa9]
13444
13445         * CHANGES, INSTALL, sudo.c:
13446         Make login class support work on BSD/OS
13447         [e9bbe3c08ade]
13448
13449         * RUNSON:
13450         Update for 1.6.3
13451         [c40ce1d76c4d]
13452
13453         * configure, configure.in:
13454         If there is no inet_addr but there *is* an __inet_addr that's ok
13455         since inet_addr is probably just a macro then. The better thing to
13456         do would be to look for the macro, but this is fine for now.
13457         [1b8865ae4d68]
13458
13459         * configure, configure.in:
13460         Don't use shlicc for BSD/OS 4.x
13461         [83fbf6dedd2c]
13462
13463         * Makefile.in, configure, configure.in:
13464         *.man lives in cwd, *.cat lives in $(srcdir), add a @mansrcdir@
13465         configure variable so we can deal with this. Also, only remove *.man
13466         for 'distclean' not 'clean'.
13467         [30d56e6de214]
13468
13469         * sudo.c:
13470         set_loginclass() should be static like the proto says
13471         [d570a2d55fb8]
13472
13473 2000-03-23  Todd C. Miller  <Todd.Miller@courtesan.com>
13474
13475         * fnmatch.c:
13476         Add #ifdef __STDC__ around the rangematch function header to avoid
13477         promotion of test to int, thus violating the prototype. Gcc handles
13478         this gracefully but more std ANSI compilers will complain.
13479         [7d98c3e332b2]
13480
13481         * emul/fnmatch.h:
13482         Pull in newer fnmatch(3) that supports FNM_CASEFOLD
13483         [4e1320852f8b]
13484
13485         * aclocal.m4, configure, fnmatch.3, fnmatch.c:
13486         Pull in newer fnmatch(3) that supports FNM_CASEFOLD Check for
13487         FNM_CASEFOLD in configure
13488         [9ef952bf1896]
13489
13490         * CHANGES, TODO:
13491         update for 1.6.3
13492         [e4ba6368a0c5]
13493
13494         * sudo.tab.c, sudo.tab.h, testsudoers.c, visudo.c:
13495         Fully qualified hosts w/ wildcards were not matching the FQHOST
13496         token type. There's really no need for a separate token for fully-
13497         qualified vs. unqualified anymore so FQHOST is now history and
13498         hostname_matches now decides which hostname (short or long) to check
13499         based on whether or not the pattern contains a '.'.
13500         [fbd2887d9811]
13501
13502         * parse.h:
13503         Fully qualified hosts w/ wildcards were not matching the FQHOST
13504         token type. There's really no need for a separate token for fully-
13505         qualified vs. unqualified anymore so FQHOST is now history and
13506         hostname_matches now decides which hostname (short or long) to check
13507         based on whether or not the pattern contains a '.'.
13508         [dd7bbe223461]
13509
13510         * lex.yy.c, parse.c, parse.lex, parse.yacc:
13511         Fully qualified hosts w/ wildcards were not matching the FQHOST
13512         token type. There's really no need for a separate token for fully-
13513         qualified vs. unqualified anymore so FQHOST is now history and
13514         hostname_matches now decides which hostname (short or long) to check
13515         based on whether or not the pattern contains a '.'.
13516         [630d9d205397]
13517
13518         * parse.c, parse.h, parse.yacc, sudo.tab.c, sudoers.cat,
13519         sudoers.man.in, sudoers.pod, testsudoers.c, visudo.c:
13520         Add support for wildcards in the hostname.
13521         [d8d821ed4238]
13522
13523         * Makefile.in:
13524         Add targets for *.man.in, using config.status to generate *.man from
13525         *.man.in
13526         [640e50ede485]
13527
13528         * sudoers.cat, sudoers.man.in, sudoers.pod:
13529         Document set_logname option and enbolden refs to sudo and visudo.
13530         [9622b3a48707]
13531
13532         * INSTALL, Makefile.in, aclocal.m4, configure, configure.in, sudo.cat,
13533         sudo.man.in, sudo.pod, sudoers.cat, sudoers.man.in, sudoers.pod,
13534         visudo.cat, visudo.man.in, visudo.pod:
13535         Add FreeBSD login.conf support (untested on BSD/OS) based on a patch
13536         from Michael D. Marchionna. configure now does substitution on the
13537         man pages, allowing us to fix up the paths and set the section
13538         correctly. Based on an idea from Michael D. Marchionna.
13539         [463e928a0a2f]
13540
13541         * auth/passwd.c:
13542         Better fix for handling HP-UX aging info.
13543         [3950f42d8549]
13544
13545         * sudo.c:
13546         Add support for set_logname run-time default
13547         [c6a7cc76b8b4]
13548
13549         * sudo.man.in, sudoers.man.in, visudo.man.in:
13550         configure does substitution on these to produce *.man
13551         [b83fc3c1bfc9]
13552
13553         * sudo.man, sudoers.man, visudo.man:
13554         These files now get generated from *.man.in at configure time.
13555         [c499061f79e0]
13556
13557 2000-03-22  Todd C. Miller  <Todd.Miller@courtesan.com>
13558
13559         * defaults.c, defaults.h:
13560         Add set_logname option so users can turn off setting of LOGNAME/USER
13561         environment variables.
13562         [6316869180b8]
13563
13564         * lsearch.c, parse.c, testsudoers.c:
13565         kill register
13566         [6e104e653748]
13567
13568 2000-03-13  Todd C. Miller  <Todd.Miller@courtesan.com>
13569
13570         * auth/passwd.c:
13571         HP-UX adds extra info at the end for password aging so when
13572         comparing the result of crypt to pw_passwd we only compare the first
13573         len(epass) bytes *unless* the user entered an empty string for a
13574         password.
13575         [3d24d4e4e889]
13576
13577         * logging.c:
13578         Get rid of grandchild hack, it was causing problems and there is
13579         really no need for it. This fixes a bug where we spin eating up CPU
13580         when the user runs a long-running process like a shell.
13581         [5743b10b1e81]
13582
13583 2000-03-07  Todd C. Miller  <Todd.Miller@courtesan.com>
13584
13585         * sudo.c:
13586         User can always specify a login class if he/she is already root.
13587         [710d160cef9f]
13588
13589         * config.h.in, configure, configure.in, defaults.c, defaults.h,
13590         sudo.c, sudo.h:
13591         FreeBSD login class (login.conf) support.
13592         [026b981d6328]
13593
13594 2000-03-06  Todd C. Miller  <Todd.Miller@courtesan.com>
13595
13596         * auth/sudo_auth.c:
13597         HAVE_SECUREWARE -> HAVE_GETPRPWNAM; fixes secureware support
13598         [9cd4929f1a78]
13599
13600 2000-03-03  Todd C. Miller  <Todd.Miller@courtesan.com>
13601
13602         * auth/passwd.c:
13603         Truncate unencrypted password to 8 chars if encrypted password is
13604         exactly 13 characters (indicateing standard a DES password). Many
13605         versions of crypt() do this for you, but not all (like HP-UX's).
13606         [a9d0259cb193]
13607
13608 2000-03-02  Todd C. Miller  <Todd.Miller@courtesan.com>
13609
13610         * INSTALL, RUNSON:
13611         Mention that gcc on dynix may have problems
13612         [77b97fa5bf1b]
13613
13614 2000-02-29  Todd C. Miller  <Todd.Miller@courtesan.com>
13615
13616         * Makefile.in:
13617         Link visudo with NET_LIBS since we now call syslog via defaults.c
13618         [9e3830b277cc]
13619
13620         * defaults.c:
13621         Use Argv[0] as the first arg to openlog() since visudo uses this
13622         too.
13623         [e61078f328ec]
13624
13625 2000-02-28  Todd C. Miller  <Todd.Miller@courtesan.com>
13626
13627         * sudo.c:
13628         Stash coredumpsize resource limit and retsore it before the exec()
13629         Otherwise the child ends up with a coredumpsize of 0.
13630         [f6a4783835a3]
13631
13632 2000-02-27  Todd C. Miller  <Todd.Miller@courtesan.com>
13633
13634         * sudo.cat, sudo.man, sudo.pod:
13635         document -S flag
13636         [3ebd805b7142]
13637
13638         * sudo.c:
13639         fix usage string
13640         [66b2dfa47fe8]
13641
13642         * CHANGES, RUNSON, TODO, auth/aix_auth.c, auth/fwtk.c, auth/pam.c,
13643         auth/sudo_auth.c, sudo.c, sudo.h, tgetpass.c:
13644         Added -S flag (read passwd from stdin) and tgetpass_flags global
13645         that holds flags to be passed in to tgetpass(). Change echo_off
13646         param to tgetpass() into a flags field. There are currently 2
13647         possible flags for tgetpass(): TGP_ECHO and TGP_STDIN. In
13648         tgetpass(), abstract the echo set/clear via macros and if (flags &
13649         TGP_ECHO) but echo is not set on the terminal, but sure to set it.
13650         [a4fcbb712cd0]
13651
13652         * tgetpass.c:
13653         Fixed a bug that caused an infinite loop when the password timeout
13654         was disabled.
13655         [2be1ffc5a39f]
13656
13657 2000-02-18  Todd C. Miller  <Todd.Miller@courtesan.com>
13658
13659         * CHANGES, defaults.c, defaults.h, getspwuid.c, sudo.c, sudo.h,
13660         sudoers.cat, sudoers.man, sudoers.pod, visudo.c:
13661         Add rootpw, runaspw, and targetpw options.
13662         [2d4563e46df7]
13663
13664         * CHANGES, defaults.c, sudoers.cat, sudoers.man, sudoers.pod,
13665         visudo.c:
13666         enveditor -> env_editor
13667         [ddc5f856e583]
13668
13669 2000-02-16  Todd C. Miller  <Todd.Miller@courtesan.com>
13670
13671         * BUGS, INSTALL, Makefile.in, README, configure, configure.in,
13672         sudo.cat, sudo.man, sudoers.cat, sudoers.man, version.h, visudo.cat,
13673         visudo.man:
13674         crank versino to 1.6.3
13675         [a5f7d3e74360]
13676
13677         * INSTALL, TODO, defaults.c, defaults.h, sudoers.cat, sudoers.man,
13678         sudoers.pod, visudo.c:
13679         Add 'editor' and 'enveditor' sudoers defaults and make visudo honor
13680         them. This means that visudo will now parse the sudoers file
13681         *before* it is edited so a bogus sudoers file will cause a warning
13682         to go to stderr. Also, visudo checks the variables once--it does not
13683         check them after each editor run since that could be confusing.
13684         [9f5af18e9212]
13685
13686 2000-02-15  Todd C. Miller  <Todd.Miller@courtesan.com>
13687
13688         * RUNSON:
13689         1.6.2 -> 1.6.2p1
13690         [e25b74f1d1af]
13691
13692         * check.c, sudo.c, sudo.h:
13693         Move user_is_exempt prototype into sudo.h
13694         [daf26a6ded8a]
13695
13696 2000-02-13  Todd C. Miller  <Todd.Miller@courtesan.com>
13697
13698         * configure, configure.in:
13699         Fix thinko, some && should have been || in the last commit
13700         [4b9b2d487ded]
13701
13702         * configure, configure.in:
13703         Don't initialized Makefile variables to be NULL since the user may
13704         want to import variables from their environment.
13705         [7be019f4422c]
13706
13707 2000-02-04  Todd C. Miller  <Todd.Miller@courtesan.com>
13708
13709         * configure, configure.in:
13710         typo
13711         [38f4d8971f0a]
13712
13713 2000-01-28  Todd C. Miller  <Todd.Miller@courtesan.com>
13714
13715         * sudo.tab.c:
13716         fix a yacc (skeleton.c) warning
13717         [a2da228a937b]
13718
13719 2000-01-27  Todd C. Miller  <Todd.Miller@courtesan.com>
13720
13721         * INSTALL, RUNSON, configure, configure.in:
13722         Make pam work on HP-UX 11.0;jaearick@colby.edu
13723         [b94de0ff6f42]
13724
13725         * CHANGES:
13726         recent changes; prepare for 1.6.2p1
13727         [b291635ea141]
13728
13729         * find_path.c:
13730         Don't apply SECURE_PATH if user is example; jmknoble@pobox.com
13731         [4306285c4f6e]
13732
13733 2000-01-26  Todd C. Miller  <Todd.Miller@courtesan.com>
13734
13735         * sudo.tab.c:
13736         Regen with yacc that has a memory leak plugged.
13737         [e26383a04eb7]
13738
13739         * sudoers.cat, sudoers.man, sudoers.pod:
13740         Expanded docs on sudoers 'defaults' options based on INSTALL file
13741         info.
13742         [54c3d62d6c74]
13743
13744         * INSTALL:
13745         Fix some while lies
13746         [d15311782150]
13747
13748 2000-01-24  Todd C. Miller  <Todd.Miller@courtesan.com>
13749
13750         * Makefile.in:
13751         When making a bindist, link FAQ to TROUBLESHOOTING instead of
13752         copying.
13753         [2d88a6ac88cf]
13754
13755         * sudoers.cat, sudoers.man, sudoers.pod:
13756         Add netgroup caveat
13757         [28d119f466e3] [SUDO_1_6_2]
13758
13759         * RUNSON:
13760         Last minute updates
13761         [89fb4ed22d52]
13762
13763         * TROUBLESHOOTING:
13764         PAM entry
13765         [a9fd59f39457]
13766
13767         * auth/pam.c:
13768         correct a comment
13769         [a29627225ba9]
13770
13771         * CHANGES, RUNSON:
13772         update for 1.6.2
13773         [b7f1c40ea732]
13774
13775         * auth/pam.c:
13776         Better detection of PAM errors and fix custom prompts with PAM.
13777         Based on patches from "Cloyce D. Spradling" <cloyce@headgear.org>
13778         [ff69234b94a5]
13779
13780 2000-01-20  Todd C. Miller  <Todd.Miller@courtesan.com>
13781
13782         * snprintf.c:
13783         Cast ULONG_MAX to unsigned long long when comparing to an unsigned
13784         long long value.
13785         [9d918c3a2ecd]
13786
13787 2000-01-19  Todd C. Miller  <Todd.Miller@courtesan.com>
13788
13789         * CHANGES, config.h.in, configure, configure.in, visudo.c:
13790         Fix sudoers locking in visudo. We now lock the sudoers file itself,
13791         not the temp file (since locking the temp file can foul up editors).
13792         The previous locking scheme didn't work because the fd was closed
13793         too early.
13794         [de2011bb11ed]
13795
13796         * config.h.in, configure, configure.in:
13797         Don't need test for ftruncate() any more.
13798         [e5f71c848104]
13799
13800         * configure, configure.in:
13801         Add a test for the -Aa flag w/ HP-UX's cc. Fixes compilation with
13802         the unbundled HP-UX cc.
13803         [2c373612c644]
13804
13805 2000-01-18  Todd C. Miller  <Todd.Miller@courtesan.com>
13806
13807         * sudoers.cat, sudoers.man, sudoers.pod:
13808         "a a" -> "a"; Aaron Campbell <aaron@cs.dal.ca>
13809         [05360d2c314e]
13810
13811 2000-01-17  Todd C. Miller  <Todd.Miller@courtesan.com>
13812
13813         * LICENSE, Makefile.in, defaults.c, defaults.h, parse.c, parse.h,
13814         parse.yacc, sudo.c, sudo.h, sudoers.pod, testsudoers.c, tgetpass.c,
13815         version.h, visudo.c:
13816         update copyright year on changed files
13817         [5792a2a28a4c]
13818
13819         * RUNSON:
13820         updates
13821         [edf8f19aa403]
13822
13823         * CHANGES:
13824         aix fix
13825         [4d4a243b31e2]
13826
13827         * INSTALL:
13828         Crank version to 1.6.2
13829         [bcb5cb411624]
13830
13831         * configure:
13832         Crank version to 1.6.2
13833         [32a19f33427f]
13834
13835         * sudo.c:
13836         When using rlimit check for RLIM_INFINITY When computing the value
13837         of maxfd, use min(getdtablesize(), RLIMIT_NOFILE)
13838         [8c16166802e5]
13839
13840         * CHANGES:
13841         recent changes
13842         [09fc7112e44d]
13843
13844         * BUGS, Makefile.in, README, configure.in, sudo.cat, sudo.man,
13845         sudoers.cat, sudoers.man, version.h, visudo.cat, visudo.man:
13846         Crank version to 1.6.2
13847         [055fa61a7c61]
13848
13849         * INSTALL, defaults.c, defaults.h, sudo.c, sudo.h, sudoers.pod:
13850         Add 'shell_noargs' runtime option back in. We have to defer
13851         checking until after the sudoers file has been parsed but since
13852         there are now other options that operate that way this one can too.
13853         Based on a patch from bguillory@email.com.
13854         [231db7a007a6]
13855
13856         * defaults.c, defaults.h, parse.c, sudo.c, sudo.h:
13857         Add "listpw" and "verifypw" options.
13858         [190683bac878]
13859
13860         * sudoers.cat, sudoers.man, sudoers.pod:
13861         o Fix some typos/omissions o Add section on verifypw and listpw o
13862         Define how NOPASSWD interacts with the -v and -l flags
13863         [6feb7350eb79]
13864
13865 2000-01-14  Todd C. Miller  <Todd.Miller@courtesan.com>
13866
13867         * configure, configure.in:
13868         For HP-UX cc, add -Aa to CPPFLAGS. For HP-UX always add
13869         -D_HPUX_SOURCE to CPPFLAGS.
13870         [06cc35d89dc8]
13871
13872         * defaults.c, defaults.h:
13873         In struct sudo_defs_types, move the union to the end and don't
13874         initialize the union member since that only works with an ANSI
13875         compiler. We set the value of the union by hand in init_defaults()
13876         anyway. This allows sudo to compile on a K&R compiler again.
13877         [623487e1fcfa]
13878
13879 2000-01-11  Todd C. Miller  <Todd.Miller@courtesan.com>
13880
13881         * parse.c, parse.h, parse.yacc, sudo.tab.c, testsudoers.c, visudo.c:
13882         netgr_matches needs to check shost as well as host since they may be
13883         different.
13884         [3f43ace23d3e]
13885
13886         * tgetpass.c:
13887         End on \r as well as \n
13888         [cb7c6e6f4202]
13889
13890 2000-01-03  Todd C. Miller  <Todd.Miller@courtesan.com>
13891
13892         * sudo.c:
13893         Update statbuf.st_mode based on SUDOERS_MODE when we are chaning
13894         from 0400 to whatever SUDOERS_MODE is (converting from the old
13895         sudoers mode). Assumes that SUDOERS_MODE is less restrictive than
13896         0400 which should always be the case.
13897         [34cd83d49d20]
13898
13899         * parse.c, parse.yacc, sudo.c, sudo.h, sudo.tab.c:
13900         Make treatment of -l and -v sane wrt NOPASSWD flags. Now allow -l
13901         w/o a passwd if there is *any* entry for the user on the host with a
13902         NOPASSWD flag. For -v, only allow w/o a passwd if *all* entries for
13903         the user on the host w/ the specified runas user have the NOPASSWD
13904         flag set.
13905         [4b3b85697653]
13906
13907         * Makefile.in:
13908         add check target
13909         [3d24d34a76fd]
13910
13911 1999-12-16  Todd C. Miller  <Todd.Miller@courtesan.com>
13912
13913         * visudo.c:
13914         Treat EOF at whatnow prompt like 'x' instead of looping.
13915         [5deffc27114c]
13916
13917 1999-12-10  Todd C. Miller  <Todd.Miller@courtesan.com>
13918
13919         * CHANGES:
13920         recent changes
13921         [5836a9452568] [SUDO_1_6_1]
13922
13923 1999-12-09  Todd C. Miller  <Todd.Miller@courtesan.com>
13924
13925         * config.h.in, configure, configure.in, sudo.c:
13926         Add check for initgroups() since old SYSV lacks this.
13927         [657a6005a569]
13928
13929         * CHANGES, RUNSON, aclocal.m4, config.h.in, configure, configure.in,
13930         parse.c, testsudoers.c:
13931         o Kill HAVE_FNMATCH_H o Only define HAVE_FNMATCH if <fnmatch.h>
13932         exists.
13933         [17d081e917d6]
13934
13935 1999-12-06  Todd C. Miller  <Todd.Miller@courtesan.com>
13936
13937         * auth/sudo_auth.c:
13938         Don't allow insults to be enabled if the insults[] array is empty.
13939         Otherwise there would be division by zero.
13940         [b20c14db6029]
13941
13942         * insults.h:
13943         Don't allow insults to be enabled if the insults[] array is empty.
13944         Otherwise there would be division by zero.
13945         [028f130204b0]
13946
13947         * CHANGES, RUNSON:
13948         Don't allow insults to be enabled if the insults[] array is empty.
13949         Otherwise there would be division by zero.
13950         [974f4780254b]
13951
13952         * insults.h:
13953         Don't care about USE_INSULTS #define since the insult stuff may be
13954         overridden at runtime.
13955         [b873df8b299c]
13956
13957         * auth/sudo_auth.c:
13958         Honor insults flag.
13959         [756111640fdc]
13960
13961         * CHANGES, parse.c:
13962         Don't ask the user for a password if the user is not allowed to run
13963         the command and the authenticate flag (in sudoers) is false.
13964         [cea9fdc09c76]
13965
13966         * CHANGES, RUNSON, lex.yy.c, parse.lex:
13967         o Whenever we get a bare newline we change to the INITIAL state. o
13968         Enter GOTRUNAS when we see Runas_Alias
13969
13970         This allows #uid to work in a RunasAlias.
13971         [a475513e7c7a]
13972
13973 1999-12-05  Todd C. Miller  <Todd.Miller@courtesan.com>
13974
13975         * CHANGES, parse.yacc, sudo.tab.c:
13976         fix parsing of runas lists: o oprunasuser and runaslist now return a
13977         value o in a runasspec, if a runaslist does not return TRUE, set
13978         runas_matches to FALSE. Normally, a runaslist only returns FALSE
13979         for explicitly denied users. o since runaslist does not modify the
13980         stack there is no need for a push/pop in runasalias.
13981         [82b305b34a8c]
13982
13983         * check.c, sudo.c:
13984         Don't kill the user's tickets until after sudoers has been parsed
13985         since tty_tickets and ticket_dir could be set in sudoers.
13986         [f43e25367f3a]
13987
13988         * BUGS, CHANGES, Makefile.binary, Makefile.in, README, RUNSON,
13989         configure, configure.in, sudo.cat, sudo.man, sudoers.cat,
13990         sudoers.man, tgetpass.c, version.h, visudo.cat, visudo.man:
13991         crank version to 1.6
13992         [95f8bdcf9bb2]
13993
13994         * testsudoers.c:
13995         add set_fqdn() stub
13996         [bbc81af5b41a]
13997
13998 1999-12-02  Todd C. Miller  <Todd.Miller@courtesan.com>
13999
14000         * INSTALL, defaults.c, defaults.h, sudo.c, sudo.h, sudoers.cat,
14001         sudoers.man, sudoers.pod, visudo.c:
14002         o Kill shell_noargs option, it cannot work since the command needs
14003         to be set before sudoers is parsed. o Fix the "set_home" sudoers
14004         option (only worked at compile time). o Fix "fqdn" sudoers option.
14005         We now set host/shost via set_fqdn which gets called when the
14006         "fqdn" option is set in sudoers. o Move the openlog() to
14007         store_syslogfac() so this gets overridden correctly from the
14008         sudoers file.
14009         [3dca861f0f5d]
14010
14011         * auth/securid.c:
14012         SecurID support should compile now.
14013         [a544e5c6ea34]
14014
14015 1999-11-29  Todd C. Miller  <Todd.Miller@courtesan.com>
14016
14017         * sudo.cat, sudo.man, sudo.pod, sudoers.cat, sudoers.man, visudo.cat,
14018         visudo.man, visudo.pod:
14019         fix some syntactic goofs
14020         [b3451f0d5239]
14021
14022 1999-11-28  Todd C. Miller  <Todd.Miller@courtesan.com>
14023
14024         * Makefile.in, sudo.html, sudoers.html, visudo.html:
14025         No longer need the .html files as they are generated automatically
14026         on the web site.
14027         [1b4aa4204584]
14028
14029         * CHANGES, LICENSE:
14030         kill characters that made wml unhappy
14031         [b988fbc6da56]
14032
14033         * HISTORY:
14034         typo
14035         [a418963f7fce]
14036
14037 1999-11-25  Todd C. Miller  <Todd.Miller@courtesan.com>
14038
14039         * README:
14040         majordomo@cs.colorado.edu -> majordomo@courtesan.com
14041         [5d151e8ffd3b]
14042
14043         * Makefile.in, configure:
14044         Wrap script execution w/ /bin/sh for the benefit of ctm
14045         [3a9c4766b2c3]
14046
14047 1999-11-24  Todd C. Miller  <Todd.Miller@courtesan.com>
14048
14049         * sudo.c:
14050         Make the -s flag be exclusive too. Also reorder the flags in the
14051         exclusive usage message so they are alphabetical.
14052         [4c7af200db34]
14053
14054 1999-11-23  Todd C. Miller  <Todd.Miller@courtesan.com>
14055
14056         * auth/pam.c:
14057         make pam errors other than PAM_PERM_DENIED fatal
14058         [64bcb3fd2baf]
14059
14060         * auth/API:
14061         fix typo
14062         [f3134c88b12e]
14063
14064         * INSTALL:
14065         make it clear that /etc/pam.d/sudo is required on linux
14066         [213cc3eaad82]
14067
14068         * auth/pam.c:
14069         fix a warning on redhat and spew an error if pam_authenticate()
14070         returns an error other than AUTH_SUCCESS or PAM_PERM_DENIED
14071         [7e46dd19da89]
14072
14073         * sudo.cat, sudo.html, sudo.man, sudo.pod:
14074         Be very clear that the password required is the user's not root's
14075         [a6da127347e5]
14076
14077 1999-11-20  Todd C. Miller  <Todd.Miller@courtesan.com>
14078
14079         * Makefile.in:
14080         add sample.syslog.conf to DISTFILES and BINFILES
14081         [8661c27c007e]
14082
14083 1999-11-19  Todd C. Miller  <Todd.Miller@courtesan.com>
14084
14085         * RUNSON:
14086         updates from Brian Jackson + some formatting
14087         [6d31c6fa63f8]
14088
14089 1999-11-18  Todd C. Miller  <Todd.Miller@courtesan.com>
14090
14091         * INSTALL.binary, Makefile.binary, README, RUNSON:
14092         o One RUNSon update o Changes for automating real binary releases
14093         [dd9585f4406c]
14094
14095         * Makefile.in:
14096         Add bindist target
14097         [546ed3fa94bb]
14098
14099 1999-11-16  Todd C. Miller  <Todd.Miller@courtesan.com>
14100
14101         * TROUBLESHOOTING:
14102         talk about run-time options in addition to compile-time options
14103         [1eb813ff0a9a] [SUDO_1_6_0]
14104
14105         * CHANGES:
14106         fix typos
14107         [65e92bb70a7b]
14108
14109         * sudo.c:
14110         need sys/time.h if HAVE_SETRLIMIT
14111         [ce31655a8a60]
14112
14113         * PORTING, README, RUNSON, sudo.c, sudo.cat, sudo.html, sudo.man,
14114         sudo.pod, visudo.cat, visudo.html, visudo.man, visudo.pod:
14115         get rid of references to sudo-bugs. Now mention the web site or the
14116         sudo@ alias
14117         [a9db861fd8c6]
14118
14119         * sudoers.html:
14120         repair pod2html damage
14121         [62ece4277f1f]
14122
14123         * RUNSON, TODO:
14124         Update for 1.6 release
14125         [98569c57ba2a]
14126
14127         * sudoers.cat, sudoers.html, sudoers.man, sudoers.pod:
14128         Add warning about using ALL in a command context.
14129         [6c77685ab280]
14130
14131 1999-11-09  Todd C. Miller  <Todd.Miller@courtesan.com>
14132
14133         * visudo.c:
14134         Call yyrestart() on a parse error to reset the lexer state.
14135         [1370a27acdb2]
14136
14137         * lex.yy.c, parse.lex:
14138         Don't need YY_FLUSH_BUFFER after all Move yyrestart() into visudo.c
14139         since it might not get called in yywrap if we get a parse error
14140         (and we only reread the file on error anyway).
14141         [37f4b449e28e]
14142
14143         * lex.yy.c, parse.lex:
14144         Call YY_FLUSH_BUFFER macro in yywrap() to clean up any buffers that
14145         might still exist. Call yyrestart() instead of using the deprecated
14146         YY_NEW_FILE macro.
14147         [7d0d873046c6]
14148
14149         * lex.yy.c, parse.lex:
14150         flex doesn't need %N table size declarations
14151         [268b020fd60a]
14152
14153         * sudoers.cat, sudoers.html, sudoers.man, sudoers.pod:
14154         Mention what characters need to be escaped in names.
14155         [72ccbb6b0f31]
14156
14157 1999-11-08  Todd C. Miller  <Todd.Miller@courtesan.com>
14158
14159         * configure:
14160         regen
14161         [65827abb5c7b]
14162
14163         * INSTALL:
14164         clarify Mac OS X entry
14165         [8da1549a71f5]
14166
14167         * RUNSON:
14168         update
14169         [0cff8df7459f]
14170
14171         * configure.in:
14172         o Use AC_MSG_ERROR throughout o Check syslog configure options for
14173         danity
14174         [4cb81e642e5c]
14175
14176 1999-11-05  Todd C. Miller  <Todd.Miller@courtesan.com>
14177
14178         * defaults.c:
14179         Fix printing of type T_MODE in dump_defaults()
14180         [a868bb6f5515]
14181
14182         * strcasecmp.c:
14183         missing sys/types.h
14184         [ca694ca325b6]
14185
14186         * INSTALL:
14187         Break out options that may be overridden at run time into their own
14188         section. Add a not about Max OS X and correct some lies.
14189         [d8bcfd120593]
14190
14191 1999-11-04  Todd C. Miller  <Todd.Miller@courtesan.com>
14192
14193         * CHANGES, config.h.in, configure, configure.in, sudo.c:
14194         o Now use getrlimit to find the highest fd when closing all non-std
14195         fd's o Turn off core dumps via setrlimit for the sake of paranoia
14196         [dd9f651b6def]
14197
14198         * RUNSON:
14199         updates
14200         [f581841fe615]
14201
14202 1999-11-01  Todd C. Miller  <Todd.Miller@courtesan.com>
14203
14204         * CHANGES:
14205         updates
14206         [553baa1d44c7]
14207
14208         * tgetpass.c:
14209         When read()'ing, do a single character at a time to be sure we don't
14210         go oast the newline.
14211         [907d33f55bb4]
14212
14213         * sudo.c:
14214         For the sudo_root option, check against user_uid, not getuid() since
14215         at this point, ruid == euid == 0.
14216         [92d5c51939b4]
14217
14218         * RUNSON:
14219         some updates
14220         [e3ed0c1f312b]
14221
14222         * logging.h:
14223         Fix compilation problem when --with-logging=file was specified.
14224         This means that syslog is now required to build sudo but that should
14225         not be a problem. If it is it can be fixed trivially with a
14226         configure check for syslog() or syslog.h.
14227         [839a4b069190]
14228
14229         * tgetpass.c:
14230         Make this work again for things like "sudo echo hi | more" where the
14231         tty gets put into character at a time mode. We read until we read
14232         end of line or we run out of space (similar to fgets(3)).
14233         [c8f746df2e63]
14234
14235 1999-10-20  Todd C. Miller  <Todd.Miller@courtesan.com>
14236
14237         * sudoers.cat, sudoers.html, sudoers.man, sudoers.pod:
14238         change ital to bold
14239         [f860978e530a]
14240
14241         * RUNSON:
14242         update
14243         [9bcfbb405568]
14244
14245 1999-10-16  Todd C. Miller  <Todd.Miller@courtesan.com>
14246
14247         * defaults.c:
14248         Error out if syslog parameters are given without a value. For
14249         Ultrix or 4.2BSD "syslog" is allowed without a value since there are
14250         no facilities in the 4.2BSD syslog.
14251         [69e7a686f5f0]
14252
14253 1999-10-15  Todd C. Miller  <Todd.Miller@courtesan.com>
14254
14255         * defaults.c:
14256         Ignore the syslog facility for systems w/ old syslog like Ultrix.
14257         [5c250adbbb84]
14258
14259         * TROUBLESHOOTING:
14260         people with "." early in their path can have problems running sudo
14261         from the build dir ;-)
14262         [20a1744a24a4]
14263
14264 1999-10-13  Todd C. Miller  <Todd.Miller@courtesan.com>
14265
14266         * sudo.cat, sudo.html, sudo.man, sudo.pod:
14267         Remove -r realm option
14268         [127caa537f95]
14269
14270         * auth/kerb5.c, auth/sudo_auth.c, auth/sudo_auth.h, configure,
14271         configure.in, sudo.c:
14272         New krb5 code from Frank Cusack <fcusack@iconnet.net>.
14273         [7177a3893a62]
14274
14275         * CHANGES:
14276         update to reality
14277         [766cfbb512d6]
14278
14279 1999-10-12  Todd C. Miller  <Todd.Miller@courtesan.com>
14280
14281         * auth/fwtk.c:
14282         include <auth.h> to get function prototypes.
14283         [d6c7c12d09fe]
14284
14285         * sudo.cat, sudo.html, sudo.man, sudo.pod:
14286         document -L flag
14287         [dc803e1ce0d7]
14288
14289 1999-10-11  Todd C. Miller  <Todd.Miller@courtesan.com>
14290
14291         * sudo.c:
14292         in set_perms(), always call setuid(0) before changing the ruid/euid
14293         so we always know it will succeed.
14294         [8cced1b862bf]
14295
14296         * defaults.h:
14297         #undef T_FOO to avoid conflicts with system defines (like on
14298         ULTRIX).
14299         [d9f0aac092b0]
14300
14301         * TODO, sample.sudoers, sudoers.cat, sudoers.html, sudoers.man,
14302         sudoers.pod:
14303         Docuement "Defaults" lines in /etc/sudoers. Still needs some
14304         fleshing out but this is a start.
14305         [521a1e629bbc]
14306
14307 1999-10-10  Todd C. Miller  <Todd.Miller@courtesan.com>
14308
14309         * use strtol, not strtoul since not everyone has not strtoul
14310         [988462f093cc]
14311
14312         * defaults.c:
14313         use strtol, not strtoul since not everyone has not strtoul
14314         [fce835ce62e3]
14315
14316         * lex.yy.c, parse.lex:
14317         last {WORD} rule should only apply in the INITIAL state
14318         [9b57570bfa83]
14319
14320         * lex.yy.c, parse.lex:
14321         o Add support for escaped characters in the WORD macro o Modify
14322         fill() to squash escape chars
14323         [87572d59e4e0]
14324
14325         * defaults.c, defaults.h:
14326         o Add T_PATH flag to allow simple sanity checks for default values
14327         that are supposed to be pathnames. o Fix a duplicate free when
14328         visudo finds an error.
14329         [bdc6855a6c6d]
14330
14331 1999-10-09  Todd C. Miller  <Todd.Miller@courtesan.com>
14332
14333         * defaults.c, defaults.h, logging.c:
14334         mail_if_foo -> mail_foo
14335         [cbee9415875d]
14336
14337 1999-10-08  Todd C. Miller  <Todd.Miller@courtesan.com>
14338
14339         * compat.h, defaults.c, defaults.h, sudo.c, tgetpass.c:
14340         o Add requiretty option o Move O_NOCTTY to compat.h
14341         [65b8bf0e1795]
14342
14343         * logging.c:
14344         The exit() in log_error() was mistakenly removed in a previous
14345         version. Put it back...
14346         [9473449130a4]
14347
14348 1999-10-07  Todd C. Miller  <Todd.Miller@courtesan.com>
14349
14350         * INSTALL, TODO, auth/aix_auth.c, auth/fwtk.c, auth/pam.c,
14351         auth/rfc1938.c, auth/sia.c, auth/sudo_auth.c, check.c, config.h.in,
14352         configure, configure.in, defaults.c, defaults.h, find_path.c,
14353         getspwuid.c, logging.c, parse.yacc, sudo.c, sudo.tab.c:
14354         o Change defaults stuff to put the value right in the struct. o
14355         Implement mailer_flags o Store syslog stuff both in int and string
14356         form. Setting the string form magically updates the int version.
14357         o Add boolean attribute to strings where it makes sense to say !foo
14358         [4698953f9a36]
14359
14360         * tgetpass.c:
14361         add O_NOCTTY when opening /dev/tty just in case
14362         [4c6d1d1bb300]
14363
14364 1999-10-06  Todd C. Miller  <Todd.Miller@courtesan.com>
14365
14366         * auth/API:
14367         cleanup function no longer takes a status arg
14368         [0819edbfe7f8]
14369
14370         * INSTALL:
14371         the the
14372         [19aadb65ea28]
14373
14374 1999-09-15  Todd C. Miller  <Todd.Miller@courtesan.com>
14375
14376         * TODO, config.h.in, configure, configure.in, logging.c:
14377         Use strftime() instead of ctime() if it is available.
14378         [fb60ea63b514]
14379
14380 1999-09-14  Todd C. Miller  <Todd.Miller@courtesan.com>
14381
14382         * defaults.c:
14383         fix copyright date
14384         [4a53b54aa72f]
14385
14386         * RUNSON:
14387         update ReliantUNIX entry
14388         [de618a4f67d9]
14389
14390         * defaults.c, defaults.h, logging.c:
14391         add log_year option
14392         [251a9e20568a]
14393
14394         * configure, configure.in:
14395         add --without-sendmail to help output
14396         [93162f199902]
14397
14398         * configure, configure.in:
14399         enforce an otctal arg for --with-suoders-mode
14400         [45e1b04ccad3]
14401
14402 1999-09-08  Todd C. Miller  <Todd.Miller@courtesan.com>
14403
14404         * BUGS, INSTALL, Makefile.in, TODO, aclocal.m4, auth/aix_auth.c,
14405         auth/fwtk.c, auth/kerb5.c, auth/pam.c, auth/rfc1938.c, auth/sia.c,
14406         auth/sudo_auth.c, check.c, config.h.in, configure, configure.in,
14407         defaults.c, defaults.h, find_path.c, lex.yy.c, logging.c, parse.h,
14408         parse.lex, parse.yacc, sudo.c, sudo.h, sudo.tab.c, sudo.tab.h,
14409         testsudoers.c, version.c, visudo.c:
14410         Add support for "Defaults" line in sudoers to make configuration
14411         variables changable at runtime (and on a global, per-host and per-
14412         user basis). Both the names and the internal representation are
14413         still subject to change. It was necessary to make sudo_user.runas
14414         but a char ** instead of a char * since this value can be changed by
14415         a Defaults line. There is a similar (but more complicated) issue
14416         with sudo_user.prompt but it is handled differently at the moment.
14417
14418         Add a "-L" flag to list the name of options with their descriptions.
14419         This may only be temporary.
14420
14421         Move some prototypes to parse.h
14422
14423         Be much less restrictive on what is allowed for a username.
14424         [f71abf7ba80c]
14425
14426         * sample.syslog.conf:
14427         Add more info
14428         [e952e6f42d4d]
14429
14430 1999-09-04  Todd C. Miller  <Todd.Miller@courtesan.com>
14431
14432         * LICENSE, fnmatch.3, fnmatch.c, getcwd.c, lsearch.c, snprintf.c,
14433         strcasecmp.c:
14434         UCB has dropped the advertising clause from their license.
14435         [a5602b36a341]
14436
14437 1999-08-31  Todd C. Miller  <Todd.Miller@courtesan.com>
14438
14439         * auth/sudo_auth.h:
14440         move dce_verofy proto to correct section
14441         [972c815af558]
14442
14443         * auth/dce.c:
14444         remove XXX
14445         [820631855be0]
14446
14447 1999-08-28  Todd C. Miller  <Todd.Miller@courtesan.com>
14448
14449         * emul/fnmatch.h:
14450         Add fnmatch() prototype
14451         [79e84576d92a]
14452
14453         * fnmatch.c, parse.c, testsudoers.c:
14454         Move inclusion of emul/fnmatch.h to be after sudo.h for __P
14455         [1182c89fa811]
14456
14457         * sudo.h:
14458         add strcasecmp proto
14459         [512d1d8a6a0c]
14460
14461         * auth/sudo_auth.c:
14462         add check for case where there are no auth methods
14463         [e4af2b91b43e]
14464
14465         * configure, configure.in:
14466         Define _XOPEN_EXTENDED_SOURCE on AIX and __USE_FIXED_PROTOTYPES__ on
14467         SunOS4 w/ gcc
14468         [746ce8bcec23]
14469
14470         * getspwuid.c, lex.yy.c, parse.lex, parse.yacc, sudo.tab.c:
14471         include strings.h everywhere we include string.h
14472         [6f7d5d437e7b]
14473
14474         * version.c:
14475         nicer output when showing auth methods
14476         [0eac4b977f9d]
14477
14478         * version.c:
14479         Add support for SEND_MAIL_WHEN_NO_HOST
14480         [9f20a3a3fae6]
14481
14482         * config.h.in, configure, configure.in:
14483         Add _GNU_SOURCE for Linux
14484         [c7bd8c511847]
14485
14486         * lex.yy.c, parse.lex:
14487         fix definition of OCTECT
14488         [4af30e63244d]
14489
14490         * configure, configure.in:
14491         aix_auth.o not authenticate.o
14492         [fe95dfb08df4]
14493
14494 1999-08-27  Todd C. Miller  <Todd.Miller@courtesan.com>
14495
14496         * sudo.c:
14497         Only block SIGINT, SIGQUIT, SIGTSTP (which can be generated from the
14498         keyboard). Since we run with ruid/euid == 0 the user can't really
14499         signal us in nasty ways.
14500         [a7f6487c0f48]
14501
14502         * visudo.c:
14503         Don't need to worry about catching too many signals since we do
14504         locking on the tmp file. If a lockfile is really stale, it will be
14505         detected and overwritten.
14506         [28983db3e749]
14507
14508         * INSTALL, Makefile.in:
14509         include auth/API in tarball
14510         [014991600252]
14511
14512         * auth/sudo_auth.c:
14513         move memset() of plaintext pw outside of verify loop and only do the
14514         memset if we are *not* in standalone mode.
14515         [66f8e87567e2]
14516
14517         * auth/sudo_auth.c, auth/sudo_auth.h:
14518         DCE is not a standalone method
14519         [34963e2d8a1b]
14520
14521         * sudo.c:
14522         fix --enable-noargs-shell
14523         [4234062abbb0]
14524
14525         * snprintf.c:
14526         "#ifdef __STDC__" not "#if __STDC__" (I missed one)
14527         [c430b80454c6]
14528
14529         * auth/fwtk.c, auth/sia.c:
14530         _cleanup() function returns an int.
14531         [d1a1cc071ec1]
14532
14533         * auth/dce.c:
14534         there were still some return(0)'s hanging around, make them
14535         AUTH_FAILURE
14536         [1002aa1962c3]
14537
14538         * parse.c:
14539         typo in comment
14540         [5abc410dbfd2]
14541
14542         * version.c:
14543         add missing semicolon
14544         [a262283b52a5]
14545
14546         * auth/sudo_auth.h:
14547         missing backslash
14548         [bf89f6bd2900]
14549
14550 1999-08-26  Todd C. Miller  <Todd.Miller@courtesan.com>
14551
14552         * CHANGES, config.h.in, configure, configure.in:
14553         Kill _XOPEN_EXTENDED_SOURCE -- causes problems on some OSes
14554         [f1a9bca0cf67]
14555
14556         * Makefile.in:
14557         add parse.h to HDRS
14558         [a3d054987766]
14559
14560         * Makefile.in, configure, configure.in:
14561         Kill VISUDO_LIBS and VISUDO_LDFLAGS. Add LIBS, NET_LIBS, and
14562         LDFLAGS. Common libs go in LIBS, commong ld flags go in LDFLAGS and
14563         network libs like -lsocket, -lnsl go in NET_LIBS. This allows
14564         testsudoers to build on Solaris and is a bit cleaner in general.
14565         [4e6239e97002]
14566
14567         * UPGRADE:
14568         mention ptmp -> sudoers.tmp
14569         [ec3baa0fe8a1]
14570
14571         * config.h.in, configure, configure.in:
14572         Define _XOPEN_SOURCE_EXTENDED not _XOPEN_SOURCE
14573         [6f93dc7f39f5]
14574
14575         * RUNSON:
14576         add 2 reports
14577         [ce0fcc00ee4e]
14578
14579         * auth/kerb5.c:
14580         Minor changes, mostly cosmetic. verify_krb_v5_tgt() changed to
14581         return a value more like a system function
14582         [0dd56aa21424]
14583
14584         * auth/dce.c:
14585         Add an XXX
14586         [58fc8562c212]
14587
14588         * TODO:
14589         more things todo!
14590         [5a459d0cf339]
14591
14592         * sample.sudoers:
14593         update based on what is in the man page
14594         [1a0477db96fa]
14595
14596         * parse.yacc, sudo.tab.c:
14597         minor change to first line printed in -l mode
14598         [69eb57d96952]
14599
14600         * sudo.cat, sudo.html, sudo.man, sudo.pod:
14601         rename "ENVIRONMENT VARIABLES" section to "ENVIRONMENT" to be more
14602         standard and add "EXAMPLES" section
14603         [7e543335ebe1]
14604
14605         * visudo.cat, visudo.html, visudo.man, visudo.pod:
14606         rename "ENVIRONMENT VARIABLES" section to "ENVIRONMENT" to be more
14607         standard
14608         [f82d87ed65c2]
14609
14610         * logging.c, parse.c, sudo.h:
14611         add FLAG_NO_CHECK
14612         [c7d69176a2d7]
14613
14614         * lex.yy.c, parse.lex:
14615         make an OCTET really be limited to 0-255
14616         [6ee568dd6a02]
14617
14618         * UPGRADE:
14619         mention timestamp changes
14620         [e44d5302bf60]
14621
14622         * PORTING:
14623         cosmetic cleanup
14624         [36fa3a2664dd]
14625
14626         * sudoers.cat, sudoers.html, sudoers.man, sudoers.pod:
14627         new sudoers(8) man page
14628         [e674d06283d0]
14629
14630 1999-08-24  Todd C. Miller  <Todd.Miller@courtesan.com>
14631
14632         * version.c:
14633         Update comments about syslog name tables
14634         [63830a782dcb]
14635
14636         * CHANGES, LICENSE, Makefile.in, configure, configure.in, parse.yacc,
14637         strcasecmp.c, sudo.tab.c:
14638         include strcasecmp() for those without it
14639         [a0d8e2488bbc]
14640
14641         * sample.sudoers:
14642         Use the : operator some more and fix a typo
14643         [18804c70da86]
14644
14645         * HISTORY:
14646         update the history of sudo
14647         [9d9b3d5279b3]
14648
14649         * parse.c, parse.lex, testsudoers.c:
14650         CIDR-style netmask support
14651         [768644467353]
14652
14653         * CHANGES:
14654         recent changes
14655         [a4319e9d07cb]
14656
14657         * sudo.tab.c, sudo.tab.h:
14658         these should be generated with byacc, not bison
14659         [f57b9489b752]
14660
14661         * lex.yy.c:
14662         regen
14663         [522461f95dfa]
14664
14665         * parse.h, parse.yacc, sudo.tab.c, sudo.tab.h:
14666         In "sudo -l" mode, the type of the stored (expanded) alias was not
14667         stored with the contents. This could lead to incorrect output if
14668         the sudoers file had different alias types with the same name.
14669         Normal parsing (ie: not in '-l' mode) is unaffected.
14670         [823fe2bc4b79]
14671
14672 1999-08-23  Todd C. Miller  <Todd.Miller@courtesan.com>
14673
14674         * configure, configure.in:
14675         define _XOPEN_SOURCE to get at crypt() proto on some systems
14676         [1b3769b86fb9]
14677
14678 1999-08-22  Todd C. Miller  <Todd.Miller@courtesan.com>
14679
14680         * snprintf.c:
14681         fix comment
14682         [fc1264df00f7]
14683
14684         * tgetpass.c:
14685         don't need limits.h
14686         [f1631829af45]
14687
14688         * snprintf.c:
14689         kill bogus reference to vfprintf
14690         [a0b99b25d389]
14691
14692         * sample.sudoers, sudoers:
14693         better examples
14694         [b4d87ea64cc8]
14695
14696         * snprintf.c:
14697         Add some const in the K&R defs. This is safe since we define const
14698         away if the compiler doesn't grok it.
14699         [614d6e83d45e]
14700
14701         * aclocal.m4, configure:
14702         Better test for working long long support. Ultrix compiler supports
14703         basic long long but not all operations on them.
14704         [5da1508710ed]
14705
14706         * aclocal.m4, auth/secureware.c, config.h.in, configure, getspwuid.c,
14707         snprintf.c, sudo.c:
14708         Add check for LONG_IS_QUAD #undef MAXINT before including
14709         hpsecurity.h to silence an HP-UX warning Check for U?LONG_LONG_MAX
14710         in snprintf.c and use LONG_IS_QUAD
14711         [a1f7993367fc]
14712
14713 1999-08-21  Todd C. Miller  <Todd.Miller@courtesan.com>
14714
14715         * LICENSE, aclocal.m4, config.h.in, configure, configure.in,
14716         snprintf.c:
14717         UCB-derived snprintf + asprintf support. Supports quads if the
14718         compiler does. No floating point yet, perhaps later...
14719         [0caf05aba945]
14720
14721 1999-08-20  Todd C. Miller  <Todd.Miller@courtesan.com>
14722
14723         * auth/API, auth/sudo_auth.c, auth/sudo_auth.h, check.c, find_path.c,
14724         goodpath.c, logging.c, parse.c, sudo.c:
14725         Run most of the code as root, not the invoking user. It doesn't
14726         really gain us anything to run as the user since an attacker can
14727         just have an setuid(0) in their egg. Running as root solves
14728         potential problems wrt signalling.
14729         [408e530dda01]
14730
14731         * sudo.tab.c:
14732         regen
14733         [f8cfb37e37de]
14734
14735 1999-08-19  Todd C. Miller  <Todd.Miller@courtesan.com>
14736
14737         * logging.c, sudo.c:
14738         Don't wait for child to finish in log_error(), let the signal
14739         handler get it if we are still running, else let init reap it for
14740         us. The extra time it takes to wait lets the user know that mail is
14741         being sent.
14742
14743         Install SIGCHLD handler in main() and for POSIX signals, block
14744         everything
14745         *except* SIGCHLD.
14746         [d2b6ab0ef3be]
14747
14748         * INSTALL, config.h.in, configure, configure.in, logging.c, parse.c,
14749         parse.yacc, sudo.c, sudo.h:
14750         sudoers_lookup() now returns a bitmap instead of an int. This makes
14751         it possible to express things like "failed to validate because user
14752         not listed for this host". Some thigns that were previously
14753         VALIDATE_FOO are now FLAG_FOO. This may change later on.
14754
14755         Reorganized code in log_auth() and sudo.c to deal with above
14756         changes.
14757
14758         Safer versions of push/pushcp with in the do { ... } while (0) style
14759
14760         parse.yacc now saves info on the stack to allow parse.c to determine
14761         if a user was listed, but not for the host he/she tried to run on.
14762
14763         Added --with-mail-if-no-host option
14764         [63326cb01efc]
14765
14766 1999-08-17  Todd C. Miller  <Todd.Miller@courtesan.com>
14767
14768         * parse.yacc, sudo.h, sudo.tab.c, visudo.c, visudo.cat, visudo.html,
14769         visudo.man, visudo.pod:
14770         o NewArgv and NewArgc don't need to be externally visible. o If
14771         pedantic > 1, it is a parse error. o Add -s (strict) option to
14772         visudo which sets pedantic to 2.
14773         [5d7d81b55cd5]
14774
14775         * HISTORY, INSTALL:
14776         Just have sudo-bugs contact info in one place
14777         [e7f6588ea683]
14778
14779         * sudo.cat, sudo.html, sudo.man, sudo.pod:
14780         Add BUGS section
14781         [6607d96ea510]
14782
14783         * Makefile.in, configure, configure.in:
14784         Add testsudoers to default build target if --with-devel Don't clean
14785         generated parser files unless "distclean".
14786         [5827b769dc57]
14787
14788         * parse.yacc, sudo.tab.c:
14789         In pedantic mode we need to save *all* the aliases, not just those
14790         that match, or we get spurious warnings.
14791         [24f5b1f0e1de]
14792
14793         * TROUBLESHOOTING:
14794         reference samples.sylog.conf
14795         [11841668380a]
14796
14797 1999-08-14  Todd C. Miller  <Todd.Miller@courtesan.com>
14798
14799         * sample.syslog.conf:
14800         Sample entries for syslog.conf
14801         [0f7697d878a1]
14802
14803         * CHANGES:
14804         recent changes
14805         [8bca8810c6bd]
14806
14807         * auth/API, auth/afs.c, auth/aix_auth.c, auth/dce.c, auth/fwtk.c,
14808         auth/kerb4.c, auth/kerb5.c, auth/pam.c, auth/passwd.c,
14809         auth/rfc1938.c, auth/secureware.c, auth/securid.c, auth/sia.c,
14810         auth/sudo_auth.c, auth/sudo_auth.h:
14811         In struct sudo_auth, turn need_root and configured into flags and
14812         add a flag to specify an auth method is running alone (the only
14813         one). Pass auth methods their sudo_auth pointer, not the data
14814         pointer. This allows us to get at the flags and tell if we are the
14815         only auth method. That, in turn, allows the method to be able to
14816         decide what should/should not be a fatal error. Currently only
14817         rfc1938 uses it this way, which allows us to kill the OTP_ONLY
14818         define and te hackery that went with it. With access to the
14819         sudo_auth struct, methods can also get at a string holding their
14820         cannonical name (useful in error messages).
14821         [b7e320fc6511]
14822
14823         * INSTALL, Makefile.in, README, config.h.in, configure, configure.in,
14824         getspwuid.c, lex.yy.c, parse.lex, parse.yacc, sudo.tab.c,
14825         sudo.tab.h:
14826         o --with-otp deprecated, use --without-passwd instead o real
14827         dependencies in the Makefile o --with-devel option to enable yacc,
14828         lex, and -Wall o style -- "foo -> bar" becomes "foo->bar" o ALL goes
14829         back to being a token, not a string but don't leak memory o rename
14830         hsotspec -> host in parse.yacc
14831         [912c45226cb2]
14832
14833 1999-08-12  Todd C. Miller  <Todd.Miller@courtesan.com>
14834
14835         * BUGS, CHANGES:
14836         recent changes
14837         [801fa6e55687]
14838
14839         * auth/sudo_auth.c, configure, configure.in, interfaces.c, snprintf.c,
14840         sudo.c, sudo.h:
14841         o Digital UNIX needs to check for *snprintf() before -ldb is added
14842         to LIBS since -ldb includes a bogus snprintf(). o Add forward refs
14843         for struct mbuf and struct rtentry for Digital UNIX. o Reorder some
14844         functions in snprintf.c to fix -Wall o Add missing includes to fix
14845         more -Wall
14846         [8d207203e126]
14847
14848         * INSTALL, auth/sudo_auth.c, check.c, config.h.in, configure,
14849         configure.in, parse.yacc, sudo.tab.c, testsudoers.c, version.c,
14850         visudo.c:
14851         o Add a "pedentic" flag to the parser. This makes sudo warn in
14852         cases where an alias may be used before it is defined. Only turned
14853         on for visudo and testsudoers. o Add --disable-authentication option
14854         that makes sudo not require authentication by default. The PASSWD
14855         tag can be used to require authentication for an entry. We no
14856         longer overload --without-passwd.
14857         [f307e09adf98]
14858
14859         * lex.yy.c, parse.lex:
14860         Break 'WORD' regexp def into HOSTNAME and USERNAME. These days a
14861         username can contain just about anything so be very permissive. Also
14862         drop the unused \. punctuation.
14863         [06a50614ff89]
14864
14865 1999-08-09  Todd C. Miller  <Todd.Miller@courtesan.com>
14866
14867         * parse.yacc, sudo.tab.c:
14868         o add a 'val' element to aliasinfo struct and move -> parse.h o
14869         find_alias() now returns an aliasinfo * instead of boolean o
14870         add_alias() now takes a value parameter to store in the
14871         aliasinfo.val o The cmnd, hostspec, runasuser, and user rules now
14872         return: 1) positive match 0) negative match (due to '!')
14873         -1) no match This means setting $$ explicitly in all cases, which I
14874         should have done in the first place. It also means that we always
14875         store a value that is != -1 and when we see a '!' we can set
14876         *_matches to !rv if rv != -1. The upshot of all of this is that '!'
14877         now works the way it should in lists and some of the rules are more
14878         uniform and sensible.
14879         [ad8e73b5d581]
14880
14881         * Makefile.in:
14882         add parse.h dependency
14883         [4ccccd464d30]
14884
14885         * parse.h:
14886         kill unused *_matched macros
14887         [02cba6dcb732]
14888
14889         * parse.yacc:
14890         Allow a list of users as the first thing in a user spec, not just a
14891         single entry. This makes things more uniform, though it does allow
14892         you to write user specs that are hard to read.
14893         [3c4c91c508ca]
14894
14895         * sudo.tab.c:
14896         parse.yacc
14897         [feca81881bb6]
14898
14899         * configure:
14900         regen
14901         [6f247010bb3b]
14902
14903         * configure.in:
14904         fix check for crypt() in libufc
14905         [82770736f4b0]
14906
14907 1999-08-07  Todd C. Miller  <Todd.Miller@courtesan.com>
14908
14909         * README:
14910         sudo-users list now exists
14911         [4716d2bb0bbf]
14912
14913         * INSTALL, PORTING, README, TODO, TROUBLESHOOTING:
14914         Update to reality.
14915         [1eda2d57e42a]
14916
14917         * CHANGES, Makefile.in, TODO, TROUBLESHOOTING, check.c, compat.h,
14918         config.h.in, configure, configure.in, fileops.c, logging.c, sudo.h,
14919         version.c, visudo.c:
14920         o Move lock_file() and touch() into fileops.c so visudo can use them
14921         o Visudo now locks the sudoers temp file instead of bailing when the
14922         temp file already exists. This fixes the problem of stale temp
14923         files but it does *require* that you not try to put the temp file in
14924         a world-writable directory. This shoud not be an issue as the temp
14925         file should live in the same dir as sudoers. o Visudo now only
14926         installs the temp file as sudoers if it changed.
14927         [2517cd06c070]
14928
14929 1999-08-06  Todd C. Miller  <Todd.Miller@courtesan.com>
14930
14931         * logging.c:
14932         add fcntl locking
14933         [c304adeaf515]
14934
14935         * config.h.in, configure, configure.in, logging.c:
14936         Lock the log file.
14937         [d8652704fbdf]
14938
14939         * Makefile.in, TROUBLESHOOTING, parse.c, pathnames.h.in, sudo.c,
14940         visudo.c, visudo.cat, visudo.html, visudo.man, visudo.pod:
14941         o /etc/stmp -> /etc/sudoers.tmp since solaris uses stmp as shadow
14942         temp file o _PATH_SUDO_SUDOERS -> _PATH_SUDOERS and _PATH_SUDO_STMP
14943         -> _PATH_SUDOERS_TMP
14944         [68cad8975807]
14945
14946 1999-08-05  Todd C. Miller  <Todd.Miller@courtesan.com>
14947
14948         * INSTALL, check.c, config.h.in, configure, configure.in, version.c:
14949         o Kill *_MESSAGE and replace with NO_LECTURE o Add more things to
14950         root sudo -V config reporting
14951         [cdd2613a9dcf]
14952
14953         * configure, configure.in:
14954         aix_auth.o not authenticate.o
14955         [d972e35f6730]
14956
14957         * config.h.in:
14958         Add --with-goodpri and --with-badpri configure options to specify
14959         the syslog priority to use.
14960         [2595ae50ab86]
14961
14962         * INSTALL, configure, configure.in, logging.h:
14963         Add --with-goodpri and --with-badpri configure options to specify
14964         the syslog priority to use.
14965         [8276ee9b2b49]
14966
14967         * compat.h:
14968         kill crufty AIX stuff
14969         [a4f35ef9854e]
14970
14971         * Makefile.in:
14972         Sigh, some versions of make (like Solaris's) don't deal with $< like
14973         I would expect. Both GNU and BSD makes get this right but... So, we
14974         just expand $< inline at the cost of some ugliness.
14975         [b1b456f8801f]
14976
14977         * version.c:
14978         If the invoking user is root, sudo will now print configure info in
14979         -V mode. Currently just prints logging info, to be expanded later.
14980         [392f7ed99267]
14981
14982         * logging.c, logging.h, sudo.c, sudo.h:
14983         o new defines for syslog facility and priority o use new
14984         print_version() functino for -V mode
14985         [78abc5142985]
14986
14987         * check.c:
14988         Don't need version.c
14989         [db9a830ad893]
14990
14991         * aclocal.m4, config.h.in, configure, configure.in:
14992         Add check for syslog facilities and priorities tables in syslog.h
14993         [b86213e5fc5c]
14994
14995         * Makefile.in:
14996         o authenticate -> aix_auth o add version.c
14997         [44b6b9a8d0f5]
14998
14999         * auth/sudo_auth.c:
15000         Missed a prompt -> user_prompt conversion
15001         [e4c60b1f210c]
15002
15003 1999-08-04  Todd C. Miller  <Todd.Miller@courtesan.com>
15004
15005         * TODO:
15006         sudo should lock its logfile
15007         [6d2830b28b07]
15008
15009         * parse.yacc, sudo.tab.c:
15010         o Add '!' correctly when expanding Aliases. o Add shortcut macros
15011         for append() to make things more readable. o The separator in
15012         append() is now a string instead of a char. o In append(), only
15013         prepend the separator if the last char is not a '!'. This is a
15014         hack but it greatly simplifies '!' handling. o In -l mode, Runas
15015         lists and NOPASSWD/PASSWD tags are now inherited across entries in
15016         a list (matches current behavior). o Fix formatting in -l mode such
15017         that items in a list are separated by a space. Greatlt improves
15018         readability. o Space for name field in struct aliasinfo is now
15019         allocated dyanically instead of using a (big) buffer. o In
15020         add_alias(), only search the list once (lsearch instead of lfind +
15021         lsearch)
15022         [51f7e07addb9]
15023
15024         * lex.yy.c, sudo.tab.c, sudo.tab.h:
15025         regen
15026         [5c19bb05dc21]
15027
15028         * configure, configure.in:
15029         Solais pam doesn't require anye xtra setup
15030         [a25ba03d91d1]
15031
15032         * parse.yacc:
15033         o Simpler '!' support now that the lexer deals with multiple !'s for
15034         us. o In the case of opFOO, have FOO give a boolean return value and
15035         set foo_matches in opFOO, not FOO. o Treat 'ALL' as a string since
15036         it gets fill()'d in parse.lex--fixes a small memory leak. In the
15037         long run it may be better to just fix parse.lex and make ALL back
15038         into a token. However, having it be a string is useful since it
15039         can be easily passed back to the parent rule if we so desire.
15040         [b3c64b443018]
15041
15042         * parse.lex:
15043         o Remove some unnecessary backslashes o collapse multiple !'s by
15044         using !+ and checking if yyleng is even or odd. this allows us to
15045         simplify ! handling in parse.yacc
15046         [76330e8da8e3]
15047
15048         * sudo.c:
15049         -u flag was being ignored
15050         [e30283207585]
15051
15052 1999-08-01  Todd C. Miller  <Todd.Miller@courtesan.com>
15053
15054         * Makefile.in:
15055         correct fix
15056         [a0e2377dec8f]
15057
15058         * Makefile.in:
15059         work around pod2man stupididy
15060         [7c755640b67f]
15061
15062         * Makefile.in:
15063         correct dependencies for .cat
15064         [5ed7b0653b68]
15065
15066         * sudo.cat, sudo.man, visudo.cat, visudo.man:
15067         regen
15068         [b74510dd6a0a]
15069
15070         * sudo.pod, visudo.pod:
15071         Add copyright Update to reality
15072         [188e9b046c15]
15073
15074         * parse.c, sudo.c, sudo.h:
15075         rename validate() to the more descriptive sudoers_lookup()
15076         [7a1cb652f379]
15077
15078         * auth/aix_auth.c:
15079         use tgetpass
15080         [b8ba5daec40a]
15081
15082 1999-07-31  Todd C. Miller  <Todd.Miller@courtesan.com>
15083
15084         * CHANGES:
15085         updates
15086         [e61460cdf4a0]
15087
15088         * HISTORY, INSTALL, Makefile.in, README, RUNSON, TROUBLESHOOTING,
15089         configure, configure.in, sudo.c:
15090         Sudo, not CU Sudo
15091         [9061b3573c0c]
15092
15093         * LICENSE:
15094         add 4th term to license similar to term 5 in the apache license
15095         [92712e895afb]
15096
15097         * emul/search.h, emul/utime.h:
15098         add 4th term to license similar to term 5 in the apache license
15099         [4f93a8b9396e]
15100
15101         * auth/afs.c, auth/aix_auth.c, auth/dce.c, auth/fwtk.c, auth/kerb4.c,
15102         auth/kerb5.c, auth/pam.c, auth/passwd.c, auth/rfc1938.c,
15103         auth/secureware.c, auth/securid.c, auth/sia.c, auth/sudo_auth.c,
15104         auth/sudo_auth.h, insults.h, interfaces.c, interfaces.h, lex.yy.c,
15105         logging.c, logging.h, parse.c, parse.h, parse.lex, parse.yacc,
15106         pathnames.h.in, putenv.c, strerror.c, sudo.c, sudo.h, sudo.tab.c,
15107         sudo_setenv.c, testsudoers.c, tgetpass.c, utime.c, version.h,
15108         visudo.c:
15109         add 4th term to license similar to term 5 in the apache license
15110         [afae9f2bf9ec]
15111
15112         * ins_2001.h, ins_classic.h, ins_csops.h, ins_goons.h:
15113         add 4th term to license similar to term 5 in the apache license
15114         [c389d3fdafac]
15115
15116         * Makefile.in, alloc.c, check.c, compat.h, config.h.in, find_path.c,
15117         getspwuid.c, goodpath.c:
15118         add 4th term to license similar to term 5 in the apache license
15119         [969e63dbd38e]
15120
15121         * LICENSE, aclocal.m4, auth/rfc1938.c, check.c, configure.in,
15122         insults.h, logging.c, sudo.c, sudo.h:
15123         there was a 1995 release too
15124         [5963fd89457a]
15125
15126 1999-07-28  Todd C. Miller  <Todd.Miller@courtesan.com>
15127
15128         * CHANGES:
15129         updates
15130         [254b794f16ab]
15131
15132         * check.c:
15133         Use dirs instead of files for timestamp. This allows tty and non-
15134         tty schemes to coexist reasonably. Note, however, that when you
15135         update a tty ticket, the mtime on the user dir gets updated as well.
15136         [44bfac32f799]
15137
15138         * configure, configure.in:
15139         Fix getprpwnam() checking on SCO. Need to link with "-lprot -lx"
15140         when linking test program, not just -lprot. Also add check for
15141         getspnam(). The SCO docs indicate that /etc/shadow can be used but
15142         this may be a lie.
15143         [2ba21d36cc1e]
15144
15145 1999-07-24  Todd C. Miller  <Todd.Miller@courtesan.com>
15146
15147         * auth/API:
15148         first cut at auth API description
15149         [3d10df021eb8]
15150
15151 1999-07-22  Todd C. Miller  <Todd.Miller@courtesan.com>
15152
15153         * auth/fwtk.c, auth/kerb4.c, auth/kerb5.c, auth/pam.c, auth/rfc1938.c,
15154         auth/secureware.c, auth/securid.c, auth/sudo_auth.c,
15155         auth/sudo_auth.h:
15156         auth API change. There is now an init method that gets run before
15157         the main loop. This allows auth routines to differentiate between
15158         initialization that happens once vs. setup that needs to run each
15159         time through the loop.
15160         [76df1c0d3478]
15161
15162         * auth/kerb5.c, logging.c:
15163         use easprintf() and evasprintf()
15164         [fd97d96dc12f]
15165
15166         * alloc.c, sudo.h:
15167         add easprintf() and evasprintf(), error checking versions of
15168         asprintf() and vasprintf()
15169         [f54385de20b7]
15170
15171         * TODO:
15172         remove 2 items. One done, one won't do.
15173         [64513b47bc7a]
15174
15175         * lex.yy.c, sudo.tab.c:
15176         regen
15177         [4aa299de2752]
15178
15179         * configure, sudo.cat, sudo.html, sudo.man, sudoers.html, visudo.cat,
15180         visudo.html, visudo.man:
15181         regen
15182         [553c0d1209be]
15183
15184         * CHANGES:
15185         new changes
15186         [d7be00b7e36b]
15187
15188         * sudo.pod:
15189         o Document -K flag and update meaning of -k flag. o BSD-style
15190         copyright o Document clearing of BIND resolver environment variables
15191         o Clarify bit about shared libs o suggest rc files create /tmp/.odus
15192         if your OS gives away files
15193         [4a4092be1455]
15194
15195         * visudo.pod:
15196         BSD license
15197         [ad0bfd0a4630]
15198
15199         * version.h:
15200         BSD-style copyright
15201         [ecc6479325be]
15202
15203         * tgetpass.c:
15204         o BSD copyright o no need to block signals, we now do that in main()
15205         o cosmetic changes
15206         [61958beda7ab]
15207
15208         * testsudoers.c, visudo.c:
15209         o BSD-style copyright o Use "struct sudo_user" instead of old
15210         globals. o some cometic cleanup
15211         [88c0c6924082]
15212
15213         * sudo_setenv.c:
15214         BSD-style copyright
15215         [df20290129a0]
15216
15217         * sudo.h:
15218         o BSD copyright o logging and parser bits moved to their own .h
15219         files o new "struct sudo_user" to encapsulate many of the old
15220         globals.
15221         [50fc86bf25cb]
15222
15223         * sudo.c:
15224         o no longer contains sudo 1.1/1.2 code o BSD copyright o use new
15225         logging routines o simplified flow of control o BIND resolver
15226         additions to badenv_table
15227         [8c53f15bfcb0]
15228
15229         * strerror.c:
15230         BSD-style copyright
15231         [7c906c3a82ac]
15232
15233         * snprintf.c:
15234         Now compiles on more K&R compilers
15235         [07ab1d3231c7]
15236
15237         * putenv.c:
15238         BSD-style copyright, cosmetic changes
15239         [c42371295881]
15240
15241         * pathnames.h.in:
15242         BSD-style copyright
15243         [e5c34ebd4cf1]
15244
15245         * parse.c, parse.h, parse.lex, parse.yacc:
15246         BSD-style copyright. Move parser-specific defines and structs into
15247         parse.h + other cosmetic changes
15248         [d3088efb6228]
15249
15250         * logging.h:
15251         defines for logging routines
15252         [13147941c02d]
15253
15254         * find_path.c, getspwuid.c, goodpath.c, interfaces.c:
15255         BSD-style copyright, cosmetic changes
15256         [e8205e91a4fa]
15257
15258         * ins_2001.h, ins_classic.h, ins_csops.h, ins_goons.h, insults.h,
15259         interfaces.h:
15260         BSD-style copyright
15261         [b9499da7cdce]
15262
15263         * configure.in:
15264         o tgetpass.c is no longer optional o kill DCE_OBJS, add AUTH_OBJS o
15265         kill --disable-tgetpass o add --without-passwd o changes to fill in
15266         AUTH_OBJS for new auth api o check for strerror(), v?snprintf() and
15267         v?asprintf() o replace --with-AuthSRV with --with-fwtk
15268         [9a3f39b9c128]
15269
15270         * config.h.in:
15271         BSD-style copyright. Remove USE_GETPASS and HAVE_UTIME_NULL. Add
15272         HAVE_FWTK, HAVE_STRERROR, HAVE_SNPRINTF, HAVE_VSNPRINTF,
15273         HAVE_ASPRINTF, HAVE_VASPRINTF, WITHOUT_PASSWD and NO_PASSWD
15274         [9a09054db53a]
15275
15276         * compat.h:
15277         BSD-style copyright; Add S_IFLNK and MIN/MAX id they are missing.
15278         [25509c566975]
15279
15280         * alloc.c:
15281         BSD-style copyright
15282         [4967be892363]
15283
15284         * TROUBLESHOOTING:
15285         no more --with-getpass
15286         [afd5b670c196]
15287
15288         * TODO:
15289         Take out things I've done...
15290         [375420c8270e]
15291
15292         * README:
15293         Refer to LICENSE
15294         [c486c8db30f6]
15295
15296         * PORTING:
15297         --with-getpass no longer exists
15298         [db48202df1bb]
15299
15300         * Makefile.in:
15301         BSD-style copyright. Update to reflect reality wrt new files and
15302         new auth modules.
15303         [61a2ca7940fb]
15304
15305         * INSTALL:
15306         Remove --with-AuthSRV and --disable-tgetpass. Add --with-fwtk and
15307         --without-passwd.
15308         [64e8f9e1c05e]
15309
15310         * HISTORY:
15311         Update history a bit
15312         [df60c0a871b8]
15313
15314         * COPYING, LICENSE:
15315         Now distributed under a BSD-style license
15316         [d1a184ccabe1]
15317
15318         * auth/sudo_auth.c:
15319         o BSD-style copyright o Add support for NO_PASSWD/WITHOUT_PASSWD
15320         options. o skey/opie replaced by rfc1938 code o new struct sudo_user
15321         global
15322         [891b57060868]
15323
15324         * auth/pam.c, auth/sia.c:
15325         BSD-style copyright and use new log functions
15326         [65c44445ea84]
15327
15328         * auth/kerb5.c:
15329         o BSD-style copyright o Use new log functiongs o Use asprintf() and
15330         snprintf() where sensible.
15331         [1ff0feaacf95]
15332
15333         * check.c:
15334         Rewrote all the old sudo 1.1/1.2 code. Timestamp handling is now
15335         done more reasonably--better sanity checks and tty-based stamps are
15336         now done as files in a directory with the same name as the invoking
15337         user, eg. /var/run/sudo/millert/ttyp1. It is not currently possible
15338         to mix tty and non-tty based ticket schemes but this may change in
15339         the future (it requires sudo to use a directory instead of a file in
15340         the non-tty case). Also, ``sudo -k'' now sets the ticket back to
15341         the epoch and ``sudo -K'' really deletes the file. That way you
15342         don't get the lecture again just because you killed your ticket in
15343         .logout. BSD-style copyright now.
15344         [ec3460f85be8]
15345
15346         * logging.c:
15347         o rewritten logging routines. log_error() now takes printf-style
15348         varargs and log_auth() for the return value of validate(). o BSD-
15349         style copyright
15350         [438292025c4e]
15351
15352         * auth.c, check_sia.c, dce_pwent.c, secureware.c:
15353         superceded by new auth API
15354         [412060590da7]
15355
15356         * auth/kerb4.c:
15357         BSD-style copyright
15358         [cc4e800833c7]
15359
15360         * auth/fwtk.c:
15361         Use snprintf() where it makes sense and add a BSD-style copyright
15362         [1b7502388a74]
15363
15364         * auth/afs.c, auth/aix_auth.c, auth/dce.c, auth/passwd.c,
15365         auth/rfc1938.c, auth/secureware.c, auth/securid.c, auth/sudo_auth.h:
15366         BSD-style copyright
15367         [42583bedae5c]
15368
15369         * emul/utime.h, utime.c:
15370         BSD-style copyright
15371         [3985c90aba47]
15372
15373         * emul/search.h:
15374         this has been rewritten so use my BSD-style copyright
15375         [176df1b0de6f]
15376
15377 1999-07-15  Todd C. Miller  <Todd.Miller@courtesan.com>
15378
15379         * snprintf.c:
15380         include malloc.h if no stdlib.h
15381         [7b123f1d1d03]
15382
15383         * snprintf.c:
15384         KTH snprintf()/asprintf() for systems w/o them
15385         [3ca9aefb9d01]
15386
15387         * strerror.c:
15388         strerror() for systems w/o it
15389         [7f0bd8a1c1b4]
15390
15391 1999-07-12  Todd C. Miller  <Todd.Miller@courtesan.com>
15392
15393         * visudo.c:
15394         stylistic changes
15395         [6f99aceb7170]
15396
15397         * parse.c, parse.lex, parse.yacc:
15398         Add contribution info in the main comment
15399         [e50cec10acd6]
15400
15401 1999-07-11  Todd C. Miller  <Todd.Miller@courtesan.com>
15402
15403         * auth/pam.c:
15404         remove missed ref to PAM_nullpw
15405         [a43e59692cdb]
15406
15407         * auth/sudo_auth.h:
15408         pasto
15409         [891ff138ab89]
15410
15411         * auth/kerb5.c:
15412         more or less complete now--still untested
15413         [21036732faa0]
15414
15415         * auth/afs.c, auth/pam.c:
15416         don't use user_name macro, it will go away
15417         [def7cf727349]
15418
15419         * auth/opie.c, auth/rfc1938.c, auth/skey.c, auth/sudo_auth.h:
15420         combine skey/opie code into rfc1938.c
15421         [44d88ca93d3e]
15422
15423         * auth/dce.c, auth/sudo_auth.h:
15424         DCE authentication method; basically unchanged from dce_pwent.c
15425         [4d468473dd6f]
15426
15427         * auth/aix_auth.c, auth/sudo_auth.h:
15428         AIX authenticate() support. Could probably be much better
15429         [000013321a33]
15430
15431         * auth/sia.c:
15432         Fix an uninitialized variable and some cleanup. Now works (tested)
15433         [fd6ad88ff055]
15434
15435         * auth/sia.c, auth/sudo_auth.h:
15436         SIA support for digital unix
15437         [5335f3e70eab]
15438
15439         * auth/pam.c:
15440         don't use prompt global, it will go away
15441         [fadd22dd6ce4]
15442
15443         * auth/secureware.c:
15444         correct copyright years
15445         [6aa07c49f51b]
15446
15447         * auth/afs.c, auth/fwtk.c, auth/kerb4.c, auth/kerb5.c, auth/opie.c,
15448         auth/pam.c, auth/passwd.c, auth/secureware.c, auth/securid.c,
15449         auth/skey.c, auth/sudo_auth.c, auth/sudo_auth.h:
15450         New authentication API and methods
15451         [9debe9b59c79]
15452
15453 1999-07-08  Todd C. Miller  <Todd.Miller@courtesan.com>
15454
15455         * sudo.tab.c:
15456         regen
15457         [84578e82c1a6]
15458
15459         * parse.yacc:
15460         only save an entry if user_matches && host_matches, even if the
15461         stack is empty (fix for previous commit)
15462         [00984b078d8a]
15463
15464         * sudo.tab.c:
15465         regen
15466         [66acf160b4b7]
15467
15468         * parse.yacc:
15469         1) Always save an entry on the stack if it is empty. This fixes the
15470         -l and -v flags that were broken by earlier parser changes.
15471
15472         2) In a Runas list, don't negate FALSE -> TRUE since that would make
15473         !foo match any time the user specified a runas user (via -u) other
15474         than foo.
15475         [f322eb54b015]
15476
15477         * testsudoers.c:
15478         interfaces and num_interfaces are now auto, not extern
15479         [113add5c6518]
15480
15481 1999-07-07  Todd C. Miller  <Todd.Miller@courtesan.com>
15482
15483         * auth.c:
15484         use a static global to keep stae about empty passwords
15485         [bc02e30807d8]
15486
15487         * check_sia.c:
15488         make PASSWORD_NOT_CORRECT logging consistent with other modules
15489         [21962549d5fd]
15490
15491 1999-07-05  Todd C. Miller  <Todd.Miller@courtesan.com>
15492
15493         * auth.c:
15494         PAM prompt code was wrong, looks like we have to kludge it after
15495         all.
15496         [91f246155ead]
15497
15498         * auth.c:
15499         In the PAM code, when a user hits return at the first password
15500         prompt, exit without a warning just like the normal auth code
15501         [918f59bacdb7]
15502
15503         * configure, configure.in:
15504         kludge around cross-compiler false positives
15505         [5e5fc8356400]
15506
15507         * auth.c, check.c, check_sia.c, logging.c, sudo.h, tgetpass.c:
15508         New (correct) PAM code Tgetpass now takes an echo flag for use with
15509         PAM_PROMPT_ECHO_ON Block SIGINT and SIGTSTP during auth remove a
15510         useless umask setting Change error from BAD_ALLOCATION ->
15511         BAD_AUTH_INIT (for use with sia/PAM) Some cosmetic changes to auth.c
15512         for consistency
15513         [e71397f09dd8]
15514
15515         * sudo.c:
15516         Some -Wall and kill some trailing spaces
15517         [8229b43d5c4e]
15518
15519         * configure.in:
15520         define -D__EXTENSIONS__ for solaris so we get crypt() proto
15521         [7533e4436cab]
15522
15523 1999-06-22  Todd C. Miller  <Todd.Miller@courtesan.com>
15524
15525         * RUNSON:
15526         add Dynix 4.4.4
15527         [b69f773efbce]
15528
15529         * INSTALL, config.h.in, configure, configure.in:
15530         for kerberos V < version, fall back on old kerb4 auth code
15531         [d685ed3a1d8e]
15532
15533         * INSTALL:
15534         clarify some things
15535         [2f5ba2e8e53a]
15536
15537         * UPGRADE, sudoers.cat, sudoers.man, sudoers.pod:
15538         typos
15539         [8925a109c093]
15540
15541 1999-06-14  Todd C. Miller  <Todd.Miller@courtesan.com>
15542
15543         * sudo.c:
15544         mention why DONT_LEAK_PATH_INFO is not the default
15545         [0346260cb4ec]
15546
15547 1999-06-03  Todd C. Miller  <Todd.Miller@courtesan.com>
15548
15549         * tgetpass.c:
15550         Fix open(2) return value checking, was NULL for fopen, should be -1
15551         for open
15552         [355878bf6d8a]
15553
15554         * configure:
15555         regen
15556         [68bf82871862]
15557
15558         * configure.in:
15559         better wording for solaris pam notice
15560         [04e88c7a6c42]
15561
15562         * CHANGES:
15563         document recent changes
15564         [7c922c5622ef]
15565
15566         * TROUBLESHOOTING:
15567         Update shadow password section
15568         [e8448bae7d66]
15569
15570         * auth.c:
15571         move authentication code from check.c to auth.c
15572         [e9f6ecae2399]
15573
15574         * Makefile.in, check.c, sudo.h:
15575         move authentication code to auth.c
15576         [124cded85f46]
15577
15578 1999-05-17  Todd C. Miller  <Todd.Miller@courtesan.com>
15579
15580         * Makefile.in, check.c, check_sia.c, compat.h, find_path.c,
15581         getspwuid.c, goodpath.c, interfaces.c, interfaces.h, lex.yy.c,
15582         logging.c, parse.c, parse.lex, parse.yacc, secureware.c, sudo.c,
15583         sudo.h, sudo.tab.c, sudo_setenv.c, testsudoers.c, tgetpass.c,
15584         visudo.c:
15585         Move interface-related defines to interfaces.h so we don't have to
15586         include <netinet/in.h> everywhere.
15587         [e7599d8ea0bf]
15588
15589 1999-05-14  Todd C. Miller  <Todd.Miller@courtesan.com>
15590
15591         * CHANGES, INSTALL, TODO, check.c, compat.h, getspwuid.c, logging.c,
15592         parse.yacc, sudo.c, sudo.tab.c, tgetpass.c:
15593         o Replace _PASSWD_LEN braindeath with our own SUDO_MAX_PASS. It
15594         turns out the old DES crypt does the right thing with passwords
15595         longert than 8 characters. o Fix common typo (necesary ->
15596         necessary) o Update TODO list
15597         [ad75007a6f13]
15598
15599 1999-05-03  Todd C. Miller  <Todd.Miller@courtesan.com>
15600
15601         * sudo.c:
15602         set $LOGNAME when we set $USER
15603         [391596210fd7]
15604
15605 1999-04-27  Todd C. Miller  <Todd.Miller@courtesan.com>
15606
15607         * INSTALL:
15608         add comment about digital unix and interfaces.c warning with gcc
15609         [e20f815901cc]
15610
15611 1999-04-15  Todd C. Miller  <Todd.Miller@courtesan.com>
15612
15613         * sample.sudoers:
15614         use modern paths and give examples for some of the new parser
15615         features
15616         [e7b2e507c695]
15617
15618 1999-04-10  Todd C. Miller  <Todd.Miller@courtesan.com>
15619
15620         * parse.c:
15621         fix comment
15622         [5eb0d005a65f]
15623
15624         * alloc.c, check.c, check_sia.c, dce_pwent.c, find_path.c,
15625         getspwuid.c, goodpath.c, interfaces.c, lex.yy.c, logging.c, parse.c,
15626         parse.lex, parse.yacc, putenv.c, secureware.c, sudo.c, sudo.tab.c,
15627         sudo_setenv.c, testsudoers.c, tgetpass.c, utime.c, visudo.c:
15628         Function names should be flush with the start of the line so they
15629         can be found trivially in an editor and with grep
15630         [3c400abde574]
15631
15632         * find_path.c, interfaces.c, lex.yy.c, parse.c, parse.lex, parse.yacc,
15633         sudo.c, sudo.tab.c, testsudoers.c, tgetpass.c, visudo.c:
15634         free(3) is already void, no need to cast it
15635         [6981e1ebda0f]
15636
15637         * logging.c, sudo.c, sudo.h:
15638         catch case where cmnd_safe is not set (this should not be possible)
15639         [3e1e3038546c]
15640
15641         * CHANGES, logging.c, parse.c, parse.yacc, sudo.c, sudo.h, sudo.tab.c,
15642         testsudoers.c, visudo.c:
15643         Stash the "safe" path (ie: the one listed in sudoers) to the command
15644         instead of stashing the struct stat. Should be safer.
15645         [aa2883fcf57e]
15646
15647 1999-04-08  Todd C. Miller  <Todd.Miller@courtesan.com>
15648
15649         * INSTALL, Makefile.in, UPGRADE:
15650         notes on updating from an earlier release
15651         [df9fffa4ab2c]
15652
15653         * CHANGES:
15654         updated
15655         [574f5065d15a]
15656
15657 1999-04-07  Todd C. Miller  <Todd.Miller@courtesan.com>
15658
15659         * parse.yacc, sudo.tab.c, sudo.tab.h, sudoers.cat, sudoers.html,
15660         sudoers.man, sudoers.pod:
15661         You can now specifiy a host list instead of just a host or alias.
15662         Ie: user = host1,host2,ALIAS,!host3 my_command now works.
15663         [e3942bb78021]
15664
15665         * testsudoers.c:
15666         Quiet -Wall
15667         [a3edc8b08c3a]
15668
15669         * parse.yacc, sudo.tab.c:
15670         Move the push from the beginning of cmndspec to the end. This means
15671         we no longer have to do a push at the end of privilege, just reset
15672         some values.
15673         [8ea66e5860c6]
15674
15675         * sudoers.cat, sudoers.html, sudoers.man, sudoers.pod:
15676         runas-lists and NOPASSWD/PASSWD modifiers are now sticky and you can
15677         use "!" most everywhere
15678         [aadae4d1c9d5]
15679
15680 1999-04-06  Todd C. Miller  <Todd.Miller@courtesan.com>
15681
15682         * sudoers.pod:
15683         modernize paths and update su example based on sample.sudoers one
15684         [3f6a37e16c83]
15685
15686         * sample.sudoers:
15687         New runas semantics
15688         [756ee92865b7]
15689
15690         * CHANGES, Makefile.in, alloc.c, config.h.in, configure, configure.in,
15691         strdup.c, sudo.h:
15692         In estrdup(), do the malloc ourselves so we don't need to rely on
15693         the system strdup(3) which may or may not exist. There is now no
15694         need to provide strdup() for those w/o it. Also, the prototype for
15695         estrdup() was wrong, it returns char * and its param is const.
15696         [5f1f984da8e3]
15697
15698         * getcwd.c:
15699         $Sudo tag
15700         [e4188a35e68c]
15701
15702         * check.c:
15703         buf should be prompt; Michael Robokoff <mrobo@networkcs.com>
15704         [2aec87c86cde]
15705
15706         * CHANGES, TODO, parse.yacc, sudo.tab.c:
15707         It is now possible to use the '!' operator in a runas list as well
15708         as in a Cmnd_Alias, Host_Alias and User_Alias.
15709         [a4fdaabda990]
15710
15711         * logging.c, sudo.h:
15712         Kill GLOBAL_NO_SPW_ENT (not used) and crank GLOBAL_PROBLEM
15713         [73d0376785ae]
15714
15715         * sudo.h:
15716         Definitions of *_matched were wrong--user top, not top-2 as
15717         subscript.
15718         [5f8350a57362]
15719
15720         * logging.c, parse.c, parse.yacc, sudo.c, sudo.h, sudo.tab.c:
15721         Add VALIDATE_NOT_OK_NOPASS for when user is not allowed to run a
15722         command but the NOPASSWD flag was set. Make runasspec, runaslist,
15723         runasuser, and nopasswd typeless in parse.yacc Add support for '!'
15724         in the runas list Fix double printing of '%' and '+' for groups and
15725         netgroups respectively Add *_matched macros (no need for local stack
15726         variable). Should only be used directly after a pop (since top must
15727         be >= 2).
15728         [392b1400c4e6]
15729
15730         * aclocal.m4, configure.in:
15731         Add copyright, somewhat silly
15732         [55c2cdd82dca]
15733
15734 1999-04-05  Todd C. Miller  <Todd.Miller@courtesan.com>
15735
15736         * BUGS, INSTALL, Makefile.in, README, alloc.c, check.c, check_sia.c,
15737         compat.h, config.h.in, configure, configure.in, dce_pwent.c,
15738         emul/utime.h, find_path.c, getspwuid.c, goodpath.c, ins_2001.h,
15739         ins_classic.h, ins_csops.h, ins_goons.h, insults.h, interfaces.c,
15740         lex.yy.c, logging.c, parse.c, parse.lex, parse.yacc, pathnames.h.in,
15741         putenv.c, secureware.c, strdup.c, sudo.c, sudo.cat, sudo.h,
15742         sudo.man, sudo.tab.c, sudo_setenv.c, sudoers.cat, sudoers.man,
15743         testsudoers.c, tgetpass.c, utime.c, version.h, visudo.c, visudo.cat,
15744         visudo.man:
15745         Crank version to 1.6 and combine copyright statements
15746         [0e1c791658ae]
15747
15748         * sample.sudoers:
15749         Use ! not ^ to do negation
15750         [1480a0761730]
15751
15752         * lex.yy.c, sudo.tab.c:
15753         regen
15754         [89ca5a46684b]
15755
15756         * parse.lex, parse.yacc:
15757         Make runas and NOPASSWD tags persistent across entris in a command
15758         list. Add a PASSWD tag to reverse NOPASSWD. When you override a
15759         runas or *PASSWD tag the value given becomes the new default for the
15760         rest of the command list.
15761         [f1bbb4066542]
15762
15763 1999-04-02  Todd C. Miller  <Todd.Miller@courtesan.com>
15764
15765         * CHANGES, RUNSON:
15766         update for 1.5.9
15767         [a1ae9d4a7d54] [SUDO_1_5_9]
15768
15769         * visudo.c:
15770         Shift return value of system(3) by 8 to get real exit value and if
15771         it is not 1 or 0 print the retval along with the error message.
15772         [c1ff50d743fb]
15773
15774 1999-03-30  Todd C. Miller  <Todd.Miller@courtesan.com>
15775
15776         * Makefile.in:
15777         testsudoers needs LIBOBJS too
15778         [972571b4e4bf]
15779
15780         * parse.c, parse.yacc, sudo.tab.c:
15781         Fix another parser bug. For a sudoers entry like this: millert
15782         ALL=/bin/ls,(daemon) !/bin/ls sudo would not allow millert to run ls
15783         as root.
15784         [51968e1eb33d]
15785
15786         * CHANGES:
15787         new change
15788         [271c6110bb62]
15789
15790         * parse.yacc, sudo.tab.c:
15791         Save entries that match a ! command on the matching stack too
15792         [5afb5107116c]
15793
15794         * sudo.c:
15795         Make sudo's usage info better when mutually exclusive args are given
15796         and don't rely on argument order to detect this; nick@zeta.org.au
15797         [2422753c88fd]
15798
15799 1999-03-29  Todd C. Miller  <Todd.Miller@courtesan.com>
15800
15801         * CHANGES, Makefile.in, RUNSON:
15802         updates from CU
15803         [b37381e3dafb]
15804
15805         * Makefile.in:
15806         use gzip
15807         [94a64e52a166]
15808
15809         * parse.yacc, sudo.tab.c:
15810         Fix off by one error introduced in *alloc changes
15811         [95ede581153a]
15812
15813         * BUGS, CHANGES, INSTALL, Makefile.in, README, alloc.c, check.c,
15814         check_sia.c, compat.h, config.h.in, configure, configure.in,
15815         dce_pwent.c, emul/utime.h, find_path.c, getspwuid.c, goodpath.c,
15816         ins_2001.h, ins_classic.h, ins_csops.h, ins_goons.h, insults.h,
15817         interfaces.c, lex.yy.c, logging.c, parse.c, parse.lex, parse.yacc,
15818         pathnames.h.in, putenv.c, secureware.c, strdup.c, sudo.c, sudo.cat,
15819         sudo.h, sudo.man, sudo.tab.c, sudo_setenv.c, sudoers.cat,
15820         sudoers.man, testsudoers.c, tgetpass.c, utime.c, version.h,
15821         visudo.c, visudo.cat, visudo.html, visudo.man, visudo.pod:
15822         ++version
15823         [c6d88f024e37]
15824
15825         * Makefile.in, check.c, find_path.c, getspwuid.c, goodpath.c,
15826         interfaces.c, lex.yy.c, logging.c, parse.c, parse.lex, parse.yacc,
15827         putenv.c, secureware.c, strdup.c, sudo.c, sudo.h, sudo.tab.c,
15828         sudo_setenv.c, testsudoers.c, utime.c, visudo.c:
15829         Use emalloc/erealloc/estrdup
15830         [44221d97361a]
15831
15832         * alloc.c:
15833         error checking memory allocation routines
15834         [5f8c1e7bbc71]
15835
15836         * parse.yacc, sudo.tab.c:
15837         Still not right, this fixes it for real
15838         [ad553b6f5339]
15839
15840         * parse.yacc, sudo.tab.c:
15841         Fix for previous commit
15842         [4d6f989f9bf2]
15843
15844         * CHANGES, INSTALL, parse.yacc:
15845         Fix a parser bug that was exposed when mixing different runas specs
15846         and ! commands. For example: millert ALL=(daemon)
15847         /usr/bin/whoami,!/bin/ls would allow millert to run whoami as root
15848         as well as daemon when it should just allow daemon. The problem was
15849         that comma-separated commands in a list shared the same entry on the
15850         matching stack. Now they get their own entry iff there is a full
15851         match. It may be better to just make the runas spec persistent
15852         across all commands in a list like the user and host entries of the
15853         matching stack. However, since that is a fairly major change it
15854         should gets its own minor rev increase.
15855         [c4b939cdcc8e]
15856
15857 1999-03-28  Todd C. Miller  <Todd.Miller@courtesan.com>
15858
15859         * check.c, config.h.in:
15860         Simplify PAM code and fix a PAM-related warning on Linux
15861         [2468399523b6]
15862
15863 1999-03-26  Todd C. Miller  <Todd.Miller@courtesan.com>
15864
15865         * CHANGES:
15866         updates
15867         [29d4a997769c]
15868
15869         * sample.sudoers:
15870         better su entry
15871         [76d8285a72ba]
15872
15873         * configure:
15874         regen
15875         [b7450cc6975d]
15876
15877         * check.c, configure.in:
15878         new pam code that works on solaris, should work on linux too;
15879         aelberg@home.com
15880         [84c16c0ff259]
15881
15882 1999-03-19  Todd C. Miller  <Todd.Miller@courtesan.com>
15883
15884         * RUNSON:
15885         more entries
15886         [b6bef8660759]
15887
15888         * config.h.in:
15889         only include strings.h if there is no string.h
15890         [b66054a32b00]
15891
15892 1999-03-17  Todd C. Miller  <Todd.Miller@courtesan.com>
15893
15894         * config.guess:
15895         Sinix is now being called ReliantUNIX; bjjackso@us.oracle.com
15896         [c086d2fe63af]
15897
15898 1999-03-13  Todd C. Miller  <Todd.Miller@courtesan.com>
15899
15900         * sudo.c:
15901         shost must be set before log functions are called #ifdef HOST_IN_LOG
15902         [d49a7944358f]
15903
15904 1999-03-07  Todd C. Miller  <Todd.Miller@courtesan.com>
15905
15906         * CHANGES, lex.yy.c, parse.lex:
15907         Fix a bug wrt quoting characters in command args. Stop processing
15908         an arg when you hit a backslash so the quoted-character detection
15909         can catch it.
15910         [2281438d7f41]
15911
15912 1999-02-26  Todd C. Miller  <Todd.Miller@courtesan.com>
15913
15914         * interfaces.c:
15915         include sys/time.h; aparently AIX needs it. ppz@cdu.elektra.ru
15916         [31118a9e9916]
15917
15918 1999-02-24  Todd C. Miller  <Todd.Miller@courtesan.com>
15919
15920         * configure, configure.in:
15921         add missing case statement so --without-sendmail works
15922         [ca25614f7dd9]
15923
15924 1999-02-23  Todd C. Miller  <Todd.Miller@courtesan.com>
15925
15926         * CHANGES:
15927         more
15928         [4d70e44f7f93]
15929
15930 1999-02-22  Todd C. Miller  <Todd.Miller@courtesan.com>
15931
15932         * configure, configure.in:
15933         only search for -lsun in irix <= 4.x
15934         [e604238317b1]
15935
15936         * configure, configure.in:
15937         back out last configure.in change now that I've hacked autoconf to
15938         fix the real problem and add a missing newline
15939         [2dabf59a79b5]
15940
15941         * CHANGES:
15942         updated
15943         [bb35d526552f]
15944
15945         * getcwd.c:
15946         add def of dirfd() for those without it
15947         [95f0173d8441]
15948
15949         * configure, configure.in:
15950         When falling back to checking for socket() when linking with
15951         "-lsocket -lnsl" check for main() instead since autoconf has already
15952         cached the results of checking for socket() in -lsocket. This is
15953         really an autoconf bug as it should use the extra libs as part of
15954         the cache variable name.
15955         [a845f8b710ad]
15956
15957         * configure.in:
15958         typo
15959         [a7d62f62a478]
15960
15961 1999-02-21  Todd C. Miller  <Todd.Miller@courtesan.com>
15962
15963         * configure.in:
15964         fix occurrence of $with_timeout that should be
15965         $with_password_timeout; Michael.Neef@neuroinformatik.ruhr-uni-
15966         bochum.de
15967         [8c4da2cf73d1]
15968
15969 1999-02-17  Todd C. Miller  <Todd.Miller@courtesan.com>
15970
15971         * sudo.cat, sudo.html, sudo.man, sudo.pod:
15972         fix grammar; espie@openbsd.org
15973         [7031d9dfbc3e] [SUDO_1_5_8]
15974
15975 1999-02-11  Todd C. Miller  <Todd.Miller@courtesan.com>
15976
15977         * parse.yacc, sudo.c, testsudoers.c:
15978         add cast for strdup in places it does not have it
15979         [7ce4478d3b0f]
15980
15981 1999-02-09  Todd C. Miller  <Todd.Miller@courtesan.com>
15982
15983         * configure, configure.in:
15984         define for_BSD_TYPES irix
15985         [858337ff4af8]
15986
15987 1999-02-07  Todd C. Miller  <Todd.Miller@courtesan.com>
15988
15989         * Makefile.in, sudo.cat, sudo.html, sudo.man, sudo.pod:
15990         Make it clear that it is the user's password, not root's, that we
15991         want.
15992         [ae0f51b35ee4]
15993
15994         * check.c, sudo.h:
15995         If the user enters an empty password and really has no password,
15996         accept the empty password they entered. Perviously, they could
15997         enter anything
15998         *but* an empty password. Also, add GETPASS macro that calls either
15999         tgetpass() or getpass() depending on how sudo was configured.
16000         Problem noted by jdg@maths.qmw.ac.uk
16001         [2fde21ce94c1]
16002
16003 1999-02-03  Todd C. Miller  <Todd.Miller@courtesan.com>
16004
16005         * Makefile.in, check.c, check_sia.c, compat.h, config.h.in,
16006         dce_pwent.c, emul/utime.h, find_path.c, getspwuid.c, goodpath.c,
16007         ins_2001.h, ins_classic.h, ins_csops.h, ins_goons.h, insults.h,
16008         interfaces.c, logging.c, parse.c, parse.lex, parse.yacc,
16009         pathnames.h.in, putenv.c, secureware.c, strdup.c, sudo.c, sudo.h,
16010         sudo_setenv.c, testsudoers.c, tgetpass.c, utime.c, version.h,
16011         visudo.c:
16012         add explicate copyright
16013         [d3b4449834a5]
16014
16015         * CHANGES:
16016         mention -lsocket, -lnsl configure changes
16017         [9140af4ad8ae]
16018
16019 1999-02-02  Todd C. Miller  <Todd.Miller@courtesan.com>
16020
16021         * sudo.c:
16022         Don't clobber errno after calling check_sudoers().
16023         [59bd581b2654]
16024
16025 1999-02-01  Todd C. Miller  <Todd.Miller@courtesan.com>
16026
16027         * configure, configure.in:
16028         When linking with both -lsocket and -lnsl be sure to do so in that
16029         order. Also, when we can't find socket() or inet_addr() and have to
16030         try linking with both libs, issue a warning.
16031         [0ee547163067]
16032
16033         * sudo.cat, sudo.man, sudo.pod:
16034         clarify bad timestamp and fmt
16035         [70e42cf56c75]
16036
16037 1999-01-23  Todd C. Miller  <Todd.Miller@courtesan.com>
16038
16039         * INSTALL, RUNSON:
16040         be clear that pam is linux-only and add a RUNSON entry
16041         [7fdeab875e0d]
16042
16043 1999-01-22  Todd C. Miller  <Todd.Miller@courtesan.com>
16044
16045         * CHANGES, INSTALL, configure, configure.in:
16046         fix and correctly document --with-umask; problem noted by
16047         adap@adap.org
16048         [11cd0481d63a]
16049
16050 1999-01-20  Todd C. Miller  <Todd.Miller@courtesan.com>
16051
16052         * configure, configure.in:
16053         only use /usr/{man,catman}/local to store man pages if suer didn't
16054         override prefix or mandir
16055         [781ad2cbe9be]
16056
16057         * INSTALL, configure, configure.in:
16058         fix typo, make --with-SecurID take an arg
16059         [026a9b4014fc]
16060
16061 1999-01-19  Todd C. Miller  <Todd.Miller@courtesan.com>
16062
16063         * RUNSON:
16064         updates from users
16065         [2286982b31e6]
16066
16067         * CHANGES, INSTALL, check.c, configure, configure.in:
16068         FWTK 'authsrv' support from Kevin Kadow <kadow@MSG.NET>
16069         [23aa4e5c6b02]
16070
16071         * configure, configure.in:
16072         better fix for the problem of unresolved symbols in -lnsl or
16073         -lsocket
16074         [82fe70fc287f]
16075
16076         * configure, configure.in:
16077         when checking for functions in -lnsl and -lsocket link with both of
16078         them to avoid unresolved symbols on some weirdo systems
16079         [1734a591808e]
16080
16081 1999-01-18  Todd C. Miller  <Todd.Miller@courtesan.com>
16082
16083         * BUGS, CHANGES, RUNSON, TODO:
16084         old changes that didn't make it into RCS before the RCS->CVS switch
16085         [846eb2b8f9aa]
16086
16087 1999-01-17  Todd C. Miller  <Todd.Miller@courtesan.com>
16088
16089         * Makefile.in, check.c, check_sia.c, compat.h, config.h.in,
16090         configure.in, dce_pwent.c, emul/search.h, emul/utime.h, find_path.c,
16091         getspwuid.c, goodpath.c, ins_2001.h, ins_classic.h, ins_csops.h,
16092         ins_goons.h, insults.h, interfaces.c, lex.yy.c, logging.c,
16093         lsearch.c, parse.c, parse.lex, parse.yacc, pathnames.h.in, putenv.c,
16094         secureware.c, strdup.c, sudo.c, sudo.pod, sudo_setenv.c,
16095         sudoers.pod, testsudoers.c, tgetpass.c, utime.c, visudo.c,
16096         visudo.pod:
16097         add sudo tags
16098         [962f81eaa5ab]
16099
16100         * sudo.h:
16101         testing Sudo tag
16102         [e84cbc521129]
16103
16104         * version.h:
16105         testing Sudo tag
16106         [a8c3a3998b88]
16107
16108         * BUGS, INSTALL, Makefile.in, README, check.c, check_sia.c, compat.h,
16109         config.h.in, configure, configure.in, dce_pwent.c, emul/utime.h,
16110         find_path.c, getspwuid.c, goodpath.c, ins_2001.h, ins_classic.h,
16111         ins_csops.h, ins_goons.h, insults.h, interfaces.c, lex.yy.c,
16112         logging.c, parse.c, parse.lex, parse.yacc, pathnames.h.in, putenv.c,
16113         secureware.c, strdup.c, sudo.c, sudo.cat, sudo.h, sudo.man,
16114         sudo_setenv.c, sudoers.cat, sudoers.man, testsudoers.c, tgetpass.c,
16115         utime.c, version.h, visudo.c, visudo.cat, visudo.man:
16116         crank version and regen files
16117         [23eacf00a1a4]
16118
16119         * Makefile.in:
16120         kill rcs goop in update_version and fix now that version is a const
16121         [e6e50bd8d1e1]
16122
16123         * INSTALL, check.c, config.h.in, configure, configure.in, logging.c,
16124         sudo.c, sudo.h, sudo.pod:
16125         kerb5 support from fcusack@iconnet.net
16126         [8134027986e2]
16127
16128         * realpath.c, sudo_realpath.c:
16129         we no longer use realpath
16130         [0f5f64abc646]
16131
16132         * qualify.c:
16133         replaced by find_path.c
16134         [9e32a87e09c4]
16135
16136         * options.h:
16137         all options are now configure flags
16138         [ee6bd9610102]
16139
16140         * lex.yy.c:
16141         regen
16142         [bdbf8a18161f]
16143
16144         * getwd.c:
16145         superceded by getcwd.c
16146         [1e54ee0990b4]
16147
16148         * getpass.c:
16149         superceded by tgetpass.c
16150         [4e0d1edc30e3]
16151
16152         * SUPPORTED:
16153         superceded by RUNSON
16154         [854c5a21cb53]
16155
16156         * OPTIONS:
16157         No longer used now that we have configure options for everything.
16158         [9b1ae1c89259]
16159
16160         * configure:
16161         regen based on configure.in
16162         [3a4d73936973]
16163
16164         * sudo.cat, sudo.html, sudo.man, sudoers.cat, sudoers.html,
16165         sudoers.man, visudo.cat, visudo.html, visudo.man:
16166         regen based on sudo.pod, sudoers.pod, and visudo.pod
16167         [c267beb90778]
16168
16169 1998-12-11  Todd C. Miller  <Todd.Miller@courtesan.com>
16170
16171         * check.c:
16172         fix tty tickets in remove_timestamp (didn't use ':')
16173         [fd964a74a32b]
16174
16175 1998-12-07  Todd C. Miller  <Todd.Miller@courtesan.com>
16176
16177         * interfaces.c:
16178         close sock when we are done with it
16179         [95de0380f8a4]
16180
16181 1998-11-28  Todd C. Miller  <Todd.Miller@courtesan.com>
16182
16183         * parse.yacc:
16184         never say "error on line -1"
16185         [361db1491121]
16186
16187 1998-11-24  Todd C. Miller  <Todd.Miller@courtesan.com>
16188
16189         * configure.in:
16190         check for -lnsl before -lsocket
16191         [8e966d6bbcb5]
16192
16193         * configure.in:
16194         quote '[', ']' used in ranges correctly
16195         [fa4f9c6ff651]
16196
16197 1998-11-21  Todd C. Miller  <Todd.Miller@courtesan.com>
16198
16199         * config.h.in:
16200         add missing NO_ROOT_SUDO noted by drno@tsd.edu
16201         [c969f25d1667]
16202
16203 1998-11-20  Todd C. Miller  <Todd.Miller@courtesan.com>
16204
16205         * version.h:
16206         1.5.7
16207         [7a22de0bc148]
16208
16209         * INSTALL:
16210         more info for 1.5.7
16211         [30ad9e784799]
16212
16213         * README:
16214         update for 1.5.7
16215         [cd03a0a27cd2]
16216
16217         * parse.yacc:
16218         make increases of cm_list_size and ga_list_size be similar to
16219         increases of stacksize (ie: >= not > in initial compare).
16220         [6bd450a896c7]
16221
16222         * parse.yacc:
16223         when we get a syntax error, report it for the previous line since
16224         that's generally where the error occurred.
16225         [c4ac84058f0b]
16226
16227 1998-11-18  Todd C. Miller  <Todd.Miller@courtesan.com>
16228
16229         * config.h.in, configure.in, interfaces.c:
16230         add back check for sys/sockio.h but only use it if SIOCGIFCONF is
16231         not defined
16232         [d197f31fd1e4] [SUDO_1_5_7]
16233
16234         * config.h.in:
16235         define BSD_COMP for svr4
16236         [87ac1147ff79]
16237
16238         * check.c, check_sia.c, find_path.c, getcwd.c, getspwuid.c,
16239         goodpath.c, interfaces.c, logging.c, lsearch.c, parse.c, parse.lex,
16240         parse.yacc, putenv.c, secureware.c, strdup.c, sudo.c, sudo_setenv.c,
16241         testsudoers.c, tgetpass.c, utime.c, visudo.c:
16242         more -Wall
16243         [d98e2d32db2a]
16244
16245         * configure.in:
16246         kill check for sockio,h
16247         [4399779014c1]
16248
16249         * config.h.in:
16250         no more HAVE_SYS_SOCKIO_H
16251         [67484528e347]
16252
16253         * check.c, check_sia.c, find_path.c, getcwd.c, getspwuid.c,
16254         goodpath.c, interfaces.c, logging.c, lsearch.c, parse.c, parse.lex,
16255         parse.yacc, putenv.c, secureware.c, strdup.c, sudo.c, sudo_setenv.c,
16256         testsudoers.c, tgetpass.c, utime.c, visudo.c:
16257         -Wall
16258         [2b7e83976788]
16259
16260 1998-11-16  Todd C. Miller  <Todd.Miller@courtesan.com>
16261
16262         * sudo.c:
16263         add missing inform_user()
16264         [8689528c6d55]
16265
16266 1998-11-14  Todd C. Miller  <Todd.Miller@courtesan.com>
16267
16268         * find_path.c:
16269         return NOT_FOUND if given fully qualified path and it does not exist
16270         previously it would perror(ENOENT) which bypasses the option to not
16271         leak path info
16272         [ccbc3d0130ae]
16273
16274         * configure.in:
16275         for kerb5, check for -lkerb4, fall back on -lkrb for kerb, check for
16276         -ldes
16277         [c77d3b484ece]
16278
16279 1998-11-13  Todd C. Miller  <Todd.Miller@courtesan.com>
16280
16281         * INSTALL:
16282         tty tickets are user:tty now
16283         [a53a303a614d]
16284
16285         * check.c:
16286         when using tty tickets make it user:tty not user.tty as a username
16287         could have a '.' in it
16288         [3160b3f5c890]
16289
16290 1998-11-10  Todd C. Miller  <Todd.Miller@courtesan.com>
16291
16292         * sudo.c:
16293         add "ignoring foo found in ." for auth successful case
16294         [24257169e0bd]
16295
16296 1998-11-09  Todd C. Miller  <Todd.Miller@courtesan.com>
16297
16298         * sudo.c:
16299         add missing printf param
16300         [8c905124f777]
16301
16302 1998-11-08  Todd C. Miller  <Todd.Miller@courtesan.com>
16303
16304         * INSTALL, config.h.in, configure.in, find_path.c, sudo.c, sudo.h:
16305         go back to printing "command not found" unless --disable-path-info
16306         specified. Also, tell user when we ignore '.' in their path and it
16307         would have been used but for --with-ignore-dot.
16308         [066e118c11e4]
16309
16310         * check.c, sudo.c:
16311         Only one space after a colon, not two, in printf's
16312         [38452f4c8007]
16313
16314 1998-11-05  Todd C. Miller  <Todd.Miller@courtesan.com>
16315
16316         * sudo.pod:
16317         document setting $USER
16318         [80557fe6aede]
16319
16320         * check.c:
16321         fix bugs with prompt expansion
16322         [44c4fca5f009]
16323
16324         * sudo.c:
16325         set $USER for root too
16326         [4b525e1c6269]
16327
16328 1998-11-04  Todd C. Miller  <Todd.Miller@courtesan.com>
16329
16330         * getspwuid.c:
16331         typo
16332         [5107446f43e0]
16333
16334         * configure.in:
16335         HP-UX's iscomsec is in -lsec, not libc
16336         [03c9f700b795]
16337
16338         * configure.in:
16339         remove some entries in the OS case statement that did nothing
16340         [ea96e7e0f624]
16341
16342         * TROUBLESHOOTING:
16343         add "cd" section and flush out syslog section
16344         [5107f7363b78]
16345
16346         * Makefile.in:
16347         no more sudo-lex.yy.c
16348         [ed50826efbbc]
16349
16350         * check_sia.c:
16351         add custom prompt support
16352         [6a285cea10b7]
16353
16354         * testsudoers.c:
16355         kill perror("malloc") since we already have a good error messages
16356         pw_ent -> pw for brevity
16357         [eee31052921e]
16358
16359         * sudo.c:
16360         kill perror("malloc") since we already have a good error messages
16361         pw_ent -> pw for brevity set $USER if -u specified
16362         [9f3753461f8a]
16363
16364         * parse.yacc:
16365         kill perror("malloc") since we already have a good error messages
16366         [849459088ac3]
16367
16368         * parse.c:
16369         kill perror("malloc") since we already have a good error messages
16370         pw_ent -> pw for brevity when checking if %group matches, look up
16371         user in password file so that %groups works in a RunAs spec.
16372         [0489b4ecc59a]
16373
16374         * logging.c:
16375         kill perror("malloc") since we already have a good error messages
16376         [3191a18b3526]
16377
16378         * check.c, getspwuid.c, interfaces.c:
16379         kill perror("malloc") since we already have a good error messages
16380         pw_ent -> pw for brevity
16381         [7193fdb38cf9]
16382
16383 1998-11-03  Todd C. Miller  <Todd.Miller@courtesan.com>
16384
16385         * tgetpass.c:
16386         the prompt is expanded before tgetpass is called
16387         [0f408f508041]
16388
16389         * sudo.h:
16390         tgetpass now has the same args as getpass again
16391         [b6778cd9d79f]
16392
16393         * getspwuid.c:
16394         add iscomsec, issecure support
16395         [007be7ec7ae7]
16396
16397         * check.c:
16398         we now expand any %h or %u in the prompt before passing to tgetpass
16399         [f3db8c9ee387]
16400
16401         * configure.in:
16402         add check for syslog(3) in -lsocket, -lnsl, -linet
16403         [5a96f902ce00]
16404
16405         * config.h.in:
16406         add HAVE_ISCOMSEC and HAVE_ISSECURE
16407         [f640b0d4cf05]
16408
16409         * configure.in:
16410         add check for iscomsec in HP-UX
16411         [b28b249040f0]
16412
16413         * configure.in:
16414         check for issecure if we have getpwanam on SunOS some options are
16415         incompatible with DUNIX SIA check for dispcrypt on DUNIX
16416         [a49d05d9c913]
16417
16418 1998-10-25  Todd C. Miller  <Todd.Miller@courtesan.com>
16419
16420         * config.h.in:
16421         add HAVE_DISPCRYPT
16422         [7376d543d8d6]
16423
16424         * secureware.c:
16425         add back support for non-dispcrypt based checking for older DUNIX
16426         [977b98e936be]
16427
16428         * INSTALL:
16429         sia changes
16430         [c5387c06e30f]
16431
16432         * configure.in:
16433         SIA becomes the default on Digital UNIX now havbe --disable-sia to
16434         turn it off...
16435         [3b647558ea13]
16436
16437         * check.c:
16438         move local includes after system ones
16439         [b2abad4c4aef]
16440
16441 1998-10-24  Todd C. Miller  <Todd.Miller@courtesan.com>
16442
16443         * check.c, check_sia.c, sudo.h:
16444         add pass_warn() which prints out INCORRECT_PASSWORD or an insult to
16445         stderr
16446         [547cbf299661]
16447
16448         * check_sia.c:
16449         fix while loop in sia_attempt_auth() that checks the password. Only
16450         the first iteration was working.
16451         [1886fd1ac831]
16452
16453 1998-10-22  Todd C. Miller  <Todd.Miller@courtesan.com>
16454
16455         * aclocal.m4:
16456         don't trust UID_MAX or MAXUID
16457         [2aeddb1654d8]
16458
16459         * configure.in:
16460         fix two pastos
16461         [c18f0a10b75d]
16462
16463         * configure.in:
16464         fix typo
16465         [1eb3190ef12d]
16466
16467         * getspwuid.c, secureware.c:
16468         init crypt_type to INT_MAX since it is legal to be negative in DUNX
16469         5.0
16470         [cefbde04822d]
16471
16472         * configure.in:
16473         for secureware on dunix, use -lsecurity -ldb -laud -lm but check for
16474         -ldb since DUNX < 4.0 lacks it
16475         [e6b11d971068]
16476
16477 1998-10-21  Todd C. Miller  <Todd.Miller@courtesan.com>
16478
16479         * check.c, compat.h, config.h.in, configure.in, getspwuid.c,
16480         secureware.c, sudo.c, tgetpass.c:
16481         getprpwuid is broken in HP-UX 10.20 at least (it sleeps for 2
16482         minutes if the shadow files don't exist).
16483         [2f297d095004]
16484
16485 1998-10-20  Todd C. Miller  <Todd.Miller@courtesan.com>
16486
16487         * INSTALL:
16488         updated --with-editor blurb
16489         [77d8a3ea7328]
16490
16491         * TROUBLESHOOTING:
16492         tell how to put sudoers in a different dir
16493         [456cd20eb1d0]
16494
16495         * configure.in:
16496         add missing quotes around $with_editor
16497         [22881748ab1b]
16498
16499         * configure.in:
16500         typo in --with-editor bits
16501         [ab6964580681]
16502
16503         * INSTALL:
16504         I don't expect it to work on Solaris
16505         [1c2fceaaf56e]
16506
16507         * check.c:
16508         add back security/pam_misc.h
16509         [6ffd30033c1e]
16510
16511 1998-10-19  Todd C. Miller  <Todd.Miller@courtesan.com>
16512
16513         * INSTALL:
16514         remove dunix note since configure checks for this now
16515         [e9904512b8e8]
16516
16517         * configure.in:
16518         add check for broken dunix prot.h (4.0 < 4.0D is bad)
16519         [8a4c1e6aef3b]
16520
16521         * getspwuid.c, secureware.c, tgetpass.c:
16522         new dunix shadow code, use dispcrypt(3)
16523         [1b936bc7268c]
16524
16525         * config.h.in:
16526         add HAVE_INITPRIVS
16527         [4369f4c4f914]
16528
16529         * sudo.c:
16530         call initprivs() if we have it for getprpwuid later on
16531         [11cf5915d826]
16532
16533         * Makefile.in:
16534         clean pathnames.h too
16535         [5f1df3262613]
16536
16537         * configure.in:
16538         quote "Sorry, try again." with [] since it has a comma in it set
16539         LIBS when we add stuff to SUDO_LIBS set SECUREWARE when we find
16540         getprpwuid() so we can check for bigcrypt, set_auth_parameters, and
16541         initprivs later.
16542         [e226b0a3f250]
16543
16544         * INSTALL:
16545         update Digital UNIX note about acl.h
16546         [80132b71d73a]
16547
16548         * INSTALL:
16549         add --with-sia
16550         --without-root-sudo -> --disable-root-sudo some reordering
16551         [198386358818]
16552
16553         * secureware.c:
16554         add whitespace
16555         [4aadaf1a54b0]
16556
16557         * Makefile.in, check.c, config.h.in, configure.in, logging.c, sudo.h:
16558         add SIA support
16559         [fa3ddbb9cc51]
16560
16561         * check_sia.c:
16562         Initial revision
16563         [2968551d40e4]
16564
16565 1998-10-18  Todd C. Miller  <Todd.Miller@courtesan.com>
16566
16567         * configure.in:
16568         when checking for -lsocket, -lnsl, and -linet, check for the
16569         specific functions we need from them.
16570         [8d33e64362a3]
16571
16572         * config.h.in, sudo.h:
16573         move Syslog_* defs into sudo.h
16574         [03d1774f25c7]
16575
16576         * Makefile.in, sudo.h:
16577         added check_secureware
16578         [e46e3cbb9a97]
16579
16580         * configure.in:
16581         finished adding AC_MSG_CHECKING and AC_MSG_RESULT bits
16582         [dbefe1856503]
16583
16584         * insults.h:
16585         don't define CLASSIC_INSULTS and CSOPS_INSULTS if no other sets
16586         defined. configure now does that for us
16587         [e4520ea0581f]
16588
16589         * configure.in:
16590         move some --with options around change a bunch of echo's to
16591         AC_MSG_CHECKING, AC_MSG_RESULT pairs
16592         [ffdf6869fdd7]
16593
16594         * configure.in:
16595         change $with_foo-bar -> $with_foo_bar kill extra " that caused a
16596         syntax error add some echo verbage
16597         [3278c49bf74b]
16598
16599 1998-10-17  Todd C. Miller  <Todd.Miller@courtesan.com>
16600
16601         * check.c:
16602         moved SecureWare stuff into secureware.c
16603         [42d3d3ac35dc]
16604
16605         * secureware.c:
16606         Initial revision
16607         [aa7f72a249cf]
16608
16609         * INSTALL:
16610         update url to solaris gcc bins
16611         [36a3eb668777]
16612
16613         * INSTALL:
16614         change option formatter and flesh out someentries
16615         [6fbd1db4a8ad]
16616
16617         * TROUBLESHOOTING, sudo.pod, visudo.pod:
16618         environmental variable -> environment variable
16619         [6f14d708e32d]
16620
16621         * BUGS:
16622         everything is now done via configure
16623         [c217858f58ab]
16624
16625         * README:
16626         prev rev was 1.5.6
16627         [7b4177103c35]
16628
16629         * Makefile.in:
16630         passing SUDOERS_MODE, SUDOERS_UID, SUDOERS_GID correctly
16631         [31c6b0a5e0e2]
16632
16633         * config.h.in:
16634         SUDOERS_MODE, SUDOERS_UID, SUDOERS_GID now come from the Makefile
16635         [d406a1ef6d25]
16636
16637         * Makefile.in:
16638         merge OSDEFS and OPTIONS into DEFS get sudoers_uid, sudoers_gid,
16639         sudoers_mode from configure
16640         [1c509500655a]
16641
16642         * configure.in:
16643         SUDOERS_MODE, SUDOERS_UID, and SUDOERS_GID now get substituted into
16644         the Makefile, not config.h
16645         [d4482f1492fe]
16646
16647         * INSTALL:
16648         document all --with/--enable options
16649         [22d81b312d7f]
16650
16651 1998-10-15  Todd C. Miller  <Todd.Miller@courtesan.com>
16652
16653         * insults.h:
16654         options.h is no more
16655         [560946a33f7f]
16656
16657         * config.h.in:
16658         assimilated options.h
16659         [dd8ce74613c1]
16660
16661         * configure.in:
16662         moved options from options.h to configure
16663         [d39662f71b4e]
16664
16665         * check.c, find_path.c, getspwuid.c, goodpath.c, interfaces.c,
16666         logging.c, parse.c, parse.lex, parse.yacc, sudo.c, sudo.pod,
16667         sudo_setenv.c, visudo.c:
16668         no more options.h
16669         [43924bf0858d]
16670
16671         * INSTALL, Makefile.in, PORTING, TROUBLESHOOTING:
16672         remove references to options.h
16673         [ef3474295395]
16674
16675         * dce_pwent.c, interfaces.c, sudo.c:
16676         kill sys/time.h
16677         [4d833f0034e4]
16678
16679         * tgetpass.c:
16680         if select return < -1 still prompt for pw
16681         [e0009e5c93a2]
16682
16683         * options.h:
16684         convert LOGGING, LOGFAC, MAXLOGFILELEN, IGNORE_DOT_PATH into
16685         configure options
16686         [e60a1e546516]
16687
16688         * parse.c:
16689         FAST_MATCH is no longer an optino
16690         [c448dbb3464b]
16691
16692         * check.c:
16693         remove_timestamp() if timestamp is preposterous
16694         [70d9a86c6ecd]
16695
16696         * options.h:
16697         convert more options to --with/--enable
16698         [34646d9b09dc]
16699
16700         * INSTALL, aclocal.m4:
16701         logfile -> logpath
16702         [42de502bc637]
16703
16704         * configure.in:
16705         convert more options into --with and --enable
16706         [92d0898c9844]
16707
16708         * tgetpass.c:
16709         catch EINTR in select and restart
16710         [f045d2f234d7]
16711
16712         * logging.c:
16713         sys/errno -> errno
16714         [7f0c5beab6f2]
16715
16716 1998-09-24  Todd C. Miller  <Todd.Miller@courtesan.com>
16717
16718         * sudo.c:
16719         UMASK -> SUDO_UMASK.
16720         [48f308661514]
16721
16722         * check.c, logging.c:
16723         time.h, not sys/time.h
16724         [91de049c79e4]
16725
16726 1998-09-21  Todd C. Miller  <Todd.Miller@courtesan.com>
16727
16728         * logging.c:
16729         MAILER -> _PATH_SENDMAIL
16730         [df65d6896639]
16731
16732         * INSTALL, configure.in:
16733         no more --with-C2, now it is --disable-shadow
16734         [18bfcab3b9ab]
16735
16736         * aclocal.m4, check.c, compat.h, config.h.in, configure.in,
16737         getspwuid.c, sudo.c, tgetpass.c:
16738         new shadow password scheme. Always include shadow support if the
16739         platform supports it and the user did not disable it via configure
16740         [2135d93bb4a9]
16741
16742 1998-09-20  Todd C. Miller  <Todd.Miller@courtesan.com>
16743
16744         * configure.in:
16745         --with-getpass -> --{enable,disable}-tgetpass
16746         [451b33fdd4c7]
16747
16748         * Makefile.in:
16749         pathnames.h -> pathnames.h.in
16750         [b109022eca69]
16751
16752         * check.c:
16753         fix version string
16754         [761b25c314ea]
16755
16756         * check.c:
16757         move pam_conv to be static to auth function remove pam_misc.h
16758         (solaris doesn't have one)
16759         [a682e4da987a]
16760
16761         * aclocal.m4:
16762         _CONFIG_PATH_* -> _PATH_* or _PATH_SUDO_* kill SUDO_PROG_PWD
16763         [e6005d0599b5]
16764
16765         * configure.in:
16766         munge pathnames.h.in -> pathnames.h kill SUDO_PROG_PWD
16767         [24c0ac2155ef]
16768
16769         * pathnames.h.in:
16770         convert to pathnames.h.in
16771         [013bddf7f684]
16772
16773 1998-09-19  Todd C. Miller  <Todd.Miller@courtesan.com>
16774
16775         * configure.in:
16776         fix typo in sysv4 matching case /.
16777         [2994c4f88cf5]
16778
16779 1998-09-18  Todd C. Miller  <Todd.Miller@courtesan.com>
16780
16781         * check.c:
16782         pam stuff needs to run as root, not user, for shadow passwords
16783         [d94ff75de503]
16784
16785 1998-09-17  Todd C. Miller  <Todd.Miller@courtesan.com>
16786
16787         * BUGS, INSTALL, README, configure.in:
16788         updated version
16789         [775adc7de7ac]
16790
16791         * Makefile.in, check.c, compat.h, config.h.in, dce_pwent.c,
16792         emul/utime.h, find_path.c, getspwuid.c, goodpath.c, ins_2001.h,
16793         ins_classic.h, ins_csops.h, ins_goons.h, insults.h, interfaces.c,
16794         logging.c, options.h, parse.c, parse.lex, parse.yacc,
16795         pathnames.h.in, putenv.c, strdup.c, sudo.c, sudo.h, sudo_setenv.c,
16796         testsudoers.c, tgetpass.c, utime.c, visudo.c:
16797         updated version
16798         [5ca599fb6b93]
16799
16800         * check.c:
16801         user version.h for long message
16802         [47a52ac7e542]
16803
16804         * check.c:
16805         this is version 1.5.6
16806         [8451ac79eee2]
16807
16808 1998-09-16  Todd C. Miller  <Todd.Miller@courtesan.com>
16809
16810         * Makefile.in:
16811         remove errant backslash
16812         [0222a8a650ff]
16813
16814 1998-09-15  Todd C. Miller  <Todd.Miller@courtesan.com>
16815
16816         * options.h, parse.yacc, pathnames.h.in:
16817         fix version string
16818         [fdee73255d64] [SUDO_1_5_6]
16819
16820         * BUGS, CHANGES, TODO:
16821         updtaed for 1.5.6
16822         [752443bf7f26]
16823
16824         * RUNSON:
16825         updated for 1.5.6
16826         [0f878123fe6a]
16827
16828 1998-09-14  Todd C. Miller  <Todd.Miller@courtesan.com>
16829
16830         * interfaces.c:
16831         kill unused localhost_mask var copy if name to ifr_tmp after we zero
16832         it
16833         [8e89c364cef2]
16834
16835 1998-09-13  Todd C. Miller  <Todd.Miller@courtesan.com>
16836
16837         * INSTALL:
16838         Better description of new vs. old sudoers modes fix some typos
16839         better description of /usr/ucb/cc gotchas on slowaris
16840         [c00b2a6fc1e8]
16841
16842         * Makefile.in:
16843         add sample.pam
16844         [ec7f6cc19b00]
16845
16846         * sudo.c:
16847         set NewArgv[0] to user_shell, not basename(user_shell)
16848         [1e907cbc9f7b]
16849
16850 1998-09-12  Todd C. Miller  <Todd.Miller@courtesan.com>
16851
16852         * README:
16853         mention TROUBLESHOOTING more fix some typos
16854         [2c2e6907d4a4]
16855
16856         * configure.in:
16857         move --enable/--disable to be after --with
16858         [9b30097f76c1]
16859
16860         * INSTALL:
16861         document --enable/--disable
16862         [c522362e38a8]
16863
16864         * INSTALL:
16865         document --with-pam
16866         [7e38932c78ac]
16867
16868 1998-09-11  Todd C. Miller  <Todd.Miller@courtesan.com>
16869
16870         * configure.in:
16871         Add message for pam users
16872         [d224f277e3cd]
16873
16874         * sample.pam:
16875         Initial revision
16876         [3a84d7045f54]
16877
16878         * config.h.in:
16879         fix HAVE_PAM
16880         [2f0f303ebd88]
16881
16882         * check.c, config.h.in, configure.in:
16883         pam support, from Gary Calvin <GCalvin@kenwoodusa.com>
16884         [ea3e0a72d707]
16885
16886 1998-09-10  Todd C. Miller  <Todd.Miller@courtesan.com>
16887
16888         * config.h.in:
16889         add HOST_IN_LOG and WRAP_LOG
16890         [822c36eeb6a8]
16891
16892         * logging.c:
16893         add WRAP_LOG and HOST_IN_LOG
16894         [3cf6052bd27e]
16895
16896         * configure.in:
16897         add --enable-log-host and --enable-log-wrap
16898         [c968cc12b353]
16899
16900         * aclocal.m4:
16901         use AC_DEFINE_UNQUOTED for --with-logfile and --with-timedir
16902         [915fef7e11a1]
16903
16904 1998-09-09  Todd C. Miller  <Todd.Miller@courtesan.com>
16905
16906         * compat.h:
16907         add howmany macro
16908         [9107a057a7c8]
16909
16910         * tgetpass.c:
16911         include sys/param.h to get howmany macro
16912         [7e908b5e1f32]
16913
16914 1998-09-08  Todd C. Miller  <Todd.Miller@courtesan.com>
16915
16916         * OPTIONS, options.h, parse.yacc, sudo.c, testsudoers.c, visudo.c:
16917         add RUNAS_DEFAULT
16918         [1e76398ea3fd]
16919
16920 1998-09-07  Todd C. Miller  <Todd.Miller@courtesan.com>
16921
16922         * fnmatch.c:
16923         bring in stdio.h for NULL
16924         [69c016610cbb]
16925
16926         * aclocal.m4:
16927         allow /bin/{ksh,bach} and /usr/bin/{ksh,bash} as sh
16928         [15ab2972f8d0]
16929
16930         * sudo.c:
16931         use HAVE_SET_AUTH_PARAMETERS
16932         [8abfdc8c80f7]
16933
16934         * config.h.in:
16935         add HAVE_SET_AUTH_PARAMETERS
16936         [673a5ebd5539]
16937
16938         * configure.in:
16939         add *-*-hiuxmpp* add test for set_auth_parameters() if secureware
16940         [a401f5a7469a]
16941
16942         * config.sub:
16943         add support for HI-UX/MPP SR220001 02-03 0 SR2201
16944         [cb657b7acaae]
16945
16946         * interfaces.c:
16947         initialize previfname
16948         [26a1902f56dc]
16949
16950         * interfaces.c:
16951         Don't use SIOCGIFADDR, we don't need it Use SIOCGIFFLAGS if we have
16952         it check ifr_flags against IFF_UP and IFF_LOOPBACK instead of
16953         kludging it
16954         [fa5c890c313b]
16955
16956         * configure.in:
16957         typo
16958         [bff579fbe95c]
16959
16960         * Makefile.in:
16961         don't need special build line for sudo.tab.o
16962         [10c0a0a912e4]
16963
16964         * Makefile.in:
16965         don't clean sudo.tab.[ch]
16966         [c40d5968efbb]
16967
16968         * sudo.c:
16969         Sudo should prompt for a password before telling the user that a
16970         command could not be found.
16971         [d718c85a0047]
16972
16973         * BUGS:
16974         for 1.5.6
16975         [0cc1fe5b9129]
16976
16977         * INSTALL, README:
16978         no longer require yacc
16979         [d9096fc5b8b6]
16980
16981         * Makefile.in:
16982         typo
16983         [70feb1aefbd5]
16984
16985         * Makefile.in:
16986         y.tab -> sudo.tab include pre-yacc'd parse.yacc
16987         [cc802025fd44]
16988
16989         * parse.lex:
16990         include sudo.tab.h, not y.tab.h don't break out of command args if
16991         you get a '='
16992         [728ad26dbda5]
16993
16994         * insults.h:
16995         fix version ,
16996         [242bbce1b2d4]
16997
16998         * ins_2001.h, ins_classic.h, ins_csops.h, ins_goons.h:
16999         fix version
17000         [2bb9086fea1e]
17001
17002         * compat.h:
17003         fix version
17004         [7e634d498ce6]
17005
17006         * getcwd.c:
17007         getcwd(3) from OpenBSD for those without it.
17008         [6c68d0df8f6c]
17009
17010         * sudo.h:
17011         HAVE_GETWD -> HAVE_GETCWD
17012         [2ad1e64d60c0]
17013
17014         * configure.in:
17015         pretend sunos doesn't have getcwd(3) since it opens a pipe to
17016         getpwd!
17017         [677992ba5a6a]
17018
17019         * parse.c:
17020         use NAMLEN() macro
17021         [8f5685aa3165]
17022
17023         * fnmatch.c:
17024         remove duplicate include of string.h
17025         [6024f3051ac3]
17026
17027         * configure.in:
17028         call SUDO_TYPE_DEV_T and SUDO_TYPE_INO_T
17029         [3d82a9c22cc2]
17030
17031         * aclocal.m4:
17032         add SUDO_TYPE_DEV_T and SUDO_TYPE_INO_T
17033         [53fbc47282f9]
17034
17035         * config.h.in:
17036         add dev_t and ino_t
17037         [5929bb0c7e1a]
17038
17039 1998-07-28  Todd C. Miller  <Todd.Miller@courtesan.com>
17040
17041         * check.c:
17042         fix OTP_ONLY for opie
17043         [7edcfa78f2ec]
17044
17045 1998-06-24  Todd C. Miller  <Todd.Miller@courtesan.com>
17046
17047         * testsudoers.c, tgetpass.c:
17048         include stdlib.h for malloc proto
17049         [c9f4b99a2fe9]
17050
17051 1998-05-19  Todd C. Miller  <Todd.Miller@courtesan.com>
17052
17053         * Makefile.in:
17054         make update_version saner
17055         [d522f93ee04a]
17056
17057         * config.h.in:
17058         add HAVE_WAITPID, HAVE_WAIT3, and sudo_waitpid()
17059         [c9a2d21dc608]
17060
17061         * configure.in:
17062         check for waitpid and wait3 or no waitpid
17063         [1f18c3224184]
17064
17065         * logging.c:
17066         used waitpid or wait3 if we have 'em
17067         [391c3279ee65]
17068
17069 1998-05-02  Todd C. Miller  <Todd.Miller@courtesan.com>
17070
17071         * visudo.c:
17072         fix some fprintf args, ariel@oz.engr.sgi.com (Ariel Faigon)
17073         [fbf53b18178f]
17074
17075 1998-04-28  Todd C. Miller  <Todd.Miller@courtesan.com>
17076
17077         * configure.in:
17078         don't need to explicately mention -lsocket -lnsl for sequent
17079         [1898dc055352]
17080
17081 1998-04-25  Todd C. Miller  <Todd.Miller@courtesan.com>
17082
17083         * configure.in:
17084         dynix should not link with -linet
17085         [278a4b9cfe2a]
17086
17087 1998-04-10  Todd C. Miller  <Todd.Miller@courtesan.com>
17088
17089         * INSTALL:
17090         mention that HP-UX doesn't ship with yacc
17091         [bde5147198c0]
17092
17093 1998-04-07  Todd C. Miller  <Todd.Miller@courtesan.com>
17094
17095         * check.c:
17096         ignore kerberos if we can't get the local realm
17097         [1e311a091a27]
17098
17099 1998-04-06  Todd C. Miller  <Todd.Miller@courtesan.com>
17100
17101         * BUGS, INSTALL, README, configure.in:
17102         ++version
17103         [499ffc746018]
17104
17105         * version.h:
17106         ++
17107         [35ba1ee01bd3]
17108
17109         * Makefile.in, check.c, config.h.in, dce_pwent.c, emul/utime.h,
17110         find_path.c, getcwd.c, getspwuid.c, goodpath.c, interfaces.c,
17111         logging.c, parse.c, parse.lex, putenv.c, strdup.c, sudo.c, sudo.h,
17112         sudo_setenv.c, testsudoers.c, tgetpass.c, utime.c, visudo.c:
17113         updated version
17114         [b4990a513f31]
17115
17116         * check.c, sudo.h:
17117         fix version
17118         [5710795834e8]
17119
17120         * getcwd.c:
17121         don't use popen/pclose. Do it inline.
17122         [29e57b0646a4]
17123
17124         * lsearch.c:
17125         add rcsid
17126         [b2b55c39858d]
17127
17128         * sudo.c:
17129         typo
17130         [d381ac39ed0f]
17131
17132         * check.c, compat.h, ins_2001.h, ins_classic.h, ins_csops.h,
17133         ins_goons.h, insults.h, options.h, parse.yacc, pathnames.h.in,
17134         sudo.h:
17135         updated version
17136         [462d6e1a2d75]
17137
17138         * check.c, find_path.c, parse.c, sudo.c, testsudoers.c:
17139         MAX* + 1 -> MAX*
17140         [2c2eeb78d34f]
17141
17142         * Makefile.in:
17143         getwd.c -> getcwd.c
17144         [7d718c32fc02]
17145
17146         * config.h.in:
17147         kill HAVE_GETWD
17148         [6ad3d702343f]
17149
17150         * configure.in:
17151         getcwd, not getwd
17152         [33e5b9841f58]
17153
17154         * getcwd.c:
17155         use MAX* not MAX* + 1 always run pwd as using getwd() defeats the
17156         purpose
17157         [24e58d340161]
17158
17159 1998-03-31  Todd C. Miller  <Todd.Miller@courtesan.com>
17160
17161         * OPTIONS, options.h:
17162         add STUB_LOAD_INTERFACES
17163         [d747cb23ca83]
17164
17165         * Makefile.in, check.c, compat.h, config.h.in, dce_pwent.c,
17166         emul/utime.h, find_path.c, getspwuid.c, getwd.c, goodpath.c,
17167         ins_2001.h, ins_classic.h, ins_csops.h, ins_goons.h, insults.h,
17168         interfaces.c, logging.c, options.h, parse.c, parse.lex, parse.yacc,
17169         pathnames.h.in, putenv.c, strdup.c, sudo.c, sudo.h, sudo_setenv.c,
17170         testsudoers.c, tgetpass.c, utime.c, visudo.c:
17171         updated version
17172         [0798229312cc]
17173
17174         * configure.in:
17175         support *-ccur-sysv4 and fix two typos
17176         [24a823ad7cc9]
17177
17178 1998-03-28  Todd C. Miller  <Todd.Miller@courtesan.com>
17179
17180         * configure.in:
17181         don't echo about with_logfile and with_timedir
17182         [31e4a1e2d9ad]
17183
17184         * INSTALL:
17185         document --with-logfile and --with-timedir
17186         [674f811a40e0]
17187
17188         * aclocal.m4:
17189         support --with-logfile and --with-timedir
17190         [2fc36b35db12]
17191
17192         * configure.in:
17193         Add --with-logfile and --with-timedir
17194         [09045bf07e29]
17195
17196         * sudo.c:
17197         change size computation of NewArgv for UNICOS
17198         [b50df07da3a1]
17199
17200 1998-02-19  Todd C. Miller  <Todd.Miller@courtesan.com>
17201
17202         * configure.in:
17203         treate -*-sysv4* like *-*-svr4
17204         [471b7ef4dbf2]
17205
17206 1998-02-18  Todd C. Miller  <Todd.Miller@courtesan.com>
17207
17208         * configure.in:
17209         fix spacing for --with-authenticate help
17210         [8321cb37c410]
17211
17212         * Makefile.in, check.c, compat.h, config.h.in, dce_pwent.c,
17213         emul/utime.h, find_path.c, getspwuid.c, getwd.c, goodpath.c,
17214         ins_2001.h, ins_classic.h, ins_csops.h, ins_goons.h, insults.h,
17215         interfaces.c, logging.c, options.h, parse.c, parse.lex, parse.yacc,
17216         pathnames.h.in, putenv.c, strdup.c, sudo.c, sudo.h, sudo_setenv.c,
17217         testsudoers.c, tgetpass.c, utime.c, visudo.c:
17218         updated version
17219         [dc1ab97312eb]
17220
17221         * parse.yacc:
17222         fix off by one error in push macro
17223         [bece59c8c3a9]
17224
17225 1998-02-17  Todd C. Miller  <Todd.Miller@courtesan.com>
17226
17227         * configure.in:
17228         removed bogus alloca hack
17229         [a68dd720462d]
17230
17231         * check.c:
17232         added AIX 4.x authenticate() support
17233         [12985eb448a0]
17234
17235         * parse.yacc:
17236         include alloca.h if using bison and not gcc and it exists. fixes an
17237         alloca problem on hpux 10.x
17238         [e3b5c4f26072]
17239
17240         * INSTALL:
17241         mention --with-authenticate
17242         [78a1c96820e7]
17243
17244         * configure.in:
17245         added AIX authenticate() support
17246         [c983193ec252]
17247
17248         * config.h.in:
17249         add HAVE_AUTHENTICATE
17250         [7b0e5f5db5d9]
17251
17252         * interfaces.c:
17253         dynamically size ifconf buffer
17254         [10afb0e9b2f9]
17255
17256         * configure.in:
17257         quote '[' and ']'
17258         [8fc38a4defad]
17259
17260         * Makefile.in, check.c, compat.h, config.h.in, dce_pwent.c,
17261         emul/utime.h, find_path.c, getspwuid.c, getwd.c, goodpath.c,
17262         ins_2001.h, ins_classic.h, ins_csops.h, ins_goons.h, insults.h,
17263         logging.c, options.h, parse.c, parse.lex, parse.yacc,
17264         pathnames.h.in, putenv.c, strdup.c, sudo.c, sudo.h, sudo_setenv.c,
17265         testsudoers.c, tgetpass.c, utime.c, visudo.c:
17266         updated version
17267         [5f66de71ec61]
17268
17269         * visudo.pod:
17270         add ERRORS section
17271         [3df3edb73cf6]
17272
17273 1998-02-16  Todd C. Miller  <Todd.Miller@courtesan.com>
17274
17275         * TROUBLESHOOTING:
17276         add busy stmp file explanation
17277         [6c555d469b6f]
17278
17279 1998-02-15  Todd C. Miller  <Todd.Miller@courtesan.com>
17280
17281         * configure.in:
17282         the name of the cached var that signals whether or not you are cross
17283         compiling changed. It is now ac_cv_prog_cc_cross
17284         [123911c0658c]
17285
17286 1998-02-11  Todd C. Miller  <Todd.Miller@courtesan.com>
17287
17288         * INSTALL:
17289         mention glibc 2.07 is fixed wrt lsearch()\.
17290         [ded758524582]
17291
17292 1998-02-07  Todd C. Miller  <Todd.Miller@courtesan.com>
17293
17294         * sample.sudoers, sudoers.pod:
17295         better example of su but not root su
17296         [b3199610be21]
17297
17298 1998-02-06  Todd C. Miller  <Todd.Miller@courtesan.com>
17299
17300         * Makefile.in, check.c, compat.h, config.h.in, dce_pwent.c,
17301         emul/utime.h, find_path.c, getspwuid.c, getwd.c, goodpath.c,
17302         ins_2001.h, ins_classic.h, ins_csops.h, ins_goons.h, insults.h,
17303         interfaces.c, logging.c, options.h, parse.c, parse.lex, parse.yacc,
17304         pathnames.h.in, putenv.c, strdup.c, sudo.c, sudo.h, sudo_setenv.c,
17305         testsudoers.c, tgetpass.c, utime.c, visudo.c:
17306         updated version
17307         [46922b84e86b]
17308
17309         * Makefile.in:
17310         correct regexp for updating version
17311         [8032728b2a8a]
17312
17313         * tgetpass.c:
17314         remove bogus flush of stderr spew prompt before turning off echo.
17315         Seems to fix a weird problem where if sudo complained about a bogus
17316         stamp file the user would sometimes not have a chance to enter a
17317         password
17318         [7aa1493cc141]
17319
17320         * check.c:
17321         fix bogus flush of stderr
17322         [6d047871c5e8]
17323
17324         * sudo.c:
17325         close fd's <=2 not <=3 and move that chunk of code up
17326         [553e4faac195]
17327
17328         * configure.in:
17329         support hpux1[0-9] not just hpux10
17330         [5a34a000ff8a]
17331
17332 1998-01-30  Todd C. Miller  <Todd.Miller@courtesan.com>
17333
17334         * parse.c:
17335         set sudoers_fp to nil after closing
17336         [221a8b4bbf34]
17337
17338 1998-01-24  Todd C. Miller  <Todd.Miller@courtesan.com>
17339
17340         * config.guess, config.sub:
17341         updated from autoconf 2.12
17342         [6fc86a0fc61b]
17343
17344         * configure.in:
17345         add *-*-svr4 rule
17346         [38f0427f7c9d]
17347
17348 1998-01-23  Todd C. Miller  <Todd.Miller@courtesan.com>
17349
17350         * tgetpass.c:
17351         fix select usage for high fd's (dynamically allocate readfds)
17352         [c2d1f76e0321]
17353
17354         * check.c:
17355         kill extra whitespace
17356         [d784b6c9c514]
17357
17358         * sudo.c:
17359         do an initgroups() before running a command, unless the target user
17360         is root.
17361         [4ca561287480]
17362
17363 1998-01-22  Todd C. Miller  <Todd.Miller@courtesan.com>
17364
17365         * TROUBLESHOOTING:
17366         tell people to use tabs, not spaces, in syslog.conf
17367         [8ae90a205134]
17368
17369 1998-01-21  Todd C. Miller  <Todd.Miller@courtesan.com>
17370
17371         * Makefile.in, config.h.in, dce_pwent.c, emul/utime.h, getwd.c,
17372         parse.lex, putenv.c, strdup.c, testsudoers.c, utime.c:
17373         updated version
17374         [4d855ff5de26]
17375
17376         * check.c, find_path.c, getspwuid.c, goodpath.c, interfaces.c,
17377         logging.c, parse.c, sudo.c, sudo_setenv.c, tgetpass.c, visudo.c:
17378         updated version
17379         [8e007e178b33]
17380
17381         * compat.h, ins_2001.h, ins_classic.h, ins_csops.h, ins_goons.h,
17382         insults.h, options.h, parse.yacc, pathnames.h.in, sudo.h:
17383         updated version
17384         [9ddea5c8814d]
17385
17386         * Makefile.in:
17387         more tweaks to update_version
17388         [047698752855]
17389
17390         * Makefile.in:
17391         fixed up update_version rule
17392         [47b6fa34b77f]
17393
17394         * configure.in:
17395         ++version
17396         [c1ca664e30b7]
17397
17398         * Makefile.in:
17399         removed supe of check.c
17400         [8f340a05296a]
17401
17402         * INSTALL:
17403         ++version I missed
17404         [a298e6c17491]
17405
17406         * RUNSON:
17407         updated
17408         [a14f6057bc15]
17409
17410         * BUGS, INSTALL, Makefile.in, README, check.c, compat.h, config.h.in,
17411         dce_pwent.c, emul/utime.h, find_path.c, getspwuid.c, getwd.c,
17412         goodpath.c, ins_2001.h, ins_classic.h, ins_csops.h, ins_goons.h,
17413         insults.h, interfaces.c, logging.c, options.h, parse.c, parse.lex,
17414         parse.yacc, pathnames.h.in, putenv.c, strdup.c, sudo.c, sudo.h,
17415         sudo_setenv.c, testsudoers.c, tgetpass.c, utime.c, version.h,
17416         visudo.c:
17417         updated version
17418         [02231b1a3ab3]
17419
17420         * CHANGES:
17421         updated for 1.5.5
17422         [634e5fcaf40b]
17423
17424         * Makefile.in:
17425         add rules to update version stuff in files so I don't need to do it
17426         by hand
17427         [3620ad60485a]
17428
17429         * sudo.h:
17430         sudoers_fp is now extern
17431         [88c6e9b9ea84]
17432
17433         * sudo.c:
17434         in check_sudoers, cache the sudoers file handle in sudoers_fp so we
17435         don't have to open it again in the parse. This may help with weird
17436         solaris problems where EAGAIN sometime occurrs.
17437         [d3c26451ed1d]
17438
17439         * parse.c:
17440         sudoers file open is now done only in check_sudoers() so we just do
17441         a rewind() instead of an open. May help people on solaris who were
17442         getting EAGAIN.
17443         [c8b8c7722fa5]
17444
17445 1998-01-16  Todd C. Miller  <Todd.Miller@courtesan.com>
17446
17447         * INSTALL:
17448         mention that newer glibc is fixed
17449         [20f06f5d3ef3]
17450
17451 1998-01-13  Todd C. Miller  <Todd.Miller@courtesan.com>
17452
17453         * sudo.c:
17454         newer irix uses _RLDN32_* envariables for 32-bit binaries so ignore
17455         _RLD* instead of _RLD_*
17456         [1e22c588d602]
17457
17458         * parse.c:
17459         typo
17460         [d0b7cb85f08a]
17461
17462         * parse.c:
17463         fix that bug for real
17464         [5a6eeca6d04b]
17465
17466         * INSTALL:
17467         document Linux's libc6 brokenness.
17468         [0246c1aa64ee]
17469
17470         * parse.yacc:
17471         -Wall
17472         [d0e452fb1e2d]
17473
17474         * RUNSON:
17475         updated
17476         [4949a1bbd0a9] [SUDO_1_5_4]
17477
17478         * TROUBLESHOOTING:
17479         remind people to HUP syslogd
17480         [590962faa4f0]
17481
17482         * Makefile.in:
17483         add -O flag to tar
17484         [622d02de339d]
17485
17486         * RUNSON:
17487         updated
17488         [a72930d6e615]
17489
17490         * TODO:
17491         updated
17492         [4a51bd458390]
17493
17494         * sudo.pod:
17495         remove author's email addr. people should mail sudo-bugs
17496         [9b6bbdb3a6d9]
17497
17498         * INSTALL:
17499         fix version
17500         [246274c6c8af]
17501
17502         * README, check.c, compat.h, config.h.in, configure.in, dce_pwent.c,
17503         find_path.c, getspwuid.c, getwd.c, goodpath.c, ins_2001.h,
17504         ins_classic.h, ins_csops.h, ins_goons.h, insults.h, interfaces.c,
17505         logging.c, options.h, parse.c, parse.lex, parse.yacc,
17506         pathnames.h.in, putenv.c, strdup.c, sudo.c, sudo.h, sudo_setenv.c,
17507         testsudoers.c, tgetpass.c, utime.c, version.h, visudo.c:
17508         ++version
17509         [f532ff4ee766]
17510
17511         * RUNSON:
17512         updated
17513         [62d5c71358b5]
17514
17515         * INSTALL, Makefile.in:
17516         ++version
17517         [1a7c7628edfc]
17518
17519         * CHANGES:
17520         updated fort 1.5.4
17521         [7e4873508c99]
17522
17523         * check.c:
17524         exit(1) if user enters no passwd
17525         [f382c0e35e4e]
17526
17527         * BUGS:
17528         ++version
17529         [fab6a867ab67]
17530
17531         * parse.c:
17532         commands can start with ./* not just /* -- fixes a serious security
17533         hole.
17534         [244d2fe35ee3]
17535
17536 1997-12-21  Todd C. Miller  <Todd.Miller@courtesan.com>
17537
17538         * sudo.c:
17539         Don't set the tty variable to NULL when we lack a tty, leave it as
17540         "unknown".
17541         [193b26daba03]
17542
17543 1997-11-23  Todd C. Miller  <Todd.Miller@courtesan.com>
17544
17545         * sample.sudoers:
17546         fix usage of (username) in conjunction with , and !
17547         [7ae68607f68f]
17548
17549         * visudo.c:
17550         catch the case where the user is not in the passwd file
17551         [31650258deb0]
17552
17553         * tgetpass.c:
17554         use fileno(input) + 1 instead of getdtablesize() as the nfds arg to
17555         select(2)
17556         [60ab2d9a9ee8]
17557
17558         * sudo.c:
17559         define tty global to an initial value to avoid dumping core in
17560         logging functions when passwd file is unavailable.
17561         [77056c7bc908]
17562
17563         * sudo.c:
17564         do the set_perms(PERM_USER, sudo_mode) after we have gotten the
17565         passwd entry
17566         [1fdb8e579a5a]
17567
17568         * sudo.pod:
17569         talk about problem of ALL
17570         [1cd1905c9f6f]
17571
17572 1997-10-10  Todd C. Miller  <Todd.Miller@courtesan.com>
17573
17574         * README:
17575         new web location
17576         [d24dc26f6da5]
17577
17578         * INSTALL:
17579         fdesc bug is fixed in Open/Net BSD
17580         [7d4d81b08ac3]
17581
17582         * HISTORY:
17583         updates from Nieusma
17584         [3a43769a1b78]
17585
17586 1997-10-09  Todd C. Miller  <Todd.Miller@courtesan.com>
17587
17588         * dce_pwent.c:
17589         move compat.h after the system includes
17590         [5ea43a5968ac]
17591
17592 1997-08-06  Todd C. Miller  <Todd.Miller@courtesan.com>
17593
17594         * logging.c:
17595         save errno from being clobbered by wait(). From Theo
17596         [f2d1c48cd592]
17597
17598 1997-05-21  Todd C. Miller  <Todd.Miller@courtesan.com>
17599
17600         * compat.h:
17601         fix an occurence of setresuid -> setreuid (typo)
17602         [394de35c9b1c]
17603
17604 1997-03-19  Todd C. Miller  <Todd.Miller@courtesan.com>
17605
17606         * install-sh:
17607         check for path to strip
17608         [2b7ef824bd55]
17609
17610 1997-01-16  Todd C. Miller  <Todd.Miller@courtesan.com>
17611
17612         * logging.c:
17613         deal with maxfilelen < 0 case
17614         [f0af095178d7]
17615
17616         * OPTIONS:
17617         fixed descriptin
17618         [629f60bd4b5f]
17619
17620 1996-12-12  Todd C. Miller  <Todd.Miller@courtesan.com>
17621
17622         * sudo.c:
17623         correct error message if mode/owner wrong and not statable by owner
17624         but is statable by root.
17625         [cb631ce2e85e]
17626
17627 1996-11-23  Todd C. Miller  <Todd.Miller@courtesan.com>
17628
17629         * config.guess, config.sub:
17630         autoconf 2.11
17631         [f3cbe59e0756]
17632
17633 1996-11-16  Todd C. Miller  <Todd.Miller@courtesan.com>
17634
17635         * CHANGES, RUNSON, TODO:
17636         sudo 1.5.3.
17637         [2be3229b8626]
17638
17639 1996-11-14  Todd C. Miller  <Todd.Miller@courtesan.com>
17640
17641         * parse.yacc, sudo.h:
17642         command_alias -> generic_alias
17643         [c404ca8c510d] [SUDO_1_5_3]
17644
17645         * sample.sudoers:
17646         added Runas_Alias example and fixed syntax errors
17647         [c304053f4a8a]
17648
17649         * OPTIONS, options.h:
17650         updated MAILSUBJECT
17651         [18d1573fcd2a]
17652
17653         * logging.c:
17654         added %h expansion
17655         [a4bff9b284fd]
17656
17657         * INSTALL, Makefile.in, README, check.c, compat.h, config.h.in,
17658         configure.in, dce_pwent.c, find_path.c, getspwuid.c, getwd.c,
17659         goodpath.c, ins_2001.h, ins_classic.h, ins_csops.h, ins_goons.h,
17660         insults.h, interfaces.c, logging.c, options.h, parse.c, parse.lex,
17661         parse.yacc, pathnames.h.in, putenv.c, strdup.c, sudo.c, sudo.h,
17662         sudo_setenv.c, testsudoers.c, tgetpass.c, utime.c, version.h,
17663         visudo.c:
17664         ++version
17665         [211ff20f956f]
17666
17667         * BUGS, emul/utime.h:
17668         ++version
17669         [cde5376579e3]
17670
17671         * sudoers.pod:
17672         document Runas_Alias
17673         [b1a58f28fb2c]
17674
17675         * visudo.pod:
17676         q (uid) -> Q
17677         [d256649a0e6b]
17678
17679         * visudo.c:
17680         buffer oflow checking q (uit) -> Q if yyparse() fails drop into
17681         whatnow
17682         [1cb183d15626]
17683
17684         * parse.yacc:
17685         add size params to sprintf
17686         [9228f698921f]
17687
17688         * parse.lex:
17689         allow trailing space after '\\' but before '\n'
17690         [f51dbbf69fdf]
17691
17692         * find_path.c:
17693         off by one error in path size check
17694         [a6d75ccd7632]
17695
17696         * check.c:
17697         sprintf paranoia
17698         [3ffb12d198dd]
17699
17700 1996-11-12  Todd C. Miller  <Todd.Miller@courtesan.com>
17701
17702         * parse.yacc:
17703         fixed more_aliases
17704         [aab12f2a50af]
17705
17706         * visudo.c:
17707         now warns if killed by signal ./
17708         [310c186a0fd7]
17709
17710 1996-11-11  Todd C. Miller  <Todd.Miller@courtesan.com>
17711
17712         * parse.yacc:
17713         fix Runas_Alias stuff Alias's in runas list now get expanded (but it
17714         is gross)
17715         [45590b83120f]
17716
17717         * sudo.c:
17718         Can now deal with SUDOERS_UID == 0 and SUDOERS_MODE == 0400
17719         [d53e01c14c58]
17720
17721         * parse.yacc:
17722         add Runas_Alias support change FOO to FOO_ALIAS (ie: USER_ALIAS)
17723         [7a4a040aae2d]
17724
17725         * parse.lex:
17726         Add Runas_Alias and simplify a rule.
17727         [6f794a769a37]
17728
17729         * parse.yacc:
17730         always store User_Alias's since they can be used inside of a runas
17731         list. Sigh. Really need a Runas_Alias instead.
17732         [3bab058a873e]
17733
17734 1996-10-30  Todd C. Miller  <Todd.Miller@courtesan.com>
17735
17736         * visudo.c:
17737         deal with case where there is no sudoers file
17738         [fa38b3bb244d]
17739
17740 1996-10-12  Todd C. Miller  <Todd.Miller@courtesan.com>
17741
17742         * TROUBLESHOOTING:
17743         added one
17744         [e61346d06725]
17745
17746 1996-10-11  Todd C. Miller  <Todd.Miller@courtesan.com>
17747
17748         * HISTORY, testsudoers.c:
17749         developement -> development
17750         [4df55e293941]
17751
17752         * INSTALL:
17753         added a note
17754         [3845fb83dbc0]
17755
17756         * RUNSON:
17757         for 1.5.2
17758         [5489b7298942]
17759
17760         * CHANGES:
17761         updated
17762         [0741834929e6]
17763
17764 1996-10-10  Todd C. Miller  <Todd.Miller@courtesan.com>
17765
17766         * PORTING:
17767         removed seteuid() notes
17768         [1010a60f281d] [SUDO_1_5_2]
17769
17770 1996-10-09  Todd C. Miller  <Todd.Miller@courtesan.com>
17771
17772         * compat.h:
17773         better seteuid() emulatino
17774         [e807623b662c]
17775
17776         * configure.in:
17777         added check for seteuid
17778         [8cf9fabc6f4f]
17779
17780         * config.h.in:
17781         added HAVE_SETEUID
17782         [596db46aa828]
17783
17784 1996-10-08  Todd C. Miller  <Todd.Miller@courtesan.com>
17785
17786         * configure.in:
17787         first stab at sequent support
17788         [b85a7bfcac76]
17789
17790         * config.h.in:
17791         added HAVE_SYS_SELECT_H
17792         [93ecdd042463]
17793
17794         * compat.h:
17795         sequent -> _SEQUENT_
17796         [63a38b6da98c]
17797
17798         * compat.h:
17799         added seteuid() macro for DYNIX
17800         [695bd63c5ea6]
17801
17802         * tgetpass.c:
17803         _AIX -> HAVE_SYS_SELECT_H
17804         [b31221211bc2]
17805
17806 1996-10-07  Todd C. Miller  <Todd.Miller@courtesan.com>
17807
17808         * BUGS, INSTALL, Makefile.in, OPTIONS, README, config.h.in, logging.c,
17809         parse.c, parse.lex, parse.yacc, putenv.c, strdup.c, sudo_setenv.c,
17810         testsudoers.c, tgetpass.c, utime.c, visudo.c:
17811         ++version
17812         [8052992fd453]
17813
17814         * check.c, compat.h, dce_pwent.c, emul/utime.h, find_path.c,
17815         getspwuid.c, getwd.c, goodpath.c, ins_2001.h, ins_classic.h,
17816         ins_csops.h, ins_goons.h, insults.h, interfaces.c, options.h,
17817         pathnames.h.in, version.h:
17818         ++version
17819         [f7ad15e1598a]
17820
17821         * sudo.pod:
17822         added -H and SUDO_PS1
17823         [bb965241e30c]
17824
17825         * configure.in:
17826         use SUDO_FUNC_FNMATCH
17827         [6a8350d85fb2]
17828
17829         * aclocal.m4:
17830         added SUDO_FUNC_FNMATCH
17831         [45b32c91c4ba]
17832
17833         * sudo.c:
17834         added -H flag
17835         [11ebc6872fd6]
17836
17837         * sudo.h:
17838         added MODE_RESET_HOME /
17839         [67a7f8bcbbd6]
17840
17841 1996-10-05  Todd C. Miller  <Todd.Miller@courtesan.com>
17842
17843         * INSTALL:
17844         mention OPIE
17845         [5723515d5bbd]
17846
17847         * options.h:
17848         SKEY -> OTP
17849         [c1d268130bc4]
17850
17851         * configure.in:
17852         added opie support
17853         [123872b41b20]
17854
17855         * compat.h, config.h.in:
17856         added HAVE_OPIE
17857         [528c71afc1e5]
17858
17859         * check.c:
17860         added HAVE_OPIE and changed to *_OTP_*
17861         [4c62f5db872a]
17862
17863         * OPTIONS:
17864         SKEY -> OTP
17865         [bd858e5e9652]
17866
17867 1996-10-04  Todd C. Miller  <Todd.Miller@courtesan.com>
17868
17869         * check.c:
17870         moved fclose() in skey stuff.
17871         [11f7dc8431a6]
17872
17873 1996-10-03  Todd C. Miller  <Todd.Miller@courtesan.com>
17874
17875         * putenv.c:
17876         index -> strchr remove unnecesary stuff
17877         [af2d05238062]
17878
17879         * check.c:
17880         now call skeychallenge() to get challenge instead of making one up
17881         ourselves. this way, we get extra goodies in the prompt.
17882         [49b770d98d3a]
17883
17884 1996-09-10  Todd C. Miller  <Todd.Miller@courtesan.com>
17885
17886         * CHANGES:
17887         added one
17888         [3f5149357e2a] [SUDO_1_5_1]
17889
17890         * parse.lex:
17891         allow logins to start with a number (YUCK!)
17892         [7ed7ef324741]
17893
17894 1996-09-08  Todd C. Miller  <Todd.Miller@courtesan.com>
17895
17896         * TROUBLESHOOTING:
17897         added soalris 2.5 vs 2.4 note
17898         [16160a251aae]
17899
17900         * configure.in:
17901         DUNIX doesn't need -lnsl
17902         [be924cc322c3]
17903
17904         * CHANGES:
17905         *** empty log message ***
17906         [1b2937521981]
17907
17908         * check.c, compat.h, config.h.in, dce_pwent.c, find_path.c,
17909         getspwuid.c, getwd.c, goodpath.c, ins_2001.h, ins_classic.h,
17910         ins_csops.h, ins_goons.h, insults.h, interfaces.c, logging.c,
17911         options.h, parse.c, parse.lex, parse.yacc, pathnames.h.in, putenv.c,
17912         strdup.c, sudo.c, sudo.h, sudo_setenv.c, testsudoers.c, tgetpass.c,
17913         utime.c, version.h, visudo.c:
17914         courtesan
17915         [5f203589bbfe]
17916
17917         * PORTING, README, RUNSON:
17918         courtesan
17919         [d72517f4937e]
17920
17921         * INSTALL, Makefile.in, TROUBLESHOOTING:
17922         courtesan
17923         [5c007e3c7a71]
17924
17925         * visudo.pod:
17926         *** empty log message ***
17927         [37ebe85bd4e1]
17928
17929         * sudo.pod, visudo.pod:
17930         courtesan
17931         [37f02e2130ea]
17932
17933 1996-09-07  Todd C. Miller  <Todd.Miller@courtesan.com>
17934
17935         * HISTORY:
17936         added courtesan ./
17937         [b01435226276]
17938
17939 1996-09-06  Todd C. Miller  <Todd.Miller@courtesan.com>
17940
17941         * sudo.c:
17942         added $SUDO_PROMPT support
17943         [cb1fa72c093d]
17944
17945 1996-09-04  Todd C. Miller  <Todd.Miller@courtesan.com>
17946
17947         * check.c:
17948         print long skey challemged to stderr, not stdout
17949         [750fc775b3b2]
17950
17951 1996-09-01  Todd C. Miller  <Todd.Miller@courtesan.com>
17952
17953         * CHANGES:
17954         updated for 1.5.1
17955         [9b615f393057]
17956
17957         * emul/utime.h:
17958         ++version
17959         [a94de18deafb]
17960
17961 1996-08-31  Todd C. Miller  <Todd.Miller@courtesan.com>
17962
17963         * RUNSON:
17964         updated for 1.5.1
17965         [4092f20ab634]
17966
17967 1996-08-30  Todd C. Miller  <Todd.Miller@courtesan.com>
17968
17969         * check.c:
17970         use shost, not host for tgetpass
17971         [6061c49ff9be]
17972
17973         * sudo.pod:
17974         documented %u and %h
17975         [6d2922d29897]
17976
17977         * OPTIONS:
17978         documented %u and %h
17979         [1a71da13a864]
17980
17981         * configure.in:
17982         fixed typo
17983         [1230dec2b062]
17984
17985         * INSTALL, Makefile.in, README, check.c, compat.h, config.h.in,
17986         dce_pwent.c, find_path.c, getspwuid.c, getwd.c, goodpath.c,
17987         ins_2001.h, ins_classic.h, ins_csops.h, ins_goons.h, insults.h,
17988         interfaces.c, logging.c, options.h, parse.c, parse.lex, parse.yacc,
17989         pathnames.h.in, putenv.c, strdup.c, sudo.c, sudo.h, sudo_setenv.c,
17990         testsudoers.c, tgetpass.c, utime.c, version.h, visudo.c:
17991         ++version
17992         [65ce8eabf77a]
17993
17994         * BUGS:
17995         ++version
17996         [afecab53aab7]
17997
17998 1996-08-29  Todd C. Miller  <Todd.Miller@courtesan.com>
17999
18000         * Makefile.in, configure.in, version.h:
18001         ++version
18002         [fb3ff940d672]
18003
18004         * sudo.h:
18005         new tgetpass() params
18006         [9eccc5b0f8ae]
18007
18008         * check.c:
18009         pass use and host to tgetpass
18010         [c56d9d13c401]
18011
18012         * tgetpass.c:
18013         added %u and %h escapes
18014         [04ae775d3e5d]
18015
18016         * OPTIONS, check.c, options.h:
18017         added NO_MESSAGE
18018         [3927dad19057]
18019
18020         * configure.in:
18021         added cray (unicos) support
18022         [1122210c5fb1]
18023
18024 1996-08-27  Todd C. Miller  <Todd.Miller@courtesan.com>
18025
18026         * OPTIONS, options.h, sudo.c:
18027         added SHELL_SETS_HOME
18028         [0b26909b0929]
18029
18030 1996-08-25  Todd C. Miller  <Todd.Miller@courtesan.com>
18031
18032         * INSTALL:
18033         added note about "make install"
18034         [7e56ea76d4b4]
18035
18036         * parse.yacc:
18037         changed length/size params from int to size_t
18038         [5654e5ceb1b3]
18039
18040         * OPTIONS:
18041         now get CSOPS insults as well by default
18042         [297323d0179a]
18043
18044         * insults.h:
18045         use csops insults too by default
18046         [07fafc136169]
18047
18048         * INSTALL, Makefile.in, README, config.h.in, configure.in, version.h:
18049         version = 1.5
18050         [4b8772b11e3b]
18051
18052         * sudo.c:
18053         added runas_homedir
18054         [b0e0d4417a15]
18055
18056         * TODO:
18057         updated for 1.5
18058         [66259df825d5]
18059
18060         * RUNSON:
18061         updated for 1.5
18062         [e08bc9ebfe95]
18063
18064         * CHANGES:
18065         1.5 release
18066         [8c16942fea41]
18067
18068         * INSTALL:
18069         added "upgrading" notes
18070         [210d968964ff]
18071
18072 1996-08-22  Todd C. Miller  <Todd.Miller@courtesan.com>
18073
18074         * visudo.c:
18075         now do chmod and chown after edit of temp file and before rename
18076         [de174e34faa7] [SUDO_1_5_0]
18077
18078 1996-08-18  Todd C. Miller  <Todd.Miller@courtesan.com>
18079
18080         * Makefile.in:
18081         ++version added INSTALL.configure
18082         [c9e9214f52ae]
18083
18084         * configure.in, version.h:
18085         ++version
18086         [5985abed3eb2]
18087
18088         * TROUBLESHOOTING:
18089         *** empty log message ***
18090         [d65c540ec52e]
18091
18092         * parse.yacc:
18093         added missing cast
18094         [e7247319a7d5]
18095
18096         * sudo.c:
18097         sets $HOME to pw_dir of runas user
18098         [d3f7f4d05752]
18099
18100         * sudo.pod:
18101         document $HOME change
18102         [854454d458c4]
18103
18104 1996-08-17  Todd C. Miller  <Todd.Miller@courtesan.com>
18105
18106         * sudo.pod:
18107         fixed up some wording
18108         [b0c8582f2c97]
18109
18110         * check.c, dce_pwent.c, find_path.c, getspwuid.c, getwd.c, goodpath.c,
18111         interfaces.c, logging.c, parse.c, parse.lex, parse.yacc, putenv.c,
18112         strdup.c, sudo.c, sudo_setenv.c, testsudoers.c, tgetpass.c, utime.c,
18113         visudo.c:
18114         ++version
18115         [748be723fd8b]
18116
18117         * compat.h, ins_2001.h, ins_classic.h, ins_csops.h, ins_goons.h,
18118         insults.h, options.h, pathnames.h.in, sudo.h:
18119         ++version
18120         [acdf8b1b2a1b]
18121
18122         * emul/utime.h:
18123         ++version
18124         [b3f35298ab8d]
18125
18126         * sudo.h:
18127         name nad type changes
18128         [db24ab3da141]
18129
18130         * testsudoers.c:
18131         now works with new sudo
18132         [379346c42cc2]
18133
18134         * parse.yacc:
18135         fixed some XXX
18136         [f5fe4c990052]
18137
18138         * parse.yacc:
18139         some variable name changes + comment headers for functions.
18140         [3dc3bd9aa73d]
18141
18142         * tgetpass.c:
18143         added extra paren's to make compilers happy
18144         [9e4968a34d56]
18145
18146         * sudo.c:
18147         *** empty log message ***
18148         [70c924c1ed69]
18149
18150         * parse.c:
18151         now uses init_parser() if not in sudoers and tries "list" or
18152         "validate" scold but don't be nasty.
18153         [c0d8fb3f8c9e]
18154
18155         * TROUBLESHOOTING:
18156         now can use upper case login names
18157         [c772fffcefe5]
18158
18159         * visudo.c:
18160         now uses init_parser()
18161         [b9efae7243fd]
18162
18163         * INSTALL, README:
18164         updated
18165         [27dc8283fdc8]
18166
18167         * PORTING:
18168         added info about PASSWORD_TIMEOUT
18169         [980e15d892f8]
18170
18171         * INSTALL.configure:
18172         Initial revision
18173         [8292e89a08d3]
18174
18175         * BUGS:
18176         fixed a bug ,
18177         [c6e46f5624f9]
18178
18179         * parse.yacc:
18180         now dynamically allocates memory for the stacks -- no more
18181         overflows!
18182         [8615c35b6ad3]
18183
18184         * sudo.pod:
18185         -l now explands command aliases
18186         [39f45605935d]
18187
18188         * parse.yacc:
18189         hacks to expand command aliases for `sudo -l'
18190         [e4eb752608f9]
18191
18192         * sudo.c:
18193         remove $ENV and $BASH_ENV (dangerous in ksh, posix sh, and bash)
18194         [01327ca5084b]
18195
18196         * sudo.h:
18197         added struct command_alias
18198         [dd2f32764082]
18199
18200         * sudo.pod:
18201         fixed a bug
18202         [e708ff08d2eb]
18203
18204         * lsearch.c:
18205         in compar() key should be first arg
18206         [fc14c3fa62ee]
18207
18208 1996-08-15  Todd C. Miller  <Todd.Miller@courtesan.com>
18209
18210         * BUGS:
18211         fixed some bugs
18212         [639dfe425bd5]
18213
18214         * parse.yacc:
18215         can now deal with upcase HOST and USER names
18216         [c6aa7bcfb00d]
18217
18218         * sudo.c:
18219         don't yell too loudly at non-sudoers if they do "sudo -l"
18220         [4ef146128d89]
18221
18222         * sudo.pod:
18223         fixed thinko
18224         [830f2f0f22e7]
18225
18226         * parse.c:
18227         fix comment
18228         [d20ce9e17ddc]
18229
18230 1996-08-09  Todd C. Miller  <Todd.Miller@courtesan.com>
18231
18232         * parse.c, parse.yacc:
18233         added support for new `sudo -l' stuff
18234         [7dceaef3c733]
18235
18236         * sudo.c:
18237         now uses list_matches()
18238         [293364821b61]
18239
18240         * sudo.h:
18241         added struct sudo_match
18242         [b2684179d179]
18243
18244         * configure.in:
18245         now more -lgnumalloc
18246         [4f8ae42617d8]
18247
18248 1996-08-01  Todd C. Miller  <Todd.Miller@courtesan.com>
18249
18250         * install-sh:
18251         added more paths for chown and whoami
18252         [6e685a19426c]
18253
18254 1996-07-31  Todd C. Miller  <Todd.Miller@courtesan.com>
18255
18256         * check.c:
18257         typo
18258         [3adfa01c04bc]
18259
18260 1996-07-30  Todd C. Miller  <Todd.Miller@courtesan.com>
18261
18262         * aclocal.m4:
18263         fixed DUNIX check for shadow pw
18264         [c25324bcd27b]
18265
18266         * tgetpass.c:
18267         now only turn off echo if it is already on. this fixes a race when
18268         you use sudo in a pipelin
18269         [28388c2de21c]
18270
18271         * INSTALL:
18272         updated
18273         [b45ac9366b7e]
18274
18275         * configure.in:
18276         changed "test -z $foo && do_this" to if; then construct
18277         [2183c4426bca]
18278
18279 1996-07-29  Todd C. Miller  <Todd.Miller@courtesan.com>
18280
18281         * configure.in:
18282         added missing defines of SHADOW_TYPE
18283         [be89ea68a7f3]
18284
18285 1996-07-26  Todd C. Miller  <Todd.Miller@courtesan.com>
18286
18287         * check.c:
18288         protect AUTH_CRYPT_OLDCRYPT and AUTH_CRYPT_C1CRYPT since they are
18289         only in dunix 4.x
18290         [1e7c1c677263]
18291
18292         * getspwuid.c:
18293         added AUTH_CRYPT_C1CRYPT support
18294         [88d6b0058b20]
18295
18296         * parse.c:
18297         no longer return VALIDATE_NOT_OK if there was a runas that didn't
18298         match. Now we can have runas stuff on more than one line.
18299         [52b68920d7b7]
18300
18301         * getspwuid.c, sudo.c, tgetpass.c:
18302         use SHADOW_TYPE instead of HAVE_C2_SECURITY
18303         [cf401dfcbc06]
18304
18305         * configure.in:
18306         got rid of HAVE_C2_SECURITY SHADOW_TYPE is always defined to
18307         something
18308         [c7a233c4dd93]
18309
18310         * config.h.in:
18311         removed HAVE_C2_SECURITY added SPW_BSD
18312         [8314405e9754]
18313
18314         * compat.h:
18315         use SHADOW_TYPE instead of HAVE_C2_SECURITY
18316         [6f94870df17f]
18317
18318         * check.c:
18319         SHADOW_TYPE is always defined so just against its value
18320         [72c69a55d02f]
18321
18322         * aclocal.m4:
18323         added SUDO_CHECK_SHADOW_DUNIX
18324         [ef025ae9d496]
18325
18326 1996-07-25  Todd C. Miller  <Todd.Miller@courtesan.com>
18327
18328         * sudoers.pod:
18329         * -> ?* in one example added another instance of (runas) and one of
18330         NOPASSWD:
18331         [d74fe1dcbe7d]
18332
18333 1996-07-24  Todd C. Miller  <Todd.Miller@courtesan.com>
18334
18335         * configure.in:
18336         added back check for config.cache from other host type
18337         [0ba87871f585]
18338
18339         * parse.lex:
18340         removed an instance of \"
18341         [1e008d3709f6]
18342
18343         * sample.sudoers:
18344         added an example
18345         [dbfcf68ee330]
18346
18347         * sudoers.pod:
18348         updated wrt new wildcard matching
18349         [193fa44a475b]
18350
18351         * configure.in:
18352         new check for shadow passwords if we don't know anything
18353         [67465df7dc9a]
18354
18355         * aclocal.m4:
18356         new SUDO_CHECK_SHADOW_GENERIC
18357         [3563b16a41b8]
18358
18359         * configure.in:
18360         added back check for -lsocket (oops)
18361         [a80882ee1cb6]
18362
18363         * configure.in:
18364         better (working) check for shadow passwd type if we know to use C2.
18365         [3cdd2a59a641]
18366
18367         * configure.in:
18368         now uses AC_CANONICAL_HOST to figure out os type
18369         [80db7fe6e704]
18370
18371         * Makefile.in:
18372         added config.{guess,sub}
18373         [c6be7e3ca384]
18374
18375         * aclocal.m4:
18376         removed unused stuff to figure out os type
18377         [c9a0f3b57123]
18378
18379         * config.sub:
18380         added openbsd
18381         [bfc6bfec3668]
18382
18383         * config.sub:
18384         Initial revision
18385         [e6e06ce0d17d]
18386
18387         * config.guess:
18388         Initial revision
18389         [99dd06f79199]
18390
18391         * testsudoers.c:
18392         don't call fnmatch() with FNM_PATHNAME flag unless it can only be a
18393         pathname. need to check against sudoers_args even if user_args is
18394         nil
18395         [66e6cf77f5d6]
18396
18397         * parse.c:
18398         don't call fnmatch() with FNM_PATHNAME flag unless it can only be a
18399         pathname need to check against sudoers_args even if user_args is nil
18400         [74374df17311]
18401
18402 1996-07-23  Todd C. Miller  <Todd.Miller@courtesan.com>
18403
18404         * check.c:
18405         added support for AUTH_CRYPT_OLDCRYPT w/ DUNIX C2
18406         [cbb00261c415]
18407
18408         * testsudoers.c:
18409         now takes command line args and uses cmnd_args
18410         [f0c2fd35a527]
18411
18412         * parse.lex:
18413         fill_args was adding an extra leading space
18414         [692fc999b2e8]
18415
18416 1996-07-22  Todd C. Miller  <Todd.Miller@courtesan.com>
18417
18418         * visudo.c:
18419         fixed dummy command_matches()
18420         [93d9543db6e2]
18421
18422         * parse.yacc:
18423         fixed prototype
18424         [7b0addfbd429]
18425
18426         * sudo.h:
18427         added cmnd_args
18428         [8f47c4ae65ef]
18429
18430         * parse.yacc:
18431         now uses flat args string
18432         [016e65877da3]
18433
18434         * parse.c, parse.lex:
18435         now uses flat arg string
18436         [5b5f2e3f4c09]
18437
18438         * visudo.c:
18439         added cmnd_args def
18440         [876867134775]
18441
18442         * sudo.c:
18443         now sets cmnd_args global
18444         [e6fee70cb59b]
18445
18446         * logging.c:
18447         cmnd_args is now exported from sudo.[ch]
18448         [7a9cd36e356f]
18449
18450 1996-07-21  Todd C. Miller  <Todd.Miller@courtesan.com>
18451
18452         * parse.yacc:
18453         can't rely on cmnd_matches as much as I thought -- added some $$
18454         stuff back in to prevent namespace pollution problems.
18455         [3c45fedb5af3]
18456
18457         * parse.yacc:
18458         Simplified parse rules wrt runas and NOPASSWD (more consistent).
18459         [e6d838c8a4c7]
18460
18461 1996-07-20  Todd C. Miller  <Todd.Miller@courtesan.com>
18462
18463         * parse.lex:
18464         NOPASSWD may now have blanks before the ':' '(' only starts a
18465         'runas' if in the initial state to avoid collision with command args
18466         [c5c01172f499]
18467
18468         * configure.in:
18469         added checks for specific shadow passwd schemes
18470         [b7e3d1f7b84f]
18471
18472         * aclocal.m4:
18473         added routines to check for specific shadow passwd types
18474         [e5e1d19960a6]
18475
18476 1996-07-18  Todd C. Miller  <Todd.Miller@courtesan.com>
18477
18478         * configure.in:
18479         added support for ncr boxen
18480         [bea9dc5aae7f]
18481
18482         * aclocal.m4:
18483         added support for detecting ncr boxen
18484         [8653a158a924]
18485
18486 1996-07-16  Todd C. Miller  <Todd.Miller@courtesan.com>
18487
18488         * configure.in:
18489         added sinix support
18490         [5de2b2173ee1]
18491
18492 1996-07-14  Todd C. Miller  <Todd.Miller@courtesan.com>
18493
18494         * TROUBLESHOOTING:
18495         added info about "config.cache from other other" error.
18496         [845b10198e0b]
18497
18498         * aclocal.m4:
18499         now makes sure you don't have a config.cache file from another OS
18500         [4fe32571c021]
18501
18502         * configure.in:
18503         now sets $LIBS when needed to configure links with libs when doing
18504         tests hpux10 now uses SPW_SECUREWARE for C2 added check for
18505         bigcrypt(3) if SPW_SECUREWARE
18506         [2df6b8ca538f]
18507
18508         * getspwuid.c:
18509         fixed typo
18510         [fe1cb1d792d6]
18511
18512         * tgetpass.c:
18513         now include stuff for SPW_SECUREWARE to get AUTH_MAX_PASSWD_LENGTH
18514         [f71138372c07]
18515
18516         * getspwuid.c:
18517         no more SPW_HPUX10
18518         [cfdeb18bc16b]
18519
18520         * config.h.in:
18521         no more SPW_HPUX10 added HAVE_BIGCRYPT
18522         [00d296479a61]
18523
18524         * compat.h:
18525         now uses AUTH_MAX_PASSWD_LENGTH if SPW_SECUREWARE
18526         [6c6d9e680417]
18527
18528         * check.c:
18529         SPW_SECUREWARE now uses bigcrypt
18530         [be71fc66690f]
18531
18532 1996-07-13  Todd C. Miller  <Todd.Miller@courtesan.com>
18533
18534         * sample.sudoers:
18535         fixed 2 syntax errors
18536         [45eee19ef4ac]
18537
18538         * sudoers:
18539         root may now run ALL as ALL
18540         [1b54c6b9b212]
18541
18542 1996-07-12  Todd C. Miller  <Todd.Miller@courtesan.com>
18543
18544         * interfaces.c:
18545         fixed a typo/thinko that broke BSD's with sa_len
18546         [603438360126]
18547
18548 1996-07-08  Todd C. Miller  <Todd.Miller@courtesan.com>
18549
18550         * check.c, configure.in:
18551         updated AFS support
18552         [e572eb8d177a]
18553
18554         * TROUBLESHOOTING:
18555         added entry about /usr/ucb/cc
18556         [025b353aa9d3]
18557
18558         * INSTALL:
18559         prep no longer holds gcc binaries
18560         [8b0942958049]
18561
18562         * INSTALL:
18563         updated AFS note
18564         [7af6efd5abe4]
18565
18566         * Makefile.in:
18567         added @AFS_LIBS@
18568         [97b6fe6ad7d6]
18569
18570         * compat.h:
18571         AFS allows long passwords
18572         [5fb17122c302]
18573
18574         * testsudoers.c:
18575         fixed -u user support
18576         [b1a0c1648639]
18577
18578         * parse.c:
18579         sudo -v now groks VALIDATE_OK_NOPASS
18580         [74fc03fffe7e]
18581
18582         * parse.yacc:
18583         fixed no_passwd vs. runas_matched
18584         [549a9b791a6a]
18585
18586         * TROUBLESHOOTING:
18587         took out stuff about NFS-mounting since it is no longer an issue
18588         [d95ab7fbbc61]
18589
18590         * INSTALL:
18591         added --with-libraries > --with-libpath --with-incpath
18592         [d5d15a7a0f4c]
18593
18594         * parse.yacc:
18595         was setting runas_matches to -1 in wrong place
18596         [db2b1deb8d33]
18597
18598         * check.c:
18599         removed usersec.h which is not present in new AFS versions
18600         [618b016dd17f]
18601
18602         * tgetpass.c:
18603         now deals with timeout <= 0
18604         [ba53a1257255]
18605
18606         * OPTIONS:
18607         updated
18608         [75093bd8fdca]
18609
18610         * configure.in:
18611         BSD/OS >= 2.0 now uses shlicc instead of just gcc
18612         [ff6dbf7825c2]
18613
18614         * sudo.c:
18615         fixed backwards compatibility with sudo 1.4 sudoers mode for root
18616         readable/writable filesystems
18617         [2694ed627221]
18618
18619         * Makefile.in:
18620         now gives INSTALL -c flag
18621         [63db055a2fd1]
18622
18623         * parse.yacc:
18624         slightly simpler initialization of no_passwd and runas_matches
18625         [463a1b5fa323]
18626
18627         * testsudoers.c:
18628         added -u username support
18629         [38b072fcd6b3]
18630
18631         * configure.in:
18632         improved --with-libraries support
18633         [047dbc5f0af2]
18634
18635 1996-07-07  Todd C. Miller  <Todd.Miller@courtesan.com>
18636
18637         * configure.in:
18638         added --with-incpath, --with-libpath, --with-libraries
18639         [20f20d6c718c]
18640
18641         * parse.yacc:
18642         now initializes some fields that weren't getting set to -1 pretty
18643         gross -- need a rewrite.
18644         [021c160390c6]
18645
18646 1996-06-26  Todd C. Miller  <Todd.Miller@courtesan.com>
18647
18648         * alloca.c:
18649         removed emacs'isms
18650         [9d4ec2efe057]
18651
18652         * configure.in:
18653         no longer add -lPW to *_LIBS since we include alloca.c
18654         [a626d1bbea80]
18655
18656         * config.h.in:
18657         added HAVE_ALLOCA_H
18658         [15491e2a6cff]
18659
18660         * Makefile.in:
18661         added alloca.c
18662         [0400f25e1fe4]
18663
18664         * alloca.c:
18665         Initial revision
18666         [06d033aa4882]
18667
18668         * configure.in:
18669         ++version
18670         [f52c0fb98f90]
18671
18672 1996-06-25  Todd C. Miller  <Todd.Miller@courtesan.com>
18673
18674         * sudo.c:
18675         now set uid to 1 instead of nobody for PERM_SUDOERS since nobody is
18676         not always set to a valid uid.
18677         [c2669f77704d]
18678
18679         * OPTIONS:
18680         fixed entry for SUDO_MODE
18681         [d7272f6035b8]
18682
18683         * sudo.c:
18684         Fixed NFS-mounted sudoers file under solaris both uid *and* gid were
18685         being set to -2. Now beat NFS to the punch and set uid to "nobody"
18686         ourselves, preserving group 0 to read sudoers.
18687         [b1fbc5dd1e34]
18688
18689         * parse.c:
18690         moved set_perms(PERM_ROOT) to be before yyparse()
18691         [7619d8080735]
18692
18693         * logging.c:
18694         fixed a typo
18695         [318acc48cde0]
18696
18697         * configure.in:
18698         no longer need AC_PROG_INSTALL
18699         [de01b1336dc8]
18700
18701         * Makefile.in:
18702         always use install-sh to avoid install(1)'s that use get{pw,gr}nam
18703         [ea2351986406]
18704
18705         * INSTALL:
18706         make clean -> make distclean
18707         [704a98e8ba10]
18708
18709 1996-06-20  Todd C. Miller  <Todd.Miller@courtesan.com>
18710
18711         * parse.yacc:
18712         removed some unnecsary if's
18713         [f00db6508132]
18714
18715         * Makefile.in, version.h:
18716         ++version
18717         [bdb6740b24c8]
18718
18719         * parse.c, testsudoers.c:
18720         now includes netgroup.h
18721         [93f5a06352bc]
18722
18723         * interfaces.c:
18724         removed cats of ioctl to int since they didn't shut up -Wall
18725         [83e9f912cd7a]
18726
18727         * interfaces.c:
18728         explicately cast ioctl() to int since it it not always declared
18729         [2ff9294e469e]
18730
18731         * sudo.h:
18732         added declarations for yyparse() and yylex()
18733         [6071321ab771]
18734
18735         * parse.yacc:
18736         fixed an occurence of '==' -> '='
18737         [2c46d2e11d57]
18738
18739         * config.h.in, configure.in:
18740         added check for netgroup.h
18741         [73403050f4e3]
18742
18743         * sudo.c:
18744         fixed 2 compiler warnings
18745         [680929b0bd97]
18746
18747         * sudo.c:
18748         SHELL_IF_NO_ARGS caused core dump since NewArg[cv] weren't being
18749         initialized
18750         [18707ecd07c2]
18751
18752 1996-06-19  Todd C. Miller  <Todd.Miller@courtesan.com>
18753
18754         * sudo.pod:
18755         fixed a typo
18756         [e4b5c12aa130]
18757
18758 1996-06-17  Todd C. Miller  <Todd.Miller@courtesan.com>
18759
18760         * parse.yacc:
18761         fixed a formatting thingie
18762         [c79327b6f19b]
18763
18764         * parse.c, parse.yacc:
18765         fixed -u support with multiple user lists on a line
18766         [e4d1066adca2]
18767
18768         * configure.in:
18769         unixware needs -lgen
18770         [b5bf9bca63cc]
18771
18772         * README:
18773         updated ftp location
18774         [b25a033f7921]
18775
18776         * sudoers.pod:
18777         add net_addr/netmask support
18778         [674e83516d1e]
18779
18780         * sample.sudoers:
18781         added net_addr/mask example
18782         [774878e89b28]
18783
18784         * parse.c, parse.lex:
18785         added support for net_addr/netmask
18786         [e33de27325d8]
18787
18788 1996-06-16  Todd C. Miller  <Todd.Miller@courtesan.com>
18789
18790         * sudoers.pod:
18791         ^ -> !
18792         [1a084950d6ef]
18793
18794 1996-06-15  Todd C. Miller  <Todd.Miller@courtesan.com>
18795
18796         * RUNSON:
18797         updated for 1.4.3
18798         [c82019025d09]
18799
18800         * CHANGES:
18801         udpated for 1.4.3
18802         [ceaa81adb8f0]
18803
18804         * BUGS, TODO, TROUBLESHOOTING:
18805         updated
18806         [ff94fae4b853]
18807
18808         * sample.sudoers:
18809         updated with examples of new stuff
18810         [99d0b4cb4c9c]
18811
18812         * INSTALL, README:
18813         ++version
18814         [b763b80fe836]
18815
18816         * sudoers.pod:
18817         updated wrt -u and NOPASSWD
18818         [0b5b722ea0f4]
18819
18820         * sudo.pod:
18821         updated wrt -u and CAVEATS
18822         [71d5d53b5d18]
18823
18824 1996-06-09  Todd C. Miller  <Todd.Miller@courtesan.com>
18825
18826         * sudo.c:
18827         fixed usage()
18828         [114c7d09b550]
18829
18830         * parse.lex:
18831         now use :foo: character classes (makes no diff for generated lexer)
18832         [7b0aeb737a02]
18833
18834 1996-06-07  Todd C. Miller  <Todd.Miller@courtesan.com>
18835
18836         * check.c:
18837         fixed LONG_SKEY_PROMPT stuff
18838         [0efe78b4bdda]
18839
18840 1996-06-06  Todd C. Miller  <Todd.Miller@courtesan.com>
18841
18842         * visudo.c:
18843         fixed a comment
18844         [3d289017104b]
18845
18846         * lsearch.c:
18847         make more like NetBSD one -- now compiles w/o warnings
18848         [932206296a54]
18849
18850         * emul/search.h:
18851         fixed decls of lsearch()
18852         [c58cf4584c45]
18853
18854         * config.h.in, configure.in, getspwuid.c:
18855         added SPW_HPUX10
18856         [d74e5eaa5f17]
18857
18858         * check.c:
18859         hpux 10 uses bigcrypt() if C2
18860         [359eb63f4021]
18861
18862 1996-06-04  Todd C. Miller  <Todd.Miller@courtesan.com>
18863
18864         * parse.c:
18865         now always uses fnmatch to match args
18866         [a9d91f35256a]
18867
18868         * tgetpass.c:
18869         back to using stdio instead of raw i/o since that caused some
18870         problems
18871         [e7ce2bc92974]
18872
18873 1996-05-29  Todd C. Miller  <Todd.Miller@courtesan.com>
18874
18875         * sudo.c:
18876         now give usage warning if use -l,-v,-k with args
18877         [6b48180c4fea]
18878
18879 1996-05-28  Todd C. Miller  <Todd.Miller@courtesan.com>
18880
18881         * sudo.c:
18882         NewArgc is now set to 1 for -l, -v, -k
18883         [7497cb1416a8]
18884
18885         * sudo.c:
18886         now sets sudoers to correct group if mode is 0400
18887         [484c43d99718]
18888
18889         * install-sh:
18890         updated to version used by inn and bind
18891         [28683ad8725a]
18892
18893         * configure.in:
18894         now uses -lgnumalloc if it exists
18895         [3651ca4415a2]
18896
18897         * Makefile.in:
18898         "make install" now sets uid/gid and mode on sudoers if it exists
18899         [1f5216191ae9]
18900
18901         * sudo.c:
18902         rmeoved debugging statements
18903         [aeda278e2c26]
18904
18905         * parse.yacc:
18906         added a missing free()
18907         [592c9482a159]
18908
18909         * sudo.c:
18910         now uses user_gid instead of getegid (which was wrong anyway) to set
18911         SUDO_GID Now sets command line args in SUDO_COMMAND envariabled
18912         (logging.c depends on args being in the environment)
18913         [9f5328a3b942]
18914
18915         * logging.c:
18916         now uses SUDO_COMMAND envariable to get command args rather than
18917         building it up again.
18918         [7f8edc5bccb7]
18919
18920         * parse.c:
18921         now uses user_gid
18922         [4b9303ae45fe]
18923
18924         * sudo.c:
18925         fixed off by one error in allocation NewArgv
18926         [921ea1a4e7c6]
18927
18928         * parse.c:
18929         in sudoers, 'command ""' now means command with no args
18930         [a5273648ace2]
18931
18932         * configure.in:
18933         added check for fnmatch(3) and fnmatch.h
18934         [258916a7866f]
18935
18936         * config.h.in:
18937         added HAVE_FNMATCH
18938         [b9860d361e93]
18939
18940         * Makefile.in:
18941         replaced wildcat.* with fnmatch.*
18942         [03ad9ee21a1c]
18943
18944         * testsudoers.c:
18945         now uses fnmatch()
18946         [5a7f7de987a9]
18947
18948 1996-05-27  Todd C. Miller  <Todd.Miller@courtesan.com>
18949
18950         * parse.c:
18951         now uses fnmatch() instead of wildmat a trailing star (*) by itself
18952         now matches multiple args added support for wildcards in the
18953         pathname in sudoers
18954         [1f7fb950b868]
18955
18956 1996-05-25  Todd C. Miller  <Todd.Miller@courtesan.com>
18957
18958         * fnmatch.c:
18959         now includes compat.h and config.h
18960         [090206b95cf8]
18961
18962         * config.h.in:
18963         added HAVE_FNMATCH_H
18964         [90eb42150173]
18965
18966         * configure.in:
18967         now checks for alloca() (if needed by bison or dce) and links with
18968         -lPW if it contains alloca() and libv and compiler do not.
18969         [cfa2b3cef49a]
18970
18971         * emul/fnmatch.h, fnmatch.3, fnmatch.c:
18972         Initial revision
18973         [20b1f762a32a]
18974
18975 1996-04-29  Todd C. Miller  <Todd.Miller@courtesan.com>
18976
18977         * sudo.c:
18978         now fixes mode on sudoers if set to 0400 to aid in upgrade
18979         [d4bdfd521820]
18980
18981 1996-04-28  Todd C. Miller  <Todd.Miller@courtesan.com>
18982
18983         * Makefile.in:
18984         fixed pod2man usage
18985         [5adf2ec77b27]
18986
18987         * Makefile.in, configure.in, version.h:
18988         ++version
18989         [b4029de876d0]
18990
18991         * testsudoers.c, visudo.c:
18992         runas_user is now initialized to "root"
18993         [8537d97bff39]
18994
18995         * sudo.h:
18996         removed PERM_FULL_ROOT
18997         [241f8bbf647f]
18998
18999         * sudo.c:
19000         runas_user defaults to "root" so no more need to PERM_RUNAS
19001         [fc0c0dfc72ba]
19002
19003         * parse.c:
19004         will now only running commands as root if there was no runas list
19005         (or if root is in the runas list)
19006         [40c587666c81]
19007
19008         * logging.c:
19009         now logs "USER=%s"
19010         [b733504c87fd]
19011
19012         * parse.yacc:
19013         runas_matches is now set to false if we get a negative match
19014         [5495b150b300]
19015
19016         * parse.lex:
19017         make #uid work + some minor cleanup
19018         [07851bbce03a]
19019
19020         * sample.sudoers:
19021         added support for NOPASSWD and "runas" from garp@opustel.com /
19022         [7a9c67b51fa5]
19023
19024         * visudo.c:
19025         added support for "runas" from garp@opustel.com replaced
19026         SUDOERS_OWNER with SUDOERS_UID, SUDOERS_GID added support for
19027         SUDOERS_MODE
19028         [e714209b9885]
19029
19030         * testsudoers.c:
19031         added support for "runas" from garp@opustel.com
19032         [b837f856da10]
19033
19034         * sudo.h:
19035         added support for NO_PASSWD and runas from garp@opustel.com replaced
19036         SUDOERS_OWNER with SUDOERS_UID and SUDOERS_GID and added support
19037         fro SUDOERS_MODE
19038         [cea6f26679b7]
19039
19040         * sudo.c:
19041         added support for NO_PASSWD and runas from garp@opustel.com replaced
19042         SUDOERS_OWNER with SUDOERS_UID and SUDOERS_GID and added support fro
19043         SUDOERS_MODE
19044         [61b5434237c5]
19045
19046         * parse.yacc:
19047         added support for NO_PASSWD and runas from garp@opustel.com
19048         [72ebd3056f22]
19049
19050         * parse.c, parse.lex:
19051         added support for NO_PASSWD and runas from garp@opustel.com
19052         [fef6dbdd114d]
19053
19054         * logging.c:
19055         added support for SUDOERS_WRONG_MODE and "runas"
19056         [e794efc2b443]
19057
19058         * configure.in:
19059         added --with-CC only link with -lshadow on linux (with shadow pw) if
19060         libc lacks getspnam()
19061         [3ecf4ae21002]
19062
19063         * OPTIONS, options.h:
19064         removed NO_PASSWD since it is not possible to do this in the sudoers
19065         file itself. Replaced SUDOERS_OWNER with SUDOERS_UID and
19066         SUDOERS_GID. Added SUDOERS_MODE.
19067         [2eaa4891ef48]
19068
19069         * Makefile.in:
19070         now uses SUDOERS_UID and SUDOERS_GID
19071         [8d615f0fdb2a]
19072
19073 1996-04-27  Todd C. Miller  <Todd.Miller@courtesan.com>
19074
19075         * INSTALL:
19076         added --with-CC
19077         [a1b8286a81b8]
19078
19079 1996-04-06  Todd C. Miller  <Todd.Miller@courtesan.com>
19080
19081         * parse.lex:
19082         added double quote support
19083         [a5e4fc7e3a2b]
19084
19085         * sudoers.pod:
19086         documented double quoting
19087         [c6ea47969a44]
19088
19089 1996-04-05  Todd C. Miller  <Todd.Miller@courtesan.com>
19090
19091         * mkinstalldirs:
19092         Initial revision
19093         [dcb86d65ad8f]
19094
19095         * check.c:
19096         fixed some indentation
19097         [4d1c5ab8072b]
19098
19099         * Makefile.in:
19100         fixed a typo
19101         [0d27eebc7227]
19102
19103         * Makefile.in:
19104         added install-dirs .
19105         [f499b99b8be7]
19106
19107 1996-04-04  Todd C. Miller  <Todd.Miller@courtesan.com>
19108
19109         * dce_pwent.c:
19110         new version from "Jeff A. Earickson" <jaearick@colby.edu>
19111         [422481be5fbd]
19112
19113 1996-04-03  Todd C. Miller  <Todd.Miller@courtesan.com>
19114
19115         * configure.in:
19116         $CSOPS -> $with_csops (whoops, missed one)
19117         [b04c6948130e]
19118
19119         * BUGS:
19120         updated
19121         [c4d5713e227d]
19122
19123         * parse.lex:
19124         FQHOST now has same constraints as non-FQHOST
19125         [e1c3bf2381d1]
19126
19127         * INSTALL:
19128         added note about OS's w/ shadow passwords turned on by default
19129         [166257f43be4]
19130
19131 1996-04-02  Todd C. Miller  <Todd.Miller@courtesan.com>
19132
19133         * configure.in:
19134         fixed a typo
19135         [e5c3e2e9a359]
19136
19137         * configure.in:
19138         added support for --without-THING sanitized shadow pw situtation by
19139         adding support for
19140         --without-C2
19141         [65dc6bf64cce]
19142
19143         * tgetpass.c:
19144         fixed a typo wrt placement of an end paren
19145         [a8780f818231]
19146
19147         * check.c:
19148         was closing an fd that may not have been opened
19149         [760271c7bdc9]
19150
19151 1996-03-22  Todd C. Miller  <Todd.Miller@courtesan.com>
19152
19153         * OPTIONS, options.h, sudo.c:
19154         added NO_PASSWD
19155         [28ff1dc93d7a]
19156
19157 1996-03-20  Todd C. Miller  <Todd.Miller@courtesan.com>
19158
19159         * configure.in:
19160         now always use shadow pw on some arches
19161         [069161ccffda]
19162
19163 1996-03-19  Todd C. Miller  <Todd.Miller@courtesan.com>
19164
19165         * configure.in:
19166         added pyramid support
19167         [a0eb57a3a531]
19168
19169         * configure.in:
19170         no longer check for C2 if alternate passwd method is used no longer
19171         check for some libs twice
19172         [2d0c3c902b40]
19173
19174         * parse.yacc:
19175         moved fqdn stuff into parse.lex (FQHOST)
19176         [d9c9abd481d8]
19177
19178         * parse.lex:
19179         added FQHOST rules
19180         [4a1695acff6d]
19181
19182         * tgetpass.c:
19183         now define TCSASOFT in necesary
19184         [3fac2e21c9ab]
19185
19186         * tgetpass.c:
19187         now uses read/write instead of stdio string goop to avoid problems
19188         with select(2)
19189         [67fd174e518c]
19190
19191         * OPTIONS, find_path.c, options.h:
19192         -DNO_DOT_PATH -> -DIGNORE_DOT_PATH
19193         [d05ba5100d28]
19194
19195 1996-03-17  Todd C. Miller  <Todd.Miller@courtesan.com>
19196
19197         * INSTALL:
19198         added note about no shadow auto-detect if using alternate auth
19199         schemes
19200         [b425592232a3]
19201
19202         * configure.in:
19203         don't check for C2 if AFS or DCE (unless they said --with-C2)
19204         [61342962171a]
19205
19206         * testsudoers.c:
19207         now groks shost
19208         [85dda17303f6]
19209
19210         * OPTIONS, find_path.c, options.h:
19211         added NO_DOT_PATH
19212         [c261ca1fb196]
19213
19214 1996-03-16  Todd C. Miller  <Todd.Miller@courtesan.com>
19215
19216         * find_path.c:
19217         checkdot now works correctly
19218         [3bc4835bb3e9]
19219
19220 1996-03-12  Todd C. Miller  <Todd.Miller@courtesan.com>
19221
19222         * configure.in:
19223         can't have DCE and C2 passwords both...
19224         [fb9a8ab7ca66]
19225
19226 1996-03-11  Todd C. Miller  <Todd.Miller@courtesan.com>
19227
19228         * parse.yacc, sudo.c, sudo.h, visudo.c:
19229         now uses shost even if not FQDN
19230         [87f7498b3a1f]
19231
19232         * configure.in:
19233         now looks for skey in /usr/lib and doesn't require libskey to be in
19234         /usr/local/lib just because skey.h is (for my netbsd box :-)
19235         [ceb1763e37d2]
19236
19237         * aclocal.m4, config.h.in, pathnames.h.in:
19238         _SUDO_PATH_ -> _CONFIG_PATH_
19239         [84d97ad13d75]
19240
19241         * aclocal.m4, sudo.pod:
19242         /var/run/.odus -> /var/run/sudo
19243         [922da220b8f5]
19244
19245         * pathnames.h.in:
19246         now uses _SUDO_PATH_TIMEDIR
19247         [5ecab0155fdf]
19248
19249         * OPTIONS:
19250         udpated FQDN
19251         [361b6f7440c0]
19252
19253         * aclocal.m4, configure.in:
19254         added SUDO_TIMEDIR
19255         [368c95c8c950]
19256
19257         * config.h.in:
19258         added _SUDO_PATH_TIMEDIR
19259         [3879864d808c]
19260
19261         * sudo.pod:
19262         updated wrt /var/run/sudo
19263         [9e14f2a429d3]
19264
19265         * sudo.c, sudo.h:
19266         added support for shost if FQDN
19267         [51a3f51a09a1]
19268
19269         * parse.yacc, visudo.c:
19270         now uses shost if FQDN
19271         [d19da2e92b42]
19272
19273         * check.c:
19274         Now use skeylookup() instead off skeychallenge()
19275         [4c7438bb2ae0]
19276
19277 1996-02-28  Todd C. Miller  <Todd.Miller@courtesan.com>
19278
19279         * logging.c:
19280         mail_argv should not contain ALERTMAIL as it includes "-t"
19281         [67ffaaa8f843]
19282
19283 1996-02-22  Todd C. Miller  <Todd.Miller@courtesan.com>
19284
19285         * INSTALL, Makefile.in, README, configure.in, version.h:
19286         ++version
19287         [e08fd4a809fc]
19288
19289         * compat.h:
19290         added more _PASSWD_LEN stuff -- now uses PASS_MAX too
19291         [2f20c3153689]
19292
19293         * tgetpass.c:
19294         now includes limits.h moved _PASSWD_LEN -> compat.h
19295         [b1ca3cafdacc]
19296
19297 1996-02-06  Todd C. Miller  <Todd.Miller@courtesan.com>
19298
19299         * INSTALL, README:
19300         ++version
19301         [3eacf32803f5]
19302
19303         * Makefile.in:
19304         ++versoin
19305         [3b91c317630a]
19306
19307         * Makefile.in:
19308         fixed a typo
19309         [3661ac4a7803]
19310
19311         * configure.in:
19312         ++version
19313         [60e842973745]
19314
19315 1996-02-05  Todd C. Miller  <Todd.Miller@courtesan.com>
19316
19317         * RUNSON:
19318         updated
19319         [def2c3c24195]
19320
19321         * CHANGES:
19322         done for 1.4.1 (I hope)
19323         [2ab543769a40]
19324
19325         * sudoers.pod:
19326         added info on wildcards
19327         [ce3bd41bc063]
19328
19329         * sample.sudoers:
19330         added wildcard example
19331         [762feb0577bd]
19332
19333         * Makefile.in:
19334         now uses *.pod to build *.man and *.cat & *.html
19335         [3ec14962028b]
19336
19337         * configure.in:
19338         addedSUDO_PROG_BSHELL !ll
19339         [3c80b320bf16]
19340
19341         * visudo.pod:
19342         fixed up some formatting
19343         [12166c434526]
19344
19345         * sudoers.pod:
19346         redid section describing sample sudoers stuff
19347         [b8065cceec71]
19348
19349         * sudo.pod:
19350         fixed some formatting
19351         [aa9a681add0f]
19352
19353         * getspwuid.c:
19354         now treats "" as bourne shell
19355         [30194a72ad56]
19356
19357         * Makefile.in:
19358         TESTOBJS nwo includes wildmat.o
19359         [86cc6500f84d]
19360
19361         * testsudoers.c:
19362         now works with NewArg[cv]
19363         [2f72674ce942]
19364
19365         * sudo.c:
19366         removed an XXX (fixed it in getspwuid.c)
19367         [e791ee0d1a68]
19368
19369         * aclocal.m4:
19370         added check for bourne shell
19371         [a2fd51676b8a]
19372
19373         * pathnames.h.in:
19374         added _PATH_BSHELL
19375         [e7c10011d47b]
19376
19377         * config.h.in:
19378         added _SUDO_PATH_BSHELL
19379         [6a1182898de9]
19380
19381 1996-02-04  Todd C. Miller  <Todd.Miller@courtesan.com>
19382
19383         * visudo.c:
19384         unixware vi returns 256 instead of 0
19385         [234ffc7c6786]
19386
19387         * INSTALL:
19388         added Linux note
19389         [5f85efcd2b58]
19390
19391         * logging.c:
19392         fixed up some XXX's. file log format now looks a little more like
19393         real syslog(3) format.
19394         [6df55707bfc3]
19395
19396         * README, TROUBLESHOOTING:
19397         updated wrt lex/flex
19398         [eb787d69156b]
19399
19400         * Makefile.in:
19401         commented out rule to build lex.yy.c from parse.lex since we ship
19402         with a pre-flex'd parser
19403         [7507e2ce4a95]
19404
19405         * parse.c, parse.yacc, visudo.c:
19406         path_matches -> command_matches
19407         [0bd469424f86]
19408
19409         * logging.c:
19410         eliminated some strcat()'s
19411         [9878a79bc374]
19412
19413         * configure.in:
19414         no longer checks for lex/flex (now assumes flex)
19415         [a086ccc73798]
19416
19417         * configure.in:
19418         now checks for $kerb_dir_candidate/krb.h instead of just
19419         kerb_dir_candidate
19420         [9133bc3c5208]
19421
19422 1996-02-03  Todd C. Miller  <Todd.Miller@courtesan.com>
19423
19424         * parse.yacc:
19425         now use a 'hook' expression instead of an iffy one :-)
19426         [9560df01b8c0]
19427
19428 1996-02-02  Todd C. Miller  <Todd.Miller@courtesan.com>
19429
19430         * visudo.c:
19431         now works with new sudo arg stuff
19432         [310a0d43ddad]
19433
19434         * parse.yacc:
19435         fixed dereferencing deadbeef
19436         [474ef8a8006b]
19437
19438         * sudo.c:
19439         changed an occurrence of Argv to NewArgv
19440         [205b012b7691]
19441
19442         * parse.lex:
19443         took out support for quoted commands since there is no need...
19444         [5c5036d353b1]
19445
19446         * parse.c:
19447         fixed a typo in a for() loop
19448         [7e8d5283c43b]
19449
19450         * logging.c:
19451         protected against dereferencing rogue pointers
19452         [56debd517717]
19453
19454         * sudo.c:
19455         now uses NewArgv amd NewArgc so cmnd_aegs is no longer needed this
19456         also allows us to eliminate some kludges in parse_args() and
19457         eliminate superfluous code.
19458         [5122f66ad150]
19459
19460         * logging.c:
19461         no longer uses cmnd_args, now uses NewArgv instead.
19462         [abddd23cf068]
19463
19464         * sudo.h:
19465         added struct sudo_command, NewArgc, and NewArgv removed cmnd_args
19466         (no longer used)
19467         [78410984fb05]
19468
19469         * Makefile.in:
19470         added wildmat.c to SRCS & SUDOBJS
19471         [3800efb41794]
19472
19473         * parse.yacc:
19474         COMMAND is now a struct containing the path and args
19475         [5c32822c5b94]
19476
19477         * parse.lex:
19478         replaced append() with fill_cmnd() and fill_args. command args from
19479         a sudoers entry are now stored in an arrary for easy matching.
19480         [a981d7f4eb0d]
19481
19482         * parse.c:
19483         command line args from sudoers file are now in an array like ones
19484         passed in from the command line
19485         [1d9e37e84519]
19486
19487 1996-02-01  Todd C. Miller  <Todd.Miller@courtesan.com>
19488
19489         * parse.c:
19490         wildwat stuff now works
19491         [49d16488531f]
19492
19493 1996-01-29  Todd C. Miller  <Todd.Miller@courtesan.com>
19494
19495         * version.h:
19496         ++version
19497         [53e55463ef89]
19498
19499         * Makefile.in:
19500         ++version added wildmat.*
19501         [0508297a4711]
19502
19503 1996-01-28  Todd C. Miller  <Todd.Miller@courtesan.com>
19504
19505         * parse.lex:
19506         added support for quoted commands (w/ or w/o args)
19507         [b9a637155673]
19508
19509 1996-01-22  Todd C. Miller  <Todd.Miller@courtesan.com>
19510
19511         * sudo.pod, visudo.pod:
19512         cleaned up formatting
19513         [4591d4195437]
19514
19515         * sudo.pod, visudo.pod:
19516         Initial revision
19517         [7564a8242750]
19518
19519 1996-01-21  Todd C. Miller  <Todd.Miller@courtesan.com>
19520
19521         * sudoers.pod:
19522         looks reasonable, could be mroe readable
19523         [a5be2d19d9e0]
19524
19525         * sudoers.pod:
19526         Initial revision
19527         [957888be31a6]
19528
19529 1996-01-16  Todd C. Miller  <Todd.Miller@courtesan.com>
19530
19531         * RUNSON:
19532         updated
19533         [633743aa924b]
19534
19535         * OPTIONS:
19536         updated NO_ROOT_SUDO entry
19537         [f1c15b1dec9e]
19538
19539 1996-01-15  Todd C. Miller  <Todd.Miller@courtesan.com>
19540
19541         * RUNSON:
19542         *** empty log message ***
19543         [5b63de579ff7] [SUDO_1_4_0]
19544
19545         * sudo.c:
19546         fixed SECURE_PATH
19547         [6002889f606d]
19548
19549         * RUNSON:
19550         udpa`ted for 1.4
19551         [6014a8592815]
19552
19553         * configure.in:
19554         AIX aixcrypt.exp now uses $(srcdir)
19555         [b0d57674fef4]
19556
19557         * TROUBLESHOOTING:
19558         added entry for anal ansi compilers
19559         [4193cec1c6b1]
19560
19561 1996-01-14  Todd C. Miller  <Todd.Miller@courtesan.com>
19562
19563         * INSTALL:
19564         added info on libcrypt_i for SCO
19565         [575497d56698]
19566
19567         * TODO:
19568         *** empty log message ***
19569         [d0aaf67b9913]
19570
19571         * sample.sudoers:
19572         added comments
19573         [a7773f7eda8d]
19574
19575         * TODO:
19576         1.4 release
19577         [1dade29e9fd9]
19578
19579         * CHANGES:
19580         ++version
19581         [67241be40780]
19582
19583         * INSTALL, OPTIONS, README, config.h.in, configure.in:
19584         ++version
19585         [2e0a37897f68]
19586
19587         * BUGS:
19588         ++version and fixed ISC
19589         [78963f01a0e3]
19590
19591         * check.c, compat.h, dce_pwent.c, find_path.c, getspwuid.c, getwd.c,
19592         goodpath.c, ins_2001.h, ins_classic.h, ins_csops.h, ins_goons.h,
19593         insults.h, logging.c, options.h, pathnames.h.in, putenv.c, strdup.c,
19594         sudo.c, sudo.h, sudo_setenv.c, testsudoers.c, tgetpass.c, utime.c,
19595         visudo.c:
19596         ++version
19597         [b6227f29b3d9]
19598
19599         * interfaces.c:
19600         added STUB_LOAD_INTERFACES ++version
19601         [d8150a3fd577]
19602
19603         * Makefile.in, emul/utime.h, parse.c, parse.lex, parse.yacc,
19604         version.h:
19605         ++version
19606         [da9e90e69bdc]
19607
19608         * PORTING:
19609         added info about fd_set in tgetpass added info on interfaces.c
19610         [a39902febd17]
19611
19612 1996-01-11  Todd C. Miller  <Todd.Miller@courtesan.com>
19613
19614         * dce_pwent.c:
19615         added sudo header
19616         [fc0f2c48682e]
19617
19618         * tgetpass.c:
19619         fixed a typo
19620         [43d40b72ee8f]
19621
19622         * Makefile.in:
19623         tgetpass.o is now only linked in with sudo (not visudo)
19624         [7407c5ff11f8]
19625
19626 1996-01-09  Todd C. Miller  <Todd.Miller@courtesan.com>
19627
19628         * BUGS, INSTALL, Makefile.in, OPTIONS, README, config.h.in,
19629         configure.in:
19630         ++version
19631         [9b82ad805d6b]
19632
19633         * emul/utime.h:
19634         added copyright notice
19635         [4380f16cd075]
19636
19637         * check.c, compat.h, find_path.c, getspwuid.c, getwd.c, goodpath.c,
19638         ins_2001.h, ins_classic.h, ins_csops.h, ins_goons.h, insults.h,
19639         interfaces.c, logging.c, options.h, parse.c, parse.lex, parse.yacc,
19640         pathnames.h.in, putenv.c, strdup.c, sudo.c, sudo.h, sudo_setenv.c,
19641         testsudoers.c, tgetpass.c, utime.c, version.h, visudo.c:
19642         ++version
19643         [32717fdb5d05]
19644
19645         * tgetpass.c:
19646         minor cleanup and now includes sys/bsdtypes for svr4'ish boxen
19647         [326864428da2]
19648
19649         * configure.in:
19650         ISC now gets -lcrypt now check for sys/bsdtypes.h
19651         [e064799c054b]
19652
19653         * config.h.in:
19654         added check for sys/bsdtypes.h
19655         [9adb9533c363]
19656
19657 1996-01-07  Todd C. Miller  <Todd.Miller@courtesan.com>
19658
19659         * parse.yacc:
19660         removed debugging stuff (setting freed ptr to NULL)
19661         [02fe8eec63a0]
19662
19663         * TROUBLESHOOTING:
19664         added 2 entries
19665         [02884e2733e2]
19666
19667         * Makefile.in:
19668         added FAQ
19669         [074d8dfcf28d]
19670
19671         * TROUBLESHOOTING:
19672         added section on syslog
19673         [e6bc02a22b86]
19674
19675         * configure.in:
19676         added AC_ISC_POSIX for better ISC support
19677         [8436b3e12af2]
19678
19679         * config.h.in:
19680         fixed typo
19681         [f1b3922babf4]
19682
19683         * config.h.in:
19684         added define for _POSIX_SOURCE
19685         [ded6d92b34f9]
19686
19687 1996-01-04  Todd C. Miller  <Todd.Miller@courtesan.com>
19688
19689         * configure.in:
19690         fixed check for lsearch()
19691         [75baa5bc28a3]
19692
19693 1995-12-22  Todd C. Miller  <Todd.Miller@courtesan.com>
19694
19695         * interfaces.c:
19696         fixed for AIX now deal if num_interfaces == 0 (should not happen)
19697         [ae450e859227]
19698
19699 1995-12-20  Todd C. Miller  <Todd.Miller@courtesan.com>
19700
19701         * configure.in:
19702         now only define HAVE_LSEARCH if there is a corresponding search.h
19703         [8ce645c5d17f]
19704
19705         * interfaces.c:
19706         works on ISC again
19707         [ccac920d424c]
19708
19709 1995-12-18  Todd C. Miller  <Todd.Miller@courtesan.com>
19710
19711         * configure.in:
19712         now define HAVE_LSEARCH if we find lsearch() in libcompat
19713         [7343e4313a87]
19714
19715         * lsearch.c:
19716         char * -> const char *
19717         [1c0b11c2300a]
19718
19719         * configure.in:
19720         now looks in -lcompat for lsearch()
19721         [a1cc1d6fcd09]
19722
19723         * Makefile.in:
19724         remove sudo.core visudo.core for clan target
19725         [b523456a85df]
19726
19727         * aclocal.m4:
19728         added UID_MAX support in check for MAX_UID_T_LEN
19729         [7ab262b1173f]
19730
19731         * Makefile.in:
19732         fixed another occurence of sudo_getpwuid.*
19733         [fb5809c07da2]
19734
19735         * Makefile.in, getspwuid.c:
19736         sudo_getpwuid.c -> getspwuid.c
19737         [875f2ef808b4]
19738
19739         * configure.in:
19740         moved the "echo"
19741         [ad7b8f966076]
19742
19743         * BUGS, CHANGES, INSTALL, Makefile.in, OPTIONS, README, check.c,
19744         compat.h, config.h.in, configure.in, find_path.c, getspwuid.c,
19745         getwd.c, goodpath.c, ins_2001.h, ins_classic.h, ins_csops.h,
19746         ins_goons.h, insults.h, interfaces.c, logging.c, options.h, parse.c,
19747         parse.lex, parse.yacc, pathnames.h.in, putenv.c, strdup.c, sudo.c,
19748         sudo.h, sudo_setenv.c, testsudoers.c, tgetpass.c, utime.c,
19749         version.h, visudo.c:
19750         ++version
19751         [ee57c6410ffa]
19752
19753         * testsudoers.c:
19754         added group support
19755         [54d8097df8bd]
19756
19757         * sample.sudoers:
19758         added group entry
19759         [50994d31fd49]
19760
19761         * sudoers.man:
19762         documented group support
19763         [0a16707f8fed]
19764
19765         * parse.c, parse.lex, parse.yacc, visudo.c:
19766         added group support
19767         [427218c879c8]
19768
19769 1995-12-15  Todd C. Miller  <Todd.Miller@courtesan.com>
19770
19771         * check.c:
19772         tkfile was too short and overflowed the kerberos realm
19773         [53823a1ff5af]
19774
19775 1995-12-11  Todd C. Miller  <Todd.Miller@courtesan.com>
19776
19777         * sudo.c:
19778         now copy command args directly from Argv
19779         [77408278b6fd]
19780
19781         * sudo.c:
19782         replaced code to copy cmnd_args so that is does not use realloc
19783         since most realloc()'s really stink
19784         [b29a0ff73fb6]
19785
19786 1995-12-08  Todd C. Miller  <Todd.Miller@courtesan.com>
19787
19788         * configure.in:
19789         syslog() fixed in hpux 10.01
19790         [2648e6f0cdb0]
19791
19792 1995-12-06  Todd C. Miller  <Todd.Miller@courtesan.com>
19793
19794         * configure.in:
19795         AC_CHECK_LIB() now sets SUDO_LIBS (and VISUDO_LIBS if appropriate)
19796         [8f108b8d8711]
19797
19798         * configure.in:
19799         better error if cannot find skey incs or libs
19800         [5887662ee9d3]
19801
19802         * aclocal.m4:
19803         now use a temp file for determining max len of uid_t in string form.
19804         the old hacky way broke on netbsd
19805         [b68f470fa9f8]
19806
19807         * sudo.c:
19808         added set of parens and a space
19809         [8a3d4826d022]
19810
19811 1995-12-05  Todd C. Miller  <Todd.Miller@courtesan.com>
19812
19813         * dce_pwent.c:
19814         fixes from Jeff Earickson <jaearick@colby.edu> ,
19815         [bde0f0b756ec]
19816
19817         * check.c:
19818         modified a comment
19819         [e2a97f1afbbe]
19820
19821         * Makefile.in:
19822         fixed up testsudoers target
19823         [d39c4e7bb609]
19824
19825         * configure.in:
19826         DCE changes from Jeff Earickson <jaearick@colby.edu> LIBS ->
19827         SUDO_LIBS and VISUDO_LIBS LDFLAGS -> SUDO_FDFLAGS and VISUDO_LDFLAGS
19828         [da7a1c433828]
19829
19830         * Makefile.in:
19831         LIBS -> SUDO_LIBS , VISUDO_LIBS LDFLAGS -> SUDO_LDFLAGS,
19832         VISUDO_LDFLAGS
19833         [4b69503e8487]
19834
19835 1995-11-28  Todd C. Miller  <Todd.Miller@courtesan.com>
19836
19837         * configure.in:
19838         fix for C2 on hpux 10 now uses -linet if it exists
19839         [8d300112263d]
19840
19841         * check.c:
19842         LONG_SKEY_PROMPT is less of a klusge /
19843         [dcc144abaac3]
19844
19845         * configure.in:
19846         fixed typos w/ dce stuff
19847         [f7dfd6d4e149]
19848
19849         * Makefile.in:
19850         added dce_pwent.c
19851         [79047acdc516]
19852
19853 1995-11-26  Todd C. Miller  <Todd.Miller@courtesan.com>
19854
19855         * INSTALL:
19856         amended section on combining authentication mechanisms
19857         [dc5138c7c716]
19858
19859         * PORTING:
19860         minor updates for 1.3.6
19861         [fe80c13bd994]
19862
19863         * TROUBLESHOOTING:
19864         added 2 more entries
19865         [c7201439a0f5]
19866
19867         * BUGS:
19868         updated for 1.3.6
19869         [979b414d2a2d]
19870
19871         * README:
19872         overhauled
19873         [3af8b60eb594]
19874
19875         * INSTALL:
19876         rewrote for sudo 1.3.6
19877         [b16027b9c726]
19878
19879         * TROUBLESHOOTING:
19880         added 3 entries
19881         [934c9ee3f153]
19882
19883 1995-11-25  Todd C. Miller  <Todd.Miller@courtesan.com>
19884
19885         * find_path.c, getspwuid.c, sudo.c:
19886         added explict casts for strdup since many includes don't prototype
19887         it. gag me.
19888         [3e19a11f2fcc]
19889
19890         * sudo.h:
19891         removed prototype for sudo_getpwuid() since convex C compiler choked
19892         on it.
19893         [c3ea74ca67b0]
19894
19895         * sudo.c:
19896         added prototype for sudo_getpwuid()
19897         [4a8e3cdc2b98]
19898
19899         * lsearch.c:
19900         now compiles on strict ANSI compilers
19901         [3ce5d72d0b08]
19902
19903         * check.c:
19904         added LONG_SKEY_PROMPT support
19905         [48a18b8a2332]
19906
19907         * Makefile.in:
19908         added extra $'s for make to eat up, yum.
19909         [2995b214e12b]
19910
19911         * OPTIONS, options.h:
19912         added LONG_SKEY_PROMPT
19913         [f23ae799b5a4]
19914
19915 1995-11-24  Todd C. Miller  <Todd.Miller@courtesan.com>
19916
19917         * check.c:
19918         s/key support now works with normal s/key as well as logdaemon
19919         [d67573f523bf]
19920
19921         * OPTIONS, options.h:
19922         added SKEY_ONLY
19923         [bbf07654e0de]
19924
19925         * compat.h:
19926         set _PASSWD_LEN to 256 for any of KERB4, DCE, SKEY
19927         [205895b96a36]
19928
19929         * INSTALL:
19930         added DCE note added more AIX notes
19931         [6345403b3522]
19932
19933         * sudo.c:
19934         now include pthread.h for DCE support
19935         [6fe02865f679]
19936
19937         * check.c:
19938         dce_pwent() is ok after all .,
19939         [d26a8746a55d]
19940
19941         * logging.c:
19942         now uses SYSLOG() macro that equates to either syslog() or
19943         syslog_wrapper
19944         [42ac4cff8045]
19945
19946         * dce_pwent.c:
19947         minor formatting changes. renamed check() to somthing less generic
19948         [71859f217be1]
19949
19950         * check.c, logging.c, parse.yacc, sudo.c, sudo.h, testsudoers.c,
19951         visudo.c:
19952         now uses user_pw_ent and simple macros to get at the contents
19953         [f4cbf3e7145a]
19954
19955 1995-11-23  Todd C. Miller  <Todd.Miller@courtesan.com>
19956
19957         * check.c:
19958         simpler dec unix C2 support
19959         [86bc8f75250e]
19960
19961         * getspwuid.c:
19962         now sets crypt_type for DEC unix C2
19963         [99aeadd18266]
19964
19965 1995-11-21  Todd C. Miller  <Todd.Miller@courtesan.com>
19966
19967         * configure.in:
19968         added csops paths for skey
19969         [b8ca672e2117]
19970
19971         * getspwuid.c:
19972         now includes string.h for strdup() prototype
19973         [3605259c3620]
19974
19975         * getspwuid.c:
19976         fixed a few typos
19977         [46c97e4ea417]
19978
19979         * check.c:
19980         now includes skey.h
19981         [11e611ce1b61]
19982
19983         * getspwuid.c:
19984         fixed up comments
19985         [223dac56f0c8]
19986
19987         * check.c:
19988         moved a lot of the shadow passwd crap to sudo_getpwuid()
19989         [97d8887fb7d3]
19990
19991         * sudo.c:
19992         now uses sudo_pw_ent
19993         [d014dadbef48]
19994
19995         * testsudoers.c:
19996         now uses sudo_pw_ent
19997         [d92936ed7e34]
19998
19999         * visudo.c:
20000         now sets sudo_pw_ent
20001         [ff75cdfcf8b3]
20002
20003         * getspwuid.c:
20004         Initial revision
20005         [6deb6df9d7bc]
20006
20007         * tgetpass.c:
20008         moved dce stuff into compat.h
20009         [1124284396e7]
20010
20011         * logging.c, sudo.h:
20012         now uses sudo_pw_ent
20013         [404ff20a5067]
20014
20015         * Makefile.in:
20016         added sudo_getpwuid.c
20017         [6666d0644512]
20018
20019         * compat.h:
20020         added dce support
20021         [3c3b36a7ce0e]
20022
20023         * parse.yacc:
20024         now uses sudo_pw_ent
20025         [9f5e8d11bd68]
20026
20027 1995-11-20  Todd C. Miller  <Todd.Miller@courtesan.com>
20028
20029         * check.c:
20030         fixed exempt_group stuff for OS's that don't put base gid in group
20031         vector
20032         [003f153bd396]
20033
20034         * check.c:
20035         S/Key support now works with sunos4 shadow passwords
20036         [1eb64a5efff1]
20037
20038         * Makefile.in:
20039         fixed clean rule
20040         [5695a2c62816]
20041
20042         * config.h.in, configure.in:
20043         added DCE support
20044         [f53c766c1947]
20045
20046         * tgetpass.c:
20047         DCE & KERB support
20048         [904cf436506a]
20049
20050         * check.c:
20051         first stab at dce support
20052         [aea5ca07b1e3]
20053
20054         * dce_pwent.c:
20055         now smells like sudo
20056         [8b3d609b49cd]
20057
20058         * dce_pwent.c:
20059         Initial revision
20060         [b573555f2399]
20061
20062         * check.c:
20063         skey'd sudo now works w/ normal password as well
20064         [8d038f9f6e94]
20065
20066 1995-11-19  Todd C. Miller  <Todd.Miller@courtesan.com>
20067
20068         * Makefile.in, OPTIONS, check.c, compat.h, config.h.in, find_path.c,
20069         getwd.c, goodpath.c, ins_2001.h, ins_classic.h, ins_csops.h,
20070         ins_goons.h, insults.h, interfaces.c, logging.c, options.h, parse.c,
20071         parse.lex, parse.yacc, pathnames.h.in, putenv.c, strdup.c, sudo.c,
20072         sudo.h, sudo_setenv.c, testsudoers.c, tgetpass.c, utime.c,
20073         version.h, visudo.c:
20074         updated version number
20075         [ba7e346d7904]
20076
20077         * README:
20078         updated to reflect version change
20079         [1d15cf1d8cc8]
20080
20081         * configure.in:
20082         --with options now line up ++version
20083         [08ebf625fbca]
20084
20085         * sudo.h:
20086         removed unecesary S/Key stuff
20087         [68188cba90af]
20088
20089         * configure.in:
20090         fixed S/Key support
20091         [f6d9cbc36618]
20092
20093         * Makefile.in:
20094         -I stuff now goes in CPPFLAGS
20095         [7b8e53c5b046]
20096
20097         * check.c:
20098         fixed SKey support
20099         [52c1a5cf4435]
20100
20101         * README:
20102         updated version
20103         [bed6498a10bb]
20104
20105         * OPTIONS:
20106         fixed description of EXEMPTGROUP
20107         [cfeead55edc2]
20108
20109         * sudo.c:
20110         more people use _RLD_ than just alphas...
20111         [6a3c7090a6f6]
20112
20113         * Makefile.in:
20114         replaced $man_prefix with $mandir
20115         [dc4b36a550e2]
20116
20117         * configure.in:
20118         fixed a typo
20119         [a38a4acddcaf]
20120
20121         * Makefile.in:
20122         now use more GNU'ish dir names
20123         [c5498391a520]
20124
20125         * configure.in:
20126         now set *dir correctly (can override from command line)
20127         [523ff98fd438]
20128
20129         * sudo.c:
20130         now deal with situations where we getwd() fails
20131         [88a9e61dccbb]
20132
20133 1995-11-17  Todd C. Miller  <Todd.Miller@courtesan.com>
20134
20135         * Makefile.in:
20136         added etc_dir, bin_dir, sbin_dir
20137         [75fd08d92842]
20138
20139         * configure.in:
20140         added sbin_dir
20141         [3cb318c0d8d1]
20142
20143         * Makefile.in:
20144         now ship a flex-generated lex.yy.c
20145         [4d083ed70dce]
20146
20147         * Makefile.in:
20148         now sets _PATH_SUDO_SUDOERS, _PATH_SUDO_STMP, SUDOERS_OWNER
20149         [4d51dc9c3780]
20150
20151         * pathnames.h.in:
20152         _PATH_SUDO_SUDOERS & _PATH_SUDO_STMP are now overridden via Makefile
20153         [773fd163d52f]
20154
20155         * options.h:
20156         no more error for redefining SUDOERS_OWNER
20157         [4ba336644c6a]
20158
20159         * OPTIONS:
20160         expanded SUDOERS_OWNER section
20161         [12fae405759e]
20162
20163 1995-11-16  Todd C. Miller  <Todd.Miller@courtesan.com>
20164
20165         * visudo.c:
20166         now warn if chown(2) failed
20167         [d0d1db6e3a1f]
20168
20169         * logging.c:
20170         better default warning for NO_SUDOERS_FILE
20171         [5260b458ac64]
20172
20173         * sudo.c:
20174         added missing set_perms() no more cryptic message if the sudoers
20175         file is zero length, now just give a parse error
20176         [b81ea724838a]
20177
20178         * logging.c:
20179         better diagnostics if NO_SUDOERS_FILE
20180         [877e878663c5]
20181
20182         * sudo.c:
20183         check_sudoers() now catches sudoers files that are not readable (but
20184         are stat'able).
20185         [fea05663b3de]
20186
20187 1995-11-13  Todd C. Miller  <Todd.Miller@courtesan.com>
20188
20189         * configure.in:
20190         now add -D__STDC__ for convex cc (not gcc)
20191         [c80fc53ff51b]
20192
20193         * configure.in:
20194         MAN_PREFIX -> man_prefix now sets prefix and exec_prefix
20195         [fe238226a057]
20196
20197         * Makefile.in:
20198         now uses exec_prefix & prefix from configure
20199         [f62fca5f56bd]
20200
20201         * find_path.c, getwd.c, goodpath.c, interfaces.c, logging.c, parse.c,
20202         parse.lex, parse.yacc, sudo.c, sudo.h, sudo_setenv.c, tgetpass.c,
20203         utime.c, visudo.c:
20204         options.h is now <> instead of "" so shadow build trees can have a
20205         custom copy of options.h
20206         [e6782676099c]
20207
20208         * check.c:
20209         user_is_exempt() is no longer a hack, it now uses getgrnam()
20210         [287f8d5356f7]
20211
20212         * options.h:
20213         EXEMPTGROUP is now "sudo"
20214         [61487304dbe1]
20215
20216         * configure.in:
20217         MAN_POSTINSTALL now contains a leading space
20218         [eaad4ac34012]
20219
20220         * Makefile.in:
20221         removed leading tab if @MAN_POSTINSTALL@ not defined now removes
20222         testsudoers in clean:
20223         [e01711baceb8]
20224
20225         * tgetpass.c:
20226         includes pwd.h to get _PASSWD_LEN definition
20227         [8ec174f263f1]
20228
20229 1995-10-30  Todd C. Miller  <Todd.Miller@courtesan.com>
20230
20231         * sudo.c:
20232         unset the KRB_CONF envariable if using kerberos so we don't get
20233         spoofed into using a bogus server
20234         [2561a0274fca]
20235
20236 1995-09-29  Todd C. Miller  <Todd.Miller@courtesan.com>
20237
20238         * parse.yacc:
20239         now explicately initialize match[] tp be FALSE
20240         [0e45e5c47766]
20241
20242 1995-09-23  Todd C. Miller  <Todd.Miller@courtesan.com>
20243
20244         * sudo.c:
20245         removed unused variable now passes -Wall
20246         [3452508bc16d]
20247
20248         * parse.yacc:
20249         yyerror and dumpaliases are now void's now passes -Wall
20250         [2769dfb51993]
20251
20252         * parse.lex:
20253         added prototype for yyerror
20254         [1f3f0c1b4ab4]
20255
20256         * check.c, logging.c, parse.c:
20257         now passes -Wall
20258         [eab57e5e81d2]
20259
20260         * interfaces.c:
20261         rmeoved unused cruft now passes -Wall
20262         [7a47e1866f4b]
20263
20264         * Makefile.in:
20265         fixed headers that moved to emul dir
20266         [e680c1e5049b]
20267
20268         * logging.c:
20269         fixed deref of nil pointer if no args
20270         [973b9bea432f]
20271
20272 1995-09-15  Todd C. Miller  <Todd.Miller@courtesan.com>
20273
20274         * OPTIONS:
20275         added a caveat to FQDN section
20276         [dcf6e2a5fff4]
20277
20278 1995-09-13  Todd C. Miller  <Todd.Miller@courtesan.com>
20279
20280         * Makefile.in:
20281         more $srcdir support for install targets
20282         [f6eac78436dd]
20283
20284         * find_path.c, interfaces.c, parse.c, parse.lex, parse.yacc, putenv.c,
20285         strdup.c, sudo.c, sudo_setenv.c, testsudoers.c, visudo.c:
20286         don't include malloc.h if we include stdlib.h
20287         [fca2ff307cd8]
20288
20289         * parse.yacc:
20290         local search.h now lives in emul
20291         [51c458904424]
20292
20293         * check.c, utime.c:
20294         local utime.h now lives in emul dir
20295         [f92fc9e8c8de]
20296
20297         * lsearch.c:
20298         local search.h now lives in emul
20299         [579efc407439]
20300
20301         * Makefile.in:
20302         added support for building in other than the sourcedir
20303         [2ab53a43f7d4]
20304
20305 1995-09-10  Todd C. Miller  <Todd.Miller@courtesan.com>
20306
20307         * OPTIONS:
20308         annotated CSOPS_INSULTS option
20309         [9e57d45a0afa]
20310
20311         * TROUBLESHOOTING:
20312         updated shadow passwords blurb
20313         [39b785bc7253]
20314
20315         * sudo.c:
20316         if SHELL_IF_NO_ARGS is set, "sudo -- foo" now runs a shell and
20317         passes along foo as the arguments
20318         [a91077aa8fc5]
20319
20320 1995-09-09  Todd C. Miller  <Todd.Miller@courtesan.com>
20321
20322         * parse.lex:
20323         collapsed pathname and dir sections into one -- its now less
20324         expensive
20325         [89caa03bec25]
20326
20327         * parse.lex:
20328         fixed spacing quoting [,:\\=] now works correctly append() and
20329         fill() now take args to make the above work
20330         [09d023d9ef3a]
20331
20332         * sudo.c:
20333         fixed a typo that caused commands with no tty on fd 0 but a tty on
20334         fd 1 to erroneously have "none" as their tty
20335         [07d2c0e7977c]
20336
20337 1995-09-04  Todd C. Miller  <Todd.Miller@courtesan.com>
20338
20339         * check.c:
20340         timestampfile is now a global static removed decl of timestampfile
20341         in remove_timestamp since we can just use the global one
20342         [f0cbdc6aab1c]
20343
20344         * check.c:
20345         created touch() to update timestamps added USE_TTY_TICKETS support
20346         (bit of a kludge)
20347         [cee1dd0318f8]
20348
20349         * compat.h:
20350         added _S_IFDIR and S_ISDIR
20351         [b4a51cc9628e]
20352
20353         * OPTIONS, options.h:
20354         added USE_TTY_TICKETS
20355         [b4e22f81f25e]
20356
20357         * parse.yacc:
20358         removed const from casts for lsearch() & lfind() to placate irix 4.x
20359         C compiler
20360         [5003081f76ea]
20361
20362 1995-09-03  Todd C. Miller  <Todd.Miller@courtesan.com>
20363
20364         * sudo.c:
20365         now only strip '/dev/' off of a tty if it starts with '/dev/'
20366         [7f62bcd24039]
20367
20368         * pathnames.h.in:
20369         added _PATH_DEV
20370         [6375f44d1910]
20371
20372         * configure.in:
20373         AC_HAVE_HEADERS -> AC_CHECK_HEADERS now check for tcgetattr only if
20374         have termios.h
20375         [9c60391235fd]
20376
20377         * tgetpass.c:
20378         fixed incorrect #ifdef termio uses "unsigned short" not int for
20379         c_?flag
20380         [d032e6a29845]
20381
20382         * parse.lex, parse.yacc:
20383         fixed a spelling error
20384         [cad6a944c7b1]
20385
20386         * Makefile.in:
20387         fixed typo
20388         [204a65403e7c]
20389
20390 1995-09-02  Todd C. Miller  <Todd.Miller@courtesan.com>
20391
20392         * Makefile.in:
20393         fixed a comment
20394         [268f760e57ad]
20395
20396         * parse.yacc:
20397         added dotcat() to cat 2 strings w/ a dot effeciently now that we
20398         dynamically allocate strings they need to be free()'d
20399         [ec2e2152f415]
20400
20401         * parse.lex:
20402         dynamically allocates space for strings
20403         [d10ac3533d66]
20404
20405         * sudo.h:
20406         no more MAXCOMMANDLENGTH
20407         [e2e1219bff8a]
20408
20409         * sudo.h:
20410         added decl of tty
20411         [c8ae81303ee5]
20412
20413         * logging.c, sudo.c:
20414         moved tty stuff into sudo.c
20415         [e028abefeb07]
20416
20417 1995-09-01  Todd C. Miller  <Todd.Miller@courtesan.com>
20418
20419         * parse.c:
20420         fixed a logic bug. Was denying a command if user gave command line
20421         args but there were none in the sudoers file which is wrong.
20422         [7489a99b8e8a]
20423
20424         * sudo.h:
20425         MAXCOMMMANDLEN dropped down to 1K
20426         [38ef54ba290b]
20427
20428         * parse.lex:
20429         return foo; -> return(foo);
20430         [0e8be1b57001]
20431
20432         * parse.yacc:
20433         fixed netgr_matches() prototype
20434         [e69f15910464]
20435
20436         * parse.lex:
20437         added support for escaping "termination" characters
20438         [8bd4ef50f35c]
20439
20440         * parse.c:
20441         buf is now of size MAXPATHLEN+1 since it never holds command args
20442         [2ce4b763058c]
20443
20444         * sudo.c:
20445         fixed comments
20446         [0c74a3d2ebb0]
20447
20448         * goodpath.c:
20449         fixed negation problem (doh!)
20450         [782814e3a2d1]
20451
20452         * parse.yacc:
20453         fixed 2nd parameter to lfind()
20454         [63d7b1623c08]
20455
20456         * parse.lex:
20457         now do bounds checking in fill() and append()
20458         [54381b563251]
20459
20460         * sudo.c:
20461         include netdb.h as we should added a missing void cast added
20462         SHELL_IF_NO_ARGS support now use realloc() properly. would fail if
20463         realloc actually moved the string instead of shrinking it
20464         [897ccdec9c06]
20465
20466         * sample.sudoers:
20467         updated with examples of new features
20468         [9b3ed00e8aa6]
20469
20470         * goodpath.c:
20471         now set errno to EACCES if not a regular file or not executable
20472         [2d069548a5ea]
20473
20474         * find_path.c:
20475         if given a fully-qualified or relative path we now check it with
20476         sudo_goodpath() and error out with the appropriate error message if
20477         the file does not exist or is not executable
20478         [590f89dd8dec]
20479
20480         * emul/search.h, lsearch.c:
20481         now use correct args for lfind
20482         [fccdcdbf020e]
20483
20484         * logging.c:
20485         added a comment
20486         [fab9f49708ea]
20487
20488         * insults.h:
20489         added in CSOps insults
20490         [ad8eb1862adc]
20491
20492         * ins_csops.h:
20493         Initial revision
20494         [de5a475ec018]
20495
20496         * tgetpass.c:
20497         added RCS id
20498         [c3ffd550a482]
20499
20500         * sudo.h:
20501         increased MAXCOMMANDLENGTH to 8k HAVE_GETCWD -> HAVE_GETWD
20502         [aba25c90d08a]
20503
20504         * OPTIONS:
20505         added CLASSIC_INSULTS, CSOPS_INSULTS, SHELL_IF_NO_ARGS
20506         [e27bd62e9ccf]
20507
20508         * sudo.c:
20509         fixed -k load_interfaces() now gets called if FQDN is set
20510         -p now works with -s
20511         [07ca2a34bae8]
20512
20513         * parse.c:
20514         don't try to stat() "pseudo commands" like "validate"
20515         [75527045984b]
20516
20517         * options.h:
20518         added CLASSIC_INSULTS added CSOPS_INSULTS added SHELL_IF_NO_ARGS
20519         [07b157a0eafd]
20520
20521         * configure.in:
20522         added SecurID support added other insults to --with-csops
20523         [6c992ceb244c]
20524
20525         * config.h.in:
20526         added HAVE_SECURID
20527         [e734ff617fe8]
20528
20529         * Makefile.in:
20530         added clobber target added ins_csops.h now gets CFLAGS from
20531         configure
20532         [d1e29c7cec25]
20533
20534         * aclocal.m4:
20535         relaxed SUDO_FULL_VOID
20536         [fb4084f27406]
20537
20538         * visudo.c:
20539         function comment blocks are now in same style as rest of code
20540         [04a2931354c5]
20541
20542         * testsudoers.c:
20543         added support for command line args in /etc/sudoers
20544         [bfe4e1bcc655]
20545
20546         * sudoers.man:
20547         updated to have command args in the sudoers file
20548         [1cd34355e9ea]
20549
20550         * sudo.man:
20551         added -s and -- flags added SHELL to ENVIRONMENT VARIABLES section
20552         [930b48023b68]
20553
20554 1995-08-19  Todd C. Miller  <Todd.Miller@courtesan.com>
20555
20556         * parse.yacc:
20557         PATH renamed to COMMAND
20558         [4e109a6de3cd]
20559
20560         * parse.lex:
20561         it is now a parse error for directories to have args attached to
20562         them
20563         [2ab10a146b54]
20564
20565         * logging.c:
20566         now say command args if telling user to buzz off
20567         [933de26ded8b]
20568
20569         * sudo.c:
20570         -s no longer indicates end of args sped up loading on cmnd_args in
20571         load_cmnd()
20572         [eac99a4da862]
20573
20574         * parse.c:
20575         removed an unreachable statement
20576         [634302623c49]
20577
20578         * parse.lex:
20579         made more efficient by pulling out the terminators when in GOTCMND
20580         state and making them their own rule
20581         [80798f1e1166]
20582
20583 1995-08-14  Todd C. Miller  <Todd.Miller@courtesan.com>
20584
20585         * sudo.h:
20586         removed MAXLOGLEN since it is no longer used
20587         [102824196b71]
20588
20589         * parse.lex:
20590         now allows command args
20591         [d29dfa1e5254]
20592
20593         * parse.c:
20594         now groks command arguments
20595         [6c414cb7f105]
20596
20597         * logging.c:
20598         now sets tty correctly when piped input
20599         [de46a30c0406]
20600
20601         * sudo.c:
20602         fixed loading of cmnd_args (was including command name too)
20603         [15319a425ea6]
20604
20605         * logging.c:
20606         fixed a core dump due to incorrect if construct
20607         [582363c7d7fa]
20608
20609 1995-08-13  Todd C. Miller  <Todd.Miller@courtesan.com>
20610
20611         * configure.in:
20612         only add -lsun is irix < 5 don't look for -lnsl or -lsocket if irix
20613         [da591fe9b931]
20614
20615         * aclocal.m4:
20616         fixed check for ISC
20617         [52e59f2082a7]
20618
20619         * sudo.c:
20620         now sets cmnd_args used by log_error() and that will be used by the
20621         parse to check against command args
20622         [c6804389723b]
20623
20624         * sudo.h:
20625         added cmnd_args
20626         [4d00446b4a8d]
20627
20628         * logging.c:
20629         now dynamically allocate logline since we can guess at its size
20630         [4bed8c8446aa]
20631
20632 1995-08-05  Todd C. Miller  <Todd.Miller@courtesan.com>
20633
20634         * logging.c:
20635         cleaned up a bunch of unnecesary #ifdef's eliminated a buffer remove
20636         "register" since the compiler knows more than I do now do a
20637         "basename" of the tty
20638         [3b1bbf0b3da1]
20639
20640 1995-07-31  Todd C. Miller  <Todd.Miller@courtesan.com>
20641
20642         * configure.in:
20643         ++version
20644         [5ce552f9a5f1]
20645
20646         * sudo.h:
20647         added shell extern changed MODE_* to be bit masks to allow for
20648         several options together
20649         [06f9dc4f400c]
20650
20651         * sudo.c:
20652         added -s (shell) option made MODE_* masks so we can do bitwise & and
20653         | to see if multiple flags are set.
20654         [01f8143010ad]
20655
20656         * check.c:
20657         added securid support
20658         [909e078005fe]
20659
20660 1995-07-30  Todd C. Miller  <Todd.Miller@courtesan.com>
20661
20662         * logging.c:
20663         removed a bunch of unnecesary strncpy()'s and replaced with strcat()
20664         [644506b57d61]
20665
20666 1995-07-29  Todd C. Miller  <Todd.Miller@courtesan.com>
20667
20668         * Makefile.in, version.h:
20669         ++version
20670         [3cd6f1fbc3d9]
20671
20672 1995-07-27  Todd C. Miller  <Todd.Miller@courtesan.com>
20673
20674         * parse.yacc:
20675         fixed free() of an uninitialized pointer (yuck)
20676         [8c404ee502ee]
20677
20678         * testsudoers.c:
20679         added netgr_matches
20680         [e7c9fa2f774c]
20681
20682         * parse.c:
20683         cleaned up netgr_matches
20684         [8108f00b810e]
20685
20686 1995-07-26  Todd C. Miller  <Todd.Miller@courtesan.com>
20687
20688         * RUNSON:
20689         updated for 1.3.4
20690         [4741704310a1]
20691
20692 1995-07-25  Todd C. Miller  <Todd.Miller@courtesan.com>
20693
20694         * Makefile.in:
20695         now installs sudoers.man -- really should clean this up though.
20696         [455631d45a1d]
20697
20698         * Makefile.in:
20699         added sudoers.cat and sudoers.man
20700         [0bdedd6c7363]
20701
20702         * sudo.man:
20703         pulled out stuff on the sudoers file format into a separate man page
20704         [de215d999cb9]
20705
20706         * sudoers.man:
20707         Initial revision
20708         [f25eafbb7095]
20709
20710         * HISTORY:
20711         fixed up my email address
20712         [254fbf80be74]
20713
20714         * configure.in:
20715         added checks for innetgr and getdomainname
20716         [24a99cb7e97e]
20717
20718         * visudo.c:
20719         added dummy netgr_matches function
20720         [1841ff2c01da]
20721
20722         * parse.c:
20723         added netgr_matches
20724         [ec90db6a97b8]
20725
20726         * parse.lex, parse.yacc:
20727         added NETGROUP support
20728         [c9dd93e3bc4b]
20729
20730         * config.h.in:
20731         added HAVE_INNETGR & HAVE_GETDOMAINNAME
20732         [14abd494d875]
20733
20734 1995-07-24  Todd C. Miller  <Todd.Miller@courtesan.com>
20735
20736         * sudo.c:
20737         rewrote clean_env() that has rm_env() builtin
20738         [55cb43818a95]
20739
20740 1995-07-23  Todd C. Miller  <Todd.Miller@courtesan.com>
20741
20742         * check.c:
20743         now cast uid to long in sprintf
20744         [b549eea40aeb]
20745
20746         * OPTIONS:
20747         added _INSULTS suffix to HAL & GOONS end
20748         [ed620d0aad30]
20749
20750         * options.h:
20751         added _INSULTS suffix to HAL & GOONS
20752         [9f72e9b83afd]
20753
20754         * ins_2001.h, ins_classic.h, ins_goons.h, insults.h:
20755         converted to new scheme of insult "unions" end
20756         [2f6d2b412132]
20757
20758         * sudo.c:
20759         now uses MAX_UID_T_LEN
20760         [c1df79e0f389]
20761
20762         * configure.in:
20763         added SUDO_UID_T_LEN !l
20764         [195f0b9f5f84]
20765
20766         * config.h.in:
20767         added MAX_UID_T_LEN
20768         [73f42ae4f14d]
20769
20770         * check.c:
20771         now use MAX_UID_T_LEN
20772         [df9c063234cb]
20773
20774         * aclocal.m4:
20775         added check for max len of uid_t fixed sco vs. isc check
20776         [d558f36d2223]
20777
20778 1995-07-19  Todd C. Miller  <Todd.Miller@courtesan.com>
20779
20780         * configure.in:
20781         corrected version
20782         [828dd1571e86]
20783
20784         * configure.in:
20785         added sco support
20786         [af1e2f616638]
20787
20788         * aclocal.m4:
20789         hack to check for sco
20790         [549ab99a9a43]
20791
20792         * interfaces.c:
20793         removed #include <net/route.h> since it was hosing some OS's
20794         [ac78a7c04005]
20795
20796 1995-07-18  Todd C. Miller  <Todd.Miller@courtesan.com>
20797
20798         * find_path.c:
20799         fixed prreadlink() prototype
20800         [b380fe1f2b11]
20801
20802         * check.c:
20803         added parens in #if's
20804         [e96ade691b82]
20805
20806         * configure.in:
20807         added SPW_ prefix
20808         [a302683a1483]
20809
20810         * sudo.h:
20811         moved SPW_* to config.h.in
20812         [6b3be70e34cf]
20813
20814         * sudo.c:
20815         added a set of parens
20816         [8188d735d695]
20817
20818         * config.h.in:
20819         added SPW_*
20820         [5ead6371cf60]
20821
20822         * sudo.h:
20823         added SPW_* reordered error codes
20824         [dead25b4ed0a]
20825
20826         * check.c:
20827         moved SPW_* to sudo.h
20828         [ca51fb04caf4]
20829
20830 1995-07-17  Todd C. Miller  <Todd.Miller@courtesan.com>
20831
20832         * sudo.c:
20833         SPW_AUTH -> SPW_SECUREWARE
20834         [6b512b2bc5dc]
20835
20836         * logging.c:
20837         GLOBAL_NO_AUTH_ENT -> GLOBAL_NO_SPW_ENT
20838         [defdd0944e2f]
20839
20840         * configure.in:
20841         AUTH -> SECUREWARE
20842         [d1f8a17001dd]
20843
20844         * check.c:
20845         SPW_AUTH -> SPW_SECUREWARE
20846         [af0e8d8b89b2]
20847
20848         * check.c:
20849         now uses SHADOW_TYPE to make shadow pw support more readable and
20850         modular. It's a start...
20851         [8c2a59667014]
20852
20853         * configure.in:
20854         added autodetection of shadow passwords
20855         [85f81fa54b1b]
20856
20857         * sudo.c:
20858         now uses SHADOW_TYPE define
20859         [355e5dc09b07]
20860
20861         * config.h.in:
20862         added SHADOW_TYPE which replaces SUNOS4 & __svr4__ defines
20863         [c0c06e83e483]
20864
20865         * aclocal.m4:
20866         added SUDO_CHECK_SHADOW
20867         [464301301639]
20868
20869 1995-07-12  Todd C. Miller  <Todd.Miller@courtesan.com>
20870
20871         * configure.in:
20872         define SVR4 for ISC define BROKEN_SYSLOG for hpux took out test for
20873         memmove() since we dno longer use it...
20874         [8aefa87d7d31]
20875
20876         * CHANGES:
20877         updated
20878         [ce97b3fd7182]
20879
20880         * logging.c:
20881         added BROKEN_SYSLOG support
20882         [a45c3bca36f6]
20883
20884         * config.h.in:
20885         added BROKEN_SYSLOG
20886         [6f6abf0a6268]
20887
20888         * check.c:
20889         now only bitch it timestamp > time_now + 2 * timeout to allow for a
20890         machine udpating its time from a server
20891         [546bc8d35325]
20892
20893         * sudo.man:
20894         added 2 security notes updated Nieusma's email addr
20895         [616756c56977]
20896
20897         * lsearch.c:
20898         changed a memmove() to memcpy() since we don't have to worry about
20899         overlapping segments.
20900         [30baa478526b]
20901
20902 1995-07-11  Todd C. Miller  <Todd.Miller@courtesan.com>
20903
20904         * interfaces.c:
20905         cleanup up the loop when interfaces are groped in so that it is
20906         readable
20907         [1fa39446bd69]
20908
20909         * Makefile.in, version.h:
20910         ++version
20911         [b46bd2b1770f]
20912
20913 1995-07-09  Todd C. Miller  <Todd.Miller@courtesan.com>
20914
20915         * CHANGES:
20916         annotated 124-126
20917         [b82a2b3ec7ce]
20918
20919 1995-07-07  Todd C. Miller  <Todd.Miller@courtesan.com>
20920
20921         * check.c:
20922         fixed permissions check on /tmp/.odus
20923         [cc2431a65468]
20924
20925 1995-07-06  Todd C. Miller  <Todd.Miller@courtesan.com>
20926
20927         * check.c:
20928         fixed some comments
20929         [8896d09b4fda]
20930
20931         * check.c:
20932         now checks owner & mode of timedir also checks for bogus dates on
20933         timestamp file
20934         [a0fad5df5b0a]
20935
20936         * OPTIONS:
20937         updated TIMEOUT info
20938         [033cc22d9e04]
20939
20940         * logging.c, sudo.h:
20941         added BAD_STAMPDIR and BAD_STAMPFILE
20942         [31d9ce691101]
20943
20944         * compat.h:
20945         added definition of S_IRWXU
20946         [ff2dab091a9b]
20947
20948         * CHANGES:
20949         updated
20950         [a40df90284f1]
20951
20952 1995-07-03  Todd C. Miller  <Todd.Miller@courtesan.com>
20953
20954         * interfaces.c:
20955         added #ifdef to make it compile on strange arches
20956         [4a127f12afce]
20957
20958 1995-07-02  Todd C. Miller  <Todd.Miller@courtesan.com>
20959
20960         * aclocal.m4:
20961         fixed check for fulkl void impl.
20962         [b6f2a4a361d8]
20963
20964         * check.c:
20965         added mssing "static"
20966         [520552f2772b]
20967
20968         * insults.h:
20969         replaced #elif with #else #if constructs for ancient C compilers
20970         [39ab2d365b57]
20971
20972         * INSTALL:
20973         updated irix c2 & kerb5 info
20974         [ae79b99b4905]
20975
20976         * configure.in:
20977         added shadow pw support for irix
20978         [632469d9c528]
20979
20980 1995-07-01  Todd C. Miller  <Todd.Miller@courtesan.com>
20981
20982         * BUGS, TODO:
20983         updated
20984         [2a96bb18ac30]
20985
20986         * CHANGES:
20987         last changes for sudo 1.3.3
20988         [c1c0cd1034b8]
20989
20990         * configure.in:
20991         now calls SUDO_SOCK_SA_LEN
20992         [14ea78159d45]
20993
20994         * config.h.in:
20995         added HAVE_SA_LEN
20996         [cc2a346aa905]
20997
20998         * aclocal.m4:
20999         added SUDO_SOCK_SA_LEN
21000         [456a2025644a]
21001
21002         * interfaces.c:
21003         now works with ip implementations that use sa_len in sockaddr
21004         [90be6e028077]
21005
21006         * INSTALL:
21007         added note about buggy AIX compiler
21008         [c0f6d427e4e4]
21009
21010         * interfaces.c:
21011         now include sys/time.h for AIX
21012         [2510858ab38b]
21013
21014 1995-06-28  Todd C. Miller  <Todd.Miller@courtesan.com>
21015
21016         * Makefile.in:
21017         getcwd -> getwd
21018         [66085ebca98e]
21019
21020         * interfaces.c:
21021         now works for ISC and others. yay.
21022         [f336d4ffc927]
21023
21024 1995-06-26  Todd C. Miller  <Todd.Miller@courtesan.com>
21025
21026         * Makefile.in, version.h:
21027         version++
21028         [836cffc2078d]
21029
21030 1995-06-23  Todd C. Miller  <Todd.Miller@courtesan.com>
21031
21032         * aclocal.m4:
21033         fixed test for full void impl
21034         [fb004107e7b9]
21035
21036         * sudo.c:
21037         now check to see that st_dev is non-zero before assuming that we are
21038         being spoofed
21039         [1b0e1c30c506]
21040
21041 1995-06-20  Todd C. Miller  <Todd.Miller@courtesan.com>
21042
21043         * aclocal.m4, configure.in:
21044         SUDO_FUNC_UTIME_NULL -> AC_FUNC_UTIME_NULL
21045         [4953379bfb01]
21046
21047 1995-06-19  Todd C. Miller  <Todd.Miller@courtesan.com>
21048
21049         * aclocal.m4:
21050         fixed include file order for SUDO_FUNC_UTIME_POSIX
21051         [ff64ab7df44f]
21052
21053         * logging.c:
21054         added cast for ttyname()
21055         [444f05f56758]
21056
21057         * configure.in:
21058         fixed typo
21059         [de068e748431]
21060
21061         * check.c:
21062         now deal correctly with all known variation of utime() -- yippe
21063         [b778a4195a89]
21064
21065         * configure.in:
21066         added SUDO_FUNC_UTIME_POSIX
21067         [cf635f2269d6]
21068
21069         * aclocal.m4:
21070         added SUDO_FUNC_UTIME_NULL and SUDO_FUNC_UTIME_POSIX
21071         [d79593be4b73]
21072
21073         * config.h.in:
21074         added HAVE_UTIME_POSIX
21075         [c67b4ac0dca5]
21076
21077         * check.c:
21078         fixed a typo
21079         [b14df5680f59]
21080
21081         * check.c:
21082         no longer assume !HAVE_UTIME_NULL means old BSD utime()
21083         [0aeaf4b2f38b]
21084
21085         * check.c:
21086         fixed fascist C compiler warning
21087         [c61ddf2f1f93]
21088
21089         * interfaces.c:
21090         now set strioctl.ic_timout in STRSET() now initialize num_interfaces
21091         to 0 (just to be anal)
21092         [c54cc2ba0052]
21093
21094 1995-06-18  Todd C. Miller  <Todd.Miller@courtesan.com>
21095
21096         * sudo.h:
21097         increaed MAXLOGLEN by MAXPATHLEN to account for ttyname
21098         [74cf585a54fb]
21099
21100         * logging.c:
21101         added tty logging
21102         [e27d8dcfbd78]
21103
21104         * interfaces.c:
21105         reworked the ISC code
21106         [bcf57ce8ae69]
21107
21108         * Makefile.in, version.h:
21109         updated version
21110         [032941c9b94d]
21111
21112         * check.c:
21113         now expect old-style utime(3) if utime() can't take NULL as an arg
21114         [018dd4a73030]
21115
21116         * configure.in:
21117         added check for utime.h
21118         [0b76e8feb618]
21119
21120         * config.h.in:
21121         added HAVE_UTIME_H
21122         [62ee42feda46]
21123
21124         * Makefile.in:
21125         added CPPFLAGS STATIC_FLAGS -> LDFLAGS
21126         [fa3201d294e1]
21127
21128         * configure.in:
21129         now search for kerb libs and includes
21130         [cc332401e571]
21131
21132         * check.c:
21133         added support for utime(2)'s that can't take a NULL parameter
21134         [98797fedf69f]
21135
21136         * utime.c:
21137         moved HAVE_UTIME_NULL stuff to update_timestamp() where t belongs
21138         [6ce6d825fb44]
21139
21140         * configure.in:
21141         added utime(s) stuff
21142         [a2afb744403e]
21143
21144         * check.c:
21145         now use utime()
21146         [48902240a51e]
21147
21148         * config.h.in:
21149         added HAVE_UTIME and HAVE_UTIME_NULL
21150         [9a56ab65d4f4]
21151
21152 1995-06-17  Todd C. Miller  <Todd.Miller@courtesan.com>
21153
21154         * utime.c:
21155         now use HAVE_UTIME_NULL
21156         [e3944de09a92]
21157
21158         * emul/utime.h, utime.c:
21159         Initial revision
21160         [a2cbf2ef3427]
21161
21162         * check.c:
21163         need to setuid(0) to make kerb4 stuff work.
21164         [c6cfda4039d7]
21165
21166         * tgetpass.c:
21167         no more special case for kerberos
21168         [4a5c33145be9]
21169
21170         * config.h.in:
21171         took out setreuid and setresuid stuff added kerb5 stuff (use kerb4
21172         emulation)
21173         [a607ee43e650]
21174
21175         * compat.h:
21176         no longer need setreuid() emulation now set _PASSWD_LEN to 128 if
21177         kerberos
21178         [02fb274cc136]
21179
21180         * check.c:
21181         now use private ticket file for kerberos support to avoid trouncing
21182         on system one
21183         [28d8b6b812c7]
21184
21185 1995-06-15  Todd C. Miller  <Todd.Miller@courtesan.com>
21186
21187         * sudo.h:
21188         added SPOOF_ATTEMPT & cmnd_st
21189         [d3b42a1f4d0d]
21190
21191         * sudo.c:
21192         added anti-spoofing support
21193         [ab1e2aa44a57]
21194
21195         * parse.c:
21196         now use global cmnd_st
21197         [47018265a1a6]
21198
21199         * logging.c:
21200         added SPOOF_ATTEMPT suypport
21201         [7bbe9dd2a021]
21202
21203         * testsudoers.c, visudo.c:
21204         added void casts where appropriate
21205         [f191441ba333]
21206
21207         * parse.yacc:
21208         fixed up spacing and added void casts where appropriate
21209         [15d886fc809c]
21210
21211         * sudo.c:
21212         fixed problem with "-p prompt" but no args
21213         [6fc048261a3e]
21214
21215 1995-06-14  Todd C. Miller  <Todd.Miller@courtesan.com>
21216
21217         * sudo.man:
21218         added BUGS and annotated -l description
21219         [e5c506de2603]
21220
21221         * sudo.h:
21222         validate() now takes a flag
21223         [26627becc60a]
21224
21225         * sudo.c:
21226         validate() now takes a flag added -l
21227         [a4f7bb97fe54]
21228
21229         * parse.yacc:
21230         added support for -l
21231         [e7a9b10b0ad3]
21232
21233         * parse.c:
21234         validate() now takes a flag that says whether or not to check the
21235         command
21236         [9e1e67f4e281]
21237
21238 1995-06-08  Todd C. Miller  <Todd.Miller@courtesan.com>
21239
21240         * logging.c:
21241         now deals with Argv == 1
21242         [0acb637ab635]
21243
21244         * sudo.man:
21245         added -p option
21246         [e60382fc0561]
21247
21248         * sudo.c:
21249         added prompt support reworked parse_args()
21250         [2f605267ed4a]
21251
21252         * sudo.h:
21253         added prompt
21254         [5ab021bdb419]
21255
21256         * options.h:
21257         added PASSPROMPT
21258         [614727ff44a2]
21259
21260         * check.c:
21261         now use BUFSIZ as length of kerb password added kpass so pass is
21262         always a char * now use prompt global when asking for a password
21263         [76be09af784f]
21264
21265         * tgetpass.c:
21266         now use BUFSIZ as _PASSWD_LEN if using kerberos
21267         [1e907eed312b]
21268
21269         * OPTIONS:
21270         added PASSPROMPT
21271         [ddb2f405ce40]
21272
21273 1995-06-07  Todd C. Miller  <Todd.Miller@courtesan.com>
21274
21275         * configure.in:
21276         only look for -lufc or -lcrypt if crypt() not in libc
21277         [9717d315661f]
21278
21279         * check.c:
21280         don't exit on kerb error, just warn if k_errno == KDC_PR_UNKNOWN
21281         (unknown user) silently fail
21282         [2b48693d4ee9]
21283
21284         * INSTALL:
21285         added kerb4 note
21286         [986e393f740c]
21287
21288         * tgetpass.c:
21289         HAVE_KERBEROS -> HAVE_KERB4
21290         [e438bfb5e6aa]
21291
21292         * check.c:
21293         removed debugging printf
21294         [1cf9f5cbffa5]
21295
21296         * configure.in:
21297         KERBEROS -> KERB4 added checks for setreuid & setresuid
21298         [01e9945beb1e]
21299
21300         * config.h.in:
21301         HAVE_KERBEROS -> HAVE_KERB4 added HAVE_SETREUID and HAVE_SETRESUID
21302         [0e0bb5b8ac3e]
21303
21304         * compat.h:
21305         added deif of UID_NO_CHANGE & GID_NO_CHANGE added setreuid emulation
21306         with setresuid if applic
21307         [9dae24c47696]
21308
21309         * check.c:
21310         HAVE_KERBEROS -> HAVE_KERB4 now only do the stupid chown() hack if
21311         no setreuid() or a broken one
21312         [1fca642bdb8e]
21313
21314 1995-06-06  Todd C. Miller  <Todd.Miller@courtesan.com>
21315
21316         * configure.in:
21317         added kerberos support
21318         [da5639b9b8e7]
21319
21320         * config.h.in:
21321         added HAVE_KERBEROS
21322         [fcc5be550e65]
21323
21324         * tgetpass.c:
21325         added KERBEROS support (long passwords)
21326         [303ba6924dd2]
21327
21328         * check.c:
21329         added kerberos support
21330         [e40afe98fc1d]
21331
21332 1995-06-03  Todd C. Miller  <Todd.Miller@courtesan.com>
21333
21334         * sudo.h:
21335         added MODE_BACKGROUND
21336         [9b483c932016]
21337
21338         * sudo.man:
21339         escaped dashes added -b option
21340         [62e84f1a7714]
21341
21342         * sudo.c:
21343         added -b option
21344         [7e78aaefeb95]
21345
21346         * check.c:
21347         added crypt() for osf/1 3.x enhanced secuiry
21348         [e9aa5abdb7d5]
21349
21350         * configure.in:
21351         now check for -lcrypt
21352         [5cb9c67e9fa2]
21353
21354         * interfaces.c:
21355         added ENXIO like EADDRNOTAVAIL
21356         [74223bb1ba75]
21357
21358 1995-05-08  Todd C. Miller  <Todd.Miller@courtesan.com>
21359
21360         * configure.in:
21361         now emulate getwd(), not getcwd()
21362         [3e5439d9a5f4]
21363
21364         * sudo.c:
21365         getcwd() -> getwd()
21366         [6392a96a658e]
21367
21368         * getwd.c:
21369         getcwd -> getwd
21370         [1b0ab9bae11e]
21371
21372 1995-05-02  Todd C. Miller  <Todd.Miller@courtesan.com>
21373
21374         * ins_2001.h, ins_classic.h, ins_goons.h:
21375         Initial revision
21376         [86db60d8cf00]
21377
21378         * insults.h:
21379         broke out insults into separate include files
21380         [0a01993bd38a]
21381
21382         * OPTIONS, options.h:
21383         added GOONS
21384         [e283203c6515]
21385
21386         * Makefile.in:
21387         added ins_2001.h ins_classic.h ins_goons.h
21388         [2a39cd6a4cd2]
21389
21390         * Makefile.in, version.h:
21391         ++version
21392         [05ebf4f5e41a]
21393
21394         * visudo.c:
21395         moved signal handler setup to setup_signals()
21396         [3dd976c04540]
21397
21398         * sudo.h:
21399         added load_interfaces()
21400         [af2d473b09e2]
21401
21402         * sudo.c:
21403         moved load_interfaces to interfaces.c
21404         [5c8c138e5d4c]
21405
21406         * parse.yacc:
21407         added clearaliases
21408         [aeb4ff301daa]
21409
21410         * OPTIONS, options.h:
21411         added FAST_MATCH
21412         [f49ea3d1b525]
21413
21414         * parse.lex:
21415         now uses clearaliases variable
21416         [a2dda415bf61]
21417
21418         * interfaces.c:
21419         Initial revision
21420         [a1990e3f5c69]
21421
21422         * Makefile.in:
21423         added interfaces.[co]
21424         [1e8e5984de97]
21425
21426         * testsudoers.c:
21427         now uses ip addrs and netmasks via load_interfaces()
21428         [54b8f7a6835e]
21429
21430         * sudo.c:
21431         now remove IFS instead of setting to "sane" value
21432         [ce7eec9f115e]
21433
21434 1995-05-01  Todd C. Miller  <Todd.Miller@courtesan.com>
21435
21436         * parse.c:
21437         added FAST_MATCH
21438         [816d4f5fe81a]
21439
21440 1995-04-30  Todd C. Miller  <Todd.Miller@courtesan.com>
21441
21442         * Makefile.in:
21443         sudo_goodpath.c-> goodpath.c
21444         [a5072c4e1de2]
21445
21446         * sudo.c:
21447         added Andy's new ISC changes
21448         [caa6bbee358e]
21449
21450 1995-04-14  Todd C. Miller  <Todd.Miller@courtesan.com>
21451
21452         * OPTIONS:
21453         added a sentence to SECURE_PATH info
21454         [cad6e1569d15]
21455
21456         * BUGS:
21457         added one
21458         [4b35cf699a83]
21459
21460         * CHANGES:
21461         updated
21462         [5fded9dc62f0]
21463
21464         * RUNSON:
21465         updated
21466         [33cb993cfd39]
21467
21468 1995-04-13  Todd C. Miller  <Todd.Miller@courtesan.com>
21469
21470         * RUNSON:
21471         updated for beta3
21472         [a05dc6a91995]
21473
21474         * Makefile.in, version.h:
21475         ++version
21476         [54aaf3fadc75]
21477
21478         * aclocal.m4:
21479         sendmail is now looked for in \17/usr/ucblib
21480         [231ac1a4662f]
21481
21482         * sudo.c:
21483         fixed indentation
21484         [fb137400c8c2]
21485
21486         * aclocal.m4:
21487         fixed a typo
21488         [e03f1acc468b]
21489
21490         * sudo.c:
21491         updated ISC mods
21492         [070290d4754b]
21493
21494         * configure.in:
21495         added unixware case
21496         [e90250bae0d9]
21497
21498         * check.c:
21499         user_is_exempt is no longer hidden
21500         [1a341765b8af]
21501
21502         * RUNSON:
21503         updated
21504         [a9c4898b26dd]
21505
21506         * aclocal.m4:
21507         isc and riscos changes
21508         [98b5d86585d1]
21509
21510         * OPTIONS:
21511         added NOTE about new interaction of EXEMPTGROUP and SECURE_PATH
21512         [e1ecc464ce4b]
21513
21514         * Makefile.in:
21515         fixed a typo and added testsudoers stuff
21516         [435d60e163dc]
21517
21518         * testsudoers.c:
21519         Initial revision
21520         [6ce14a448662]
21521
21522 1995-04-12  Todd C. Miller  <Todd.Miller@courtesan.com>
21523
21524         * parse.yacc:
21525         applied fixed patch from Chris
21526         [cd6144203d13]
21527
21528 1995-04-11  Todd C. Miller  <Todd.Miller@courtesan.com>
21529
21530         * Makefile.in:
21531         fixed a typo
21532         [34f8a54ba041]
21533
21534         * parse.yacc:
21535         added a set of braces for bison
21536         [f0e43b938914]
21537
21538         * parse.yacc:
21539         merged in Chris' changes to dekludge the parser.
21540         [82d6e373ab1c]
21541
21542         * logging.c:
21543         send_mail() was calling find_path() which is wrong since find_path()
21544         stores cmnd in a static var. Anyhow, it doesn't make much sense
21545         since MAILER should always be fully qualified
21546         [6eae6a0b8098]
21547
21548 1995-04-10  Todd C. Miller  <Todd.Miller@courtesan.com>
21549
21550         * sample.sudoers:
21551         added User_Alias stuff
21552         [aaba8c8e918d]
21553
21554         * aclocal.m4:
21555         SUDO_NEXT now looks for /usr/lib/NextStep/software_version
21556         [52bd81f34b32]
21557
21558         * RUNSON:
21559         added DEC UNIX 3.0 w/ gcc
21560         [7daf570775b5]
21561
21562         * visudo.c:
21563         Exit was being used in places where exit should be used
21564         [6026a89c07ed]
21565
21566         * sudoers:
21567         added "User alias specification"
21568         [a487b6e234f8]
21569
21570         * parse.yacc:
21571         fixed probs caused by making nslots and naliases a size_t
21572         [0be919384f3f]
21573
21574         * RUNSON:
21575         added KSR, upped rev to 1.3.1b2
21576         [ce04ee6faadf]
21577
21578         * logging.c, parse.yacc:
21579         1024 -> BUFSIZ
21580         [cd6dda45fa11]
21581
21582         * parse.yacc:
21583         void * -> VOID * naliases and nslots are now size_t to appease
21584         lsearch on 64-bit machines
21585         [bf2f807c0dc1]
21586
21587 1995-04-09  Todd C. Miller  <Todd.Miller@courtesan.com>
21588
21589         * TODO:
21590         did a bunch of things and added a bunch :-)
21591         [42afd957b829]
21592
21593         * PORTING:
21594         updated
21595         [972f95c85776]
21596
21597         * visudo.man:
21598         closer to BSD manpage style
21599         [07ae88f50325]
21600
21601         * sudo.man:
21602         closer to standard BSD man format
21603         [372c28dcc135]
21604
21605         * compat.h, config.h.in, emul/search.h, insults.h, options.h,
21606         pathnames.h.in, sudo.h, version.h:
21607         added RCS id
21608         [c0ec90b81002]
21609
21610         * sudo.h:
21611         removed crufty #defines that are no longer used
21612         [35e2b4b477f0]
21613
21614         * BUGS:
21615         fixed a bug
21616         [5bb3e1bee85e]
21617
21618         * sudo.man:
21619         updated based on sudo changes
21620         [e65de1cae438]
21621
21622         * parse.yacc:
21623         now allow ALL keyword in User_Aliases now allow ALL keyword as well
21624         as a NAME or ALIAS
21625         [1fb31404dd0f]
21626
21627         * CHANGES:
21628         updated
21629         [b24018ac610b]
21630
21631         * sudo.c:
21632         now sets SUDO_COMMAND and SUDO_GID envariables.
21633         [e9d791557fb7]
21634
21635         * aclocal.m4:
21636         fixed bug with full void impl check
21637         [35715301023c]
21638
21639         * parse.yacc:
21640         fixed User_Alias supoprt
21641         [4c30dfbaaa07]
21642
21643         * parse.yacc:
21644         added stubs for User_Alias support
21645         [f4afbd247edf]
21646
21647         * sudo.c:
21648         now sets removes # bogus interfaces from num_interfaces
21649         [6f077fac9ab1]
21650
21651         * parse.lex:
21652         added User_Alias support
21653         [bc7997e5df85]
21654
21655 1995-04-08  Todd C. Miller  <Todd.Miller@courtesan.com>
21656
21657         * Makefile.in:
21658         removed extraneous TODO
21659         [bc87a3b14d6d]
21660
21661 1995-04-07  Todd C. Miller  <Todd.Miller@courtesan.com>
21662
21663         * visudo.c:
21664         ntwk_matches -> addr_matches
21665         [475044e288b8]
21666
21667         * parse.yacc:
21668         ntwk_matches -> addr_matches
21669         [dd1f4093fd2d]
21670
21671         * parse.c:
21672         ntwk_matches -> addr_matches now use inet_addr() not inet_network()
21673         (which expects octet boundaries) fixes for OSF (sizeof(int) !=
21674         sizeof(long))
21675         [acd2f556940f]
21676
21677         * sudo.c:
21678         took out debugging info
21679         [044023063eca]
21680
21681         * aclocal.m4:
21682         OS was being set to unknown before non-uname based host checks.
21683         This caused no checks to happen since $OS was not zero-length.
21684         [335a7267479d]
21685
21686         * sudo.c:
21687         fixed loading of interfaces struct still has debugging info in
21688         though
21689         [2d1a18998c1e]
21690
21691         * parse.c:
21692         fixed typo
21693         [175674a3a9fa]
21694
21695 1995-04-06  Todd C. Miller  <Todd.Miller@courtesan.com>
21696
21697         * Makefile.in:
21698         ++version
21699         [55d191b5daa3]
21700
21701         * version.h:
21702         ++
21703         [d7d1f115696a]
21704
21705         * visudo.c:
21706         removed extraneous extern decl of "top
21707         [50355621047d]
21708
21709         * visudo.c:
21710         now zeros "top"
21711         [4e683210345b]
21712
21713         * parse.yacc:
21714         removed parser_cleanup (no need for it now)
21715         [afa59f222b6c]
21716
21717         * parse.lex:
21718         now calls reset_aliases() directly
21719         [3a23cbd60fc0]
21720
21721 1995-04-04  Todd C. Miller  <Todd.Miller@courtesan.com>
21722
21723         * OPTIONS:
21724         added a sentence to SECURE_PATH description
21725         [c5bf75b85af0]
21726
21727         * parse.c:
21728         fixed my stupid bug where I used NAMLEN on something I wanted to
21729         just get the name from. argh.
21730         [111f460f6540]
21731
21732 1995-04-03  Todd C. Miller  <Todd.Miller@courtesan.com>
21733
21734         * lsearch.c:
21735         fixed argument order of memmove() that i hosed when converting from
21736         bcopy(). arghh.
21737         [2f5336045c8b]
21738
21739         * Makefile.in:
21740         finally fixed DISTFILES line
21741         [a1b419e73a63]
21742
21743         * Makefile.in:
21744         tabs -> spaces
21745         [280fb03e5764]
21746
21747         * Makefile.in:
21748         added missing files to DISTFILES
21749         [991fc1cd2263]
21750
21751         * Makefile.in:
21752         SUPPORTED -> RUNSON
21753         [7580e65b05fb]
21754
21755 1995-04-01  Todd C. Miller  <Todd.Miller@courtesan.com>
21756
21757         * TODO:
21758         updated
21759         [fe764a29c1cc]
21760
21761         * RUNSON:
21762         updated for pl5b1 release
21763         [aefc35bd2291]
21764
21765         * BUGS, TODO:
21766         updated
21767         [8f0ea249b687]
21768
21769         * check.c:
21770         fixed bug where if you hit return at first sudo prompt it would
21771         still log as a failure
21772         [24539c854692]
21773
21774         * CHANGES:
21775         updated
21776         [251cc7b3ede4]
21777
21778         * aclocal.m4:
21779         better test for bogus void * implementation
21780         [efe23180cb88]
21781
21782         * logging.c:
21783         added PASSWORDS_NOT_CORRECT
21784         [bd12c73f83f7]
21785
21786         * check.c:
21787         added PASSWORDS_NOT_CORRECT stuff]
21788         [90de391a979f]
21789
21790         * sudo.h:
21791         added PASSWORDS_NOT_CORRECT
21792         [727fbeb76fc5]
21793
21794         * tgetpass.c:
21795         moved pathnames.h
21796         [4f910e5a8df7]
21797
21798         * sudo.c:
21799         removed some unused vars and fixed up uid2str
21800         [70e92c7f9076]
21801
21802         * putenv.c:
21803         moved compat.h
21804         [b271091586f6]
21805
21806         * getcwd.c, getwd.c:
21807         added pathnames.h
21808         [6f25218f133f]
21809
21810 1995-03-31  Todd C. Miller  <Todd.Miller@courtesan.com>
21811
21812         * parse.yacc:
21813         fixed a typo I introduced in the last checkin :-(
21814         [62c3af75c4fe]
21815
21816         * parse.lex:
21817         can't have #ifdef's where N is defined so just do this the broken
21818         way for AIX
21819         [c5648a5594e4]
21820
21821         * parse.yacc:
21822         better hack from Chris (but still a hack)
21823         [6b6d8aed93f3]
21824
21825         * parse.lex:
21826         stupid hack for broken aix lex
21827         [efc3f9e5280e]
21828
21829         * tgetpass.c:
21830         now includes compat.h \ 6
21831         [401822173f77]
21832
21833         * visudo.c:
21834         now includes fcntl.h
21835         [63865c2f8ac6]
21836
21837         * compat.h:
21838         added FD_SET and FD_ZERO for 4.2BSD
21839         [00c5597c0bb0]
21840
21841         * parse.yacc:
21842         dirty hack to fix parser bug. i don't really like this but it works
21843         for now...
21844         [5b8bbdc81569]
21845
21846         * sudo.c:
21847         uid2str is now static like the prototype says
21848         [f2a97b5cb870]
21849
21850 1995-03-30  Todd C. Miller  <Todd.Miller@courtesan.com>
21851
21852         * CHANGES, SUPPORTED, TODO, TROUBLESHOOTING:
21853         updated
21854         [6f79c3e92716]
21855
21856         * RUNSON:
21857         Initial revision
21858         [12a09ef9e884]
21859
21860         * sudo.c:
21861         check_sudoers now returns an error code and sudo calls inform_user
21862         and log_error based on the return value.
21863         [340eca188d9a]
21864
21865         * logging.c, sudo.h:
21866         added entries for new errors
21867         [6050d8542e1f]
21868
21869         * parse.c:
21870         now set uid to that of SUDOERS_OWNER while parsing sudoers file
21871         [3683c42bc9b0]
21872
21873         * Makefile.in:
21874         took out testsudoers \ 6
21875         [65317d49db48]
21876
21877         * sudo.c:
21878         now explicately checks that it is setuid root
21879         [2fe1be60ef6a]
21880
21881         * sudo.c:
21882         If a user has no passwd entry sudo would segv (writing to a garbage
21883         pointer). Now allocate space before writing :-)
21884         [d08e7eb5e5ef]
21885
21886         * configure.in:
21887         reordered AC_CHECK_FUNCS
21888         [4c82e56c6f4f]
21889
21890         * config.h.in:
21891         fixed memset macro
21892         [77ede6b714ab]
21893
21894         * tgetpass.c, visudo.c:
21895         bzero -> memset
21896         [1a005bb322c8]
21897
21898         * logging.c:
21899         bzero -> memset when a parse error is logged the line number of the
21900         error is now logged too
21901         [a42d68047723]
21902
21903         * INSTALL:
21904         added Sunos to blurb about c2 security
21905         [af750a1d131e]
21906
21907         * configure.in:
21908         added a SUN4 define for C2 security
21909         [6ad5b23a3eb0]
21910
21911         * config.h.in:
21912         bcopy -> memmove bzero -> memset
21913         [5494460c8464]
21914
21915         * lsearch.c:
21916         bcopy -> memmove char * -> VOID *
21917         [a15f5c316e16]
21918
21919         * check.c:
21920         added support for sunos with C2 security
21921         [03fea5bb21e6]
21922
21923         * OPTIONS, options.h:
21924         reordered
21925         [1686265af3e1]
21926
21927         * pathnames.h.in:
21928         _PATH_SUDO_LOGFILE now set based on configure
21929         [5867b58e4a04]
21930
21931         * configure.in:
21932         added SUDO_LOGFILE and SUDO_TYPE_SIZE_T
21933         [1984d9fd1b5c]
21934
21935         * config.h.in:
21936         added _SUDO_PATH_LOGFILE
21937         [dd3eebe62580]
21938
21939         * aclocal.m4:
21940         added SUDO_LOGFILE to find where to put sudo.log added
21941         SUDO_CHECK_TYPE (just AC_CHECK_TYPE but checks unistd.h too) added
21942         SUDO_TYPE_SIZE_T (calls SUDO_CHECK_TYPE)
21943         [c589a515a99a]
21944
21945 1995-03-29  Todd C. Miller  <Todd.Miller@courtesan.com>
21946
21947         * TROUBLESHOOTING:
21948         Initial revision
21949         [f42f1baba3a8]
21950
21951         * sudo.c:
21952         now do set_perms(PERM_ROOT) before the getpwuid() in load_global()
21953         to work around a problem is trusted hpux shadow passwords. yuck.
21954         [ae1f13b54687]
21955
21956         * parse.yacc:
21957         backed out a change in malloc/realloc
21958         [ab868db0ad69]
21959
21960         * parse.yacc:
21961         now include stdlib.h
21962         [957eef0631eb]
21963
21964         * visudo.c:
21965         now do an freopen() of the stmp file so that yyin will always point
21966         to the same thing. This is important for flex since we are doing a
21967         YY_NEWFILE
21968         [44558922fd3e]
21969
21970         * parse.yacc:
21971         replaced yywrap() with parser_cleanup() since yywrap() needs to be
21972         in parse.lex to be able to use YY_NEW_FILE. sigh.
21973         [12dd09921074]
21974
21975         * parse.lex:
21976         now have a rule that matches anything that doesn't match an
21977         explicite rule. well, you know what i mean (. matches anything not
21978         yet matched). However, this means that there is input still queued
21979         up so we need to do a YY_NEW_FILE; in yywrap. So, yywrap has moved
21980         into parse.lex and it calls parser_cleanup() which is most of the
21981         old yywrap() sigh.
21982         [7f4042bc48d6]
21983
21984         * SUPPORTED:
21985         no longer used
21986         [8f220be4da94]
21987
21988         * getcwd.c, getwd.c:
21989         moved compat.h to be the last include file
21990         [9f3a65e2d485]
21991
21992         * parse.yacc:
21993         fixed type of aliascmp() args
21994         [1c27eb989bdf]
21995
21996         * find_path.c:
21997         NULL -> '\0'
21998         [5c8d8cf1692e]
21999
22000         * parse.yacc:
22001         added casts to lfind and lsearch args for irix
22002         [61027ddeecf8]
22003
22004         * Makefile.in:
22005         bsdinstall -> install-sh
22006         [61de6612c5a5]
22007
22008         * INSTALL:
22009         added info about make realclean
22010         [29c6324d727f]
22011
22012         * Makefile.in:
22013         updated VERSION added dependencies for visudo.cat
22014         [09077d7229d4]
22015
22016         * version.h:
22017         -> pl5b1
22018         [5d21c7ad1a41]
22019
22020         * sudo.c:
22021         took out -l
22022         [fc1478d81b38]
22023
22024         * Makefile.in:
22025         now there is a real visudo.man and visudo.cat
22026         [58aeac43a6dd]
22027
22028         * sudo.man:
22029         took out visudo stuff
22030         [4a6ac4393343]
22031
22032         * visudo.man:
22033         Initial revision
22034         [cba348843db8]
22035
22036         * parse.c, parse.lex, parse.yacc:
22037         updated copyright
22038         [ffa16b70944a]
22039
22040         * README:
22041         updated for pl5
22042         [a26e423e9e5f]
22043
22044         * sudo.man:
22045         updated Nieusma & Hieb email addresses
22046         [f0083e71989d]
22047
22048         * INSTALL:
22049         updated to include options.h and OPTIONS
22050         [ee59e2b76c94]
22051
22052         * CHANGES, TODO:
22053         updated
22054         [51e011ad5220]
22055
22056         * BUGS:
22057         eliminated bug #1 (yay)
22058         [e7e88515494e]
22059
22060         * configure.in:
22061         sunos no longer gets linked statically
22062         [2e5b3ff3108f]
22063
22064 1995-03-28  Todd C. Miller  <Todd.Miller@courtesan.com>
22065
22066         * parse.lex:
22067         prototype now uses __P()
22068         [68ecdcab4c70]
22069
22070         * parse.lex:
22071         make fill() non-ansi
22072         [d6509972260b]
22073
22074         * parse.c:
22075         made -v (validate) work
22076         [13c9d520638c]
22077
22078         * logging.c:
22079         now gives host
22080         [f04859cdba5a]
22081
22082         * find_path.c:
22083         don't check for execute/statable if fq or relative path given
22084         [4bbe851f3973]
22085
22086         * parse.c:
22087         added a cast
22088         [345c308f72f3]
22089
22090         * visudo.c:
22091         now include ctype.h for islower and tolower macros
22092         [582c0aa332d5]
22093
22094         * goodpath.c:
22095         moved _S_IFMT & _S_ISREG to compat.h
22096         [828e4ca4e7b4]
22097
22098         * sudo.c:
22099         moved a set of parens
22100         [5783474ecf37]
22101
22102         * strdup.c:
22103         now include compat.h
22104         [75e2036b94af]
22105
22106         * emul/search.h:
22107         void * -> VOID *
22108         [cedcfaf04161]
22109
22110         * parse.yacc:
22111         now cast malloc & realloc return vals added search for HAVE_LSEARCH
22112         now use strcmp if no strcasecmp available
22113         [d6a42bc3d4ae]
22114
22115         * lsearch.c:
22116         void * -> VOID *
22117         [886adc44f607]
22118
22119         * config.h.in:
22120         removed HAVE_FLEX added VOID added HAVE_DIRENT_H, HAVE_SYS_NDIR_H,
22121         HAVE_SYS_DIR_H, HAVE_NDIR_H added HAVE_LSEARCH
22122         [3b50d7fb4349]
22123
22124         * compat.h:
22125         added _S_IFMT, _S_IFREG, and S_ISREG
22126         [73d506c7d53c]
22127
22128         * aclocal.m4:
22129         took out SUDO_PROG_INSTALL 1.x to 2.x changes added echo and results
22130         to most SUDO_* macros
22131         [8442155f5936]
22132
22133         * Makefile.in:
22134         no more -I.
22135         [63462f195bd4]
22136
22137         * configure.in:
22138         various 1.x ro 2.x autoconf changes now check for strcasecmp now use
22139         AC_INSTALL_PROG instead of custom one added check for fully woorking
22140         void implementation
22141         [5ac6b6e6230f]
22142
22143         * Makefile.in:
22144         added lsearch & search.h visudo links into $(LIBOBJS)
22145         [bc119cda4598]
22146
22147         * aclocal.m4:
22148         partial 1.x to 2.x changes added SUDO_FULL_VOID
22149         [1194d01fa5c5]
22150
22151         * visudo.c:
22152         whatnow_help was prototyped to be static be was not declared as
22153         such
22154         [0f85489dd426]
22155
22156         * configure.in:
22157         autoconf 2.x changes took out HAVE_FLEX (no longer used) added check
22158         for dirent/dir/ndir.h
22159         [7408f3854948]
22160
22161         * parse.c:
22162         now use groovy gnu autoconf macro AC_HEADER_DIRENT
22163         [e465db9f5dfa]
22164
22165         * getcwd.c, getwd.c:
22166         MAXPATHLEN -> MAXPATHLEN+1
22167         [714d87424e21]
22168
22169         * emul/search.h, lsearch.c:
22170         Initial revision
22171         [55d79482c535]
22172
22173 1995-03-27  Todd C. Miller  <Todd.Miller@courtesan.com>
22174
22175         * parse.yacc:
22176         eliminated bison warnings
22177         [61ca0a96da22]
22178
22179         * parse.lex:
22180         added missing case
22181         [6be0f849747c]
22182
22183         * visudo.c:
22184         now iincludes signal.h
22185         [221e0fcc144f]
22186
22187         * parse.yacc:
22188         only clear data structures on a parse error
22189         [7b1c0f1a4527]
22190
22191         * visudo.c:
22192         whatnow() now gives help on invalid input
22193         [e5a4cd88c587]
22194
22195         * visudo.c:
22196         added a whatnow() function (sort of like mh)
22197         [932d9b145f1c]
22198
22199         * parse.yacc:
22200         kill_aliases -> reset_aliases yywrap() now cleans up by calling
22201         reset_aliases() and clearing top took reset stuff out of yyerror()
22202         since it doesn't beling there (and doesn't work anyway). errorlineno
22203         is now initially set to -1 so we can set it to the first error that
22204         occurrs (it was getting set to the last)
22205         [2f71f95a974c]
22206
22207         * parse.lex:
22208         added a void cast
22209         [18ae6042dce4]
22210
22211         * visudo.c:
22212         rewrote from scratch based on 4.3BSD vipw.c
22213         [2f6814f18576]
22214
22215 1995-03-26  Todd C. Miller  <Todd.Miller@courtesan.com>
22216
22217         * sudo.c, sudo.h:
22218         removed ocmnd
22219         [a31735f41ad4]
22220
22221         * sudo.h:
22222         no more sudo_realpath() and find_path() changed params
22223         [8e85c3b39159]
22224
22225         * sudo.c:
22226         find_path() changed since no more realpath()
22227         [b25366c7f2ee]
22228
22229         * parse.yacc:
22230         on error, errorlineno is set to the line where the error occurred
22231         added kill_aliases() to free the aliases struct now clean up in
22232         yyerror() so we can reparse cleanly
22233         [2342f578c27a]
22234
22235         * options.h, parse.c:
22236         no more USE_REALPATH
22237         [cfc59babeaff]
22238
22239         * logging.c:
22240         changed to use new find_path()
22241         [91c7a38e7751]
22242
22243         * find_path.c:
22244         removed all the realpath() stuff
22245         [cc21a43a8562]
22246
22247         * Makefile.in:
22248         sudo_realpath.c -> sudo_goodpath.c
22249         [03a9b1ddec2f]
22250
22251         * visudo.c:
22252         now works correctly with utk parser
22253         [08aa554a0ce8]
22254
22255         * goodpath.c:
22256         Initial revision
22257         [1ea607e1ffb2]
22258
22259         * sudo_realpath.c:
22260         eliminated a compiler warning
22261         [198bcccc55b6]
22262
22263         * sudo.c:
22264         elinated compiler warning
22265         [e2384f9a878b]
22266
22267         * sudo_realpath.c:
22268         added sudo_goodpath()
22269         [43878c4cc540]
22270
22271         * sudo.h:
22272         added prototype for sudo_goodpath
22273         [23e8627a2265]
22274
22275         * parse.c:
22276         added support for /sys/dir.h
22277         [eca897087741]
22278
22279         * options.h:
22280         USE_REALPATH turned off
22281         [620ac8b63d85]
22282
22283         * find_path.c:
22284         added calls to sudo_goodpath()
22285         [ad170904fbcd]
22286
22287         * configure.in:
22288         added check for dirent.h
22289         [7964a8c26855]
22290
22291         * config.h.in:
22292         added HAVE_DIRENT_H
22293         [1f785fec7e19]
22294
22295         * configure.in:
22296         added in linux shadow pass stuff \ 6
22297         [e585a5785f50]
22298
22299 1995-03-24  Todd C. Miller  <Todd.Miller@courtesan.com>
22300
22301         * visudo.c:
22302         added back host, user, cmnd, parse_error
22303         [0ec19f3d64f4]
22304
22305         * visudo.c:
22306         added in utk changes plus some minor cosmetic changes
22307         [c5c1921c8a58]
22308
22309         * sudo.c, sudo_realpath.c:
22310         added void casts for printf's
22311         [9c6ff11c0082]
22312
22313         * options.h:
22314         added a define of USE_REALPATH
22315         [db3711c9efc5]
22316
22317         * configure.in:
22318         there is no more visudoers/Makefile
22319         [36e1bc1f78d0]
22320
22321         * Makefile.in:
22322         added in utk changes (visudo is now built from the toplevel)
22323         [76203d4b345d]
22324
22325         * find_path.c:
22326         added (void) casts to printf's
22327         [dd5cb1e060ac]
22328
22329         * parse.c, parse.lex, parse.yacc, sudo.h, sudo_realpath.c:
22330         merged in utk changes
22331         [35563307fd8e]
22332
22333 1995-03-23  Todd C. Miller  <Todd.Miller@courtesan.com>
22334
22335         * find_path.c:
22336         now check to see that what we are trying to run is a file (or a link
22337         to a file, we do a stat(2) so there is no diff)
22338         [05889c4bcace]
22339
22340 1995-03-13  Todd C. Miller  <Todd.Miller@courtesan.com>
22341
22342         * CHANGES:
22343         updated
22344         [3e8047bb26fb]
22345
22346         * Makefile.in:
22347         aclocal.m4 -> acsite.m4 make realclean updated for new autoconf \ 6
22348         [0bdbaa7c4c7d]
22349
22350         * sudo.man:
22351         added myself as maintainer
22352         [77a9d75aab84]
22353
22354 1995-02-17  Todd C. Miller  <Todd.Miller@courtesan.com>
22355
22356         * sudo.c:
22357         changed setegid -> setgid
22358         [7f4788d73b6f]
22359
22360 1995-02-06  Todd C. Miller  <Todd.Miller@courtesan.com>
22361
22362         * configure.in:
22363         fixed the test for irix 5.x to skip bad libs
22364         [bfef896de013]
22365
22366         * aclocal.m4:
22367         now initialize OS and OSREV
22368         [cc302756e440]
22369
22370 1995-01-27  Todd C. Miller  <Todd.Miller@courtesan.com>
22371
22372         * configure.in:
22373         irix5 changes
22374         [ac985b23f5f2]
22375
22376         * configure.in:
22377         AC_WITH -> AC_ARG_WITH changes other misc changes for autoconf 2.1
22378         compatibility
22379         [0cf8c92a06d7]
22380
22381 1995-01-19  Todd C. Miller  <Todd.Miller@courtesan.com>
22382
22383         * visudo.c:
22384         use YY_NEW_FILE, not yyrestart since OSF flex doesn't do the righ
22385         thing wrt yyrestart (grrrr)
22386         [18e8eabfbb82]
22387
22388 1995-01-16  Todd C. Miller  <Todd.Miller@courtesan.com>
22389
22390         * Makefile.in:
22391         added visudoers/compat.h to DISTFILES
22392         [db23b574b034]
22393
22394         * configure.in:
22395         fixed an echo
22396         [7cbc0462b89d]
22397
22398         * sudo.c:
22399         added ocmnd declaration adjusted for find_path()'s new parameters
22400         [d929cd156474]
22401
22402         * sudo.h:
22403         added ocmnd extern adjusted find_path() prototype
22404         [e0004daf5d3c]
22405
22406         * parse.c:
22407         cmndcmp() now takes 3 arguments and checks against the qualified as
22408         well as the unqualified pathname. more code that should use
22409         cmndcmp() but did not, now does
22410         [6f70a8c17bee]
22411
22412         * options.h:
22413         added to a comment
22414         [7a78680426b2]
22415
22416         * logging.c:
22417         changed to use new find_path() parameter passing
22418         [840981d30db4]
22419
22420         * find_path.c:
22421         find_path() now takes 2 copyout parameters (one for the qualified
22422         pathname and one for the unqualified pathname). The third parameter
22423         may be NULL.
22424         [851503b005e9]
22425
22426         * configure.in:
22427         no longer munge pathnames.h
22428         [427d8796c5a9]
22429
22430         * pathnames.h.in:
22431         changed _PATH_* to use _SUDO_PATH_* (which are defined in config.h)
22432         as a result, pathnames.h does not need to be run through configure
22433         and the user can override the configured values easily.
22434         [2e378f2ebe88]
22435
22436         * config.h.in:
22437         added _SUDO_PATH_* entries
22438         [0857de7cebab]
22439
22440         * aclocal.m4:
22441         _PATH* -> _SUDO_PATH_*
22442         [7601193f56cc]
22443
22444         * Makefile.in:
22445         updated DISTFILES and HDRS .o's now depend on config.h
22446         [39d8601965cf]
22447
22448 1995-01-13  Todd C. Miller  <Todd.Miller@courtesan.com>
22449
22450         * compat.h:
22451         removed extraneous #endif
22452         [27d4c5f2ce7e]
22453
22454         * aclocal.m4:
22455         added SUDO_PROG_MV
22456         [76dda3bdd816]
22457
22458         * configure.in:
22459         added SUDO_PROG_MV added riscos and isc os types took out
22460         -DSHORT_MESSAGE from --with-csops since it is now the default
22461         [68c206ad976e]
22462
22463         * sudo.c:
22464         move the include of id.h to compat.h now includes options.h
22465         [45a1eaafb3a8]
22466
22467         * sudo.h:
22468         moved compatibility #defines to compat.h
22469         [0eee27057698]
22470
22471         * pathnames.h.in:
22472         added _PATH_MV
22473         [e830797ab320]
22474
22475         * config.h.in:
22476         move __P to compat.h
22477         [188e12e0ba93]
22478
22479         * getcwd.c, getwd.c, putenv.c:
22480         now includes compat.h
22481         [c72cb6d73981]
22482
22483         * compat.h:
22484         Initial revision
22485         [d4d2f359ae03]
22486
22487 1995-01-12  Todd C. Miller  <Todd.Miller@courtesan.com>
22488
22489         * sudo.h:
22490         pull user-configurable stuff out and put in options.h
22491         [ef929467b070]
22492
22493 1995-01-11  Todd C. Miller  <Todd.Miller@courtesan.com>
22494
22495         * parse.lex, parse.yacc, visudo.c:
22496         now includes options.h
22497         [e36d7c82add1]
22498
22499         * check.c, find_path.c, logging.c, parse.c, sudo_realpath.c,
22500         sudo_setenv.c:
22501         now includes options.h
22502         [f186ba03de07]
22503
22504         * Makefile.in:
22505         added visudoers/options.h
22506         [e5350c476494]
22507
22508         * OPTIONS, options.h:
22509         Initial revision
22510         [9b6b5001e318]
22511
22512         * Makefile.in:
22513         added OPTIONS and options.h
22514         [25448341e16a]
22515
22516         * logging.c:
22517         changed #ifdef's to use LOGGING and SLOG_SYSLOG/SLOG_FILE
22518         [5dd6385dd1d3]
22519
22520         * check.c, sudo.h:
22521         changed PASSWORD_TIMEOUT to minutes
22522         [0ec6aab98738]
22523
22524 1994-12-17  Todd C. Miller  <Todd.Miller@courtesan.com>
22525
22526         * visudo.c:
22527         now only do Editor +line_num if line_num != 0
22528         [b69f04b5e3c7]
22529
22530 1994-12-16  Todd C. Miller  <Todd.Miller@courtesan.com>
22531
22532         * visudo.c:
22533         now use mv if rename(2) fails
22534         [83210dca1bab]
22535
22536         * BUGS:
22537         added a visudo bug
22538         [d61a806f9aa7]
22539
22540         * check.c:
22541         expanded comment
22542         [641f2cba94cb]
22543
22544 1994-11-12  Todd C. Miller  <Todd.Miller@courtesan.com>
22545
22546         * check.c:
22547         fixed user_is_exempt to return 0 if EXEMPTGROUP is not set
22548         [7a11135039a8]
22549
22550 1994-11-10  Todd C. Miller  <Todd.Miller@courtesan.com>
22551
22552         * sudo.c:
22553         added mips & isc support
22554         [e258dc053119]
22555
22556         * parse.c:
22557         added support for non-root owned sudoers file
22558         [fea07e65a0fc]
22559
22560         * check.c:
22561         added exempt group support
22562         [928fb4bd9ad5]
22563
22564         * sudo.h:
22565         added set_perms() support added SUDOERS_OWNER so can have non-root
22566         own sudoers file added exempt group support added isc support
22567         [61c578d31fc1]
22568
22569         * visudo.c:
22570         now copy sudoers to temp file via read/write (not stdio) now chown
22571         new sudoers file to SUDOERS_OWNER
22572         [a5176c59df70]
22573
22574 1994-11-08  Todd C. Miller  <Todd.Miller@courtesan.com>
22575
22576         * configure.in:
22577         added skey support
22578         [35a8d2fabdb7]
22579
22580         * sudo_realpath.c:
22581         be_* -> setperms()
22582         [a1631d686e1c]
22583
22584         * sudo.h:
22585         fixed typo added set_perms support added skey support added
22586         seteuid()/setegid() emulation for AIX
22587         [c0c8d6771406]
22588
22589         * sudo.c:
22590         be_* -> setperms() now check to make sure sudoers file is owned by
22591         root nread/write by only root
22592         [13ab1e261f1a]
22593
22594         * logging.c, parse.c:
22595         be_* -> setperms()
22596         [21499d845c8f]
22597
22598         * check.c:
22599         be_* -> set_perms() added skey support
22600         [df51b56871c1]
22601
22602 1994-11-06  Todd C. Miller  <Todd.Miller@courtesan.com>
22603
22604         * Makefile.in:
22605         ++version
22606         [3c1abbe4e43c]
22607
22608         * version.h:
22609         ++
22610         [1d2f9b540a95]
22611
22612 1994-10-21  Todd C. Miller  <Todd.Miller@courtesan.com>
22613
22614         * sudo.c:
22615         now sets IFS
22616         [eabbb41b9f08]
22617
22618         * insults.h:
22619         fixed typo
22620         [c7997f19216e]
22621
22622 1994-10-15  Todd C. Miller  <Todd.Miller@courtesan.com>
22623
22624         * config.h.in:
22625         added HAVE_SKEY
22626         [da948ec4186b]
22627
22628 1994-10-04  Todd C. Miller  <Todd.Miller@courtesan.com>
22629
22630         * CHANGES:
22631         updated
22632         [f4b55ab007ea]
22633
22634         * Makefile.in:
22635         ++version
22636         [0489068b8c95]
22637
22638         * version.h:
22639         ++
22640         [d189faedf423]
22641
22642         * sudo.c:
22643         now bail if ARgv[1] > MAXPATHLEN
22644         [0cea8ecc9dc2]
22645
22646         * configure.in:
22647         added function check for tcgetattr(3)
22648         [e03289b22c2f]
22649
22650         * config.h.in:
22651         only define HAVE_TERMIOS_H if you have tcgetattr(3)
22652         [757eab83d1a2]
22653
22654         * config.h.in:
22655         added check for tcgetattr
22656         [c5ae92715930]
22657
22658 1994-09-26  Todd C. Miller  <Todd.Miller@courtesan.com>
22659
22660         * CHANGES:
22661         updated
22662         [cbc419883108]
22663
22664 1994-09-22  Todd C. Miller  <Todd.Miller@courtesan.com>
22665
22666         * parse.lex:
22667         now only include unistd.h for linux
22668         [e9adeab95ef0]
22669
22670 1994-09-21  Todd C. Miller  <Todd.Miller@courtesan.com>
22671
22672         * Makefile.in:
22673         added visudo.8 generation
22674         [d6a3f0f887f8]
22675
22676         * configure.in:
22677         added -Wl,-bI:./aixcrypt.exp to aix flags
22678         [72594a21edcf]
22679
22680 1994-09-20  Todd C. Miller  <Todd.Miller@courtesan.com>
22681
22682         * BUGS:
22683         added one
22684         [9993a349e096]
22685
22686         * CHANGES:
22687         updated
22688         [297b31ec4cdd]
22689
22690         * README:
22691         added mailing list info
22692         [10372f94a2b2]
22693
22694         * parse.yacc:
22695         now use sudolineno instead of yylineno fixed bison warnings
22696         [25a83e62057b]
22697
22698         * configure.in:
22699         now use -no_library_replacement for osf don't make a static binary
22700         for hpux >= 9.0
22701         [1fa7b892f1a3]
22702
22703         * tgetpass.c:
22704         added string.h/strings.h inclusion
22705         [71faa98fc0a1]
22706
22707         * config.h.in:
22708         added ssize_t def
22709         [406284bd1ac0]
22710
22711         * parse.lex:
22712         added inclusion of string.h/strings.h
22713         [6985b1df5d09]
22714
22715         * aclocal.m4:
22716         fixed uname | sed (needed to quote the '[')
22717         [4cd2d3415c1a]
22718
22719         * parse.lex:
22720         replaced yylineno with sudolineno fixed bison syntax errors
22721         [0bd31a5fab26]
22722
22723         * visudo.c:
22724         changed yylineno to sudolineno since yylineno cannot be counted
22725         upon.
22726         [38c30104d0ae]
22727
22728         * TODO:
22729         updated
22730         [5d4746f1a752]
22731
22732         * parse.c:
22733         added code to support command listings
22734         [030172e133fd]
22735
22736         * sudo.c:
22737         added code for -l flag
22738         [801dbbc82778]
22739
22740         * sudo.man:
22741         fixed typo added info for -l flag
22742         [8916ca945d65]
22743
22744         * configure.in:
22745         AC_SSIZE_T -> SUDO_SSIZE_T
22746         [c61f7f47013f]
22747
22748         * aclocal.m4:
22749         added SUDO_SSIZE_T
22750         [0ccdb77be84d]
22751
22752         * sudo.h:
22753         added MODE_LIST
22754         [9b2bd844c76c]
22755
22756         * configure.in:
22757         added AC_SSIZE_T
22758         [35cca208f9b5]
22759
22760         * find_path.c, sudo_realpath.c:
22761         readlink() is now declared as returning ssize~_t
22762         [0640a08d1407]
22763
22764         * configure.in:
22765         added -laud for OSF c2
22766         [b7539c905efc]
22767
22768 1994-09-02  Todd C. Miller  <Todd.Miller@courtesan.com>
22769
22770         * Makefile.in, visudo.c:
22771         changed sudo-bugs.cs.colorado.edu -> sudo-bugs@cs.colorado.edu
22772         [067fd9bcb5e1]
22773
22774         * config.h.in, parse.lex, parse.yacc, pathnames.h.in:
22775         changed sudo-bugs.cs.colorado.edu -> sudo-bugs@cs.colorado.edu
22776         [fc46e7c7110a]
22777
22778         * check.c, find_path.c, getcwd.c, getwd.c, insults.h, logging.c,
22779         parse.c, putenv.c, strdup.c, sudo.c, sudo.h, sudo_realpath.c,
22780         sudo_setenv.c, tgetpass.c, version.h:
22781         changed sudo-bugs.cs.colorado.edu -> sudo-bugs@cs.colorado.ed
22782         [d1d4fbc53a98]
22783
22784 1994-09-01  Todd C. Miller  <Todd.Miller@courtesan.com>
22785
22786         * Makefile.in:
22787         ++version
22788         [b7066d97633f]
22789
22790         * version.h:
22791         ++
22792         [65ec69d88110]
22793
22794         * logging.c:
22795         added host to alertmail messages
22796         [d973c19ce777]
22797
22798         * CHANGES, TODO:
22799         udpated
22800         [5a65eb16faeb]
22801
22802         * logging.c:
22803         fixed logging problem where mail would not say which user it was
22804         [35723edcc5d2]
22805
22806         * configure.in:
22807         added -laud for gcc if osf & c2
22808         [18f1e0ae5548]
22809
22810         * check.c:
22811         moved set_auth_parameters to sudo.c
22812         [d23112fe01db]
22813
22814         * sudo.c:
22815         added set_auth_parameters for osf
22816         [eb70f65214ac]
22817
22818         * configure.in:
22819         cleaned up -static stuff
22820         [01e9575f0422]
22821
22822         * Makefile.in:
22823         ++version
22824         [7ac3bff5c770]
22825
22826         * version.h:
22827         ++
22828         [10a4ff478469]
22829
22830         * sudo.c:
22831         changed setenv() to sudo_setenv()
22832         [40a78abb9946]
22833
22834         * check.c:
22835         fixed osf problem
22836         [3d69b118efb8]
22837
22838         * configure.in:
22839         added OSF C2 stuff
22840         [38cff3ad4093]
22841
22842         * CHANGES:
22843         updated
22844         [cd341dd0581a]
22845
22846         * check.c:
22847         added osf auth support & removed some extra spaces
22848         [a448cdd81514]
22849
22850         * INSTALL, SUPPORTED:
22851         added osf C2 stuff
22852         [f70484796146]
22853
22854 1994-08-31  Todd C. Miller  <Todd.Miller@courtesan.com>
22855
22856         * TODO:
22857         added 2 suggestions
22858         [695fbdbd86e6]
22859
22860         * Makefile.in:
22861         removed README.v1.3.1 and added VERSION stuff
22862         [f69403eb04c6]
22863
22864         * version.h:
22865         pl1
22866         [21580c0f8cb1]
22867
22868 1994-08-30  Todd C. Miller  <Todd.Miller@courtesan.com>
22869
22870         * version.h:
22871         1.3.1final
22872         [630114970298]
22873
22874         * Makefile.in:
22875         added HISTORY
22876         [901bff251614]
22877
22878         * sudo.man:
22879         mention HISTPRY file
22880         [86dbcfd4326e]
22881
22882         * sudo.c:
22883         use sizeof instead of a constant in 1 place
22884         [d819604c68ca]
22885
22886         * parse.yacc:
22887         added unistd.h
22888         [6f9500f9fe7e]
22889
22890         * parse.lex:
22891         added unistd.h
22892         [468b81a276eb]
22893
22894         * README:
22895         udpated
22896         [7e275618923a]
22897
22898         * HISTORY:
22899         Initial revision
22900         [5db1b0a3939b]
22901
22902 1994-08-17  Todd C. Miller  <Todd.Miller@courtesan.com>
22903
22904         * version.h:
22905         ++
22906         [7dfbb4a810bb] [SUDO_1_3_1]
22907
22908         * CHANGES:
22909         updated
22910         [7820ee610bf8]
22911
22912         * sudo_setenv.c:
22913         added unistd.h include
22914         [30cf2b654525]
22915
22916 1994-08-16  Todd C. Miller  <Todd.Miller@courtesan.com>
22917
22918         * sudo.c:
22919         added sys/time.h for AIX
22920         [199fc8caf3a3]
22921
22922 1994-08-15  Todd C. Miller  <Todd.Miller@courtesan.com>
22923
22924         * configure.in:
22925         added check for -lsocket and sys/sockio.h
22926         [f9abfbb31031]
22927
22928         * config.h.in:
22929         took out libshadow check and added in sys/sockio.h check
22930         [0c4b0393ac80]
22931
22932         * sudo.c:
22933         now include sockio.h instead of ioctl.h if it exists "sudo -" now
22934         gets a better error message
22935         [53041bea5483]
22936
22937         * sample.sudoers:
22938         now has a dir and subnet entry
22939         [56b820f65438]
22940
22941 1994-08-13  Todd C. Miller  <Todd.Miller@courtesan.com>
22942
22943         * sudo.c:
22944         removed if_ether.h
22945         [b4f64507493e]
22946
22947         * TODO:
22948         added an item
22949         [ea2a1bb6922a]
22950
22951         * sudo.man:
22952         added network and ip addresses to man page
22953         [01c85016511f]
22954
22955         * sudo.c:
22956         no error if can't get interfaces or netmask since networking may not
22957         be in the kernel.
22958         [50b8890e2134]
22959
22960         * parse.c:
22961         nwo check for interfaces == NULL
22962         [dc1b3eef0db2]
22963
22964         * parse.c:
22965         fixed a bug that caused directory specs in a Cmnd_Alias to fail if
22966         the last entry in the spec failed (ie: it was only looking at the
22967         last entry). CLeaned things up by adding the cmndcmp() function--all
22968         neat & tidy
22969         [007e93578e5e]
22970
22971         * CHANGES:
22972         added one
22973         [40e8a2cef497]
22974
22975 1994-08-12  Todd C. Miller  <Todd.Miller@courtesan.com>
22976
22977         * sudo.c:
22978         now do two passes to skip bogus interfaces (lo0, etc)
22979         [465e30aecaf7]
22980
22981         * parse.lex, parse.yacc, visudo.c:
22982         added include of netinet/in.h
22983         [11e3816ed362]
22984
22985         * logging.c, sudo_realpath.c, sudo_setenv.c:
22986         added ninclude of netinet/in.h
22987         [daccfa40fe1e]
22988
22989         * check.c, find_path.c, getcwd.c, getwd.c:
22990         added include of netinet/in.h
22991         [0222f95e06ad]
22992
22993         * version.h:
22994         ++
22995         [d6b0cfa35a38]
22996
22997         * sudo.h:
22998         added interfaces global
22999         [ba52fa8ad75e]
23000
23001         * parse.c:
23002         now uses new interfaces global
23003         [17473ad5ecba]
23004
23005         * sudo.c:
23006         now ip addresses are gleaned fw/o dns
23007         [8828bb2007e0]
23008
23009 1994-08-10  Todd C. Miller  <Todd.Miller@courtesan.com>
23010
23011         * sudo.c:
23012         added load_ip_addrs() to load the ip_addrs global var
23013         [60c825f04238]
23014
23015         * parse.c:
23016         added hostcmp() to compare hostnames, ip addrs, and network addrs
23017         [ab0e40e37537]
23018
23019         * sudo.h:
23020         added ip_addrs def added load_ip_addrs prototype
23021         [c41c565d0777]
23022
23023 1994-08-08  Todd C. Miller  <Todd.Miller@courtesan.com>
23024
23025         * CHANGES:
23026         updated
23027         [2a128dbe9bcb]
23028
23029         * Makefile.in:
23030         removed multiple entries in DISTFILES
23031         [2490f4f371e6]
23032
23033         * visudo.c:
23034         ansified the !STDC_HEADERS decls
23035         [646ba06d17ae]
23036
23037         * find_path.c, getcwd.c, getwd.c, putenv.c, strdup.c:
23038         don't do malloc decl if gnuc
23039         [f1bad1925f98]
23040
23041         * sudo.c:
23042         can't use getopt(3) since it munges args to the command to be run as
23043         root don't do malloc decl if gnuc
23044         [38e78f6da14e]
23045
23046         * find_path.c, getcwd.c, getwd.c, putenv.c, strdup.c, sudo.c,
23047         sudo_realpath.c, sudo_setenv.c:
23048         ansi-fied !STDC_HEADER function prottypes
23049         [51d8cad89976]
23050
23051         * getcwd.c, getwd.c:
23052         added missing paren
23053         [6a1fae70e27e]
23054
23055         * Makefile.in:
23056         added putenv.c to DISTFILES
23057         [a5e4523eabbb]
23058
23059         * sudo_setenv.c:
23060         added params to func decls when STDC_HEADERS is not defined now can
23061         count on putenv() being there
23062         [fd587796189b]
23063
23064         * sudo_realpath.c:
23065         took out errno decl since sudo.h does it for us fixed up a next cc
23066         warning added params to func decls when STDC_HEADERS is not defined
23067         [70fa5152ace6]
23068
23069         * sudo.h:
23070         took out environ extern added local declaratio of putenv() if local
23071         version is needed
23072         [a84bae6c020d]
23073
23074         * find_path.c, getcwd.c, getwd.c, strdup.c, sudo.c:
23075         added params to func decls when STDC_HEADERS is not defined
23076         [f406f0e47ac0]
23077
23078         * config.h.in:
23079         added memcpy check check to see that ansi vs bsd macros are ntot
23080         already defiend before defining (ie: avoid redefinition)
23081         [879ae026e19f]
23082
23083         * configure.in:
23084         removed fluff setenv check plus check w/ replace for putenv if also
23085         no setenv
23086         [e3c03814ad4b]
23087
23088         * putenv.c:
23089         Initial revision
23090         [3cff63e2dc1b]
23091
23092 1994-08-06  Todd C. Miller  <Todd.Miller@courtesan.com>
23093
23094         * sudo_setenv.c:
23095         Initial revision
23096         [4d637631fa6b]
23097
23098         * sudo.h:
23099         rm'd s realp[ath added sudo_realpath and sudo_setenv
23100         [07ba001ff57e]
23101
23102         * sudo.c:
23103         now use sudo_setenvc
23104         [fd81e04d5ef0]
23105
23106         * configure.in:
23107         added puteenv and setenv, removed realpath
23108         [27bfacfb513b]
23109
23110         * config.h.in:
23111         added putenv & setenv
23112         [515f14eaf6e4]
23113
23114         * Makefile.in:
23115         added sudo_setenv
23116         [217731a717c5]
23117
23118         * version.h:
23119         ++
23120         [eadb346d7129]
23121
23122 1994-08-05  Todd C. Miller  <Todd.Miller@courtesan.com>
23123
23124         * configure.in:
23125         added MAN_POSTINSTALL and /usr/share/catman for irix
23126         [2a9496c1bdba]
23127
23128         * Makefile.in:
23129         added MAN_POSTINSTALL
23130         [89b0d4695529]
23131
23132         * CHANGES:
23133         added
23134         [48c021ba8a70]
23135
23136         * sudo.man:
23137         added SUDO_* plus new options
23138         [c0759cff5683]
23139
23140         * CHANGES:
23141         added one
23142         [7d44a3922d56]
23143
23144         * configure.in:
23145         took out shadow lib
23146         [07cf3de18701]
23147
23148         * TODO:
23149         adde done
23150         [a27a578e8afe]
23151
23152         * visudo.c:
23153         now use yyrestart() if flex now reset yylineno to 0
23154         [77d67ce0b677]
23155
23156         * Makefile.in:
23157         support for installing a cat page instead of a man page if no nroff
23158         [44671c0fc0fa]
23159
23160         * configure.in:
23161         now defines HAVE_FLEX fixed up man stuff so that it looks for nroff
23162         to determine whether or not to install a cat or man page
23163         [0562d069c135]
23164
23165         * config.h.in:
23166         added HAVE_FLEX
23167         [c5490bae39d3]
23168
23169         * sudo.c:
23170         not set ret to MODE_RUN initially
23171         [88b4983c195b]
23172
23173         * find_path.c:
23174         made command (and therefor cmnd dynamically allocated)
23175         [95b82e32b6de]
23176
23177         * TODO:
23178         did #8
23179         [fb6f41308cdf]
23180
23181         * version.h:
23182         ++
23183         [14112ecab5ae]
23184
23185         * sudo_realpath.c:
23186         changed bufs from MAXPATHLEN to MAXPATHLEN+1
23187         [0ad4f34e55c0]
23188
23189         * sudo.h:
23190         added MODE_ removed validate_only and added remove_timestamp()
23191         [dd5f99c57728]
23192
23193         * sudo.c:
23194         usage() now takes an int (exit value) added parse_args() to parse
23195         command line arguments moved call to find_path() from load_globals
23196         to new function load_cmnd() removed validate_only global -- now use
23197         the concept of "modes" added -h and -k options
23198         [c3887090b28a]
23199
23200         * parse.c:
23201         no longer use global validate_only now checks for command called
23202         "validate" removed check for non-fully qualified commands since that
23203         is done by find_path
23204         [7d56fbd26369]
23205
23206         * find_path.c:
23207         changed MAXPATHLEN r to MAXPATHLEN+1
23208         [a86e8664d971]
23209
23210         * find_path.c:
23211         fixed off by one error with MAXPATHLEN and fixed a comment
23212         [58adcef8c981]
23213
23214         * check.c:
23215         check_timestamp no longer runs reminder(), it is implied in the
23216         return val added remove_timestamp()
23217         [42ab5a77066f]
23218
23219         * CHANGES:
23220         updated
23221         [8e69b31df024]
23222
23223 1994-08-04  Todd C. Miller  <Todd.Miller@courtesan.com>
23224
23225         * BUGS:
23226         fixed on
23227         [bc34f1ac4280]
23228
23229         * sudo_realpath.c:
23230         took out old_errno
23231         [a168d00a0768]
23232
23233         * CHANGES:
23234         updated
23235         [04ba80922df7]
23236
23237 1994-08-03  Todd C. Miller  <Todd.Miller@courtesan.com>
23238
23239         * logging.c:
23240         moved send_mail to after syslog
23241         [4d4188087834]
23242
23243         * sudo.c:
23244         now set SUDO_ envariables
23245         [e5963f1bd3bb]
23246
23247 1994-08-01  Todd C. Miller  <Todd.Miller@courtesan.com>
23248
23249         * version.h:
23250         ++
23251         [2a4534845d8c]
23252
23253         * sudo_realpath.c:
23254         now print error if chdir fails
23255         [0d75c8973d49]
23256
23257         * find_path.c:
23258         removed an XXX
23259         [e2077bcb35aa]
23260
23261 1994-07-26  Todd C. Miller  <Todd.Miller@courtesan.com>
23262
23263         * CHANGES:
23264         updated
23265         [e30a2b39b41a]
23266
23267         * configure.in:
23268         no more static binaries for aix
23269         [77a0beb6bd80]
23270
23271 1994-07-25  Todd C. Miller  <Todd.Miller@courtesan.com>
23272
23273         * INSTALL:
23274         fixed typo
23275         [ba5e0d391bc4]
23276
23277         * sudo_realpath.c:
23278         took out stuff not needed for sudo now does be_root/be_user itself
23279         now uses cwd global
23280         [4f6d4641d793]
23281
23282         * version.h:
23283         +=2
23284         [97da927b297c]
23285
23286         * logging.c, sudo.c:
23287         be_root/be_user is now down in sudo_realpath()
23288         [f331662fa50f]
23289
23290         * logging.c, sudo.h:
23291         now works with 4.2BSD syslog (blech)
23292         [98e39d89dd36]
23293
23294         * find_path.c:
23295         now use sudo_realpath()
23296         [ab436a8ebd02]
23297
23298         * config.h.in:
23299         took out realpth() stuff since we now use sudo_realpath()
23300         [8de5ef9f6044]
23301
23302         * configure.in:
23303         ultrix enhanced sec
23304         [815fb7fffcc0]
23305
23306         * SUPPORTED:
23307         added ultrix enhanced sec.
23308         [6466766c8062]
23309
23310         * INSTALL:
23311         updated
23312         [d681a634297a]
23313
23314         * check.c:
23315         ultrix enhanced security suport
23316         [f10c8decbcc2]
23317
23318         * Makefile.in:
23319         added sudo_realpath.c
23320         [6b9bcd3be022]
23321
23322         * CHANGES:
23323         updated
23324         [2fa8084c1b53]
23325
23326         * tgetpass.c:
23327         increased passwd len to 24 for c2 security
23328         [ec64838be62d]
23329
23330         * BUGS:
23331         updated BUGS
23332         [ca00d8fec2ce]
23333
23334 1994-07-15  Todd C. Miller  <Todd.Miller@courtesan.com>
23335
23336         * check.c:
23337         now use user global var
23338         [568769719013]
23339
23340         * configure.in:
23341         took out -ls
23342         [490a44180d5f]
23343
23344 1994-07-14  Todd C. Miller  <Todd.Miller@courtesan.com>
23345
23346         * configure.in:
23347         added AFS libs
23348         [4fb40c8c01ba]
23349
23350         * sudo.h:
23351         user is now a char * added epasswd
23352         [27a919fafdfb]
23353
23354         * sudo.c:
23355         added tzset() to load_globals added epasswd (encrypted password)
23356         global made user dynamically allocated
23357         [b99ef9bdbfce]
23358
23359         * configure.in:
23360         added tzset test
23361         [27592dd1214b]
23362
23363         * config.h.in:
23364         added HAVE_TZSET
23365         [b13f4213f3d0]
23366
23367         * check.c:
23368         cleaned up encrypted passwd grab somewhat
23369         [c8ba9a4db38a]
23370
23371         * configure.in:
23372         fixed AFS typo
23373         [2bfcbce237b6]
23374
23375         * INSTALL:
23376         added AFS not
23377         [80c67329393c]
23378
23379         * CHANGES:
23380         udpated
23381         [2f09ecdd5d31]
23382
23383         * logging.c:
23384         can now log to both syslog & a file
23385         [4d5c0932bc01]
23386
23387         * sudo.h:
23388         added BOTH_LOGS
23389         [623c539be824]
23390
23391         * CHANGES:
23392         updated
23393         [a1c7f5ef3616]
23394
23395         * configure.in:
23396         --with-AFS
23397         [28718d8f5daf]
23398
23399         * config.h.in:
23400         added HAVE_AFS
23401         [2e32bb4e63e4]
23402
23403         * check.c:
23404         added afs changes
23405         [fe4d0ff320a2]
23406
23407         * sudo.h:
23408         removed AFS stuff :-)
23409         [a40387e6fa27]
23410
23411         * tgetpass.c:
23412         include sys/select for AIX
23413         [f32c5a8f2c84]
23414
23415         * sudo.h:
23416         added AFS
23417         [da2ab3dd0348]
23418
23419         * version.h:
23420         ++
23421         [452d4dfe25af]
23422
23423 1994-07-07  Todd C. Miller  <Todd.Miller@courtesan.com>
23424
23425         * CHANGES, SUPPORTED:
23426         updated
23427         [e7dfe6f23a37]
23428
23429         * logging.c:
23430         can now have MAILER undefined
23431         [1d33b98b35e1]
23432
23433         * INSTALL:
23434         new sub-note about MAILER
23435         [d35c636a0574]
23436
23437         * sudo.man:
23438         added blurb about password timeout
23439         [70c2ee50de20]
23440
23441         * configure.in:
23442         convex c2 changes
23443         [367138a6232e]
23444
23445         * aclocal.m4:
23446         took out duplicate define of _CONVEX_SOURCE
23447         [647182138450]
23448
23449         * Makefile.in:
23450         added OSDEFS
23451         [7fdcd50602d1]
23452
23453         * config.h.in:
23454         added spaces
23455         [f2b8a05e48f3]
23456
23457         * tgetpass.c:
23458         added a goto if fgets fails
23459         [68a6586d9c45]
23460
23461         * sudo.h:
23462         use __hpux not hpux convex c2 stuff
23463         [5c377a8d5f34]
23464
23465         * sudo.c:
23466         use __hpux not hpux
23467         [9363bc0f9f9e]
23468
23469         * logging.c:
23470         convex c2 stuff
23471         [ea5630975ac4]
23472
23473         * config.h.in:
23474         define ansi-ish cpp os defines if non-ansi are defined for hpux &
23475         convex
23476         [664f53a5e786]
23477
23478         * INSTALL:
23479         updated to say we support sonvex C2
23480         [5f2f8b87013e]
23481
23482         * check.c:
23483         added convex c2 support
23484         [9a665d4918fa]
23485
23486 1994-07-01  Todd C. Miller  <Todd.Miller@courtesan.com>
23487
23488         * tgetpass.c:
23489         no more ioctl never returns NULL uses fgets() and select() to
23490         timeout
23491         [b333e6d63e97]
23492
23493 1994-06-29  Todd C. Miller  <Todd.Miller@courtesan.com>
23494
23495         * configure.in:
23496         things were testing -n "$GCC" instead of -z "$GCC"
23497         [059a9b15ede2]
23498
23499         * tgetpass.c:
23500         now works + uses fgets()
23501         [353d7ebcb7bb]
23502
23503 1994-06-28  Todd C. Miller  <Todd.Miller@courtesan.com>
23504
23505         * tgetpass.c:
23506         select doesn't seem to recognize a single '\n' as input waiting so
23507         we can;t use it, sigh.
23508         [f76e3218b835]
23509
23510 1994-06-26  Todd C. Miller  <Todd.Miller@courtesan.com>
23511
23512         * PORTING:
23513         updated tgetpass() blurb
23514         [95baac736b49]
23515
23516         * configure.in:
23517         added --with-getpass
23518         [42ac0bdf58ed]
23519
23520         * Makefile.in:
23521         added tgetpass stuff
23522         [e2b38c635663]
23523
23524         * tgetpass.c:
23525         now uses stdio
23526         [36af8ff66e35]
23527
23528         * version.h:
23529         ++
23530         [4e81c9db19bd]
23531
23532 1994-06-24  Todd C. Miller  <Todd.Miller@courtesan.com>
23533
23534         * PORTING:
23535         updated ,.
23536         [54f523770a05]
23537
23538         * config.h.in:
23539         added USE_GETPASS && HAVE_C2_SECURITY
23540         [86b355cb2953]
23541
23542         * configure.in:
23543         fixed a test aded --with-C2 and --with-tgetpass
23544         [abf6181588ef]
23545
23546         * check.c:
23547         added hpux C2 shit
23548         [20d4177ffa88]
23549
23550         * Makefile.in:
23551         took out tgetpass.*
23552         [cc82fd9984b4]
23553
23554         * INSTALL:
23555         added C2 blurb
23556         [1d2bfc35e4b6]
23557
23558 1994-06-13  Todd C. Miller  <Todd.Miller@courtesan.com>
23559
23560         * configure.in:
23561         no termio(s) for ultrix since it is broken
23562         [d3e82e835350]
23563
23564         * check.c:
23565         added a space (yeah, anal)
23566         [05e4b31ca68c]
23567
23568         * realpath.c, sudo_realpath.c:
23569         fixed it (duh, rtfm)
23570         [f13097cb8cb6]
23571
23572 1994-06-08  Todd C. Miller  <Todd.Miller@courtesan.com>
23573
23574         * config.h.in:
23575         took out bsd signal stuff for irix
23576         [e179cdafc97a]
23577
23578         * visudo.c:
23579         comments in #endif
23580         [e3a629190f5e]
23581
23582         * configure.in:
23583         don't define BSD signals for irix
23584         [3ce57bffb7f0]
23585
23586         * TODO:
23587         did some...
23588         [274241cd0f74]
23589
23590         * CHANGES:
23591         updated
23592         [8f29fc755faf]
23593
23594         * realpath.c, sudo_realpath.c:
23595         took out unneeded code by changing where a strings was terminated
23596         [b5564d62d30e]
23597
23598 1994-06-07  Todd C. Miller  <Todd.Miller@courtesan.com>
23599
23600         * realpath.c, sudo_realpath.c:
23601         fix bug where /dirname would return NULL
23602         [b85f470daf26]
23603
23604         * sudo.h:
23605         move __P to config.h
23606         [7763c0ff3f28]
23607
23608         * getcwd.c, getwd.c, realpath.c, sudo_realpath.c:
23609         added errno definition
23610         [4cc9d2d9782a]
23611
23612         * config.h.in:
23613         added __P
23614         [ca06f5aa58f3]
23615
23616         * config.h.in:
23617         added HAVE_FCHDIR
23618         [206d714641e0]
23619
23620         * strdup.c:
23621         now include stdio
23622         [0d8458da0e1d]
23623
23624         * realpath.c, sudo_realpath.c:
23625         now works if no fchdir
23626         [e035911b6722]
23627
23628         * visudo.c:
23629         define SA_RESETHAND to null if not defined
23630         [afec03e84342]
23631
23632         * configure.in:
23633         added check & replace
23634         [c1a65481441c]
23635
23636         * configure.in:
23637         took out -static for nextstep -- it doesn't work
23638         [fa1a1a611743]
23639
23640 1994-06-06  Todd C. Miller  <Todd.Miller@courtesan.com>
23641
23642         * logging.c:
23643         moved #endif to where it belongs
23644         [07d3a8972097]
23645
23646         * SUPPORTED:
23647         correction
23648         [0c1ecba3e5a3]
23649
23650         * configure.in:
23651         now checks for strdup realpath getcwd bzero
23652         [f029a1917515]
23653
23654         * config.h.in:
23655         emulate bzero
23656         [d792352e44a3]
23657
23658         * visudo.c:
23659         added posic signals
23660         [2ed0005f90fc]
23661
23662         * tgetpass.c:
23663         bzero cast
23664         [6d91b1a1526f]
23665
23666         * logging.c:
23667         added posix signals
23668         [67ede9c22a05]
23669
23670         * configure.in:
23671         removed BROKEN_GETPASS added new srcs toreplace missing functions
23672         [cf44274bb1c8]
23673
23674         * config.h.in:
23675         added posix signal stuff
23676         [a3c1c98fe8ef]
23677
23678         * Makefile.in:
23679         added new srcs
23680         [b6a079afee47]
23681
23682         * visudo.c:
23683         updated useag
23684         [589ed091c44f]
23685
23686         * tgetpass.c:
23687         now uses posix signals
23688         [30f74964074f]
23689
23690         * PORTING:
23691         updated sto reflect major changes
23692         [bcfc309e017b]
23693
23694         * CHANGES, TODO:
23695         updated
23696         [23aacbd54278]
23697
23698         * tgetpass.c:
23699         uses sysconf() if available
23700         [a27431c90bab]
23701
23702         * sudo.h:
23703         added PASSWORD_TIMEOUT + prototypes for new functions
23704         [d7473c2f77c4]
23705
23706         * realpath.c, sudo_realpath.c:
23707         for those w/o this in libc
23708         [1e47aa7a9d46]
23709
23710         * getcwd.c, getwd.c:
23711         Initial revision
23712         [c90dea57a84f]
23713
23714         * find_path.c:
23715         rewrote to use realpath(3) - nis now all my code
23716         [d2c3bb8fb37d]
23717
23718         * config.h.in:
23719         added HAVE_REALPATH
23720         [02c10352a8c7]
23721
23722         * check.c:
23723         now use tgetpass
23724         [b5c021fc179f]
23725
23726         * Makefile.in:
23727         added LIBOBJS use tgetpass.c
23728         [230a7b3eeaa3]
23729
23730 1994-06-05  Todd C. Miller  <Todd.Miller@courtesan.com>
23731
23732         * tgetpass.c:
23733         works now :-)
23734         [025e7a3875ba]
23735
23736         * tgetpass.c:
23737         Initial revision
23738         [3316ab33b230]
23739
23740         * pathnames.h.in:
23741         added /dev/tty
23742         [29242585e53f]
23743
23744 1994-06-04  Todd C. Miller  <Todd.Miller@courtesan.com>
23745
23746         * version.h:
23747         incremented
23748         [f2e54b48280f]
23749
23750         * sudo.c:
23751         always use getcwd
23752         [c6068e8a4029]
23753
23754         * config.h.in:
23755         added check for getwd
23756         [ab1e102ad673]
23757
23758         * configure.in:
23759         replace strdup & realpath & getcwd if missing
23760         [b0eb14f2a1c3]
23761
23762         * pathnames.h.in:
23763         added _PATH_PWD
23764         [309d2388f69a]
23765
23766         * aclocal.m4:
23767         added SUDO_PROG_PWD
23768         [e16e85deb96c]
23769
23770         * strdup.c:
23771         Initial revision
23772         [810efdc15007]
23773
23774         * realpath.c, sudo_realpath.c:
23775         Initial revision
23776         [d85eee438e09]
23777
23778 1994-06-03  Todd C. Miller  <Todd.Miller@courtesan.com>
23779
23780         * configure.in:
23781         quoted quare brackets
23782         [d0e7ca111d98]
23783
23784 1994-06-02  Todd C. Miller  <Todd.Miller@courtesan.com>
23785
23786         * sudo.c:
23787         no need to strdup() a constant
23788         [a8c44712df9a]
23789
23790         * CHANGES:
23791         updated
23792         [71364129cca0]
23793
23794         * sudo.man:
23795         added validate
23796         [0bb198095a26]
23797
23798         * sudo.c:
23799         added -v to usage
23800         [31ea71f11dbb]
23801
23802         * parse.c, sudo.c, sudo.h:
23803         added validate_only stuff
23804         [9bcd853d3c90]
23805
23806 1994-05-30  Todd C. Miller  <Todd.Miller@courtesan.com>
23807
23808         * configure.in:
23809         now finds sed
23810         [6374bb0d3f28]
23811
23812         * aclocal.m4:
23813         $OSREV is now an int
23814         [ace0666d66cf]
23815
23816 1994-05-29  Todd C. Miller  <Todd.Miller@courtesan.com>
23817
23818         * configure.in:
23819         added mtxinu to caser
23820         [73a776887b16]
23821
23822         * sudo.h:
23823         added EXEC macro
23824         [2e8eb28b710a]
23825
23826         * sudo.c:
23827         now use the EXEC nmacro now only do a gethostbyname() if FQDN is set
23828         [56afb4f658d5]
23829
23830         * logging.c:
23831         changed mail_argv[] def now use EXEC() macro
23832         [ddcabd28edb1]
23833
23834         * check.c:
23835         took out crypt() definition
23836         [0e657724cf5f]
23837
23838         * version.h:
23839         upped the version
23840         [62c5d66119fc]
23841
23842         * configure.in:
23843         always look for -lnsl
23844         [d7b594f0313b]
23845
23846         * aclocal.m4:
23847         added an echo
23848         [1caae3491dc5]
23849
23850         * sudo.h:
23851         SHORT_MESSAGE is now the default
23852         [cfce35c3119a]
23853
23854         * config.h.in:
23855         fixed typo
23856         [6499a564bf75]
23857
23858         * configure.in:
23859         added missing AC_DEFINE(SVR4) for solaris
23860         [feef0b17b94f]
23861
23862         * sudo.man:
23863         documented the -v flag
23864         [a6429f2bc2cf]
23865
23866         * SUPPORTED:
23867         updated
23868         [088886e79540]
23869
23870         * check.c:
23871         proto-ized crypt()
23872         [801e4ff5b121]
23873
23874         * config.h.in:
23875         added LIBSHADOW undef
23876         [8df588e9ee2b]
23877
23878         * configure.in:
23879         nwo set OS to be lowercase
23880         [561ebed833e4]
23881
23882 1994-05-28  Todd C. Miller  <Todd.Miller@courtesan.com>
23883
23884         * configure.in:
23885         now use SUDO_OSTYPE to set $OS
23886         [0e60aee23098]
23887
23888         * aclocal.m4:
23889         now use uname to determine os
23890         [99705e58d400]
23891
23892         * visudo.c:
23893         added prototypes & moved sig handler around
23894         [1f0bc8d23b51]
23895
23896         * sudo.h:
23897         added prototyppes
23898         [be3935a2b163]
23899
23900         * check.c, logging.c, sudo.c:
23901         added prototypes
23902         [2079b4605ab8]
23903
23904         * parse.c:
23905         added comment
23906         [a34d147d8399]
23907
23908         * config.h.in:
23909         nwo use _BSD_SIGNALS not _BSD_COMPAT
23910         [63663195f047]
23911
23912         * aixcrypt.exp:
23913         Initial revision
23914         [890aed08357e]
23915
23916         * Makefile.in:
23917         added aixcrypt.exp
23918         [1005a183105f]
23919
23920         * parse.lex, parse.yacc:
23921         moved config.h to top of includes
23922         [9569c49aa5f3]
23923
23924 1994-05-25  Todd C. Miller  <Todd.Miller@courtesan.com>
23925
23926         * find_path.c:
23927         now don't bitch if get EACCESS (treat like EPERM)
23928         [dbeffb638de4]
23929
23930         * visudo.c:
23931         added -v flag and usage()
23932         [4d44ed60ed75]
23933
23934         * version.h:
23935         fixed a typo
23936         [cf3f9347ae41]
23937
23938         * sudo.c:
23939         cast Argv to a const for exec added -v flag
23940         [d11b6efc0e45]
23941
23942         * logging.c:
23943         mail_argv is now a const
23944         [93bb5d90bb6f]
23945
23946         * configure.in:
23947         only set RETSIGTYPE if it is not set already
23948         [c97aac260b77]
23949
23950         * aclocal.m4:
23951         now defines & STDC_HEADERS for Irix
23952         [9c2b24ad1fc5]
23953
23954         * Makefile.in:
23955         added version.h
23956         [9f79e880229a]
23957
23958         * insults.h, sudo.h:
23959         prevent multiple inclusion
23960         [d68c8a9243ce]
23961
23962         * version.h:
23963         Initial revision
23964         [dbb39c5ef8d9]
23965
23966         * parse.lex, parse.yacc:
23967         now includes config.h
23968         [f117e036a56b]
23969
23970         * aclocal.m4:
23971         now talks about sunos 4.x
23972         [c9054aa92d4e]
23973
23974         * visudo.c:
23975         calls to Exit now pass an arg
23976         [a92104670551]
23977
23978 1994-05-24  Todd C. Miller  <Todd.Miller@courtesan.com>
23979
23980         * visudo.c:
23981         signal handler now takes an int argument
23982         [26f480c41523]
23983
23984         * CHANGES:
23985         updated
23986         [8c166a9d796b]
23987
23988         * sudo.c:
23989         ok, the getcwd() is now *really* done as the user
23990         [ab86cf85134a]
23991
23992         * configure.in:
23993         changed AIX STATIC_FLAGS
23994         [b9c0a3ba5663]
23995
23996         * aclocal.m4:
23997         solaris now defines SVR4
23998         [c3e20cac96f5]
23999
24000         * sudo.h:
24001         added cwd and fixed stupid core dump that makes no sense. sigh.
24002         [7a9755436dbb]
24003
24004         * sudo.c:
24005         moved getcwd stuff into load_globals
24006         [ec2bc90df1f3]
24007
24008         * parse.c:
24009         took out externs that are in suod.h
24010         [93c4b3f856d7]
24011
24012         * logging.c:
24013         moved cwd into load_globals
24014         [050de754d228]
24015
24016         * find_path.c:
24017         moved cwd stuff
24018         [22f3f3b4c34d]
24019
24020         * Makefile.in:
24021         fixed make distclean & realclean
24022         [c9964d89bcef]
24023
24024         * TODO:
24025         updated .,
24026         [e513581ef0e3]
24027
24028         * CHANGES:
24029         added solaris changes
24030         [505d930daf27]
24031
24032         * aclocal.m4:
24033         added solaris changes, need to rework
24034         [33f20fb16c49]
24035
24036         * configure.in:
24037         cleaned up for solaris
24038         [2fb8cfa05d0f]
24039
24040         * logging.c:
24041         reinstall reapchild signal handler for non-bsd signals
24042         [3d1dc545113d]
24043
24044         * sudo.h:
24045         took out getdtablesize() emulation for HP-UX (no longer needed)
24046         [1fc83d170f34]
24047
24048         * sudo.c:
24049         support for HAVE_SYSCONF
24050         [50ca2a7a224a]
24051
24052         * visudo.c:
24053         added <fcntl.h> for solaris & reorg'd the includes + minor prettying
24054         up /
24055         [0a570e826dd4]
24056
24057         * config.h.in:
24058         added HAVE_SYSCONF
24059         [2b9a9f3a4e94]
24060
24061 1994-05-16  Todd C. Miller  <Todd.Miller@courtesan.com>
24062
24063         * configure.in:
24064         now tells you what os you are running /.
24065         [06c6332a895b]
24066
24067         * aclocal.m4:
24068         took out extra ','
24069         [e8c75ce59f4a]
24070
24071 1994-05-14  Todd C. Miller  <Todd.Miller@courtesan.com>
24072
24073         * config.h.in:
24074         added _BSD_COMPAT
24075         [73c5099806c2]
24076
24077         * aclocal.m4:
24078         fixed for irix5
24079         [1047d1f6c0eb]
24080
24081         * CHANGES:
24082         updated
24083         [1bc4969fee96]
24084
24085         * sudo.c:
24086         uid seinitialized to -2
24087         [8d7812b1878b]
24088
24089 1994-04-28  Todd C. Miller  <Todd.Miller@courtesan.com>
24090
24091         * sudo.c:
24092         now removes LIBPATH for AIX
24093         [075392eb1dd9]
24094
24095 1994-03-13  Todd C. Miller  <Todd.Miller@courtesan.com>
24096
24097         * configure.in:
24098         now uses ufc if it finds it
24099         [ab6ce30a5958]
24100
24101 1994-03-12  Todd C. Miller  <Todd.Miller@courtesan.com>
24102
24103         * sudo.h:
24104         no longer define yyval & yylval since yacc does it
24105         [09d250aea50a]
24106
24107         * parse.lex:
24108         now defines yylval as extenr
24109         [8ec2b88952bc]
24110
24111         * configure.in:
24112         BROKEN_GETPASS is now an OPTION
24113         [3714f4bb8312]
24114
24115         * config.h.in:
24116         took out BROKEN_GETPASS
24117         [9c4f6aa50137]
24118
24119         * Makefile.in:
24120         took out big comment
24121         [4c13cff0e556]
24122
24123         * README:
24124         updated
24125         [b8b9902b620d]
24126
24127         * Makefile.in:
24128         took out README.beta
24129         [ed2cd861e82b]
24130
24131         * SUPPORTED:
24132         Initial revision
24133         [2fffc51e6606]
24134
24135         * INSTALL:
24136         now reference SUPPORTED .,
24137         [d112c30be1f2]
24138
24139         * config.h.in:
24140         now check for convex OR __convex__
24141         [a0e5701a3069]
24142
24143         * aclocal.m4:
24144         now check for convex or __convex__
24145         [5dae2bfbe3bc]
24146
24147         * Makefile.in:
24148         added dist target
24149         [400a54de57db]
24150
24151         * aclocal.m4:
24152         use __convex__
24153         [58a19470ed0b]
24154
24155         * find_path.c:
24156         now use _S_* stat stuff to be ansi-like
24157         [28cce560e048]
24158
24159         * INSTALL:
24160         updated for configure directions
24161         [a034ccc7c30a]
24162
24163         * Makefile.in:
24164         distclean now removes config.h and pathnames.h
24165         [300f2349b4ab]
24166
24167         * CHANGES:
24168         updated
24169         [646f7e9430c1]
24170
24171         * TODO:
24172         fixed typoe
24173         [70fd6361b2bc]
24174
24175         * visudo.c:
24176         updated version
24177         [cf13d87d789f]
24178
24179         * Makefile.in:
24180         updated version
24181         [8c5dacc27a7a]
24182
24183         * config.h.in, pathnames.h.in:
24184         added copyright header
24185         [747ce3d3d6b7]
24186
24187         * check.c, find_path.c, insults.h, logging.c, parse.c, parse.lex,
24188         parse.yacc, sudo.c, sudo.h:
24189         udpated version
24190         [4751c39bad18]
24191
24192         * visudo.c:
24193         udpated to use configure + pathnames.h
24194         [d45dff76a1cd]
24195
24196         * aclocal.m4:
24197         updated
24198         [f05a367a55be]
24199
24200         * Makefile.in, config.h.in, configure.in:
24201         updated
24202         [524778598879]
24203
24204         * sudo.h:
24205         now works with configure
24206         [83fc40e533f4]
24207
24208         * check.c, find_path.c, getpass.c, logging.c, parse.c, sudo.c:
24209         updated to work with configure + pathnames.h
24210         [cb67fa6ab52d]
24211
24212         * Makefile.in:
24213         added LEXLIB
24214         [f43cad4ab0a2]
24215
24216 1994-03-10  Todd C. Miller  <Todd.Miller@courtesan.com>
24217
24218         * COPYING:
24219         updated gnu general licence to versio 2
24220         [2b0b56112ddc]
24221
24222         * config.h.in, pathnames.h.in:
24223         Initial revision
24224         [4b586f39ec2d]
24225
24226         * sudo.h:
24227         changed to work with configure
24228         [13f3506ddf16]
24229
24230 1994-03-09  Todd C. Miller  <Todd.Miller@courtesan.com>
24231
24232         * Makefile.in, aclocal.m4, configure.in:
24233         Initial revision
24234         [a8636ae77371]
24235
24236         * visudo.c:
24237         now uses defines used by configure
24238         [de438d118993]
24239
24240 1994-03-01  Todd C. Miller  <Todd.Miller@courtesan.com>
24241
24242         * find_path.c:
24243         sudo won't bitch about EPERM now, for real
24244         [ce26d9ef7e3f]
24245
24246 1994-02-28  Todd C. Miller  <Todd.Miller@courtesan.com>
24247
24248         * logging.c:
24249         renamed exec_argv to eliminate a libc name clash with ksros
24250         [bcb4350d8411]
24251
24252         * CHANGES:
24253         corrected
24254         [dae68d422efd]
24255
24256         * logging.c, sudo.c, sudo.h:
24257         execve -> execv
24258         [40cc2c4bdb15]
24259
24260         * TODO:
24261         upated
24262         [9275a8b8fc45]
24263
24264         * PORTING:
24265         added 2 mroe items
24266         [6cbb5c56993c]
24267
24268         * CHANGES:
24269         updated
24270         [73f34f8e571a]
24271
24272         * sudo.h:
24273         added UMASK and mode_t declaration
24274         [7c2015e1d171]
24275
24276         * sudo.c:
24277         added UMASK
24278         [d37be7523680]
24279
24280         * logging.c:
24281         now opens log file with mode 077
24282         [0825cc3ee841]
24283
24284         * check.c:
24285         saved current umask ans restores it
24286         [659c1aaae8e8]
24287
24288         * sudo.h:
24289         added MAXLOGFILELEN
24290         [34331c7dee90]
24291
24292         * logging.c:
24293         split long log lines. FOr syslog, split into multiple entries, for
24294         a log file, indent the extra for readability
24295         [72c9e4cdba6e]
24296
24297 1994-02-27  Todd C. Miller  <Todd.Miller@courtesan.com>
24298
24299         * CHANGES:
24300         added changes
24301         [81196833673d]
24302
24303         * sudo.h:
24304         MAXLOGLEN & MAXSYSLOGLEN are now different (as they should be)
24305         [1aa69e903840]
24306
24307 1994-02-25  Todd C. Miller  <Todd.Miller@courtesan.com>
24308
24309         * TODO:
24310         added input from Brett M Hogden <hogden@rge.com>
24311         [80f01fc88ce9]
24312
24313 1994-02-16  Todd C. Miller  <Todd.Miller@courtesan.com>
24314
24315         * sudo.c:
24316         added rmenv() to remove stuff from environ. can now uses execvp()
24317         OR execve() becuase of this.
24318         [e7fc2535bd67]
24319
24320         * logging.c:
24321         now uses execvp() OR execve()
24322         [56391aa1f99d]
24323
24324         * sudo.h:
24325         added USE_EXECVE
24326         [f21f38050b95]
24327
24328         * sudo.h:
24329         added environ
24330         [6b805e23c6f6]
24331
24332         * find_path.c:
24333         now ignore EPERM
24334         [c8fd7117a1d7]
24335
24336         * sudo.h:
24337         moved some func decls out of sudo.h and into sudo.c as statics /.
24338         [5f555c267d27]
24339
24340         * CHANGES:
24341         updated
24342         [431f478af320]
24343
24344         * sudo.h:
24345         took out Envp
24346         [6f722be7793d]
24347
24348 1994-02-14  Todd C. Miller  <Todd.Miller@courtesan.com>
24349
24350         * BUGS:
24351         Initial revision
24352         [4a8ecf0da95c]
24353
24354 1994-02-10  Todd C. Miller  <Todd.Miller@courtesan.com>
24355
24356         * CHANGES:
24357         added SECURE_PATH
24358         [1c72cb222609]
24359
24360         * sudo.c, sudo.h:
24361         added SECURE_PATH
24362         [5bf5357a63c5]
24363
24364         * sudo.h:
24365         added SECURE_PATH
24366         [3976a74405ac]
24367
24368         * INSTALL:
24369         added sample.sudoers note
24370         [1b395d29aaeb]
24371
24372         * sudoers:
24373         Initial revision
24374         [485888d07477]
24375
24376 1994-02-09  Todd C. Miller  <Todd.Miller@courtesan.com>
24377
24378         * find_path.c:
24379         fixed typo
24380         [bfc3cc4d41ca]
24381
24382         * PORTING:
24383         took out SAVED_UID garbage
24384         [b7c2d3469661] [SUDO_1_3_0]
24385
24386         * INSTALL:
24387         mentioned HAL
24388         [253d6695df90]
24389
24390         * sudo.h:
24391         added HAL line
24392         [29ec1a4ac6de]
24393
24394         * insults.h:
24395         added HAL insults
24396         [7d7c96d77c74]
24397
24398         * TODO:
24399         updated
24400         [aa2ed9790586]
24401
24402         * logging.c:
24403         more verbose error if mailer not found
24404         [fca47fd00cb6]
24405
24406         * check.c:
24407         now do getpwent as root for soem shadow password systems (bsdi)
24408         [e0339e110d46]
24409
24410 1994-02-08  Todd C. Miller  <Todd.Miller@courtesan.com>
24411
24412         * sudo.h:
24413         took out SAVED_UID garbade
24414         [fcb0e81dcdb5]
24415
24416         * sudo.c:
24417         took out SAVED_UID garbage since it don't work
24418         [507e9513e9c2]
24419
24420 1994-02-06  Todd C. Miller  <Todd.Miller@courtesan.com>
24421
24422         * README:
24423         updated
24424         [d2b6b253dae5]
24425
24426         * insults.h:
24427         added a missing space :-)
24428         [8940ea991f87]
24429
24430         * sudo.c, sudo.h:
24431         took out multimax cruft
24432         [c2606b365181]
24433
24434         * INSTALL:
24435         minor update
24436         [05fb6ee73131]
24437
24438         * PORTING:
24439         finished
24440         [c4ac47c84dc5]
24441
24442         * sudo.c:
24443         fixed a typo + indentation
24444         [7eab40aae8fa]
24445
24446 1994-02-05  Todd C. Miller  <Todd.Miller@courtesan.com>
24447
24448         * sudo.h:
24449         took outumoved some defines to the config file ,. ,.
24450         [defff05beb52]
24451
24452         * PORTING:
24453         Initial revision
24454         [c803e9127959]
24455
24456         * TODO:
24457         did #6
24458         [c6fa1c946c31]
24459
24460         * sudo.h:
24461         added HAS_SAVED_UID
24462         [6a88a39c0a07]
24463
24464         * sudo.c:
24465         put back AIX cruft
24466         [a24d2507ddd4]
24467
24468 1994-02-03  Todd C. Miller  <Todd.Miller@courtesan.com>
24469
24470         * sudo.c:
24471         aix changes
24472         [1663915f754a]
24473
24474 1994-02-02  Todd C. Miller  <Todd.Miller@courtesan.com>
24475
24476         * CHANGES:
24477         updated
24478         [a8cc73747cae]
24479
24480         * check.c, logging.c, parse.c, sudo.c, sudo.h:
24481         now is only root when abs necesary
24482         [3c9d12c5cdfe]
24483
24484         * check.c:
24485         added missing %s\n
24486         [609320b72d89]
24487
24488 1994-01-31  Todd C. Miller  <Todd.Miller@courtesan.com>
24489
24490         * install-sh:
24491         Initial revision
24492         [b5bba140a175]
24493
24494         * TODO:
24495         updated
24496         [c9d2eba602af]
24497
24498         * CHANGES:
24499         updated
24500         [932f1fc3bb14]
24501
24502         * sudo.c:
24503         now removed _RLD_* for alphas
24504         [54a36e648158]
24505
24506         * INSTALL:
24507         updated for new config scheme
24508         [61c8ae800444]
24509
24510         * find_path.c:
24511         more verbose eror messages
24512         [b4fd123db42d]
24513
24514 1994-01-27  Todd C. Miller  <Todd.Miller@courtesan.com>
24515
24516         * TODO:
24517         now have solaris
24518         [371002fbf266]
24519
24520         * sudo.h:
24521         define __svr4__ for SOLARIS
24522         [0b5cf5ed936d]
24523
24524         * check.c:
24525         added svr4 junk for shadow pws for solaris 2.x
24526         [91ed58f21618]
24527
24528         * check.c, sudo.c:
24529         took out setuid(0) and setreuid(udi) garbage. Its not needed since
24530         we start out setuid with the correct perms.
24531         [07689e782b0b]
24532
24533         * check.c, sudo.c, sudo.h:
24534         now use setreuid()
24535         [7d64d685d78e]
24536
24537 1994-01-26  Todd C. Miller  <Todd.Miller@courtesan.com>
24538
24539         * sudo.man:
24540         revised AUTHORS secrtion & added ENV_EDITOR stuff to VARIABLES
24541         sectoin
24542         [b26967b1e19b]
24543
24544         * visudo.c:
24545         now uses ENV_EDITOR if you want to use the EDITOR envar
24546         [a4f8fcb9bd1d]
24547
24548         * sudo.h:
24549         now uses ENV_EDITOR if you want to use the EDITOR envar >> .
24550         [028cc55c4328]
24551
24552 1993-12-07  Todd C. Miller  <Todd.Miller@courtesan.com>
24553
24554         * INSTALL:
24555         rewrote most of this
24556         [a6750923f9c9]
24557
24558         * README:
24559         minor update + spell fix
24560         [a411717a7249]
24561
24562         * sudo.h:
24563         added all options that are in the Makefile
24564         [6db3b3b841b3]
24565
24566         * getpass.c:
24567         now use USE_TERMIO #define for sgi & hpux
24568         [b91f89ae6be1]
24569
24570         * TODO:
24571         todo: posix sigs
24572         [4548a56eb2ef]
24573
24574 1993-12-06  Todd C. Miller  <Todd.Miller@courtesan.com>
24575
24576         * check.c, find_path.c:
24577         always include strings.h
24578         [1fc20bda92c0]
24579
24580         * visudo.c:
24581         added STATICEDITOR
24582         [0596f820716e]
24583
24584         * sudo.h:
24585         sgi has vi in /usr/bin too
24586         [94203b62bfd9]
24587
24588         * sudo.man:
24589         added VISUAL
24590         [87c2844c4cac]
24591
24592 1993-12-03  Todd C. Miller  <Todd.Miller@courtesan.com>
24593
24594         * sudo.h:
24595         sue /usr/bin/vi on some systems
24596         [e3ad9190f35e]
24597
24598         * sudo.c:
24599         fixed warning (include strings.h)
24600         [0b896de4d8a0]
24601
24602         * sudo.man:
24603         added John_Rouillard@dl5000.bc.edu's changes (new features)
24604         [f41b4205a8cf]
24605
24606         * CHANGES:
24607         changes from John_Rouillard@dl5000.bc.edu
24608         [6bdef8e948d5]
24609
24610         * visudo.c:
24611         added EDITOR envar
24612         [5c4bf716de21]
24613
24614         * check.c, find_path.c, parse.c, sudo.c:
24615         added patches from John_Rouillard directory spec
24616         uses EDITOR
24617         [f62a435f8c41]
24618
24619 1993-12-02  Todd C. Miller  <Todd.Miller@courtesan.com>
24620
24621         * getpass.c:
24622         added flush for hpux
24623         [07cfdd6a7b55]
24624
24625 1993-11-30  Todd C. Miller  <Todd.Miller@courtesan.com>
24626
24627         * sudo.c:
24628         no longer assume malloc returns a char *
24629         [7480bd2756f3]
24630
24631         * sudo.c:
24632         alpha change to remove LD_-like thing fixed SHLIB_PATH stuff -- now
24633         gets removed correctly
24634         [8587166c6ac8]
24635
24636         * sudo.h:
24637         added STD_HEADERS macro
24638         [480f5a9a516c]
24639
24640         * sudo.c:
24641         now uses STD_HEADERS macor for ansi
24642         [c5018806fd59]
24643
24644         * find_path.c:
24645         now uses STD_HEADERS macro
24646         [ad821e0788ea]
24647
24648         * check.c:
24649         niceties for C compiler bitches -- no real change
24650         [0fc0b1a5fb64]
24651
24652 1993-11-29  Todd C. Miller  <Todd.Miller@courtesan.com>
24653
24654         * visudo.c:
24655         now doesn't fclose a file never opened.
24656         [ee888ec9427d]
24657
24658 1993-11-28  Todd C. Miller  <Todd.Miller@courtesan.com>
24659
24660         * sudo.man:
24661         added visudo line
24662         [698d51c66407]
24663
24664         * sudo.man:
24665         added error stuff added me in there...
24666         [d202fd34b906]
24667
24668         * CHANGES:
24669         noted insults
24670         [998a22c2230c]
24671
24672         * INSTALL:
24673         added blurb about reading stuff
24674         [e71db100798f]
24675
24676         * sudo.h:
24677         added insults
24678         [c110431cec56]
24679
24680         * insults.h:
24681         corrected somments and removed newlines
24682         [493706fd488c]
24683
24684         * check.c:
24685         now uses insults
24686         [6d23cf06a0ef]
24687
24688         * insults.h:
24689         Initial revision
24690         [83153c26b4a3]
24691
24692         * INSTALL:
24693         added dec syslog note
24694         [555437273237]
24695
24696         * sample.sudoers:
24697         added real stuff in there
24698         [53442a7fba78]
24699
24700         * TODO:
24701         added a todo
24702         [c630472bd4dc]
24703
24704         * TODO:
24705         added one
24706         [806464453284]
24707
24708 1993-11-27  Todd C. Miller  <Todd.Miller@courtesan.com>
24709
24710         * sample.sudoers:
24711         Initial revision
24712         [7db0a9f1ca8f]
24713
24714         * sudo.man:
24715         updated with changes
24716         [d9bf254c6c08]
24717
24718         * sudo.man:
24719         Initial revision
24720         [dd6f11174ac6]
24721
24722         * indent.pro:
24723         Initial revision
24724         [dbfbb494fad9]
24725
24726         * CHANGES, COPYING, INSTALL, README, TODO:
24727         Initial revision
24728         [6d98f489a079]
24729
24730         * visudo.c:
24731         updated version number and took out jeff's old addr since it is no
24732         good
24733         [ee47c24818cb]
24734
24735         * check.c, find_path.c, logging.c, parse.c, parse.lex, parse.yacc,
24736         sudo.c, sudo.h:
24737         updated version number and took out jeff's email (since it is
24738         invalid)
24739         [54616458a52e]
24740
24741 1993-10-28  Todd C. Miller  <Todd.Miller@courtesan.com>
24742
24743         * check.c:
24744         added fflush()
24745         [145c881f4fb4]
24746
24747 1993-10-23  Todd C. Miller  <Todd.Miller@courtesan.com>
24748
24749         * find_path.c:
24750         now return NULL instead pf\b\bof exiting for nopn\b\bn-fatal errors
24751         [8bc74f8cb1ae]
24752
24753 1993-10-21  Todd C. Miller  <Todd.Miller@courtesan.com>
24754
24755         * check.c:
24756         new banner
24757         [5387ab2af516]
24758
24759         * parse.lex:
24760         now sudo.h gets included first
24761         [2acb01c18e18]
24762
24763 1993-10-18  Todd C. Miller  <Todd.Miller@courtesan.com>
24764
24765         * parse.lex:
24766         now can use flex
24767         [164d3839adf0]
24768
24769         * sudo.h:
24770         linux patch
24771         [f1b6b1b1a2ca]
24772
24773         * sudo.c:
24774         hpux 9 fix, removes SHLIB_PATH linux patch
24775         [67611dc1737f]
24776
24777         * check.c:
24778         linux diff
24779         [c24536682397]
24780
24781 1993-10-15  Todd C. Miller  <Todd.Miller@courtesan.com>
24782
24783         * find_path.c:
24784         stat now ignores EINVAL
24785         [c7761a5dc642]
24786
24787 1993-10-06  Todd C. Miller  <Todd.Miller@courtesan.com>
24788
24789         * find_path.c, sudo.c:
24790         now declare strdup as extern
24791         [6b7d6f8784b5]
24792
24793 1993-10-04  Todd C. Miller  <Todd.Miller@courtesan.com>
24794
24795         * visudo.c:
24796         reformatted with indent + by hand
24797         [9d43084e4990]
24798
24799         * check.c, find_path.c, getpass.c, logging.c, parse.c, sudo.c, sudo.h:
24800         used indent to "fix" coding style
24801         [489ffacbdc70]
24802
24803         * find_path.c:
24804         now checks '.' or '.' or '' in PATH -- but does it LAST should maybe
24805         move the code that does this into the loop body. makes it messier
24806         tho. hmmm.
24807         [c4d22b48da9a]
24808
24809 1993-09-08  Todd C. Miller  <Todd.Miller@courtesan.com>
24810
24811         * find_path.c:
24812         redid the fix for non-executable files in an easier to read way plus
24813         some minor aethetic changes
24814         [84fe337f1426]
24815
24816         * find_path.c:
24817         fixed bug with non-executable tings of same name in path introduced
24818         by checkig errno after stat(2).
24819         [c2a812cfcbc1]
24820
24821 1993-09-05  Todd C. Miller  <Todd.Miller@courtesan.com>
24822
24823         * sudo.c:
24824         fixed off by one error
24825         [fabb7cee0041]
24826
24827         * find_path.c:
24828         now handles decending below '/' correctly
24829         [5d2ddfc0b220]
24830
24831         * sudo.c:
24832         now actually builds Envp instead of munging envp
24833         [bdc4b08f6898]
24834
24835 1993-09-04  Todd C. Miller  <Todd.Miller@courtesan.com>
24836
24837         * parse.yacc:
24838         now includes sys/param.h
24839         [efbb494ab4de]
24840
24841         * visudo.c:
24842         now includes sys/param.h
24843         [ad6c91d59958]
24844
24845         * sudo.h:
24846         fixed ifndef -> ifdef
24847         [7aebe822d863]
24848
24849         * qualify.c:
24850         make more like find_path.c
24851         [853b2dab2e03]
24852
24853         * find_path.c:
24854         rewritten by millert
24855         [c6a043cc11b3]
24856
24857         * sudo.h:
24858         fixed MAXCOMMANDLENGTH now uses USE_CWD and NEED_STRDUP added info
24859         about new defines in the comment
24860         [39ffefce3aec]
24861
24862         * logging.c:
24863         now uses USE_CWD
24864         [fa0f3b118bb3]
24865
24866         * sudo.h:
24867         added delc for clean_envp() and Envp
24868         [a12034e300c2]
24869
24870         * sudo.c:
24871         now rips LD_* env vars out of envp and passed sanitized Envp to exec
24872         [d201a218e056]
24873
24874         * logging.c:
24875         now uses execve()
24876         [f3e01032cd33]
24877
24878         * find_path.c:
24879         ENOTDIR is ok now too (in case part of the path is bogus)
24880         [b5cbbb201bb5]
24881
24882         * qualify.c:
24883         now works correctly (ttaltotal rewrite)
24884         [0c25d64a5c68]
24885
24886         * parse.lex:
24887         now includes sys/param.h didn't match trailing / -- fix from
24888         rouilj@cs.umb.edu
24889         [b6363ba110af]
24890
24891 1993-06-11  Todd C. Miller  <Todd.Miller@courtesan.com>
24892
24893         * sudo.c:
24894         moved around the #ifndef _AIX
24895         [7d4330950c20]
24896
24897         * check.c, logging.c, parse.c:
24898         Initial revision
24899         [c101e9572d7f]
24900
24901 1993-03-20  Todd C. Miller  <Todd.Miller@courtesan.com>
24902
24903         * qualify.c:
24904         Initial revision
24905         [5a5f21d0e0bf]
24906
24907 1993-03-13  Todd C. Miller  <Todd.Miller@courtesan.com>
24908
24909         * find_path.c:
24910         now works if you do sudo bin/test
24911         [07835120ce43]
24912
24913         * find_path.c:
24914         works
24915         [c3da8b5efa20]
24916
24917 1993-03-02  Todd C. Miller  <Todd.Miller@courtesan.com>
24918
24919         * sudo.h:
24920         Initial revision
24921         [28a1caa38b72]
24922
24923         * visudo.c:
24924         Initial revision
24925         [0e5cd7c3cdbe]
24926
24927         * parse.lex, parse.yacc:
24928         Initial revision
24929         [5f2d0cccb06b]
24930
24931 1993-02-16  Todd C. Miller  <Todd.Miller@courtesan.com>
24932
24933         * sudo.c:
24934         took out errno.h
24935         [7466431a2655]
24936
24937         * sudo.c:
24938         now spews error if exec fails and exits with -1
24939         [e5c41ea725c1]
24940
24941         * sudo.c:
24942         Initial revision
24943         [8aeabe39a0c2]
24944
24945         * find_path.c:
24946         now only execs files with (an) executable bit set.
24947         [0a451f9c0e58]
24948
24949         * find_path.c:
24950         Initial revision
24951         [02a534891a35]
24952
24953 1993-02-15  Todd C. Miller  <Todd.Miller@courtesan.com>
24954
24955         * getpass.c:
24956         added nice comment
24957         [ea8b2aaa9389]
24958
24959         * getpass.c:
24960         now works on sgi's
24961         [bf2b7c6d0960]
24962
24963         * getpass.c:
24964         Initial revision
24965         [9f4de251c1b5]
24966