Imported Upstream version 1.7.4p4
[debian/sudo] / ChangeLog
1 2010-09-06  Todd C. Miller  <Todd.Miller@courtesan.com>
2
3         * match.c:
4         When matching the runas user and runas group (-u and -g command line
5         options), keep track of runas group and runas user matches
6         separately. Only return a positive match if we have a match for
7         both runas user and runas group (if specified).
8         [68d30216c13a]
9
10 2010-09-04  Todd C. Miller  <Todd.Miller@courtesan.com>
11
12         * ldap.c, parse.c:
13         Do not return -1 on error from the display functions; the call
14         expects a return value >= 0.
15         [e50e6ae4d06d]
16
17         * ldap.c:
18         display_bound_defaults now returns a count so make the stub return
19         0, not 1.
20         [97293ced4908]
21
22 2010-09-03  Todd C. Miller  <Todd.Miller@courtesan.com>
23
24         * get_pty.c:
25         It looks like AIX doesn't need to push STREAMS modules for ptys.
26         [62c281fcd4ad]
27
28 2010-08-30  Todd C. Miller  <Todd.Miller@courtesan.com>
29
30         * Makefile.in:
31         Install sudoers file from the build dir not hte src dir.
32         [a26afd8db531]
33
34 2010-08-26  Todd C. Miller  <Todd.Miller@courtesan.com>
35
36         * set_perms.c:
37         If runas_pw changes, reset the stashed runas aux group vector.
38         Otherwise, if runas_default is set in a per-command Defaults
39         statement, the command runs with root's aux group vector (i.e. the
40         one that was used when locating the command).
41         [24a695707b67]
42
43         * Makefile.in:
44         Add target to generate sudoers file Remove generated sudoers file as
45         part of distclean
46         [448627fc35b6]
47
48 2010-08-23  millert  <millert@rh4-x86.home.courtesan.com>
49
50         * exec.c:
51         When not logging I/O install a handler for SIGCONT and deliver it to
52         the command upon resume. Fixes bugzilla #431
53         [e84690aa67bd]
54
55 2010-08-21  Todd C. Miller  <Todd.Miller@courtesan.com>
56
57         * sudo.c:
58         Don't need to fork and wait when compiled with --disable-pam-session
59         [2ae1bbe4437a]
60
61 2010-08-20  Todd C. Miller  <Todd.Miller@courtesan.com>
62
63         * lbuf.c:
64         Convert a remaining puts() and putchar() to use the output function.
65         [d68c213feb0f]
66
67 2010-08-18  Todd C. Miller  <Todd.Miller@courtesan.com>
68
69         * Makefile.in:
70         Replace sudoers with sudoers.in in DISTFILES
71         [616509f85d6c]
72
73         * env.c:
74         Set dupcheck to TRUE when setting new HOME value if !env_reset but
75         always_set_home is true. Prevents a duplicate HOME in the
76         environment (old value plus the new one) introduced in 9f97e4b43a4b.
77         [2672ae047984]
78
79         * configure, configure.in, sudoers, sudoers.in:
80         Substitute sysconfdir in the installed sudoers file to get the
81         correct path for sudoers.d.
82         [ab14a68e546f]
83
84 2010-08-17  Todd C. Miller  <Todd.Miller@courtesan.com>
85
86         * boottime.c, get_pty.c:
87         Fix typos that prevented compilation on Irix; Friedrich Haubensak
88         [a3e6c5a66890]
89
90 2010-08-14  Todd C. Miller  <Todd.Miller@courtesan.com>
91
92         * auth/pam.c:
93         If the user hits ^C while a password is being read, error out before
94         reading any further passwords in the pam conversation function.
95         Otherwise, if multiple PAM auth methods are required, the user will
96         have to hit ^C for each one.
97         [c8f6bc58fd86]
98
99 2010-08-09  Todd C. Miller  <Todd.Miller@courtesan.com>
100
101         * exec.c:
102         Fix waitpid() loop termination condition.
103         [97719b3259f2]
104
105         * exec_pty.c:
106         Use sudo_waitpid() instead of bare waitpid()
107         [624a40269189]
108
109 2010-08-07  Todd C. Miller  <Todd.Miller@courtesan.com>
110
111         * sudo.pp:
112         Set pp_kit_version and strip off patchlevel
113         [814c87778567]
114
115         * sudo.pp:
116         Better handling of versions with a patchlevel. For rpm and deb, use
117         the patchlevel+1 as the release. For AIX, use the patchlevel as the
118         4th version number. For the rest, just leave the patchlevel in the
119         version string.
120         [d18ef30f0a72]
121
122 2010-08-06  Todd C. Miller  <Todd.Miller@courtesan.com>
123
124         * auth/sudo_auth.c:
125         For non-standalone auth methods, stop reading the password if the
126         user enters ^C at the prompt.
127         [59d2b1328d1e]
128
129         * check.c:
130         When removing/resetting the timestamp file ignore the tty ticket
131         contents.
132         [8b285f601ec0]
133
134 2010-08-04  Todd C. Miller  <Todd.Miller@courtesan.com>
135
136         * UPGRADE:
137         Fix typo
138         [0f443aa22e96]
139
140 2010-08-03  Todd C. Miller  <Todd.Miller@courtesan.com>
141
142         * check.c:
143         Do not produce a warning for "sudo -k" if the ticket file does not
144         exist.
145         [eeaaa73d7f5b]
146
147 2010-08-02  Todd C. Miller  <Todd.Miller@courtesan.com>
148
149         * aclocal.m4, configure:
150         Add cross-compile defaults for remaining AC_TRY_RUN usage.
151         [fb88d22eabc6]
152
153 2010-07-31  Todd C. Miller  <Todd.Miller@courtesan.com>
154
155         * aclocal.m4, config.h.in, configure, configure.in, snprintf.c:
156         Use AC_CHECK_MEMBER in SUDO_SOCK_SA_LEN Use AC_TYPE_LONG_LONG_INT
157         and AC_CHECK_SIZEOF([long int]) instead of rolling our own.
158         [5e7cc557a46e]
159
160 2010-07-30  Todd C. Miller  <Todd.Miller@courtesan.com>
161
162         * .hgtags:
163         Added tag SUDO_1_7_4 for changeset 2920a3b9d568
164         [e929004d5102]
165
166         * pp:
167         Debian: Remove dots from decoded release number AIX: looser matching
168         of file command output for AIX 5.1
169         [2920a3b9d568] [SUDO_1_7_4]
170
171         * .hgtags:
172         Added tag SUDO_1_7_4 for changeset 0d844aa34c1d
173         [cf65ddcec602]
174
175 2010-07-29  Todd C. Miller  <Todd.Miller@courtesan.com>
176
177         * exec_pty.c:
178         exec_monitor is static
179         [0d844aa34c1d]
180
181         * pp:
182         Update to latest version
183         [7b8a00defbd6]
184
185 2010-07-28  Todd C. Miller  <Todd.Miller@courtesan.com>
186
187         * sudo.pp:
188         Let pp determine pp_aix_version itself.
189         [c5ee7944af03]
190
191         * INSTALL, config.h.in, configure, configure.in, mkpkg, sudo.c:
192         Add support for Ubuntu admin flag file and enable it when building
193         Ubuntu packages.
194         [2d97501cda0c]
195
196         * sudo.pp, sudoers:
197         Add commented out SuSE-like targetpw settings
198         [f4ad331ace46]
199
200         * configure, configure.in:
201         Only try to use +DAportable for non-GCC on hppa Check the value of
202         $pic_flag insteaf of whether the compiler is ANSI C when detecting
203         the HP-UX bundled C compiler.
204         [654da0091c16]
205
206         * configure, configure.in:
207         Prevent configure from adding the -g flag unless in devel mode
208         [e3c11f228c56]
209
210 2010-07-27  Todd C. Miller  <Todd.Miller@courtesan.com>
211
212         * sudo.pp:
213         Go back to sudo-flavor to match existing packages and only use an
214         underscore for those that need it.
215         [1f78ecf3b990]
216
217         * sudo.pp:
218         Use sudo_$flavor instead of sudo-$flavor since that causes the least
219         amount of trouble for the various package managers.
220         [7e1e07115788]
221
222         * mkpkg:
223         Fix handling of the ldap flavor Remove destdir unless --debug was
224         specified Make distclean before running configure if there is a
225         Makefile present
226         [2bde3925346d]
227
228         * configure, configure.in:
229         Back out version change in 5baf2187a138
230         [bbc3a81afbba]
231
232         * mkpkg:
233         Pass extra args on to configure on HP-UX, if we don't have the HP C
234         compiler, disable zlib to prevent gcc from finding it in
235         /usr/local/lib.
236         [87201c7f1116]
237
238         * configure, configure.in, mkpkg:
239         Use the HP ANSI C compiler on HP-UX if possible
240         [5baf2187a138]
241
242         * sudoreplay.c:
243         Some getline() implementations (FreeBSD 8.0) do not ignore the
244         length pointer when the line pointer is NULL as they should.
245         [8652300785ed]
246
247         * sudoreplay.c:
248         Don't need to check for *cp being non-zero, isdigit() will do that.
249         [107301a99b6a]
250
251         * sudoreplay.c:
252         Add setlocale() so the command line arguments that use floating
253         point work in different locales. Since sudo now logs the timing
254         data in the C locale we must Parse the seconds in the timing file
255         manually instead of using strtod(). Furthermore, sudo 1.7.3 logged
256         the number of seconds with the user's locale so if the decimal point
257         is not '.' try using the locale-specific version.
258         [2b8ed181e37c]
259
260         * exec.c:
261         Do I/O logging in the C locale so the floating point numbers in the
262         timing file are not locale-dependent.
263         [18abbca14078]
264
265         * sudoreplay.c:
266         Use errorx() not error() for thingsthat don't set errno.
267         [a2e7c6793d26]
268
269 2010-07-26  Todd C. Miller  <Todd.Miller@courtesan.com>
270
271         * sudo.pp:
272         Add Tru64 kit support
273         [40e2d21aa17f]
274
275         * pp:
276         Better support for 1.2.3 style versions in Tru64 kits
277         [f7133199a711]
278
279         * pp:
280         Remove apparently unnecessary use of sudo
281         [a667a69eeab0]
282
283         * Makefile.in:
284         Create timedir as part of install-dirs target.
285         [a2e394d694dd]
286
287         * exec_pty.c:
288         Handle ENXIO from read/write which can occur when reading/writing a
289         pty that has gone away. Fixes bugzilla 422
290         [142f4c2efa17]
291
292         * pwutil.c:
293         sudo_pwdup() was not expanding an empty pw_shell to _PATH_BSHELL
294         [82e5e46bf458]
295
296         * mkpkg:
297         platform is a pp flag not a variable
298         [9d0ab9b9bf0c]
299
300         * Makefile.in, mkpkg, sudo.pp:
301         Add simple arg parsing for mkpkg so we can set debug, flavor or
302         platform.
303         [8142ab01ccd9]
304
305         * pp:
306         Make rpm backend work on AIX 5.x
307         [2467a79d0b4d]
308
309 2010-07-25  Todd C. Miller  <Todd.Miller@courtesan.com>
310
311         * sudoers:
312         Add commented out Defaults entry for log_output
313         [b3fe97e59ae0]
314
315 2010-07-23  Todd C. Miller  <Todd.Miller@courtesan.com>
316
317         * Makefile.in:
318         Install binary files with -b~ to make a backup. Fixes "text file
319         busy" error on HP-UX during install.
320         [3563e3e0163a]
321
322         * install-sh:
323         "mv -f" on HP-UX doesn't unlink the destination first so add an
324         explicit rm before moving the temporary into place.
325         [3994af813c88]
326
327         * configure, configure.in:
328         Some more ${foo} -> $(foo) conversion for consistent Makefiles.
329         [c214d50c32ec]
330
331 2010-07-22  Todd C. Miller  <Todd.Miller@courtesan.com>
332
333         * pathnames.h.in:
334         Add missing include of maillock.h for Solaris
335         [343f04b7a581]
336
337         * NEWS, TROUBLESHOOTING, UPGRADE, configure, configure.in,
338         sample.syslog.conf, sudoers.cat:
339         Change the default syslog facility from local2 to authpriv (or auth
340         if the operating system doesn't support authpriv).
341         [949f39cf4a59]
342
343         * Makefile.in, configure, configure.in, sudo.pp:
344         Install sudoers as /etc/sudoers on RPM and debian systems where the
345         package manager will not replace a user-modified configuration file.
346         This fixes upgrades from the vendor sudo packages.
347         [74c7ff01e880]
348
349         * pp:
350         RPM: use %config(noreplace) instead of %config for volatile This
351         results in the new file being installed with a .rpmnew suffix
352         instead of the file being replaced and the old one renamed with a
353         .rpmsave suffix.
354         [166133a4fb9e]
355
356 2010-07-21  Todd C. Miller  <Todd.Miller@courtesan.com>
357
358         * boottime.c, mkstemps.c:
359         Include time.h for struct timeval.
360         [50446e0b8398]
361
362         * exec_pty.c:
363         The return value of strsignal() may be const and should be treated
364         as const regardless.
365         [c035b17b50e3]
366
367         * sudoers.cat, sudoers.man.in, sudoers.pod:
368         Mention that 127.0.0.1 will not match, nor will localhost unless
369         that is the actual host name.
370         [e9977ec7ac4f]
371
372         * Makefile.in:
373         fix typo
374         [f216d653404d]
375
376         * Makefile.in, NEWS, README, UPGRADE, WHATSNEW:
377         Rename WHATSNEW -> NEWS
378         [f3ce0a462ca0]
379
380         * pp:
381         Updated pp with latest patches
382         [cded68af5ba0]
383
384         * WHATSNEW, exec.c, exec_pty.c, set_perms.c, sudo.c, sudo.h:
385         If pam is in use, wait until the process has finished before calling
386         pam_close_session().
387         [fb3d7de50a05]
388
389         * sudoers.cat, sudoers.man.in:
390         regen sudoers manual
391         [7498a058eeb1]
392
393         * UPGRADE, sudoers, sudoers.pod:
394         Add commented out line to add HOME to env_keep and add a warning to
395         the note about the HOME change in UPGRADE.
396         [0f7e08f09b9f]
397
398 2010-07-20  Todd C. Miller  <Todd.Miller@courtesan.com>
399
400         * sudoreplay.c:
401         Add LINE_MAX define for those without it.
402         [6248dd44573c]
403
404         * WHATSNEW:
405         Mention that tty_tickets is now the default.
406         [4cf26eaee5ba]
407
408         * INSTALL, UPGRADE, config.h.in, configure, configure.in, defaults.c,
409         sudoers.cat, sudoers.man.in, sudoers.pod:
410         The tty_tickets option is now on by default.
411         [73dd2b82a3a9]
412
413         * WHATSNEW:
414         Mention that AIX authdb support has been fixed.
415         [9331829dc276]
416
417         * aix.c:
418         setauthdb() only sets the "old" registry if it was set by a previous
419         call to setauthdb(). To restore the original value, passing NULL
420         (or an empty string) to setauthdb() is sufficient.
421         [d956fd763521]
422
423 2010-07-19  Todd C. Miller  <Todd.Miller@courtesan.com>
424
425         * sudoers.cat, sudoers.man.in, sudoers.pod:
426         Mention new handling of HOME in always_set_home and set_home
427         descriptions.
428         [a69c9bed3164]
429
430         * sudo.cat, sudo.man.in, sudo.pod:
431         fix typo
432         [9b90bb3e9187]
433
434         * UPGRADE, WHATSNEW, env.c, sudo.cat, sudo.man.in, sudo.pod:
435         Reset HOME when env_reset is enabled unless it is in env_keep
436         [18223dfd1ac3]
437
438         * sudoers.cat, sudoers.man.in, sudoers.pod:
439         The default for set_logname has been "true" for some time now.
440         [9f97e4b43a4b]
441
442         * sudoers.cat, sudoers.man.in, sudoers.pod:
443         Document that MAIL it set in env_reset mode.
444         [dcf9ad98079e]
445
446         * boottime.c:
447         Add missing include of time.h
448         [57bee414982d]
449
450         * defaults.c, sudo.c:
451         Check return value of setdefs() but don't stop setting defaults if
452         we hit an unknown one.
453         [a42cb2d6b7ed]
454
455         * logging.c:
456         Fix check for dup2() return value.
457         [916cd7fdeba7]
458
459         * visudo.c:
460         Treat an unknown defaults entry as a parse error.
461         [1f94675835d9]
462
463         * env.c:
464         Check KEPT_MAIL not DID_MAIL when determining whether to set MAIL in
465         -i and env_reset mode.
466         [aa6657ccfe01]
467
468         * env.c:
469         Add PYTHONUSERBASE to initial_badenv_table
470         [93058374f0d9]
471
472         * WHATSNEW, aclocal.m4, config.h.in, configure, configure.in, env.c,
473         pathnames.h.in, sudo.cat, sudo.man.in, sudo.pod:
474         If env_reset is enabled, set the MAIL environment variable based on
475         the target user unless MAIL is explicitly preserved in sudoers.
476         [d903c904dcd4]
477
478 2010-07-17  Todd C. Miller  <Todd.Miller@courtesan.com>
479
480         * pp:
481         decode debian code names
482         [2df0ecbc23b4]
483
484         * WHATSNEW:
485         fix typo
486         [b66a95fa1869]
487
488 2010-07-16  Todd C. Miller  <Todd.Miller@courtesan.com>
489
490         * WHATSNEW:
491         Add entry about SuSE bash script fix.
492         [04af78fa281c]
493
494         * sudo.c:
495         Restore RLIMIT_NPROC after the uid switch if it appears that
496         runas_setup() did not do it for us. Fixes a bash script problem on
497         SuSE with RLIMIT_NPROC set to RLIM_INFINITY.
498         [bb14802d48b1]
499
500 2010-07-15  Todd C. Miller  <Todd.Miller@courtesan.com>
501
502         * mkpkg, pp, sudo.pp:
503         Restore the dot removal in the os version reported by polypkg. Adapt
504         mkpkg and sudo.pp to the change.
505         [83c7870130fe]
506
507 2010-07-16  Todd C. Miller  <Todd.Miller@courtesan.com>
508
509         * WHATSNEW:
510         Mention polypkg
511         [c5f6e40bbb58]
512
513         * README, WHATSNEW:
514         Update for sudo 1.7.4
515         [0c688f1f8160]
516
517         * INSTALL:
518         document --with-pam-login
519         [33ca3f6308ae]
520
521         * sudoers.cat, sudoers.man.in, sudoers.pod:
522         The tag is NOSETENV, not UNSETENV. From Petr Uzel.
523         [95f37e63ca15]
524
525 2010-07-15  Todd C. Miller  <Todd.Miller@courtesan.com>
526
527         * sudo.pp:
528         Include flavor in solaris package name
529         [b6d56ccf367e]
530
531         * mkpkg:
532         Older shells don't support IFS= so set explictly to space, tab,
533         newline.
534         [336925525e17]
535
536         * mkpkg:
537         Use '=' not '==' in test
538         [98c692271cfd]
539
540         * mkpkg:
541         Fix typo that prevented debian from matching
542         [af4deec35e37]
543
544         * mkpkg:
545         Add missing prefix setting for debian
546         [d0c1941cb6ec]
547
548         * sudo.pp:
549         Use tab indents to reduce the chance of problem with <<- Uncomment
550         some env_keep lines for RHEL, SLES and Debian to more closely match
551         the vendor sudoers files.
552         [74ba26566cdc]
553
554         * sudo.pp:
555         Fix indentation Fix the debian %set section, pp does not set
556         pp_deb_distro Uncomment %sudo line in sudoers for debian Add pam.d
557         to %files for debian Remove the /etc/sudo-ldap.conf symlink on
558         debian for ldap flavor
559         [f15ff41b5afd]
560
561         * sudoers:
562         Add commented out env_keep entries, sample Aliases and a %sudo line
563         for debian.
564         [8264e4ed42dc]
565
566         * configure, configure.in:
567         Remove check for egrep; configure has its own
568         [27b3d85ebf4f]
569
570         * configure.in:
571         Use enable_zlib instead of enableval for consistency
572         [4a15cfd43d3e]
573
574 2010-07-14  Todd C. Miller  <Todd.Miller@courtesan.com>
575
576         * mkpkg:
577         Enable zlib for linux distros
578         [fcab91448bb0]
579
580         * mkpkg:
581         Add ldap flavor to default build
582         [e35a577c8994]
583
584         * mkpkg, sudo.pp:
585         Simplify rpm linux distro settings
586         [f30547765636]
587
588         * UPGRADE, aclocal.m4, configure, configure.in, sudo.cat, sudo.man.in,
589         sudoers.cat:
590         Move time stamp files from /var/run/sudo to /var/{db,lib,adm}/sudo.
591         [8c9440423d98]
592
593         * Makefile.in, mkpkg, sudo.pp:
594         Add ldap "flavor" for debian, controlled by the SUDO_FLAVOR
595         environment variable.
596         [9f418defc08a]
597
598         * sudo.pp:
599         Create sudo group on debian
600         [4b0cc7b8b0b5]
601
602         * mkpkg, sudo.pp:
603         Add debian 4/5/6 and use the dot when doing version matches
604         [d5184f0a1efc]
605
606         * sudoers.cat, sudoers.man.in, sudoers.pod:
607         Remove spurious "and"; from debian
608         [8b9f2a5937bc]
609
610         * aclocal.m4, configure:
611         Use a loop when searching for mv, sendmail and sh
612         [a1c7d19721a4]
613
614         * aclocal.m4, configure, configure.in, sudoers.cat, sudoers.man.in,
615         sudoers.pod, visudo.cat, visudo.man.in, visudo.pod:
616         Substitute the value of EDITOR into the sudoers and visudo manuals.
617         [f00dc9343f94]
618
619 2010-07-13  Todd C. Miller  <Todd.Miller@courtesan.com>
620
621         * mkpkg, pp, sudo.pp:
622         Initial debian 4.0 support
623         [6d73c000723f]
624
625         * mkpkg:
626         Some platforms need -fPIE instead of -fpie
627         [8533a29633e8]
628
629         * Makefile.in:
630         Add packaging bits to DISTFILES
631         [dea9f374f28b]
632
633         * auth/pam.c:
634         Only set PAM_RHOST for Solaris, where it is needed to avoid a bug.
635         On Linux it causes a DNS lookup via libaudit.
636         [22e04d2f5f0f]
637
638         * sudo.psf:
639         We now use pp to generate HP-UX packages
640         [6c9f8ae6bc11]
641
642 2010-07-12  Todd C. Miller  <Todd.Miller@courtesan.com>
643
644         * auth/pam.c:
645         Fix indentation
646         [e52e9e6338d5]
647
648         * INSTALL, Makefile.in:
649         isntall-man -> install-doc
650         [02cc8198ea7a]
651
652         * configure, configure.in, sudo.cat, sudo.man.in, sudoers.cat,
653         sudoers.ldap.cat, sudoers.ldap.man.in, sudoers.man.in,
654         sudoreplay.cat, sudoreplay.man.in, visudo.cat, visudo.man.in:
655         Bump version to 1.7.4
656         [df6ce4ea908a]
657
658         * INSTALL.binary, Makefile.binary.in, Makefile.in:
659         Remove remaining bits of the old binary package
660         [8d4f82c23c22]
661
662         * sudo.pp:
663         Use http://rc.quest.com/topics/polypkg/ for packaging
664         [d71793085629]
665
666         * Makefile.in, mkpkg, pp:
667         Use http://rc.quest.com/topics/polypkg/ for packaging
668         [675e505758c5]
669
670         * install-sh:
671         Just ignore the -c option, it is the default Add support for -d
672         option
673         [2adfb3a63231]
674
675         * env.c, logging.c, pathnames.h.in:
676         Use _PATH_STDPATH instead of _PATH_DEFPATH
677         [2c22d54a1f02]
678
679         * Makefile.in:
680         Do not strip binaries.
681         [bc84682b372c]
682
683         * INSTALL, configure, configure.in:
684         Add --insults=disabled configure option to allow people to build in
685         insult support but have the insults disabled unless explicitly
686         enabled in sudoers.
687         [6d9f40db9cca]
688
689 2010-07-10  Todd C. Miller  <Todd.Miller@courtesan.com>
690
691         * env.c, sudoreplay.c:
692         Fix K&R compilation
693         [e44d3be7ab85]
694
695 2010-07-09  Todd C. Miller  <Todd.Miller@courtesan.com>
696
697         * auth/pam.c, config.h.in, configure, configure.in, env.c, sudo.c,
698         sudo.h:
699         Add support for a sudo-i pam.d file to be used for "sudo -i".
700         Adapted from a RedHat patch.
701         [2984c3831d88]
702
703         * Makefile.in:
704         Fix installation of sudo_noexec.so
705         [d1f7ca8331b6]
706
707         * Makefile.in, config.h.in, configure, configure.in, missing.h,
708         mkstemp.c, mkstemps.c, sudo_edit.c:
709         Use mkstemps() instead of mkstemp() in sudoedit. This allows
710         sudoedit to preserve the file extension (if any) which may be used
711         by the editor (like emacs) to choose the editing mode.
712         [46399679d9ae]
713
714 2010-07-08  Todd C. Miller  <Todd.Miller@courtesan.com>
715
716         * ldap.c, sudoers.ldap.cat, sudoers.ldap.man.in, sudoers.ldap.pod:
717         TLS_CACERT is now an alias for TLS_CACERTFILE. OpenLDAP uses
718         TLS_CACERT, not TLS_CACERTFILE in its ldap.conf. Other LDAP client
719         code, such as nss_ldap, uses TLS_CACERTFILE. Also document why you
720         should avoid disabling TLS_CHECKPEER is possible.
721         [1d626a5cf8c0]
722
723 2010-07-07  Todd C. Miller  <Todd.Miller@courtesan.com>
724
725         * toke.c, toke.l:
726         Add suport for negated user/host/command lists in a Defaults entry.
727         E.g. Defaults:!baduser noexec
728         [24f07a805dce]
729
730 2010-07-01  Todd C. Miller  <Todd.Miller@courtesan.com>
731
732         * sudoers.ldap.pod:
733         fix typo.
734         [d5f2922cecf2]
735
736 2010-06-29  Todd C. Miller  <Todd.Miller@courtesan.com>
737
738         * .hgtags:
739         Added tag SUDO_1_7_3 for changeset 72fd1f510a08
740         [cc8b2277e17e]
741
742         * configure, configure.in, sudo.cat, sudo.man.in, sudoers.cat,
743         sudoers.ldap.cat, sudoers.ldap.man.in, sudoers.man.in,
744         sudoreplay.cat, sudoreplay.man.in, visudo.cat, visudo.man.in:
745         Sudo 1.7.3 GA
746         [72fd1f510a08] [SUDO_1_7_3]
747
748         * alias.c, alloc.c, auth/afs.c, auth/aix_auth.c, auth/bsdauth.c,
749         auth/dce.c, auth/fwtk.c, auth/kerb4.c, auth/kerb5.c, auth/pam.c,
750         auth/passwd.c, auth/rfc1938.c, auth/secureware.c, auth/securid.c,
751         auth/securid5.c, auth/sia.c, auth/sudo_auth.c, boottime.c, check.c,
752         defaults.c, env.c, exec.c, exec_pty.c, fileops.c, find_path.c,
753         fnmatch.c, get_pty.c, getcwd.c, getdate.c, getdate.y, getline.c,
754         getspwuid.c, glob.c, goodpath.c, gram.c, gram.y, interfaces.c,
755         iolog.c, lbuf.c, ldap.c, logging.c, match.c, parse.c, parse_args.c,
756         pwutil.c, set_perms.c, snprintf.c, sudo.c, sudo_edit.c, sudo_nss.c,
757         sudoreplay.c, term.c, testsudoers.c, tgetpass.c, toke.c, toke.l,
758         tsgetgrpw.c, visudo.c:
759         Include strings.h even if string.h exists since they may define
760         different things. Fixes warnings on AIX and others.
761         [7c6de7fb5dba]
762
763         * env.c:
764         Do not rely on env.env_len when unsetting a variable, just use the
765         NULL terminator.
766         [faf088613ce5]
767
768         * env.c:
769         In unsetenv() check for NULL or empty name as per POSIX 1003.1-2008
770         [47f8dfcc7a48]
771
772 2010-06-28  Todd C. Miller  <Todd.Miller@courtesan.com>
773
774         * sudoers.ldap.cat, sudoers.ldap.man.in, sudoers.ldap.pod:
775         Mention that multiple URI lines are merged into a single one.
776         [1dc0ac5929bf]
777
778         * WHATSNEW:
779         Document AIX fixes
780         [be36e8a6dddd]
781
782 2010-06-26  Todd C. Miller  <Todd.Miller@courtesan.com>
783
784         * env.c, sudo.c, sudo.h:
785         For env_init() just use environ not the envp from main().
786         [d4f3e374caeb]
787
788 2010-06-25  Todd C. Miller  <Todd.Miller@courtesan.com>
789
790         * configure, configure.in, sudo.cat, sudo.man.in, sudoers.cat,
791         sudoers.ldap.cat, sudoers.ldap.man.in, sudoers.man.in,
792         sudoreplay.cat, sudoreplay.man.in, visudo.cat, visudo.man.in:
793         Update version to 1.7.3rc1
794         [fe43fe79070d]
795
796         * TODO:
797         fqdn issue is resolved
798         [f35cb63eb74b]
799
800         * env.c:
801         In unsetenv(), assign ep in the for loop instead of doing it
802         earlier. This version of the code does not change env.envp in
803         between when ep is assigned and when it is used but older versions
804         (e.g. 1.7.2) do.
805         [a4cd29c862c9]
806
807         * aix.c:
808         Use S_REGISTRY instead of S_AUTHSYSTEM as the argument to
809         getuserattr() when fetching the administrative domain to be used by
810         setauthdb(). This was suggested by AIX support and is consistent
811         with what OpenSSH does.
812         [d3109706ec85]
813
814         * vasgroups.c:
815         Use warningx() instead of log_error() since the latter is not
816         available to visudo or testsudoers. This does mean that they don't
817         end up in syslog.
818         [0174e89f983b]
819
820         * sudo.c:
821         Defer call to sudo_nonunix_groupcheck_cleanup() until after we have
822         closed the sudoers sources. From Quest sudo.
823         [c1b33e3e0f9e]
824
825         * pwutil.c:
826         Ignore case when matching user/group names in the cache. From Quest
827         sudo.
828         [72df368a8a0e]
829
830 2010-06-24  Todd C. Miller  <Todd.Miller@courtesan.com>
831
832         * config.h.in, configure, configure.in, selinux.c:
833         Add check for setkeycreatecon() when --with-selinux is specified.
834         [24144c52c0cc]
835
836         * configure, configure.in:
837         Bump version to 1.7.3b5 Error out if libaudit.h is missing or
838         ununable when --with-linux-audit was specified
839         [215c7653d9bc]
840
841         * aix.c:
842         K&R function declaration for aix_setauthdb()
843         [82da12d222a6]
844
845         * env.c, sudo.c, sudo.h:
846         If env_init() was called implicitly via getenv(), setenv() or
847         putenv() just use the specified envp instead of mallocing a new
848         copy. This prevents an infinite loop on OpenBSD which calls
849         getenv() from malloc() to get MALLOC_OPTIONS.
850         [8e82ce63f774]
851
852         * ldap.c:
853         Add support for multiple URI lines by joining the contents and
854         passing the result to ldap_initialize.
855         [b4e10b2ffdb1]
856
857 2010-06-23  Todd C. Miller  <Todd.Miller@courtesan.com>
858
859         * pwutil.c, set_perms.c, sudo_nss.c:
860         Bracket initgroups with calls to aix_setauthdb() and
861         aix_restoreauthdb()
862         [363dbe449f1c]
863
864         * aix.c:
865         Include compat.h before alloc.h to get __P
866         [819a2667ffd7]
867
868         * auth/aix_auth.c:
869         Include usersec.h for authenticate() prototype
870         [2b8dd2b67131]
871
872         * aix.c:
873         Add missing includes Add missing trailing NUL in userinfo string
874         [8deaedf44943]
875
876 2010-06-22  Todd C. Miller  <Todd.Miller@courtesan.com>
877
878         * HISTORY, history.pod:
879         Mention when LDAP was incorporated.
880         [4e6c8ec4f67c]
881
882 2010-06-21  Todd C. Miller  <Todd.Miller@courtesan.com>
883
884         * configure:
885         Define _LINUX_SOURCE_COMPAT on AIX for strsignal() prototype, it is
886         not covered by _ALL_SOURCE.
887         [3657f1b181b9]
888
889         * pwutil.c:
890         Include usersec.h on AIX to get IDtouser() prototype.
891         [11483bbe15c7]
892
893         * configure.in:
894         Define _LINUX_SOURCE_COMPAT on AIX for strsignal() prototype, it is
895         not covered by _ALL_SOURCE.
896         [fd48e6e2136b]
897
898 2010-06-18  Todd C. Miller  <Todd.Miller@courtesan.com>
899
900         * iolog.c:
901         Add a cast to quiet a compiler warning.
902         [51e9d419bd83]
903
904         * boottime.c:
905         Use memset() instead of zero_bytes() since we don't include sudo.h
906         [f310b2123ba9]
907
908         * Makefile.in:
909         getline.o is already in LIB_OBJS, do not need it in COMMON_OBJS
910         [c8750c2d75ab]
911
912         * getdate.c, getdate.y:
913         Quiet a compiler warning.
914         [9f231be15958]
915
916         * defaults.c, sudo.c:
917         Call set_fqdn() after sudoers has parsed instead of inline as a
918         callback.
919         [26d413ddb6dd]
920
921         * WHATSNEW:
922         Do not call set_fqdn() until sudoers parses (where is gets run as a
923         callback).
924         [582453a993a1]
925
926         * sudo.c:
927         Do not call set_fqdn() until sudoers parses (where is gets run as a
928         callback). Otherwise, if sudo is built --with-fqdn the fqdn will be
929         set even if !fqdn is set in sudoers.
930         [aa01e867d1bb]
931
932         * configure, configure.in, sudo.cat, sudo.man.in, sudoers.cat,
933         sudoers.ldap.cat, sudoers.ldap.man.in, sudoers.man.in,
934         sudoreplay.cat, sudoreplay.man.in, visudo.cat, visudo.man.in:
935         Bump version to 1.7.3b4
936         [c1c5a73766b6]
937
938         * WHATSNEW:
939         mention the change in tty ticket behavior when there is no tty
940         [93ddde63e453]
941
942         * TODO:
943         remove done items
944         [9601b2e8dcef]
945
946         * aix.c:
947         Remove comment; NAME in usrinfo should be user name.
948         [eb46f1e8ea08]
949
950         * check.c:
951         Do not update tty ticket if there is no tty.
952         [e64e8c8f2286]
953
954         * sudo.cat, sudo.man.in, sudo.pod:
955         No longer need to use -- with the -s flag
956         [e45c18dd79dc]
957
958         * Makefile.in:
959         Add missing $(srcdir) to sudo.man.in target
960         [2bd89f6ca9f3]
961
962         * Makefile.in:
963         Do not rely on BSD make's $>
964         [cb328b82cb92]
965
966         * configure, configure.in:
967         Set timedir to /var/db/sudo for darwin to match Apple sudo's
968         location
969         [860c7f1b001f]
970
971 2010-06-16  Todd C. Miller  <Todd.Miller@courtesan.com>
972
973         * Makefile.in, configure, configure.in:
974         Move aix.o from SUDO_OBJS to COMMON_OBJS
975         [f8a9bdf346c1]
976
977         * config.h.in, configure, configure.in, defaults.c, iolog.c,
978         sudoreplay.c:
979         Check for zlib.h in addition to libz.
980         [fb77e44d5196]
981
982         * Makefile.in, exec.c, exec_pty.c, sudo.h, sudo_exec.h:
983         Move functions and symbols shared between exec.c and exec_pty.c into
984         sudo_exec.h.
985         [e798d945424e]
986
987         * sudo.h:
988         Add missing prototypes for aix_setauthdb and aix_restoreauthdb
989         [8bc2af6d4e17]
990
991         * Makefile.in:
992         Comment out rules to build .man.in and .cat files unless --with-
993         devel
994         [81d6726a19ab]
995
996         * aix.c, pwutil.c, set_perms.c, sudo.h:
997         Fix AIX compilation problems.
998         [7d95f73eca42]
999
1000         * sudo.c:
1001         Cast isalnum() arg to unsigned char.
1002         [5fff9a81af00]
1003
1004         * WHATSNEW:
1005         Add Linux audit support.
1006         [e59e0670ba79]
1007
1008         * sudo.c:
1009         Quote any non-alphanumeric characters other than '_' or '-' when
1010         passing a command to be run via the shell for the -s and -i options.
1011         [d35a3f4cb3c0]
1012
1013         * sudo.c:
1014         Add missing braces that broke -i mode.
1015         [7fe124b078ec]
1016
1017         * linux_audit.c:
1018         Fix linux_audit_command() return value
1019         [0c582476181c]
1020
1021 2010-06-15  Todd C. Miller  <Todd.Miller@courtesan.com>
1022
1023         * Makefile.in, linux_audit.c, linux_audit.h:
1024         Add Linux audit support.
1025         [b207dc9960de]
1026
1027 2010-06-16  Todd C. Miller  <Todd.Miller@courtesan.com>
1028
1029         * INSTALL, audit.c, bsm_audit.c, config.h.in, configure, configure.in,
1030         logging.h, selinux.c:
1031         Add Linux audit support.
1032         [26ae31d7ff93]
1033
1034 2010-06-15  Todd C. Miller  <Todd.Miller@courtesan.com>
1035
1036         * sudoreplay.c, sudoreplay.cat, sudoreplay.man.in, sudoreplay.pod:
1037         Sync sudoreplay with trunk
1038         [65b780cccfa5]
1039
1040         * exec_pty.c:
1041         Remove an XXX
1042         [8304ac649241]
1043
1044         * aix.c, configure, configure.in, pwutil.c, set_perms.c, sudo.h:
1045         Set usrinfo for AIX Set adminstrative domain for the process when
1046         looking up user's password info and when preparing for execve().
1047         [52b48cbe97fd]
1048
1049         * ldap.c, parse.c:
1050         Better prefix determination now that we can't rely on len==0 to tell
1051         the beginning on an entry.
1052         [32f1875d9605]
1053
1054         * WHATSNEW, ldap.c, sudoers.ldap.cat, sudoers.ldap.man.in,
1055         sudoers.ldap.pod:
1056         Add support for multiple sudoers_base entries in ldap.conf. From
1057         Joachim Henke
1058         [3c0b59fce7b4]
1059
1060         * configure, configure.in:
1061         Remove duplicate setsid check
1062         [7712d6d52da1]
1063
1064         * Makefile.in, config.h.in, configure, configure.in, exec_pty.c,
1065         logging.c, missing.h, setsid.c:
1066         Move setsid emulation into setsid.c
1067         [f24743c9e4e9]
1068
1069         * exec_pty.c, logging.c, selinux.c, sudo.c, tgetpass.c:
1070         Check for dup2() failure.
1071         [b1b6ba761b61]
1072
1073         * config.h.in, configure, configure.in:
1074         Remove dup2 check, it is not optional.
1075         [cfbe5f3b5956]
1076
1077 2010-06-14  Todd C. Miller  <Todd.Miller@courtesan.com>
1078
1079         * WHATSNEW:
1080         Add mbr_check_membership support and SELinux fixes
1081         [af1936a7cf2f]
1082
1083         * Makefile.in:
1084         Sync SRCS and DISTFILES with reality
1085         [0971b5dcb1be]
1086
1087         * INSTALL:
1088         Update OS specific notes. Delete some really ancient ones and move
1089         older ones to the end of the list.
1090         [872dd8b437a8]
1091
1092         * README:
1093         Bump for sudo 1.7.3 Merge some changes from trunk
1094         [a3088c75bf22]
1095
1096         * selinux.c, sudo.c:
1097         Call selinux_restore_tty() as part of cleanup() so it gets called
1098         from error()/errorx()
1099         [0197c07d4c1e]
1100
1101         * compat.h:
1102         No longer use SA_NOCLDSTOP
1103         [73ca654cd3f8]
1104
1105         * interfaces.h, match.c:
1106         Move union sudo_in_addr_un into interfaces.h
1107         [c84bda7c332a]
1108
1109         * pathnames.h.in:
1110         Update copyright year
1111         [94871f44206b]
1112
1113         * HISTORY, LICENSE, aix.c, alias.c, alloc.h, boottime.c, bsm_audit.h,
1114         compat.h, defaults.c, defaults.h, env.c, fileops.c, find_path.c,
1115         gettime.c, gram.y, history.pod, lbuf.h, license.pod, logging.c,
1116         match.c, missing.h, nanosleep.c, parse.h, set_perms.c,
1117         sudoers.ldap.cat, sudoers.ldap.man.in, sudoers.ldap.pod,
1118         sudoreplay.c, term.c, tgetpass.c, toke.l, visudo.c, visudo.cat,
1119         visudo.man.in, visudo.pod:
1120         Update copyright year
1121         [4cfb47c799b8]
1122
1123         * Makefile.in:
1124         Remove varsub as part of clean
1125         [61f04a21b0bb]
1126
1127         * match.c:
1128         Quiet a compiler warning.
1129         [06d8cfe916c8]
1130
1131         * getdate.c, getdate.y:
1132         Quiet a compiler warning.
1133         [473d2b7d44a1]
1134
1135         * ldap.c, sudo.h:
1136         Make the remaining functions in ldap.c static
1137         [ba555565b30a]
1138
1139         * ldap.c:
1140         Make private functions static. Diff from Joachim Henke
1141         [1603035b1863]
1142
1143         * schema.ActiveDirectory:
1144         Updates from Alain Roy to provide better examples for importing the
1145         schema and to fix problems caused by Windows validating attributes
1146         which have not yet been added before committing the changes.
1147         [83f11ae00f19]
1148
1149 2010-06-12  Todd C. Miller  <Todd.Miller@courtesan.com>
1150
1151         * Makefile.in, configure, configure.in, sudo.cat, sudoers.cat:
1152         Generate .cat files directly from .man.in instead of .man using
1153         default values in configure.in
1154         [0a92b41c5ce5]
1155
1156 2010-06-11  Todd C. Miller  <Todd.Miller@courtesan.com>
1157
1158         * configure, configure.in, sudo.c, sudo_usage.h.in:
1159         Print configure args with verbose version information.
1160         [ca4a5fcf0af8]
1161
1162         * visudo.c:
1163         Remove tfd from struct sudoersfile; it is not used. Add prev pointer
1164         to struct sudoersfile. Declare list of sudoersfile using TQ_DECLARE.
1165         Use tq_append to append sudoers entries to the tail queue.
1166         [344c631d0d43]
1167
1168 2010-06-10  Todd C. Miller  <Todd.Miller@courtesan.com>
1169
1170         * WHATSNEW:
1171         Describe tty timestamp improvements
1172         [136b0f832903]
1173
1174         * toke.c, toke.l:
1175         A comment character may not be part of a command line argument
1176         unless it is quoted with a backslash. Fixes parsing of:
1177         testuser ALL=NOPASSWD: /usr/bin/wl #comment foo bar closes bz #441
1178         [2a0c82ffedde]
1179
1180         * sudo.cat, sudo.man.in, sudoers.cat, sudoers.man.in:
1181         regen
1182         [c9fddd23c7e1]
1183
1184         * sudoers.pod:
1185         Make this read a little bit better when passwd_timeout is 0.
1186         [51644950823f]
1187
1188         * Makefile.in:
1189         Use the --file argument to config.status instead of setting
1190         CONFIG_FILES
1191         [fc2b42c60b5d]
1192
1193         * sudo.man.pl, sudo.pod:
1194         Attempt to handle a default password prompt timeout of zero more
1195         gracefully.
1196         [478b8e720993]
1197
1198         * toke.c, toke.l:
1199         Do not override value of keepopen global, instead restore it to the
1200         value we pushed onto the stack when popping.
1201         [dc370d57a668]
1202
1203         * exec.c, exec_pty.c, logging.c, mon_systrace.c, tgetpass.c:
1204         Use SA_INTERRUPT in sa_flags
1205         [3845c6637361]
1206
1207         * getdate.c, getdate.y, ldap.c, sudoreplay.c:
1208         Silence some compiler warnings
1209         [112ac65afd0c]
1210
1211 2010-06-09  Todd C. Miller  <Todd.Miller@courtesan.com>
1212
1213         * exec.c, exec_pty.c, sudo.c, sudo.h:
1214         Implement background mode. If I/O logging we use pipes instead of a
1215         pty.
1216         [8d448eaf2aaa]
1217
1218         * compat.h, exec.c, exec_pty.c, mksiglist.c, strsignal.c, tgetpass.c:
1219         Move compat definition of NSIG to compat.h
1220         [cae72a4c9dec]
1221
1222         * tgetpass.c:
1223         Ignore SIGPIPE for "sudo -S"
1224         [c6595c8527c4]
1225
1226         * tgetpass.c:
1227         Properly handle TGP_ECHO again. Print a newline if the user
1228         interrupted password input.
1229         [15acbe4fb535]
1230
1231         * exec_pty.c:
1232         Use POSIX tcgetpgrp() instead of BSD TIOCGPGRP ioctl
1233         [dd041fc9554c]
1234
1235 2010-06-08  Todd C. Miller  <Todd.Miller@courtesan.com>
1236
1237         * exec.c, exec_pty.c, selinux.c, sudo.c, sudo.h:
1238         Return an error from selinux_setup() instead of exiting. Call
1239         selinux_setup() from exec_setup().
1240         [b518225cafba]
1241
1242         * compat.h:
1243         Add definition of WCOREDUMP for systems without it. This is known
1244         to work on AIX and SunOS 4, but may be incorrect on other systems
1245         that lack WCOREDUMP.
1246         [365e56db7cd5]
1247
1248         * check.c, compat.h, config.h.in, configure, configure.in, iolog.c,
1249         nanosleep.c, sudo_edit.c, visudo.c:
1250         Replace timerfoo macros with timevalfoo since the timer macros are
1251         known to be busted on some systems.
1252         [4bb5228606c5]
1253
1254         * toke.c, toke.l:
1255         If a file in a #includedir has improper permissions or owner just
1256         skip it. This prevents packages that incorrectly install a file
1257         into /etc/sudoers.d from breaking sudo so easily. Syntax errors in
1258         #includedir files still result in a parse error (for now).
1259         [b7fb75eddb77]
1260
1261         * TODO, auth/pam.c, exec.c, exec_pty.c, set_perms.c, sudo.c, sudo.h:
1262         Defer call to pam_close_session() until after the command finishes
1263         if there is a monitor process.
1264         [0a39c8e6a81b]
1265
1266         * WHATSNEW, def_data.c, def_data.h, def_data.in, exec.c, sudoers.cat,
1267         sudoers.man.in, sudoers.pod:
1268         Add use_pty sudoers option to force use of a pty even when not
1269         logging I/O.
1270         [aea971f1456a]
1271
1272         * env.c, sudo.c, sudo.h:
1273         Instead of trying to keep the global environment in sync with our
1274         private copy, provide our own getenv() that returns values from the
1275         private environment and use env_get() to pass the environment in to
1276         run_command().
1277         [58c85c5695dc]
1278
1279         * set_perms.c:
1280         Fix typo
1281         [0f677fcdde04]
1282
1283 2010-06-07  Todd C. Miller  <Todd.Miller@courtesan.com>
1284
1285         * sudo.h:
1286         Rename pty.c -> get_pty.c
1287         [39137dcc4420]
1288
1289         * iolog.c:
1290         Add #define for maximum session id
1291         [2a487437f013]
1292
1293         * Makefile.in, configure, configure.in, exec.c, exec_pty.c, iolog.c,
1294         selinux.c, sudo.c, sudo.h, sudo_edit.c:
1295         Split exec.c into exec.c and exec_pty.c Pass a flag in to
1296         sudo_execve to indicate whether we need to wait for the command
1297         to finish (fork + execve vs. execve).
1298         [b197515585db]
1299
1300         * Makefile.in, configure, configure.in, get_pty.c, pty.c:
1301         Rename pty.c -> get_pty.c
1302         [c0e5270bb28a]
1303
1304         * aclocal.m4, configure, configure.in:
1305         Fix --without-iologdir
1306         [dcd6c5907b10]
1307
1308 2010-06-06  Todd C. Miller  <Todd.Miller@courtesan.com>
1309
1310         * iolog.c:
1311         Only use I/O input log file if def_log_input is set and output file
1312         if def_log_output is set.
1313         [96cdd49be996]
1314
1315 2010-06-05  Todd C. Miller  <Todd.Miller@courtesan.com>
1316
1317         * parse_args.c, sudo.c:
1318         Include sudo_usage.h after sudo.h now that it has function
1319         prototypes to guarantee that __P is defined.
1320         [c67b77f8d6b1]
1321
1322 2010-06-04  Todd C. Miller  <Todd.Miller@courtesan.com>
1323
1324         * tgetpass.c:
1325         Do signal setup after turning off echo, not before. If we are using
1326         a tty but are not the foreground pgrp this will generate SIGTTOU so
1327         we want the default action to be taken (suspend process). Use an
1328         array for signals received instead of a single variable so we don't
1329         lose any when there are multiple different signals.
1330         [de356064ea01]
1331
1332         * defaults.h, lbuf.h, sudo.h:
1333         Reorg function prototypes a bit
1334         [5c40f58bb28e]
1335
1336         * Makefile.in, parse_args.c, sudo.c, sudo.h, sudo_usage.h.in:
1337         Move argument parsing into parse_args.c
1338         [fad7b8737c12]
1339
1340         * Makefile.in, config.h.in, configure, configure.in, missing.h,
1341         mksiglist.c, mksiglist.h, siglist.in, strsignal.c:
1342         Build our own sys_siglist for systems that lack it.
1343         [3b5f671936dc]
1344
1345         * exec.c, iolog.c, missing.h, sudo_edit.c:
1346         K&R fixes
1347         [dad62986f2fe]
1348
1349         * exec.c, pty.c, sudo.c, sudo.h, sudo_edit.c:
1350         Log sudoedit sessions as well; adapted from trunk
1351         [2c5d9695022b]
1352
1353         * configure:
1354         regen
1355         [9b319e89a6c4]
1356
1357         * INSTALL, Makefile.in, WHATSNEW, aclocal.m4, configure, configure.in,
1358         def_data.c, def_data.h, def_data.in, defaults.c, exec.c, gram.c,
1359         gram.h, gram.y, iolog.c, parse.c, parse.h, pathnames.h.in, pty.c,
1360         script.c, selinux.c, sudo.c, sudo.h, sudoers.cat, sudoers.man.in,
1361         sudoers.pod, sudoreplay.c, sudoreplay.cat, sudoreplay.man.in,
1362         sudoreplay.pod, term.c:
1363         Merge I/O logging changes from trunk. Disabling I/O log support at
1364         compile time does not currently work. Sudoedit is not yet hooked up
1365         to I/O logging.
1366         [968c2c74c69b]
1367
1368 2010-06-03  Todd C. Miller  <Todd.Miller@courtesan.com>
1369
1370         * INSTALL, configure, configure.in:
1371         Add --enable-warnings configure option
1372         [19cf967c36d1]
1373
1374         * check.c, lbuf.h, script.c, sudo.c, sudo_nss.c:
1375         Fix K&R compilation issues on HP-UX.
1376         [c01a547cdcf8]
1377
1378         * lbuf.c, lbuf.h, ldap.c, parse.c, sudo.c, sudo_nss.c:
1379         Pass in output function to lbuf_init() instead of writing to stdout.
1380         A side effect is that the usage info can now go to stderr as it
1381         should. Add support for embedded newlines in lbuf and use that
1382         instead of multiple calls to lbuf_print.
1383         [596a427ff873]
1384
1385         * configure, configure.in, sudo.man.pl, sudoers.man.pl:
1386         Use numeric registers to handle conditionals instead of trying to do
1387         it all with text processing.
1388         [31570c372e0e]
1389
1390         * sudoers.pod:
1391         Document per-command SELinux settings
1392         [bbce5acad1be]
1393
1394         * sudo.pod:
1395         timestamp -> time stamp
1396         [d7335ce6286f]
1397
1398         * tsgetgrpw.c:
1399         Set close on exec flag in private versions of setpwent() and
1400         setgrent().
1401         [954814bdbd56]
1402
1403         * logging.c:
1404         Make send_mail() take a printf-style argument list
1405         [0783ad585062]
1406
1407         * Makefile.binary.in, Makefile.in, aclocal.m4, acsite.m4,
1408         config.guess, config.h.in, config.sub, configure, configure.in,
1409         ltmain.sh, m4/libtool.m4, m4/ltoptions.m4, m4/ltsugar.m4,
1410         m4/ltversion.m4, m4/lt~obsolete.m4:
1411         Update to autoconf 2.65 and libtool 2.2.6b
1412         [3544dd2f1a94]
1413
1414         * boottime.c:
1415         Don't use TRUE/FALSE which may not be defined.
1416         [8649bf22b3b2]
1417
1418         * sudo.cat, sudo.man.in, sudo.pod:
1419         Document new tty_ticket behavior
1420         [0663e0390338]
1421
1422         * find_path.c, sudo.c, sudo.h, visudo.c:
1423         Make find_path() a little more generic by not checking def_foo
1424         variables inside it. Instead, pass in ignore_dot as a function
1425         argument.
1426         [16c3f27cd9b9]
1427
1428         * check.c:
1429         Store info from stat(2)ing the tty in the tty ticket when tty
1430         tickets are in use. If the tty lives on a devpts (Linux) or devices
1431         (Solaris) filesystem, stash the ctime in the tty ticket file, as it
1432         is not updated when the tty is written to. This helps us determine
1433         when a tty has been reused without the user authenticating again
1434         with sudo.
1435         [f9aec9ab9054]
1436
1437         * boottime.c, check.c, sudo.h:
1438         get_boottime() now fills in a timeval struct
1439         [dbd2003659c0]
1440
1441 2010-06-02  Todd C. Miller  <Todd.Miller@courtesan.com>
1442
1443         * check.c, compat.h, config.h.in, configure, configure.in, fileops.c,
1444         gettime.c, sudo.h, sudo_edit.c, visudo.c:
1445         Use timeval directly instead of converting to timespec when dealing
1446         with file times and time of day.
1447         [c85bf3e41839]
1448
1449         * auth/pam.c:
1450         Fix OpenPAM detection for newer versions.
1451         [67f29a0703d0]
1452
1453         * vasgroups.c:
1454         Sync with Quest sudo git repo
1455         [2680ad9762c2]
1456
1457         * aclocal.m4, configure, configure.in:
1458         HP-UX ld uses +b instead or -R or -rpath Fix typo in libvas check
1459         libvas may need libdl for dlopen() Add missing template for
1460         ENV_DEBUG Adapted from Quest sudo
1461         [6c886eb9070a]
1462
1463         * README.LDAP:
1464         Fix typos; from Quest Sudo
1465         [cf258fc69f1a]
1466
1467         * Makefile.in, configure.in:
1468         Use value of SHELL from configure in Makefile
1469         [08aaf12221d6]
1470
1471 2010-05-28  Todd C. Miller  <Todd.Miller@courtesan.com>
1472
1473         * env.c:
1474         Handle duplicate variables in the environment. For unsetenv(), keep
1475         looking even after remove the first instance. For sudo_putenv(),
1476         check for and remove dupes after we replace an existing value.
1477         [086c6397d8cd]
1478
1479 2010-04-29  Todd C. Miller  <Todd.Miller@courtesan.com>
1480
1481         * visudo.c:
1482         Fix a crash when checking a sudoers file that has aliases that
1483         reference themselves. Based on a diff from David Wood.
1484         [5efc702a3b35]
1485
1486 2010-04-15  Todd C. Miller  <Todd.Miller@courtesan.com>
1487
1488         * alias.c:
1489         Fix use after free in error message when a duplicate alias exists.
1490         [9eaac49bd22b]
1491
1492 2010-04-14  Todd C. Miller  <Todd.Miller@courtesan.com>
1493
1494         * visudo.c:
1495         Set errorfile to the sudoers path if we set parse_error manually.
1496         This prevents a NULL dereference in printf() when checking a sudoers
1497         file in strict mode when alias errors are present.
1498         [b4eed2f0615d]
1499
1500 2010-04-12  Todd C. Miller  <Todd.Miller@courtesan.com>
1501
1502         * TODO, sudoers.cat, sudoers.man.in, sudoers.pod:
1503         Fix typo
1504         [57198cae9cf5]
1505
1506 2010-04-09  Todd C. Miller  <Todd.Miller@courtesan.com>
1507
1508         * find_path.c:
1509         Qualify the command even if it is in the current working directory,
1510         e.g. "./foo" instead of just returning "foo". This removes an
1511         ambiguity between real commands and possible pseudo-commands in
1512         command matching.
1513         [fb4d571495fa]
1514
1515 2010-04-07  Todd C. Miller  <Todd.Miller@courtesan.com>
1516
1517         * sudoers.cat, sudoers.man.in, sudoers.pod:
1518         Add a note about the security implications of the fast_glob option.
1519         [84f8097553d9]
1520
1521         * memrchr.c:
1522         Remove duplicate includes
1523         [3e8d90f4c30f]
1524
1525 2010-03-22  Todd C. Miller  <Todd.Miller@courtesan.com>
1526
1527         * configure, configure.in:
1528         Fix installation of sudoers.ldap in "make install" when --with-ldap
1529         was specified without a directory. From Prof. Dr. Andreas Mueller
1530         [5177a284b9ff]
1531
1532 2010-03-09  Todd C. Miller  <Todd.Miller@courtesan.com>
1533
1534         * match.c:
1535         When doing a glob match, short circuit if gl.gl_pathc is 0. From
1536         Mark Kettenis.
1537         [549f8f7c2463]
1538
1539 2010-03-08  Todd C. Miller  <Todd.Miller@courtesan.com>
1540
1541         * script.c:
1542         Use parent process group id instead of parent process id when
1543         checking foreground status and suspending parent. Fixes an issue
1544         when running commands under /usr/bin/time and others.
1545         [eac86126e335]
1546
1547         * env.c:
1548         In setenv(), if the var is empty, return 1 and set errno to EINVAL
1549         instead of returning EINVAL directly.
1550         [d202091ec15e]
1551
1552 2010-02-22  Todd C. Miller  <Todd.Miller@courtesan.com>
1553
1554         * match.c:
1555         Check for pseudo-command by looking at the first character of the
1556         command in sudoers instead of checking the user-supplied command for
1557         a slash.
1558         [88f3181692fe]
1559
1560 2010-02-09  Todd C. Miller  <Todd.Miller@courtesan.com>
1561
1562         * toke.l:
1563         Avoid a duplicate fclose() of the sudoers file.
1564         [164d39108dde]
1565
1566         * toke.l:
1567         Fix size arg when realloc()ing include stack. From Daniel Kopecek
1568         [8900bccef219]
1569
1570 2010-02-06  Todd C. Miller  <Todd.Miller@courtesan.com>
1571
1572         * aix.c, config.h.in, configure, configure.in:
1573         Use setrlimit64(), if available, instead of setrlimit() when setting
1574         AIX resource limits since rlim_t is 32bits.
1575         [2cbb14d98fc1]
1576
1577         * logging.c:
1578         Fix use after free when sending error messages. From Timo Juhani
1579         Lindfors
1580         [caf183fd9d94]
1581
1582 2010-01-18  Todd C. Miller  <Todd.Miller@courtesan.com>
1583
1584         * ChangeLog, Makefile.in:
1585         Generate the ChangeLog as part of "make dist" instead of having it
1586         in the repo.
1587         [836c31615859]
1588
1589 2010-01-17  Todd C. Miller  <Todd.Miller@courtesan.com>
1590
1591         * Makefile.in:
1592         Generate correct ChangeLog for 1.7 branch.
1593         [586dd90b8878]
1594
1595 2010-01-17  Todd C. Miller  <Todd.Miller@courtesan.com>
1596
1597         * Makefile.binary.in, Makefile.in, aix.c, alias.c, alloc.c, alloc.h,
1598         auth/afs.c, auth/aix_auth.c, auth/bsdauth.c, auth/dce.c,
1599         auth/fwtk.c, auth/kerb4.c, auth/kerb5.c, auth/pam.c, auth/passwd.c,
1600         auth/rfc1938.c, auth/secureware.c, auth/securid.c, auth/securid5.c,
1601         auth/sia.c, auth/sudo_auth.c, auth/sudo_auth.h, check.c,
1602         closefrom.c, compat.h, configure.in, defaults.c, defaults.h,
1603         emul/charclass.h, emul/timespec.h, env.c, error.c, error.h,
1604         fileops.c, find_path.c, getcwd.c, getprogname.c, getspwuid.c,
1605         gettime.c, goodpath.c, gram.c, gram.y, ins_2001.h, ins_classic.h,
1606         ins_csops.h, ins_goons.h, insults.h, interfaces.c, interfaces.h,
1607         isblank.c, lbuf.c, lbuf.h, ldap.c, list.c, list.h, logging.c,
1608         logging.h, match.c, memrchr.c, missing.h, mkinstalldirs, mkstemp.c,
1609         mon_systrace.c, nanosleep.c, parse.c, parse.h, pathnames.h.in,
1610         pty.c, pwutil.c, redblack.c, redblack.h, sample.pam, sample.sudoers,
1611         sample.syslog.conf, script.c, selinux.c, sesh.c, set_perms.c,
1612         sigaction.c, snprintf.c, strcasecmp.c, strerror.c, strlcat.c,
1613         strlcpy.c, strsignal.c, sudo.c, sudo.h, sudo.man.in, sudo.pod,
1614         sudo_edit.c, sudo_noexec.c, sudo_nss.c, sudo_nss.h, sudo_usage.h.in,
1615         sudoers.ldap.man.in, sudoers.ldap.pod, sudoers.man.in, sudoers.pod,
1616         sudoers2ldif, sudoreplay.c, sudoreplay.man.in, sudoreplay.pod,
1617         term.c, testsudoers.c, tgetpass.c, timestr.c, toke.c, toke.l,
1618         utimes.c, visudo.c, visudo.man.in, visudo.pod, zero_bytes.c:
1619         Remove CVS $Sudo$ tags.
1620         [de683a8b31f5]
1621
1622 2009-12-26  Todd C. Miller  <Todd.Miller@courtesan.com>
1623
1624         * sudo_usage.h.in:
1625         make this match sudoers SYNOPSIS
1626         [c74ba66944c2]
1627
1628         * lbuf.c, parse.c:
1629         Print a newline between Runas and Command-specific defaults in sudo
1630         -l.
1631         [b5bdfcc9ce4b]
1632
1633         * term.c:
1634         Use SET and CLR macros in term_raw
1635         [50ca42609d6c]
1636
1637         * sudoreplay.c:
1638         Set stdin to non-blocking mode early instead of in check_input. Use
1639         term_raw instead of term_cbreak since the data we get has already
1640         been expanded via OPOST.
1641         [51c47e803d62]
1642
1643 2009-12-23  Todd C. Miller  <Todd.Miller@courtesan.com>
1644
1645         * script.c, term.c:
1646         Enable/disable all postprocessing instead of just nl->crnl
1647         processing since things like tab expansion matter too. However, if
1648         stdout is a tty leave postprocessing on in the pty since we run into
1649         problems doing it only on the real stdout with .e.g nvi.
1650         [62666e309673]
1651
1652 2009-12-19  Todd C. Miller  <Todd.Miller@courtesan.com>
1653
1654         * check.c:
1655         If tty_tickets is enabled and there is no tty, prompt for a
1656         password. Do not lecture user for "sudo -k command" if user has a
1657         timestamp.
1658         [5880200c5f6b]
1659
1660         * INSTALL:
1661         Document missing options: --with-efence and --with-bsm-audit
1662         [d83afcdf9ff3]
1663
1664         * sudo.cat, sudo.man.in, sudo.pod, sudoers.cat, sudoers.ldap.cat,
1665         sudoers.ldap.man.in, sudoers.ldap.pod, sudoers.man.in, sudoers.pod,
1666         sudoreplay.cat, sudoreplay.man.in, sudoreplay.pod, visudo.cat,
1667         visudo.man.in, visudo.pod:
1668         username -> user name groupname -> group name hostname -> host name
1669         [10c85646f45d]
1670
1671         * INSTALL, README.LDAP, sudoers.pod:
1672         filename -> file name like the rest of the docs
1673         [1ef8ab5a9018]
1674
1675 2009-12-17  Todd C. Miller  <Todd.Miller@courtesan.com>
1676
1677         * parse.c:
1678         Fix printing of entries with multiple host entries on a single line.
1679         [226ceaf91d8d]
1680
1681 2009-12-14  Todd C. Miller  <Todd.Miller@courtesan.com>
1682
1683         * sudoers.pod:
1684         Mention that targetpw affects the timestamp file name.
1685         [a26e22e4f72e]
1686
1687         * def_data.c, def_data.h, def_data.in, defaults.c, script.c,
1688         sudoers.pod:
1689         Add compress_transcript option.
1690         [6e94f8cb9dfb]
1691
1692 2009-12-13  Todd C. Miller  <Todd.Miller@courtesan.com>
1693
1694         * configure, configure.in:
1695         bump to 1.7.3b2
1696         [906d7e347d15]
1697
1698         * pwutil.c, set_perms.c, sudo.c, sudo_nss.c:
1699         Better split of membership vs. traditional group check in
1700         user_in_group(). Allow user_ngroups to be < 0 if getgroups() fails.
1701         [6ebc55d4716b]
1702
1703 2009-12-12  Todd C. Miller  <Todd.Miller@courtesan.com>
1704
1705         * pwutil.c:
1706         Fix pasto and add default return value.
1707         [7973b5e4599c]
1708
1709         * check.c, match.c, pwutil.c, sudo.h:
1710         refactor group member checking into user_in_group()
1711         [48ca8c2eddf8]
1712
1713         * check.c, config.h.in, configure, configure.in, match.c, sudo.c,
1714         sudo.h:
1715         Add support for mbr_check_membership() as present in darwin.
1716         [5501aed02b9f]
1717
1718 2009-12-10  Todd C. Miller  <Todd.Miller@courtesan.com>
1719
1720         * match.c:
1721         Rename label to be accurate
1722         [3af17dd960f7]
1723
1724         * Makefile.in, boottime.c, check.c, config.h.in, configure,
1725         configure.in, sudo.h:
1726         Treat timestamp files from before we booted as old. Idea from and
1727         Apple patch.
1728         [5c96e484c05a]
1729
1730 2009-12-09  Todd C. Miller  <Todd.Miller@courtesan.com>
1731
1732         * sudo.c, sudo.pod, sudo_usage.h.in:
1733         Allow the -u flag to be used in conjunction with the -v flag as per
1734         older versions of sudo.
1735         [591e9fc13c1a]
1736
1737         * logging.c:
1738         fix typo in last commit
1739         [4fd0c692dcf0]
1740
1741 2009-12-08  Todd C. Miller  <Todd.Miller@courtesan.com>
1742
1743         * logging.c:
1744         Convert fmt_first and fmt_confd into macros.
1745         [32e870158b29]
1746
1747         * sudoers.pod:
1748         timeouts can be floats now
1749         [89de639a9679]
1750
1751         * WHATSNEW, def_data.c, def_data.h, def_data.in, defaults.c,
1752         defaults.h, mkdefaults:
1753         Add support for floating point timeout values (e.g. 2.5 minutes).
1754         [210ffa291733]
1755
1756 2009-12-07  Todd C. Miller  <Todd.Miller@courtesan.com>
1757
1758         * sudo.pod:
1759         The -L flag will be removed in sudo 1.7.4
1760         [ffd026084333]
1761
1762 2009-12-06  Todd C. Miller  <Todd.Miller@courtesan.com>
1763
1764         * sudoreplay.c:
1765         Fix a bug due to order of operators.
1766         [938d34464283]
1767
1768 2009-11-23  Todd C. Miller  <Todd.Miller@courtesan.com>
1769
1770         * match.c:
1771         cmnd_matches() already deals with negation so _cmndlist_matches()
1772         does not need to do so itself. Fixes a bug with negated entries in
1773         a Cmnd_List.
1774         [71c845f6ce73]
1775
1776 2009-11-22  Todd C. Miller  <Todd.Miller@courtesan.com>
1777
1778         * sudo.c:
1779         Don't exit() from open_sudoers, just return NULL for all errors.
1780         [8cfa832f972a]
1781
1782         * script.c:
1783         Can't rely on the shell sending us SIGCONT when transitioning from
1784         backgroup to foreground process.
1785         [3c6c5b6cb4b3]
1786
1787         * toke.c, toke.l:
1788         Add missing extern def for parse_error
1789         [45b7b59d03b7]
1790
1791 2009-11-21  Todd C. Miller  <Todd.Miller@courtesan.com>
1792
1793         * toke.c, toke.l:
1794         Avoid a parse error when #includedir doesn't find any files. Closes
1795         bug #375
1796         [1ce1b850e9e6]
1797
1798         * Makefile.in:
1799         Include sudo.man.pl and sudoers.man.pl in the distribution tarball.
1800         [6a22e32da108]
1801
1802 2009-11-15  Todd C. Miller  <Todd.Miller@courtesan.com>
1803
1804         * script.c:
1805         Start command out in foreground mode if stdout is a tty. Works
1806         around issues with some curses-based programs that don't handle
1807         tcsetattr getting interrupted by a signal. Still allows us to avoid
1808         hogging the tty if the command is part of a pipeline.
1809         [1c32f2b94769]
1810
1811         * script.c, sudo.c, sudo.h, sudoreplay.c, term.c, tgetpass.c:
1812         Use a socketpair to pass signals from parent to child. Child will
1813         now pass command status change info back via the socketpair. This
1814         allows the parent to distinguish between signals it has been sent
1815         directly and signals the command has received. It also means the
1816         parent can once again print the signal notifications to the tty so
1817         all writes to the pty master occur in the parent. The command is
1818         now always started in background mode with tty signals handled by
1819         the parent.
1820         [c6790b82986d]
1821
1822 2009-11-04  Todd C. Miller  <Todd.Miller@courtesan.com>
1823
1824         * configure, configure.in:
1825         Fix a few typos in the descriptions; from Jeff Makey Only do the
1826         check for krb5_get_init_creds_opt_free() taking two arguments if we
1827         find krb5_get_init_creds_opt_alloc(). Otherwise we will get a false
1828         positive when using our own krb5_get_init_creds_opt_free which takes
1829         only a single argument.
1830         [845a9ff6f93d]
1831
1832 2009-11-03  Todd C. Miller  <Todd.Miller@courtesan.com>
1833
1834         * configure, configure.in:
1835         Remove a spurious comma in the kerb5 bits.
1836         [3433eab083db]
1837
1838         * auth/kerb5.c:
1839         Call krb5_get_init_creds_opt_init() in our emulated
1840         krb5_get_init_creds_opt_alloc() for MIT kerberos.
1841         [7ffb40bf43e9]
1842
1843 2009-11-01  Todd C. Miller  <Todd.Miller@courtesan.com>
1844
1845         * config.h.in:
1846         Add HAVE_ZLIB
1847         [9297bde61ecc]
1848
1849         * script.c:
1850         Need to ignore SIGTT{IN,OU} in child when running the command in the
1851         background. Also some minor cleanup.
1852         [dc208d982319]
1853
1854 2009-10-31  Todd C. Miller  <Todd.Miller@courtesan.com>
1855
1856         * script.c:
1857         Instead of calling sigsuspend when waiting for SIGUSR[12] from
1858         parent, install the signal handlers w/o SA_RESTART and let them
1859         interrupt waitpid().
1860         [759c7d18203b]
1861
1862         * script.c:
1863         Pass along SIGHUP and SIGTERM from parent to child.
1864         [035b0e254568]
1865
1866         * script.c:
1867         Close unused bits of script_fds in processes that don't need them.
1868         Restore default SIGCONT handler in child.
1869         [e037378ab0c1]
1870
1871         * script.c:
1872         Update foreground/background status in SIGCONT handler in parent
1873         process.
1874         [3f7f91333264]
1875
1876 2009-10-25  Todd C. Miller  <Todd.Miller@courtesan.com>
1877
1878         * script.c:
1879         Defer setting terminal into raw mode until just before we fork() and
1880         only do it if sudo is the foreground process. If we get SIGTT{IN,OU}
1881         and sudo is already in the foreground be sure to set raw mode before
1882         continuing the child.
1883         [1102ef40832c]
1884
1885 2009-10-24  Todd C. Miller  <Todd.Miller@courtesan.com>
1886
1887         * script.c:
1888         Fix handling of SIGTTOU/SIGTTIN in program being run. We now only
1889         give the command the controlling tty if the main sudo process is the
1890         foreground process.
1891         [cf3a91cb5682]
1892
1893         * script.c:
1894         Don't bother with sudo_waitpid() here for now.
1895         [9086de480c2d]
1896
1897         * script.c:
1898         fix non-zlib case
1899         [a258bff0f9a6]
1900
1901 2009-10-23  Todd C. Miller  <Todd.Miller@courtesan.com>
1902
1903         * script.c:
1904         Remove non-wroking code that crept into rev 1.55
1905         [2802dd55cff5]
1906
1907 2009-10-22  Todd C. Miller  <Todd.Miller@courtesan.com>
1908
1909         * INSTALL, configure, configure.in, script.c, sudoreplay.c:
1910         First pass at zlib support for transcript data files
1911         [5d10260807da]
1912
1913         * Makefile.in:
1914         remove vestiges of ZLDFLAGS
1915         [1fa0caf1c0fb]
1916
1917         * script.c:
1918         Add missing variable declaration for when TIOCSCTTY is not defined.
1919         Need to include sys/termio.h for TIOCSCTTY on some systems.
1920         [ee7f41ac2709]
1921
1922         * script.c:
1923         when resuming command, send SIGCONT to its pgrp not just pid
1924         [5cd63c1d565b]
1925
1926         * selinux.c:
1927         remove unused variable
1928         [df67df4be228]
1929
1930         * script.c:
1931         include selinux.h for is_selinux_enabled() proto
1932         [85ebaa880cc1]
1933
1934         * script.c:
1935         Don't use log_error() in the child process.
1936         [def65fe2a433]
1937
1938         * script.c:
1939         Do I/O in parent instead of child since the parent can have both
1940         /dev/tty as well as the pty fds open. The child just sets things up
1941         and waits for its grandchild and writes the signal description to
1942         the pty master if the command was killed by a signal.
1943         [95e473208982]
1944
1945 2009-10-18  Todd C. Miller  <Todd.Miller@courtesan.com>
1946
1947         * missing.h, sudo.h:
1948         Move two struct forward declarations from sudo.h to missing.h
1949         [90ad28294a8c]
1950
1951         * script.c:
1952         Make comment at the top of script_exec() match reality.
1953         [c5042d27dbe0]
1954
1955         * sudo.c:
1956         if neither stdin nor stdout is a tty, check stderr
1957         [c532ff20c8d8]
1958
1959         * Makefile.in:
1960         Add back dependecy of gram.h on gram.y
1961         [c58382b7fcca]
1962
1963         * script.c:
1964         Make transcript mode work as long as we can figure out our tty, even
1965         if it is not stdin. We'd like to use /dev/tty but that won't be
1966         valid after the setsid().
1967         [7b8bba8d99e7]
1968
1969 2009-10-17  Todd C. Miller  <Todd.Miller@courtesan.com>
1970
1971         * config.h.in, configure, configure.in, pty.c:
1972         Add support for IRIX-style dynamic ptys
1973         [bedc9bac44c1]
1974
1975         * Makefile.in, alloc.h, getline.c, sudo.h, sudoreplay.c:
1976         Move alloc.c protos into alloc.h
1977         [b6a90649617d]
1978
1979         * missing.h:
1980         Move prototypes for missing libc functions to missing.h
1981         [dda9ae1ccaf8]
1982
1983         * Makefile.in, sudo.h, sudoreplay.c:
1984         Move prototypes for missing libc functions to missing.h
1985         [7483166b577b]
1986
1987 2009-10-16  Todd C. Miller  <Todd.Miller@courtesan.com>
1988
1989         * config.h.in, configure, configure.in:
1990         Disable transcript support if no tcsetpgrp until we support older
1991         BSD-style job control.
1992         [27ac1d8163df]
1993
1994         * configure, configure.in, pty.c, script.c:
1995         Break out pty code into pty.c
1996         [e85509b25d41]
1997
1998         * compat.h, config.h.in, configure, configure.in:
1999         add killpg macro if no killpg function
2000         [3a125f4a51f0]
2001
2002         * config.h.in, configure, configure.in, script.c:
2003         Push ptem and ldterm for STERAMS-based systems when allocating a
2004         pty.
2005         [36bb39b30ff2]
2006
2007 2009-10-15  Todd C. Miller  <Todd.Miller@courtesan.com>
2008
2009         * script.c:
2010         Sprinkle some more O_NOCTTY and call grantpt() before unlockpt()
2011         [d94bd5c9bf4e]
2012
2013         * script.c:
2014         Call tcgetpgrp() in the parent, not the child and have the child
2015         spin until it is granted. Fixes a race on darwin.
2016         [6e8d435339ce]
2017
2018         * script.c:
2019         Only use TIOCNOTTY in the non-setsid case. If no TIOCSCTTY, just
2020         reopen slave.
2021         [0bdc63c019ca]
2022
2023 2009-10-14  Todd C. Miller  <Todd.Miller@courtesan.com>
2024
2025         * script.c:
2026         In script mode, if the command is killed by a signal, print the
2027         signal description as well as a core dump notification like the
2028         shell does.
2029         [9df61738df07]
2030
2031         * Makefile.in, config.h.in, configure, configure.in, strsignal.c,
2032         sudo.h:
2033         Add check for strsignal() and a simple implementation if it is not
2034         there but sys_siglist is
2035         [61421a188ef4]
2036
2037         * script.c:
2038         Add missing WUNTRACED and store the signal that stopped the
2039         grandchild in suspended, not signo.
2040         [df65042b200e]
2041
2042         * script.c:
2043         g/c unused code
2044         [40d8cb5c9203]
2045
2046         * script.c:
2047         Associate the grandchild's pgrp with the tty instead of the child's
2048         and just get suspend notifications via SIGCHLD instead of directly.
2049         This fixes a hang with programs that try to set terminal attributes
2050         and is more consistent with how the shell handles things.
2051         [6865abff7e94]
2052
2053 2009-10-12  Todd C. Miller  <Todd.Miller@courtesan.com>
2054
2055         * script.c:
2056         Move setpgid() of child into the parent side of the fork() where it
2057         belongs.
2058         [3defa782777c]
2059
2060 2009-10-11  Todd C. Miller  <Todd.Miller@courtesan.com>
2061
2062         * script.c:
2063         fix typo
2064         [b6a612b3622c]
2065
2066         * script.c:
2067         Run command in its own pgrp (like the shell does) for easier
2068         signalling. No need to relay SIGINT or SIGQUIT to parent, just send
2069         to grandchild. Don't want grandchild stopped events in the child
2070         (only termination). Flush output after suspending grandchild before
2071         signalling parent.
2072         [db556bf2176f]
2073
2074         * script.c:
2075         Back out revision 1.34; the problem lies elsewhere.
2076         [85f590a03275]
2077
2078         * script.c:
2079         Don't set stdout to blocking mode when flushing remaining output.
2080         It can cause us to hang when trying to exit. Need to investigate
2081         why.
2082         [6f803a3e33ca]
2083
2084         * script.c:
2085         Handle SIGTTOU and remove some debugging.
2086         [52d17279053e]
2087
2088         * term.c:
2089         Back out revision 1.10 as the signal that interrupts us may be
2090         SIGTTOU or SIGTTIN which the caller must handle.
2091         [7e2fa9107975]
2092
2093         * script.c:
2094         Apparently we need to send SIGSTOP to the command as well as ourself
2095         when we get SIGTSTP, the kernel doesn't automatically stop the
2096         process for us.
2097         [1a936e9309c4]
2098
2099         * script.c:
2100         Use an extra process to act as the glue bewteen the sessions
2101         associated with the user's controlling tty (what the shell uses) and
2102         the tty that sudo is using to do its logging. Basically, this means
2103         that if we get, e.g. SIGTSTP from the process sudo is running, we
2104         relay the signal to the parent so it's shell can do the job control.
2105         [6dd296988060]
2106
2107         * term.c:
2108         Handle getting/setting terminal attributes when the fd is in non-
2109         blocking mode.
2110         [ae5ae535ea7b]
2111
2112 2009-10-07  Todd C. Miller  <Todd.Miller@courtesan.com>
2113
2114         * sudoreplay.c, sudoreplay.cat, sudoreplay.man.in, sudoreplay.pod:
2115         Add support for pausing and changing the speed in interactive mode.
2116         [72a2063780a7]
2117
2118         * script.c:
2119         Already define O_NOCTTY in compat.h, don't need it here
2120         [b5d80ed3e5ce]
2121
2122 2009-10-06  Todd C. Miller  <Todd.Miller@courtesan.com>
2123
2124         * sudoreplay.c:
2125         Add missing protos
2126         [c4cb4e7f4d8a]
2127
2128 2009-09-30  Todd C. Miller  <Todd.Miller@courtesan.com>
2129
2130         * sudo_edit.c:
2131         Always update the stashed mtime of the temp file instead of using
2132         what we have for the original because the time resolution of the
2133         filesystem the temporary is on may not match that of the filesystem
2134         that holds the original. Should fix bz #371 found by Philippe Levan.
2135         [c86ca4bec60c]
2136
2137         * sudoreplay.c:
2138         Use cbreak mode instead of raw mode and add signal handlers to
2139         restore the tty on interrupt.
2140         [84dd283da41c]
2141
2142         * script.c, sudo.h, term.c:
2143         Retain NL to NLCR conversion on the real tty and skip it on the pty
2144         we allocate. That way, if stdout is not a pty there are no extra
2145         carriage returns.
2146         [32e4f570414e]
2147
2148         * script.c:
2149         Fix log_output(); just pass in a string and a length.
2150         [ca980cc0a3fb]
2151
2152 2009-09-28  Todd C. Miller  <Todd.Miller@courtesan.com>
2153
2154         * script.c:
2155         do not use errno when complaining out lack of a tty
2156         [8f9b8c55ab8e]
2157
2158 2009-09-27  Todd C. Miller  <Todd.Miller@courtesan.com>
2159
2160         * Makefile.in, sudoreplay.c, term.c:
2161         Instead of messing with line endings, just set terminal to raw mode
2162         in sudoreplay.
2163         [90943fa87acb]
2164
2165         * term.c:
2166         When copying the terminal attributes to the pty, be sure not to set
2167         ONLCR. This prevents extra carriage returns from ending up in the
2168         script output file.
2169         [e6b5475ac2aa]
2170
2171         * script.c:
2172         Convert a do {} while into a while
2173         [e461310d2c77]
2174
2175         * Makefile.in:
2176         Use if then instead of test && when installing binaries that may not
2177         exist.
2178         [ad4f9490d971]
2179
2180         * script.c:
2181         Add O_NOCTTY when opening a tty device. Explicitly disconnect from
2182         old tty before associatng with new one.
2183         [0e0ca634b80c]
2184
2185         * script.c, selinux.c, sudo.c, sudo.h:
2186         First cut at refactoring some of the selinux code so it can be used
2187         in conjunction with sudo's transcript support.
2188         [779b0d8f9d29]
2189
2190 2009-09-26  Todd C. Miller  <Todd.Miller@courtesan.com>
2191
2192         * aclocal.m4, configure, configure.in:
2193         Fix default case of transcript_enabled being unset.
2194         [f8aa96186e6b]
2195
2196         * script.c, sudoreplay.c:
2197         Use _PATH_SUDO_TRANSCRIPT instead of _PATH_SUDO_SESSDIR
2198         [2844a7a851fa]
2199
2200         * INSTALL, Makefile.in, aclocal.m4, configure, configure.in, sudo.c:
2201         Hook up --disable-transcript and --enable-transcript=DIR
2202         [b3fa7e6b2480]
2203
2204 2009-09-25  Todd C. Miller  <Todd.Miller@courtesan.com>
2205
2206         * aclocal.m4, configure, configure.in, pathnames.h.in:
2207         _PATH_SUDO_SESSDIR -> _PATH_SUDO_TRANSCRIPT Add --enable-
2208         transcript=DIR option to specify the directory
2209         [b0bb76d43cda]
2210
2211         * sudo.cat, sudo.man.in, sudoers.cat, sudoers.man.in:
2212         regen
2213         [c7a8a0a9027c]
2214
2215         * configure, configure.in, sudoers.man.pl, sudoers.pod:
2216         Substitute in default value for secure_path
2217         [c8f9ac6dbf93]
2218
2219         * sudo.pod:
2220         Mention that the password must be followed by a newline with the -S
2221         option.
2222         [2fc589a3ee7e]
2223
2224 2009-09-20  Todd C. Miller  <Todd.Miller@courtesan.com>
2225
2226         * script.c:
2227         Go back to dropping out of the select() loop when the process dies;
2228         Linux ptys apparently don't behave the same as BSD in regards to
2229         select(). No need to flush remaining output to the transcript, only
2230         to stdout. Add back code to check the master pty for additional data
2231         when we exit the main select loop.
2232         [abed9a9cbc6b]
2233
2234 2009-09-19  Todd C. Miller  <Todd.Miller@courtesan.com>
2235
2236         * Makefile.in:
2237         Add getline.o to COMMON_OBJS
2238         [04ef7643cbc2]
2239
2240         * Makefile.in:
2241         sudoreplay depends on libsudo.a
2242         [142bd0472631]
2243
2244         * Makefile.in:
2245         More pwutil.o into COMMON_OBJS
2246         [4a016b933629]
2247
2248         * pwutil.c, testsudoers.c, tsgetgrpw.c:
2249         Remove my_* redirection in pwutil.c for testsudoers and just use the
2250         normal libc get{pw,gr}* names.
2251         [9b76d637d86b]
2252
2253         * sudoreplay.cat, sudoreplay.man.in, sudoreplay.pod:
2254         More time and date examples
2255         [c6ee0175ec56]
2256
2257         * Makefile.in, configure, configure.in, nanosleep.c, sudoreplay.c:
2258         Move nanosleep() emulation into its own file Check librt.a for
2259         nanosleep if we don't find it in libc
2260         [4da0cc26aad7]
2261
2262         * Makefile.in, configure, configure.in:
2263         Build libsudo with the common bits and link things against that.
2264         [2b53bc0b081a]
2265
2266         * script.c:
2267         Fix final flush.
2268         [6da287d833da]
2269
2270         * script.c:
2271         Keep reading from the pty master -> log file until read returns <=
2272         0. Do our best to write everything to stdout when flushing any
2273         remaining bits.
2274         [2a45d4ae280c]
2275
2276         * sudoreplay.c:
2277         Use unbuffered I/O when writing to stdout and make sure we write the
2278         entire buffer.
2279         [f39ef9844a47]
2280
2281 2009-09-18  Todd C. Miller  <Todd.Miller@courtesan.com>
2282
2283         * sudoreplay.c:
2284         Only use max_wait if it is non-zero
2285         [f6c10604d2e8]
2286
2287         * getdate.c, getdate.y, getline.c:
2288         Need compat.h here
2289         [5d6722e225a0]
2290
2291         * sudoreplay.c:
2292         Fix nanosleep emulation
2293         [34e5e5d72a76]
2294
2295         * script.c:
2296         Fix comment after #endif
2297         [bd1347718b25]
2298
2299         * sudoreplay.c:
2300         Add protos for missing libc bits
2301         [644f496427a2]
2302
2303         * configure, configure.in:
2304         add missing line continuation char
2305         [db13c0d402cd]
2306
2307         * config.h.in, configure, configure.in, getline.c:
2308         Implement getline() in terms of fgetln() if we have it.
2309         [3ab786eaadc5]
2310
2311         * sudoreplay.c:
2312         Print year when formatting log line
2313         [90be669e3443]
2314
2315         * sudoreplay.pod:
2316         Document cwd, attempt to document time/date formats.
2317         [6290fb9b65c6]
2318
2319         * sudoreplay.c:
2320         Fix getline return value check.
2321         [d696d6657261]
2322
2323         * Makefile.in, config.h.in, configure, configure.in, getline.c,
2324         sudoreplay.c:
2325         Use getline() if the system has it, else use provide our own for
2326         sudoreplay.
2327         [afca1d6fbe5e]
2328
2329         * script.c:
2330         Refactor code to update output and timing files.
2331         [361491332b1a]
2332
2333 2009-09-17  Todd C. Miller  <Todd.Miller@courtesan.com>
2334
2335         * sudoreplay.c:
2336         Make sudo_getln() behave more like glibc getline.
2337         [40c9f2ea29e6]
2338
2339         * script.c:
2340         When flushing remaining output, also update timing file.
2341         [5a9a5a627549]
2342
2343         * sudoreplay.c:
2344         Use get_timestr() and make the -l output look like the regular sudo
2345         log.
2346         [452ba9d436c9]
2347
2348         * logging.c, sudo.h, timestr.c:
2349         Make get_timestr() take a time_t so we can use it properly in
2350         sudoreplay.
2351         [82e67cc53c9c]
2352
2353         * script.c:
2354         Create session dir earlier now that we update the seq number early.
2355         [797fe8d6dc61]
2356
2357 2009-09-16  Todd C. Miller  <Todd.Miller@courtesan.com>
2358
2359         * sudoreplay.c:
2360         Use fromdate and todate as the keywords instead of from and to; the
2361         short forms will still be accepted.
2362         [d14d9b116df4]
2363
2364         * sudoreplay.c:
2365         Fix reading long liensin sudo_getln()
2366         [58dadd74118c]
2367
2368         * script.c, sudoreplay.c:
2369         Log the cwd in the script log file. Add sudo_getln() to read
2370         arbitrarily long lines.
2371         [faceb802ab8f]
2372
2373         * Makefile.in, logging.c, sudo.h, timestr.c:
2374         Move get_timestr() into its own source file so sudoreplay can use
2375         it.
2376         [99b054bfa20a]
2377
2378 2009-09-15  Todd C. Miller  <Todd.Miller@courtesan.com>
2379
2380         * sudoreplay.c:
2381         Add to and from perdicates (date ranges); needs documentation
2382         [1d629174dcf4]
2383
2384 2009-09-14  Todd C. Miller  <Todd.Miller@courtesan.com>
2385
2386         * Makefile.in, getdate.c, getdate.y:
2387         Fix warning and add generated getdate.c
2388         [b877a86b5a03]
2389
2390         * Makefile.in, getdate.y:
2391         Add getdate.y to be used for sudoreplay date parsing.
2392         [b8e26fbb7a40]
2393
2394 2009-09-13  Todd C. Miller  <Todd.Miller@courtesan.com>
2395
2396         * sudoreplay.c:
2397         Check more than just the first character of a predicate
2398         [4fe53728adb1]
2399
2400         * sudoreplay.cat, sudoreplay.man.in, sudoreplay.pod:
2401         Add examples, sort predicates
2402         [70f8075cbccc]
2403
2404         * Makefile.in, sudoreplay.c, sudoreplay.cat, sudoreplay.man.in,
2405         sudoreplay.pod:
2406         Implement search expressions in sudoreplay similar in concept to
2407         what find or tcpdump uses. TODO: date ranges
2408         [f7ce4fb4cf3a]
2409
2410 2009-09-07  Todd C. Miller  <Todd.Miller@courtesan.com>
2411
2412         * script.c:
2413         Remove vhangup as it was hanging up the wrong tty. Should really
2414         vhangup in the child after it as set its tty.
2415         [2eed9df73010]
2416
2417         * sudoers.pod:
2418         Fix cut at documenting transcript support.
2419         [e6c533a5568a]
2420
2421         * logging.c:
2422         ID= -> TSID= for transcript ID
2423         [1bf755a35333]
2424
2425 2009-09-06  Todd C. Miller  <Todd.Miller@courtesan.com>
2426
2427         * sudoers.pod:
2428         Move fast_glob description to where it belongs in sorted order
2429         [5901cfb0d25f]
2430
2431         * def_data.c, def_data.h, def_data.in, gram.c, gram.h, gram.y,
2432         parse.c, parse.h, sudo.c:
2433         Rename script -> transcript
2434         [e06cf823122c]
2435
2436 2009-09-03  Todd C. Miller  <Todd.Miller@courtesan.com>
2437
2438         * compat.h:
2439         Add timeradd and timersub for those without them
2440         [929f8aa06c2b]
2441
2442         * script.c:
2443         Sanity check sessid before using it.
2444         [aa8ca5211d43]
2445
2446         * sudo.c:
2447         Only set the session id if we are running a command or editing a
2448         file.
2449         [7205d717c098]
2450
2451         * script.c:
2452         Actually. qsort is fine since most versions fal back to a cheaper
2453         sort when the number of elements to sort is small (like in our
2454         case).
2455         [d11c7cd352fe]
2456
2457         * config.h.in, configure, configure.in, script.c:
2458         Check for dup2 and use dup instead if we don't have it.
2459         [98bd89830f8a]
2460
2461         * script.c, sudo.c, sudo.h:
2462         Move the code to dup2 the script fds to low numbered descriptors
2463         into script_duplow() and fix the fd sorting.
2464         [9453fdc5fba6]
2465
2466         * script.c, sudo.c, sudo.h:
2467         Move script_setup() back to immediately before we drop privs and
2468         call the new script_nextid() in its place, which will set
2469         sudo_user.sessid for the logging functions.
2470         [8434d0c8ff08]
2471
2472 2009-09-01  Todd C. Miller  <Todd.Miller@courtesan.com>
2473
2474         * Makefile.in:
2475         Install sudoreplay
2476         [6acf2cdb4d3f]
2477
2478         * sudoreplay.c:
2479         remove unused variable
2480         [2316360bb992]
2481
2482 2009-08-30  Todd C. Miller  <Todd.Miller@courtesan.com>
2483
2484         * logging.c, script.c, sudo.c, sudo.h:
2485         Log the session ID, if there is one. Currently logs ID=XXXXXX,
2486         perhaps should be SESSIONID or SESSID.
2487         [53976905b0a6]
2488
2489         * Makefile.in, configure, configure.in, sudoreplay.cat,
2490         sudoreplay.man.in, sudoreplay.pod:
2491         Add sudoreplay docs
2492         [da4f14f0e64c]
2493
2494         * sudoreplay.c:
2495         add -V (version) flag
2496         [b5e743639ee3]
2497
2498         * sudoreplay.c:
2499         Hook up max_wait.
2500         [2ec5697a92ba]
2501
2502         * script.c, sudoreplay.c:
2503         Use base36 number for the ID and store script files with paths like
2504         /var/log/sudo-session/00/00/00{,.tim,.scr}. This gives us 36^6
2505         (2,176,782,336) unique IDs.
2506         [6aab019d07aa]
2507
2508 2009-08-23  Todd C. Miller  <Todd.Miller@courtesan.com>
2509
2510         * config.h.in, configure.in:
2511         Add check for regcomp
2512         [44c3ebd7ff34]
2513
2514         * sudoreplay.c:
2515         Add support for selecting by pattern and tty when listing.
2516         [66189f840c52]
2517
2518 2009-08-17  Todd C. Miller  <Todd.Miller@courtesan.com>
2519
2520         * sudoreplay.c:
2521         The beginnings of a list mode.
2522         [8d0150b4a52c]
2523
2524 2009-08-16  Todd C. Miller  <Todd.Miller@courtesan.com>
2525
2526         * Makefile.in:
2527         fix pasto
2528         [616b4640b8a8]
2529
2530         * Makefile.in, config.h.in, configure.in:
2531         Add scaffolding for building sudoreplay
2532         [a32958505dbe]
2533
2534         * sudoreplay.c:
2535         include error.h first arg to nanotime is const
2536         [fe5a7bb31bc5]
2537
2538         * sudoreplay.c:
2539         Initial cut at sudoreplay; replay a sudo session.
2540         [f149fba372bd]
2541
2542 2009-08-08  Todd C. Miller  <Todd.Miller@courtesan.com>
2543
2544         * script.c:
2545         Fix wait() usage and use correct wait status.
2546         [f4745ed7ad05]
2547
2548         * sudo.c, sudo.h, tgetpass.c:
2549         Add protos for term_* to sudo.h
2550         [14fe1abd7e7b]
2551
2552         * script.c:
2553         Fix detection of the child process exiting. Since the child is in
2554         its own session we should only ever get SIGCHLD for that process but
2555         better safe than sorry.
2556         [7edfdadd8505]
2557
2558         * config.h.in:
2559         Add UNIX98 pty support.
2560         [82f4b53a0e8f]
2561
2562         * configure, configure.in, script.c:
2563         Add UNIX98 pty support.
2564         [795b8bb0a3a1]
2565
2566 2009-08-07  Todd C. Miller  <Todd.Miller@courtesan.com>
2567
2568         * term.c:
2569         For raw mode, don't bother clearing BRKINT or PARMRK and clear IUCLC
2570         if it is defined.
2571         [40f8b83baf69]
2572
2573         * auth/pam.c:
2574         Set PAM_RUSER and PAM_RHOST early so they can be used during
2575         authentication. Based on a patch from Jamie Beverly.
2576         [3d567b453a6a]
2577
2578         * match.c:
2579         Close dir before returning if strlcpy() reports overflow. From
2580         Martynas Venckus.
2581         [6a82f96473e5]
2582
2583         * config.h.in, configure, configure.in, script.c:
2584         On Linux, the openpty proto libes in pty.h
2585         [98643a018d1c]
2586
2587         * script.c:
2588         Call vhangup on exit if the system has it Use setpgrp() if no
2589         setsid()
2590         [3a9e13149829]
2591
2592 2009-08-06  Todd C. Miller  <Todd.Miller@courtesan.com>
2593
2594         * config.h.in, configure, configure.in:
2595         Add checks for revoke and vhangup if we don't have openpty
2596         [fcb04572e994]
2597
2598         * script.c:
2599         Session logging guts that got forgotten in the previous commit.
2600         [c2af08a63ea9]
2601
2602         * Makefile.in, aclocal.m4, compat.h, config.h.in, configure,
2603         configure.in, def_data.c, def_data.h, def_data.in, gram.c, gram.h,
2604         gram.y, parse.c, parse.h, pathnames.h.in, sudo.c, sudo.h, term.c,
2605         tgetpass.c:
2606         First cut at session logging for sudo. Still need to write
2607         get_pty() for Unix 98 and old-style BSD ptys. Also needs
2608         documentation and general cleanup.
2609         [77e3f5e25738]
2610
2611 2009-08-05  Todd C. Miller  <Todd.Miller@courtesan.com>
2612
2613         * sudo.c, sudo_edit.c:
2614         Fix a bug introduced with def_closefrom. The value of def_closefrom
2615         already includes the +1.
2616         [7291c136300d]
2617
2618 2009-07-29  Todd C. Miller  <Todd.Miller@courtesan.com>
2619
2620         * Makefile.in:
2621         Generate sudo distributions with pax in ustar mode. No longer need
2622         to use a temp file or have the source dir name match the version.
2623         [9778177a8272]
2624
2625 2009-07-18  Todd C. Miller  <Todd.Miller@courtesan.com>
2626
2627         * toke.c, toke.l:
2628         Fix expansion of %h in #include names. Fixes bugzilla 363
2629         [6e346879ba24]
2630
2631 2009-07-12  Todd C. Miller  <Todd.Miller@courtesan.com>
2632
2633         * mkdefaults:
2634         If no arg assume def_data.in
2635         [c1dd28c0e675]
2636
2637         * README, WHATSNEW:
2638         Update for 1.7.2
2639         [f5ad45f69f05] [SUDO_1_7_2]
2640
2641         * ChangeLog:
2642         sync
2643         [6283549396ff]
2644
2645 2009-06-30  Todd C. Miller  <Todd.Miller@courtesan.com>
2646
2647         * sudoers.cat, sudoers.man.in, sudoers.pod:
2648         Add missing single quotes around a colon in Runas_Spec definition.
2649         From Elias Benali.
2650         [ccc6ee4fca83]
2651
2652 2009-06-29  Todd C. Miller  <Todd.Miller@courtesan.com>
2653
2654         * sudo.man.in, sudoers.man.in:
2655         regen
2656         [546e75304ebf]
2657
2658         * redblack.c:
2659         In rbrepair, re-color the root or the first non-block node we find
2660         to be black. Re-coloring the root is probably not needed but won't
2661         hurt.
2662         [34d01ebe241b]
2663
2664         * sudo.cat, sudoers.cat:
2665         regen
2666         [bebf5a39f54f]
2667
2668 2009-06-26  Todd C. Miller  <Todd.Miller@courtesan.com>
2669
2670         * redblack.c:
2671         When repairing the tree, don't touch the root node.
2672         [9841f0d5d789]
2673
2674 2009-06-25  Todd C. Miller  <Todd.Miller@courtesan.com>
2675
2676         * set_perms.c:
2677         Protect call to setegid in runas_setup with #ifdef HAVE_SETEUID.
2678         Reported by Josef Schmid.
2679         [ed044b1eb879]
2680
2681 2009-06-23  Todd C. Miller  <Todd.Miller@courtesan.com>
2682
2683         * sudoers.pod:
2684         Document that we accept env_pam-style environment files
2685         [e3b545456352]
2686
2687         * env.c:
2688         Adapt to accept pam_env-style /etc/environment which allows shell-
2689         style lines such as: export EDITOR="/usr/bin/vi"
2690         [752eb75bf007]
2691
2692         * sudoers.pod:
2693         Make it clear that env_delete only works when !env_reset. From Lo??c
2694         Minier
2695         [3bd3f8e351ba]
2696
2697 2009-06-15  Todd C. Miller  <Todd.Miller@courtesan.com>
2698
2699         * sudo.pod, sudoers.pod:
2700         Add non-unix group bits, adapted from Quest
2701         [8ce427de8dea]
2702
2703         * Makefile.in:
2704         build the .cat page in the current working dir, not the src dir
2705         [00e87a307674]
2706
2707         * env.c:
2708         Return EINVAL in setenv() if var is NULL or the empty string to
2709         match glibc behavior.
2710         [23fd7c247142]
2711
2712 2009-06-13  Todd C. Miller  <Todd.Miller@courtesan.com>
2713
2714         * configure, configure.in:
2715         Use AS_HELP_STRING for AC_ARG_WITH and AC_ARG_ENABLE
2716         [fedd4a3e2a85]
2717
2718 2009-06-11  Todd C. Miller  <Todd.Miller@courtesan.com>
2719
2720         * sudo.cat, sudo.man.in, sudoers.cat, sudoers.ldap.cat,
2721         sudoers.ldap.man.in, sudoers.man.in, visudo.cat, visudo.man.in:
2722         regen
2723         [7b9f461a40b3]
2724
2725 2009-06-09  Todd C. Miller  <Todd.Miller@courtesan.com>
2726
2727         * INSTALL:
2728         Document --with-libvas and --with-libvas-rpath
2729         [a071e6d96c89]
2730
2731 2009-05-29  Todd C. Miller  <Todd.Miller@courtesan.com>
2732
2733         * ldap.c, sudoers.ldap.pod:
2734         For netscape-derived LDAP SDKs the cert and key paths may be a
2735         directory or a file. However, version 5.0 of the SDK only seems to
2736         support using a directory. If ldapssl_clientauth_init fails and the
2737         cert or key paths look like they could be files, strip off the last
2738         path element and try again.
2739         [ac4e49d83043]
2740
2741         * Makefile.in:
2742         Add non-Unix group .o to COMMON_OBJS and substitute in path to flex.
2743         [4547cc1a335f]
2744
2745 2009-05-27  Todd C. Miller  <Todd.Miller@courtesan.com>
2746
2747         * configure, configure.in, match.c, sudo.c, vasgroups.c:
2748         Update non-Unix group support from Quest, as reworked by me.
2749         [1abafce29dc6]
2750
2751         * toke.c:
2752         regen
2753         [01bfca9148b7]
2754
2755         * toke.l:
2756         Add support for escaped hex chars in names, e.g. \x20 for space.
2757         [3c7be8e58a39]
2758
2759 2009-05-25  Todd C. Miller  <Todd.Miller@courtesan.com>
2760
2761         * LICENSE, Makefile.in, aclocal.m4, alias.c, auth/aix_auth.c,
2762         auth/pam.c, auth/sudo_auth.c, auth/sudo_auth.h, check.c, env.c,
2763         fileops.c, glob.c, gram.y, interfaces.c, lbuf.c, ldap.c, logging.c,
2764         logging.h, match.c, parse.c, parse.h, pathnames.h.in, pwutil.c,
2765         set_perms.c, sudo.c, sudo.h, sudo.pod, sudo_nss.c, sudo_nss.h,
2766         sudo_usage.h.in, sudoers.ldap.pod, sudoers.pod, testsudoers.c,
2767         tgetpass.c, toke.l, visudo.c:
2768         Update copyright years.
2769         [e615f676c764]
2770
2771 2009-05-24  Todd C. Miller  <Todd.Miller@courtesan.com>
2772
2773         * interfaces.c, lbuf.c:
2774         Minor fixes for Minix-3
2775         [898c510d23f9]
2776
2777 2009-05-22  Todd C. Miller  <Todd.Miller@courtesan.com>
2778
2779         * set_perms.c:
2780         Handle getgroups() returning 0. Also add missing check for
2781         HAVE_GETGROUPS.
2782         [d73b958f9ffd]
2783
2784 2009-05-19  Todd C. Miller  <Todd.Miller@courtesan.com>
2785
2786         * Makefile.in, config.h.in, configure, configure.in, sudo.c,
2787         version.h, visudo.c:
2788         Replace version.h with PACKAGE_VERSION set via AC_INIT in configure.
2789         [5050579a264d]
2790
2791 2009-05-18  Todd C. Miller  <Todd.Miller@courtesan.com>
2792
2793         * set_perms.c:
2794         Remove group setting code in setusercontext case, we will do it
2795         ourselves later on in runas_setup. Set the gid after
2796         initgroups/setgroups is called, since on Mac OS X it seems to change
2797         the egid.
2798         [09dc21d8b42d]
2799
2800 2009-05-17  Todd C. Miller  <Todd.Miller@courtesan.com>
2801
2802         * LICENSE, Makefile.in, config.h.in, match.c, nonunix.h, sudo.c,
2803         vasgroups.c:
2804         Initial bits of non-unix group support using Quest Authentication
2805         Services
2806         [1eecab0ff27e]
2807
2808         * toke.c, toke.l:
2809         Accept %:foo as a non-Unix group
2810         [4c4b5dd899a6]
2811
2812         * toke.c, toke.l:
2813         Allow user/group to be double quoted in the case of non-Unix groups
2814         which contain spaces.
2815         [47a3d568b7e8]
2816
2817 2009-05-11  Todd C. Miller  <Todd.Miller@courtesan.com>
2818
2819         * match.c:
2820         Don't allow the user to specify the default runas user if their
2821         sudoers entry only allows them to run as a group.
2822         [4d726177227c]
2823
2824 2009-05-10  Todd C. Miller  <Todd.Miller@courtesan.com>
2825
2826         * sudo.c:
2827         Must call audit_success before we change uids.
2828         [04a9e6ce6e55]
2829
2830         * logging.c, set_perms.c, sudo.h, testsudoers.c:
2831         Add option for set_perm to not exit on failure and use this in the
2832         logging routines.
2833         [833dce7b7f42]
2834
2835         * parse.c:
2836         In -l mode, if the user is only allowed to run as a group, display
2837         the user's name, not root's before the allowed group.
2838         [ef92ff99d265]
2839
2840         * sudo.c:
2841         Fix -g mode, broken by rev 1.503 which had the side effect of
2842         setting the runas user to root unilaterally.
2843         [50a2f7df4385]
2844
2845 2009-05-08  Todd C. Miller  <Todd.Miller@courtesan.com>
2846
2847         * fileops.c:
2848         When unlocking a file with fcntl, use F_SETLK, not F_SETLKW.
2849         [30fbe832dcf3]
2850
2851         * pwutil.c:
2852         Only cache by the method we fetched for pwd and grp lookups.
2853         Previously we cached both by namd and id but this can cause problems
2854         for entries that share the same id. Also add more info in the error
2855         message in case the insert fails (which should now be impossible).
2856         [ef95a4f0bab5]
2857
2858 2009-04-30  Todd C. Miller  <Todd.Miller@courtesan.com>
2859
2860         * sudoers.pod:
2861         Add a clarification from Nick Sieger
2862         [1eadad329561]
2863
2864 2009-04-25  Todd C. Miller  <Todd.Miller@courtesan.com>
2865
2866         * env.c:
2867         Inline the setting of the environment string.
2868         [9515d11c6295]
2869
2870 2009-04-24  Todd C. Miller  <Todd.Miller@courtesan.com>
2871
2872         * env.c:
2873         setenv(3) in Linux treats a NUL value as the empty string setenv(3)
2874         in BSD doesn't return an error if the name has '=' in it, it just
2875         treats the '=' as end of string.
2876         [941260bf94d2]
2877
2878 2009-04-22  Todd C. Miller  <Todd.Miller@courtesan.com>
2879
2880         * toke.c, toke.l:
2881         Not all systems have d_namlen
2882         [e377b18d8e2d]
2883
2884 2009-04-20  Todd C. Miller  <Todd.Miller@courtesan.com>
2885
2886         * sudoers.pod:
2887         Fix up some pod2html issues.
2888         [823a1f10ab60]
2889
2890 2009-04-19  Todd C. Miller  <Todd.Miller@courtesan.com>
2891
2892         * interfaces.c:
2893         Check for NULL ifa_addr and ifa_netmask. Adapted from a diff from
2894         Quest Software.
2895         [73de36653131]
2896
2897         * sudoers.pod:
2898         Ignore files ending in '~' in sudo.d (emacs backup files)
2899         [7871fad702db]
2900
2901         * toke.c, toke.l:
2902         Ignore files ending in '~' in sudo.d (emacs backup files)
2903         [53fded2a469f]
2904
2905 2009-04-18  Todd C. Miller  <Todd.Miller@courtesan.com>
2906
2907         * sudoers.cat, sudoers.man.in, sudoers.pod, toke.c, toke.l:
2908         For #includedir, ignore any file containing a dot
2909         [a7daa1bce6c2]
2910
2911         * Makefile.in, version.h:
2912         Bump version
2913         [ef60f14ffc44]
2914
2915         * gram.c, gram.y, parse.c, parse.h, sudo.c, sudo.h, sudoers.cat,
2916         sudoers.man.in, sudoers.pod, testsudoers.c, toke.c, toke.l,
2917         visudo.c:
2918         Implement #includedir directive. Files in an includedir are not
2919         edited by visudo unless they contain a syntax error.
2920         [3923d85a6c79]
2921
2922         * ChangeLog:
2923         sync
2924         [8741ed61a78b] [SUDO_1_7_1]
2925
2926         * WHATSNEW:
2927         Forgot umask_override
2928         [7c86a21a5504]
2929
2930         * ChangeLog, TODO:
2931         sync
2932         [57339ca6bccf]
2933
2934 2009-04-16  Todd C. Miller  <Todd.Miller@courtesan.com>
2935
2936         * visudo.c:
2937         Rewind stream if we fdopen sudoers since it may not be at the
2938         beginning. Set the keepopen flag on already-open files too so the
2939         lexer doesn't close them out from under us.
2940         [61292d819aff]
2941
2942         * visudo.c:
2943         Print the proper file name when there is a parse error in an include
2944         file.
2945         [b0e85d4aedde]
2946
2947 2009-04-11  Todd C. Miller  <Todd.Miller@courtesan.com>
2948
2949         * WHATSNEW:
2950         Sync
2951         [997e5d485ea3]
2952
2953 2009-04-10  Todd C. Miller  <Todd.Miller@courtesan.com>
2954
2955         * configure, configure.in:
2956         Fix a warning when --without-ldap is specified.
2957         [d91fd9481b30]
2958
2959 2009-04-05  Todd C. Miller  <Todd.Miller@courtesan.com>
2960
2961         * alias.c, parse.h, visudo.c:
2962         Store aliases that we remove during check_aliases in a freelist and
2963         free them at the end so we don't leak memory.
2964         [805e2272f6a3]
2965
2966 2009-03-28  Todd C. Miller  <Todd.Miller@courtesan.com>
2967
2968         * visudo.c:
2969         Check aliases in -c mode too.
2970         [9199e188d9f2]
2971
2972         * alias.c, parse.h, visudo.c:
2973         Make alias_remove return the alias struct instead of freeing it
2974         directly. Fixes a use after free in alias_remove_recursive, the only
2975         consumer.
2976         [a04b61804800]
2977
2978         * alias.c, match.c, parse.c, parse.h, visudo.c:
2979         Rename find_alias -> alias_find for consistency.
2980         [48b0a82924f3]
2981
2982 2009-03-27  Todd C. Miller  <Todd.Miller@courtesan.com>
2983
2984         * visudo.c:
2985         When checking for unused aliases, recurse if the alias points to
2986         another alias.
2987         [2d4d1a7f3a41]
2988
2989 2009-03-16  Todd C. Miller  <Todd.Miller@courtesan.com>
2990
2991         * ldap.c:
2992         Back out rev 1.105 for now. Real ldapux_client.conf support will be
2993         done later after some refactoring.
2994         [8ad72e69b277]
2995
2996 2009-03-14  Todd C. Miller  <Todd.Miller@courtesan.com>
2997
2998         * ldap.c:
2999         Treat ldap_hostport the same as "host" for ldapux.
3000         [3281dcc66da8]
3001
3002         * configure, configure.in:
3003         Only check for ldap_sasl_interactive_bind_s if we can find sasl.h.
3004         Fixes compilation with ldapux.
3005         [ca1ed585ef0e]
3006
3007 2009-03-12  Todd C. Miller  <Todd.Miller@courtesan.com>
3008
3009         * fileops.c:
3010         fix char subscript
3011         [41e51f080d00]
3012
3013 2009-03-11  Todd C. Miller  <Todd.Miller@courtesan.com>
3014
3015         * Makefile.in:
3016         remove errant carriage returns
3017         [e9e258a31c7b]
3018
3019         * audit.c, env.c:
3020         fix K&R compilation
3021         [d182e8920f13]
3022
3023         * sudo.cat, sudo.man.in, sudoers.cat, sudoers.ldap.cat,
3024         sudoers.ldap.man.in, sudoers.man.in, visudo.cat, visudo.man.in:
3025         regen
3026         [791a5cbf04e5]
3027
3028 2009-03-10  Todd C. Miller  <Todd.Miller@courtesan.com>
3029
3030         * config.h.in:
3031         Add missing HAVE_BSM_AUDIT
3032         [49ad1bb96f04]
3033
3034         * WHATSNEW:
3035         Add 1.7.1 features
3036         [f107f1604c61]
3037
3038         * INSTALL:
3039         Mention --with-netsvc
3040         [d1e90d147795]
3041
3042         * sudoers.ldap.pod:
3043         Document netsvc.conf support
3044         [e78f8abce6af]
3045
3046         * configure, configure.in, pathnames.h.in, sudo.c, sudo_nss.c,
3047         sudo_nss.h:
3048         Add support for AIX netsvc.conf (like nsswitch.conf).
3049         [1df56a84dee5]
3050
3051 2009-03-08  Todd C. Miller  <Todd.Miller@courtesan.com>
3052
3053         * config.h.in, configure, configure.in, env.c:
3054         Add --enable-env-debug flag to enable environment sanity checks.
3055         [128cdd8832e7]
3056
3057         * sudoers.ldap.pod, sudoers.pod:
3058         Work around some pod2html issue.
3059         [e733b9609bd2]
3060
3061 2009-03-07  Todd C. Miller  <Todd.Miller@courtesan.com>
3062
3063         * env.c:
3064         Only sync environ for putenv, setenv, and unsetenv. We need to make
3065         sure that sudo_putenv and sudo_setenv only modify env.envp, not
3066         environ.
3067         [be3ac732243c]
3068
3069 2009-03-02  Todd C. Miller  <Todd.Miller@courtesan.com>
3070
3071         * env.c:
3072         Really fix UNSETENV_VOID
3073         [08ab7e882507]
3074
3075         * env.c:
3076         Fix unsetenv when UNSETENV_VOID
3077         [d3038b3f2f15]
3078
3079         * aclocal.m4, configure:
3080         Fix SUDO_FUNC_PUTENV_CONST
3081         [de35569c572b]
3082
3083         * ldap.c:
3084         tivoli-based ldap does not have ldapssl_err2string
3085         [c63fd90d5e99]
3086
3087         * configure:
3088         regen
3089         [f38f1ee828ad]
3090
3091 2009-03-01  Todd C. Miller  <Todd.Miller@courtesan.com>
3092
3093         * config.h.in, configure, configure.in, ldap.c:
3094         Add support for Tivoli-based LDAP start TLS as seen in AIX.
3095         Untested.
3096         [8f8771829f85]
3097
3098         * env.c:
3099         Add sanity checks for setenv/unsetenv
3100         [adbd1d95856b]
3101
3102         * Makefile.in:
3103         Include bsm_audit.h in the tarball
3104         [4a4aa02b2c32]
3105
3106         * Makefile.in, version.h:
3107         bump version for sudo 1.7.1
3108         [362c71d21595]
3109
3110         * aclocal.m4, auth/aix_auth.c, config.h.in, configure, configure.in,
3111         env.c, ldap.c, sudo.h:
3112         Replace sudo_setenv/sudo_unsetenv with calls to setenv/unsetenv and
3113         provide our own setenv/unsetenv/putenv that operates on own env
3114         pointer. Make sync_env() inline in setenv/unsetenv/putenv functions.
3115         [276edcd23032]
3116
3117 2009-02-25  Todd C. Miller  <Todd.Miller@courtesan.com>
3118
3119         * sudo.c:
3120         Make "sudoedit -h" work as expected
3121         [2bcbbb45d389]
3122
3123         * auth/pam.c:
3124         Make sure def_prompt is always defined. This is a workaround for
3125         pam configs that prompt for a password in the session but don't have
3126         an auth line. A better fix is to expand the sudo prompt earlier and
3127         set def_prompt to that when initializing.
3128         [ee073c04aec3]
3129
3130         * sudo.pod:
3131         Mention that the helper for -A may be graphical.
3132         [b64a940c4082]
3133
3134         * TROUBLESHOOTING:
3135         Document what happens if there is no tty.
3136         [313d58a856a5]
3137
3138         * sudo.c:
3139         cosmetic changes
3140         [894f5e3b0c3e]
3141
3142         * term.c:
3143         Fix term_restore
3144         [6c6315ff14bc]
3145
3146         * sudo.c:
3147         Fix "sudo -k" with no other args
3148         [59e94dc419c6]
3149
3150 2009-02-24  Todd C. Miller  <Todd.Miller@courtesan.com>
3151
3152         * check.c, sudo.c, sudo.pod, sudo_usage.h.in:
3153         Allow the -k flag to be specified in conjunction with a command or
3154         another option that may require authentication.
3155         [5960ff20355d]
3156
3157 2009-02-23  Todd C. Miller  <Todd.Miller@courtesan.com>
3158
3159         * configure, configure.in:
3160         Remove unneeded AC_CANONICAL_TARGET; from Diego E. 'Flameeyes'
3161         [e86ab69c4a57]
3162
3163         * Makefile.in:
3164         Parallel make fix. From Diego E. 'Flameeyes'
3165         [1289d7ee27db]
3166
3167 2009-02-21  Todd C. Miller  <Todd.Miller@courtesan.com>
3168
3169         * def_data.c, def_data.h, def_data.in, sudo.c, sudoers.pod:
3170         Implement umask_override
3171         [8b87a3f7c5aa]
3172
3173         * toke.c:
3174         regen
3175         [79d7ca9ac873]
3176
3177         * sudoers.pod, toke.l, visudo.c:
3178         Implement %h escape in sudoers include filenames.
3179         [a7f288dd64f0]
3180
3181         * audit.c:
3182         Need to include compat.h
3183         [c0dc07ce2f70]
3184
3185         * Makefile.in, audit.c, bsm_audit.c, bsm_audit.h, logging.h, sudo.c:
3186         Make audit_success and audit_failure generic functions in
3187         preparation for integrating linux audit support.
3188         [7df020a8fd6f]
3189
3190         * term.c:
3191         remove duplicate include
3192         [1dfcd01a7e46]
3193
3194 2009-02-20  Todd C. Miller  <Todd.Miller@courtesan.com>
3195
3196         * bsm_audit.c:
3197         Add missing include
3198         [fb56e08c37ee]
3199
3200         * sudo.c:
3201         May need to update the runas user after parsing command-based
3202         defaults.
3203         [246f130d7802]
3204
3205 2009-02-18  Todd C. Miller  <Todd.Miller@courtesan.com>
3206
3207         * glob.c:
3208         Add missing pair of braces introduced with character class support.
3209         [0e2afa2e03e9]
3210
3211 2009-02-15  Todd C. Miller  <Todd.Miller@courtesan.com>
3212
3213         * def_data.c, def_data.h, def_data.in, sudoers.pod, tgetpass.c:
3214         Rename pwstars to pwfeedback
3215         [a9f85a57ebac]
3216
3217 2009-02-11  Todd C. Miller  <Todd.Miller@courtesan.com>
3218
3219         * bsm_audit.c, bsm_audit.h:
3220         Add const to make MacOS happy.
3221         [4274432d6627]
3222
3223         * Makefile.in, auth/sudo_auth.c, bsm_audit.c, bsm_audit.h, configure,
3224         configure.in, sudo.c:
3225         Add bsm audit support from Christian S.J. Peron
3226         [bef61cd8693d]
3227
3228         * term.c:
3229         This is new code, no DARPA notice.
3230         [ec6ad09b9c23]
3231
3232 2009-02-10  Todd C. Miller  <Todd.Miller@courtesan.com>
3233
3234         * def_data.c, def_data.h, def_data.in, match.c, sudoers.pod:
3235         Rename simple_glob -> fast_glob
3236         [68d9ed803cc1]
3237
3238         * match.c:
3239         g/c unused var
3240         [693fa0464eb6]
3241
3242         * def_data.c, def_data.h, def_data.in, match.c, sudoers.pod:
3243         Add simple_glob option to use fnmatch() instead of glob(). This is
3244         useful when you need to specify patterns that reference network file
3245         systems.
3246         [77ba634f6949]
3247
3248         * tgetpass.c:
3249         add term_* proto
3250         [520f5149d073]
3251
3252         * sudoers.pod:
3253         mention glob()
3254         [ddaab8e03c52]
3255
3256 2009-02-09  Todd C. Miller  <Todd.Miller@courtesan.com>
3257
3258         * tgetpass.c:
3259         Delete any pwstars we wrote after the user hits return. That way
3260         there is no record on screen as to the user's password length.
3261         [fae25cda762b]
3262
3263 2009-02-08  Todd C. Miller  <Todd.Miller@courtesan.com>
3264
3265         * term.c:
3266         Move terminal setting bits from tgetpass.c to term.c
3267         [03d43325ee99]
3268
3269         * Makefile.in, def_data.c, def_data.h, def_data.in, sudoers.pod,
3270         tgetpass.c:
3271         Add pwstars sudoers option that causes sudo to print a star every
3272         time the user presses a key.
3273         [7aab417e184d]
3274
3275 2009-02-03  Todd C. Miller  <Todd.Miller@courtesan.com>
3276
3277         * Makefile.in:
3278         Fix up F<> brokenness for visudo.man.in and sudoers.ldap.man.in.
3279         [64f70e879816]
3280
3281 2009-01-27  Todd C. Miller  <Todd.Miller@courtesan.com>
3282
3283         * ldap.c:
3284         For ldap_search_ext_s() the sizelimit param should be 0, not -1, to
3285         indicate no limit. From Mark Janssen.
3286         [e2c5732d54f5]
3287
3288 2009-01-17  Todd C. Miller  <Todd.Miller@courtesan.com>
3289
3290         * toke.c, toke.l:
3291         Comments that begin with #- should not be parsed as uids.
3292         [a72a50f12f41]
3293
3294 2009-01-09  Todd C. Miller  <Todd.Miller@courtesan.com>
3295
3296         * sudo.c:
3297         Do not try to set the close on exec flag if we didn't actually open
3298         sudoers.
3299         [ece3ca256904]
3300
3301 2008-12-19  Todd C. Miller  <Todd.Miller@courtesan.com>
3302
3303         * ChangeLog:
3304         regen
3305         [e11f0e4c1bdd] [SUDO_1_7_0]
3306
3307 2008-12-14  Todd C. Miller  <Todd.Miller@courtesan.com>
3308
3309         * TODO:
3310         sync
3311         [5b8954462bb3]
3312
3313 2008-12-09  Todd C. Miller  <Todd.Miller@courtesan.com>
3314
3315         * auth/pam.c:
3316         Return PAM_AUTH_ERR instead of PAM_CONV_ERR if user enters ^C at the
3317         password prompt.
3318         [8563601cb3de]
3319
3320         * configure, configure.in:
3321         Don't try to build sudo_noexec.so on HP-UX with the bundled compiler
3322         as it cannot generate shared objects.
3323         [6d4262ef9669]
3324
3325         * emul/charclass.h, glob.c, lbuf.c, tgetpass.c:
3326         K&R compilation fixes
3327         [77921678d17c]
3328
3329         * parse.c:
3330         Use tq_foreach_fwd when checking pseudo-commands to make it clear
3331         that we are not short-circuiting on last match. When pwcheck is
3332         'all', initialize nopass to TRUE and override it with the first non-
3333         TRUE entry.
3334         [96b209f4778f]
3335
3336 2008-12-08  Todd C. Miller  <Todd.Miller@courtesan.com>
3337
3338         * parse.c:
3339         Do not short circuit pseudo commands when we get a match since,
3340         depending on the settings, we may need to examine all commands for
3341         tags.
3342         [fdbaf89d6f35]
3343
3344 2008-12-03  Todd C. Miller  <Todd.Miller@courtesan.com>
3345
3346         * sudoers.cat, sudoers.man.in:
3347         regen
3348         [1ecce7c1b841]
3349
3350         * sudoers.pod:
3351         hostnames may also contain wildcards
3352         [82b76695601c]
3353
3354         * Makefile.in:
3355         remove stamp-* files and linux core files in clean target
3356         [22003f091467]
3357
3358 2008-12-02  Todd C. Miller  <Todd.Miller@courtesan.com>
3359
3360         * auth/sudo_auth.h, config.h.in, configure, configure.in:
3361         Use HAVE_SIA_SES_INIT instead of HAVE_SIA for Digital UNIX
3362         [6905bede8410]
3363
3364 2008-11-26  Todd C. Miller  <Todd.Miller@courtesan.com>
3365
3366         * configure, configure.in:
3367         correctly enable SIA on Digital UNIX
3368         [a51881d13995]
3369
3370         * TODO:
3371         checkpoint
3372         [af0fe8d94d42]
3373
3374         * ChangeLog:
3375         sync
3376         [831f623cf99c]
3377
3378 2008-11-25  Todd C. Miller  <Todd.Miller@courtesan.com>
3379
3380         * check.c, sudo.h, tgetpass.c:
3381         Even if neither stdin nor stdout are ttys we may still have /dev/tty
3382         available to us.
3383         [20f306ba883b]
3384
3385 2008-11-24  Todd C. Miller  <Todd.Miller@courtesan.com>
3386
3387         * sudoers.cat, sudoers.man.in:
3388         regen
3389         [76d97c4c318f]
3390
3391         * sudoers.pod:
3392         fix typos; Markus Lude
3393         [bff8bc1e2066]
3394
3395         * ChangeLog:
3396         sync
3397         [f108552531cd]
3398
3399         * toke.c:
3400         regen
3401         [de828413c67e]
3402
3403         * toke.l:
3404         Fix matching of a line that only consists of a comment char
3405         [09c953d8d5ca]
3406
3407 2008-11-22  Todd C. Miller  <Todd.Miller@courtesan.com>
3408
3409         * auth/pam.c:
3410         MacOS pam will retry conversation function if it fails so just treat
3411         ^C as an empty password.
3412         [d056058930bc]
3413
3414         * visudo.c:
3415         When checking for alias use, also check defaults bindings.
3416         [2647f82c7dbd]
3417
3418         * redblack.c:
3419         unused var
3420         [b7ff71c17c18]
3421
3422         * redblack.c:
3423         Replace my rbdelete with Emin's version (which actually works ;-)
3424         [21b133dd0c72]
3425
3426 2008-11-19  Todd C. Miller  <Todd.Miller@courtesan.com>
3427
3428         * testsudoers.c:
3429         malloc debugging
3430         [0fb446fa3279]
3431
3432         * visudo.c:
3433         malloc options in devel mode for visudo too
3434         [98d06c6afeef]
3435
3436 2008-11-18  Todd C. Miller  <Todd.Miller@courtesan.com>
3437
3438         * sudo.c:
3439         fix compilation on non-C99; from Theo
3440         [7c304e16c536]
3441
3442         * visudo.c:
3443         fix check_aliases
3444         [83f30a3b1765]
3445
3446         * alias.c:
3447         when destroying an alias, free the correct data pointer
3448         [6e1a8bd86c01]
3449
3450         * auth/sudo_auth.h:
3451         add proto for aixauth_cleanup; from Dale King
3452         [eba94ffc8f63]
3453
3454 2008-11-15  Todd C. Miller  <Todd.Miller@courtesan.com>
3455
3456         * sudo.cat, sudo.man.in, sudoers.cat, sudoers.man.in, visudo.cat,
3457         visudo.man.in:
3458         regen
3459         [409fa57fff83]
3460
3461         * sudo.pod, sudoers.pod, visudo.pod:
3462         standardize on the term 'option' for command line options (not flag)
3463         [228caefc2e36]
3464
3465 2008-11-14  Todd C. Miller  <Todd.Miller@courtesan.com>
3466
3467         * INSTALL:
3468         Add note on configuring HP-UX pam
3469         [f7674a581baf]
3470
3471 2008-11-11  Todd C. Miller  <Todd.Miller@courtesan.com>
3472
3473         * check.c, sudo.c:
3474         Move tty checks into check_user() so we only do them if we actually
3475         need a password.
3476         [7d997d7106d6]
3477
3478         * sudo.c:
3479         Don't error out if no tty or askpass unless we actually need to
3480         authenticate.
3481         [9f23b83ed66c]
3482
3483 2008-11-10  Todd C. Miller  <Todd.Miller@courtesan.com>
3484
3485         * ChangeLog:
3486         regen
3487         [23f9aef32da6]
3488
3489         * pathnames.h.in, sudo.c:
3490         s/overriden/overridden/; from Tobias Stoeckmann
3491         [9f7459a8fac5]
3492
3493 2008-11-09  Todd C. Miller  <Todd.Miller@courtesan.com>
3494
3495         * WHATSNEW, visudo.c:
3496         check sudoers owner and mode in strict mode
3497         [a3468c5ac1c4]
3498
3499         * gram.c, toke.c:
3500         regen
3501         [7d6b515a5443]
3502
3503         * sudo.man.in, sudoers.man.in, visudo.man.in:
3504         Update copyright years.
3505         [52d340cb8cba]
3506
3507         * LICENSE, alias.c, alloc.c, auth/afs.c, auth/aix_auth.c,
3508         auth/bsdauth.c, auth/fwtk.c, auth/kerb4.c, auth/kerb5.c, auth/pam.c,
3509         auth/securid.c, auth/securid5.c, auth/sia.c, auth/sudo_auth.h,
3510         closefrom.c, compat.h, defaults.c, defaults.h, env.c, fileops.c,
3511         gettime.c, gram.y, ins_csops.h, insults.h, interfaces.c,
3512         interfaces.h, lbuf.c, license.pod, list.c, logging.c, logging.h,
3513         parse.c, parse.h, pwutil.c, redblack.c, redblack.h, snprintf.c,
3514         sudo.c, sudo.pod, sudo_edit.c, sudo_nss.h, sudoers.pod,
3515         testsudoers.c, toke.l, tsgetgrpw.c, utimes.c, version.h, visudo.c,
3516         visudo.pod, zero_bytes.c:
3517         Update copyright years.
3518         [b4e6bf2beafa]
3519
3520         * emul/charclass.h, fnmatch.c, glob.c:
3521         add my copyright
3522         [28681385014a]
3523
3524 2008-11-08  Todd C. Miller  <Todd.Miller@courtesan.com>
3525
3526         * toke.c, toke.l:
3527         The loop in fill_cmnd() was going one byte too far past the end,
3528         resulting in a NUL being written immediately after the buffer end.
3529         [a5a49d603cd7]
3530
3531         * UPGRADE, WHATSNEW:
3532         add sections on tgetpass changes
3533         [2e6929b6a102]
3534
3535         * tgetpass.c:
3536         Treat EOF w/o newline as an error.
3537         [aa02b1db9240]
3538
3539 2008-11-07  Todd C. Miller  <Todd.Miller@courtesan.com>
3540
3541         * parse.c:
3542         Fix "sudo -v" when NOPASSWD is set.
3543         [f4914711ea80]
3544
3545         * auth/bsdauth.c, auth/fwtk.c, auth/pam.c, auth/sudo_auth.c,
3546         auth/sudo_auth.h:
3547         No longer treat an empty password at the prompt as special. To quit
3548         out of sudo you now need to hit ^C at the password prompt.
3549         [980f760ad419]
3550
3551         * sudoers.cat, sudoers.man.in:
3552         regen
3553         [6ca21a2cd869]
3554
3555         * def_data.c, def_data.h, def_data.in, sudo.c, sudoers.pod:
3556         Sudo will now refuse to run if no tty is present unless the new
3557         visiblepw sudoers flag is set.
3558         [0cc56943252e]
3559
3560 2008-11-06  Todd C. Miller  <Todd.Miller@courtesan.com>
3561
3562         * aix.c:
3563         just use RLIM_INFINITY for RLIM_SAVED_MAX if RLIM_SAVED_MAX not
3564         defined
3565         [24fc6f712d5c]
3566
3567         * aix.c:
3568         fix fallback value for RLIM_SAVED_MAX
3569         [e09e04e1af89]
3570
3571         * auth/aix_auth.c, auth/sudo_auth.h:
3572         Move clearing of AUTHSTATE into aixauth_cleanup.
3573         [e14ae7bd259c]
3574
3575         * auth/aix_auth.c, env.c:
3576         Unset AUTHSTATE after calling authenticate() as it may not be
3577         correct for the user we are running the command as.
3578         [d14f68f1b0ab]
3579
3580         * isblank.c:
3581         Add isblank() function for systems without it. Needed for POSIX
3582         character class matching in fnmatch.c and glob.c.
3583         [16cba30b283f]
3584
3585 2008-11-05  Todd C. Miller  <Todd.Miller@courtesan.com>
3586
3587         * TROUBLESHOOTING:
3588         expound on sudo and cd
3589         [8e0fa9033637]
3590
3591 2008-11-04  Todd C. Miller  <Todd.Miller@courtesan.com>
3592
3593         * ChangeLog:
3594         regen
3595         [40cf320a10fc]
3596
3597         * sudoers.cat, sudoers.man.in:
3598         regen
3599         [7cac761ae2c6]
3600
3601         * sudoers.pod:
3602         mention defauts parse order
3603         [4e2ce86d1394]
3604
3605 2008-11-03  Todd C. Miller  <Todd.Miller@courtesan.com>
3606
3607         * Makefile.in, aclocal.m4, compat.h, configure:
3608         Add isblank() function for systems without it. Needed for POSIX
3609         character class matching in fnmatch.c and glob.c.
3610         [a1ab55da8424]
3611
3612         * Makefile.in:
3613         add emul/charclass.h to HDRS
3614         [7e8a019dcaa4]
3615
3616 2008-11-02  Todd C. Miller  <Todd.Miller@courtesan.com>
3617
3618         * TODO:
3619         checkpoint
3620         [afeb9bc1baed]
3621
3622         * defaults.c, parse.c, testsudoers.c, visudo.c:
3623         Move update_defaults into defaults.c and call it properly from
3624         visudo and testsudoers.
3625         [f4dbb369461f]
3626
3627         * defaults.c, interfaces.c, pwutil.c, sudo.c, sudo_edit.c, tgetpass.c,
3628         tsgetgrpw.c:
3629         use zero_bytes() instead of memset() for consistency
3630         [4cee0465f4a8]
3631
3632         * logging.c, mon_systrace.c, parse.c, sudo.c, sudo_edit.c, tgetpass.c,
3633         visudo.c:
3634         Zero out sigaction_t before use in case it has non-standard entries.
3635         [120092225459]
3636
3637         * match.c:
3638         quiet gcc
3639         [098a1df49b23]
3640
3641         * match.c:
3642         Short circuit glob() checks if basename(pattern) !=
3643         basename(command). Refactor code that checks for a command in a
3644         directory and use it in the glob case if the resolved pattern ends
3645         in a '/'.
3646         [3c46fd317acb]
3647
3648 2008-11-01  Todd C. Miller  <Todd.Miller@courtesan.com>
3649
3650         * defaults.h, parse.c, sudo.c, testsudoers.c, visudo.c:
3651         Defer setting runas defaults until after runaspw/gr is setup.
3652         [12e75ee49c0c]
3653
3654 2008-10-29  Todd C. Miller  <Todd.Miller@courtesan.com>
3655
3656         * match.c, sudo.c, testsudoers.c:
3657         Use MAXHOSTNAMELEN+1 when allocating host/domain name since some
3658         systems do not include space for the NUL in the size. Also manually
3659         NUL-terminate buffer from gethostname() since POSIX is wishy-washy
3660         on this.
3661         [7266ab3296a3]
3662
3663 2008-10-26  Todd C. Miller  <Todd.Miller@courtesan.com>
3664
3665         * sudo.c, sudoers.pod:
3666         When setting the umask, use the union of the user's umask and the
3667         default value set in sudoers so that we never lower the user's umask
3668         when running a command.
3669         [4e804b004e38]
3670
3671         * sudo.c:
3672         Don't try to read from a zero-length sudoers file. Remove the bogus
3673         Solaris work-around for EAGAIN. Since we now use fgetc() it should
3674         not be a problem.
3675         [bb8e5f68d944]
3676
3677 2008-10-25  Todd C. Miller  <Todd.Miller@courtesan.com>
3678
3679         * parse.c:
3680         In update_defaults() check the return value of user*_matches against
3681         ALLOW so we don't inadvertantly match on UNSPEC.
3682         [4e422fa1527e]
3683
3684 2008-10-24  Todd C. Miller  <Todd.Miller@courtesan.com>
3685
3686         * sudo.cat, sudo.man.in, sudoers.cat, sudoers.ldap.cat,
3687         sudoers.ldap.man.in, sudoers.man.in, visudo.cat, visudo.man.in:
3688         regen man pages; no more hyphenation
3689         [15de4fe2fe01]
3690
3691         * sudo.c:
3692         Don't error out on a zero-length sudoers file. With the advent of
3693         #include the user could create a situation where sudo is unusable.
3694         [6eb461319fa5]
3695
3696 2008-10-23  Todd C. Miller  <Todd.Miller@courtesan.com>
3697
3698         * auth/kerb5.c, config.h.in, configure, configure.in:
3699         Newer heimdal has 2-argument krb5_get_init_creds_opt_free() like MIT
3700         krb5. Really old heimdal has no krb5_get_init_creds_opt_alloc() at
3701         all. Add configure tests to handle all the cases.
3702         [4b554a98470d]
3703
3704 2008-10-08  Todd C. Miller  <Todd.Miller@courtesan.com>
3705
3706         * sudo.pod:
3707         resort ENVIRONMENT
3708         [f4f20f40653e]
3709
3710         * sudoers.pod:
3711         document sudoers_locale
3712         [0bffd2dbe806]
3713
3714         * sudo.pod, sudo_edit.c:
3715         add SUDO_EDITOR variable that sudoedit uses in preference to VISUAL
3716         or EDITOR
3717         [0ef8cb248cee]
3718
3719         * toke.c, toke.l:
3720         In fill_cmnd(), collapse any escaped sudo-specific characters.
3721         Allows character classes to be used in pathnames.
3722         [5685244c8e44]
3723
3724 2008-10-03  Todd C. Miller  <Todd.Miller@courtesan.com>
3725
3726         * lbuf.c:
3727         fix typo in non-C89 function declaration
3728         [99a7113b3a05]
3729
3730         * sudoers.pod:
3731         Mention POSIX characters classes now that out fnmatch() and glob()
3732         support them.
3733         [9c916f1230c3]
3734
3735         * sample.sudoers, sudoers.pod:
3736         Replace [A-z] (which won't match in UTF8) with [A-Za-z] which is
3737         locale agnostic.
3738         [a60a62bec244]
3739
3740         * parse.h:
3741         use __signed char if we are going to assign a negative value since
3742         on Power, char is unsigned by default
3743         [2877b319df17]
3744
3745         * config.h.in, configure, configure.in:
3746         Add tests for __signed char and signed char.
3747         [5eb874fdf1d4]
3748
3749         * aix.c:
3750         Fix AIX limit setting. getuserattr() returns values in disk blocks
3751         rather than bytes. The default hard stack size in newer AIX is
3752         RLIM_SAVED_MAX. From Dale King.
3753         [3db67415ecc3]
3754
3755 2008-09-26  Todd C. Miller  <Todd.Miller@courtesan.com>
3756
3757         * emul/charclass.h, fnmatch.c, glob.c:
3758         Add character class support to included glob(3) and fnmatch(3).
3759         [6b5b4ad77899]
3760
3761 2008-09-16  Todd C. Miller  <Todd.Miller@courtesan.com>
3762
3763         * emul/fnmatch.h:
3764         Remove UCB advertising clause and some compatibility defines.
3765         [2ade7bee74e1]
3766
3767 2008-09-14  Todd C. Miller  <Todd.Miller@courtesan.com>
3768
3769         * sudo_edit.c:
3770         Check EDITOR/VISUAL to make sure sudoedit is not re-invoking itself
3771         or sudo. This allows one to set EDITOR to sudoedit without getting
3772         into an infinite loop of sudoedit running itself until the path gets
3773         too big.
3774         [aa49ab68f82d]
3775
3776         * def_data.c, def_data.h, def_data.in, defaults.c, sudo.c:
3777         Add sudoers_locale Defaults option to override the default sudoers
3778         locale of "C".
3779         [0639886a35bf]
3780
3781 2008-09-13  Todd C. Miller  <Todd.Miller@courtesan.com>
3782
3783         * sudo.c:
3784         Set locale to system default except for during sudoers parse.
3785         [016dd2736728]
3786
3787 2008-09-12  Todd C. Miller  <Todd.Miller@courtesan.com>
3788
3789         * match.c:
3790         Redo change in 1.34 to use pointer arithmetic.
3791         [f9e7b63bb450]
3792
3793 2008-09-11  Todd C. Miller  <Todd.Miller@courtesan.com>
3794
3795         * match.c:
3796         Fix a dereference (read) of a freed pointer. Reported by Patrick
3797         Williams.
3798         [69877b633753]
3799
3800 2008-08-23  Todd C. Miller  <Todd.Miller@courtesan.com>
3801
3802         * sudo.c:
3803         Set locale to "C" to avoid interpretation issues with character
3804         ranges in sudoers. May want to make the locale a sudoers option in
3805         the future.
3806         [098a95de1746]
3807
3808 2008-08-20  Todd C. Miller  <Todd.Miller@courtesan.com>
3809
3810         * config.h.in:
3811         we no longer use setproctitle
3812         [c7f20fb747ea]
3813
3814         * sudo.h:
3815         remove #if 1
3816         [a368ee6816c6]
3817
3818         * LICENSE, mkstemp.c:
3819         Use my replacement mkstemp() from the mktemp package.
3820         [d07c2beb0f9e]
3821
3822 2008-07-12  Todd C. Miller  <Todd.Miller@courtesan.com>
3823
3824         * gram.c:
3825         regen with yacc skeleton bug fixed
3826         [24784571cbb8]
3827
3828         * sudoers.pod:
3829         Remove duplicate "as root". From Martin Toft.
3830         [97241acfee5e]
3831
3832 2008-07-02  Todd C. Miller  <Todd.Miller@courtesan.com>
3833
3834         * pwutil.c, sudo.c, sudo.h, testsudoers.c:
3835         Flesh out the fake passwd entry used for running commands as a uid
3836         not listed in the passwd database. Fixes an issue with some PAM
3837         modules.
3838         [a6648227f3f2]
3839
3840 2008-07-01  Todd C. Miller  <Todd.Miller@courtesan.com>
3841
3842         * sudo.c:
3843         Error out in -i mode if the user has no shell. This can happen when
3844         running commands as a uid with no password entry.
3845         [0c174bef36ff]
3846
3847 2008-06-26  Todd C. Miller  <Todd.Miller@courtesan.com>
3848
3849         * toke.c, toke.l:
3850         Better fix for line continuation inside double quotes. Now accepts
3851         whitespace between the backslash and the newline like the main
3852         lexer.
3853         [64efcdf86d31]
3854
3855 2008-06-25  Todd C. Miller  <Todd.Miller@courtesan.com>
3856
3857         * toke.c, toke.l:
3858         Fix line continuation in strings. It was only being honored if
3859         preceded by whitespace.
3860         [96c21271a3e4]
3861
3862 2008-06-22  Todd C. Miller  <Todd.Miller@courtesan.com>
3863
3864         * config.h.in, configure, configure.in, logging.c:
3865         Replace the double fork with a fork + daemonize.
3866         [328505441e67]
3867
3868 2008-06-21  Todd C. Miller  <Todd.Miller@courtesan.com>
3869
3870         * env.c, sudo.c:
3871         The -i flag should imply env_reset. This got broken in sudo 1.6.9.
3872         [3caedfeaec87]
3873
3874         * logging.c, sudo.c, sudo_edit.c, visudo.c:
3875         Change how the mailer is waited for. Instead of having a SIGCHLD
3876         handler, use the double fork trick to orphan the child that opens
3877         the pipe to sendmail. Fixes a problem running su on some Linux
3878         distros.
3879         [b59ce60a393d]
3880
3881 2008-06-20  Todd C. Miller  <Todd.Miller@courtesan.com>
3882
3883         * configure, configure.in:
3884         Fix configure test for dirfd() on Linux where DIR is opaque.
3885         [b8f729cdfecc]
3886
3887 2008-06-17  Todd C. Miller  <Todd.Miller@courtesan.com>
3888
3889         * tgetpass.c:
3890         Get rid of the QNX TCSAFLUSH -> TCSADRAIN hack. If QNX still has
3891         this problem we'll need to revisit this again.
3892         [c17fee8ad530]
3893
3894 2008-06-11  Todd C. Miller  <Todd.Miller@courtesan.com>
3895
3896         * logging.c:
3897         Ignore SIGPIPE instead of blocking it when piping to the mailer. If
3898         we only block the signal it may be delivered later when we unblock.
3899         Also, there is no need to block SIGCHLD since we no longer do the
3900         double fork. The normal SIGCHLD handler is sufficient.
3901         [e94a49e992e5]
3902
3903 2008-06-08  Todd C. Miller  <Todd.Miller@courtesan.com>
3904
3905         * configure, configure.in:
3906         Add description for NO_PAM_SESSION, from a redhat patch.
3907         [b9e4c939ec09]
3908
3909 2008-06-06  Todd C. Miller  <Todd.Miller@courtesan.com>
3910
3911         * sudo.cat, sudo.man.in, sudo.pod:
3912         Fix typos in -i usage
3913         [2d7ce5de0235]
3914
3915 2008-05-18  Todd C. Miller  <Todd.Miller@courtesan.com>
3916
3917         * configure, configure.in:
3918         Redo the test for dgettext() in a way that hopefully will work
3919         around the libintl_dgettext() undefined problem.
3920         [d27beb0cf85e]
3921
3922 2008-05-11  Todd C. Miller  <Todd.Miller@courtesan.com>
3923
3924         * schema.ActiveDirectory:
3925         change filename in comment
3926         [733da4ee9ac5]
3927
3928 2008-05-10  Todd C. Miller  <Todd.Miller@courtesan.com>
3929
3930         * Makefile.in, README.LDAP, sudoers.ldap.cat, sudoers.ldap.man.in,
3931         sudoers.ldap.pod:
3932         Reference schema.ActiveDirectory
3933         [d6aec537800e]
3934
3935 2008-05-09  Todd C. Miller  <Todd.Miller@courtesan.com>
3936
3937         * schema.OpenLDAP, schema.iPlanet:
3938         Mark sudoRunAs as deprecated.
3939         [00c50df807af]
3940
3941         * schema.ActiveDirectory:
3942         add sudoRunAsUser and sudoRunAsGroup
3943         [19bcce6f72fb]
3944
3945         * schema.ActiveDirectory:
3946         Active Directory schema by Chantal Paradis and Eric Paquet
3947         [06a09c92c6a5]
3948
3949 2008-05-08  Todd C. Miller  <Todd.Miller@courtesan.com>
3950
3951         * parse.c:
3952         remove an XXX that was fixed
3953         [b88038062fa2]
3954
3955         * ChangeLog:
3956         sync
3957         [8fc27c17270e]
3958
3959         * parse.c:
3960         Initialize tags to UNSPEC instead of def_* in "sudo -l" mode. This
3961         fixes a problem where the tag value printed was influenced by
3962         defaults set in the first pass through the parser.
3963         [588ccd630367]
3964
3965 2008-05-04  Todd C. Miller  <Todd.Miller@courtesan.com>
3966
3967         * Makefile.in, sudo.psf:
3968         No point in packaging the TODO file
3969         [9590248fffe1]
3970
3971         * ChangeLog:
3972         sync
3973         [152acf4c6813]
3974
3975 2008-05-03  Todd C. Miller  <Todd.Miller@courtesan.com>
3976
3977         * WHATSNEW, def_data.c, def_data.h, def_data.in, env.c, sudo.c,
3978         sudo.h, sudoers.cat, sudoers.man.in, sudoers.pod:
3979         Add env_file Defaults option that is similar to /etc/environment on
3980         some systems.
3981         [1daf53d51e18]
3982
3983 2008-05-02  Todd C. Miller  <Todd.Miller@courtesan.com>
3984
3985         * Makefile.in, README, TODO, WHATSNEW, sudo.cat, sudo.man.in,
3986         sudoers.cat, sudoers.ldap.cat, sudoers.ldap.man.in, sudoers.man.in,
3987         version.h, visudo.cat, visudo.man.in:
3988         change version to 1.7.0
3989         [d41d126b9bd8]
3990
3991         * UPGRADE:
3992         initial valgrind pass done
3993         [c59c3876d8ca]
3994
3995 2008-04-23  Todd C. Miller  <Todd.Miller@courtesan.com>
3996
3997         * ldap.c:
3998         Fix typo/think in sudo_ldap_read_secret() when storing the secret.
3999         [830d246c09b0]
4000
4001 2008-04-11  Todd C. Miller  <Todd.Miller@courtesan.com>
4002
4003         * ldap.c:
4004         define LDAPS_PORT if the system headers do not
4005         [247b12325701]
4006
4007 2008-04-10  Todd C. Miller  <Todd.Miller@courtesan.com>
4008
4009         * gram.c, gram.y:
4010         Fix another memory leak in init_parser().
4011         [7bba47deba11]
4012
4013         * configure, configure.in:
4014         There was a missing space before the ldap libs in SUDO_LIBS for some
4015         configurations.
4016         [7524cfc93759]
4017
4018         * alias.c, gram.c, gram.y, toke.c, toke.l:
4019         Clean up some memory leaks pointed out by valgrind.
4020         [a965866ece1a]
4021
4022 2008-04-07  Todd C. Miller  <Todd.Miller@courtesan.com>
4023
4024         * sudo.c:
4025         fix "sudo -s" broken by mode/flags breakout
4026         [acffe984d408]
4027
4028         * configure, configure.in:
4029         remove duplicate check for dgettext
4030         [58145529133c]
4031
4032 2008-04-05  Todd C. Miller  <Todd.Miller@courtesan.com>
4033
4034         * aix.c:
4035         Fall back to default stanza if no user-specific limit is found.
4036         [7b8cb29123ee]
4037
4038 2008-04-02  Todd C. Miller  <Todd.Miller@courtesan.com>
4039
4040         * snprintf.c:
4041         include stdint.h if present
4042         [f0ec38529306]
4043
4044         * snprintf.c:
4045         Use LLONG_MAX, not the old QUAD_MAX
4046         [01041ce508fb]
4047
4048 2008-04-01  Todd C. Miller  <Todd.Miller@courtesan.com>
4049
4050         * sudoers.ldap.pod:
4051         fix cut and pasto
4052         [34240fdef5ab]
4053
4054 2008-03-31  Todd C. Miller  <Todd.Miller@courtesan.com>
4055
4056         * pwutil.c:
4057         Add #ifdef PURITY
4058         [ce1b571ad526]
4059
4060 2008-03-30  Todd C. Miller  <Todd.Miller@courtesan.com>
4061
4062         * auth/bsdauth.c:
4063         remove useless cast
4064         [494f8a862e1d]
4065
4066 2008-03-27  Todd C. Miller  <Todd.Miller@courtesan.com>
4067
4068         * ChangeLog:
4069         sync
4070         [f5c97ffaabcc]
4071
4072         * TODO:
4073         sync
4074         [96ff1c44c182]
4075
4076         * sudo.h:
4077         Split MODE_* defines into primary and flags.
4078         [c02ee3027cb9]
4079
4080 2008-03-26  Todd C. Miller  <Todd.Miller@courtesan.com>
4081
4082         * aix.c:
4083         It turns out the logic for getting AIX limits is more convoluted
4084         than I realized and differs depending on whether the soft and/or
4085         hard limits are defined.
4086         [cf8d3f85d395]
4087
4088 2008-03-23  Todd C. Miller  <Todd.Miller@courtesan.com>
4089
4090         * Makefile.in, configure, configure.in:
4091         Back out AIX-specific change to set the sudo_noexec path to the .a
4092         file, we do really want to use the .so file. Since libtool doesn't
4093         do that correctly, just install the .so file ourselves in the
4094         Makefile.
4095         [05c6f33177d9]
4096
4097         * install-sh:
4098         If the file given to install is a path, only use the basename of the
4099         file when building the destination path.
4100         [695ba4e429ce]
4101
4102 2008-03-18  Todd C. Miller  <Todd.Miller@courtesan.com>
4103
4104         * sudo.c:
4105         parse_args() cleanup: Sort command line options in the getopt()
4106         switch The -U option requires a parameter Normalize a few ISSET
4107         calls Split mode into mode and flags and retire the now-obsolete
4108         excl variable
4109         [0d156835f861]
4110
4111         * WHATSNEW, check.c, sudo.c, sudo.cat, sudo.h, sudo.man.in, sudo.pod,
4112         sudo_usage.h.in:
4113         Add -n (non-interactive) flag.
4114         [e3e50400d32d]
4115
4116         * sudo.c:
4117         Move version printing, etc. into a separate function.
4118         [18c91b476e2c]
4119
4120         * sudo.c:
4121         Don't try to cleanup nsswitch if it has not been initialized.
4122         [aeb1ca1b399d]
4123
4124 2008-03-17  Todd C. Miller  <Todd.Miller@courtesan.com>
4125
4126         * logging.c:
4127         Block SIGPIPE in send_mail() so sudo is not killed by a problem
4128         executing the mailer.
4129         [f130e7924cca]
4130
4131 2008-03-14  Todd C. Miller  <Todd.Miller@courtesan.com>
4132
4133         * configure, configure.in:
4134         AIX shared libs end in .a, not .so.
4135         [a5deb07020d8]
4136
4137 2008-03-13  Todd C. Miller  <Todd.Miller@courtesan.com>
4138
4139         * env.c:
4140         Preserve HOME by default too. Matches documentation and previous
4141         behavior.
4142         [c16f17f1047c]
4143
4144 2008-03-12  Todd C. Miller  <Todd.Miller@courtesan.com>
4145
4146         * sudo.c:
4147         Use getopt() to parse the command line. We need to be able to
4148         intersperse env variables and options yet still honor "--"" which
4149         complicates things slightly.
4150         [60f271ce5c16]
4151
4152 2008-03-06  Todd C. Miller  <Todd.Miller@courtesan.com>
4153
4154         * ChangeLog:
4155         sync
4156         [685e67964eda]
4157
4158         * acsite.m4, configure, ltmain.sh:
4159         update to libtool-1.5.26
4160         [4c9a8c3d3b40]
4161
4162         * config.guess, config.sub:
4163         update from libtool-1.5.26 distribution
4164         [c6641aef2527]
4165
4166         * aix.c, sudo.h:
4167         attempt to fix compilation errors on AIX
4168         [edb13e5b2184]
4169
4170         * Makefile.in:
4171         fix typo in last commit
4172         [25ba7f7ceae4]
4173
4174         * Makefile.in:
4175         Add WHATSNEW file to the distribution
4176         [213f4115de8f]
4177
4178         * visudo.c:
4179         use warningx instead of fprintf(stderr, ...)
4180         [a3494b8ccb19]
4181
4182         * list.c:
4183         add DEBUG to list2tq
4184         [115d24a3000c]
4185
4186         * ChangeLog, TODO:
4187         sync
4188         [60e6f4d1fac0]
4189
4190         * WHATSNEW:
4191         mention mailfrom
4192         [e2498f9e18d6]
4193
4194         * Makefile.in, aix.c, config.h.in, configure, configure.in,
4195         set_perms.c, sudo.h:
4196         Add aix_setlimits() to set resource limits on AIX using a
4197         combination of getuserattr() and setrlimit(). Currently untested.
4198         [9b1441fd89ca]
4199
4200 2008-03-05  Todd C. Miller  <Todd.Miller@courtesan.com>
4201
4202         * def_data.c, def_data.h, def_data.in, logging.c, sudoers.cat,
4203         sudoers.man.in, sudoers.pod:
4204         Add mailfrom Defaults option that sets the value of the From: field
4205         in the warning/error mail. If unset the login name of the invoking
4206         user is used.
4207         [029b9f05d3d9]
4208
4209         * defaults.c:
4210         store a copy of _PATH_SUDO_ASKPASS in def_askpass that is freeable
4211         [a90e407d5e00]
4212
4213         * gram.c, gram.y:
4214         When adding a default, only call list2tq() once to do the list to tq
4215         conversion. It is not legal to call list2tq multiple times on the
4216         same list since list2tq consumes and modifies the list argument.
4217         [fbc25d245c4a]
4218
4219         * sudoers.ldap.cat, sudoers.ldap.man.in, sudoers.ldap.pod:
4220         comment out XXXs for now
4221         [595a1d43309d]
4222
4223         * WHATSNEW:
4224         mention askpass
4225         [b993e0837c22]
4226
4227 2008-03-04  Todd C. Miller  <Todd.Miller@courtesan.com>
4228
4229         * sudo.c:
4230         Error out if both -A and -S are specified Error out if -A is
4231         specified but no askpass is configured
4232         [24f1df2638f6]
4233
4234         * configure, configure.in:
4235         we are not going to ship a sudo-specific askpass
4236         [61949e7a3943]
4237
4238 2008-03-03  Todd C. Miller  <Todd.Miller@courtesan.com>
4239
4240         * sudo.h:
4241         fix definition of TGP_ASKPASS
4242         [0447c57ba4c3]
4243
4244         * def_data.c, def_data.in:
4245         make askpass boolean-capable
4246         [e0885893a325]
4247
4248         * INSTALL:
4249         document --with-askpass
4250         [c76e15ba97cf]
4251
4252         * sudo.cat, sudo.man.in, sudoers.cat, sudoers.ldap.cat,
4253         sudoers.man.in, visudo.cat:
4254         regen
4255         [8d16242980b7]
4256
4257 2008-03-02  Todd C. Miller  <Todd.Miller@courtesan.com>
4258
4259         * sudo.pod, sudo_usage.h.in, sudoers.pod:
4260         document -A and askpass
4261         [02c07505a78c]
4262
4263         * auth/sudo_auth.c, check.c, configure, configure.in, def_data.c,
4264         def_data.h, def_data.in, defaults.c, pathnames.h.in, sudo.c, sudo.h,
4265         sudo_usage.h.in, tgetpass.c:
4266         Add support for running a helper program to read the password when
4267         no tty is present (or when specified with the -A flag). TODO: docs.
4268         [05780f5f71fd]
4269
4270         * def_data.c, def_data.in:
4271         add missing printf format to SELinux role and type strings
4272         [2b32774715e7]
4273
4274 2008-02-27  Todd C. Miller  <Todd.Miller@courtesan.com>
4275
4276         * INSTALL, configure, configure.in:
4277         Disable use of gss_krb5_ccache_name() by default and add
4278         --enable-gss-krb5-ccache-name configure option to enable it. It
4279         seems that gss_krb5_ccache_name() doesn't work properly with some
4280         combinations of Heimdal and OpenLDAP.
4281         [f61ebd3b19bd]
4282
4283 2008-02-22  Todd C. Miller  <Todd.Miller@courtesan.com>
4284
4285         * selinux.c:
4286         Ignore setexeccon() failing in permissive mode. Also add a call to
4287         setkeycreatecon() (though this is probably insufficient). From Dan
4288         Walsh.
4289         [52564fc1c069]
4290
4291         * auth/pam.c:
4292         Only set std_prompt for the PAM_PROMPT_* cases. The conversation
4293         function may be called for non-password reading purposes so we must
4294         be careful not to use def_prompt in cases where it may not be set.
4295         [29d88ca575ba]
4296
4297 2008-02-20  Todd C. Miller  <Todd.Miller@courtesan.com>
4298
4299         * selinux.c:
4300         Don't free the new tty context, we need to keep it around when we
4301         restore the tty context after the command completes
4302         [5b4bd39b6ea8]
4303
4304 2008-02-19  Todd C. Miller  <Todd.Miller@courtesan.com>
4305
4306         * selinux.c:
4307         s/newrole/sudo/
4308         [21b8a96ff8df]
4309
4310         * sudo.man.pl, sudo.pod:
4311         Only put login_cap(3) in SEE ALSO section if we have login.conf
4312         support
4313         [05250ddff2c0]
4314
4315 2008-02-18  Todd C. Miller  <Todd.Miller@courtesan.com>
4316
4317         * sudo.cat, sudo.man.in, sudoers.cat, sudoers.ldap.cat,
4318         sudoers.ldap.man.in, sudoers.man.in, visudo.cat, visudo.man.in:
4319         regen
4320         [301e5c5ccdbe]
4321
4322         * sudoers.pod:
4323         Substitute in comment characters for lines partaining to login.conf,
4324         BSD auth and SELinux and only enable them if pertinent.
4325         [c1c98fa163ce]
4326
4327         * sudoers.man.pl:
4328         Substitute in comment characters for lines partaining to login.conf,
4329         BSD auth and SELinux and only enable them if pertinent.
4330         [6c88f30b878a]
4331
4332         * sudo.pod:
4333         Substitute in comment characters for lines partaining to login.conf,
4334         BSD auth and SELinux and only enable them if pertinent.
4335         [acdbdfd24e1d]
4336
4337         * sudo.man.pl:
4338         Substitute in comment characters for lines partaining to login.conf,
4339         BSD auth and SELinux and only enable them if pertinent.
4340         [0c56d4750ac3]
4341
4342         * Makefile.in, configure, configure.in:
4343         Substitute in comment characters for lines partaining to login.conf,
4344         BSD auth and SELinux and only enable them if pertinent.
4345         [9a02bd6a6658]
4346
4347         * Makefile.in, sudo.pod, sudoers.ldap.pod, sudoers.pod, visudo.pod:
4348         Remove the =cut on the first line (above the copyright notice) to
4349         quiet pod2man. Also remove the hackery in the FILES section and
4350         just deal with the fact that there will a newline between each
4351         pathname.
4352         [2ac1ab191835]
4353
4354 2008-02-17  Todd C. Miller  <Todd.Miller@courtesan.com>
4355
4356         * Makefile.in:
4357         run sudo.man.pl when generating sudo.man.in
4358         [859727369168]
4359
4360         * configure, configure.in, sudo.man.pl:
4361         comment out SELinux manual bits unless --with-selinux was specified
4362         [97ff4212b649]
4363
4364         * sudoers.pod:
4365         document role and type defaults for SELinux
4366         [870f303366b3]
4367
4368         * sudo.c, sudo.cat, sudo.man.in, sudo.pod, sudo_usage.h.in:
4369         Document "sudo -ll" and make "sudo -l -l" be equivalent.
4370         [3ce6dc429ea3]
4371
4372 2008-02-15  Todd C. Miller  <Todd.Miller@courtesan.com>
4373
4374         * configure, configure.in:
4375         Treat k*bsd*-gnu like Linux, not BSD. Fixes compilation problems on
4376         Debian GNU/kFreeBSD.
4377         [c4efa567a328]
4378
4379 2008-02-13  Todd C. Miller  <Todd.Miller@courtesan.com>
4380
4381         * auth/kerb5.c:
4382         Avoid Heimdal'isms introduced in the rev 1.32 rewrite of
4383         verify_krb_v5_tgt()
4384         [f80538e5a6fa]
4385
4386         * logging.c, logging.h, sudo.c:
4387         Remove dependence on VALIDATE_NOT_OK in logging functions. Split
4388         log_auth() into log_allowed() and log_denial() Replace mail_auth()
4389         with should_mail() and a call to send_mail()
4390         [58aac9997557]
4391
4392 2008-02-10  Todd C. Miller  <Todd.Miller@courtesan.com>
4393
4394         * ldap.c:
4395         Add debugging so we can tell if the krb5 ccache is accessible
4396         [c679322527bb]
4397
4398         * INSTALL:
4399         mention --with-selinux
4400         [9efbe0b52194]
4401
4402 2008-02-09  Todd C. Miller  <Todd.Miller@courtesan.com>
4403
4404         * configure:
4405         regen
4406         [467a834f867c]
4407
4408         * selinux.c:
4409         add Sudo tag
4410         [d004ee669bed]
4411
4412         * sudo.c, sudo.cat, sudo.h, sudo.man.in, sudo.pod, sudo_usage.h.in,
4413         sudoers.ldap.cat, sudoers.ldap.man.in, sudoers.ldap.pod,
4414         testsudoers.c, toke.c, toke.l:
4415         Add support for SELinux RBAC. Sudoers entries may specify a role
4416         and type. There are also role and type defaults that may be used.
4417         To make sure a transition occurs, when using RBAC commands are
4418         executed via the new sesh binary. Based on initial changes from Dan
4419         Walsh.
4420         [1d4abfe2c004]
4421
4422         * sesh.c:
4423         Add support for SELinux RBAC. Sudoers entries may specify a role
4424         and type. There are also role and type defaults that may be used.
4425         To make sure a transition occurs, when using RBAC commands are
4426         executed via the new sesh binary. Based on initial changes from Dan
4427         Walsh.
4428         [1e3b395ce049]
4429
4430         * Makefile.in, config.h.in, configure.in, def_data.c, def_data.h,
4431         def_data.in, gram.c, gram.h, gram.y, ldap.c, parse.c, parse.h,
4432         pathnames.h.in, selinux.c:
4433         Add support for SELinux RBAC. Sudoers entries may specify a role
4434         and type. There are also role and type defaults that may be used.
4435         To make sure a transition occurs, when using RBAC commands are
4436         executed via the new sesh binary. Based on initial changes from Dan
4437         Walsh.
4438         [6b421948286e]
4439
4440 2008-02-08  Todd C. Miller  <Todd.Miller@courtesan.com>
4441
4442         * lbuf.c, ldap.c, parse.c, sudo.c, sudo.h, sudo_nss.c:
4443         Add long list (sudo -ll) support for printing verbose LDAP and
4444         sudoers file entries. Still need to update manual.
4445         [2875be37935c]
4446
4447 2008-02-03  Todd C. Miller  <Todd.Miller@courtesan.com>
4448
4449         * ldap.c, parse.c, sudo.h, sudo_nss.c, sudo_nss.h:
4450         Unify the -l output for file and ldap based sudoers and use lbufs
4451         for both. The ldap output does not currently include options that
4452         cannot be represented as tags. This will be remedied in a long list
4453         output mode to come.
4454         [b2e429456596]
4455
4456 2008-01-27  Todd C. Miller  <Todd.Miller@courtesan.com>
4457
4458         * set_perms.c:
4459         Use a specific error message for errno == EAGAIN when setuid() et al
4460         fails. On Linux systems setuid() will fail with errno set to EAGAIN
4461         if changing to the new uid would result in a resource limit
4462         violation.
4463         [08d0aecd9f03]
4464
4465         * sudo.c:
4466         Unlimit nproc on Linux systems where calling the setuid() family of
4467         syscalls causes the nroc resource limit to be checked. The limits
4468         will be reset by pam_limits.so when PAM is used. In the non-PAM
4469         case the nproc limit will remain unlimited but there doesn't seem to
4470         be a way around that other than having sudo parse
4471         /etc/security/limits.conf directly.
4472         [df024b415a8d]
4473
4474         * env.c, sudo.c, sudo.pod:
4475         Only read /etc/environment on Linux and AIX
4476         [90669e2aefdb]
4477
4478 2008-01-23  Todd C. Miller  <Todd.Miller@courtesan.com>
4479
4480         * configure, configure.in:
4481         Use SUDO_DEFINE_UNQUOTED instead of AC_DEFINE_UNQUOTED to prevent
4482         ldap.conf and ldap.secret paths from going into config.h. Avoid
4483         single quotes in variable expansion when using SUDO_DEFINE_UNQUOTED
4484         since in some versions of bash they will end up literally in the
4485         resulting define.
4486         [25390f3ef10a]
4487
4488 2008-01-21  Todd C. Miller  <Todd.Miller@courtesan.com>
4489
4490         * README.LDAP:
4491         mention --with-nsswitch=no
4492         [c509df927263]
4493
4494         * configure, configure.in:
4495         ldap_ssl.h depends on ldap.h being included first
4496         [d96d90e9b21f]
4497
4498         * config.h.in, configure, configure.in, ldap.c:
4499         Include ldap_ssl.h if we can find it. Needed for the
4500         ldapssl_set_strength defines on HP-UX at least.
4501         [9e530470948a]
4502
4503         * sudoers.ldap.pod:
4504         sync
4505         [b9d101f4673a]
4506
4507         * TODO:
4508         sync
4509         [2ce951b2ecd0]
4510
4511         * sudo.cat, sudo.man.in, sudoers.cat, sudoers.ldap.cat,
4512         sudoers.ldap.man.in, sudoers.man.in, visudo.cat, visudo.man.in:
4513         regen
4514         [b61d793987e0]
4515
4516         * Makefile.in:
4517         Use 78n line length when formatting cat pages.
4518         [761bee9d5759]
4519
4520         * README.LDAP:
4521         Remove redundant info that is now in sudoers.ldap.pod
4522         [01828dcce59e]
4523
4524 2008-01-20  Todd C. Miller  <Todd.Miller@courtesan.com>
4525
4526         * sudoers.ldap.cat, sudoers.ldap.man.in, sudoers.ldap.pod:
4527         Reorganize the first section a bit. Substitute the proper path for
4528         /etc/sudoers.
4529         [11ae165e065d]
4530
4531         * sudoers.ldap.cat, sudoers.ldap.man.in, sudoers.ldap.pod:
4532         Substitute values for ldap.conf, ldap.secret and nsswitch.conf Move
4533         schema into EXAMPLES
4534         [ab6509d1dde7]
4535
4536         * configure, configure.in:
4537         Substitute values for ldap.conf, ldap.secret and nsswitch.conf into
4538         sudoers.ldap.man.
4539         [6e689972f465]
4540
4541         * configure, configure.in:
4542         substitute for sudoers.ldap.man
4543         [5a4a25766dee]
4544
4545         * Makefile.in:
4546         Fix cut & pasto introduced when adding sudoers.ldap man page.
4547         [a7b069af8894]
4548
4549         * sudoers.ldap.cat, sudoers.ldap.man.in, sudoers.ldap.pod:
4550         Fill in some of the missing pieces. Still needs some reorganization
4551         and editing.
4552         [5e7331722166]
4553
4554 2008-01-19  Todd C. Miller  <Todd.Miller@courtesan.com>
4555
4556         * Makefile.in, sudoers.ldap.cat, sudoers.ldap.man.in,
4557         sudoers.ldap.pod:
4558         Beginnings of a sudoers.ldap man page. Currently, much of the
4559         information is adapted from README.LDAP.
4560         [aad28c8a922d]
4561
4562 2008-01-18  Todd C. Miller  <Todd.Miller@courtesan.com>
4563
4564         * pwutil.c:
4565         When copying gr_mem we must guarantee that the storage space for
4566         gr_mem is properly aligned. The simplest way to do this is to
4567         simply store gr_mem directly after struct group. This is not a
4568         problem for gr_passwd or gr_name as they are simple strings.
4569         [af58fc76f1ed]
4570
4571         * ldap.c:
4572         Fix a typo/thinko in one of the calls to
4573         sudo_ldap_check_user_netgroup(). From Marco van Wieringen.
4574         [70b2eb8097f5]
4575
4576 2008-01-17  Todd C. Miller  <Todd.Miller@courtesan.com>
4577
4578         * config.h.in, configure, configure.in, ldap.c:
4579         include <mps/ldap_ssl.h> in ldap.c if available
4580         [34346206ef16]
4581
4582 2008-01-16  Todd C. Miller  <Todd.Miller@courtesan.com>
4583
4584         * gram.c, gram.y:
4585         Make sure we define SIZE_MAX for yacc's skeleton.c
4586         [d8a45c7a3c42]
4587
4588         * tgetpass.c:
4589         Use TCSAFLUSH when restoring terminal settings (and echo) to
4590         guarantee that any pending output is discarded
4591         [549a184479e5]
4592
4593 2008-01-15  Todd C. Miller  <Todd.Miller@courtesan.com>
4594
4595         * sudoers:
4596         no longer need to specify SETENV when user has sudo ALL
4597         [3051b41f8032]
4598
4599         * testsudoers.c:
4600         sync user_args size calculation with sudo.c Add -g group option,
4601         renaming old -g to -G Add set_runasgr() and set_runaspw() and use
4602         them
4603         [0850325180f0]
4604
4605         * sudo.c, sudo.h:
4606         Make set_runaspw static void
4607         [5d44d7a340ce]
4608
4609         * testsudoers.c, visudo.c:
4610         g/c set_runaspw stub
4611         [79ebb5e2cc38]
4612
4613         * configure, configure.in:
4614         Don't add -llber twice.
4615         [4356d302eef4]
4616
4617 2008-01-14  Todd C. Miller  <Todd.Miller@courtesan.com>
4618
4619         * ldap.c:
4620         fix typo
4621         [249cecc557e9]
4622
4623 2008-01-13  Todd C. Miller  <Todd.Miller@courtesan.com>
4624
4625         * gram.c:
4626         regen
4627         [2f94ea375b67]
4628
4629         * configure, configure.in:
4630         Fix check that determines whether -llber is required.
4631         [6afa99523379]
4632
4633         * README.LDAP, config.h.in, configure, configure.in, ldap.c:
4634         For netscape-based LDAP, use ldapssl_set_strength() to implement the
4635         checkpeer ldap.conf option.
4636         [16ae24d73795]
4637
4638         * auth/kerb5.c:
4639         Delay krb5_cc_initialize() until we actually need to use the cred
4640         cache, which is what krb5_verify_user() does. Better cleanup on
4641         failure.
4642         [d12e5f1695b8]
4643
4644 2008-01-12  Todd C. Miller  <Todd.Miller@courtesan.com>
4645
4646         * auth/kerb5.c:
4647         Rewrite verify_krb_v5_tgt() based on what heimdal's
4648         krb5_verify_user() does.
4649         [05b5815f86c9]
4650
4651 2008-01-09  Todd C. Miller  <Todd.Miller@courtesan.com>
4652
4653         * gram.c:
4654         The U suffix on constants is an ANSI feature
4655         [c6dfce3167f1]
4656
4657         * configure, configure.in:
4658         Add check for ber_set_option() in -llber
4659         [43d0c0566074]
4660
4661 2008-01-07  Todd C. Miller  <Todd.Miller@courtesan.com>
4662
4663         * README.LDAP:
4664         default if no nsswitch.conf is files only
4665         [c13001d9c998]
4666
4667 2008-01-06  Todd C. Miller  <Todd.Miller@courtesan.com>
4668
4669         * README.LDAP:
4670         don't tell people to mail aaron about LDAP stuff
4671         [8165ec1ef0c6]
4672
4673         * README.LDAP:
4674         timelimit and bind_timelimit
4675         [44f74cbed167]
4676
4677         * ChangeLog:
4678         sync
4679         [aba1a0ab02bd]
4680
4681         * ldap.c:
4682         Move ldap.secret reading into a separate function.
4683         [1948acc9f7a4]
4684
4685         * check.c:
4686         user_runas -> runas_pw
4687         [334490fc2bae]
4688
4689 2008-01-05  Todd C. Miller  <Todd.Miller@courtesan.com>
4690
4691         * TODO:
4692         sync
4693         [c7b165cc47c6]
4694
4695         * check.c, sudo.pod, sudoers.pod:
4696         Add and document the %p escape in the password prompt. Based on a
4697         patch from Patrick Schoenfeld.
4698         [3972d4f31ffa]
4699
4700         * ldap.c:
4701         Check strlcpy() return values.
4702         [9b42f3ae8ff1]
4703
4704         * ldap.c:
4705         refactor ldap binding code into sudo_ldap_bind_s()
4706         [cb0c66a4d955]
4707
4708         * README.LDAP:
4709         Make it clear that host and uri can take multiple parameters. URI is
4710         now supported for more than just openldap nsswitch.conf does't
4711         accept "compat"
4712         [f610dea656d6]
4713
4714         * sudo.c:
4715         comment cleanup and update (c) year
4716         [6cd69c810ca5]
4717
4718         * parse.c, sudo_nss.c:
4719         Move display_privs() and display_cmnd() from parse.c to sudo_nss.c.
4720         This should make it possible to build an LDAP-only sudo binary.
4721         [61c3f27066a0]
4722
4723         * ldap.c, parse.c, sudo.c, sudo.h, sudo_nss.h:
4724         Improve chaining of multiple sudoers sources by passing in the
4725         previous return value to the next in the chain
4726         [2c0b722b1b2d]
4727
4728         * gram.y:
4729         Free up parser data structures in sudo_file_close().
4730         [2251531d4519]
4731
4732         * gram.c, parse.c:
4733         Free up parser data structures in sudo_file_close().
4734         [8371f130f401]
4735
4736         * ldap.c:
4737         Parse uri ourself if no ldap_initialize() is present Use
4738         ldap_create() instead of deprecated ldap_init() Use
4739         ldap_sasl_bind_s() instead of deprecated ldap_simple_bind_s()
4740         [85d3825b1953]
4741
4742         * config.h.in, configure, configure.in:
4743         Add check for ldap_sasl_bind_s() Remove -DLDAP_DEPRECATED from
4744         CFLAGS
4745         [240524512bc5]
4746
4747 2008-01-04  Todd C. Miller  <Todd.Miller@courtesan.com>
4748
4749         * config.h.in, configure, configure.in:
4750         add check for ldap_create
4751         [3089badd73b8]
4752
4753 2008-01-03  Todd C. Miller  <Todd.Miller@courtesan.com>
4754
4755         * config.h.in, configure, configure.in, ldap.c:
4756         Add sudo_ldap_get_first_rdn() to return the first rdn of an entry's
4757         dn using the mechanism appropriate for the LDAP SDK in use. Use
4758         ldap_unbind_ext_s() instead of deprecated ldap_unbind_s(). Emulate
4759         ldap_unbind_ext_s() and ldap_search_ext_s() for SDK's without them.
4760         [6deeca3d00cc]
4761
4762         * lbuf.c:
4763         include unistd.h
4764         [8419ed0bae7f]
4765
4766         * config.h.in, configure.in:
4767         fix typo in mtim_getnsec
4768         [2d5f21230a60]
4769
4770 2008-01-02  Todd C. Miller  <Todd.Miller@courtesan.com>
4771
4772         * config.h.in, configure, configure.in:
4773         add check for st__tim in struct stat as used by SCO
4774         [587060ea2a89]
4775
4776         * ldap.c:
4777         use ldap_search_ext_s instead of deprecated ldap_search_s
4778         [5fc44fe3b44c]
4779
4780         * Makefile.in, TODO, sudo.cat, sudo.man.in:
4781         add sudo_nss.h to HDRS
4782         [86f01a70ff29]
4783
4784         * ldap.c:
4785         Replace deprecated ldap_explode_dn() with calls to ldap_str2dn() and
4786         ldap_rdn2str().
4787         [aa217002cfae]
4788
4789 2008-01-01  Todd C. Miller  <Todd.Miller@courtesan.com>
4790
4791         * ldap.c:
4792         Use ldap_get_values_len()/ldap_value_free_len() instead of the
4793         deprecated ldap_get_values()/ldap_value_free().
4794         [e22dceb85e57]
4795
4796         * ChangeLog:
4797         sync
4798         [adad27b36107]
4799
4800         * TODO:
4801         sync
4802         [c449eb47e0ef]
4803
4804         * gettime.c, sudo.c:
4805         Remove some already fixed XXXs
4806         [532788d0e6da]
4807
4808         * ldap.c:
4809         Same return value as non-existent sudoers if LDAP was unable to
4810         connect.
4811         [5819810e8e4e]
4812
4813         * sudo.pod:
4814         mention /etc/environment
4815         [ea8e6102f853]
4816
4817         * README.LDAP, UPGRADE, WHATSNEW:
4818         Update to reflect recent developments.
4819         [ed1fb026fe77]
4820
4821         * sudo.c:
4822         Print nsswitch.conf, ldap.conf and ldap.secret paths in -V output.
4823         [55b68a58260d]
4824
4825         * ldap.c:
4826         When building up a query don't list groups in the aux group vector
4827         that are the same as the passwd file group. On most systems the
4828         first gid in the group vector is the same as the passwd entry gid.
4829         [4bb51e297e0d]
4830
4831         * env.c, ldap.c:
4832         Define LDAPNOINIT before calling ldap_init(), etc. to disable user
4833         ldaprc and system defaults that could affect how LDAP works.
4834         [ce5036440db2]
4835
4836         * INSTALL, configure, configure.in, pathnames.h.in, sudo.c,
4837         sudo_nss.c, sudo_nss.h:
4838         Rename read_nss -> sudo_read_nss Add --with-nsswitch to allow users
4839         to specify nsswitch.conf path or disable it. If --with-nsswitch=no
4840         but --with-ldap, order is LDAP, then sudoers. Fix --with-ldap-conf-
4841         file and --with-ldap-secret-file
4842         [ea5d7704381f]
4843
4844         * parse.c:
4845         Honor def_ignore_local_sudoers
4846         [f38e1121fae1]
4847
4848 2007-12-31  Todd C. Miller  <Todd.Miller@courtesan.com>
4849
4850         * ldap.c:
4851         no longer need to check def_ignore_local_sudoers here
4852         [fce2a72f96fb]
4853
4854         * parse.c:
4855         Refactor group vector resetting into a function and also call it
4856         from display_cmnd. Stop after the first sucessful match in
4857         display_cmnd. Print a newline between each display_privs method.
4858         [981b37b5adff]
4859
4860         * parse.c:
4861         fix double free introduced in rev 1.218
4862         [c574b02d8747]
4863
4864         * ldap.c:
4865         belt and suspenders; zero out result after freeing it
4866         [7732988d4620]
4867
4868         * env.c, fileops.c, ldap.c, sudo.h, sudo_nss.c:
4869         Refactor line reading into a separate function, sudo_parseln(),
4870         which removes comments, leading/trailing whitespace and newlines.
4871         May want to rethink the use of sudo_parseln() for /etc/ldap.secret
4872         [61d9068f0645]
4873
4874         * parse.c, sudo.c:
4875         Make the inability to read the sudoers file a non-fatal error if
4876         there are other sudoers sources available. sudoers_file_lookup now
4877         returns "not OK" if sudoers was not present
4878         [643babf597a8]
4879
4880         * ldap.c:
4881         make it clear that the global options are from LDAP
4882         [9ff950349463]
4883
4884         * logging.c:
4885         allocate proper amount of space for error string
4886         [8bebb7d46d19]
4887
4888         * sudo_nss.c, sudo_nss.h:
4889         actual sudo nss code
4890         [5bd7d52d7738]
4891
4892         * ldap.c, parse.c, sudo.c, sudo.h:
4893         nss-ify display_privs and display_cmnd.
4894         [cccfdd3253f2]
4895
4896         * defaults.c, parse.c, testsudoers.c, visudo.c:
4897         move update_defaults() to parse.c
4898         [ace144b958a9]
4899
4900         * Makefile.in, ldap.c, list.c, parse.c, parse.h, sudo.c, sudo.h:
4901         Use nsswitch to hide some sudoers vs. ldap implementation details
4902         and reduce the number of #ifdef LDAP TODO: fix display routines and
4903         error handling
4904         [6225edde89a6]
4905
4906 2007-12-28  Todd C. Miller  <Todd.Miller@courtesan.com>
4907
4908         * Makefile.in, README.LDAP, ldap.c, pathnames.h.in, sudo.c, sudo.h:
4909         First cut at nsswitch.conf support. Further reorganizaton and
4910         related changes are forthcoming.
4911         [717f59d0790b]
4912
4913 2007-12-21  Todd C. Miller  <Todd.Miller@courtesan.com>
4914
4915         * env.c, pathnames.h.in, sudo.c, sudo.h:
4916         Add support for reading and /etc/environment file. Still needs to
4917         be documented and should probably only applies to OSes that have it
4918         (AIX and Linux, maybe others).
4919         [15d3edae27e4]
4920
4921         * ldap.c:
4922         include limits.h
4923         [e19875ef0f82]
4924
4925 2007-12-20  Todd C. Miller  <Todd.Miller@courtesan.com>
4926
4927         * WHATSNEW:
4928         reword LDAP SASL
4929         [7ec3c4ec31b5]
4930
4931 2007-12-19  Todd C. Miller  <Todd.Miller@courtesan.com>
4932
4933         * TODO:
4934         sync
4935         [87c5a7aea7bf]
4936
4937         * README.LDAP:
4938         Add an example sudoRole, clarify netscape vs. openldap a bit more
4939         [6f96c0ca8107]
4940
4941         * README.LDAP:
4942         Be clear on what is OpenLDAP vs. Netscape-derived
4943         [a33c8314dec5]
4944
4945         * config.h.in, configure, configure.in, ldap.c:
4946         Use ldapssl_init() for ldaps support instead of trying to do it
4947         manually with ldap_init() + ldapssl_install_routines(). Use tls_cert
4948         and tls_key for cert7.db and key3.db respectively. Don't print
4949         debugging info for options that are not set. Add warning if
4950         start_tls specified when not supported.
4951         [abb62dc7e4a3]
4952
4953         * ldap.c:
4954         fix compilation on solaris
4955         [03d449684e80]
4956
4957         * Makefile.in:
4958         add missing .h and .c files for missing lib objs
4959         [8b37825bdfc7]
4960
4961 2007-12-18  Todd C. Miller  <Todd.Miller@courtesan.com>
4962
4963         * ldap.c:
4964         fix LDAP_OPT_NETWORK_TIMEOUT setting
4965         [226eba89c0ad]
4966
4967         * ldap.c:
4968         fix compilation on Solaris
4969         [917d47639eb6]
4970
4971 2007-12-17  Todd C. Miller  <Todd.Miller@courtesan.com>
4972
4973         * configure, configure.in:
4974         fix typo
4975         [009d5c81b225]
4976
4977         * README.LDAP:
4978         try to clear up which variables are for OpenLDAP and which are for
4979         netscape-derived SDKs
4980         [f8d9823ee73c]
4981
4982         * config.h.in, configure, configure.in, ldap.c:
4983         Add support for "ssl on" in both netscape and openldap flavors. Only
4984         the OpenLDAP flavor has been tested.
4985         [952745829ec5]
4986
4987         * logging.c, sudo.c, sudo.h:
4988         Call cleanup() before exit in log_error() instead of calling
4989         sudo_ldap_close() directly. ldap_conn can now be static to sudo.c
4990         [da02d1b67a2c]
4991
4992         * sudo.c:
4993         ld -> ldap_conn
4994         [01afa6d927cc]
4995
4996 2007-12-16  Todd C. Miller  <Todd.Miller@courtesan.com>
4997
4998         * logging.c, sudo.c, sudo.h:
4999         Better ldap cleanup.
5000         [25b9abe2d617]
5001
5002         * ldap.c:
5003         Distinguish between LDAP conf settings that are connection-specific
5004         (which take an ld pointer) and those that are default settings
5005         (which do not).
5006         [d48dc6c9c3b4]
5007
5008 2007-12-14  Todd C. Miller  <Todd.Miller@courtesan.com>
5009
5010         * ldap.c:
5011         Improved warnings on error.
5012         [c8dce7b4feb4]
5013
5014         * ldap.c:
5015         Make ldap config table driven and set the config *after* we open the
5016         connection.
5017         [d9698b5a2681]
5018
5019 2007-12-13  Todd C. Miller  <Todd.Miller@courtesan.com>
5020
5021         * ldap.c:
5022         fix LDAP_OPT_X_CONNECT_TIMEOUT compat define
5023         [598c6df06660]
5024
5025         * configure, configure.in:
5026         some operating systems need to link with -lkrb5support when using
5027         krb5
5028         [8896365dde9e]
5029
5030 2007-12-10  Todd C. Miller  <Todd.Miller@courtesan.com>
5031
5032         * WHATSNEW:
5033         minor update
5034         [acfeeb7f4886]
5035
5036         * sudo.cat, sudo.man.in, sudoers.cat, sudoers.man.in:
5037         regen
5038         [a3c6699674f9]
5039
5040 2007-12-08  Todd C. Miller  <Todd.Miller@courtesan.com>
5041
5042         * ChangeLog, TODO:
5043         sync
5044         [138e99b925ee]
5045
5046         * ldap.c, schema.OpenLDAP, schema.iPlanet, sudoers2ldif:
5047         add -g support for LDAP
5048         [8fc27dbe9287]
5049
5050 2007-12-03  Todd C. Miller  <Todd.Miller@courtesan.com>
5051
5052         * WHATSNEW, sudo.c, sudo.pod, sudo_usage.h.in:
5053         The -i and -s flags can now take an optional command.
5054         [6afec104ee77]
5055
5056 2007-12-02  Todd C. Miller  <Todd.Miller@courtesan.com>
5057
5058         * auth/pam.c, def_data.c, def_data.h, def_data.in, sudo.c, sudo.pod,
5059         sudoers.pod:
5060         Add passprompt_override flag to sudoers that will cause the prompt
5061         to be overridden in all cases. This flag is also set when the user
5062         specifies the -p flag.
5063         [e4c5402131a6]
5064
5065         * sudo.c:
5066         Move setting of login class until after sudoers has been parsed. Set
5067         NewArgv[0] for -i after runas_pw has been set.
5068         [62a48c8c56fa]
5069
5070         * configure, configure.in:
5071         Move the dgettext check.
5072         [5fd8a4712d1c]
5073
5074 2007-12-01  Todd C. Miller  <Todd.Miller@courtesan.com>
5075
5076         * auth/pam.c, config.h.in, configure, configure.in:
5077         Add basic support for looking up the string "Password: " in the PAM
5078         localized text db. This allows us to determine whether the PAM
5079         prompt is the default "Password: " one even if it has been
5080         localized.
5081
5082         TODO: concatenate non-std PAM prompts and user-specified sudo
5083         prompts.
5084         [81c25a415d41]
5085
5086 2007-11-27  Todd C. Miller  <Todd.Miller@courtesan.com>
5087
5088         * Makefile.in, config.h.in, configure, configure.in, parse.c,
5089         set_perms.c, sudo.c, sudo.h:
5090         Use AC_FUNC_GETGROUPS instead of a home-grown attempt that was
5091         insufficient.
5092         [1cce6ec1a91e]
5093
5094         * acsite.m4, configure, interfaces.c, memrchr.c:
5095         Fix typos; Martynas Venckus
5096         [be1233cca11a]
5097
5098 2007-11-26  Todd C. Miller  <Todd.Miller@courtesan.com>
5099
5100         * set_perms.c:
5101         Don't assume runas_pw is set; it may not be in the -g case.
5102         [aa11bd2193ac]
5103
5104 2007-11-25  Todd C. Miller  <Todd.Miller@courtesan.com>
5105
5106         * logging.c, set_perms.c:
5107         Set aux group vector for PERM_RUNAS and restore group vector for
5108         PERM_ROOT if we previously changed it. Stash the runas group vector
5109         so we don't have to call initgroups more than once. Also add no-op
5110         check to check_perms.
5111         [53837fc755f7]
5112
5113 2007-11-21  Todd C. Miller  <Todd.Miller@courtesan.com>
5114
5115         * WHATSNEW, check.c, def_data.in, defaults.c, gram.c, gram.h, gram.y,
5116         ldap.c, logging.c, match.c, mon_systrace.c, parse.c, parse.h,
5117         pwutil.c, set_perms.c, sudo.c, sudo.cat, sudo.h, sudo.man.in,
5118         sudo.pod, sudo_usage.h.in, sudoers.cat, sudoers.man.in, sudoers.pod,
5119         testsudoers.c, visudo.c, visudo.cat, visudo.man.in:
5120         Add support for runas groups. This allows the user to run a command
5121         with a different effective group. If the -g option is specified
5122         without -u the command will be run as the current user (only the
5123         group will change). the -g and -u options may be used together.
5124         TODO: implement runas group for ldap improve runas group
5125         documentation add testsudoers support
5126         [9019309df6d0]
5127
5128         * configure, configure.in:
5129         fix setting of mandir
5130         [2c60f269399f]
5131
5132         * sudo.pod, sudoers.pod:
5133         document that ALL implies SETENV
5134         [bcc8e5b703b9]
5135
5136         * ldap.c:
5137         s/setenv_ok/setenv_implied/g
5138         [f005df2c2eea]
5139
5140         * ldap.c:
5141         hostname_matches() returns TRUE on match in sudo 1.7.
5142         [c3d4377b6e8b]
5143
5144         * ldap.c:
5145         use strcmp, not strcasecmp when comparing ALL
5146         [e486024574a1]
5147
5148         * ldap.c:
5149         Make sudo ALL imply setenv. Note that unlike with file-based
5150         sudoers this does affect all the commands in the sudoRole.
5151         [bc12f54321d1]
5152
5153         * gram.c, gram.y, parse.c, parse.h:
5154         sudo "ALL" now implies the SETENV tag but, unlike an explicit tag,
5155         it is not passed on to other commands in the list.
5156         [026e2cb40680]
5157
5158         * visudo.c:
5159         Add missing sudo_setpwent() and sudo_setgrent() calls. Also use
5160         sudo_getpwuid() instead of getpwuid().
5161         [86f30a8fbd49]
5162
5163 2007-11-15  Todd C. Miller  <Todd.Miller@courtesan.com>
5164
5165         * sudoers:
5166         Expand on the dangers of not using visudo to edit sudoers.
5167         [e434e8057d02]
5168
5169 2007-11-08  Todd C. Miller  <Todd.Miller@courtesan.com>
5170
5171         * parse.c:
5172         Don't quote *?[]! on output since the lexer does not strip off the
5173         backslash when reading those in.
5174         [561da4a13afa]
5175
5176 2007-11-07  Todd C. Miller  <Todd.Miller@courtesan.com>
5177
5178         * glob.c:
5179         expand "u_foo" types to "unsigned foo" to avoid compatibility
5180         issues.
5181         [b0d7c64d78c3]
5182
5183 2007-11-04  Todd C. Miller  <Todd.Miller@courtesan.com>
5184
5185         * logging.c:
5186         Refactor log line generation in to new_logline().
5187         [6a9b9730615d]
5188
5189 2007-10-25  Todd C. Miller  <Todd.Miller@courtesan.com>
5190
5191         * TROUBLESHOOTING:
5192         fix typo
5193         [9e19d4f86e47]
5194
5195 2007-10-24  Todd C. Miller  <Todd.Miller@courtesan.com>
5196
5197         * config.h.in, configure, configure.in, interfaces.c, interfaces.h,
5198         match.c:
5199         Add configure check for struct in6_addr instead of relying on
5200         AF_INET6 since some systems define AF_INET6 but do not include IPv6
5201         support.
5202         [e24082c416bd]
5203
5204 2007-10-21  Todd C. Miller  <Todd.Miller@courtesan.com>
5205
5206         * configure, configure.in:
5207         Fix block to add -lutil for FreeBSD and NetBSD when logincap is in
5208         use.
5209         [76a9df4a63be]
5210
5211 2007-10-20  Todd C. Miller  <Todd.Miller@courtesan.com>
5212
5213         * configure, configure.in:
5214         POSIX states that struct timespec be declared in time.h so check
5215         there regardless of the value of TIME_WITH_SYS_TIME.
5216         [e42c55ec9daf]
5217
5218 2007-10-17  Todd C. Miller  <Todd.Miller@courtesan.com>
5219
5220         * tgetpass.c:
5221         Instead of defining a macro to call the appropriate method for
5222         turning on/off echo, just define tc[gs]etattr() and the related
5223         defines that use the correct terminal ioctls if needed. Also go back
5224         to using TCSAFLUSH instead of TCSADRAIN on all but QNX.
5225         [5dfb2379d995]
5226
5227 2007-10-09  Todd C. Miller  <Todd.Miller@courtesan.com>
5228
5229         * Makefile.in:
5230         g/c @ALLOCA@
5231         [e6946c2e3820]
5232
5233         * configure:
5234         regen
5235         [9bac7159a138]
5236
5237         * INSTALL, auth/pam.c, config.h.in, configure.in:
5238         Add --disable-pam-session configure option to disable calling
5239         pam_{open,close}_session. May work around bugs in some PAM
5240         implementations.
5241         [273d0fdb4a9d]
5242
5243 2007-10-08  Todd C. Miller  <Todd.Miller@courtesan.com>
5244
5245         * tgetpass.c:
5246         quiet gcc warnings
5247         [325565c5a579]
5248
5249         * tgetpass.c:
5250         Avoid printing the prompt if we are already backgrounded. E.g. if
5251         the user runs "sudo foo &" from the shell. In this case, the call
5252         to tcsetattr() will cause SIGTTOU to be delivered.
5253         [db2139a8d8b8]
5254
5255 2007-09-15  Todd C. Miller  <Todd.Miller@courtesan.com>
5256
5257         * def_data.c, def_data.h, def_data.in:
5258         Reorder things such that the definition of env_reset come right
5259         before the env variable lists.
5260         [e0d8e22a581a]
5261
5262         * parse.h:
5263         Shrink type and seqno in struct alias from int to u_short
5264         [9425263dd565]
5265
5266         * alias.c, match.c, parse.c, parse.h:
5267         Add a sequence number in the aliases for loop detection. If we find
5268         an alias with the seqno already set to the current (global) value we
5269         know we've visited it before so ignore it.
5270         [301a0548ffff]
5271
5272 2007-09-13  Todd C. Miller  <Todd.Miller@courtesan.com>
5273
5274         * TODO, auth/pam.c, sudo.c, sudo.h:
5275         PAM wants the full tty path so add user_ttypath which holds the full
5276         path to the tty or is NULL if no tty was present.
5277         [c7c1dd4b36c8]
5278
5279         * auth/pam.c:
5280         Set PAM_RHOST to work around a bug in Solaris 7 and lower that
5281         results in a segv.
5282         [3a8865b3a357]
5283
5284 2007-09-11  Todd C. Miller  <Todd.Miller@courtesan.com>
5285
5286         * gram.c:
5287         regen
5288         [5647be127950]
5289
5290         * alias.c, defaults.c, gram.y, list.c, list.h, match.c, parse.c,
5291         parse.h, testsudoers.c, visudo.c:
5292         rename lh_ -> tq_
5293         [8f500c542c4a]
5294
5295 2007-09-10  Todd C. Miller  <Todd.Miller@courtesan.com>
5296
5297         * alloc.c:
5298         remove some useless casts
5299         [409a448b23f5]
5300
5301         * alloc.c:
5302         pull in inttypes.h for SIZE_MAX; we avoid stdint.h since inttypes.h
5303         predates the final C99 spec and the standard specifies that it shall
5304         include stdint.h anyway
5305         [ae478fdef61a]
5306
5307 2007-09-06  Todd C. Miller  <Todd.Miller@courtesan.com>
5308
5309         * Makefile.in, alloca.c, configure.in:
5310         Since we ship with a pre-generated parser there is no need to ship a
5311         bogus alloca implementation.
5312         [3f611a7cc0e5]
5313
5314         * configure:
5315         regen
5316         [771eccf5269c]
5317
5318         * configure.in:
5319         remove initial setting of CHECKSIA, we require that it be unset if
5320         not used
5321         [a2e91adc5aa2]
5322
5323         * Makefile.in:
5324         add list.c to SRCS
5325         [7db0e56cf5b9]
5326
5327         * configure:
5328         regen
5329         [3716ec30172e]
5330
5331         * configure.in:
5332         only do SIA checks on Digital Unix
5333         [6a96e1af2597]
5334
5335 2007-09-05  Todd C. Miller  <Todd.Miller@courtesan.com>
5336
5337         * sudoers.cat, sudoers.man.in:
5338         regen
5339         [ac1dc29de72b]
5340
5341         * ChangeLog, TODO:
5342         sync
5343         [781effce0a2d]
5344
5345         * auth/kerb5.c:
5346         Remove call to krb5_cc_register() as it is not needed for modern
5347         kerb5.
5348         [351b8b764f16]
5349
5350         * configure:
5351         regen
5352         [ac21dbcc9c2c]
5353
5354         * aclocal.m4, configure.in:
5355         New method for setting the default authentication type and avoiding
5356         conflicts in auth types.
5357         [5fb15be11f78]
5358
5359         * match.c, parse.c, testsudoers.c:
5360         Each entry in a cmndlist now has an associated runaslist so no need
5361         to keep track of the most recent non-NULL one.
5362         [582e015786b0]
5363
5364 2007-09-04  Todd C. Miller  <Todd.Miller@courtesan.com>
5365
5366         * ldap.c:
5367         back out partial ldaps support mistakenly committed
5368         [357703e94b2d]
5369
5370         * ldap.c:
5371         Add support for unix groups and netgroups in sudoRunas
5372         [2f04eb91c6d0]
5373
5374 2007-09-03  Todd C. Miller  <Todd.Miller@courtesan.com>
5375
5376         * sudo_edit.c:
5377         Fix sudoedit of a non-existent file. From Tilo Stritzky.
5378         [a5488a03bddd]
5379
5380 2007-09-02  Todd C. Miller  <Todd.Miller@courtesan.com>
5381
5382         * configure:
5383         regen
5384         [541177376ee1]
5385
5386         * INSTALL:
5387         update --passprompt escape info
5388         [6d57db4cd538]
5389
5390         * configure.in:
5391         remove now-bogus comment and update copyright date
5392         [6a4af45fa331]
5393
5394         * configure.in:
5395         Fix up use of with_passwd
5396         [7c79d8640f77]
5397
5398         * acsite.m4, config.guess, config.sub, configure.in, ltmain.sh:
5399         Update to autoconf-2.61 andf libtool-1.5.24
5400         [045259b0b439]
5401
5402         * Makefile.in:
5403         "cmp -s" not just cmp Add @datarootdir@ to quiet autoconf-2.61
5404         [f5b6a7afb817]
5405
5406 2007-09-01  Todd C. Miller  <Todd.Miller@courtesan.com>
5407
5408         * gram.c:
5409         regen
5410         [b5b78e71d2cb]
5411
5412         * gram.y:
5413         move tags and runaslist propagation to be earlier
5414         [94f7805f4489]
5415
5416         * visudo.c:
5417         If -f flag given use the permissions of the original file as a
5418         template
5419         [9303d22bddb0]
5420
5421         * gram.y:
5422         prevent a double free() when re-initing the parser
5423         [5b3907c4de5a]
5424
5425 2007-08-31  Todd C. Miller  <Todd.Miller@courtesan.com>
5426
5427         * configure:
5428         regen
5429         [49a90b19a17d]
5430
5431         * aclocal.m4, alias.c, alloc.c, auth/API, auth/afs.c, auth/bsdauth.c,
5432         auth/kerb4.c, auth/kerb5.c, auth/pam.c, auth/securid.c,
5433         auth/securid5.c, auth/sia.c, auth/sudo_auth.h, config.h.in,
5434         configure.in, env.c, ldap.c, list.c, list.h, memrchr.c, parse.c,
5435         parse.h, pwutil.c, redblack.c, redblack.h, snprintf.c, sudo.c,
5436         sudo.h, testsudoers.c, visudo.c, zero_bytes.c:
5437         Remove support for compilers that don't support void *
5438         [35e1d01ae197]
5439
5440         * gram.c:
5441         regen
5442         [70ce412a458a]
5443
5444         * Makefile.in, alias.c, defaults.c, gram.y, list.c, list.h, match.c,
5445         parse.c, parse.h, testsudoers.c, visudo.c:
5446         Move list manipulation macros to list.h and create C versions of the
5447         more complex ones in list.c. The names have been down-cased so they
5448         appear more like normal functions.
5449         [9cea0e281148]
5450
5451         * Makefile.in:
5452         Fix cmp command when regenerating parser. Make gram.o the first
5453         dependency for all programs so gram.h will be generated before
5454         anything that needs it.
5455         [429ea065abf1]
5456
5457         * gram.y, parse.h:
5458         Convert NEW_DEFAULT anf NEW_MEMBER into static functions.
5459         [2f3433833589]
5460
5461         * match.c, parse.c, testsudoers.c:
5462         Use LH_FOREACH_REV when checking permission and short-circuit on the
5463         first non-UNSPEC hit we get for the command. This means that
5464         instead of cycling through the all the parsed sudoers entries we
5465         start at the end and work backwards and quit after the first
5466         positive or negative match.
5467         [881474532f3e]
5468
5469         * gram.c:
5470         regen
5471         [9152a19d4188]
5472
5473         * defaults.c, gram.y, parse.c, parse.h, testsudoers.c, visudo.c:
5474         Change list head macros to take a pointer, not a struct.
5475         [054f1dcce4cc]
5476
5477         * gram.c:
5478         regen
5479         [be154aae6235]
5480
5481         * gram.y:
5482         Propagate the runasspec from one command to the next in a cmndspec.
5483         [4957b1cb03a3]
5484
5485 2007-08-30  Todd C. Miller  <Todd.Miller@courtesan.com>
5486
5487         * match.c:
5488         Replace has_meta() with a macro that calls strpbrk().
5489         [a2e58846a542]
5490
5491         * regen
5492         [5a932a5c9451]
5493
5494         * alias.c, defaults.c, gram.y, match.c, parse.c, parse.h,
5495         testsudoers.c, visudo.c:
5496         Use a list head struct when storing the semi-circular lists and
5497         convert to tail queues in the process. This will allow us to
5498         reverse foreach loops more easily and it makes it clearer which
5499         functions expect a list as opposed to a single member.
5500
5501         Add macros for manipulating lists. Some of these should become
5502         functions.
5503
5504         When freeing up a list, just pop off the last item in the queue
5505         instead of going from head to tail. This is simpler since we don't
5506         have to stash a pointer to the next member, we always just use the
5507         last one in the queue until the queue is empty.
5508
5509         Rename match functions that take a list to have list in the name.
5510         Break cmnd_matches() into cmnd_matches() and cmndlist_matches.
5511         [7c37b271607a]
5512
5513         * parse.c:
5514         Fix pasto, append "!" not negated (which is an int) for sudo -l
5515         output.
5516         [93a444c3997f]
5517
5518         * Makefile.in:
5519         Remove the dependency of gram .h on gram.y, the .c dependency is
5520         enough. Only move y.tab.h to gram.h if it is different; avoids
5521         needless rebuilding.
5522         [67bf4ea2a2e5]
5523
5524 2007-08-27  Todd C. Miller  <Todd.Miller@courtesan.com>
5525
5526         * sudoers.pod:
5527         Defaults lines may be associated with lists of users, hosts,
5528         commands and runas users, not just single entries.
5529         [795effacb6be]
5530
5531 2007-08-26  Todd C. Miller  <Todd.Miller@courtesan.com>
5532
5533         * Makefile.in:
5534         Revert the "cmp" portion of the last diff, it doesn't make sense.
5535         [26f34bf4e2e3]
5536
5537         * Makefile.in:
5538         Remove *.lo for clean: When generating the parser, only move the
5539         generated files into place if they differ from the existing ones.
5540         [84673fea371b]
5541
5542 2007-08-25  Todd C. Miller  <Todd.Miller@courtesan.com>
5543
5544         * toke.c, toke.l:
5545         Replace IPV6 regexp with a much simpler (readable) one and add an
5546         extra check when it matches to make sure we have a valid address.
5547         [592e9f690556]
5548
5549         * match.c:
5550         Fix thinko introduced when merging IPV6 support.
5551         [da38cd5eb8c7]
5552
5553 2007-08-24  Todd C. Miller  <Todd.Miller@courtesan.com>
5554
5555         * HISTORY, LICENSE:
5556         regen
5557         [0d7b27b90634]
5558
5559         * license.pod:
5560         add 2007
5561         [510e5048ae1a]
5562
5563         * UPGRADE:
5564         mention #uid vs. comment pitfall
5565         [4d2861898bcc]
5566
5567         * acsite.m4:
5568         Merge in a patch from the libtool cvs that fixes a problem with the
5569         latest autoconf. From Stepan Kasal.
5570         [0c279ae7df3e]
5571
5572         * parse.h:
5573         Back out he XOR swap trick, it is slower than a temp variable on
5574         modern CPUs.
5575         [91c4b024e317]
5576
5577         * gram.c:
5578         regen
5579         [cb6d4106fb74]
5580
5581         * gram.y, parse.h:
5582         Convert the tail queue to a semi-circle queue and use the XOR swap
5583         trick to swap the prev pointers during append.
5584         [8bf4d9fbee58]
5585
5586 2007-08-23  Todd C. Miller  <Todd.Miller@courtesan.com>
5587
5588         * parse.h:
5589         remove useless statement
5590         [421ec1dd73e6]
5591
5592         * toke.c, toke.l:
5593         Refactor #include parsing into a separate function and return
5594         unparsed chars (such as newline or comment) back to the lexer.
5595         [64166917aa3d]
5596
5597 2007-08-22  Todd C. Miller  <Todd.Miller@courtesan.com>
5598
5599         * WHATSNEW:
5600         mention better uid support
5601         [56f510e7f2ec]
5602
5603         * sudoers.pod:
5604         Users may now consist of a uid.
5605         [5fd31b2c55ed]
5606
5607         * gram.c, gram.h, toke.c:
5608         regen
5609         [599e58af6dc1]
5610
5611         * parse.c:
5612         Use lbuf_append_quoted() for sudo -l output to quote characters that
5613         would require quoting in sudoers.
5614         [3132d05c990a]
5615
5616         * lbuf.c, lbuf.h:
5617         Add lbuf_append_quoted() which takes a set of characters which
5618         should be quoted with a backslash when displayed.
5619         [ab09bebb1d65]
5620
5621         * toke.l:
5622         Require that the first character after a comment not be a digit or a
5623         dash. This allows us to remove the GOTRUNAS state and treat
5624         uid/gids similar to other words. It also means that we can now
5625         specify uids in User_Lists and a User_Spec may now contain a uid.
5626         [461fe01f8392]
5627
5628         * gram.y, toke.l:
5629         Replace RUNAS token with '(' and ')' tokens to make the runas
5630         portion of the grammar more natural.
5631         [e0c383b4684d]
5632
5633         * BUGS:
5634         The BUGS file is history
5635         [4d9a809585c7]
5636
5637         * Makefile.in, README:
5638         The BUGS file is history
5639         [d9500e261172]
5640
5641 2007-08-21  Todd C. Miller  <Todd.Miller@courtesan.com>
5642
5643         * toke.c, toke.l:
5644         Allow comments after a RunasAlias as long as the character after the
5645         pound sign isn't a digit or a dash.
5646         [d7f3bd94eeda]
5647
5648         * WHATSNEW:
5649         Glob support was back-ported to 1.6.9
5650         [d1d5cfd46228]
5651
5652 2007-08-20  Todd C. Miller  <Todd.Miller@courtesan.com>
5653
5654         * Makefile.in:
5655         remove sudo_usage.h in distclean
5656         [df05ce9c4127]
5657
5658         * parse.c:
5659         If a Defaults value contains a blank, double-quote the string.
5660         [9057a910daad]
5661
5662         * toke.c, toke.l:
5663         Properly deal with Defaults double-quoted strings that span multiple
5664         lines using the line continuation char. Previously, the entire
5665         thing, including the continuation char, newline, and spaces was
5666         stored as-is.
5667         [4a4e8eacefe6]
5668
5669         * sudo.c:
5670         Be consistent when using single quotes and backticks.
5671         [d010b83a0fa1]
5672
5673 2007-08-19  Todd C. Miller  <Todd.Miller@courtesan.com>
5674
5675         * Makefile.in, configure, configure.in, lbuf.c, lbuf.h, parse.c,
5676         sudo.c, sudo_usage.h.in:
5677         Add new linebuf code to do appends of dynamically allocated strings
5678         and word-wrapped output. Currently used for sudo's usage() and sudo
5679         -l output. Sudo usage strings are now in sudo_usage.h which is
5680         generated at configure time.
5681         [4dfd0ee8d961]
5682
5683 2007-08-18  Todd C. Miller  <Todd.Miller@courtesan.com>
5684
5685         * parse.c, sudo.c, sudo.h:
5686         Fix line wrapping in usage() and use the actual tty width instead of
5687         assuming 80.
5688         [700eab37c5a6]
5689
5690 2007-08-17  Todd C. Miller  <Todd.Miller@courtesan.com>
5691
5692         * history.pod:
5693         some more info
5694         [8140112a8ae1]
5695
5696         * history.pod:
5697         Mentioned Chris Jepeway's parser and also the new one that is in
5698         sudo 1.7.
5699         [2132d00f0597]
5700
5701 2007-08-16  Todd C. Miller  <Todd.Miller@courtesan.com>
5702
5703         * sudo.pod, visudo.pod:
5704         For the options list, add flag args where appropriate and increase
5705         the indent level so there is room for them.
5706         [2b60fb572e12]
5707
5708 2007-08-15  Todd C. Miller  <Todd.Miller@courtesan.com>
5709
5710         * parse.c:
5711         Fix some spacing in "sudo -l" and add a comment about some bogosity
5712         in the line wrapping.
5713         [b59b056f5ee2]
5714
5715         * sudo.cat, sudo.man.in, sudoers.cat, sudoers.man.in, visudo.cat,
5716         visudo.man.in:
5717         regen
5718         [5fb719f18ebc]
5719
5720         * INSTALL, Makefile.in, WHATSNEW, config.h.in, configure.in,
5721         def_data.c, def_data.h, def_data.in, gram.c, gram.h, gram.y,
5722         parse.c, parse.h, pathnames.h.in, sudo.c, sudo.h, sudoers.pod,
5723         testsudoers.c, toke.c, toke.l:
5724         Remove monitor support until there is a versino of systrace that
5725         uses a lookaside buffer (or we have a better mechanism to use).
5726         [61ff76878e4a]
5727
5728         * config.h.in, configure, configure.in, sudo.c:
5729         use getaddrinfo() instead of gethostbyname() if it is available
5730         [cc33c136aa6a]
5731
5732 2007-08-14  Todd C. Miller  <Todd.Miller@courtesan.com>
5733
5734         * parse.c, sudo.c:
5735         Deal with OSes where sizeof(gid_t) < sizeof(int).
5736         [130a89cbdfba]
5737
5738         * interfaces.c:
5739         repair non-getifaddrs() code after ipv6 integration
5740         [7ae7a89e2236]
5741
5742         * sudo.c:
5743         If we can open sudoers but fail to read the first byte, close the
5744         file stream before trying again.
5745         [6f31272fae7b]
5746
5747 2007-08-13  Todd C. Miller  <Todd.Miller@courtesan.com>
5748
5749         * toke.c:
5750         regen
5751         [4d7afe0aa6fa]
5752
5753         * gram.y, interfaces.c, interfaces.h, match.c, sudoers.pod, toke.l:
5754         Add IPv6 support; adapted from patches by YOSHIFUJI Hideaki
5755         [4e6ff2965a42]
5756
5757         * sudo.pod, sudoers.pod, visudo.pod:
5758         Add some missing markup Update copyright
5759         [7e6d3c686b5e]
5760
5761 2007-08-12  Todd C. Miller  <Todd.Miller@courtesan.com>
5762
5763         * configure, configure.in:
5764         fix sudo_noexec extension which got broken in the libtool update
5765         [3a5b447df861]
5766
5767 2007-08-10  Todd C. Miller  <Todd.Miller@courtesan.com>
5768
5769         * Makefile.in:
5770         explicitly specify -Tascii to nroff
5771         [45c8da4cbefe]
5772
5773 2007-08-08  Todd C. Miller  <Todd.Miller@courtesan.com>
5774
5775         * logging.c:
5776         remove an ANSI-ism that crept in
5777         [29086f87b2ca]
5778
5779 2007-08-07  Todd C. Miller  <Todd.Miller@courtesan.com>
5780
5781         * sudo.pod:
5782         Adjust list indents Prevent -- from being turned into an em dash Use
5783         a list for the environment instead of a literal paragraph
5784         [c3abcd8f76f4]
5785
5786         * visudo.pod:
5787         Use a list for the environment instead of an indented literal
5788         paragraph.
5789         [0ffcfcb7349f]
5790
5791         * sudoers.pod:
5792         Adjust list indentation
5793         [615c89e3123a]
5794
5795         * license.pod:
5796         add =head3
5797         [8b2e0d38c0bd]
5798
5799 2007-08-06  Todd C. Miller  <Todd.Miller@courtesan.com>
5800
5801         * sudo.pod:
5802         mention that when specifying a uid for the -u option the shell may
5803         require that the # be escaped
5804         [3e3a17bff150]
5805
5806 2007-08-02  Todd C. Miller  <Todd.Miller@courtesan.com>
5807
5808         * match.c:
5809         Fix off by one in group matching.
5810         [b529602b7fba]
5811
5812 2007-07-31  Todd C. Miller  <Todd.Miller@courtesan.com>
5813
5814         * env.c:
5815         Fix typo: PYTHONINSPEC should be PYTHONINSPECT. From David Krause.
5816         [ffbf8907c6e7]
5817
5818 2007-07-30  Todd C. Miller  <Todd.Miller@courtesan.com>
5819
5820         * configure, configure.in:
5821         Add missing define of HAVE_GSS_KRB5_CCACHE_NAME for the
5822         -lgssapi_krb5 case.
5823         [2b85a89c2252]
5824
5825         * aclocal.m4, configure, configure.in:
5826         Fix link tests such that new gcc doesn't optimize away the test.
5827         [83484ec95cba]
5828
5829 2007-07-29  Todd C. Miller  <Todd.Miller@courtesan.com>
5830
5831         * sudo.pod, sudoers.pod, visudo.pod:
5832         add missing over/back
5833         [251a12c89b91]
5834
5835         * sudo.pod, sudoers.pod, visudo.pod:
5836         Change FILES section to use =item
5837         [60b9efc3a0b2]
5838
5839         * env.c:
5840         Add back allocation of the env struct in rebuild_env but save a copy
5841         of the old pointer and free it before returning.
5842         [1100cd4fa997]
5843
5844         * env.c:
5845         Don't init the private environment in rebuild_env() since it may
5846         have already been done implicitly sudo_setenv/sudo_unsetenv.
5847
5848         Multiply length by sizeof(char *) in memcpy/memmove when copying the
5849         environment so we copy the full thing.
5850
5851         Add missing set of parens so we deref the right pointer in
5852         sudo_unsetenv when searching for a matching variable.
5853         [9086a8f756b1]
5854
5855 2007-07-26  Todd C. Miller  <Todd.Miller@courtesan.com>
5856
5857         * sudo.pod, sudoers.pod, visudo.pod:
5858         Use file markup for paths in the FILES section
5859         [940d99f731f2]
5860
5861         * sudo.pod, sudoers.pod, visudo.pod:
5862         Don't capitalize sudo/visudo
5863         [f067a455d44b]
5864
5865         * sudoers.pod:
5866         Sort sudoers options; based on a diff from Igor Sobrado.
5867         [a9b9befe85ac]
5868
5869 2007-07-25  Todd C. Miller  <Todd.Miller@courtesan.com>
5870
5871         * sudo.pod, sudoers.pod, visudo.pod:
5872         Use 8 and 5 instead of @mansectsu@ and @mansectform@ since the
5873         latter confuses pod2man. The Makefile rules for the .man.in file
5874         will add @mansectsu@ and @mansectform@ back in after pod2man is done
5875         anyway.
5876         [b50ea0db727c]
5877
5878 2007-07-22  Todd C. Miller  <Todd.Miller@courtesan.com>
5879
5880         * LICENSE, Makefile.in, license.pod:
5881         Move license info to pod format
5882         [25bdd82e592b]
5883
5884         * configure, configure.in, sudoers.pod:
5885         Substitute value of path_info into sudoers man page.
5886         [9ba661a82798]
5887
5888         * WHATSNEW:
5889         remove features that were back-ported to 1.6.9
5890         [e76d756cbe65]
5891
5892         * sudo.c, sudo.pod, visudo.c, visudo.pod:
5893         Sort SYNOPSIS and sync usage. From Igor Sobrado.
5894         [4970386c9e54]
5895
5896         * env.c:
5897         Only need sudo_setenv/sudo_unsetenv if we are going to use
5898         ldap_sasl_interactive_bind_s() but don't have
5899         gss_krb5_ccache_name().
5900         [f1a73d8b35c5]
5901
5902         * ChangeLog:
5903         rebuild without branch info
5904         [5d5a33494677]
5905
5906         * Makefile.in:
5907         Add ChangeLog target
5908         [a702034fdd89]
5909
5910         * auth/pam.c:
5911         Run cleanup code if the user hits ^C at the password prompt.
5912         [9cf87768e921]
5913
5914         * auth/pam.c:
5915         Some versions of pam_lastlog have a bug that will cause a crash if
5916         PAM_TTY is not set so if there is no tty, set PAM_TTY to the empty
5917         string.
5918         [5b63f6c88866]
5919
5920 2007-07-20  Todd C. Miller  <Todd.Miller@courtesan.com>
5921
5922         * Makefile.in:
5923         ChageLog not Changelog
5924         [1243d8473ceb]
5925
5926         * ChangeLog:
5927         sync
5928         [d887df98c6b0]
5929
5930         * Makefile.in:
5931         CHANGE -> Changelog
5932         [917738df30dd]
5933
5934         * TODO:
5935         sync
5936         [cd382f7d1948]
5937
5938 2007-07-19  Todd C. Miller  <Todd.Miller@courtesan.com>
5939
5940         * config.h.in, configure, configure.in, ldap.c:
5941         Add configure hooks for gss_krb5_ccache_name() and the gssapi
5942         headers.
5943         [139606209991]
5944
5945 2007-07-18  Todd C. Miller  <Todd.Miller@courtesan.com>
5946
5947         * env.c, sudo.c:
5948         rebuild_env() and insert_env_vars() no longer return environment
5949         pointer, they set environ directly.
5950
5951         No longer need to pass around an envp pointer since we just operate
5952         on environ now.
5953
5954         Add dosync argument to insert_env() that indicates whether it should
5955         reset environ when realloc()ing env.envp.
5956
5957         Use an initial size of 128 for the environment.
5958         [4735fd5fddb8]
5959
5960         * env.c:
5961         Split sudo_setenv() into an external version and a version only for
5962         use by rebuild_env().
5963         [fda7d655adb1]
5964
5965 2007-07-16  Todd C. Miller  <Todd.Miller@courtesan.com>
5966
5967         * ldap.c:
5968         Add support for using gss_krb5_ccache_name() instead of setting
5969         KRB5CCNAME. Also use sudo_unsetenv() in the non-
5970         gss_krb5_ccache_name() case if there was no KRB5CCNAME in the
5971         original environment. TODO: configure setup for
5972         gss_krb5_ccache_name()
5973         [fcafa5a49caf]
5974
5975         * README.LDAP:
5976         add krb5_ccname
5977         [fceb8f883886]
5978
5979         * README.LDAP, ldap.c:
5980         Add support for sasl_secprops in ldap.conf
5981         [1f06f4bf7347]
5982
5983         * env.c, sudo.h:
5984         Add sudo_unsetenv() and refactor private env syncing code into
5985         sync_env().
5986         [045ecb3fd22b]
5987
5988         * README.LDAP, ldap.c:
5989         The ldap.conf variable is sasl_auth_id not sasl_authid.
5990         [a5f98491311b]
5991
5992 2007-07-15  Todd C. Miller  <Todd.Miller@courtesan.com>
5993
5994         * ldap.c, sudo.c, sudo.h:
5995         Add support for krb5_ccname in ldap.conf. If specified, it will
5996         override the default value of KRB5CCNAME in the environment for the
5997         duration of the call to ldap_sasl_interactive_bind_s().
5998         [b08a10c3045b]
5999
6000         * env.c, sudo.h:
6001         Remove format_env() Add sudo_setenv() to replace most format_env() +
6002         insert_env() combinations. insert_env() no longer takes a struct
6003         environment *
6004         [131da52f43f3]
6005
6006         * ldap.c:
6007         Fix use_sasl vs. rootuse_sasl logic.
6008         [0c0417b6918c]
6009
6010         * README.LDAP, config.h.in, configure, configure.in, ldap.c:
6011         Add support for SASL auth when connecting to an LDAP server. Adapted
6012         from a diff by Tom McLaughlin.
6013         [a6285f1356ea]
6014
6015 2007-07-14  Todd C. Miller  <Todd.Miller@courtesan.com>
6016
6017         * configure, configure.in:
6018         Only enable AIX or BSD auth if no other exclusive auth method has
6019         been chosen. Allows people to e.g., use PAM on AIX without adding
6020         --without-aixauth. A better solution is needed to deal with default
6021         authentication since if a non-exclusive method is chosen we will
6022         still get an error.
6023         [83f7afdc0ec3]
6024
6025 2007-07-11  Todd C. Miller  <Todd.Miller@courtesan.com>
6026
6027         * HISTORY, Makefile.in, history.pod:
6028         Generate HISTORY from history.pod (which is also used for web pages)
6029         [60bcd5164931]
6030
6031 2007-07-09  Todd C. Miller  <Todd.Miller@courtesan.com>
6032
6033         * sudo.man.in, sudoers.man.in:
6034         regen
6035         [63956a366191]
6036
6037         * sudo.pod:
6038         Better explanation of environment handling in the sudo man page.
6039         [6c247742f7ee]
6040
6041         * env.c, sudo.c:
6042         Defer setting user-specified env vars until after authentication.
6043         [4750b79323ee]
6044
6045         * env.c:
6046         honor def_default_path for PATH set on the command line
6047         [6db31d9b6d65]
6048
6049         * env.c, sudo.c, sudo.pod, sudoers.pod:
6050         Allow user to set environment variables on the command line as long
6051         as they are allowed by env_keep and env_check. Ie: apply the same
6052         restrictions as normal environment variables. TODO: deal with
6053         secure_path
6054         [26c0da3840cf]
6055
6056 2007-07-08  Todd C. Miller  <Todd.Miller@courtesan.com>
6057
6058         * sudo.c, sudo_edit.c:
6059         Call rebuild_env() in call cases. Pass original envp to sudo_edit().
6060         Don't allow -E or env var setting in sudoedit mode. More accurate
6061         usage() when called as sudoedit.
6062         [a4af20658361]
6063
6064         * ldap.c:
6065         warn -> warning
6066         [d87d1192b048]
6067
6068         * sudo.pod:
6069         add -c option to sudoedit synopsis
6070         [15b596a7e2db]
6071
6072         * TODO:
6073         udpate to reality
6074         [e2f8fde89db1]
6075
6076         * parse.c:
6077         Use ALLOW/DENY instead of TRUE/FALSE when dealing with the return
6078         value from {user,host,runas,cmnd}_matches(). Rename *matches
6079         variables -> *match. Purely cosmetic.
6080         [e54a44c00a88]
6081
6082         * parse.c:
6083         Move setting of FLAG_NO_CHECK into the if(pwflag) block. No change
6084         in behavior.
6085         [c6272b4f2127]
6086
6087         * sudoers:
6088         add SETENV tag
6089         [3a3066bb6788]
6090
6091 2007-07-06  Todd C. Miller  <Todd.Miller@courtesan.com>
6092
6093         * parse.c:
6094         Make pwcheck local to the pwflag block. Use pwcheck even if user
6095         didn't match since Defaults options may still apply.
6096         [45da9efbbafd]
6097
6098         * check.c, sudo.c:
6099         Do not update timestamp if user not validated by sudoers.
6100         [a4a9d4364827]
6101
6102         * set_perms.c:
6103         for PERM_RUNAS, set the egid to the runas user's gid and restore to
6104         the user's original in PERM_ROOT
6105         [1514bfb32847]
6106
6107         * logging.c, mon_systrace.c, set_perms.c, sudo.h:
6108         PERM_FULL_ROOT is now no different than PERM_ROOT so remove
6109         PERM_FULL_ROOT
6110         [b9d047a3178c]
6111
6112         * check.c:
6113         don't check timestamp mtime if we are just going to remove it
6114         [5d2470bc6cbd]
6115
6116         * sudoers.pod:
6117         Move sudoers defaults parameters into their own section.
6118         [54701fbc0ff3]
6119
6120         * testsudoers.c:
6121         Reduce a level of indent by a few placed continue statements.
6122         [5d5a9838c8ef]
6123
6124         * parse.c:
6125         Make matching but negated commands/hosts/runas entries override a
6126         previous match as expected. Also reduce some levels of indent by a
6127         few placed continue statements.
6128         [dd59fa4b91a1]
6129
6130 2007-07-05  Todd C. Miller  <Todd.Miller@courtesan.com>
6131
6132         * parse.c:
6133         Print default runas in "sudo -l" if sudoers don't specify one.
6134         [07d408c400bd]
6135
6136         * match.c:
6137         Less hacky way of testing whether the domain was set.
6138         [a537059776e5]
6139
6140 2007-07-04  Todd C. Miller  <Todd.Miller@courtesan.com>
6141
6142         * INSTALL:
6143         Mention pam-devel and openldap-devel for Linux
6144         [9e708c54ecc3]
6145
6146 2007-07-03  Todd C. Miller  <Todd.Miller@courtesan.com>
6147
6148         * README.LDAP:
6149         or vs. are
6150         [abe8c0f3a410]
6151
6152 2007-07-01  Todd C. Miller  <Todd.Miller@courtesan.com>
6153
6154         * sudo.c:
6155         fix typo in Solaris project support
6156         [2ffeb2d80959]
6157
6158         * HISTORY:
6159         update
6160         [df162b36f120]
6161
6162         * sudo.c:
6163         Make -- on the command line match the manual page. The implied shell
6164         case has been simplified as a result.
6165         [cd217a1f6694]
6166
6167 2007-06-28  Todd C. Miller  <Todd.Miller@courtesan.com>
6168
6169         * sudoers2ldif:
6170         add simplistic support for sudoRunas; note that if a sudoers entry
6171         contains multiple Runas users, all will apply to the sudoRole
6172         [65b11421f5c8]
6173
6174         * sudoers2ldif:
6175         honor SETENV and NOSETENV tags
6176         [2c0d5ba7a09b]
6177
6178 2007-06-24  Todd C. Miller  <Todd.Miller@courtesan.com>
6179
6180         * mon_systrace.c:
6181         Redo setting of user_args. We now build up a private copy of argv
6182         first and then replace the NULs?with spaces.
6183         [ccbba72ea112]
6184
6185         * mon_systrace.c:
6186         getcwd() returns NULL on failure, not 0 on success
6187         [88cd9e66e530]
6188
6189         * mon_systrace.c:
6190         allow chunksiz to reach 1 before erroring out
6191         [619d68f14964]
6192
6193         * sudo.cat, sudo.man.in, sudoers.cat, sudoers.man.in, visudo.cat,
6194         visudo.man.in:
6195         regen
6196         [8db512d3caf0]
6197
6198 2007-06-23  Todd C. Miller  <Todd.Miller@courtesan.com>
6199
6200         * def_data.c, def_data.h, def_data.in, env.c, gram.c, gram.h, gram.y,
6201         logging.c, parse.c, parse.h, sudo.c, sudo.h, sudo.pod, sudoers.pod,
6202         toke.c, toke.l:
6203         Add support for setting environment variables on the command line.
6204         This is only allowed if the setenv sudoers options is enabled or if
6205         the command is prefixed with the SETENV tag.
6206         [5744caebd969]
6207
6208         * README.LDAP:
6209         replace Aaron's email address with the sudo-workers list
6210         [2ffce5f9afc0]
6211
6212         * configure:
6213         regen
6214         [8013dff82c0c]
6215
6216 2007-06-22  Todd C. Miller  <Todd.Miller@courtesan.com>
6217
6218         * schema.OpenLDAP, schema.iPlanet:
6219         Break schema out into separate files.
6220         [15e598e4c60b]
6221
6222         * Makefile.in, README.LDAP:
6223         Break schema out into separate files.
6224         [1a53966ca1fa]
6225
6226 2007-06-21  Todd C. Miller  <Todd.Miller@courtesan.com>
6227
6228         * auth/aix_auth.c:
6229         free message if set by authenticate()
6230         [849c220c1236]
6231
6232         * match.c:
6233         deal with NULL gr_mem
6234         [49e4d74f0bbe]
6235
6236 2007-06-20  Todd C. Miller  <Todd.Miller@courtesan.com>
6237
6238         * config.h.in:
6239         regen
6240         [fead999ad3e9]
6241
6242         * configure.in:
6243         add template for HAVE_PROJECT_H
6244         [e6c42c2eaad1]
6245
6246         * closefrom.c:
6247         include fcntl.h
6248         [54d98b382f03]
6249
6250 2007-06-19  Todd C. Miller  <Todd.Miller@courtesan.com>
6251
6252         * INSTALL:
6253         mention --with-project
6254         [d3ea3baad7c5]
6255
6256         * config.h.in, configure.in, sudo.c:
6257         Add Solaris 10 "project" support. From Michael Brantley.
6258         [f14f3c8c6554]
6259
6260         * sudoers.pod:
6261         fix typo
6262         [50db81a19787]
6263
6264         * configure:
6265         regen
6266         [ea71afd3e564]
6267
6268         * configure.in:
6269         Fix preservation of LDFLAGS in the LDAP case.
6270         [40a3a47e8059]
6271
6272         * memrchr.c:
6273         Remove dependecy on NULL
6274         [c957ae5e1733]
6275
6276         * configure:
6277         regen
6278         [4955ce0c6912]
6279
6280         * aclocal.m4, configure.in:
6281         Can't use the regular autoconf fnmatch() check since we need
6282         FNM_CASEFOLD so go back to our custom one.
6283         [f10d76237486]
6284
6285         * env.c:
6286         Fix preserving of variables in env_keep.
6287         [d040049d6b84]
6288
6289         * env.c:
6290         add XAUTHORIZATION
6291         [0d589a5fe015]
6292
6293         * UPGRADE:
6294         expand upon env resetting and mention that it began in 1.6.9 not
6295         1.7.
6296         [dba251655c76]
6297
6298         * sudoers.pod:
6299         Update descriptions of env_keep and env_check to match current
6300         reality.
6301         [dba77357954b]
6302
6303 2007-06-18  Todd C. Miller  <Todd.Miller@courtesan.com>
6304
6305         * env.c:
6306         Add LINGUAS to initial_checkenv_table. Add COLORS, HOSTNAME,
6307         LS_COLORS, MAIL, PS1, PS2, XAUTHORITY to intial_keepenv_table.
6308         [eec4632bd190]
6309
6310         * env.c, logging.c:
6311         Treat USERNAME environemnt variable like LOGNAME/USER
6312         [09f52dcfd70c]
6313
6314         * env.c:
6315         Don't need to populate keepenv table with the contents of the
6316         checkenv table.
6317         [527a14afd973]
6318
6319         * sudo.c:
6320         Don't force sudo into the C locale.
6321         [8a5bd301ef96]
6322
6323         * env.c:
6324         Make env_check apply when env_reset it true. Environment variables
6325         are passed through unless they contain '/' or '%'. There is no need
6326         to have a variable in both env_check and env_keep.
6327         [840c802721e4]
6328
6329 2007-06-16  Todd C. Miller  <Todd.Miller@courtesan.com>
6330
6331         * visudo.c:
6332         Remove an duplicate lock_file() call and add a comment.
6333         [5af9dcdf0eb6]
6334
6335         * UPGRADE:
6336         Add sudo 1.6.9 upgrade note.
6337         [1585149f2914]
6338
6339 2007-06-14  Todd C. Miller  <Todd.Miller@courtesan.com>
6340
6341         * interfaces.c:
6342         Solaris will return EINVAL if the buffer used in SIOCGIFCONF is too
6343         small. From Klaus Wagner.
6344         [d6899fc44f77]
6345
6346         * logging.c, sudo.h:
6347         Redo the long syslog line splitting based on a patch from Eygene
6348         Ryabinkin. Include memrchr() for systems without it.
6349         [66a50e8d553a]
6350
6351         * memrchr.c:
6352         Redo the long syslog line splitting based on a patch from Eygene
6353         Ryabinkin. Include memrchr() for systems without it.
6354         [2f6702b7d41b]
6355
6356         * Makefile.in, config.h.in, configure, configure.in:
6357         Redo the long syslog line splitting based on a patch from Eygene
6358         Ryabinkin. Include memrchr() for systems without it.
6359         [407a46190921]
6360
6361         * configure.in:
6362         Since we need to be able to convert timespec to timeval for utimes()
6363         the last 3 digits in the tv_nsec are not significant. This makes the
6364         sudoedit file date comparison work again.
6365         [9d0258849fa9]
6366
6367 2007-06-13  Todd C. Miller  <Todd.Miller@courtesan.com>
6368
6369         * aclocal.m4, configure, configure.in:
6370         Add SUDO_ADD_AUTH macro to deal with adding things to AUTH_OBJS.
6371         This deals with exclusive authentication methods in a simple way.
6372         [7d70072c0f35]
6373
6374 2007-06-12  Todd C. Miller  <Todd.Miller@courtesan.com>
6375
6376         * LICENSE:
6377         mkstemp.c is BSD code too.
6378         [29e236d98162]
6379
6380         * sudo.pod, sudoers.pod, visudo.pod:
6381         No commercial support for now.
6382         [7c76b3e192dd]
6383
6384 2007-06-11  Todd C. Miller  <Todd.Miller@courtesan.com>
6385
6386         * sudo.c:
6387         cleanenv() is no more.
6388         [518080514408]
6389
6390 2007-06-10  Todd C. Miller  <Todd.Miller@courtesan.com>
6391
6392         * ChangeLog:
6393         Display branch info in Changelog
6394         [44e3b27427c7]
6395
6396         * utimes.c:
6397         Include config.h early so we have it for TIME_WITH_SYS_TIME
6398         [4bf1a00d0703]
6399
6400         * ChangeLog:
6401         Fix Changelog generation and update.
6402         [6e960dbcbece]
6403
6404 2007-06-09  Todd C. Miller  <Todd.Miller@courtesan.com>
6405
6406         * closefrom.c:
6407         Use /proc/self/fd instead of /proc/$$/fd
6408
6409         Move old-style fd closing into closefrom_fallback() and call that if
6410         /proc/self/fd doesn't exist or the F_CLOSEM fcntl() fails
6411         [faa7e4810758]
6412
6413         * auth/kerb5.c, config.h.in, configure.in:
6414         o use krb5_verify_user() if available instead of doing it by hand o
6415         use krb5_init_secure_context() if we have it o pass an encryption
6416         type of 0 to krb5_kt_read_service_key() instead of
6417         ENCTYPE_DES_CBC_MD5 to let kerberos choose.
6418         [df7acf72bd7c]
6419
6420         * env.c:
6421         Check TERM and COLORTERM for '%' and '/' characters. From Debian.
6422         [f92d05197e40]
6423
6424         * configure.in:
6425         Fix closefrom() substitution in the Makefile
6426         [b642b13fcc5c]
6427
6428         * TROUBLESHOOTING:
6429         Mention alternate sudo pronunciation.
6430         [7c71dc73409f]
6431
6432 2007-06-07  Todd C. Miller  <Todd.Miller@courtesan.com>
6433
6434         * env.c:
6435         Remove KRB5_KTNAME from environment. Allow COLORTERM.
6436         [70f35a79f780]
6437
6438         * auth/kerb5.c:
6439         If we cannot get a valid service key using the default keytab it is
6440         a fatal error. Fixes a bug where sudo could be tricked into
6441         allowing access when it should not by a fake KDC. From Thor Lancelot
6442         Simon.
6443         [a3ae6a47cb23]
6444
6445 2007-05-12  Todd C. Miller  <Todd.Miller@courtesan.com>
6446
6447         * aclocal.m4, configure, configure.in:
6448         Update long long checks to use AC_CHECK_TYPES and to cache values.
6449         [047318eaaeb2]
6450
6451         * aclocal.m4, configure.in:
6452         Use AC_FUNC_FNMATCH instead of a homebrew fnmatch checker. We can't
6453         use AC_REPLACE_FNMATCH since that assumes replacing with GNU
6454         fnmatch.
6455         [80513a1003ea]
6456
6457 2007-05-11  Todd C. Miller  <Todd.Miller@courtesan.com>
6458
6459         * configure, configure.in:
6460         Add closefrom() to LIB_OBJS not SUDO_OBJS if it is missing since we
6461         need it for visudo now too.
6462         [50837c7c2b5e]
6463
6464 2007-04-24  Todd C. Miller  <Todd.Miller@courtesan.com>
6465
6466         * sudoers.pod:
6467         Attempt to clarify the bit talking about network numbers w/o
6468         netmasks.
6469         [211e68c1d034]
6470
6471         * sudo.pod:
6472         Clarify timestamp dir ownership sentence.
6473         [9178f132c7f7]
6474
6475 2007-04-20  Todd C. Miller  <Todd.Miller@courtesan.com>
6476
6477         * auth/pam.c:
6478         Linux PAM now defines __LINUX_PAM__, not __LIBPAM_VERSION. From
6479         Dmitry V. Levin.
6480         [81fce91667bc]
6481
6482 2007-04-16  Todd C. Miller  <Todd.Miller@courtesan.com>
6483
6484         * sudo.c:
6485         -i is also one of the mutually exclusive options to list it in the
6486         warning message. Noted by Chris Pepper.
6487         [7da73fb248e9]
6488
6489 2007-04-12  Todd C. Miller  <Todd.Miller@courtesan.com>
6490
6491         * visudo.pod:
6492         The sudoers variable is env_editor, not enveditor. From Jean-
6493         Francois Saucier.
6494         [2a86ec09a6db]
6495
6496 2007-03-29  Todd C. Miller  <Todd.Miller@courtesan.com>
6497
6498         * redblack.c:
6499         I tracked down the original author so credit him and include his
6500         license info.
6501         [3733553a1bba]
6502
6503 2007-02-06  Todd C. Miller  <Todd.Miller@courtesan.com>
6504
6505         * sudo.cat, sudo.man.in, sudo.pod, sudoers.cat, sudoers.man.in,
6506         sudoers.pod:
6507         Fix typos; from Jason McIntyre.
6508         [1ee4ce2512f2]
6509
6510         * logging.c:
6511         Restore signal mask before calling reapchild(). Fixes a possible
6512         race condition that could prevent sudo from properly waiting for the
6513         child.
6514         [9ee4192385dc]
6515
6516 2007-01-31  Todd C. Miller  <Todd.Miller@courtesan.com>
6517
6518         * pwutil.c:
6519         Don't declare pw_free() if we are not going to use it.
6520         [adb79a4289ca]
6521
6522         * env.c:
6523         Add NOEXEC support for AIX 5.3 which supports LDR_PRELOAD and
6524         LDR_PRELOAD64. The 64-bit version is not currently supported.
6525         Remove zero_env() prototype as it no longer exists.
6526         [b4fe65027fb6]
6527
6528 2006-12-11  Todd C. Miller  <Todd.Miller@courtesan.com>
6529
6530         * logging.c:
6531         Add "Auto-Submitted: auto-generated" line to sudo mail for rfc 3834.
6532         [78002ad90f7b]
6533
6534 2006-09-29  Todd C. Miller  <Todd.Miller@courtesan.com>
6535
6536         * auth/pam.c:
6537         If the user enters ^C at the password prompt, abort instead of
6538         trying to authenticate with an empty password (which causes an
6539         annoying delay).
6540         [da3f27b747c7]
6541
6542 2006-08-17  Todd C. Miller  <Todd.Miller@courtesan.com>
6543
6544         * closefrom.c, config.h.in, configure, configure.in:
6545         Add fcntl F_CLOSEM support to closefrom(); adapted from a diff by
6546         Darren Tucker.
6547         [0331b7780759]
6548
6549         * pwutil.c:
6550         pw_free() is only used by sudo_freepwcache() so ifdef it out too.
6551         [0014c0d9eeba]
6552
6553 2006-08-04  Todd C. Miller  <Todd.Miller@courtesan.com>
6554
6555         * config.guess, config.sub:
6556         Update to latest versions from cvs.savannah.gnu.org
6557         [aa0143101c20]
6558
6559 2006-07-31  Todd C. Miller  <Todd.Miller@courtesan.com>
6560
6561         * pwutil.c, sudo_edit.c:
6562         Move password/group cache cleaning out of sudo_end{pw,grp}ent() so
6563         we can close the passwd/group files early.
6564         [559074bd7eb7]
6565
6566         * config.h.in, configure, configure.in, set_perms.c:
6567         Add seteuid() flavor of set_perms() for systems without setreuid()
6568         or setresuid() that have a working seteuid(). Tested on Darwin.
6569         [508d8da99189]
6570
6571 2006-07-30  Todd C. Miller  <Todd.Miller@courtesan.com>
6572
6573         * mon_systrace.c:
6574         systrace_read() returns ssize_t
6575         [9f97d1d1a59d]
6576
6577         * configure, configure.in:
6578         Fix typo, -lldap vs. -ldap; from Tim Knox.
6579         [a8cc43c3bb2a]
6580
6581 2006-07-28  Todd C. Miller  <Todd.Miller@courtesan.com>
6582
6583         * HISTORY:
6584         Fix typo; Matt Ackeret
6585         [86964ee3dfbd]
6586
6587 2006-07-17  Todd C. Miller  <Todd.Miller@courtesan.com>
6588
6589         * sudo.c:
6590         Print sudoers path in -V mode for root.
6591         [dc43f2d75bd9]
6592
6593 2006-06-15  Todd C. Miller  <Todd.Miller@courtesan.com>
6594
6595         * ldap.c:
6596         Do a sub tree search instead of a base search (one level in the tree
6597         only) for sudo right objects. This allows system administrators to
6598         categorize the rights in a tree to make them easier to manage.
6599         [6d2d9abf996e]
6600
6601 2005-12-28  Todd C. Miller  <Todd.Miller@courtesan.com>
6602
6603         * sudo.pod:
6604         fix typo
6605         [1473413bcbda]
6606
6607 2005-12-04  Todd C. Miller  <Todd.Miller@courtesan.com>
6608
6609         * ldap.c:
6610         Convert GET_OPT and GET_OPTI to use just 2 args. Add timelimit and
6611         bind_timelimit support; adapted from gentoo.
6612         [afc816093026]
6613
6614 2005-11-23  Todd C. Miller  <Todd.Miller@courtesan.com>
6615
6616         * ldap.c:
6617         Support comments that start in the middle of a line
6618         [c25df6ee3db8]
6619
6620         * configure, configure.in:
6621         Define LDAP_DEPRECATED until we start using ldap_get_values_len()
6622         [ee249bfe230a]
6623
6624 2005-11-18  Todd C. Miller  <Todd.Miller@courtesan.com>
6625
6626         * closefrom.c:
6627         Silence gcc -Wsign-compare; djm@openbsd.org
6628         [28769ce6418d]
6629
6630         * error.c, sudo.c, sudo.h, testsudoers.c, visudo.c:
6631         cleanup() now takes an int as an arg so it can be used as a signal
6632         handler too.
6633         [2bb0df34d09c]
6634
6635         * sudo.c:
6636         Make a copy of the shell field in the passwd struct for NewArgv to
6637         avoid a use after free situation after sudo_endpwent() is called.
6638         [5dcc9ffd362e]
6639
6640 2005-11-17  Todd C. Miller  <Todd.Miller@courtesan.com>
6641
6642         * config.h.in, configure, configure.in:
6643         Add mkstemp() for those poor souls without it.
6644         [5fdd02e863e0]
6645
6646         * mkstemp.c:
6647         Add mkstemp() for those poor souls without it.
6648         [c99401207860]
6649
6650         * Makefile.in:
6651         Add mkstemp() for those poor souls without it.
6652         [9c1cf2678f24]
6653
6654 2005-11-15  Todd C. Miller  <Todd.Miller@courtesan.com>
6655
6656         * env.c:
6657         Add PERL5DB to list of environment variables to remove.
6658         [7375c27ecf75]
6659
6660 2005-11-13  Todd C. Miller  <Todd.Miller@courtesan.com>
6661
6662         * mon_systrace.c, mon_systrace.h:
6663         Instead of calling the check function twice with a state cookie use
6664         separate check/log functions.
6665
6666         Check more ioctl() calls for failure.
6667
6668         systrace_{read,write} now return the number of bytes read/written or
6669         -1 on error.
6670         [3dc8946d90e9]
6671
6672         * env.c:
6673         Add more environment variables to remove; from gentoo linux Add some
6674         comments about what bad env variables go to what (more to do)
6675         [6918110a6b82]
6676
6677 2005-11-11  Todd C. Miller  <Todd.Miller@courtesan.com>
6678
6679         * sudo.c, sudo_edit.c:
6680         Move sudo_end{gr,pw}ent() until just before the exec since they free
6681         up our cached copy of the passwd structs, including sudo_user and
6682         sudo_runas. Fixes a use-after-free bug.
6683         [54de3778bad0]
6684
6685         * visudo.c:
6686         Close all fd's before executing editor.
6687         [4fcc05e1bec8]
6688
6689         * sudo.c:
6690         Enable malloc debugging on OpenBSD when SUDO_DEVEL is set.
6691         [ef0e8ffa5c9f]
6692
6693         * check.c:
6694         Fix fd leak when lecture file option is enabled. From Jerry Brown
6695         [ce97f9207cd8]
6696
6697 2005-11-07  Todd C. Miller  <Todd.Miller@courtesan.com>
6698
6699         * env.c:
6700         Add PERLLIB, PERL5LIB and PERL5OPT to the default list of
6701         environment variables to remove. From Charles Morris
6702         [c96e1367d1c1]
6703
6704 2005-11-01  Todd C. Miller  <Todd.Miller@courtesan.com>
6705
6706         * env.c:
6707         add JAVA_TOOL_OPTIONS to initial_badenv_table for java 5
6708         [72a6a1571226]
6709
6710 2005-10-28  Todd C. Miller  <Todd.Miller@courtesan.com>
6711
6712         * env.c:
6713         add PS4 and SHELLOPTS to initial_badenv_table for bash
6714         [89dfb3f318f3]
6715
6716 2005-08-15  Todd C. Miller  <Todd.Miller@courtesan.com>
6717
6718         * sudoers.pod:
6719         Fix typo; Toby Peterson
6720         [b7a3222b23f4]
6721
6722 2005-08-02  Todd C. Miller  <Todd.Miller@courtesan.com>
6723
6724         * tsgetgrpw.c:
6725         Make return buffers static so they don't get clobbered
6726         [13323a39b9f5]
6727
6728 2005-07-28  Todd C. Miller  <Todd.Miller@courtesan.com>
6729
6730         * auth/securid5.c:
6731         Fix securid5 authentication, was not checking for ACM_OK. Also add
6732         default cases for the two switch()es. Problem noted by ccon at
6733         worldbank
6734         [14091e418333]
6735
6736 2005-06-27  Todd C. Miller  <Todd.Miller@courtesan.com>
6737
6738         * ldap.c:
6739         Remove ncat() in favor of just counting bytes and pre-allocating
6740         what is needed.
6741         [25b8712adb61]
6742
6743 2005-06-26  Todd C. Miller  <Todd.Miller@courtesan.com>
6744
6745         * ldap.c:
6746         Fix up some comments Add missing fclose() for the rootbinddn case
6747         [ae95c8a89711]
6748
6749         * ldap.c:
6750         align struct ldap_config
6751         [35d0d64c76f8]
6752
6753         * ldap.c:
6754         use LINE_MAX for max conf file line size
6755         [da116cb8853d]
6756
6757         * pathnames.h.in:
6758         add _PATH_LDAP_SECRET
6759         [128b04ecfab7]
6760
6761         * README.LDAP:
6762         Mention rootbinddn Give example ou=SUDOers container
6763         [852edc69bd1c]
6764
6765 2005-06-25  Todd C. Miller  <Todd.Miller@courtesan.com>
6766
6767         * INSTALL, configure, configure.in, ldap.c:
6768         Support rootbinddn in ldap.conf
6769         [1615c91522a1]
6770
6771         * env.c, sudo.pod, sudoers.pod:
6772         Preserve DISPLAY environment variable by default.
6773         [05f503d5f438]
6774
6775         * acsite.m4, configure:
6776         set need_lib_prefix=no for all cases; this is safe for LD_PRELOAD
6777         [18a04dea8d05]
6778
6779         * acsite.m4, configure:
6780         set need_version=no for all cases; this is safe for LD_PRELOAD
6781         [b542560e1a73]
6782
6783         * aclocal.m4:
6784         typo
6785         [c040df0fcd5a]
6786
6787         * configure, configure.in:
6788         Add dragonfly
6789         [f13794618636]
6790
6791         * auth/pam.c:
6792         Fix call to pam_end() when pam_open_session() fails.
6793         [0be47cdfdef1]
6794
6795         * configure:
6796         regen
6797         [7f5c13b4b800]
6798
6799         * acsite.m4:
6800         rebuild acsite.m4 from libtool 1.9f libtool.m4 ltoptions.m4
6801         ltsugar.m4 ltversion.m4
6802         [a7ba9fd1a2ab]
6803
6804         * config.guess, config.sub, ltmain.sh:
6805         merge in local changes: config.guess: o better openbsd support
6806         config.sub: o hiuxmpp support ltmain.sh o remove requirement that
6807         libs must begin with "lib" o don't print a bunch of crap about
6808         library installs o don't run ldconfig
6809         [f4149f2c720f]
6810
6811         * config.guess, config.sub, ltmain.sh:
6812         libtool 1.9f
6813         [82a534e7121f]
6814
6815         * configure.in:
6816         Update with autoupdate and make minor changes for libtool 1.9f
6817         [11b5ae5c1428]
6818
6819 2005-06-23  Todd C. Miller  <Todd.Miller@courtesan.com>
6820
6821         * parse.c:
6822         don't call sudo_ldap_display_cmnd if ldap not setup
6823         [8bcf6c094ffe]
6824
6825         * sudo_edit.c, visudo.c:
6826         Move declatation of struct timespec to its own include files for
6827         systems without it since it needs time_t defined.
6828         [b95c333299a0]
6829
6830         * gettime.c:
6831         Move declatation of struct timespec to its own include files for
6832         systems without it since it needs time_t defined.
6833         [021b4569cc0c]
6834
6835         * fileops.c:
6836         Move declatation of struct timespec to its own include files for
6837         systems without it since it needs time_t defined.
6838         [dd8573b2ee7d]
6839
6840         * emul/timespec.h:
6841         Move declatation of struct timespec to its own include files for
6842         systems without it since it needs time_t defined.
6843         [f95137771564]
6844
6845         * check.c, compat.h:
6846         Move declatation of struct timespec to its own include files for
6847         systems without it since it needs time_t defined.
6848         [2ef2ace8fe85]
6849
6850         * ldap.c:
6851         Don't set safe_cmnd for the "sudo ALL" case.
6852         [ad7fa9e07da0]
6853
6854 2005-05-27  Todd C. Miller  <Todd.Miller@courtesan.com>
6855
6856         * auth/pam.c:
6857         Call pam_open_session() and pam_close_session() to give pam_limits a
6858         chance to run. Idea from Karel Zak.
6859         [fed46d471350]
6860
6861 2005-04-24  Todd C. Miller  <Todd.Miller@courtesan.com>
6862
6863         * check.c, sudo.c:
6864         Add explicit cast from mode_t -> u_int in printf to silence warnings
6865         on Solaris
6866         [17bb961fe22d]
6867
6868         * parse.c:
6869         include grp.h to silence a warning on Solaris
6870         [14386fbab640]
6871
6872 2005-04-23  Todd C. Miller  <Todd.Miller@courtesan.com>
6873
6874         * parse.c:
6875         Fix printing of += and -= defaults.
6876         [a667604c56cd]
6877
6878 2005-04-17  Todd C. Miller  <Todd.Miller@courtesan.com>
6879
6880         * mon_systrace.c:
6881         Sanity check number of syscall args with argsize. Not really needed
6882         but a little paranoia never hurts.
6883         [6bb455a2c2d6]
6884
6885         * mon_systrace.c, mon_systrace.h:
6886         Don't do pointer arithmetic on void * Use int, not size_t/ssize_t
6887         for systrace lengths (since it uses int)
6888         [3cafccffcffd]
6889
6890 2005-04-16  Todd C. Miller  <Todd.Miller@courtesan.com>
6891
6892         * mon_systrace.c:
6893         Add some memsets for paranoia Fix namespace collsion w/ error Check
6894         rval of decode_args() and update_env() Remove improper setting of
6895         validated variable
6896         [3d385158354d]
6897
6898 2005-04-12  Todd C. Miller  <Todd.Miller@courtesan.com>
6899
6900         * parse.c, sudo.c, sudo.h:
6901         In -l mode, only check local sudoers file if def_ignore_sudoers is
6902         not set and call LDAP versions from display_privs() and
6903         display_cmnd() instead of directly from main(). Because of this we
6904         need to defer closing the ldap connection until after -l processing
6905         has ocurred and we must pass in the ldap pointer to display_privs()
6906         and display_cmnd().
6907         [1dfc2e8c9f2b]
6908
6909         * ldap.c:
6910         Reorganize LDAP code to better match normal sudoers parsing.
6911         Instead of storing strings for later printing in -l mode we do
6912         another query since the authenticating user and the user being
6913         listed may not be the same (the new -U flag). Also add support for
6914         "sudo -l command".
6915
6916         There is still a fair bit if duplicated code that can probably be
6917         refactored.
6918         [e9568f19bde5]
6919
6920 2005-04-11  Todd C. Miller  <Todd.Miller@courtesan.com>
6921
6922         * ldap.c:
6923         Replace pass variable with do_netgr for better readability.
6924         [1bba841b6e79]
6925
6926         * ldap.c:
6927         use DPRINTF macro
6928         [02b159b66bb5]
6929
6930         * ldap.c:
6931         estrdup, not strdup
6932         [22cdee7973c1]
6933
6934 2005-04-10  Todd C. Miller  <Todd.Miller@courtesan.com>
6935
6936         * parse.c:
6937         Add macro to test if the tag changed to improve readability.
6938         [4e11b4819556]
6939
6940         * parse.c:
6941         Avoid printing defaults header if there are no defaults to print...
6942         [41a28627df03]
6943
6944         * glob.c:
6945         Fix a warning on systems without strlcpy().
6946         [6814e0f0e4f4]
6947
6948         * pwutil.c:
6949         Use macros where possible for sudo_grdup() like sudo_pwdup().
6950         [30f201ff35cd]
6951
6952 2005-04-08  Todd C. Miller  <Todd.Miller@courtesan.com>
6953
6954         * utimes.c:
6955         It is possible for tv_usec to hold >= 1000000 usecs so add in
6956         tv_usec / 1000000.
6957         [794ac4d53a65]
6958
6959 2005-03-30  Todd C. Miller  <Todd.Miller@courtesan.com>
6960
6961         * auth/kerb5.c:
6962         The component in krb5_principal_get_comp_string() should be 1, not 0
6963         for Heimdal. From Alex Plotnick.
6964         [fefa351c5044]
6965
6966 2005-03-29  Todd C. Miller  <Todd.Miller@courtesan.com>
6967
6968         * alias.c, alloc.c, check.c, defaults.c, find_path.c, gram.c, gram.y,
6969         interfaces.c, ldap.c, logging.c, match.c, mon_systrace.c, pwutil.c,
6970         redblack.c, sudo.c, sudo.h, toke.c, toke.l, visudo.c:
6971         Add efree() for consistency with emalloc() et al. Allows us to rely
6972         on C89 behavior (free(NULL) is valid) even on K&R.
6973         [7876bb80d87c]
6974
6975         * parse.c, sudo.c:
6976         Move initgroups() for -U option into display_privs() so group
6977         matching in sudoers works correctly.
6978         [b074428ad2ca]
6979
6980 2005-03-27  Todd C. Miller  <Todd.Miller@courtesan.com>
6981
6982         * ldap.c:
6983         Removed duplicate call to ldap_unbind_s introduced along with
6984         sudo_ldap_close.
6985         [19acc1c20f7c]
6986
6987         * parse.c:
6988         Add missing space in Defaults printing
6989         [95d2935bf6d4]
6990
6991 2005-03-25  Todd C. Miller  <Todd.Miller@courtesan.com>
6992
6993         * pwutil.c:
6994         Sync sudo_pwdup with OpenBSD changes: use macros for size computaton
6995         and string copies.
6996         [6b6b241495e5]
6997
6998 2005-03-19  Todd C. Miller  <Todd.Miller@courtesan.com>
6999
7000         * pwutil.c:
7001         Zero old pw_passwd before replacing with version from shadow file.
7002         [3251b349dfe1]
7003
7004         * configure, configure.in:
7005         Only attempt shadow password detection if PAM is not being used Add
7006         shadow_* variables to make shadow password detection more generic.
7007         [d498a3423ac9]
7008
7009         * configure.in:
7010         Use OSDEFS for os-specific -D_FOO_BAR stuff rather than CPPFLAGS
7011         [04d55bbd5e35]
7012
7013 2005-03-13  Todd C. Miller  <Todd.Miller@courtesan.com>
7014
7015         * sudoers.pod:
7016         use a non-breaking space to avoid a double space after e.g.
7017         [11cdb54bdf7b]
7018
7019         * sudo.pod:
7020         commna, not colon after e.g.
7021         [8d5875ff72e0]
7022
7023 2005-03-12  Todd C. Miller  <Todd.Miller@courtesan.com>
7024
7025         * sudo_noexec.c:
7026         Add __ variants of the exec functions. GNU libc at least uses
7027         __execve() internally.
7028         [d1880473d790]
7029
7030         * indent.pro:
7031         Match reality a bit more.
7032         [633e3fa875a7]
7033
7034         * pwutil.c:
7035         Missed piece from rev. 1.6, fix sudo_getpwnam() too.
7036         [128f7b21c2ee]
7037
7038         * pwutil.c:
7039         Store shadow password after making a local copy of struct passwd in
7040         case normal and shadow routines use the same internal buffer in
7041         libc.
7042         [f806052a6ffc]
7043
7044 2005-03-11  Todd C. Miller  <Todd.Miller@courtesan.com>
7045
7046         * alloc.c, logging.c:
7047         Make varargs usage consistent with the rest of the code.
7048         [3d45affc9851]
7049
7050 2005-03-10  Todd C. Miller  <Todd.Miller@courtesan.com>
7051
7052         * sudo_noexec.c:
7053         Wrap more of the exec family since on Linux the others do not appear
7054         to go through the normal execve() path.
7055         [8167769b4e19]
7056
7057         * visudo.c:
7058         make print_unused static like proto says
7059         [ecf10e1bae55]
7060
7061         * glob.c:
7062         silence a warning on K&R systems
7063         [2e00425f1a5c]
7064
7065         * alias.c, error.c:
7066         make this build in K&R land
7067         [156f65f8525a]
7068
7069         * parse.c:
7070         make this build in K&R land
7071         [6fc9276889cb]
7072
7073 2005-03-08  Todd C. Miller  <Todd.Miller@courtesan.com>
7074
7075         * toke.c:
7076         regen
7077         [3b349748cd21]
7078
7079 2005-03-06  Todd C. Miller  <Todd.Miller@courtesan.com>
7080
7081         * ldap.c:
7082         return(foo) not return foo optimize _atobool() slightly
7083         [11d09d154ed5]
7084
7085         * ldap.c:
7086         Use TRUE/FALSE
7087         [53999320d98f]
7088
7089         * ldap.c:
7090         Reformat to match the rest of sudo's code.
7091         [1bd0f2afa0e7]
7092
7093         * sudo.pod:
7094         I am the primary author
7095         [5d311ecd85c6]
7096
7097 2005-02-23  Todd C. Miller  <Todd.Miller@courtesan.com>
7098
7099         * Makefile.in, README, RUNSON:
7100         The RUNSON file is toast--it confused too many people and really
7101         isn't needed in a configure-oriented world.
7102         [96a6ef7bbc08]
7103
7104         * INSTALL:
7105         alternate -> alternative
7106         [b65015c5d0a2]
7107
7108         * tgetpass.c:
7109         Use TCSADRAIN instead of TCSAFLUSH since some OSes have issues with
7110         TCSAFLUSH.
7111         [c66b4763ffdc]
7112
7113         * toke.l:
7114         Allow leading blanks before Defaults and Foo_Alias definitions
7115         [2add513d9277]
7116
7117         * Makefile.in:
7118         fix rules to build toke.o and gram.o in devel mode
7119         [96cbb414ebd3]
7120
7121 2005-02-20  Todd C. Miller  <Todd.Miller@courtesan.com>
7122
7123         * sudoers.pod:
7124         env_keep overrides set_logname
7125         [401877193a15]
7126
7127         * env.c:
7128         Fix disabling set_logname and make env_keep override set_logname.
7129         [0906e7a5ed93]
7130
7131         * compat.h, config.h.in, configure, configure.in:
7132         No longer need memmove()
7133         [43bdb6efe3f2]
7134
7135         * env.c, sudo.c:
7136         Just clean the environment once. This assumes that any further
7137         setenv/putenv will be able to handle the fact that we replaced
7138         environ with our own malloc'd copy but all the implementations I've
7139         checked do.
7140         [11658fe92ba2]
7141
7142 2005-02-16  Todd C. Miller  <Todd.Miller@courtesan.com>
7143
7144         * env.c, sudo.c:
7145         In -i mode, base the value of insert_env()'s dupcheck flag on
7146         DID_FOO flags. Move checks for $HOME resetting into rebuild_env()
7147         [8365b0bd0c71]
7148
7149 2005-02-13  Todd C. Miller  <Todd.Miller@courtesan.com>
7150
7151         * env.c, sudo.c:
7152         Move setting of user_path, user_shell, user_prompt and prev_user
7153         into init_vars() since user_shell at least is needed there.
7154         [37e22dce66e9]
7155
7156 2005-02-12  Todd C. Miller  <Todd.Miller@courtesan.com>
7157
7158         * Makefile.in:
7159         fix devel builds
7160         [9fbb15ef164c]
7161
7162         * sudo.c:
7163         Fix some printf format mismatches on error.
7164         [ffc1c3f11740]
7165
7166         * check.c:
7167         Fix some printf format mismatches on error.
7168         [7b3b508adf50]
7169
7170         * configure, gram.c, toke.c:
7171         regen
7172         [aa76f9d8b02a]
7173
7174         * Makefile.in, aclocal.m4, alias.c, alloc.c, auth/afs.c,
7175         auth/aix_auth.c, auth/bsdauth.c, auth/dce.c, auth/fwtk.c,
7176         auth/kerb4.c, auth/kerb5.c, auth/pam.c, auth/passwd.c,
7177         auth/rfc1938.c, auth/secureware.c, auth/securid.c, auth/securid5.c,
7178         auth/sia.c, auth/sudo_auth.c, auth/sudo_auth.h, check.c,
7179         closefrom.c, compat.h, configure.in, defaults.c, defaults.h,
7180         emul/utime.h, env.c, error.c, fileops.c, find_path.c, getprogname.c,
7181         getspwuid.c, gettime.c, goodpath.c, gram.y, interfaces.c,
7182         interfaces.h, ldap.c, logging.c, logging.h, match.c, mon_systrace.c,
7183         parse.c, redblack.c, redblack.h, set_perms.c, sigaction.c,
7184         snprintf.c, strcasecmp.c, strerror.c, strlcat.c, strlcpy.c, sudo.c,
7185         sudo.h, sudo.pod, sudo_edit.c, sudo_noexec.c, sudoers.pod,
7186         testsudoers.c, tgetpass.c, toke.l, utimes.c, version.h, visudo.c,
7187         visudo.pod, zero_bytes.c:
7188         Update copyright years.
7189         [0610c3654739]
7190
7191         * Makefile.binary.in:
7192         Update copyright years.
7193         [d78ffc9f2e2b]
7194
7195         * LICENSE:
7196         Update copyright years.
7197         [f60473bca4b1]
7198
7199         * BUGS, INSTALL, INSTALL.binary, Makefile.in, README, configure.in:
7200         version 1.7
7201         [aa977a544ca1]
7202
7203         * WHATSNEW:
7204         What's new in sudo 1.7, based on the 1.7 CHANGES entries.
7205         [ecfcf7269c14]
7206
7207 2005-02-11  Todd C. Miller  <Todd.Miller@courtesan.com>
7208
7209         * compat.h, logging.h, sudo.h:
7210         Add __printflike and use it with gcc to warn about printf-like
7211         format mismatches
7212         [b192ad4a0548]
7213
7214 2005-02-10  Todd C. Miller  <Todd.Miller@courtesan.com>
7215
7216         * CHANGES, ChangeLog:
7217         Replaced CHANGES file with ChangeLog generated from cvs logs
7218         [d9ace9dab98f]
7219
7220         * set_perms.c:
7221         Use warning/error instead of perror/fatal.
7222         [e33259df7738]
7223
7224         * config.guess:
7225         Update OpenBSD section
7226         [9d2c23de6801]
7227
7228         * UPGRADE:
7229         Add upgrading noted for 1.7
7230         [1fb6b6d6df07]
7231
7232         * env.c, sudo.c, sudoers.pod:
7233         Instead of zeroing out the environment, just prune out entries based
7234         on the env_delete and env_check lists. Base building up the new
7235         environment on the current environment and the variables we removed
7236         initially.
7237         [fc192df8fd15]
7238
7239         * config.h.in, configure, configure.in, sudo.c:
7240         Set locale to "C" if locales are supported, just to be safe.
7241         [91fbaa98f02e]
7242
7243         * toke.c, toke.l:
7244         Cast?argument to ctype functions to unsigned char.
7245         [e096b4d65796]
7246
7247 2005-02-08  Todd C. Miller  <Todd.Miller@courtesan.com>
7248
7249         * env.c:
7250         correct value for DID_USER
7251         [b5b05d36ec15]
7252
7253         * error.c, fnmatch.c, getcwd.c, glob.c, snprintf.c:
7254         #include <compat.h> not "compat.h"
7255         [7a0ad9a0ccd7]
7256
7257         * defaults.c:
7258         Reset the environment by default.
7259         [4ecc6423e0f0]
7260
7261         * sudo.c:
7262         Alloc an extra slot in NewArgv. Removes the need to malloc an new
7263         vector if execve() fails.
7264         [83dfb6f584a7]
7265
7266 2005-02-07  Todd C. Miller  <Todd.Miller@courtesan.com>
7267
7268         * INSTALL, config.h.in, configure, configure.in, sudo.c:
7269         Use execve(2) and wrap the command in sh if we get ENOEXEC.
7270         [c0c6af4e2a21]
7271
7272 2005-02-06  Todd C. Miller  <Todd.Miller@courtesan.com>
7273
7274         * sudo_noexec.c:
7275         Only include time.h on systems that lack struct timespec which gets
7276         defind in compat.h (using time_t).
7277         [e373e518b4cb]
7278
7279         * sudo_noexec.c:
7280         Include time.h for time_t in compat.h for systems w/o struct
7281         timespec.
7282         [a34b5637e458]
7283
7284         * compat.h, config.h.in, configure, configure.in:
7285         use bcopy on systems w/o memmove
7286         [f835eafd78c6]
7287
7288         * compat.h:
7289         __attribute__((__unused__)) doesn't work in gcc 2.7.2.1 so limit its
7290         use to gcc >= 2.8.
7291         [1cb9a4e58566]
7292
7293         * Makefile.in:
7294         Add explicit rule to build sudo_noexec.lo
7295         [df1dfcf8dd77]
7296
7297 2005-02-05  Todd C. Miller  <Todd.Miller@courtesan.com>
7298
7299         * INSTALL.configure, Makefile.in:
7300         No longer depend on VPATH; pointed out a bunch of missed
7301         dependencies.
7302         [601a45d4af6b]
7303
7304         * TROUBLESHOOTING:
7305         Help for PAM when account section is missing
7306         [9b8221256756]
7307
7308         * auth/pam.c:
7309         Give user a clue when there is a missing "account" section in the
7310         PAM config.
7311         [2529625c0495]
7312
7313         * auth/pam.c:
7314         Better error handling.
7315         [518c9bda23d8]
7316
7317         * config.h.in, configure, configure.in:
7318         Move _FOO_SOURCE to CPPFLAGS so it takes effect as early as
7319         possible. Silences a warning about isblank() on linux.
7320         [19c94d7ecdc8]
7321
7322         * auth/pam.c:
7323         Fix typo (missing comma) that caused an incorrect number of args to
7324         be passed to log_error().
7325         [0099dfec560f]
7326
7327 2005-02-01  Todd C. Miller  <Todd.Miller@courtesan.com>
7328
7329         * pwutil.c:
7330         Don't try to destroy a tree we didn't create.
7331         [d43c4fe03aa4]
7332
7333 2005-01-27  Todd C. Miller  <Todd.Miller@courtesan.com>
7334
7335         * alias.c, alloc.c, auth/afs.c, auth/aix_auth.c, auth/bsdauth.c,
7336         auth/dce.c, auth/fwtk.c, auth/kerb4.c, auth/kerb5.c, auth/pam.c,
7337         auth/passwd.c, auth/rfc1938.c, auth/secureware.c, auth/securid.c,
7338         auth/securid5.c, auth/sia.c, auth/sudo_auth.c, check.c, closefrom.c,
7339         compat.h, defaults.c, env.c, error.c, fileops.c, find_path.c,
7340         fnmatch.c, getcwd.c, getprogname.c, getspwuid.c, gettime.c,
7341         goodpath.c, gram.c, gram.y, interfaces.c, ldap.c, logging.c,
7342         match.c, mon_systrace.c, parse.c, pwutil.c, set_perms.c,
7343         sigaction.c, snprintf.c, strcasecmp.c, strerror.c, strlcat.c,
7344         strlcpy.c, sudo.c, sudo_edit.c, sudo_noexec.c, testsudoers.c,
7345         tgetpass.c, toke.c, toke.l, utimes.c, visudo.c, zero_bytes.c:
7346         Add __unused to rcsids
7347         [ad6b4ac45705]
7348
7349 2005-01-21  Todd C. Miller  <Todd.Miller@courtesan.com>
7350
7351         * configure, configure.in:
7352         Fix error message when mixing invalid auth types
7353         [68069b3ff5bc]
7354
7355         * INSTALL:
7356         PAM, AIX auth, BSD auth and login_cap are now on by default if the
7357         OS supports them.
7358         [4e44e9098cf0]
7359
7360         * auth/sudo_auth.h, config.h.in:
7361         s/HAVE_AUTHENTICATE/HAVE_AIXAUTH/g
7362         [2d569b43b23e]
7363
7364         * configure.in:
7365         Better checking for conflicting authentication methods Display the
7366         authentication methods used at the end of configure Rename --with-
7367         authenticate -> --with-aixauth Use --with-aixauth, --with-bsdauth,
7368         --with-pam, --with-logincap by default on systems that support them
7369         unless disabled. Add OSMAJOR variable that replaces old OSREV; now
7370         OSREV has full version number
7371         [a21115b6fe9f]
7372
7373 2005-01-18  Todd C. Miller  <Todd.Miller@courtesan.com>
7374
7375         * def_data.c, def_data.in, sudo.c, sudoers.pod:
7376         s/-O/-C/
7377         [ee73f1b81923]
7378
7379 2005-01-14  Todd C. Miller  <Todd.Miller@courtesan.com>
7380
7381         * configure.in:
7382         Replace: test -n "$FOO" || FOO="bar"
7383
7384         With: : ${FOO='bar'}
7385         [37552d9054fc]
7386
7387 2005-01-09  Todd C. Miller  <Todd.Miller@courtesan.com>
7388
7389         * pwutil.c, testsudoers.c, tsgetgrpw.c:
7390         Use function pointers to only call private passwd/group routines
7391         when using a nonstandard passwd/group file.
7392         [215908681dfb]
7393
7394 2005-01-06  Todd C. Miller  <Todd.Miller@courtesan.com>
7395
7396         * CHANGES:
7397         sync
7398         [2e55c03f5790]
7399
7400         * tsgetgrpw.c:
7401         Can't use strtok() since it doesn't handle empty fields so add
7402         getpwent()/getgrent() functions and call those.
7403         [bdaa5b0db70e]
7404
7405 2005-01-05  Todd C. Miller  <Todd.Miller@courtesan.com>
7406
7407         * Makefile.in:
7408         Fix dummied out toke.c and gram.c dependencies.
7409         [4b909c8b2ebe]
7410
7411         * Makefile.in:
7412         Rename PARSESRCS -> GENERATED since it is only used in the clean
7413         target Add devdir variable and use it to specify the path to parser
7414         sources
7415         [f27b3f41ca23]
7416
7417         * configure:
7418         regen
7419         [22c6435dbd46]
7420
7421         * configure.in:
7422         Add a devdir variables that defaults to $(srcdir) and is set to . if
7423         --devel was specified. Allows for proper dependecies building the
7424         parser.
7425         [a36d694c6d21]
7426
7427         * testsudoers.c:
7428         Add support for custom passwd/group files.
7429         [296549ff4b87]
7430
7431         * Makefile.in:
7432         Build private copy of pwutil.o for testsudoers with MYPW defined so
7433         it uses our own passwd/group routines.
7434         [bafa54ec78ca]
7435
7436         * visudo.c:
7437         Remove sudo_*{pw,gr}* stubs and add sudo_setspent/sudo_endspent
7438         stubs instead. We can now just use the caching sudo_*{pw,gr}*
7439         functions in pwutil.c Add comment about wanting to call
7440         sudo_endpwent/sudo_endgrent in cleanup()
7441         [7e59d6b5510d]
7442
7443         * tsgetgrpw.c:
7444         Remove caching; we will just use what is in pwutil.c Use global
7445         buffers for passwd/group structs Rename functions from sudo_* to
7446         my_*
7447         [8c1e068f574c]
7448
7449         * logging.c, sudo.c:
7450         g/c pwcache_init/pwcache_destroy
7451         [60a24909b947]
7452
7453         * sudo.h:
7454         Undo last commit and add sudo_setspent and sudo_endspent instead.
7455         [bac80db08296]
7456
7457         * getspwuid.c, pwutil.c:
7458         Move all but the shadow stuff from getspwuid.c to pwutil.c and
7459         pwcache_get and pwcache_put as they are no longer needed. Also add
7460         preprocessor magic to use private versions of the passwd and group
7461         routines if MYPW is defined (for use by testsudoers).
7462         [a16b8678a426]
7463
7464         * tsgetgrpw.c:
7465         zero out struct passwd/group before filling it in so if there are
7466         fields we don't handle they end up as 0.
7467         [274cb6a93301]
7468
7469         * logging.c, sudo.c, sudo.h, testsudoers.c, visudo.c:
7470         Adapt to pwutil.c
7471         [43ebd04c8b82]
7472
7473         * Makefile.in:
7474         Add tsgetgrpw.c and pwutil.c Rename the *OBJ variables for better
7475         readability.
7476         [7f88c6061e2d]
7477
7478         * tsgetgrpw.c:
7479         Passwd and group lookup routines for testsudoers that support
7480         alternate passwd and group files.
7481         [d7803101d34e]
7482
7483         * getspwuid.c, pwutil.c:
7484         Split off pw/gr cache and dup code into its own file. This allows
7485         visudo and testsudoers to use the pw/gr cache too.
7486         [ef333d3ffedf]
7487
7488 2005-01-02  Todd C. Miller  <Todd.Miller@courtesan.com>
7489
7490         * parse.c:
7491         Print Defaults info in "sudo -l" output and wrap lines based on the
7492         terminal width.
7493         [e559eae4250e]
7494
7495 2005-01-01  Todd C. Miller  <Todd.Miller@courtesan.com>
7496
7497         * match.c, testsudoers.c, visudo.c:
7498         Only check group vector in usergr_matches() if we are matching the
7499         invoking or list user. Always check the group members, even if
7500         there was a group vector.
7501         [d0c7ceb2a041]
7502
7503 2004-12-17  Todd C. Miller  <Todd.Miller@courtesan.com>
7504
7505         * LICENSE, Makefile.in, fnmatch.3:
7506         No longer bundle fnmatch.3
7507         [72db4a4ff4e1]
7508
7509         * CHANGES, TODO:
7510         checkpoint
7511         [e92781bfd99c]
7512
7513 2004-12-16  Todd C. Miller  <Todd.Miller@courtesan.com>
7514
7515         * sudo.c:
7516         sort usage
7517         [15e3b876ec2c]
7518
7519         * sudo.pod:
7520         Sort command line options
7521         [c1fa56584bc4]
7522
7523         * def_data.c, def_data.h, def_data.in, defaults.c, logging.c, sudo.c,
7524         sudo.pod, sudoers.pod:
7525         Add closefrom sudoers option to start closing at a point other than
7526         3. Add closefrom_override sudoers option and -C sudo flag to allow
7527         the user to specify a different closefrom starting point.
7528         [370652b099d1]
7529
7530         * pathnames.h.in:
7531         Add _PATH_DEVNULL for those without it.
7532         [0c4c3e0ceb8b]
7533
7534         * LICENSE:
7535         no more UCB strcasecmp
7536         [397a6298e07f]
7537
7538         * strcasecmp.c:
7539         replace BSD licensed one with version derived from pdksh
7540         [d7cfda8c57a2]
7541
7542 2004-12-10  Todd C. Miller  <Todd.Miller@courtesan.com>
7543
7544         * sudo.c:
7545         Fix last commit.
7546         [7afb9a180532]
7547
7548         * sudo.c:
7549         Make sure stdin, stdout and stderr are open and dup them to
7550         /dev/null if not.
7551         [590f387068bd]
7552
7553 2004-12-03  Todd C. Miller  <Todd.Miller@courtesan.com>
7554
7555         * ldap.c, mon_systrace.c, sudo.c, sudo.h:
7556         add sudo_ldap_close
7557         [4273a36765a7]
7558
7559         * fileops.c, gettime.c, sudo.c, sudo_edit.c, utimes.c, visudo.c:
7560         Use TIME_WITH_SYS_TIME
7561         [c32b59bf15fb]
7562
7563         * config.h.in, configure, configure.in:
7564         Add TIME_WITH_SYS_TIME_H
7565         [57cb146f451d]
7566
7567 2004-12-02  Todd C. Miller  <Todd.Miller@courtesan.com>
7568
7569         * env.c:
7570         Add missing braces to avoid DYLD_FORCE_FLAT_NAMESPACE being set
7571         unconditionally on darwin. From Toby Peterson.
7572         [d69959681c87]
7573
7574         * getspwuid.c:
7575         Check rbinsert() return value. In the case of faked up entries
7576         there is usually a negative response cached that we need to
7577         overwrite.
7578
7579         In pwfree() don't try to zero out a NULL pw_passwd pointer.
7580         [00b32d1a48c1]
7581
7582         * mon_systrace.c:
7583         Use the double fork trick to avoid the monitor process being waited
7584         for by the main program run through sudo.
7585         [e0ce556712ff]
7586
7587 2004-11-29  Todd C. Miller  <Todd.Miller@courtesan.com>
7588
7589         * sudo.c:
7590         Call initgroups() in -U mode so group matches work normally.
7591         [2235bea15283]
7592
7593         * def_data.h, mkdefaults:
7594         Don't print a trailing comma for the last entry in enum def_tupple
7595         [c43a96bb31df]
7596
7597 2004-11-28  Todd C. Miller  <Todd.Miller@courtesan.com>
7598
7599         * sudoers.cat, sudoers.man.in, sudoers.pod:
7600         Mention values when lecture, listpw and verifypw are used in boolean
7601         context.
7602         [a0b5c0abaccf]
7603
7604         * def_data.c, def_data.in:
7605         verifypw when used in a boolean TRUE context should be "all", not
7606         "any".
7607         [2eb076ddd5e2]
7608
7609 2004-11-26  Todd C. Miller  <Todd.Miller@courtesan.com>
7610
7611         * def_data.in, defaults.c:
7612         Allow tuples that can be used as booleans to be used as boolean
7613         TRUE. In this case the 2nd possible value of the tuple is used for
7614         TRUE.
7615         [bd99aa77e88b]
7616
7617 2004-11-25  Todd C. Miller  <Todd.Miller@courtesan.com>
7618
7619         * configure, configure.in:
7620         Correct the test for 2-parameter timespecsub
7621         [d41c9cb26b97]
7622
7623         * sudo.h:
7624         Add strub struct definitions for passwd, timeval and timespec
7625         [c4ce5c43d8c5]
7626
7627         * config.h.in, configure, configure.in, sudo_edit.c, visudo.c:
7628         Add check for 2-argument form of timespecsub (FreeBSD and BSD/OS)
7629         and fix a typo in the gettimeofday check.
7630         [8ac9893057ce]
7631
7632 2004-11-24  Todd C. Miller  <Todd.Miller@courtesan.com>
7633
7634         * match.c, testsudoers.c:
7635         Deal with user_stat being NULL as it is for visudo and testsudoers.
7636         [3605a6ff64d0]
7637
7638         * parse.c, sudo.c, sudo.cat, sudo.h, sudo.man.in, sudo.pod:
7639         Add -U option to use in conjunction with -l instead of -u. Add
7640         support for "sudo -l command" to test a specific command.
7641         [99638789d415]
7642
7643         * gram.c, gram.y, sudo.c:
7644         Set safe_cmnd after sudoers_lookup() if it has not been set.
7645         Previously it was set by sudo "ALL" in the parser but at that point
7646         the fully-qualified pathname has not yet been found.
7647         [ac30d98f8225]
7648
7649 2004-11-23  Todd C. Miller  <Todd.Miller@courtesan.com>
7650
7651         * parse.c, testsudoers.c:
7652         Correctly handle multiple privileges per userspec and runas
7653         inheritence.
7654         [a98a965181af]
7655
7656 2004-11-21  Todd C. Miller  <Todd.Miller@courtesan.com>
7657
7658         * defaults.c:
7659         Zero out sd_un for each entry in sudo_defs_table in init_defaults.
7660         [031d3cd4a848]
7661
7662 2004-11-19  Todd C. Miller  <Todd.Miller@courtesan.com>
7663
7664         * toke.c, toke.l:
7665         make per-command defaults work with sudoedit
7666         [e56fe33db916]
7667
7668         * ldap.c, parse.c, sudo.c, sudo.h:
7669         Remove the FLAG_NOPASS, FLAG_NOEXEC and FLAG_MONITOR flags.
7670         Instead, we just set the approriate defaults variable.
7671         [756eeecc1d86]
7672
7673         * sample.sudoers, sudoers.cat, sudoers.man.in, sudoers.pod:
7674         Document per-command Defaults.
7675         [92a0f84b91c1]
7676
7677         * defaults.c, defaults.h, gram.c, gram.h, gram.y, mon_systrace.c,
7678         sudo.c, testsudoers.c, toke.c, toke.l, visudo.c:
7679         Add support for command-specific Defaults entries. E.g.
7680         Defaults!/usr/bin/vi noexec
7681         [be3d52bf01cf]
7682
7683         * defaults.c, match.c, parse.c, parse.h, testsudoers.c:
7684         Change an occurence of user_matches() -> runas_matches() missed
7685         previously runas_matches(), host_matches() and cmnd_matches() only
7686         really need to pass in a list of members. user_matches() still
7687         needs to pass in a passwd struct because of "sudo -l"
7688         [833b22fc6fa0]
7689
7690         * parse.c:
7691         Check def_authenticate, def_noexec and def_monitor when setting
7692         return flags. XXX May be better to just set the defaults directly
7693         and get rid of those flags.
7694         [b6db22b59d69]
7695
7696         * alias.c, alloc.c, auth/afs.c, auth/aix_auth.c, auth/bsdauth.c,
7697         auth/dce.c, auth/fwtk.c, auth/kerb4.c, auth/kerb5.c, auth/pam.c,
7698         auth/passwd.c, auth/rfc1938.c, auth/secureware.c, auth/securid.c,
7699         auth/securid5.c, auth/sia.c, auth/sudo_auth.c, check.c, closefrom.c,
7700         defaults.c, env.c, error.c, fileops.c, find_path.c, fnmatch.c,
7701         getcwd.c, getprogname.c, getspwuid.c, gettime.c, glob.c, goodpath.c,
7702         gram.c, gram.y, interfaces.c, ldap.c, logging.c, match.c,
7703         mon_systrace.c, parse.c, redblack.c, set_perms.c, snprintf.c,
7704         strcasecmp.c, strerror.c, strlcat.c, strlcpy.c, sudo.c, sudo_edit.c,
7705         sudo_noexec.c, testsudoers.c, tgetpass.c, toke.c, toke.l, utimes.c,
7706         visudo.c, zero_bytes.c:
7707         Use: #include <config.h> Not: #include "config.h" That way we get
7708         the correct config.h when build dir != src dir
7709         [97e5670a442b]
7710
7711         * Makefile.in:
7712         Back out part of rev 1.263; fix -I order
7713         [197ea01cad5d]
7714
7715         * toke.c, toke.l:
7716         More robust parsing if #include; could be much better still.
7717         [31bc3cd8f045]
7718
7719         * sudo_edit.c, visudo.c:
7720         Make arg splitting in visudo and sudoedit consistent.
7721         [7bc74485f246]
7722
7723         * Makefile.in, alias.c, gram.c, gram.y, parse.h:
7724         Split alias routines out into their own file.
7725         [d90f633cf9ae]
7726
7727         * error.h:
7728         __attribute__ is already defined in compat.h
7729         [676ed3fe9203]
7730
7731         * visudo.c:
7732         quit() should not be __noreturn__ as it is non-void on some
7733         platforms.
7734         [e528c2b6ba10]
7735
7736         * auth/fwtk.c, auth/rfc1938.c, auth/securid.c, auth/securid5.c:
7737         Add local error/warning functions like err/warn but that call an
7738         additional cleanup routine in the error case. This means we no
7739         longer need to compile a special version of alloc.o for visudo.
7740         [e78e8aae882e]
7741
7742         * parse.h:
7743         Clarify comments about the data structures
7744         [ae894e266701]
7745
7746 2004-11-18  Todd C. Miller  <Todd.Miller@courtesan.com>
7747
7748         * visudo.c:
7749         Add support for VISUAL and EDITOR containing command line args. If
7750         env_editor is not set any args in VISUAL and EDITOR are ignored.
7751         Arguments are also now supported in def_editor.
7752         [ff7303b8e298]
7753
7754 2004-11-17  Todd C. Miller  <Todd.Miller@courtesan.com>
7755
7756         * parse.h:
7757         alias_matches() is no more
7758         [b59825e28084]
7759
7760         * CHANGES, TODO:
7761         sync
7762         [2b8f5f63c1de]
7763
7764         * Makefile.in:
7765         When regenerating the parser, don't replace gram.h unless it has
7766         changed.
7767         [819949668018]
7768
7769         * Makefile.in:
7770         remove Makefile.binary for distclean
7771         [351eec8d00b2]
7772
7773         * env.c:
7774         Preserve KRB5CCNAME in zero_env() and add a paranoia check to make
7775         sure we can't overflow new_env.
7776         [3284d17b9c6d]
7777
7778         * sudo_edit.c:
7779         paranoia when stripping trailing slashes from tempdir.
7780         [012f1aa2b81f]
7781
7782         * sudo.c:
7783         Set user_ngroups to 0 if getgroups() returns an error.
7784         [c46d43e9449a]
7785
7786 2004-11-16  Todd C. Miller  <Todd.Miller@courtesan.com>
7787
7788         * config.h.in, configure, configure.in, sudo.c:
7789         Add configure check for getgroups()
7790         [5d8a214e2cef]
7791
7792         * ldap.c:
7793         Use supplementary group vector in struct sudo_user.
7794         [3d0c463c034d]
7795
7796         * match.c:
7797         Only do string comparisons on the group members if there is no
7798         supplemental group list.
7799         [be1c8362f7ef]
7800
7801         * CHANGES, TODO:
7802         sync
7803         [db188bc5b975]
7804
7805         * sudo_edit.c:
7806         On Digital UNIX _PATH_VAR_TMP doesn't end with a trailing slash so
7807         chop off any trailing slashes we see and add an explicit one.
7808         [e1b477dafee1]
7809
7810         * match.c:
7811         remove bogus XXX comment
7812         [8aecb8a28d40]
7813
7814         * match.c:
7815         Get rid of alias_matches and correctly fall through to the non-alias
7816         cases when there is no alias with the specified name.
7817         [2cd555246f09]
7818
7819         * getspwuid.c:
7820         Cache non-existent passwd/group entries too.
7821         [8de9a467d271]
7822
7823         * gram.c:
7824         regen
7825         [9ece18c58f36]
7826
7827         * getspwuid.c:
7828         fix typo
7829         [9a7ae371eac1]
7830
7831         * check.c, getspwuid.c, glob.c, ldap.c, logging.c, match.c,
7832         mon_systrace.h, sudo.c, sudo.h, testsudoers.c, visudo.c:
7833         Implement group caching and use the passwd and group caches
7834         throughout.
7835         [f1d8c5015169]
7836
7837 2004-11-15  Todd C. Miller  <Todd.Miller@courtesan.com>
7838
7839         * match.c:
7840         Properly negate the return value of alias_matches() when
7841         appropriate.
7842         [ce59c4ce77ad]
7843
7844         * match.c:
7845         Make hostname_matches() return TRUE for a match, else FALSE like the
7846         caller expects.
7847         [1dc03902d3a2]
7848
7849         * Makefile.in:
7850         Add missing dependencies on gram.h
7851         [4f94bbb1d50c]
7852
7853         * match.c:
7854         Use runas_matches in alias_matches() now that we have it.
7855         [284d22e91178]
7856
7857         * parse.c, parse.h:
7858         Expand aliases in "sudo -l" mode
7859         [f67a38b79c44]
7860
7861         * gram.y, match.c:
7862         Use ALIAS for the member type when storing an alias instead of
7863         HOSTALIAS/RUNASALIAS/CMNDALIAS/USERALIAS since match.c relies on the
7864         more generic type. Expand runas_matches instead of calling
7865         user_matches() inside of it since user_matches() looks up
7866         USERALIASes, not RUNASALIASes.
7867         [52004d75232b]
7868
7869         * CHANGES, getspwuid.c:
7870         Paranoia; zero out pw_passwd before freeing passwd entry.
7871         [bd1b22638f00]
7872
7873         * LICENSE, Makefile.in, alloc.c, check.c, config.h.in, configure,
7874         configure.in, defaults.c, emul/err.h, env.c, err.c, error.c,
7875         error.h, find_path.c, interfaces.c, logging.c, mon_systrace.c,
7876         sudo.c, sudo.h, sudo_edit.c, testsudoers.c, visudo.c:
7877         Add local error/warning functions like err/warn but that call an
7878         additional cleanup routine in the error case. This means we no
7879         longer need to compile a special version of alloc.o for visudo.
7880         [25000b676cfe]
7881
7882         * match.c:
7883         Use userpw_matches() to compare usernames, not strcmp(), since the
7884         latter checks for "#uid".
7885         [fcbe4b859f66]
7886
7887         * getspwuid.c, mon_systrace.c, mon_systrace.h, sudo.c:
7888         Cache passwd db entries in 2 reb-black trees; one indexed by uid,
7889         the other by user name. The data returned from the cache should be
7890         considered read-only and is destroyed by sudo_endpwent().
7891         [ee2418ff3f86]
7892
7893         * match.c:
7894         add cast to uid_t
7895         [eb6415302d84]
7896
7897         * gram.y:
7898         missing free in alias_destroy
7899         [572ecb680ad8]
7900
7901         * redblack.c:
7902         Can't use rbapply() for rbdestroy since the destructor is passed a
7903         data pointer, not a node pointer.
7904         [11ce713830c0]
7905
7906         * getspwuid.c, logging.c, sudo.c, sudo.h:
7907         Create and use private versions of setpwent() and endpwent() that
7908         set/end the shadow password file too.
7909         [616bc76d23bf]
7910
7911         * gram.c, gram.h, gram.y, match.c, parse.h, testsudoers.c, visudo.c:
7912         Store aliases in a red-black tree.
7913         [ce017d540416]
7914
7915         * Makefile.in, redblack.c, redblack.h:
7916         red-black tree implementation
7917         [cd5586e8f48b]
7918
7919         * visudo.c:
7920         Edit all sudoers file if there were unused or undefined aliases and
7921         we are in strict mode.
7922         [b6d5f5bb7262]
7923
7924 2004-11-12  Todd C. Miller  <Todd.Miller@courtesan.com>
7925
7926         * CHANGES, def_data.c, def_data.h, def_data.in, defaults.c, env.c,
7927         find_path.c, sudoers.cat, sudoers.man.in, sudoers.pod, visudo.c:
7928         Bring back the "secure_path" Defaults option now that Defaults take
7929         effect before the path is searched.
7930         [2e52c0e27606]
7931
7932 2004-11-11  Todd C. Miller  <Todd.Miller@courtesan.com>
7933
7934         * logging.c, parse.c:
7935         A user can always list their own entries, even with -u. Better error
7936         message when failing to list another user's entries.
7937         [e2e24deb0071]
7938
7939         * parse.c, sudo.c, sudo.h:
7940         The syntax to list another user's entries is now "-u otheruser -l".
7941         Only root or users with sudo "ALL" may list other user's entries.
7942         [3c0657e8f5fe]
7943
7944         * sudo.cat, sudo.man.in, sudo.pod:
7945         Update env variable info in SECURITY NOTES
7946         [299716071024]
7947
7948         * env.c:
7949         strip CDPATH too
7950         [9b97643b26f9]
7951
7952         * env.c:
7953         strip exported bash functions from the environment.
7954         [9e5090c8284f]
7955
7956 2004-10-27  Todd C. Miller  <Todd.Miller@courtesan.com>
7957
7958         * sudo.c:
7959         Only reset sudo_user.pw based on SUDO_USER environment variables for
7960         real commands and sudoedit. This avoids a confusing message when a
7961         user tries "sudo -l" or "sudo -v" and is denied.
7962         [3ea6d0053274]
7963
7964         * gram.c, gram.y, parse.h:
7965         Extend LIST_APPEND to deal with appending lists too
7966         [d963e42f622f]
7967
7968 2004-10-26  Todd C. Miller  <Todd.Miller@courtesan.com>
7969
7970         * logging.c:
7971         Convert some bitwise AND to ISSET
7972         [130dc40d268e]
7973
7974         * lex.yy.c, toke.c:
7975         toke.c replaces lex.yy.c
7976         [048858df79e7]
7977
7978         * CHANGES, TODO:
7979         sync
7980         [d19e7abf251c]
7981
7982         * BUGS:
7983         new parser fixes most of the outstanding bugs
7984         [0891f66e3758]
7985
7986         * configure:
7987         regen
7988         [1a3358cc7283]
7989
7990         * visudo.c:
7991         Rework for the new parser. Now checks for unused aliases in sudoers.
7992         [ad462ede3094]
7993
7994         * testsudoers.c:
7995         Rewrite for the new parser. Now supports a -d flag (dump) and adds
7996         a -h flag (host). It now defaults to the local hostname unless
7997         otherwise specified.
7998         [1b69685cc601]
7999
8000         * sudo.h:
8001         Add new prototypes. Remove NOMATCH/UNSPEC (now in parse.h)
8002         [2e4fb3abfef0]
8003
8004         * sudo.c:
8005         Update for new parse. We now call find_path() *after* we have
8006         updated the global defaults based on sudoers. Also adds support for
8007         listing other user's privs if you are root.
8008         [cf3db9fc3024]
8009
8010         * mon_systrace.c:
8011         Working LDAP support; also remove a now-unneeded rewind().
8012         [649ecf1baf6b]
8013
8014         * logging.c, logging.h:
8015         Add NO_STDERR flag.
8016         [6cb935af94e0]
8017
8018         * ldap.c:
8019         Split sudo_ldap_check() into three pieces: sudo_ldap_open(),
8020         udo_ldap_update_defaults() and sudo_ldap_check(). This allows us to
8021         connecto to LDAP, apply the default options, find the command in the
8022         user's path, and then check whether the user is allowed to run it.
8023         The important thing here is that the default runas user may be
8024         specified as a default option and that needs to be set before we
8025         search for the command.
8026         [fc0426abc6f1]
8027
8028         * ldap.c:
8029         Add casts to unsigned char for isspace() to quiet a gcc warning.
8030         [e5358e3df439]
8031
8032         * defaults.h:
8033         Add prototype for update_defaults()
8034         [564dac3db74e]
8035
8036         * defaults.c:
8037         Don't warn about line numbers now that we operate on a set of data
8038         structures (or LDAP) and not a file.
8039         [bcd9ffb9b67c]
8040
8041         * config.h.in:
8042         No long use lsearch()
8043         [9d048c587319]
8044
8045         * Makefile.in:
8046         Update for new and changed file names.
8047         [6f424a7c4515]
8048
8049         * LICENSE:
8050         no more BSD lsearch.c
8051         [463a96d89026]
8052
8053         * match.c:
8054         foo_matches() routines now live in match.c Added user_matches(),
8055         runas_matches(), host_matches(), cmnd_matches() and alias_matches()
8056         that operate on the parsed sudoers file.
8057         [b14da8a0567e]
8058
8059         * parse.lex, toke.l:
8060         Move parse.lex -> toke.l Rename buffer_frob() -> switch_buffer()
8061         WORD no longer needs to exclude '@' kill yywrap()
8062         [a922294eb7b7]
8063
8064         * gram.c, gram.h, gram.y, parse.c, parse.h, parse.yacc, sudo.tab.c,
8065         sudo.tab.h:
8066         Rewritten parser that converts sudoers into a set of data
8067         structures. This eliminates ordering issues and makes it possible to
8068         apply sudoers Defaults entries before searching for the command.
8069         [30d2ec4d203c]
8070
8071         * configure.in, emul/search.h, lsearch.c:
8072         We won't be using lsearch() any longer.
8073         [29c4d54bfac0]
8074
8075         * ldap.c:
8076         sudo should not send mail if someone who runs 'sudo -l' has no
8077         entry.
8078         [6fc27a69fd9c]
8079
8080         * sudo.cat, sudo.man.in, sudoers.cat, sudoers.man.in, visudo.cat,
8081         visudo.man.in:
8082         regen
8083         [8166347917f3]
8084
8085         * visudo.pod:
8086         Update warnings to match new visudo
8087         [004c0766798f]
8088
8089         * sudoers.pod:
8090         The new parser doesn't have the old ordering constraints.
8091         [ffd43bd08661]
8092
8093         * sudo.pod:
8094         Document that -l now takes an optional username argument
8095         [278f9557de8b]
8096
8097 2004-10-25  Todd C. Miller  <Todd.Miller@courtesan.com>
8098
8099         * RUNSON:
8100         AIX 5.2.0.0 works
8101         [523acd29d858]
8102
8103         * ldap.c:
8104         If LDAP_OPT_SUCCESS is not defined, use LDAP_SUCCESS instead. Fixes
8105         a compilation problem with Solaris 9's native LDAP.
8106
8107         Set FLAG_MONITOR when needed.
8108         [35824ade672d]
8109
8110 2004-10-23  Todd C. Miller  <Todd.Miller@courtesan.com>
8111
8112         * mon_systrace.c:
8113         Call sudo_goodpath() *after* changing the cwd to match the traced
8114         process. Fixes relative paths.
8115         [12ee111d0ad7]
8116
8117 2004-10-21  Todd C. Miller  <Todd.Miller@courtesan.com>
8118
8119         * testsudoers.c:
8120         Kill set_perms() stub--it is no longer needed.
8121         [116ed702935d]
8122
8123 2004-10-13  Todd C. Miller  <Todd.Miller@courtesan.com>
8124
8125         * sudoers.cat, sudoers.man.in, sudoers.pod:
8126         stay_setuid now requires set_reuid() or setresuid()
8127         [8511f67e25d5]
8128
8129         * INSTALL, PORTING, TROUBLESHOOTING, config.h.in, configure,
8130         configure.in, set_perms.c, sudo.c, sudo.h:
8131         Kill use of POSIX saved uids; they aren't worth bothering with.
8132         [b3b1f19f18c1]
8133
8134 2004-10-07  Todd C. Miller  <Todd.Miller@courtesan.com>
8135
8136         * glob.c:
8137         remove call to issetugid()
8138         [63f2e492c08f]
8139
8140         * sudoers.cat, sudoers.man.in, sudoers.pod:
8141         Remove warning about wildcards. Now that we use glob() the bug is
8142         fixed.
8143         [b15729d32266]
8144
8145         * parse.c:
8146         Use glob(3) instead of fnmatch(3) for matching pathnames and stat
8147         each result that matches the basename of the user's command. This
8148         makes "cd /usr/bin ; sudo ./blah" work when sudoers allows
8149         /usr/bin/blah. Fixes bug #143.
8150         [e31eb6310340]
8151
8152         * config.h.in, configure, configure.in:
8153         Define HAVE_EXTENDED_GLOB for extended glob (GLOB_TILDE and
8154         GLOB_BRACE)
8155         [677ed6661e17]
8156
8157         * config.h.in, configure, configure.in:
8158         Check for a glob() that supports GLOB_BRACE and GLOB_TILDE
8159         [aaa2329dd266]
8160
8161         * LICENSE:
8162         reference glob
8163         [bedc9a923423]
8164
8165         * glob.c:
8166         4.4BSD glob(3) with fixes from OpenBSD and some unneeded extensions
8167         removed.
8168         [81799451473c]
8169
8170         * emul/glob.h:
8171         4.4BSD glob(3) with fixes from OpenBSD and some unneeded extensions
8172         removed.
8173         [0335cf31fb1e]
8174
8175 2004-10-05  Todd C. Miller  <Todd.Miller@courtesan.com>
8176
8177         * mon_systrace.c:
8178         Just return if STRIOCINJECT or STRIOCREPLACE fail. It probably
8179         means we are out of space in the stack gap...
8180         [5b02b702021e]
8181
8182         * CHANGES:
8183         sync
8184         [be3826273e56]
8185
8186         * mon_systrace.c:
8187         Take a stab at ldap sudoers support here.
8188         [9d023695b0de]
8189
8190         * mon_systrace.c, mon_systrace.h:
8191         Detach from tracee on SIGHUP, SIGINT and SIGTERM. Now "sudo reboot"
8192         doesn't cause reboot to inadvertanly kill itself.
8193         [d4aab2365610]
8194
8195         * mon_systrace.c:
8196         put "monitor" in the proctitle, not "systrace"
8197         [9a9025767d86]
8198
8199         * mon_systrace.c:
8200         When modifying the environment, don't replace envp when we can get
8201         away with just rewriting pointers in the traced process.
8202         [c03622f7a2e2]
8203
8204         * mon_systrace.c, mon_systrace.h:
8205         Add environment updating via STRIOCINJECT (if available).
8206         [037291016870]
8207
8208         * sudoers.cat, sudoers.man.in:
8209         regen
8210         [869acc511046]
8211
8212 2004-10-04  Todd C. Miller  <Todd.Miller@courtesan.com>
8213
8214         * lex.yy.c:
8215         regen
8216         [4e61a9bd3c97]
8217
8218         * parse.lex:
8219         Fix bug introduced in unput() removal; want yyless(0) not yyless(1)
8220         [b70d7bd6e147]
8221
8222         * mon_systrace.c:
8223         Include file is now mon_systrace.h
8224         [ead4e36d92ae]
8225
8226         * Makefile.in, configure, configure.in, def_data.c, def_data.h,
8227         def_data.in, lex.yy.c, parse.c, parse.h, parse.lex, parse.yacc,
8228         sudo.c, sudo.h, sudo.tab.c, sudo.tab.h, sudoers.pod:
8229         No longer call it tracing, it is now "monitoring" which should be
8230         more a obvious name to non-hackers.
8231         [aa811ded0789]
8232
8233 2004-10-01  Todd C. Miller  <Todd.Miller@courtesan.com>
8234
8235         * mon_systrace.c, mon_systrace.h:
8236         Fix some XXX
8237         [a271072dacc6]
8238
8239         * mon_systrace.c, mon_systrace.h:
8240         No need to include syscall.h, use 1024 as the max # of entries (the
8241         max that systrace(4) allows).
8242
8243         Only need to use SYSTR_POLICY_ASSIGN once
8244
8245         Change check_syscall() -> find_handler() and have it return the
8246         handler instead of just running it. We need this since handler now
8247         have two parts: one part that generates and answer and another that
8248         gets called after the answer is accepted (to do logging).
8249
8250         Add some missing check_exec for emul execv
8251         [a89d243f0525]
8252
8253         * sample.pam, sample.sudoers, sample.syslog.conf, sudoers:
8254         Add $Sudo$ tags.
8255         [6f3fedb0daba]
8256
8257         * config.h.in:
8258         Add missing HAVE_LINUX_SYSTRACE_H
8259         [ff75ab7bfc53]
8260
8261         * Makefile.in:
8262         add trace_systrace.o dependency
8263         [88a408668ab2]
8264
8265 2004-09-30  Todd C. Miller  <Todd.Miller@courtesan.com>
8266
8267         * configure, configure.in:
8268         Also look for systrace.h in /usr/include/linux
8269         [98b98b436cf3]
8270
8271         * mon_systrace.c, mon_systrace.h:
8272         Move all struct defs and prototypes into trace_systrace.h and mark
8273         all but systace_attach() static.
8274         [85511253b570]
8275
8276         * mon_systrace.c, mon_systrace.h:
8277         Add support for tracing emulations. At the moment, all emulations
8278         are compiled in. It might make sense to #ifdef them in the future,
8279         though this impeeds readability.
8280         [87bb50abf277]
8281
8282         * Makefile.in, configure, configure.in:
8283         rename systrace.c -> trace_systrace.c
8284         [31cfa4407d93]
8285
8286         * parse.yacc, sudo.tab.c:
8287         Allow this to build with a K&R compiler again
8288         [32876af5bb98]
8289
8290         * TODO:
8291         sync
8292         [46865bd70f7c]
8293
8294         * compat.h, sudo.c, visudo.c:
8295         Use __attribute__((__noreturn__))
8296         [65bbad71fe89]
8297
8298         * visudo.c:
8299         Exit() takes a negative value to indicate it was not called via
8300         signal.
8301         [b93032ed7b60]
8302
8303         * sudo.cat, sudo.man.in, sudoers.cat, sudoers.man.in, visudo.cat,
8304         visudo.man.in:
8305         regen
8306         [45bcf4661558]
8307
8308         * Makefile.in, visudo.c:
8309         Define Err() and Errx() that are like err() and errx() but call
8310         Exit() instead of exit(). Build private copy of alloc.o for visudo
8311         that calls Err() and Errx().
8312         [c6d02bf42edd]
8313
8314 2004-09-29  Todd C. Miller  <Todd.Miller@courtesan.com>
8315
8316         * lex.yy.c, sudo.tab.c:
8317         regen
8318         [39de7e7c59da]
8319
8320         * CHANGES:
8321         sync
8322         [ba481d9ed1aa]
8323
8324         * visudo.c:
8325         Overhaul visudo for editing multiple files: o visudo has been
8326         broken out into functions (more work needed here) o each file is
8327         now edited before sudoers is re-parsed o if a #include line is
8328         added that file will be edited too
8329
8330         TODO: o cleanup temp files when exiting via err() or errx() o
8331         continue breaking things out into separate functions
8332         [80c35cf534eb]
8333
8334         * parse.lex, sudo.c, sudo.h, testsudoers.c, visudo.c:
8335         Add keepopen arg to open_sudoers that open_sudoers can use to
8336         indicate to the caller that the fd should not be closed when it is
8337         done with it. To be used by visudo to keep locked fds from being
8338         closed prematurely (and thus losing the lock).
8339         [f330fe632470]
8340
8341         * parse.yacc, sudo.c:
8342         Add errorfile global that contains the name of the file that caused
8343         the error.
8344         [98079c7a37ed]
8345
8346         * parse.lex:
8347         return COMMENT to yacc grammar for a #include line
8348         [2024a8de4fa8]
8349
8350         * parse.lex:
8351         Remove us of unput() in favor of yyless() which is cheaper.
8352         [c61291902beb]
8353
8354         * parse.yacc:
8355         Allow an empty sudoers file.
8356         [62fb111db2e7]
8357
8358 2004-09-28  Todd C. Miller  <Todd.Miller@courtesan.com>
8359
8360         * mon_systrace.c:
8361         Rewind sudoers_fp now that sudoers_lookup() doesn't do it for us.
8362         [9e15869ef597]
8363
8364         * lex.yy.c, sudo.tab.c:
8365         regen
8366         [c29bdd43bfad]
8367
8368         * visudo.c:
8369         Do signal setup before calling edit_sudoers(). Don't shadow the
8370         "quiet" global.
8371         [74252efd09ff]
8372
8373         * visudo.c:
8374         If a sudoers file includes other files, edit those too. Does not yes
8375         deal with creating the new includes files itself.
8376         [06af7b9c173f]
8377
8378         * testsudoers.c:
8379         init_parser now takes a path
8380         [b5ee186eb192]
8381
8382         * parse.c, parse.h, parse.lex, parse.yacc:
8383         More scaffolding for dealing with multiple sudoers files: o
8384         init_parser() now takes a path used to populate the sudoers global
8385         o the sudoers global is used to print the correct file in yyerror()
8386         o when switching to a new sudoers file, perserve old file name and
8387         line number
8388         [d9be4970b8bd]
8389
8390         * Makefile.in, pathnames.h.in:
8391         Kill _PATH_SUDOERS_TMP; it is not meaningful now that we can have
8392         multiple sudoers files.
8393         [6ccc4e921c43]
8394
8395         * parse.c, sudo.c:
8396         Rewind sudoers_fp in open_sudoers() instead of sudoers_lookup() so
8397         we start at the right file position when reading include files.
8398         [91fcb961e7a4]
8399
8400         * sudoers.pod:
8401         document #include
8402         [fbb92a25a726]
8403
8404         * lex.yy.c:
8405         regen
8406         [50cd7a4c9dff]
8407
8408         * parse.lex:
8409         Add max depth of 128 for the include stack to avoid loops.
8410
8411         Since yyerror() doesn't stop parsing, pass return values back to
8412         yylex and call yyterminate() on error.
8413         [e79dbffb729d]
8414
8415 2004-09-27  Todd C. Miller  <Todd.Miller@courtesan.com>
8416
8417         * sudoers.pod:
8418         document tracing
8419         [165a467eadd8]
8420
8421         * sudo.pod:
8422         Mention PREVENTING SHELL ESCAPES section of sudoers man page
8423         [3217ccecd834]
8424
8425         * lex.yy.c, sudo.tab.c:
8426         regen
8427         [fbd58d1d3a76]
8428
8429         * parse.lex:
8430         Add support for #include in sudoers (visudo support TBD)
8431         [a78015ca81af]
8432
8433         * parse.yacc:
8434         make yyerror()'s argument const
8435         [7d8e168c019a]
8436
8437         * testsudoers.c, visudo.c:
8438         Add open_sudoers() stubs.
8439         [087466787198]
8440
8441         * sudo.c, sudo.h:
8442         Rename check_sudoers() open_sudoers() and make it return a FILE *
8443         [142fc511fc65]
8444
8445 2004-09-26  Todd C. Miller  <Todd.Miller@courtesan.com>
8446
8447         * BUGS, INSTALL, INSTALL.binary, Makefile.in, README, configure.in,
8448         version.h:
8449         Crank version
8450         [1adc3f839480]
8451
8452         * Makefile.in, sudo.psf:
8453         Better HP-UX depot construction
8454         [2d952b000e63]
8455
8456 2004-09-25  Todd C. Miller  <Todd.Miller@courtesan.com>
8457
8458         * mon_systrace.c:
8459         o Made children global so check_exec() can lookup a child. o
8460         Replaced uid in struct childinfo with struct passwd * (for runas) o
8461         new_child() now takes a parent pid so the runas info can be
8462         inherited o Added find_child() to lookup a child by its pid o
8463         update_child() now fills in a struct passwd o Converted the big
8464         if/else mess in set_policy to a switch o Syscalls that change uid
8465         are now "ask" so we get SYSTR_MSG_UGID events
8466         [29b9ea3f09a3]
8467
8468         * getspwuid.c:
8469         Add flag to sudo_pwdup that indicates whether or not to lookup the
8470         shadow password. Will be used to a struct passwd that has the
8471         shadow password already filled in.
8472         [e19d43dd7238]
8473
8474         * mon_systrace.c:
8475         add missing increment of addr in read_string()
8476         [f9eb0f060cb6]
8477
8478         * mon_systrace.c:
8479         Remove bogus call to update_child() and some cosmetic fixes
8480         [701ab0b97fef]
8481
8482         * mon_systrace.c:
8483         Don't leak /dev/systrace fd to tracee Make initialized global for
8484         simplicity If STRIOCATTACH returns EBUSY we are already being traced
8485         Check for user_args == NULL in setproctitle() call Add missing calls
8486         to STRIOCANSWER
8487         [1956edf9bc3a]
8488
8489         * sudo.c:
8490         g/c sudo_pwdup proto
8491         [b7c4d6249ecb]
8492
8493         * Makefile.in, sudo.psf:
8494         Add target for building a depot file
8495         [357019efd99b]
8496
8497         * mon_systrace.c:
8498         trim includes
8499         [501534428471]
8500
8501 2004-09-24  Todd C. Miller  <Todd.Miller@courtesan.com>
8502
8503         * lex.yy.c, sudo.tab.c, sudo.tab.h:
8504         regen
8505         [52fd250c6986]
8506
8507         * INSTALL:
8508         document --with-systrace
8509         [79623927c94e]
8510
8511         * config.h.in, configure, configure.in:
8512         Add check for setproctitle
8513         [1730cf1c26ed]
8514
8515         * mon_systrace.c:
8516         pass struct str_msg_ask in to syscall checker so it can set the
8517         error code
8518         [1703fd2fdef6]
8519
8520         * mon_systrace.c:
8521         systrace(4) support for sudo. On systems with the systrace(4)
8522         kernel facility (OpenBSD, NetBSD, Linux w/ patches) sudo can
8523         intercept exec calls and check the exec args against the sudoers
8524         file. In other words, sudo can now control subcommands and shell
8525         escapes.
8526         [928c9217c386]
8527
8528         * sudo.c, sudo.h:
8529         Call systrace_attach() if FLAG_TRACE is set.
8530         [014ba9402fa5]
8531
8532         * parse.c, parse.h, parse.lex, parse.yacc, sudo.h:
8533         Add trace Defaults option and TRACE/NOTRACE tags and set FLAG_TRACE
8534         [a99904db5e56]
8535
8536         * parse.c, sudo.c:
8537         Don't close sudoers_fp, keep it open and set close on exec flag
8538         instead.
8539         [43a9fec60bee]
8540
8541         * def_data.c, def_data.h, def_data.in:
8542         Add trace option
8543         [5b643b86730a]
8544
8545         * Makefile.in:
8546         Add systrace
8547         [47a0519c427c]
8548
8549         * INSTALL:
8550         SunOS /bin/sh blows up with configure
8551         [005a23cc5615]
8552
8553         * configure, configure.in:
8554         Include sys/param.h before systrace.h
8555         [9345bc8efecf]
8556
8557         * configure:
8558         regen
8559         [a8f53fcbb254]
8560
8561         * pathnames.h.in:
8562         _PATH_DEV_SYSTRACE
8563         [d2ad1e492a00]
8564
8565         * configure.in:
8566         line up options in --help
8567         [fa51f2821d09]
8568
8569         * config.h.in, configure.in:
8570         Add --with-systrace
8571         [a264d54bc413]
8572
8573 2004-09-23  Todd C. Miller  <Todd.Miller@courtesan.com>
8574
8575         * configure:
8576         regen
8577         [a4dad0bcc523]
8578
8579         * aclocal.m4, configure.in:
8580         make this work with autoconf-2.59
8581         [c4a92b6a684a]
8582
8583 2004-09-16  Todd C. Miller  <Todd.Miller@courtesan.com>
8584
8585         * sudo_edit.c:
8586         Simplify logic around open & stat of files and do sanity on edited
8587         file even if we lack fstat (still racable but worth doing).
8588         [adda65ade70c]
8589
8590 2004-09-15  Todd C. Miller  <Todd.Miller@courtesan.com>
8591
8592         * HISTORY:
8593         Add support url
8594         [bf6590fbde9f]
8595
8596         * Makefile.in:
8597         versino 1.6.8p1
8598         [b84ebfaf1552] [SUDO_1_6_8p1]
8599
8600         * CHANGES:
8601         more changes for 1.6.8p1
8602         [e23a9c0393b6]
8603
8604         * version.h:
8605         1.6.8p1
8606         [872f14504b5f]
8607
8608         * CHANGES, sudo_edit.c:
8609         Add sanity check so we don't try to edit something other than a
8610         regular file.
8611         [350134ec6d4e]
8612
8613 2004-09-15  Aaron Spangler  <aaron777@gmail.com>
8614
8615         * CHANGES:
8616         sync
8617         [3091ca9eae00]
8618
8619         * INSTALL:
8620         document --with-ldap-conf-file
8621         [0e2cd6b896f1]
8622
8623 2004-09-14  Todd C. Miller  <Todd.Miller@courtesan.com>
8624
8625         * CHANGES, ins_csops.h:
8626         political correctness strikes again
8627         [428e8bc77f55]
8628
8629         * RUNSON:
8630         sync
8631         [27f44bd423dc]
8632
8633 2004-09-12  Todd C. Miller  <Todd.Miller@courtesan.com>
8634
8635         * Makefile.binary.in, Makefile.in:
8636         Install sudoedit man link
8637         [19a55234fc1f]
8638
8639         * INSTALL:
8640         Update PAM note and mention where HP-UX users can download gcc
8641         binaries.
8642         [d37cdbbabfd4]
8643
8644         * Makefile.in:
8645         libtool wants to install stuff from .libs so fake one up for binary
8646         installations.
8647         [a681bc6fcfba]
8648
8649         * Makefile.binary.in:
8650         rm -f old sudoedit link instead of using ln -f set LIBTOOL correctly
8651         [3e0c4b3372cc]
8652
8653         * Makefile.in:
8654         Deal with "uname -m" having slashes in it rm -f old sudoedit link
8655         instead of using ln -f
8656         [cff33fb97e5b]
8657
8658         * Makefile.binary, Makefile.binary.in:
8659         Makefile.binary -> Makefile.binary.in for config.status substitution
8660         Add support for installing noexec bits
8661         [37d8bb3483c6]
8662
8663         * Makefile.in:
8664         Copy noexec bits into binary dists too No longer use my old arch
8665         script for making binary dists
8666         [e7058bab9e33]
8667
8668         * Makefile.binary:
8669         Install sudoedit link.
8670         [417d1e101711]
8671
8672 2004-09-11  Todd C. Miller  <Todd.Miller@courtesan.com>
8673
8674         * emul/utime.h:
8675         avoid __P so there is no need for compat.h to be included
8676         [6d8d1f1abf7d]
8677
8678         * utimes.c:
8679         Don't use HAVE_UTIME_H before including config.h.
8680         [013b7bb61181]
8681
8682 2004-09-10  Todd C. Miller  <Todd.Miller@courtesan.com>
8683
8684         * compat.h:
8685         Fix Solatis futimes macro
8686         [d4eda2ca0d29]
8687
8688 2004-09-09  Todd C. Miller  <Todd.Miller@courtesan.com>
8689
8690         * sudo_edit.c:
8691         Rename ots -> omtim for improved readability.
8692         [127ca5bb297c]
8693
8694 2004-09-08  Todd C. Miller  <Todd.Miller@courtesan.com>
8695
8696         * sudo_edit.c:
8697         Redo changes in revision 1.7. Don't really need to keep the temp
8698         file open; re-opening it with the invoking user's euid is
8699         sufficient.
8700         [55a883165a95]
8701
8702         * CHANGES:
8703         sync
8704         [9015b291170d]
8705
8706         * sudo.cat, sudo.man.in:
8707         regen
8708         [c0313f6ed783]
8709
8710         * sudo.pod:
8711         back out revision 1.70; it is no long applicable
8712         [b641d503aff6]
8713
8714         * env.c:
8715         Let the loader initialize nep
8716         [bec192139b02]
8717
8718         * config.h.in, configure, configure.in:
8719         Removed unneed check for fchown Add check for gettimeofday Move
8720         autoheader template stuff into separate AH_TEMPLATE lines
8721         [bfc0edbd43f2]
8722
8723         * check.c, compat.h, fileops.c, sudo.h, sudo_edit.c, visudo.c:
8724         Use timespec throughout.
8725         [1a178a23b69b]
8726
8727         * Makefile.in:
8728         gettime.[co]
8729         [6aeb48a7ab7f]
8730
8731         * gettime.c:
8732         function to return the current time in a struct timespec
8733         [bf8eb12cb63f]
8734
8735         * utimes.c:
8736         Not a darpa-sponsored file.
8737         [121ce5e2036c]
8738
8739 2004-09-07  Todd C. Miller  <Todd.Miller@courtesan.com>
8740
8741         * compat.h, config.h.in, configure, configure.in:
8742         Add a check for struct timespec and provide it for those without.
8743         [42124055030d]
8744
8745         * config.h.in, configure, configure.in, sudo_edit.c:
8746         Add checks for st_mtim and st_mtimespec and add macros for pulling
8747         the mtime sec and nsec out of struct stat. These are used in
8748         sudo_edit() to better tell whether or not the file has changed.
8749         [23debfbb3fab]
8750
8751         * check.c, fileops.c, sudo.h, sudo_edit.c, visudo.c:
8752         Add an extra param to touch() for nsec
8753         [56f7a4ba8ddb]
8754
8755         * sudo_edit.c:
8756         Call mkstemp() as the in invoking user so we don't have to chown the
8757         file later. Only touch() the temp file if we can do it via the file
8758         descriptor. Don't check for modification of the temp file if we lack
8759         fstat(). Catch errors read()ing the temp file.
8760         [665f52c70836]
8761
8762         * fileops.c:
8763         If path is NULL and fd == -1 return -1.
8764         [757a518a824c]
8765
8766         * sudo_edit.c:
8767         closefrom() is overkill, the only extra fds are the ones we opened
8768         so just close those in the child.
8769         [f361c9d2a1f4]
8770
8771         * Makefile.in, aclocal.m4, check.c, compat.h, config.h.in, configure,
8772         configure.in, fileops.c, sudo.h, sudo_edit.c, utime.c, utimes.c,
8773         visudo.c:
8774         Use utimes() and futimes() instead of utime() in touch(), emulating
8775         as needed. Not all systems are able to support setting the times of
8776         an fd so touch() takes both an fd and a file name as arguments.
8777         [3d9276f29717]
8778
8779 2004-09-07  Aaron Spangler  <aaron777@gmail.com>
8780
8781         * env.c:
8782         Rare SEGV
8783         [8995f828782d]
8784
8785 2004-09-06  Todd C. Miller  <Todd.Miller@courtesan.com>
8786
8787         * sudo.cat, sudo.man.in, sudoers.cat, sudoers.man.in, visudo.cat,
8788         visudo.man.in:
8789         regen
8790         [b8e9406711c5]
8791
8792         * sudo.pod, sudoers.pod, visudo.pod:
8793         Add SUPPORT section and re-order some of the sections to match the
8794         order we use in OpenBSD.
8795         [fa37bd917e2c]
8796
8797 2004-09-06  Aaron Spangler  <aaron777@gmail.com>
8798
8799         * env.c:
8800         Openldap ~/.ldaprc fix
8801         [1a37afe6850f]
8802
8803 2004-09-06  Todd C. Miller  <Todd.Miller@courtesan.com>
8804
8805         * sudo.pod:
8806         Talk about how the editor must write its changes to the original
8807         file and not just use rename(2).
8808         [c55ed91c5ee9]
8809
8810         * CHANGES:
8811         sync
8812         [62af26bd37a2]
8813
8814         * sudo_edit.c:
8815         Keep the temp file open instead of re-opening after the editor has
8816         exited.
8817         [de41eeb6dcf2]
8818
8819         * sample.pam:
8820         Update for current redhat/fedora core.
8821         [8cf083077333]
8822
8823 2004-09-03  Aaron Spangler  <aaron777@gmail.com>
8824
8825         * README.LDAP:
8826         tls_ examples
8827         [ba783d88a034]
8828
8829 2004-09-02  Aaron Spangler  <aaron777@gmail.com>
8830
8831         * ldap.c:
8832         config tls_* options
8833         [0b0e0797b3b9]
8834
8835 2004-08-29  Todd C. Miller  <Todd.Miller@courtesan.com>
8836
8837         * configure, configure.in:
8838         No need for -lcrypt when using pam.
8839         [41fff3a53e68]
8840
8841 2004-08-27  Todd C. Miller  <Todd.Miller@courtesan.com>
8842
8843         * configure:
8844         regen
8845         [75820aecce2c]
8846
8847 2004-08-27  Aaron Spangler  <aaron777@gmail.com>
8848
8849         * configure.in, ldap.c, pathnames.h.in:
8850         Allow --with-ldap-conf-file option to override LDAP_CONF
8851         [c9909bc484a5]
8852
8853         * ldap.c:
8854         cleanup debug message
8855         [1f6ca4824d8d]
8856
8857 2004-08-26  Aaron Spangler  <aaron777@gmail.com>
8858
8859         * README.LDAP:
8860         more config info
8861         [f2e7147fd507]
8862
8863 2004-08-24  Todd C. Miller  <Todd.Miller@courtesan.com>
8864
8865         * TODO, find_path.c, goodpath.c, parse.c, sudo.c, sudo.h, visudo.c:
8866         Add cmnd_base to struct sudo_user and set it in init_vars(). Add
8867         cmnd_stat to struct sudo_user and set it in sudo_goodpath(). No
8868         longer use gross statics in command_matches(). Also rename some
8869         variables for improved clarity.
8870         [7169a6c7bea4]
8871
8872 2004-08-21  Todd C. Miller  <Todd.Miller@courtesan.com>
8873
8874         * INSTALL:
8875         document HP's crippled compiler deficiency.
8876         [c405ea5a8d4c]
8877
8878         * INSTALL:
8879         Fix some thinkos in --with-editor and --with-env-editor
8880         descriptions. Noticed by Norihiko Murase.
8881         [dd781de1c985]
8882
8883         * configure, configure.in:
8884         --with-noexec takes an optional PATH argument.
8885         [8f6ab77f22cc]
8886
8887         * INSTALL:
8888         document --with-noexec
8889         [50cb1fc627ce]
8890
8891 2004-08-17  Todd C. Miller  <Todd.Miller@courtesan.com>
8892
8893         * RUNSON, TODO:
8894         sync
8895         [f2503bd13373] [SUDO_1_6_8]
8896
8897         * sudo_edit.c:
8898         Better warning message when sudoedit is unable to write to the
8899         destination file.
8900         [f78c18f2ffa8]
8901
8902         * sudo.cat, sudo.man.in:
8903         regen
8904         [7e2bf63d6d9a]
8905
8906         * sudo.pod:
8907         Don't italicize the string "sudoedit"
8908         [c691643bd269]
8909
8910 2004-08-16  Todd C. Miller  <Todd.Miller@courtesan.com>
8911
8912         * HISTORY:
8913         Mention GratiSoft.
8914         [dc53de581b2d]
8915
8916 2004-08-11  Todd C. Miller  <Todd.Miller@courtesan.com>
8917
8918         * sudo.tab.c:
8919         regen
8920         [8ae0484dfc38]
8921
8922         * parse.yacc:
8923         Reset used_runas to FALSE when re-intializing the parser.
8924         [b7403f353a02]
8925
8926 2004-08-09  Todd C. Miller  <Todd.Miller@courtesan.com>
8927
8928         * config.guess:
8929         Correct OpenBSD mips support
8930         [314fc7afc165]
8931
8932         * config.guess:
8933         Add OpenBSD/mips
8934         [ac87d0a773ef]
8935
8936 2004-08-07  Aaron Spangler  <aaron777@gmail.com>
8937
8938         * README.LDAP:
8939         More behavior notes
8940         [13be1d212b47]
8941
8942         * README.LDAP:
8943         Updates on current behavior
8944         [d498a8866d6f]
8945
8946 2004-08-06  Todd C. Miller  <Todd.Miller@courtesan.com>
8947
8948         * sudoers.pod:
8949         =back does not take an indentlevel (makes no difference to formatted
8950         files).
8951         [9c8523bb382a]
8952
8953         * sudo.pod:
8954         =back does not take an indentlevel (makes no difference to formatted
8955         files).
8956         [e5f479e24fa8]
8957
8958         * CHANGES:
8959         new
8960         [2dbd9aba8b33]
8961
8962         * sudo.c:
8963         Consistency. Use same error for bad -u #uid when targetpw is set as
8964         we do when a bad -u username is specified.
8965         [922961c4a9d6]
8966
8967         * TODO:
8968         Add checksum idea from Steve Mancini
8969         [e6ece1b766ba]
8970
8971         * sudoers.cat, sudoers.man.in:
8972         regen
8973         [370d2317829f]
8974
8975         * sudo.cat, sudo.man.in:
8976         regen
8977         [f93d41fc38b1]
8978
8979         * sudo.pod, sudoers.pod:
8980         Document the restriction on uids specified via -u when targetpw is
8981         set.
8982         [878fedb455db]
8983
8984         * sudo.c:
8985         Error out when targetpw is enabled and sudo is run with -u #uid but
8986         #uid does not exist in the passwd database. We can't do target
8987         authentication when the target is not in passwd!
8988         [27c5888c86eb]
8989
8990         * sudo.cat, sudo.man.in, sudoers.cat, sudoers.man.in:
8991         regen
8992         [ceb65711050c]
8993
8994         * TODO:
8995         Some more todo for the next release.
8996         [7b7417be7601]
8997
8998         * INSTALL:
8999         Make it clear that PAM should be used for DCE support when possible.
9000         [7502029fd385]
9001
9002         * sudoers.pod:
9003         o Document problems with wildcards and relative paths. o Make the
9004         order requirements more prominent. o Change a "set" to "reset" for
9005         clarity.
9006         [bacdd181b33f]
9007
9008 2004-08-05  Todd C. Miller  <Todd.Miller@courtesan.com>
9009
9010         * sudo.pod:
9011         Mention --with-secure-path, not SECURE_PATH.
9012         [41283ddde5e1]
9013
9014 2004-08-03  Aaron Spangler  <aaron777@gmail.com>
9015
9016         * ldap.c:
9017         reflect changes to parse.c
9018         [8880fe9b724d]
9019
9020 2004-08-02  Todd C. Miller  <Todd.Miller@courtesan.com>
9021
9022         * sudo.tab.c:
9023         regen
9024         [a57658ca9177]
9025
9026         * parse.c, parse.h, testsudoers.c, visudo.c:
9027         Don't pass user_cmnd and user_args to command_matches(), just use
9028         the globals there. Since we keep state with statics anyway it is
9029         misleading to pretend that passing in different cmnd and cmnd_args
9030         will work.
9031         [0a2544991fd6]
9032
9033         * parse.yacc:
9034         Don't pass user_cmnd and user_args to command_matches(), just use
9035         the globals there. Since we keep state with statics anyway it is
9036         misleading to pretend that passing in different cmnd and cmnd_args
9037         will work.
9038         [a4910bf6032b]
9039
9040         * parse.c:
9041         Fix a bug introduced in rev. 1.149. When checking for pseudo-
9042         commands check for a '/' anywhere in cmnd, not just the first
9043         character.
9044         [ce98142f03ca]
9045
9046 2004-07-31  Aaron Spangler  <aaron777@gmail.com>
9047
9048         * sudo.man.in, sudo.pod:
9049         Clarification thanks to Olivier Blin <oblin@mandrakesoft.com>
9050         [a91800e094b1]
9051
9052         * sudoers.man.in, sudoers.pod:
9053         Add ignore_local_sudoers
9054         [741ddcbf7083]
9055
9056         * README.LDAP:
9057         Sun One schema definition by Andreas.Bussjaeger@t-systems.com and
9058         janth@moldung.no
9059         [742c02e07cd9]
9060
9061 2004-07-29  Todd C. Miller  <Todd.Miller@courtesan.com>
9062
9063         * CHANGES:
9064         typo
9065         [e7cdefbd7a9a]
9066
9067 2004-07-23  Todd C. Miller  <Todd.Miller@courtesan.com>
9068
9069         * CHANGES:
9070         sync
9071         [734dafc4a85e]
9072
9073         * parse.c:
9074         Parse sudoers file as PERM_RUNAS not PERM_ROOT and remove a useless
9075         PERM_SUDOERS. Restore to PERM_ROOT upon exit of the parse.
9076         [151b7f593568]
9077
9078 2004-07-08  Todd C. Miller  <Todd.Miller@courtesan.com>
9079
9080         * CHANGES:
9081         PAM change
9082         [d8fb6d6a22d0]
9083
9084 2004-07-08  Aaron Spangler  <aaron777@gmail.com>
9085
9086         * ldap.c:
9087         Better debugging of ALL command
9088         [9db3e84029dc]
9089
9090 2004-07-08  Todd C. Miller  <Todd.Miller@courtesan.com>
9091
9092         * parse.c:
9093         When matching for "sudoedit" in sudoers check both the command the
9094         user typed *and* the command that is listed in the sudoers entry.
9095         [f36ca1f94095]
9096
9097 2004-07-04  Aaron Spangler  <aaron777@gmail.com>
9098
9099         * ldap.c:
9100         Added !command feature
9101         [ed539574611b]
9102
9103 2004-06-28  Todd C. Miller  <Todd.Miller@courtesan.com>
9104
9105         * auth/pam.c:
9106         Use pam_acct_mgmt() to check for disabled accounts; Brian Farrell
9107         [2be8e0e8813a]
9108
9109 2004-06-11  Todd C. Miller  <Todd.Miller@courtesan.com>
9110
9111         * LICENSE:
9112         License is ISC-style, not BSD-style
9113         [ac0589e1dd5d]
9114
9115         * CHANGES:
9116         sync
9117         [16058a30f404]
9118
9119 2004-06-10  Todd C. Miller  <Todd.Miller@courtesan.com>
9120
9121         * sudo.cat, sudo.man.in:
9122         regen
9123         [8820eb9c809b]
9124
9125         * sudo.pod:
9126         o Update some out of date bits to reality o Change the shell promt
9127         in examples to bourne-shell style o Clarify some details o Add a
9128         CAVEAT about "sudo cd /foo"
9129         [b0af373214b6]
9130
9131         * check.c:
9132         Don't ask for a password if invoking user == target user.
9133         [dd5c96141132]
9134
9135         * sudo.c:
9136         typo in comment
9137         [278d20f9b249]
9138
9139 2004-06-08  Todd C. Miller  <Todd.Miller@courtesan.com>
9140
9141         * sudoers.cat, sudoers.man.in:
9142         regen
9143         [9036c6f39eff]
9144
9145         * sudoers.pod:
9146         Expand on NOEXEC a little.
9147         [9a13756aebe4]
9148
9149         * TODO:
9150         sync
9151         [8d2c1af48de8]
9152
9153         * visudo.cat, visudo.man.in:
9154         regen
9155         [3921f01607c8]
9156
9157         * sudo.tab.c:
9158         regen
9159         [9338c3d68250]
9160
9161         * visudo.pod:
9162         Add a check in visudo for runas_default being set after it has
9163         already been used.
9164         [6700358d7ad8]
9165
9166         * CHANGES, parse.yacc, visudo.c:
9167         Add a check in visudo for runas_default being set after it has
9168         already been used.
9169         [803560986a8a]
9170
9171         * sudo.tab.c:
9172         regen
9173         [b60636e2cf63]
9174
9175         * parse.yacc:
9176         Add a MATCHED macro for testing whether foo_matches has been set to
9177         TRUE or FALSE. This is more readable than checking for >=0 or < 0.
9178         Doesn't change the actual code generated.
9179         [f376da8ccdc8]
9180
9181 2004-06-07  Todd C. Miller  <Todd.Miller@courtesan.com>
9182
9183         * sudoers.cat:
9184         regen
9185         [6cceb6d6c9bd]
9186
9187         * sudoers.man.in:
9188         regen
9189         [5acd12b730b3]
9190
9191         * sudoers.pod:
9192         Correct description of where Defaults specs should go.
9193         [6b11ff53d7ad]
9194
9195         * sudoers:
9196         Correct description of where Defaults specs should go.
9197         [868db857630d]
9198
9199         * testsudoers.c, visudo.c:
9200         update (c) year
9201         [272c8a53604c]
9202
9203         * logging.h:
9204         update (c) year
9205         [3cec76d400ce]
9206
9207         * ldap.c:
9208         update (c) year
9209         [f264632488a0]
9210
9211         * find_path.c:
9212         update (c) year
9213         [40c227af9227]
9214
9215         * auth/pam.c:
9216         update (c) year
9217         [87149e0eed50]
9218
9219         * auth/bsdauth.c, auth/kerb5.c:
9220         update (c) year
9221         [d72eb434c068]
9222
9223 2004-06-06  Todd C. Miller  <Todd.Miller@courtesan.com>
9224
9225         * sudo.tab.c:
9226         regen
9227         [83408d9e9d2e]
9228
9229         * auth/bsdauth.c, auth/kerb5.c, auth/pam.c, visudo.c:
9230         Remove trailing spaces, no actual code changes.
9231         [4c3bf2819293]
9232
9233         * tgetpass.c:
9234         Remove trailing spaces, no actual code changes.
9235         [96f6e0a24c26]
9236
9237         * ldap.c, logging.h, parse.c, parse.yacc, sudo.c, testsudoers.c:
9238         Remove trailing spaces, no actual code changes.
9239         [c7075d1cbed5]
9240
9241         * getcwd.c:
9242         Remove trailing spaces, no actual code changes.
9243         [776cc0374547]
9244
9245         * find_path.c:
9246         Remove trailing spaces, no actual code changes.
9247         [7ed7099f3c71]
9248
9249         * compat.h, defaults.c, env.c:
9250         Remove trailing spaces, no actual code changes.
9251         [893e83c33795]
9252
9253         * check.c:
9254         Remove trailing spaces, no actual code changes.
9255         [f77750f8803b]
9256
9257         * sudo.tab.c:
9258         regen
9259         [62e0ed883b31]
9260
9261         * parse.yacc:
9262         Fix a >=0 that should be <0 that was improperly converted when
9263         UNSPEC was added.
9264         [ad1531a55a49]
9265
9266         * parse.yacc:
9267         Add do {} while(0) around pop macro Set cmnd_matches to UNSPEC, not
9268         NOMATCH when resetting it.
9269         [ae017a12870a]
9270
9271         * parse.yacc:
9272         Fix pastos introduced in SETNMATCH addition.
9273         [6ea1c9d80681]
9274
9275 2004-06-05  Todd C. Miller  <Todd.Miller@courtesan.com>
9276
9277         * README.LDAP:
9278         Update for configure changes
9279         [637a635da287]
9280
9281         * sudo.tab.c:
9282         regen
9283         [4753c2788713]
9284
9285         * sudo.h:
9286         Add NOMATCH and UNSPEC defines (-1 and -2 respectively) and use
9287         these in parse.yacc. Also in parse.yacc initialize the *_matches
9288         vars to UNSPEC and add two macros, SETMATCH and SETNMATCH for use
9289         when setting *_matches to a value that may be
9290         NOMATCH/UNSPEC/TRUE/FALSE.
9291         [2ba622e15a4d]
9292
9293         * parse.yacc:
9294         Add NOMATCH and UNSPEC defines (-1 and -2 respectively) and use
9295         these in parse.yacc. Also in parse.yacc initialize the *_matches
9296         vars to UNSPEC and add two macros, SETMATCH and SETNMATCH for use
9297         when setting *_matches to a value that may be
9298         NOMATCH/UNSPEC/TRUE/FALSE.
9299         [746b519e41a6]
9300
9301         * parse.yacc:
9302         Initialize runas to -2, not -1 since we need to be able to
9303         distinguish between the initialized value and the value of a non-
9304         match when passing along the runas value to multiple commands.
9305
9306         The result of this is that an unmatched runas is now set to -1, not
9307         0. This is required now that parse.c treats a FALSE value for runas
9308         as being explicitly denied.
9309         [7791ed3621f6]
9310
9311 2004-06-03  Todd C. Miller  <Todd.Miller@courtesan.com>
9312
9313         * sudo.c, visudo.c:
9314         Error out if argc < 1.
9315         [ce6b2a9eda3c]
9316
9317         * getprogname.c:
9318         Error out if argc < 1.
9319         [c566cce8dc78]
9320
9321         * configure, configure.in:
9322         Add tests for what libs we need to link with for ldap and for
9323         whether or not lber.h needs to be explicitly included.
9324         [b2e9729cc4e7]
9325
9326 2004-06-03  Aaron Spangler  <aaron777@gmail.com>
9327
9328         * ldap.c:
9329         Solaris native LDAP build fix
9330         [39929e40eb11]
9331
9332 2004-06-01  Todd C. Miller  <Todd.Miller@courtesan.com>
9333
9334         * ldap.c:
9335         Set edn to NULL is ldap_get_dn() fails to avoid potential use of an
9336         unset variable.
9337         [6a4c20a66f98]
9338
9339         * sudo.h:
9340         Add prototype for sudo_ldap_list_matches
9341         [443b007a8dab]
9342
9343         * configure, configure.in:
9344         Better check for dirfd macro--we now set HAVE_DIRFD for the macro
9345         version too. Added check for dd_fd in `DIR' if no dirfd is found;
9346         this is now used to confitionally define the dirfd macro in
9347         compat.h.
9348         [567656978f7e]
9349
9350         * config.h.in:
9351         Better check for dirfd macro--we now set HAVE_DIRFD for the macro
9352         version too. Added check for dd_fd in `DIR' if no dirfd is found;
9353         this is now used to confitionally define the dirfd macro in
9354         compat.h.
9355         [34eace4faec8]
9356
9357         * compat.h:
9358         Better check for dirfd macro--we now set HAVE_DIRFD for the macro
9359         version too. Added check for dd_fd in `DIR' if no dirfd is found;
9360         this is now used to confitionally define the dirfd macro in
9361         compat.h.
9362         [8d50ff1bbf2a]
9363
9364         * closefrom.c:
9365         Only check /proc/$$/fd if we have the dirfd function/macro.
9366         [15e3ccce7553]
9367
9368         * compat.h, config.h.in, configure, configure.in:
9369         Add a check for a dirfd() function (like Linux) and add a dirfd
9370         macro in compat.h if there is no dirfd() function or macro.
9371         [1e95756edb50]
9372
9373         * closefrom.c, getcwd.c:
9374         dirfd() is now defined in compat.h as needed.
9375         [bb1d79271188]
9376
9377         * CHANGES:
9378         Clarify closefrom() note.
9379         [f4e4a5508dda]
9380
9381         * parse.c:
9382         When checking for a command in the directory, only copy the base dir
9383         once.
9384         [7a3276808b87]
9385
9386         * closefrom.c:
9387         If there is a /proc/$$/fd directory, behave like the Solaris
9388         closefrom() and only close the descriptors listed therein.
9389         [19de23779e84]
9390
9391         * alloc.c:
9392         compat.h guarantees INT_MAX is defined.
9393         [1bf0c79d4606]
9394
9395         * compat.h:
9396         Add definitions of OPEN_MAX and INT_MAX for those without it and
9397         remove definition of RLIM_INFINITY (now unused).
9398         [f827d1ebf96e]
9399
9400         * CHANGES, alloc.c, check.c, compat.h, find_path.c, getcwd.c, parse.c,
9401         sudo.c, sudo.h, visudo.c:
9402         Use PATH_MAX, not MAXPATHLEN since the former is standardized.
9403         [59788f211c24]
9404
9405 2004-05-31  Todd C. Miller  <Todd.Miller@courtesan.com>
9406
9407         * CHANGES:
9408         sync
9409         [d32fa124f1ad]
9410
9411         * RUNSON:
9412         Add some entries that were mailed in a while ago
9413         [ff8d5bfec54e]
9414
9415         * closefrom.c:
9416         o sysconf returns a long, not an int. o check for negative return
9417         value from sysconf/getdtablesize and use OPEN_MAX in this case. o
9418         define OPEN_MAX to 256 for those without it (a fair guess...)
9419         [ccf81ae6deb2]
9420
9421 2004-05-30  Todd C. Miller  <Todd.Miller@courtesan.com>
9422
9423         * UPGRADE:
9424         Mention change in parse order for RunAs entries.
9425         [dc73b0bca617]
9426
9427         * configure:
9428         regen
9429         [07cce8e0534e]
9430
9431 2004-05-29  Todd C. Miller  <Todd.Miller@courtesan.com>
9432
9433         * INSTALL, README.LDAP, config.h.in, configure.in:
9434         o --with-ldap now takes an optional dir as a parameter o added
9435         check for ldap_initialize() and start_tls_s()
9436         [2b846c7974c6]
9437
9438         * README.LDAP:
9439         Fix some typos, word choice and formatting issues.
9440         [00dc8ca84b10]
9441
9442 2004-05-28  Todd C. Miller  <Todd.Miller@courtesan.com>
9443
9444         * tgetpass.c:
9445         Use SA_INTERRUPT so SunOS works correctly, avoid stdio and just use
9446         read/write as it is simpler.
9447         [30f5446ee8b0]
9448
9449         * configure, configure.in:
9450         Remove hack overriding cross-compiler check. It should no longer be
9451         needed.
9452         [22a6cbd88608]
9453
9454         * compat.h:
9455         Remove select() compat bits since we no longer use select().
9456         [d7bbf7cd36f5]
9457
9458         * CHANGES, tgetpass.c:
9459         Use alarm() instead of select() for the timeout for systems that
9460         don't fully/properly implement select().
9461         [d7cc60f15800]
9462
9463 2004-05-27  Todd C. Miller  <Todd.Miller@courtesan.com>
9464
9465         * CHANGES:
9466         synbc
9467         [132a39788e07]
9468
9469         * RUNSON:
9470         update
9471         [61ef508380c6]
9472
9473         * set_perms.c:
9474         Deal with systems that have no way of setting the effective uid such
9475         as nsr-tandem-nsk.
9476         [306e00e9b5a4]
9477
9478         * configure, configure.in:
9479         Define NO_SAVED_IDS if we don't find seteuid()
9480         [8588f18345cf]
9481
9482         * config.h.in, configure, configure.in:
9483         Add back check for setreuid() since NSK doesn't have it.
9484         [43127bd703d1]
9485
9486         * sudoers.cat, sudoers.man.in:
9487         regen
9488         [af4f4b20e422]
9489
9490         * CHANGES:
9491         sync
9492         [29ca3b699c24]
9493
9494         * BUGS:
9495         sync
9496         [3593f17f72ed]
9497
9498         * parse.c:
9499         In sudoers_lookup() return VALIDATE_NOT_OK if the runas user was
9500         explicitly denied and the command matched. This fixes a long-
9501         standing bug and makes: foo machine = (ALL) /usr/bin/blah
9502         foo machine = (!bar) /usr/bin/blah
9503
9504         equivalent to: foo machine = (ALL, !bar) /usr/bin/blah
9505         [2f5ee244985a]
9506
9507         * sudoers.pod:
9508         Clarify mail_noperm
9509         [3238b2d41989]
9510
9511 2004-05-20  Aaron Spangler  <aaron777@gmail.com>
9512
9513         * Makefile.in:
9514         Missing DESTDIR in make install for sudo_noexec.la
9515         [91431e821525]
9516
9517 2004-05-17  Todd C. Miller  <Todd.Miller@courtesan.com>
9518
9519         * sudo.cat, sudo.man.in, sudoers.cat, sudoers.man.in, visudo.cat,
9520         visudo.man.in:
9521         regen
9522         [cdfde0dcb556]
9523
9524         * TODO:
9525         sync
9526         [4799b7d8b62c]
9527
9528         * sudoers.pod:
9529         Remove fastboot/fasthalt (who still remembers these?) and add a
9530         minimal sudoedit example.
9531         [19d299f233cd]
9532
9533         * sample.sudoers:
9534         Remove fastboot/fasthalt (who still remembers these?) and add a
9535         minimal sudoedit example.
9536         [b1bca73d6250]
9537
9538         * UPGRADE, sudo.c, visudo.c:
9539         filesystem -> file system
9540         [1e1afaf30469]
9541
9542         * TROUBLESHOOTING:
9543         filesystem -> file system
9544         [39fb594e9338]
9545
9546         * CHANGES, INSTALL:
9547         filesystem -> file system
9548         [85948b608ffe]
9549
9550         * sudo.pod, sudoers.pod:
9551         Fix some minor typos and formatting goofs
9552         [e94d243a0b90]
9553
9554         * lex.yy.c:
9555         regen
9556         [2eed0ab1f4c4]
9557
9558         * visudo.pod:
9559         remove my email addr
9560         [b63262c0389b]
9561
9562         * sudo.pod, sudoers.pod, visudo.pod:
9563         Use @mansectform@ and @mansectsu@ everywhere Make man page
9564         references links with L<>
9565         [f459f4b9ddb9]
9566
9567         * parse.lex:
9568         Accept quoted globbing characters and pass them verbatim for
9569         fnmatch()
9570         [8248b86e9380]
9571
9572         * UPGRADE:
9573         Document that /tmp/.odus is gone.
9574         [3667b66af5bb]
9575
9576         * pathnames.h.in:
9577         No longer use /tmp/.odus as a possible timestamp dir unless
9578         specifically configured to do so. Instead, if no /var/run exists,
9579         use /var/adm/sudo or /usr/adm/sudo.
9580         [48d94c9f9ad4]
9581
9582         * configure:
9583         No longer use /tmp/.odus as a possible timestamp dir unless
9584         specifically configured to do so. Instead, if no /var/run exists,
9585         use /var/adm/sudo or /usr/adm/sudo.
9586         [058d7b8cf07b]
9587
9588         * aclocal.m4:
9589         No longer use /tmp/.odus as a possible timestamp dir unless
9590         specifically configured to do so. Instead, if no /var/run exists,
9591         use /var/adm/sudo or /usr/adm/sudo.
9592         [cf52c4c2803f]
9593
9594         * CHANGES:
9595         No longer use /tmp/.odus as a possible timestamp dir unless
9596         specifically configured to do so. Instead, if no /var/run exists,
9597         use /var/adm/sudo or /usr/adm/sudo.
9598         [6058c4cefcec]
9599
9600         * set_perms.c, sudo.c, tgetpass.c, visudo.c:
9601         Preliminary changes to support nsr-tandem-nsk. Based on patches
9602         from Tom Bates.
9603         [2e5f81834383]
9604
9605         * logging.c:
9606         Preliminary changes to support nsr-tandem-nsk. Based on patches
9607         from Tom Bates.
9608         [934bbe6872b6]
9609
9610         * check.c, compat.h:
9611         Preliminary changes to support nsr-tandem-nsk. Based on patches
9612         from Tom Bates.
9613         [390b698b5924]
9614
9615 2004-05-16  Todd C. Miller  <Todd.Miller@courtesan.com>
9616
9617         * CHANGES:
9618         There was no 1.6.7p6.
9619         [8013d2e6b062]
9620
9621         * BUGS, CHANGES:
9622         sync
9623         [c38b41f32857]
9624
9625         * Makefile.in:
9626         add missing files to DISTFILES
9627         [e6a80ad03039]
9628
9629         * sudo.cat, sudoers.cat, visudo.cat:
9630         regen
9631         [027bc9746dd5]
9632
9633         * sudoers.man.in:
9634         regen
9635         [f5e85ef686cf]
9636
9637         * Makefile.in:
9638         Fix some line wrap and update (c) year
9639         [bad1f46aa1ca]
9640
9641 2004-04-28  Aaron Spangler  <aaron777@gmail.com>
9642
9643         * README.LDAP:
9644         Build Note
9645         [7a061248249b]
9646
9647 2004-04-07  Aaron Spangler  <aaron777@gmail.com>
9648
9649         * Makefile.in:
9650         Fix install-dirs
9651         [be0726dd92e7]
9652
9653 2004-04-05  Todd C. Miller  <Todd.Miller@courtesan.com>
9654
9655         * sudo.tab.c:
9656         regen
9657         [3f4f0d1ab8b9]
9658
9659         * visudo.c:
9660         In Exit() when used as a signal handler, emsg is a pointer so
9661         sizeof() is wrong so make it a #define instead. Also avoid using a
9662         negative exit value. Found by Aaron Campbell
9663         [78716a3a3fdc]
9664
9665 2004-03-24  Todd C. Miller  <Todd.Miller@courtesan.com>
9666
9667         * sudoers.pod:
9668         Remove bogus sentence about uids in a User_List. Document usernames
9669         vs. uid parsing in a Runas_List.
9670         [7ca510b5031c]
9671
9672         * parse.c, parse.h, parse.yacc, sudo.c, testsudoers.c, visudo.c:
9673         If the user specified a uid with the -u flag and the uid exists in
9674         the passwd file, set runas_user to the name, not the uid.
9675
9676         When comparing usernames in sudoers, if a name is really a uid
9677         (starts with '#') compare it numerically to pw_uid.
9678         [8d6935d04673]
9679
9680 2004-03-22  Todd C. Miller  <Todd.Miller@courtesan.com>
9681
9682         * auth/kerb5.c:
9683         krb5_mcc_ops should be const; Johnny C. Lam
9684         [aa8c753e426e]
9685
9686 2004-02-28  Aaron Spangler  <aaron777@gmail.com>
9687
9688         * CHANGES, config.h.in, ldap.c:
9689         Added start_tls support
9690         [7ef864c15b69]
9691
9692 2004-02-14  Todd C. Miller  <Todd.Miller@courtesan.com>
9693
9694         * Makefile.in:
9695         Clean up libtool stuff for 'make distclean' and add def_data.c,
9696         def_data.h to PARSESRCS.
9697         [bf9bb6bb06ab]
9698
9699 2004-02-14  Aaron Spangler  <aaron777@gmail.com>
9700
9701         * strlcat.c, strlcpy.c:
9702         Un-Fix last license munge
9703         [42654b77ac71]
9704
9705 2004-02-13  Todd C. Miller  <Todd.Miller@courtesan.com>
9706
9707         * configure:
9708         regen
9709         [e4de6b23a4dc]
9710
9711         * CHANGES, RUNSON, TODO:
9712         checkpoint
9713         [94e1ace84d5c]
9714
9715         * lex.yy.c, sudo.tab.c:
9716         regen
9717         [8ce784505643]
9718
9719         * auth/passwd.c, auth/rfc1938.c, auth/secureware.c, auth/securid.c,
9720         auth/securid5.c, auth/sia.c, auth/sudo_auth.c, auth/sudo_auth.h,
9721         emul/search.h, emul/utime.h:
9722         More to a less restrictive, ISC-style license.
9723         [a31b20e48003]
9724
9725         * auth/kerb5.c, auth/pam.c:
9726         More to a less restrictive, ISC-style license.
9727         [e41f92b41216]
9728
9729         * auth/dce.c, auth/fwtk.c, auth/kerb4.c:
9730         More to a less restrictive, ISC-style license.
9731         [87534c164a52]
9732
9733         * auth/bsdauth.c:
9734         More to a less restrictive, ISC-style license.
9735         [e21be6594b58]
9736
9737         * auth/afs.c, auth/aix_auth.c, zero_bytes.c:
9738         More to a less restrictive, ISC-style license.
9739         [6d234be91c5e]
9740
9741         * sudoers.man.in, sudoers.pod, testsudoers.c, tgetpass.c, visudo.c,
9742         visudo.man.in, visudo.pod:
9743         More to a less restrictive, ISC-style license.
9744         [b02aea324fd6]
9745
9746         * sudo_noexec.c:
9747         More to a less restrictive, ISC-style license.
9748         [a6da7631e0b2]
9749
9750         * strlcat.c, strlcpy.c, sudo.c, sudo.h, sudo.man.in, sudo.pod,
9751         sudo_edit.c:
9752         More to a less restrictive, ISC-style license.
9753         [71cdcc241e94]
9754
9755         * sigaction.c, strerror.c:
9756         More to a less restrictive, ISC-style license.
9757         [4bccdedca58a]
9758
9759         * ldap.c, logging.c, logging.h, parse.c, parse.h, pathnames.h.in,
9760         set_perms.c:
9761         More to a less restrictive, ISC-style license.
9762         [64d772d70ab3]
9763
9764         * getspwuid.c, goodpath.c, ins_2001.h, ins_classic.h, ins_csops.h,
9765         ins_goons.h, insults.h, interfaces.c, interfaces.h:
9766         More to a less restrictive, ISC-style license.
9767         [520381c60a54]
9768
9769         * find_path.c, getprogname.c:
9770         More to a less restrictive, ISC-style license.
9771         [f605d5eab6f1]
9772
9773         * fileops.c:
9774         More to a less restrictive, ISC-style license.
9775         [4129a8b38a67]
9776
9777         * env.c:
9778         More to a less restrictive, ISC-style license.
9779         [d5bd859757de]
9780
9781         * defaults.h:
9782         More to a less restrictive, ISC-style license.
9783         [008f5d5743f5]
9784
9785         * LICENSE, Makefile.in, alloc.c, check.c, closefrom.c, compat.h,
9786         defaults.c:
9787         More to a less restrictive, ISC-style license.
9788         [d8d7bfc8a18b]
9789
9790         * utime.c, version.h:
9791         More to a less restrictive, ISC-style license.
9792         [e2e038ad8209]
9793
9794         * parse.lex, parse.yacc:
9795         More to a less restrictive, ISC-style license.
9796         [2f5942e847a1]
9797
9798         * Makefile.binary:
9799         More to a less restrictive, ISC-style license.
9800         [1ed561734535]
9801
9802 2004-02-13  Aaron Spangler  <aaron777@gmail.com>
9803
9804         * sudoers2ldif:
9805         Merged in LDAP Support
9806         [3994c4d05947]
9807
9808         * ldap.c, sudo.c, sudo.h:
9809         Merged in LDAP Support
9810         [547eaa346fcc]
9811
9812         * def_data.c, def_data.h, def_data.in:
9813         Merged in LDAP Support
9814         [8fb255280e42]
9815
9816         * CHANGES, Makefile.in, README.LDAP, config.h.in, configure.in:
9817         Merged in LDAP Support
9818         [1038092a161e]
9819
9820 2004-02-08  Todd C. Miller  <Todd.Miller@courtesan.com>
9821
9822         * sudo.h, sudo_noexec.c:
9823         Only do "extern int errno" if errno is not a macro.
9824         [b2e02a08be8b]
9825
9826 2004-02-06  Todd C. Miller  <Todd.Miller@courtesan.com>
9827
9828         * set_perms.c:
9829         setreuid(0, 0) fails on QNX if the euid is not already 0 so set the
9830         euid first, then just call setuid(0) to set the real uid too.
9831         [f08546e2e0ee]
9832
9833         * set_perms.c:
9834         Use setresuid() and setreuid() for PERM_RUNAS when appropriate
9835         instead of seteuid() which may not exist.
9836         [ba508581befb]
9837
9838 2004-02-04  Todd C. Miller  <Todd.Miller@courtesan.com>
9839
9840         * LICENSE:
9841         2004
9842         [37425513a342]
9843
9844         * INSTALL, config.h.in, configure, configure.in, ins_classic.h:
9845         Add --with-pc-insults configure option
9846         [7daa5294c17b]
9847
9848         * visudo.man.in:
9849         Prefer VISUAL over EDITOR like old vipw did.
9850         [996252a4ab65]
9851
9852 2004-02-01  Todd C. Miller  <Todd.Miller@courtesan.com>
9853
9854         * sudo.man.in, sudoers.man.in:
9855         regen
9856         [a247f1c52eb9]
9857
9858         * sudoers.pod:
9859         Add a note that noexec is not a cure-all.
9860         [9e7fc535367d]
9861
9862         * sudoers.pod:
9863         Mention that disabling "root_sudo" is pretty pointless.
9864         [f38a415afba0]
9865
9866         * configure, configure.in:
9867         Substitute for root_sudo in sudoers.pod
9868         [ce483cfc86be]
9869
9870         * sudo.pod:
9871         Add sudoedit to the NAME section
9872         [51bc453ec2f6]
9873
9874         * sudoers.pod:
9875         Document that fact that setting ignore_dot in sudoers has no effect
9876         due to the fact that find_path() is called *before* sudoers is read.
9877         [6808df7e417c]
9878
9879 2004-01-30  Todd C. Miller  <Todd.Miller@courtesan.com>
9880
9881         * sudo_edit.c:
9882         Do not require _PATH_USRTMP to be set.
9883         [546f3270dd10]
9884
9885         * BUGS, CHANGES, TODO:
9886         sync
9887         [4205ddeab781]
9888
9889         * sudo.man.in:
9890         regen
9891         [e2143690a88a]
9892
9893         * sudo.pod:
9894         Clarify that when sudo is run by root with the SUDO_USER variable
9895         set, the sudoers lookup happens for root and not the SUDO_USER user.
9896         [47207bec1bdf]
9897
9898 2004-01-29  Todd C. Miller  <Todd.Miller@courtesan.com>
9899
9900         * auth/pam.c, auth/sudo_auth.c, interfaces.c, logging.c, parse.c,
9901         set_perms.c, sigaction.c, sudo.c, tgetpass.c:
9902         Use the SET, CLR and ISSET macros.
9903         [a8b0d7f1e8fd]
9904
9905         * fnmatch.c:
9906         Use the SET, CLR and ISSET macros.
9907         [1afbcba22ba6]
9908
9909         * defaults.c, env.c:
9910         Use the SET, CLR and ISSET macros.
9911         [2f39431e0a49]
9912
9913         * interfaces.h:
9914         MAIN was replaced with _SUDO_MAIN some time ago.
9915         [ea1b38f2ac9d]
9916
9917         * sudo.c:
9918         Don't look at prev_user until after we've parsed sudoers and done
9919         the password check. That way, if sudo/sudoedit is run from a root
9920         process that was invoked by sudo, we check sudoers for root, not the
9921         previous user. This makes sudoedit much more useful and means that
9922         for the sudo case, we get correct logging on who actually ran the
9923         command.
9924         [431dfbf20552]
9925
9926 2004-01-23  Todd C. Miller  <Todd.Miller@courtesan.com>
9927
9928         * sudo_edit.c:
9929         Add a comment describing why we need to be notified about our child
9930         stopping.
9931         [0bec3ce4b49d]
9932
9933 2004-01-22  Todd C. Miller  <Todd.Miller@courtesan.com>
9934
9935         * def_data.c, def_data.in:
9936         Update the noexec variable descriptions
9937         [9cb7f1aa0e57]
9938
9939         * sudoers.man.in, sudoers.pod:
9940         noexec now replaces more than just execve()
9941         [23cbdc0ee95c]
9942
9943         * sudo_noexec.c:
9944         Alas, all the world does not go through execve(2). Many systems
9945         still have an execv(2) system call, Linux 2.6 provides fexecve(2)
9946         and it is not uncommon for libc to have underscore ('_') versions of
9947         the functions to be used internally by the library. Instead of
9948         stubbing all these out by hand, define a macro and let it do the
9949         work. Extra exec functions pointed out by Reznic Valery.
9950         [9fa0cd871b0c]
9951
9952         * sudo.c, sudo_edit.c:
9953         Fix suspending the editor in -e mode. Because we do a fork() first
9954         we need to be notified when the child has been stopped and then send
9955         that same signal to ourself so the shell can do its job control
9956         thing.
9957         [773165eb6057]
9958
9959         * visudo.c:
9960         Use WIFEXITED and WEXITSTATUS macros. If there are systems out
9961         there that want to run sudo that still don't support these we can
9962         try to deal with that later.
9963         [6af68e4aff60]
9964
9965         * lex.yy.c:
9966         regen
9967         [403435317d5d]
9968
9969         * sudo.man.in, sudo.pod, sudoers.man.in, sudoers.pod:
9970         Document sudo -e / sudoedit
9971         [a80f6ea910af]
9972
9973         * configure, configure.in:
9974         fix typo
9975         [5020fcdc27f4]
9976
9977         * config.h.in, configure.in:
9978         Add SET/CLR/ISSET
9979         [03ff57286e7e]
9980
9981 2004-01-21  Todd C. Miller  <Todd.Miller@courtesan.com>
9982
9983         * sudo.c:
9984         Allow non-exclusive flags when invoked as sudoedit. Pretty print the
9985         long usage() line to not wrap (assumes 80 char display)
9986         [3941fa4004bb]
9987
9988         * Makefile.in, sudo.c:
9989         If sudo is invoked as "sudoedit" the -e flag is implied and no other
9990         flags are permitted.
9991         [929670b01293]
9992
9993         * sudo.h:
9994         Add a new flag, -e, that makes it possible to give users the ability
9995         to edit files with the editor of their choice as the invoking user,
9996         not the runas user. Temporary files are used for the actual edit
9997         and the temp file is copied over the original after the editor is
9998         done.
9999         [c4051414c1f4]
10000
10001         * Makefile.in, parse.c, parse.lex, sudo.c, sudo_edit.c:
10002         Add a new flag, -e, that makes it possible to give users the ability
10003         to edit files with the editor of their choice as the invoking user,
10004         not the runas user. Temporary files are used for the actual edit
10005         and the temp file is copied over the original after the editor is
10006         done.
10007         [37ac05c8ac3c]
10008
10009         * env.c, sudo.c:
10010         If real uid == 0 and the SUDO_USER environment variables is set, use
10011         that to determine the invoking user's true identity. That way the
10012         proper info gets logged by someone who has done "sudo su" but still
10013         uses sudo to as root. We can't do this for non-root users since
10014         that would open up a security hole, though perhaps it would be
10015         acceptable to use getlogin(2) on OSes where this a system call (and
10016         doesn't just look in the utmp file).
10017         [c2f9198708a1]
10018
10019         * pathnames.h.in:
10020         Add _PATH_TMP, _PATH_VARTMP and _PATH_USRTMP
10021         [7d9e5768df93]
10022
10023         * config.h.in, configure, configure.in:
10024         Add check for fchown(2)
10025         [a85df18798ed]
10026
10027 2004-01-20  Todd C. Miller  <Todd.Miller@courtesan.com>
10028
10029         * sudo.c:
10030         Back out portions of the -i commit that set NewArgv[0] in
10031         set_runaspw. It is far to late to set NewArgv[0] there and will have
10032         no effect anyway as cmnd and safe_cmnd have already been set.
10033         [c2d343430c1c]
10034
10035         * visudo.c, visudo.pod:
10036         Prefer VISUAL over EDITOR like old vipw did.
10037         [ae32f477cea3]
10038
10039 2004-01-19  Todd C. Miller  <Todd.Miller@courtesan.com>
10040
10041         * env.c, sudo.c:
10042         In -i mode always set new environment based on the runas user's
10043         passwd entry.
10044         [fa653b7887a8]
10045
10046 2004-01-18  Todd C. Miller  <Todd.Miller@courtesan.com>
10047
10048         * sudo.man.in, sudo.pod:
10049         Document the new -i flag and sync SYNOPSIS section with usage() in
10050         sudo.c. Also sort the flags in the OPTIONS section.
10051         [6aabc0ffc47e]
10052
10053         * sudo.c, sudo.h:
10054         o Add -i that acts similar to "su -", based on patches from David J.
10055         MacKenzie o Sort the flags in the usage message
10056         [c0fe7d6beffd]
10057
10058         * sudoers.man.in, sudoers.pod:
10059         Add a missing @runas_default@ substitution.
10060         [60516fe2d090]
10061
10062 2004-01-17  Todd C. Miller  <Todd.Miller@courtesan.com>
10063
10064         * sudo.c:
10065         Change euid to runas user before calling find_path().
10066         Unfortunately, though runas_user can be modified in sudoers we
10067         haven't parsed sudoers yet.
10068         [f469fdf2e313]
10069
10070         * sudoers.man.in, sudoers.pod:
10071         Add missing defintion of Parameter_List and use single pipes in the
10072         Defaults EBNF definition.
10073         [f7bed6e909bf]
10074
10075         * sudo.c:
10076         Fix a bug when set_runaspw() is used as a callback. We don't want
10077         to reset the contents of runas_pw if the user specified a user via
10078         the -u flag.
10079
10080         Avoid unnecessary passwd lookups in set_authpw(). In most cases we
10081         already have the info in runas_pw.
10082         [efc35623ba09]
10083
10084 2004-01-16  Todd C. Miller  <Todd.Miller@courtesan.com>
10085
10086         * check.c:
10087         Add Stan Lee / Uncle Ben quote to the lecture from RedHat
10088         [ebd5a76ccd7e]
10089
10090         * sudo.h:
10091         Update sudo_getepw() proto and add one for set_runaspw()
10092         [6ed65795c17f]
10093
10094         * parse.c:
10095         If we can't stat the command as root, try as the runas user instead.
10096         [ae713fca0e15]
10097
10098         * testsudoers.c, visudo.c:
10099         Add stub set_runaspw() function
10100         [42aa37050053]
10101
10102         * sudo.c:
10103         Add set_runaspw() function to fill in runas_pw. This will be used
10104         as a callback to update runas_pw when the runas user changes.
10105         [e570aa0088d0]
10106
10107         * env.c, sudo.c:
10108         PERM_RUNAS -> PERM_FULL_RUNAS
10109         [51eec6f9e89a]
10110
10111         * set_perms.c, sudo.h:
10112         Rename PERM_RUNAS -> PERM_FULL_RUNAS and add a PERM_RUNAS that just
10113         changes the euid.
10114         [877c6fe4d12c]
10115
10116         * getspwuid.c:
10117         Make sudo_pwdup() act like OpenBSD pw_dup() and allocate memory in
10118         one chunk for easy free()ing. Also change it from static to extern.
10119         [ab503260a7ec]
10120
10121         * defaults.c, defaults.h:
10122         Add callback support
10123         [a61c4ca983fb]
10124
10125         * mkdefaults:
10126         Add a callback field and use it for runas_default
10127         [96b69c27df5e]
10128
10129         * def_data.c, def_data.in:
10130         Add a callback field and use it for runas_default
10131         [d3e9f06872b8]
10132
10133 2004-01-15  Todd C. Miller  <Todd.Miller@courtesan.com>
10134
10135         * auth/fwtk.c:
10136         Add support for chalnecho and display server responses used by fwtk
10137         >= 2.0
10138         [b1870f7aaf0d]
10139
10140 2004-01-12  Todd C. Miller  <Todd.Miller@courtesan.com>
10141
10142         * sudoers.man.in, sudoers.pod:
10143         ld.so is ld.so.1 on solaris
10144         [2bf9a123fa4c]
10145
10146         * Makefile.in, config.h.in, configure, configure.in, sudo.c, sudo.h:
10147         Use closefrom() instead of doing the equivalent inline.
10148         [7e3ef6072884]
10149
10150         * closefrom.c:
10151         closefrom(3) for systems w/o it
10152         [35caf58bb636]
10153
10154 2004-01-09  Todd C. Miller  <Todd.Miller@courtesan.com>
10155
10156         * sudoers.man.in:
10157         Update from .pod file.
10158         [d4c94fc0e0c9]
10159
10160         * configure, configure.in:
10161         Substitute noexec_file for the sudoers man page
10162         [203d3376a551]
10163
10164         * sudo.man.in, sudo.pod:
10165         Mention noexec
10166         [014375ddbb06]
10167
10168         * sudoers.man.in, sudoers.pod:
10169         Document noexec
10170         [49a65d06201f]
10171
10172         * auth/pam.c, config.h.in, configure.in:
10173         Move PAM_CONST macro definition from config.h to pam.c where it
10174         belongs. We can't have this in config.h since that gets included too
10175         early.
10176         [e64748071637]
10177
10178         * auth/pam.c, config.h.in, configure, configure.in:
10179         Some PAM implementations put their headers in /usr/include/pam
10180         instead of /usr/include/security.
10181         [8cc749e9575c]
10182
10183         * configure.in:
10184         I missed changing the EXEC macro -> EXECV here when I changed this
10185         in config.h.in and sudo.c a while ago.
10186         [6f5afac7789f]
10187
10188         * acsite.m4:
10189         OpenBSD vax/m88k/hppa don't do shared libs
10190         [e4901d958bb7]
10191
10192         * configure, configure.in:
10193         o merge the hpux case entries into a single entry w/ its own sub-
10194         case statement. o HP-UX >= 11 support getspnam(), use it in
10195         preference to getprpwuid()
10196         [0caad428894e]
10197
10198         * configure, configure.in:
10199         eval $shrext so that it expands nicely on MacOS X
10200         [40419343eef8]
10201
10202         * Makefile.in:
10203         Don't lie about making a module, it does the wrong thing on mach
10204         [7629b28f5688]
10205
10206         * ltmain.sh:
10207         Remove requirement that libs must begin with "lib". They don't when
10208         we point directly at the lib using LD_PRELOAD or its equivalent.
10209         [d66f3de6ec85]
10210
10211         * acsite.m4:
10212         Disable support for c++, f77 and java. We don't need it, it takes a
10213         lot of time, and it hosed our check for shared lib support.
10214         [4f5749c52ce4]
10215
10216         * configure:
10217         regen
10218         [160865e9d15f]
10219
10220         * configure.in:
10221         Call AC_ENABLE_SHARED and check the status of enable_shared to know
10222         when shared libs are available.
10223         [42504c1668fc]
10224
10225         * acsite.m4:
10226         Duh, OpenBSD suports shared libs too
10227         [8e3cd9417475]
10228
10229         * config.h.in, configure.in:
10230         Only OpenPAM and Linux PAM use const qualifiers.
10231         [b2f76476e866]
10232
10233         * configure, configure.in:
10234         o No need to check for sed, libtool config does that for us o move
10235         check for --with-noexec until after libtool magic is run so we can
10236         use $can_build_shared and $shrext
10237         [668c656e89cc]
10238
10239         * ltmain.sh:
10240         Don't print a bunch of crap about library installs since we are not
10241         really installing a library.
10242         [83fbcad29fe4]
10243
10244         * env.c:
10245         Make format_env() varargs Add noexec support for Darwin, MacOS X,
10246         Irix, and Tru64
10247         [468885d75d10]
10248
10249         * acsite.m4, ltconfig, ltmain.sh:
10250         Update to libtool 1.5 with local changes: o no ldconfig in the
10251         finish step o assume no libprefix or version is needed
10252         [4961cffc3797]
10253
10254         * sudo_noexec.c:
10255         Fix compilation under K&R
10256         [8b309bf0b1b2]
10257
10258 2004-01-06  Todd C. Miller  <Todd.Miller@courtesan.com>
10259
10260         * CHANGES:
10261         checkpoint
10262         [3c368badab32]
10263
10264         * sudo_noexec.c:
10265         stub execve() that just returns EACCES; used for noexec
10266         functionality
10267         [1297acae283a]
10268
10269         * sudo.tab.h:
10270         Regen w/ updated byacc from OpenBSD; fixes a gcc 3.2 issue with
10271         generated code.
10272         [dcab78c49273]
10273
10274         * sudo.tab.c:
10275         Regen w/ updated byacc from OpenBSD; fixes a gcc 3.2 issue with
10276         generated code.
10277         [0a61c735eabe]
10278
10279 2004-01-05  Todd C. Miller  <Todd.Miller@courtesan.com>
10280
10281         * def_data.c, def_data.h, def_data.in:
10282         Move the environment defaults to the end and shorten a few of the
10283         descriptions.
10284         [66787b9c612c]
10285
10286         * configure, configure.in:
10287         no shared libs on ultris or convexos
10288         [2c5f3c456e32]
10289
10290         * Makefile.in, configure, configure.in:
10291         Build sudo_noexec shared object using libtool; could use some
10292         cleanup.
10293         [373f483555dd]
10294
10295         * acsite.m4, ltconfig, ltmain.sh:
10296         libtool scaffolding
10297         [c903a42e3d90]
10298
10299         * parse.yacc, sudo.tab.c:
10300         Merge the NOPASSWD/PASSWD and NOEXEC/EXEC rules so that order is not
10301         important.
10302         [c6e8a34639a4]
10303
10304         * defaults.c, env.c, lex.yy.c, parse.c, parse.h, parse.lex,
10305         parse.yacc, pathnames.h.in, sudo.c, sudo.h, sudo.tab.c:
10306         update copyright year
10307         [a16372ae1711]
10308
10309         * configure, configure.in, defaults.c, env.c, pathnames.h.in:
10310         Add _PATH_SUDO_NOEXEC and corresponding --with-noexec configure
10311         option. The default value of noexec_file is set to this.
10312         [7d88e1d3c494]
10313
10314         * def_data.c, def_data.h, def_data.in, env.c, lex.yy.c, parse.c,
10315         parse.h, parse.lex, parse.yacc, sudo.c, sudo.h, sudo.tab.c,
10316         sudo.tab.h:
10317         Add support for preloading a shared object containing a dummy
10318         execve() function that just sets error and returns -1. This adds a
10319         "noexec_file" option to load the filename as well as a "noexec" flag
10320         to enable it unconditionally. There is also a NOEXEC tag that can
10321         be attached to specific commands and an EXEC tag to disable it.
10322         [c8b6712feb91]
10323
10324         * mkdefaults:
10325         add missing newline to usage statement
10326         [e84746618362]
10327
10328         * config.h.in, sudo.c:
10329         Rename EXEC macro -> EXECV
10330         [ddaa0c027299]
10331
10332         * logging.c:
10333         Don't truncate usernames to 8 characters in the log message.
10334         [f62a20f27075]
10335
10336         * check.c, sudoers.man.in, sudoers.pod:
10337         Update copyright year
10338         [ca9964054085]
10339
10340         * check.c, def_data.c, def_data.h, def_data.in, sudoers.man.in,
10341         sudoers.pod:
10342         Add a new option, lecture_file, that can be used to point to a
10343         custom sudo lecture.
10344         [940133231216]
10345
10346 2003-12-31  Todd C. Miller  <Todd.Miller@courtesan.com>
10347
10348         * auth/aix_auth.c, auth/bsdauth.c, auth/fwtk.c, auth/pam.c,
10349         auth/sudo_auth.c:
10350         Add a zero_bytes() function to do the equivalent of bzero in such a
10351         way that will heopfully not be optimized away by sneaky compilers.
10352         [161b6d74bfb4]
10353
10354         * zero_bytes.c:
10355         Add a zero_bytes() function to do the equivalent of bzero in such a
10356         way that will heopfully not be optimized away by sneaky compilers.
10357         [d035abf0af94]
10358
10359         * Makefile.in, sudo.h:
10360         Add a zero_bytes() function to do the equivalent of bzero in such a
10361         way that will heopfully not be optimized away by sneaky compilers.
10362         [ff136de3e255]
10363
10364         * err.c:
10365         Use #ifdef __STDC__, not #if __STDC__.
10366         [6889dd6bc51a]
10367
10368 2003-12-30  Todd C. Miller  <Todd.Miller@courtesan.com>
10369
10370         * mkdefaults:
10371         Always put at least one space between the def_* macro name and its
10372         definition.
10373         [6b3ad0e6619a]
10374
10375         * configure, configure.in:
10376         Adjust code for --without-lecture to match new values.
10377         [062aa788a6b9]
10378
10379         * visudo.man.in:
10380         regen after pasto fix
10381         [3deec16906c0]
10382
10383         * sudoers.man.in, sudoers.pod:
10384         Document that "lecture" has changed from a flag to a tuple.
10385         [e2c03062b533]
10386
10387         * check.c, def_data.c, def_data.h, def_data.in, defaults.c,
10388         defaults.h, logging.c, mkdefaults, parse.c, sudo.c, sudo.h:
10389         Add support for tuples in def_data.in; these are implemented as an
10390         enum type. Currently there is only a single tuple enum but in the
10391         future we may have one tuple enum per T_TUPLE entry in def_data.in.
10392         Currently listpw, verifypw and lecture are tuples. This avoids the
10393         need to have two entries (one ival, one str) for pwflags and syslog
10394         values.
10395
10396         lecture is now a tuple with the following values: never, once,
10397         always
10398
10399         We no longer use both an int and string entry for syslog facilities
10400         and priorities. Instead, there are logfac2str() and logpri2str()
10401         functions that get used when we need to print the string values.
10402         [5293f946c836]
10403
10404         * auth/aix_auth.c, auth/bsdauth.c, auth/fwtk.c, auth/pam.c,
10405         auth/rfc1938.c, auth/securid5.c, auth/sia.c, auth/sudo_auth.c,
10406         check.c, def_data.h, defaults.c, defaults.h, env.c, find_path.c,
10407         logging.c, mkdefaults, parse.c, parse.yacc, set_perms.c, sudo.c,
10408         sudo.tab.c, visudo.c:
10409         Create def_* macros for each defaults value so we no longer need the
10410         def_{flag,ival,str,list,mode} macros (which have been removed). This
10411         is a step toward more flexible data types in def_data.in.
10412         [009c02934106]
10413
10414         * TODO:
10415         checkpoint
10416         [0a99a4bb5d15]
10417
10418 2003-12-23  Todd C. Miller  <Todd.Miller@courtesan.com>
10419
10420         * sudo.c:
10421         If we are in -k/-K mode, just spew to stderr. It is not unusual for
10422         users to place "sudo -k" in a .logout file which can cause sudo to
10423         be run during reboot after the YP/NIS/NIS+/LDAP/etc daemon has died.
10424         Previously, this would result in useless mail and logging.
10425         [d282e7ed63af]
10426
10427 2003-12-16  Todd C. Miller  <Todd.Miller@courtesan.com>
10428
10429         * visudo.pod:
10430         fix pasto in VISUAL description
10431         [1c6a6148b5f9]
10432
10433 2003-12-10  Todd C. Miller  <Todd.Miller@courtesan.com>
10434
10435         * configure:
10436         regen
10437         [f44312c63799]
10438
10439         * CHANGES:
10440         checkpoint
10441         [0c42e38f78d5]
10442
10443         * TROUBLESHOOTING:
10444         Some OSes (like Solaris) allow export w/ nosuid too
10445         [973ce85ffa12]
10446
10447 2003-08-12  Todd C. Miller  <Todd.Miller@courtesan.com>
10448
10449         * compat.h:
10450         We don't use FD_ZERO anymore so just define FD_SET (if not already
10451         there).
10452         [d1c8c11905cd]
10453
10454 2003-06-29  Todd C. Miller  <Todd.Miller@courtesan.com>
10455
10456         * auth/pam.c:
10457         Fix a core dump on Solaris by preserving the pam_handle_t we used
10458         during authentication for pam_prep_user(). If we didn't
10459         authenticate (ie: ticket still valid), we call pam_init() from
10460         pam_prep_user(). This is something of a hack; it may be better to
10461         change the auth API and add an auth_final() function that acts like
10462         pam_prep_user().
10463         [f787de49b175]
10464
10465 2003-06-21  Todd C. Miller  <Todd.Miller@courtesan.com>
10466
10467         * set_perms.c:
10468         Add explicit declaration of printerr variable in function header
10469         (was defaulting to int which is OK but oh so K&R :-). From Theo.
10470         [492c2358783f]
10471
10472 2003-06-09  Todd C. Miller  <Todd.Miller@courtesan.com>
10473
10474         * config.h.in, configure.in:
10475         s/HAVE_STOW/USE_STOW/
10476         [4b99e1824ece]
10477
10478         * logging.c:
10479         Also exit waitpid() loop when pid == 0. Fixes a problem where the
10480         sudo process would spin eating up CPU until sendmail finished when
10481         it has to send mail.
10482         [ec3d5792b9b4]
10483
10484 2003-05-30  Todd C. Miller  <Todd.Miller@courtesan.com>
10485
10486         * fnmatch.c:
10487         Remove advertising clause, UCB has disavowed it
10488         [43a26bbd6628]
10489
10490         * fnmatch.3:
10491         Remove advertising clause, UCB has disavowed it
10492         [3ff24291bcfa]
10493
10494 2003-05-22  Todd C. Miller  <Todd.Miller@courtesan.com>
10495
10496         * parse.c:
10497         Don't assume that getgrnam() calls don't modify contents of struct
10498         passwd returned by getpwnam(). On FreeBSD w/ NIS this can happen.
10499         Based on a patch from Kirk Webb.
10500         [5574c68f60f3]
10501
10502 2003-05-06  Todd C. Miller  <Todd.Miller@courtesan.com>
10503
10504         * configure.in:
10505         missing ;;
10506         [22378f2a9d31]
10507
10508         * configure.in:
10509         darwin has a broken setreuid() in at least some versions
10510         [d572aed930d2]
10511
10512         * env.c:
10513         Fix an off by one error when reallocating the environment; Kevin Pye
10514         [3d98e7cf097a]
10515
10516 2003-04-30  Todd C. Miller  <Todd.Miller@courtesan.com>
10517
10518         * sudoers.pod:
10519         Fix User_Spec definition; SEKINE Tatsuo
10520         [49b0da65e090]
10521
10522 2003-04-28  Todd C. Miller  <Todd.Miller@courtesan.com>
10523
10524         * HISTORY:
10525         More info on the early days from Coggs.
10526         [9381ca10b06b]
10527
10528 2003-04-21  Todd C. Miller  <Todd.Miller@courtesan.com>
10529
10530         * auth/kerb5.c:
10531         remove errant semicolon that prevented compilation under heimdal
10532         [d2f2bb73a598]
10533
10534 2003-04-16  Todd C. Miller  <Todd.Miller@courtesan.com>
10535
10536         * testsudoers.c, tgetpass.c, visudo.c, visudo.man.in, visudo.pod:
10537         add DARPA credit on affected files
10538         [7020785ee50d]
10539
10540         * sudoers.pod:
10541         add DARPA credit on affected files
10542         [83b46318750b]
10543
10544         * sigaction.c, strerror.c, sudo.c, sudo.h, sudo.man.in, sudo.pod,
10545         sudoers.man.in:
10546         add DARPA credit on affected files
10547         [d8adf1c2ba22]
10548
10549         * set_perms.c:
10550         add DARPA credit on affected files
10551         [3d79fdabb582]
10552
10553         * pathnames.h.in:
10554         add DARPA credit on affected files
10555         [e334cdda422f]
10556
10557         * logging.c, parse.c:
10558         add DARPA credit on affected files
10559         [8f75f822755b]
10560
10561         * auth/passwd.c, auth/rfc1938.c, auth/secureware.c, auth/securid.c,
10562         auth/securid5.c, auth/sia.c, auth/sudo_auth.c, fileops.c,
10563         find_path.c, getprogname.c, getspwuid.c, goodpath.c, interfaces.c,
10564         interfaces.h:
10565         add DARPA credit on affected files
10566         [da66e28fb3f5]
10567
10568         * auth/kerb5.c, auth/pam.c:
10569         add DARPA credit on affected files
10570         [15da3021b49c]
10571
10572         * auth/afs.c, auth/aix_auth.c, auth/bsdauth.c, auth/dce.c,
10573         auth/fwtk.c, auth/kerb4.c, parse.lex, parse.yacc, utime.c,
10574         version.h:
10575         add DARPA credit on affected files
10576         [868d54cbddea]
10577
10578         * env.c:
10579         add DARPA credit on affected files
10580         [90239f51ef0a]
10581
10582         * defaults.c, defaults.h:
10583         add DARPA credit on affected files
10584         [6a64205fd1eb]
10585
10586         * compat.h:
10587         add DARPA credit on affected files
10588         [316a735783c4]
10589
10590         * Makefile.in, alloc.c, check.c:
10591         add DARPA credit on affected files
10592         [cd939e05c810]
10593
10594         * LICENSE:
10595         slightly different wording for the darpa credit
10596         [e468909c4a21]
10597
10598 2003-04-15  Todd C. Miller  <Todd.Miller@courtesan.com>
10599
10600         * LICENSE:
10601         Add DARPA credit
10602         [8eb20e2cd63e]
10603
10604 2003-04-14  Todd C. Miller  <Todd.Miller@courtesan.com>
10605
10606         * auth/kerb5.c:
10607         Use krb5_princ_component() instead of krb5_princ_realm() for MIT
10608         Kerberos like we did before I messed things up ;-)
10609
10610         Use krb5_principal_get_comp_string() to do the same thing w/
10611         Heimdal. I'm not sure if the component should be 0 or 1 in this
10612         case.
10613
10614         #define ENCTYPE_DES_CBC_MD5 ETYPE_DES_CBC_MD5 for Heimdal since
10615         older versions lack ENCTYPE_DES_CBC_MD5. This is gross and there
10616         should be a configure check for this I guess.
10617         [74919a3933fe]
10618
10619 2003-04-13  Todd C. Miller  <Todd.Miller@courtesan.com>
10620
10621         * sample.sudoers:
10622         builtin -> built-in; Jason McIntyre
10623         [027f2187923e]
10624
10625         * TROUBLESHOOTING, config.h.in, configure, configure.in:
10626         builtin -> built-in; Jason McIntyre
10627         [70b81ac48943]
10628
10629         * sudoers.pod:
10630         built in -> built-in; Jason McIntyre
10631         [da658ef5138d]
10632
10633 2003-04-09  Todd C. Miller  <Todd.Miller@courtesan.com>
10634
10635         * CHANGES:
10636         checkpoint for 1.6.7p3
10637         [da85f989fadf]
10638
10639         * HISTORY:
10640         Update info on the early years @ SUNY-Buffalo from Cliff Spencer.
10641         Amazingly, sudo source from 1985 is available via groups.google.com
10642         [39e0fc85b89f]
10643
10644         * sudo.c:
10645         Don't change rl.rlim_max for RLIMIT_CORE. We need only set
10646         rl.rlim_cur to 0 to turn off core dumps. This may be needed for the
10647         RLIMIT_CORE restoration on some OSes.
10648         [7e2c1a7adfd8]
10649
10650 2003-04-04  Todd C. Miller  <Todd.Miller@courtesan.com>
10651
10652         * auth/kerb5.c:
10653         Make this compile on Heimdal and MIT Kerberos 5
10654         [44c07d615868]
10655
10656         * config.h.in, configure, configure.in:
10657         Check for heimdal even if we found krb5-config and define
10658         HAVE_HEIMDAL.
10659         [aba0126f0059]
10660
10661         * auth/kerb5.c:
10662         Replace ETYPE_DES_CBC_MD5 with ENCTYPE_DES_CBC_MD5. The former is
10663         no longer defined by MIT kerb5 (though it used to be and indeed
10664         remains so in Heimdal).
10665         [e5a6c64d7cd5]
10666
10667 2003-04-03  Todd C. Miller  <Todd.Miller@courtesan.com>
10668
10669         * mkinstalldirs:
10670         Remove newer stuff that passes multiple (possibly duplicate)
10671         directories to "mkdir -p" since that seems to break on Tru64 Unix at
10672         least. This basically brings back what shipped with sudo 1.6.6.
10673         [f2a1abd872b3]
10674
10675 2003-04-02  Todd C. Miller  <Todd.Miller@courtesan.com>
10676
10677         * auth/kerb5.c:
10678         Correct number of args to krb5_principal_get_realm() and fix an
10679         unclosed comment that hid the bug.
10680         [0b37f8ce7824]
10681
10682         * configure:
10683         regen
10684         [1876cb840fe0]
10685
10686         * configure.in:
10687         ++version
10688         [480aff7c048e]
10689
10690         * README:
10691         ++version
10692         [488e0bbff613]
10693
10694         * Makefile.in:
10695         ++version
10696         [97ef63cedc38]
10697
10698         * INSTALL.binary:
10699         ++version
10700         [a506204e77d0]
10701
10702         * INSTALL:
10703         ++version
10704         [555aeba5c2bf]
10705
10706         * CHANGES, version.h:
10707         ++version
10708         [f66985a64063]
10709
10710         * BUGS:
10711         ++version
10712         [ea3573432412]
10713
10714         * configure.in:
10715         use krb5-config to determine Kerberos V details if it exists
10716         [7b46bbdaf774]
10717
10718         * alloc.c, auth/fwtk.c, auth/rfc1938.c, auth/securid.c,
10719         auth/securid5.c, auth/sia.c, check.c, compat.h, defaults.c, env.c,
10720         find_path.c, interfaces.c, logging.c, parse.c, sudo.c, sudo.h,
10721         testsudoers.c, visudo.c:
10722         Use warn/err and getprogname() throughout. The main exception is
10723         openlog(). Since the admin may be filtering logs based on the
10724         program name in the log files, hard code this to "sudo".
10725         [9f180d015cfa]
10726
10727         * Makefile.in:
10728         Add getprogname.c and err.c
10729         [d411c54a07dc]
10730
10731         * configure:
10732         regen
10733         [6d585d391acc]
10734
10735         * config.h.in, configure.in:
10736         Add checks for getprognam(), __progname and err.h
10737         [bcbccf61d34a]
10738
10739         * emul/err.h:
10740         For systems withour err/warn functions.
10741         [1b33118884d9]
10742
10743         * err.c:
10744         For systems withour err/warn functions.
10745         [26721f6b041f]
10746
10747         * getprogname.c:
10748         For systems neither getprogname() nor __progname; uses Argv[0].
10749         [841cf42af1eb]
10750
10751 2003-04-01  Todd C. Miller  <Todd.Miller@courtesan.com>
10752
10753         * CHANGES:
10754         checkpoint for 1.6.7p1
10755         [5bfdaf441dce]
10756
10757         * sudo.c, testsudoers.c:
10758         fix strlcpy() rval check (innocuous)
10759         [e05ac7e0d1f3]
10760
10761         * check.c:
10762         oflow detection in expand_prompt() was faulty (false positives). The
10763         count was based on strlcat() return value which includes the length
10764         of the entire string.
10765         [086c5a0acb25]
10766
10767 2003-03-31  Todd C. Miller  <Todd.Miller@courtesan.com>
10768
10769         * RUNSON, TODO:
10770         checkpoint for the sudo 1.6.7 release
10771         [096bab4da29a] [SUDO_1_6_7]
10772
10773         * CHANGES:
10774         checkpoint for the sudo 1.6.7 release
10775         [87322187ed78]
10776
10777 2003-03-24  Todd C. Miller  <Todd.Miller@courtesan.com>
10778
10779         * logging.c:
10780         g/c unused variable
10781         [c57cd4a17765]
10782
10783         * configure:
10784         regen
10785         [e7c1f581dfac]
10786
10787         * configure.in:
10788         use man sections 8 and 5 for csops
10789         [87de581bda88]
10790
10791 2003-03-21  Todd C. Miller  <Todd.Miller@courtesan.com>
10792
10793         * configure:
10794         regen
10795         [cb1433a9c7a1]
10796
10797         * configure.in:
10798         Add -lskey or -lopie directly to SUDO_LIBS instead of having
10799         AC_CHECK_LIB() add them to LIBS. Fixes visudo linkage.
10800         [ac5667978939]
10801
10802         * configure:
10803         regen
10804         [638459118a2a]
10805
10806         * configure.in:
10807         Add --with-blibpath for AIX. An alternate libpath may be specified
10808         or
10809         -blibpath support can be disabled. Also change conifgure such that
10810         -blibpath is not specified if no -L libpaths were added to
10811         SUDO_LDFLAGS.
10812         [c7d17b480cad]
10813
10814         * aclocal.m4:
10815         Add --with-blibpath for AIX. An alternate libpath may be specified
10816         or
10817         -blibpath support can be disabled. Also change conifgure such that
10818         -blibpath is not specified if no -L libpaths were added to
10819         SUDO_LDFLAGS.
10820         [37022e991575]
10821
10822         * INSTALL:
10823         Add --with-blibpath for AIX. An alternate libpath may be specified
10824         or
10825         -blibpath support can be disabled. Also change conifgure such that
10826         -blibpath is not specified if no -L libpaths were added to
10827         SUDO_LDFLAGS.
10828         [4b4bbe5bbe1b]
10829
10830         * configure.in:
10831         add AIX blibpath support
10832         [16ba788bf086]
10833
10834         * INSTALL, configure.in:
10835         --with-skey and --with-opie now take an option directory argument
10836         This obsoletes a --with-csops hack (/tools/cs/skey)
10837
10838         Also remove the remaining direct uses of "echo"
10839         [5b4986a90c03]
10840
10841 2003-03-20  Todd C. Miller  <Todd.Miller@courtesan.com>
10842
10843         * configure.in:
10844         Detect KTH Kerberos IV and deal with it. Also make -lroken optional
10845         for KTH Kerberos IV and V.
10846         [119f97b48e18]
10847
10848         * aclocal.m4:
10849         Add SUDO_APPEND_LIBPATH function that add -L/path/to/dir (and
10850         -R/path/to/dir if $with_rpath) to the specified variable.
10851         [e55e49d076ce]
10852
10853         * INSTALL, configure.in:
10854         Add -R/path/to/libs for Solaris and SVR4. There is a new configure
10855         option, --with-rpath to control this behavior.
10856         [d4730c5399ab]
10857
10858         * configure.in:
10859         for kerb4 put libdes after libkrb on the link line
10860         [5c566100eab6]
10861
10862         * auth/kerb4.c:
10863         typo
10864         [6541b72b64a3]
10865
10866         * configure.in:
10867         fix kerberos lib check when a path is specified
10868         [ae833a914c6f]
10869
10870         * logging.c:
10871         Fix boolean thinko in SIGCHLD reaper and call reapchild after
10872         sending mail instead of doing a conditional sudo_waitpid.
10873         [86fa9a35df5a]
10874
10875 2003-03-19  Todd C. Miller  <Todd.Miller@courtesan.com>
10876
10877         * configure:
10878         regen
10879         [e6275cf528ba]
10880
10881         * configure.in:
10882         replace =DIR with [=DIR] where sensible
10883         [c39a59173b38]
10884
10885         * configure.in:
10886         o Use AC_MSG_* instead of "echo" o New Kerberos include/lib
10887         detection based on openssh's configure.in
10888         [5b7a340912df]
10889
10890         * INSTALL:
10891         --with-kerb4 and --with-kerb5 now take an optional argument.
10892         [71ed87fc9c64]
10893
10894 2003-03-16  Todd C. Miller  <Todd.Miller@courtesan.com>
10895
10896         * auth/securid.c:
10897         Kill remaining strcpy(), the programmer's guide says username is 32
10898         bytes.
10899         [bdba70fcd08d]
10900
10901         * auth/kerb4.c:
10902         trat uid_t as unsigned long for printf and use snprintf, not sprintf
10903         [8072f5f8966d]
10904
10905         * auth/rfc1938.c:
10906         use snprintf
10907         [fc0c70c665fe]
10908
10909 2003-03-15  Todd C. Miller  <Todd.Miller@courtesan.com>
10910
10911         * auth/afs.c, auth/aix_auth.c, auth/bsdauth.c, auth/dce.c,
10912         auth/fwtk.c, auth/kerb4.c, auth/kerb5.c, auth/pam.c, auth/passwd.c,
10913         auth/rfc1938.c, auth/sudo_auth.c:
10914         update copyright year
10915         [b0a10ccb1d0e]
10916
10917         * sudo.man.in, sudoers.man.in, visudo.man.in:
10918         update copyright year
10919         [8fce0034eb51]
10920
10921         * LICENSE, Makefile.in, aclocal.m4, alloc.c, check.c, compat.h,
10922         configure.in, env.c, find_path.c, interfaces.c, logging.c, parse.c,
10923         parse.lex, parse.yacc, set_perms.c, sudo.c, sudo.h, sudo.pod,
10924         sudoers.pod, testsudoers.c, version.h, visudo.c, visudo.pod:
10925         update copyright year
10926         [d541e75fe520]
10927
10928         * check.c, env.c, sudo.c:
10929         Cast [ug]ids to unsigned long and printf with %lu
10930         [2ede64d3592b]
10931
10932         * configure:
10933         regen
10934         [c7c3245bdf3e]
10935
10936         * configure.in:
10937         correct error messages for --with-sudoers-{mode,uid,gid}
10938         [77fc15b1c9db]
10939
10940         * alloc.c:
10941         make the malloc(0) error specific to each function to aid tracking
10942         down bugs.
10943         [a58c34374b4b]
10944
10945         * alloc.c:
10946         deal with platforms where size_t is signed and there is no SIZE_MAX
10947         or SIZE_T_MAX
10948         [7192abb4ab4e]
10949
10950         * auth/kerb5.c:
10951         Make this compile w/ Heimdal and fix some gcc warnings.
10952         [f52f026f31c2]
10953
10954         * sudo.c:
10955         Use stat_sudoers macro so --with-stow can work
10956         [c3674735c139]
10957
10958         * INSTALL, config.h.in, configure, configure.in:
10959         Add support for --with-stow based on patches from Robert Uhl
10960         [b274cc1dd52c]
10961
10962         * env.c:
10963         fix indentation
10964         [110d9f1721b1]
10965
10966         * configure.in:
10967         back out rev 1.352
10968         [1eee91c83f11]
10969
10970         * lex.yy.c:
10971         regen
10972         [72fba1c9590b]
10973
10974         * parse.lex:
10975         use strlcpy, not strncpy
10976         [4faccbaeccef]
10977
10978         * set_perms.c:
10979         Fix typo; check pw_uid, not pw_gid after setusercontext() failure.
10980         [33bf0d18fdc1]
10981
10982         * logging.c:
10983         use pid_t
10984         [3e0536993d2c]
10985
10986 2003-03-14  Todd C. Miller  <Todd.Miller@courtesan.com>
10987
10988         * strlcat.c, strlcpy.c:
10989         Make gcc shutup about unused rcsid
10990         [1669a0c74e9e]
10991
10992         * interfaces.c:
10993         Move the n == 0 check for the non-getifaddrs cas
10994         [2460be061b2a]
10995
10996         * auth/rfc1938.c:
10997         skeychallenge() on NetBSD take a size parameter
10998         [05acc2012801]
10999
11000         * configure:
11001         regen
11002         [24bccf4749e8]
11003
11004         * configure.in:
11005         put -ldl after -lpam, not before; fixes static linking on Linux
11006         [7f06b7b2b4d8]
11007
11008         * interfaces.c:
11009         Avoid malloc(0) and fix the loop invariant for the getifaddrs()
11010         case.
11011         [239a55068646]
11012
11013         * sudo.cat, sudoers.cat, visudo.cat:
11014         regen
11015         [4a2eed3981ca]
11016
11017         * sudo.man.in, sudoers.man.in, visudo.man.in:
11018         regen
11019         [2c96ea2cf930]
11020
11021         * Makefile.in:
11022         Preserve copyright notice from .pod file in .man.in file
11023         [519fbd09aebc]
11024
11025         * visudo.pod:
11026         Add sudoers(5) to SEE ALSO
11027         [77ecfe3aedf1]
11028
11029 2003-03-13  Todd C. Miller  <Todd.Miller@courtesan.com>
11030
11031         * lex.yy.c:
11032         regen
11033         [6f5751ce0b74]
11034
11035         * parse.lex:
11036         Don't assume libc can realloc() a NULL string. If malloc/realloc
11037         fails, make sure we just return; yyerror() is not terminal.
11038         [1b8618623708]
11039
11040         * lex.yy.c:
11041         regen
11042         [5d31b46191c6]
11043
11044         * parse.lex:
11045         simplify fill_args a little and use strlcpy for paranoia
11046         [0ea35a55542b]
11047
11048         * sudo.tab.c:
11049         regen
11050         [5a8d508d708b]
11051
11052         * check.c, env.c, find_path.c, parse.c, parse.yacc, sudo.c,
11053         testsudoers.c:
11054         Use strlc{at,py} for paranoia's sake and exit on overflow. In all
11055         cases the strings were either pre-allocated to the correct size of
11056         length checks were done before the copy but a little paranoia can go
11057         a long way.
11058         [e73d28f1d14e]
11059
11060         * sudo.h:
11061         Add strlc{at,py} protos
11062         [748ffc7fc7f4]
11063
11064         * env.c, interfaces.c:
11065         Use erealloc3()
11066         [47f2cb46aba8]
11067
11068         * configure:
11069         regen
11070         [e7e2fb79f935]
11071
11072         * alloc.c:
11073         Oflow test of nmemb > SIZE_MAX / size is fine (don't need >=). Use
11074         memcpy() instead of strcpy() in estrdup() so this is strcpy()-free.
11075         [7e0fa4d6fc1d]
11076
11077         * sudo.c:
11078         snprintf() a uid as %lu, not %ld to match the MAX_UID_T_LEN test in
11079         configure.
11080         [09ea4d3959e9]
11081
11082         * aclocal.m4:
11083         In MAX_UID_T_LEN test cast uid_t to unsigned long, just unsigned.
11084         [31b4fdfdb8bf]
11085
11086 2003-03-12  Todd C. Miller  <Todd.Miller@courtesan.com>
11087
11088         * sudo.c:
11089         Use snprintf() for paranoia
11090         [a2659ceb46de]
11091
11092         * parse.yacc:
11093         Use emalloc2 and erealloc3
11094         [90a069842401]
11095
11096         * Makefile.in:
11097         strlc{at,py} for those w/o it
11098         [bac82dc916ee]
11099
11100         * strlcat.c, strlcpy.c:
11101         stlc{at,py} for those w/o it.
11102         [ce7254f5db09]
11103
11104         * config.h.in, configure, configure.in:
11105         Add stlc{at,py} for those w/o it.
11106         [00f08219657a]
11107
11108         * alloc.c, sudo.h:
11109         Add erealloc3(), a realloc() version of emalloc2().
11110         [c96eaf08bbed]
11111
11112         * interfaces.c, sudo.c:
11113         Use emalloc2() to allocate N things of a certain size.
11114         [1e0aba365555]
11115
11116         * alloc.c, sudo.h:
11117         Add emalloc2() -- like calloc() but w/o the bzero and with
11118         error/oflow checking.
11119         [292150bc4153]
11120
11121         * alloc.c:
11122         Error out on malloc(0); suggested by theo
11123         [995279e81326]
11124
11125 2003-03-10  Todd C. Miller  <Todd.Miller@courtesan.com>
11126
11127         * configure, configure.in:
11128         fix a typo; David Krause
11129         [f161213a17ab]
11130
11131 2003-03-07  Todd C. Miller  <Todd.Miller@courtesan.com>
11132
11133         * sudo.pod:
11134         fix typo
11135         [3ae5ad9a351a]
11136
11137 2003-03-04  Todd C. Miller  <Todd.Miller@courtesan.com>
11138
11139         * env.c:
11140         Remove DYLD_ from the environment for MacOS X; from bbraun
11141         [38caad5a3935]
11142
11143 2003-03-01  Todd C. Miller  <Todd.Miller@courtesan.com>
11144
11145         * config.h.in, configure.in:
11146         not not; Anil Madhavapeddy
11147         [d4f4f0bfc66b]
11148
11149 2003-01-23  Todd C. Miller  <Todd.Miller@courtesan.com>
11150
11151         * sudo.pod, sudoers.pod, visudo.pod:
11152         typos; jmc@openbsd.org
11153         [868c0f09bf9e]
11154
11155 2003-01-20  Todd C. Miller  <Todd.Miller@courtesan.com>
11156
11157         * parse.yacc:
11158         Add some missing ';' rule terminators that bison warns about.
11159         [535b0b8dcce5]
11160
11161         * config.sub:
11162         fix typo I introduced in last merge
11163         [81db4e4f43fe]
11164
11165         * configure:
11166         regenerate with autoconf 2.57
11167         [ca0c1e9564f8]
11168
11169         * config.h.in:
11170         Add missing "$HOME"
11171         [209186197ad1]
11172
11173         * configure.in:
11174         Add some more square backets to make autoconf 2.57 happy
11175         [b5639c14faf7]
11176
11177         * config.sub, mkinstalldirs:
11178         Updates from autoconf-2.57
11179         [36be35eb331b]
11180
11181         * config.guess:
11182         Updates from autoconf-2.57
11183         [ea0f8ca622af]
11184
11185 2003-01-17  Todd C. Miller  <Todd.Miller@courtesan.com>
11186
11187         * sudo.tab.h:
11188         regen
11189         [13a65a421567]
11190
11191         * lex.yy.c, sudo.tab.c:
11192         regen
11193         [0b529db7cb6d]
11194
11195         * parse.lex, parse.yacc, sudoers.pod:
11196         Add support for Defaults>RunasUser
11197         [20d726373175]
11198
11199 2003-01-07  Todd C. Miller  <Todd.Miller@courtesan.com>
11200
11201         * visudo.c:
11202         fclose() yyin after each yyparse() is done and use fopen() instead
11203         of using freopen().
11204         [587f8a2df857]
11205
11206         * parse.lex:
11207         Better fix for sudoers files w/o a newline before EOF. It looks
11208         like the issue is that yyrestart() does not reset the start
11209         condition to INITIAL which is an issue since we parse sudoers
11210         multiple times.
11211         [920f8326968a]
11212
11213 2003-01-06  Todd C. Miller  <Todd.Miller@courtesan.com>
11214
11215         * parse.lex:
11216         Work around what appears to be a flex bug when dealing with files
11217         that lack a final newline before EOF. This adds a rule to match EOF
11218         in the non-initial states which resets the state to INITIAL and
11219         throws an error.
11220         [b94943bb1f81]
11221
11222         * visudo.c:
11223         o The parser needs sudoers to end with a newline but some editors
11224         (emacs) may not add one. Check for a missing newline at EOF and
11225         add one if needed. o Set quiet flag during initial sudoers parse (to
11226         get options) o Move yyrestart() call and always use freopen() to
11227         open yyin after initial sudoers parse.
11228         [12d12f9b07aa]
11229
11230 2002-12-15  Todd C. Miller  <Todd.Miller@courtesan.com>
11231
11232         * set_perms.c:
11233         Fix pasto/thinko in setresgid()/setregid() usage. Want to set
11234         effective gid, not real gid, when reading sudoers.
11235         [c7d18b810fcd]
11236
11237         * set_perms.c:
11238         don't compile set_perms_posix if we have setreuid or setresuid
11239         [b9cea7a81a29]
11240
11241 2002-12-14  Todd C. Miller  <Todd.Miller@courtesan.com>
11242
11243         * sudo.pod, sudoers.pod:
11244         document new prompt escapes
11245         [2f088076b640]
11246
11247         * check.c:
11248         Add %U and %H escapes and redo prompt rewriting. "%%" now gets
11249         collapsed to "%" as was originally intended. This also gets rid of
11250         lastchar (does lookahead instead of lookback) which should simplify
11251         the logic slightly.
11252         [4b707b77b3c7]
11253
11254 2002-12-13  Todd C. Miller  <Todd.Miller@courtesan.com>
11255
11256         * tgetpass.c:
11257         Write the prompt *after* turning off echo to avoid some password
11258         characters being echoed on heavily-loaded machines with fast
11259         typists.
11260         [d38c57775915]
11261
11262         * config.sub:
11263         Add support for mipseb; wiz@danbala.tuwien.ac.at
11264         [cfdac87ed5c8]
11265
11266         * configure.in:
11267         Fix IRIX fallout from name changes in man dir/sect Makefile
11268         variables. Patch from erici AT motown DOT cc DOT utexas DOT edu
11269         [9a7618755c23]
11270
11271         * auth/pam.c:
11272         Keep a local copy of tgetpass_flags so we don't add in TGP_ECHO to
11273         the global copy. Problem noted by Peter Pentchev.
11274         [d0a3e189cb06]
11275
11276 2002-11-28  Todd C. Miller  <Todd.Miller@courtesan.com>
11277
11278         * sudo.tab.c:
11279         regen
11280         [23b931359087]
11281
11282         * parse.yacc:
11283         Add missing yyerror() calls; YYERROR does not seem to call this for
11284         us.
11285         [0be7aeb3ac57]
11286
11287 2002-11-26  Todd C. Miller  <Todd.Miller@courtesan.com>
11288
11289         * sudo.c:
11290         fix typo in comment; Pedro Bastos
11291         [d7406c460e99]
11292
11293 2002-11-22  Todd C. Miller  <Todd.Miller@courtesan.com>
11294
11295         * INSTALL:
11296         document --disable-setresuid
11297         [fbd03d03a027]
11298
11299         * auth/aix_auth.c, auth/bsdauth.c, auth/fwtk.c, auth/pam.c,
11300         auth/sudo_auth.c:
11301         Sprinkle some volatile qualifiers to prevent over-enthusiastic
11302         optimizers from removing memset() calls.
11303         [5370ac0e6129]
11304
11305         * logging.c, parse.yacc:
11306         minor sign fixes pointed out by gcc -Wsign-compare
11307         [db872438337f]
11308
11309         * set_perms.c, sudo.c, sudo.h:
11310         Revamp set_perms. We now use a version based on setresuid() or
11311         setreuid() when possible since that allows us to support the
11312         stay_setuid option and we always know exactly what the semantics
11313         will be (various Linux kernels have broken POSIX saved uid support).
11314         [523bc212396c]
11315
11316         * config.h.in, configure:
11317         regen from configure.in
11318         [351877ea2624]
11319
11320         * configure.in:
11321         Add checks for setresuid() and a way to disable using it
11322         [a5b21653d169]
11323
11324         * compat.h:
11325         No long need to emulate set*[ug]id() via setres[ug]id() or
11326         setre[ug]id(). The new set_perms stuff only uses things it knows are
11327         there.
11328         [47884bd5d1d9]
11329
11330         * sudo.c:
11331         Before exec, restore state of signal handlers to be the same as when
11332         we were initialy invoked instead of just reseting to SIG_DFL. Fixes
11333         a problem when using sudo with nohup. Based on a patch from Paul
11334         Markham.
11335         [f8f5a1484faa]
11336
11337         * sudo.c:
11338         o timestamp_uid should be uid_t, not int o clarify error message
11339         when sudo is run by root and no_root_sudo is set
11340         [19dda0734264]
11341
11342 2002-09-19  Todd C. Miller  <Todd.Miller@courtesan.com>
11343
11344         * README:
11345         update ftp link for bison
11346         [98bc191016e3]
11347
11348 2002-07-20  Todd C. Miller  <Todd.Miller@courtesan.com>
11349
11350         * set_perms.c:
11351         Error out if setusercontext() fails and the runas user is not root.
11352         [089f9ade4686]
11353
11354 2002-05-20  Todd C. Miller  <Todd.Miller@courtesan.com>
11355
11356         * auth/securid5.c:
11357         Fix rcsid
11358         [07e9e85dcc2f]
11359
11360         * configure.in:
11361         Fix SecurID API test
11362         [5ec201f454a5]
11363
11364 2002-05-17  Todd C. Miller  <Todd.Miller@courtesan.com>
11365
11366         * env.c:
11367         typo in comment
11368         [9d385c9ac533]
11369
11370         * configure.in:
11371         securid5 stuff needs pthreads. Just adding -lpthread is suboptimal
11372         but I don't see a better way at the moment.
11373         [f89e55cbb313]
11374
11375         * Makefile.in, auth/securid5.c:
11376         SecurID API version 5 support from Michael Stroucken
11377         [68500ac7e531]
11378
11379         * configure.in:
11380         Add check for SecurID 5.0 API
11381         [1ee242e6de6b]
11382
11383 2002-05-08  Todd C. Miller  <Todd.Miller@courtesan.com>
11384
11385         * strerror.c:
11386         We actually do still need config.h to get the 'const' definition for
11387         K&R C.
11388         [d9c982032d85]
11389
11390 2002-05-05  Todd C. Miller  <Todd.Miller@courtesan.com>
11391
11392         * configure:
11393         regen with autoconf 2.5.3
11394         [c71fc086eef5]
11395
11396         * configure.in:
11397         Don't set sysconfdir to '/etc' if the user has specified a --prefix.
11398         [d90da1efafd9]
11399
11400         * configure.in:
11401         Some fixes for autoconf 2.53 from Robert Uhl o don't AC_SUBST
11402         LIBOBJS o force a 4th arg for AC_CHECK_HEADER() to workaround a bug
11403         [dd67afefa90d]
11404
11405         * env.c, sudo.c, sudo.h:
11406         No need for dump_badenv() now that dump_defaults() knows how to dump
11407         lists.
11408         [6bcda468501d]
11409
11410         * BUGS, INSTALL, INSTALL.binary, Makefile.in, README, configure.in,
11411         version.h:
11412         ++version
11413         [44e3b8f95f0b]
11414
11415         * sudoers.pod:
11416         document timestampowner
11417         [37ebd69e9dd1]
11418
11419         * check.c:
11420         Don't call set_perms() when doing timestamp stuff unless
11421         timestamp_uid != 0.
11422         [63a63d41d18c]
11423
11424         * auth/sudo_auth.c, check.c, logging.c, parse.c, set_perms.c, sudo.c,
11425         sudo.h, testsudoers.c:
11426         g/c second arg to set_perms--it is no longer used
11427         [7ac4ce50c612]
11428
11429 2002-05-03  Todd C. Miller  <Todd.Miller@courtesan.com>
11430
11431         * check.c, set_perms.c, sudo.c, sudo.h:
11432         Add support for non-root timestamp dirs. This allows the timestamp
11433         dir to be shared via NFS (though this is not recommended).
11434         [faa83dd2b7fb]
11435
11436         * def_data.c, def_data.h, def_data.in:
11437         Add timestampowner, "Owner of the authentication timestamp dir"
11438         [d47640d4c86a]
11439
11440 2002-05-02  Todd C. Miller  <Todd.Miller@courtesan.com>
11441
11442         * env.c:
11443         Don't try to pre-compute the size of the new envp, just allocate
11444         space up front and realloc as needed. Changes to the new env
11445         pointer must all be made through insert_env() which now keeps track
11446         of spaced used and allocates as needed.
11447         [39bc934a9f2c]
11448
11449 2002-04-26  Todd C. Miller  <Todd.Miller@courtesan.com>
11450
11451         * configure:
11452         regen
11453         [0e12c09bb790]
11454
11455         * configure.in:
11456         Fix two typo/pastos; from jrj@purdue.edu
11457         [b718a4bf1181]
11458
11459 2002-04-25  Todd C. Miller  <Todd.Miller@courtesan.com>
11460
11461         * INSTALL.binary, README:
11462         ++version
11463         [a1e33027278c] [SUDO_1_6_6]
11464
11465         * configure, sudo.cat, sudo.man.in, sudoers.cat, sudoers.man.in,
11466         visudo.cat, visudo.man.in:
11467         regen
11468         [19eb2be283ef]
11469
11470         * CHANGES, RUNSON, TODO:
11471         Sync with 1.6.6
11472         [2ff9a9087f63]
11473
11474         * check.c:
11475         The the loop used to expand %h and %u, the lastchar variable was not
11476         being initialized. This means that if the last char in the prompt
11477         is '%' and the first char is 'h' or 'u' a extra copy of the host or
11478         user name would be copied, for which space had not been allocated.
11479         [b2e27197857d]
11480
11481 2002-04-18  Todd C. Miller  <Todd.Miller@courtesan.com>
11482
11483         * BUGS, INSTALL, Makefile.in, configure.in, version.h:
11484         crank version to 1.6.6
11485         [cfd08689e597]
11486
11487         * auth/afs.c:
11488         #undef VOID to get rid of an AFS warning
11489         [b40760564dc1]
11490
11491         * env.c:
11492         Use easprintf instead of emalloc + sprintf for some things.
11493         [e7bfe2e69a03]
11494
11495 2002-03-16  Todd C. Miller  <Todd.Miller@courtesan.com>
11496
11497         * lex.yy.c, sudo.tab.c:
11498         regen
11499         [35327104383d]
11500
11501         * parse.c, parse.lex, parse.yacc, testsudoers.c:
11502         Remove Chris Jepeway's email address so people don't bug him ;-)
11503         [c03410747a69]
11504
11505 2002-03-12  Todd C. Miller  <Todd.Miller@courtesan.com>
11506
11507         * sudo.c:
11508         Move endpwent() to be after set_perms(PERM_RUNAS, ...) and also call
11509         endgrent() at the same time.
11510         [28b6097d5d1a]
11511
11512 2002-02-22  Todd C. Miller  <Todd.Miller@courtesan.com>
11513
11514         * INSTALL:
11515         Make it clear which configure options take arguments.
11516         [38529e7efad0]
11517
11518 2002-01-25  Todd C. Miller  <Todd.Miller@courtesan.com>
11519
11520         * compat.h:
11521         HP-UX 9.x has RLIMIT_* but no RLIM_INFINITY. If there is no
11522         RLIM_INFINITY, just pretend it is -1. This works because we only
11523         check for RLIM_INFINITY and do not set anything to that value.
11524         [53173d34e6eb]
11525
11526 2002-01-22  Todd C. Miller  <Todd.Miller@courtesan.com>
11527
11528         * auth/pam.c:
11529         Zero and free allocated memory when there is a conversation error.
11530         [e342133db579]
11531
11532         * auth/bsdauth.c:
11533         Use sigaction() not signal()
11534         [126c2790561f]
11535
11536         * INSTALL:
11537         Mention that some linux kernels have broken POSIX saved ID support
11538         [571ef1a893d3]
11539
11540         * CHANGES:
11541         checkpoint for 1.6.5p2
11542         [9e9e456f7f43]
11543
11544         * configure:
11545         regen
11546         [d53703a46708]
11547
11548         * configure.in:
11549         Add --disable-setreuid flag
11550         [3b9f2679cb55]
11551
11552         * INSTALL:
11553         Document new --disable-setreuid option and change description for
11554         --disable-saved-ids to match new error message.
11555         [14fd3e5f60a5]
11556
11557         * set_perms.c:
11558         fatal() now takes an argument that determines whether or not to call
11559         perror().
11560         [d826b25e62ff]
11561
11562         * TROUBLESHOOTING:
11563         Update for new error messages from set_perms()
11564         [78007c3f76a9]
11565
11566         * PORTING:
11567         Update for new error messages from set_perms()
11568         [60c545a6bcff]
11569
11570 2002-01-21  Todd C. Miller  <Todd.Miller@courtesan.com>
11571
11572         * auth/pam.c:
11573         Make this compile w/o warnings
11574         [b90843a29af5]
11575
11576         * auth/pam.c:
11577         Mention that we can't use pam_acct_mgmt()
11578         [1dfc5a6e0479]
11579
11580         * auth/aix_auth.c, auth/bsdauth.c, auth/fwtk.c, auth/pam.c:
11581         The user's password was not zeroed after use when AIX
11582         authentication, BSD authentication, FWTK or PAM was in use.
11583         [b18fff30b1e7]
11584
11585 2002-01-20  Todd C. Miller  <Todd.Miller@courtesan.com>
11586
11587         * auth/pam.c:
11588         Avoid giving PAM a NULL password response, use the empty string
11589         instead. This avoids a log warning when the user hits ^C at the
11590         password prompt when PAM is in use.
11591         [c3315805e4e4]
11592
11593         * auth/pam.c:
11594         Don't check the return value of pam_setcred(). In Linux-PAM 0.75
11595         pam_setcred() returns the last saved return code, not the return
11596         code for the setcred module. Because we haven't called
11597         pam_authenticate(), this is not set and so pam_setcred() returns
11598         PAM_PERM_DENIED.
11599         [73db145fa179]
11600
11601         * Makefile.in:
11602         Don't need a '/' between $(DESTDIR) and a directory.
11603         [0901ca618176]
11604
11605         * Makefile.binary:
11606         Don't need a '/' between $(DESTDIR) and a directory.
11607         [cd7eb6098b87]
11608
11609 2002-01-18  Todd C. Miller  <Todd.Miller@courtesan.com>
11610
11611         * configure:
11612         regen
11613         [41b12c039282]
11614
11615         * configure.in:
11616         o BSDi also has a bogus setreuid() o Old FreeBSD has a bogus
11617         setreuid() o new NetBSD has a real setreuid() o add check for
11618         freeifaddrs() if getifaddrs() exists.
11619         [a82ee3b01733]
11620
11621         * config.h.in, interfaces.c:
11622         Older BSDi releases lack freeifaddrs() so add a test for that and if
11623         it is not present just use free().
11624         [6270671ea9d5]
11625
11626 2002-01-17  Todd C. Miller  <Todd.Miller@courtesan.com>
11627
11628         * CHANGES, RUNSON:
11629         Checkpoint for 1.6.5p1
11630         [26134ecf9b36]
11631
11632         * auth/passwd.c:
11633         Return AUTH_FAILURE in passwd_init() if skeyaccess() denies access
11634         to normal passwords, not AUTH_FATAL (which just causes an exit).
11635         [785e0f4bc0e2]
11636
11637         * visudo.c:
11638         Don't use memory after it has been freed.
11639         [c60492739fdb]
11640
11641         * auth/passwd.c:
11642         skeyaccess() wants a struct passwd * not a char *; Patch from
11643         Phillip E. Lobbes
11644         [65a1d3806fcd] [SUDO_1_6_5]
11645
11646         * BUGS:
11647         ++version
11648         [b2e1825e692e]
11649
11650         * CHANGES, RUNSON, TODO:
11651         checkpoint for sudo 1.6.5
11652         [d730945622e7]
11653
11654 2002-01-16  Todd C. Miller  <Todd.Miller@courtesan.com>
11655
11656         * configure:
11657         regen
11658         [49744c403ac9]
11659
11660         * INSTALL, INSTALL.binary, Makefile.in, README, configure.in:
11661         version 1.6.5
11662         [ec30a5f7fc45]
11663
11664         * sudo.cat, sudo.man.in, sudoers.cat, sudoers.man.in, visudo.cat,
11665         visudo.man.in:
11666         sudo version 1.6.5
11667         [458a3bed535d]
11668
11669         * logging.c:
11670         o when invoking the mailer as root use a hard-coded environment that
11671         doesn't include any info from the user's environment. Basically
11672         paranoia.
11673
11674         o Add support for the NO_ROOT_MAILER compile-time option and run the
11675         mailer as the user and not root if NO_ROOT_MAILER is defined.
11676         [4df351ec92ce]
11677
11678         * set_perms.c, sudo.h:
11679         Bring back PERM_FULL_USER
11680         [edb6039bb284]
11681
11682         * configure:
11683         regen
11684         [3eb2943afa03]
11685
11686         * version.h:
11687         version 1.6.5
11688         [044fc9a0c72b]
11689
11690         * INSTALL, config.h.in, configure.in:
11691         Add --disable-root-mailer option to run the mailer as the user and
11692         not root.
11693         [e9f805397963]
11694
11695         * CHANGES:
11696         checkpoint for 1.6.4p2
11697         [b58aae5aa98a]
11698
11699         * PORTING:
11700         Mention the "seteuid(0): Operation not permitted" problem here too
11701         just for good measure.
11702         [90135b37a691]
11703
11704 2002-01-15  Todd C. Miller  <Todd.Miller@courtesan.com>
11705
11706         * env.c, getspwuid.c, sudo.c:
11707         The SHELL environment variable was preserved from the user's
11708         environment instead of being reset based on the passwd database when
11709         the "env_reset" option was used. Now it is reset as it should be.
11710         [300066ef3c71]
11711
11712         * configure:
11713         regen
11714         [a47d779e6552]
11715
11716         * INSTALL, TROUBLESHOOTING, config.h.in, configure.in, set_perms.c,
11717         sudo.c:
11718         Add a configure option to turn off use of POSIX saved IDs
11719         [fb18cc8e94d0]
11720
11721         * configure:
11722         regen
11723         [d4f2f20025b6]
11724
11725         * configure.in:
11726         add --with-efence option
11727         [45c4f33a8e88]
11728
11729         * sudo.c:
11730         Only OR in MODE_RESET_HOME if MODE_RUN is set. Fixes a problem where
11731         "sudo -l" would not work if always_set_home was set.
11732         [c3a6de6c4800]
11733
11734         * lex.yy.c:
11735         regen
11736         [417424452998]
11737
11738         * parse.lex:
11739         Quoted commas were not being treated correctly in command line
11740         arguments.
11741         [753415541b37]
11742
11743         * sudo.c:
11744         o Move the call to rebuild_env() until after MODE_RESET_HOME is set.
11745         Otherwise, the set_home option has no effect.
11746
11747         o Fix use of freed memory when the "fqdn" flag is set. This was
11748         introduced by the fix for the "segv when gethostbynam() fails" bug.
11749         Also, we no longer call set_fqdn() if the "fqdn" flag is not set so
11750         there is no need to check the "fqdn" flag in set_fqdn() itself.
11751         [4b6a4245c04e]
11752
11753         * env.c:
11754         Add 'continue' statements to optimize the switch statement. From
11755         Solar.
11756         [a82c76975ae5]
11757
11758 2002-01-13  Todd C. Miller  <Todd.Miller@courtesan.com>
11759
11760         * sudoers.cat, sudoers.man.in:
11761         Regen from new sudoers.pod
11762         [6ecc07b3d0e1] [SUDO_1_6_4]
11763
11764         * sudoers.pod:
11765         Add caveat about stay_setuid flag
11766         [9d228a7bea1b]
11767
11768         * sudo.c:
11769         If set_perms == set_perms_posix and the stay_setuid flag is not set,
11770         set all uids to 0 and use set_perms_fallback().
11771         [c4e54d1ec86f]
11772
11773         * set_perms.c, sudo.h:
11774         Remove PERM_FULL_USER (which is no longer used) and add
11775         PERM_FULL_ROOT (used when exec'ing the mailer).
11776         [15406c522ea2]
11777
11778         * logging.c:
11779         Use set_perms(PERM_FULL_ROOT, 0) before exec'ing the mailer since we
11780         never want to run the mailer setuid.
11781         [2294853e0666]
11782
11783 2002-01-12  Todd C. Miller  <Todd.Miller@courtesan.com>
11784
11785         * sudo.cat, sudo.man.in, sudo.pod, visudo.cat, visudo.man.in,
11786         visudo.pod:
11787         Use sudo.ws instead of courtesan.com in URLs
11788         [55204002a308]
11789
11790         * Makefile.binary, Makefile.in:
11791         Fix mansect substitution
11792         [b7b5cbc3aa91]
11793
11794         * Makefile.in:
11795         Substitute man sections in Makefile.binary
11796         [040deb785e56]
11797
11798         * Makefile.binary:
11799         Sync install targets with Makefile.in and substitute in man
11800         sections.
11801         [77882a275281]
11802
11803         * INSTALL, INSTALL.binary:
11804         version is 1.6.4
11805         [0f87aabbcb70]
11806
11807         * Makefile.in:
11808         Repair bindist target
11809         [8d43bfe7e2d1]
11810
11811         * CHANGES:
11812         sync for 1.6.4
11813         [13ca3d4a0a72]
11814
11815 2002-01-10  Todd C. Miller  <Todd.Miller@courtesan.com>
11816
11817         * install-sh:
11818         Fix case where neither whoami nor id are found
11819         [424dd270bc47]
11820
11821 2002-01-09  Todd C. Miller  <Todd.Miller@courtesan.com>
11822
11823         * install-sh:
11824         If neither whoami nor id exists, just assume we are root.
11825         [2d2644e42c53]
11826
11827         * alloc.c:
11828         Add explicit cast to (VOID *) on malloc/realloc. Seems to be needed
11829         on AIX which for some reason isn't pulling in the malloc prototype.
11830         [231440d2ee3b]
11831
11832 2002-01-08  Todd C. Miller  <Todd.Miller@courtesan.com>
11833
11834         * Makefile.in, aclocal.m4, compat.h, parse.c, sudo.c:
11835         (c) 2002
11836         [700e3b41a68e]
11837
11838         * CHANGES:
11839         checkpoint
11840         [33e604bd8d5b]
11841
11842         * sudo.c:
11843         Defer assigning new environment until right before the exec.
11844         [f13c49e75c1c]
11845
11846         * parse.c:
11847         kill extra blank line
11848         [12ef22e9dae3]
11849
11850 2002-01-07  Todd C. Miller  <Todd.Miller@courtesan.com>
11851
11852         * configure:
11853         regen
11854         [a6cd2d788f74]
11855
11856         * configure.in:
11857         Use -O not -O2 for m88k-motorola-sysv* since motorola gcc-derived
11858         compiler doesn't recognise -O2.
11859         [5234aa543692]
11860
11861         * HISTORY:
11862         Clarify origins of Root Group sudo a bit based on info from
11863         billp@rootgroup.com
11864         [4deef01c4208]
11865
11866 2002-01-03  Todd C. Miller  <Todd.Miller@courtesan.com>
11867
11868         * LICENSE:
11869         2002
11870         [6c8e089dbd1a]
11871
11872         * CHANGES:
11873         checkpoint for 1.6.4rc1
11874         [3349eb87a49f]
11875
11876 2002-01-02  Todd C. Miller  <Todd.Miller@courtesan.com>
11877
11878         * config.h.in:
11879         now generated via autoheader
11880         [84657d303cb9]
11881
11882         * configure:
11883         regen
11884         [207bfa6a13f6]
11885
11886         * compat.h:
11887         Move in some stuff that was previously in config.h.
11888         [e576d8b6480f]
11889
11890         * aclocal.m4, configure.in:
11891         Add info for autoheader.
11892         [0549cd5da27c]
11893
11894 2002-01-01  Todd C. Miller  <Todd.Miller@courtesan.com>
11895
11896         * Makefile.in:
11897         o Add DESTDIR support o Use -M, -O, and -G instead of -m, -o, and
11898         -g to facilitate non-root installs
11899         [619216038f56]
11900
11901         * install-sh:
11902         Add -M option (like -m but only for root) If we can't find "whoami",
11903         use "id" w/ some sed.
11904         [b39121c8b792]
11905
11906         * configure:
11907         regen
11908         [b39b93ff9804]
11909
11910         * configure.in:
11911         allow user to always override mansectsu and mansectform
11912         [0fca5e63bd90]
11913
11914 2001-12-31  Todd C. Miller  <Todd.Miller@courtesan.com>
11915
11916         * mkinstalldirs:
11917         update from autoconf 2.52
11918         [07bd75a508c3]
11919
11920         * config.guess, config.sub:
11921         Update from autoconf 2.52
11922         [857b90fe31b7]
11923
11924         * configure:
11925         regen with autoconf 2.52
11926         [08e7d1ea2aeb]
11927
11928         * configure.in:
11929         o Call AC_PROG_CC_STDC to find out how to run the compiler in ANSI
11930         mode o Remove compiler-specific checks for HP-UX now that we use
11931         AC_PROG_CC_STDC
11932         [d433a70b6208]
11933
11934         * RUNSON:
11935         Checkpoint
11936         [babf6d2235d1]
11937
11938         * auth/pam.c:
11939         o Add pam_prep_user function to call pam_setcred() for the target
11940         user; on Linux this often sets resource limits. o When calling
11941         pam_end(), try to convert the auth->result to a PAM_FOO value.
11942         This is a hack--we really need to stash the last PAM_FOO value
11943         received and use that instead.
11944         [6ad6f340dd2a]
11945
11946         * set_perms.c, sudo.h:
11947         o Add pam_prep_user function to call pam_setcred() for the target
11948         user; on Linux this often sets resource limits.
11949         [67795421ac82]
11950
11951         * env.c:
11952         Fix off by one error in number of bytes allocated via malloc (does
11953         not affected any released version of sudo).
11954         [5f5915360111]
11955
11956 2001-12-30  Todd C. Miller  <Todd.Miller@courtesan.com>
11957
11958         * lex.yy.c:
11959         regen
11960         [8208c0277775]
11961
11962         * parse.lex:
11963         Allow '@', '(', ')', ':' in arguments to a defaults variable w/o
11964         requiring that they be quoted.
11965         [ae59bc8f68dd]
11966
11967         * sudoers.cat, sudoers.man.in, sudoers.pod:
11968         Mention that no double quotes are needed when
11969         adding/deleting/assigning a single value to a list.
11970         [25efc940a1f0]
11971
11972         * Makefile.in:
11973         Don't rely on mkdefaults being executable, call perl explicitly.
11974         [6edc97ba5f1d]
11975
11976         * sudo.tab.c:
11977         regen
11978         [49130b2e7e4d]
11979
11980         * parse.yacc:
11981         Remove some XXX that are no longer relevant.
11982         [d460ac0d3767]
11983
11984         * defaults.c:
11985         o Roll our own loop instead of using strpbrk() for better
11986         grokability o When adding to a list we must malloc() and use
11987         memcpy(), not strdup() since we must only copy len bytes from str.
11988         [649bef08e1f0]
11989
11990 2001-12-21  Todd C. Miller  <Todd.Miller@courtesan.com>
11991
11992         * sudo.tab.c:
11993         regen
11994         [f0bbf2c38c0e]
11995
11996         * parse.yacc:
11997         typo in comment
11998         [2563711ff593]
11999
12000 2001-12-19  Todd C. Miller  <Todd.Miller@courtesan.com>
12001
12002         * CHANGES:
12003         checkpoint
12004         [a6d8a29fb30e]
12005
12006         * configure:
12007         regen
12008         [bdfcaaf3bd13]
12009
12010         * configure.in:
12011         avoid the -g flag unless --with-devel was specified
12012         [a976707bef30]
12013
12014         * Makefile.in:
12015         mkdefaults, def_data.in and sigaction.c were missing from the
12016         tarball
12017         [6917ffbaa412]
12018
12019         * Makefile.in:
12020         def_data.c was missing
12021         [87c78b11453d]
12022
12023 2001-12-18  Todd C. Miller  <Todd.Miller@courtesan.com>
12024
12025         * env.c:
12026         Fix setting of $USER and $LOGNAME in the non-reset_env case. Also
12027         allow HOME, SHELL, LOGNAME, and USER to be specified in keep_env
12028         [fc8698e6a45e]
12029
12030         * TODO:
12031         Another TODO item
12032         [6f251d6cd466]
12033
12034         * sudoers:
12035         Add comment for Default section so folks know where it should go.
12036         [7edba626f392]
12037
12038 2001-12-17  Todd C. Miller  <Todd.Miller@courtesan.com>
12039
12040         * tgetpass.c:
12041         Use TCSETAF, not TCSETA to set terminal in termio case
12042         [fbd172f6c5d3]
12043
12044         * sudoers.cat, sudoers.man.in:
12045         regen from sudoers.pod
12046         [64edd2de816e]
12047
12048         * sudoers.pod:
12049         o Typo, Runas_User_List should be Runas_List o a User_List can not
12050         contain a uid o mention that the Defaults section should come after
12051         Alias definitions but before the user specifications
12052         [54070ba2092b]
12053
12054 2001-12-15  Todd C. Miller  <Todd.Miller@courtesan.com>
12055
12056         * sudoers.cat, sudoers.man.in:
12057         regen
12058         [e62d1d97693c]
12059
12060         * sudoers.pod:
12061         Fix listpw and verifypw sections, they were not being formatted
12062         properly.
12063         [123868c2f3e9]
12064
12065         * sudoers.cat, sudoers.man.in:
12066         regen
12067         [f94841f8b374]
12068
12069         * sudoers.pod:
12070         fix typos
12071         [f278f1c1184e]
12072
12073         * configure:
12074         regen
12075         [d2270049ba9f]
12076
12077         * config.h.in, configure.in:
12078         use AC_SYS_POSIX_TERMIOS instead of rolling our own
12079         [c1a13f1354b9]
12080
12081         * README:
12082         Reference sudo.ws not courtesan.com
12083         [ca13be67ebd7]
12084
12085         * PORTING:
12086         Add notes on shadow passwords
12087         [aa13863f2314]
12088
12089         * BUGS:
12090         In list mode (sudo -l), characters escaped with a backslash are
12091         shown verbatim with the backslash.
12092         [1a75a2858be2]
12093
12094         * sudoers:
12095         Add simple examples from OpenBSD (Marc Espie)
12096         [3ae9a9ae4125]
12097
12098         * tgetpass.c:
12099         Catch SIGTTIN and SIGTTOU too and treat them like SIGTSTP.
12100         [f8817699ee10]
12101
12102         * CHANGES:
12103         minor prettyification
12104         [f523587929b9]
12105
12106         * CHANGES:
12107         Updated change log
12108         [39d9010ee7a8]
12109
12110         * testsudoers.c:
12111         Fix CIDR handling here too.
12112         [c91db8344c32]
12113
12114         * auth/pam.c:
12115         Apparently a NULL response is OK
12116         [83bae61078d9]
12117
12118         * TODO:
12119         Checkpoint for upcoming beta release
12120         [efb95c09df2a]
12121
12122         * TROUBLESHOOTING:
12123         Many people believe that adding a runas spec should obviate the need
12124         for the -u flag. It does not.
12125         [c698bad85b0e]
12126
12127         * RUNSON:
12128         checkpoint update for upcoming 1.6.4 beta
12129         [009e465a0a45]
12130
12131         * config.h.in:
12132         o Add HAVE_STDLIB_H and HAVE_MEMORY_H o Define HAVE_STRINGS_H even
12133         if HAVE_STRING_H is defined -- this is safe now
12134         [d27c035f4e14]
12135
12136         * PORTING:
12137         Add signals section
12138         [2d24c13cb3c8]
12139
12140         * configure:
12141         regen
12142         [2b80a939e2ed]
12143
12144         * configure.in:
12145         Fix check for sigaction_t
12146         [6fa41c89ab20]
12147
12148         * sudo.c:
12149         XXX - should call find_path() as runas user, not root. Can't do
12150         that until the parser changes though.
12151         [f0b4f85651bd]
12152
12153         * sudo.c:
12154         If find_path() fails as root, try again as the invoking user (useful
12155         for NFS). Idea from Chip Capelik.
12156         [e03fa7872692]
12157
12158         * sudo.cat, sudo.man.in, sudoers.cat, sudoers.man.in:
12159         Regenerate after pod file changes
12160         [48e4bd75ec21]
12161
12162         * def_data.c, def_data.h, def_data.in, set_perms.c, sudo.c, sudo.h,
12163         sudo.pod, sudoers.pod:
12164         Add new sudoers option "preserve_groups". Previously sudo would not
12165         call initgroups() if the target user was root. Now it always calls
12166         initgroups() unless the -P command line option or the
12167         "preserve_groups" sudoers option is set. Idea from TJ Saunders.
12168         [4f730359f101]
12169
12170 2001-12-14  Todd C. Miller  <Todd.Miller@courtesan.com>
12171
12172         * compat.h, config.h.in:
12173         Use new HAVE_SIGACTION_T define
12174         [dfb25f3cae5b]
12175
12176         * logging.c:
12177         Fix compilation on K&C
12178         [7355e3275e34]
12179
12180         * configure:
12181         regen
12182         [a710584f92f0]
12183
12184         * configure.in:
12185         Add check for sigaction_t -- IRIX already defines this so don't
12186         redefine it.
12187         [df9c5737f6da]
12188
12189         * snprintf.c:
12190         fix typo
12191         [3d782b8134c8]
12192
12193         * interfaces.c:
12194         need stdlib.h here too
12195         [c789d8973ab2]
12196
12197         * configure:
12198         regen
12199         [44822856bf46]
12200
12201         * configure.in:
12202         Remove redundant checks for string.h, strings.h and unistd.h
12203         [933c94f8bbf4]
12204
12205         * sudo.cat, sudo.man.in, sudoers.cat, sudoers.man.in, visudo.cat,
12206         visudo.man.in:
12207         Regen from pod files
12208         [ad18c590f638]
12209
12210         * BUGS:
12211         Update for 1.6.4
12212         [26bc88b69d22]
12213
12214         * configure, lex.yy.c, sudo.tab.c:
12215         regen
12216         [bef89fd6fa2d]
12217
12218         * strerror.c:
12219         Return EINVAL if errnum > sys_nerr
12220         [0512374e6661]
12221
12222         * auth/sudo_auth.h:
12223         o Update copyright year
12224         [a877016db6e2]
12225
12226         * LICENSE, Makefile.binary, Makefile.in, aclocal.m4, compat.h,
12227         config.h.in, defaults.h, interfaces.h, pathnames.h.in, sudo.h,
12228         sudo.pod:
12229         o Update copyright year
12230         [e15a1b39039f]
12231
12232         * configure.in:
12233         o Don't define STDC_HEADERS unconditionally for IRIX o Update
12234         copyright year
12235         [82a8cb819e07]
12236
12237         * README:
12238         update version
12239         [d82e523a16b4]
12240
12241         * auth/afs.c, auth/aix_auth.c, auth/bsdauth.c, auth/dce.c,
12242         auth/fwtk.c, auth/kerb4.c, auth/kerb5.c, auth/pam.c, auth/passwd.c,
12243         auth/rfc1938.c, auth/secureware.c, auth/securid.c, auth/sia.c,
12244         auth/sudo_auth.c, logging.c, parse.c, parse.lex, parse.yacc,
12245         set_perms.c, snprintf.c, sudo.c, testsudoers.c, tgetpass.c, utime.c,
12246         visudo.c:
12247         o Reorder some headers and use STDC_HEADERS define properly o Update
12248         copyright year
12249         [fe39f76b3795]
12250
12251         * lsearch.c:
12252         o Reorder some headers and use STDC_HEADERS define properly o Update
12253         copyright year
12254         [764ba3d4fa13]
12255
12256         * getspwuid.c, goodpath.c, interfaces.c:
12257         o Reorder some headers and use STDC_HEADERS define properly o Update
12258         copyright year
12259         [fb46d46140d4]
12260
12261         * getcwd.c:
12262         o Reorder some headers and use STDC_HEADERS define properly o Update
12263         copyright year
12264         [b199d70ac7ab]
12265
12266         * alloc.c, check.c, defaults.c, env.c, fileops.c, find_path.c,
12267         fnmatch.c:
12268         o Reorder some headers and use STDC_HEADERS define properly o Update
12269         copyright year
12270         [dab8f192a3ed]
12271
12272         * configure:
12273         regen
12274         [156658f25cea]
12275
12276         * tgetpass.c:
12277         flags set in signal handlers should be volatile sig_atomic_t
12278         [c22931a5535e]
12279
12280         * config.h.in, configure.in:
12281         Add checks for volatile and sig_atomic_t
12282         [b03b3341381d]
12283
12284         * configure, lex.yy.c:
12285         regen
12286         [ed9daba88217]
12287
12288         * def_data.c, def_data.h, def_data.in, defaults.c, env.c, find_path.c,
12289         sudo.c, sudoers.pod:
12290         Remove "secure_path" Defaults option since it cannot work with the
12291         existing parser.
12292         [c9e54a0f5971]
12293
12294         * find_path.c, sudo.c:
12295         Unset "secure_path" if user_is_exempt()
12296         [fb7544565ae8]
12297
12298         * env.c, pathnames.h.in:
12299         o Remove assumption that PATH and TERM are not listed in env_keep o
12300         If no PATH is in the environment use a default value o If TERM is
12301         not set in the non-reset case also give it a default value.
12302         [c987eb7df268]
12303
12304         * aclocal.m4, configure.in, defaults.c, pathnames.h.in:
12305         _PATH_SENDMAIL -> _PATH_SUDO_SENDMAIL so --without-sendmail works on
12306         systems that define in paths.h
12307         [51865b0cdebf]
12308
12309         * auth/passwd.c, auth/sudo_auth.c, auth/sudo_auth.h:
12310         Add support for skeyaccess(3) if it is present in libskey.
12311         [8add77c7d3e7]
12312
12313 2001-12-13  Todd C. Miller  <Todd.Miller@courtesan.com>
12314
12315         * sudo.c:
12316         Only need to do 'lc = login_getclass(NULL)' if lc == NULL
12317         [5a3d3cbf2c6d]
12318
12319         * parse.lex:
12320         '\\' is a perfectly legal character to have in a command line
12321         argument.
12322         [c15a466ef00e]
12323
12324         * sudo.c:
12325         o Defer call to set_fqdn() until it is safe to use log_error() o
12326         Don't print errno string value if gethostbyname fails, it is not
12327         relevant
12328         [c0c6bcf08bcb]
12329
12330         * parse.c:
12331         Fix CIDR -> in_addr_t conversion.
12332         [2f307ebeb63f]
12333
12334 2001-12-12  Todd C. Miller  <Todd.Miller@courtesan.com>
12335
12336         * sudoers.pod:
12337         Remove an extra "User_List" in the User_Spec definition From
12338         ybertrand AT snoopymail.com
12339         [97bde59ea280]
12340
12341         * parse.c:
12342         Make 'listpw=never' work for users who are not explicitly mentioned
12343         in sudoers.
12344         [258f0f30a428]
12345
12346         * sudoers.pod:
12347         Remove gratuitous '=' in EBNF grammar; era AT iki.fi
12348         [4b0f03872ee1]
12349
12350         * sudoers.pod:
12351         Document new list Defaults type and convert env_keep and env_delete
12352         to lists. Document new env_check option.
12353         [a07f1f079fe3]
12354
12355         * lex.yy.c, sudo.tab.c, sudo.tab.h:
12356         regen parser
12357         [e39ac6c6581b]
12358
12359         * parse.lex:
12360         Don't let '#' appear in a {WORD} and restrict #foo in a Runas spec
12361         to #[0-9-]+.
12362         [69c5388908f3]
12363
12364         * configure:
12365         regen
12366         [0f1877b88cb3]
12367
12368         * aclocal.m4:
12369         Simpler SUDO_FUNC_ISBLANK that uses AC_TRY_LINK
12370         [6545503ae361]
12371
12372         * config.h.in, configure.in:
12373         Add check for skeyaccess(3)
12374         [6caf69fe6359]
12375
12376         * visudo.pod:
12377         Document new -c, -f, and -q options
12378         [13d0203c21d3]
12379
12380         * visudo.c:
12381         o Add -f option (alternate sudoers file) o Convert to use getopt(3)
12382         [4c2b664d617d]
12383
12384         * configure:
12385         regen
12386         [6d5bd932e7b5]
12387
12388         * aclocal.m4, config.h.in, configure.in:
12389         Add check for isblank and a replacement macro if it doesn't exist.
12390         [b524f5e4f953]
12391
12392 2001-12-11  Todd C. Miller  <Todd.Miller@courtesan.com>
12393
12394         * visudo.c:
12395         In check-only mode, don't create sudoers if it does not already
12396         exist.
12397         [c748a2d5acad]
12398
12399         * parse.yacc:
12400         o Add a new token, DEFVAR, to indicate a Defaults variable name o
12401         Add support for "+=" and "-=" list operators o replace some 1 and 0
12402         with TRUE and FALSE for greater legibility.
12403         [554cb174b37e]
12404
12405         * parse.lex:
12406         o Use exclusive start conditions to remove some ambiguity in the
12407         lexer. Also reorder some things for clarity. o Add support for
12408         "+=" and "-=" list operators. o Use the new DEFVAR token to denote
12409         a Defaults variable name.
12410         [3a2cf8323e26]
12411
12412         * sudo.h:
12413         Prototype init_envtables()
12414         [b74916469dab]
12415
12416         * env.c:
12417         o Convert environment handling to use lists instead of strings.
12418         This greatly simplifies routines that need to do "foreach" type
12419         operations. o Add new init_envtables() function to set env_check
12420         and env_delete defaults based on initial_badenv_table and
12421         initial_checkenv_table (formerly sudo_badenv_table).
12422         [0a8b404658b6]
12423
12424         * defaults.c, defaults.h:
12425         o Add a new LIST type and functions to manipulate it. o This is for
12426         use with environment handling variables. o Call new
12427         init_envtables() routine inside init_defaults() to initialize the
12428         environment lists.
12429         [ae73e64f0902]
12430
12431         * def_data.c, def_data.h, def_data.in:
12432         Convert environment options to use the new LIST type and add a new
12433         one, env_check that only deletes if the sanity check fails.
12434         [3019503936de]
12435
12436         * testsudoers.c:
12437         Add dummy version of init_envtables()
12438         [9d9e3ee609d9]
12439
12440         * parse.yacc:
12441         honor quiet mode
12442         [8330fba6167c]
12443
12444         * visudo.c:
12445         Add check-only mode
12446         [dab411bc8c35]
12447
12448         * mkdefaults:
12449         Fix generation of entries with NULL descriptions.
12450         [ea75b9fed02e]
12451
12452 2001-12-09  Todd C. Miller  <Todd.Miller@courtesan.com>
12453
12454         * tgetpass.c:
12455         Use sigaction_t and quiet a gcc warning.
12456         [6f67d719c452]
12457
12458         * sudo.c:
12459         Must reset signal handlers before we exec
12460         [300418120e1a]
12461
12462         * auth/aix_auth.c, auth/bsdauth.c, auth/fwtk.c, auth/pam.c,
12463         auth/sudo_auth.c:
12464         Be carefule now that tgetpass() can return NULL (user hit ^C). PAM
12465         version needs testing. Set SIGTSTP to SIG_DFL during password entry
12466         so user can suspend us.
12467         [00304aa58747]
12468
12469         * tgetpass.c:
12470         Add support for interrupting/suspending tgetpass via keyboard input.
12471         If you suspend sudo from the password prompt and resume it will re-
12472         prompt you.
12473         [4af2b5101d32]
12474
12475         * sudo.c:
12476         Don't block keyboard interrupt signals, just set them to SIG_IGN.
12477         [d46d7f67ef6b]
12478
12479 2001-12-08  Todd C. Miller  <Todd.Miller@courtesan.com>
12480
12481         * config.h.in:
12482         add back HAVE_SIGACTION
12483         [c9c7702c603e]
12484
12485         * configure:
12486         regen
12487         [09fe669d337f]
12488
12489         * config.h.in, configure.in, logging.c, sudo.c, visudo.c:
12490         Kill POSIX_SIGNALS define and old signal support now that we emulate
12491         POSIX ones Also be sure to correctly initialize struct sigaction.
12492         [4bc2a6dbb2be]
12493
12494         * strerror.c:
12495         Don't need config.h or "#ifndef HAVE_STRERROR" wrapper.
12496         [1ad64a19f328]
12497
12498         * compat.h:
12499         Add scaffolding for POSIX signal emulation
12500         [945861d4c93b]
12501
12502         * sigaction.c:
12503         o Add missing ';' so this compiles o Can't use NULL since we don't
12504         include stdio.h
12505         [04d0cac7438f]
12506
12507         * sigaction.c:
12508         Emulate sigaction() using sigvec()
12509         [d0b54a989875]
12510
12511 2001-11-13  Todd C. Miller  <Todd.Miller@courtesan.com>
12512
12513         * sudoers.pod:
12514         Document new behavior of negative values of timestamp_timeout Fix a
12515         typo
12516         [4c0716570d01]
12517
12518         * sudo.pod:
12519         Add security note about command not being logged after 'sudo su' and
12520         friends.
12521         [43294851a33c]
12522
12523         * sudo.pod:
12524         Mention that -V prints default values when run as root, including
12525         the list of environment variables to clear.
12526         [d9e5e550a8c3]
12527
12528         * Makefile.in:
12529         Run pod2man with --quotes=none to avoid stupid quoting of C<>
12530         entries.
12531         [997b23c35dbe]
12532
12533 2001-11-12  Todd C. Miller  <Todd.Miller@courtesan.com>
12534
12535         * auth/sudo_auth.c, def_data.c, def_data.h, def_data.in, sudoers.pod:
12536         Add mail_badpass option Also modify mail_always behavior to also
12537         send mail when the password is wrong
12538         [838d40ccafce]
12539
12540         * env.c, sudo.c, sudo.h:
12541         Dump default bad env table when 'sudo -V' is run by root.
12542         [f67f1b8048b0]
12543
12544         * sudoers.pod:
12545         document env_delete
12546         [d74f893663a2]
12547
12548         * env.c:
12549         Add support for '*' in env_keep when not resetting the environment
12550         (ie: the normal case).
12551         [fd4fb62ea8fd]
12552
12553         * env.c:
12554         Add env_delete variable that lets the user replace/add to the
12555         bad_env_table. Allow '*' wildcard in env_keep entries.
12556         [aa728bc35e29]
12557
12558 2001-11-06  Todd C. Miller  <Todd.Miller@courtesan.com>
12559
12560         * mkinstalldirs:
12561         Force umask to 022 to guarantee sane directory permissions.
12562         [9ab3cfe70569]
12563
12564 2001-11-02  Todd C. Miller  <Todd.Miller@courtesan.com>
12565
12566         * Makefile.in:
12567         add sudo.tab.h and sudo.tab.c to sudo.tab.o dependency
12568         [671010465e6f]
12569
12570         * mkdefaults:
12571         fix breakage in last commit
12572         [8318f8851e56]
12573
12574         * Makefile.in:
12575         acsite.m4 -> aclocal.m4
12576         [30c146873a01]
12577
12578         * check.c:
12579         fix I_TS_TIMEOUT vs. I_TIMESTAMP_TIMEOUT pasto in previous commit
12580         [4dc8b39954da]
12581
12582         * def_data.c:
12583         regenerated from def_data.in
12584         [915ea16ce1eb]
12585
12586         * check.c, defaults.c, defaults.h:
12587         Add new T_UINT type that most things use instead of T_INT If
12588         timestamp_timeout is < 0 then treat the ticket as never expiring (to
12589         be expired manually by the user).
12590         [3a3a636a2a5d]
12591
12592         * def_data.in:
12593         change most T_INT -> T_UINT
12594         [a2228d2457af]
12595
12596         * mkdefaults:
12597         fix warning when no args
12598         [ca70a5394af5]
12599
12600         * visudo.c:
12601         Change 2 Exit() -> exit() Avoid stdio in Exit() and call _exit() if
12602         we are a signal handler. We no longer print the signal number but
12603         the user can just check the exit value for that.
12604         [dc424f631fef]
12605
12606 2001-10-16  Todd C. Miller  <Todd.Miller@courtesan.com>
12607
12608         * logging.c:
12609         when setting up pipes in child process check for case where stdin ==
12610         pipe fd 0
12611         [518112d76184]
12612
12613 2001-10-11  Todd C. Miller  <Todd.Miller@courtesan.com>
12614
12615         * visudo.c:
12616         Ignore editor exit value since XPG4 says vi's exit value is the
12617         count of editing errors made (failed searches, etc).
12618         [b9d952284865]
12619
12620 2001-10-05  Todd C. Miller  <Todd.Miller@courtesan.com>
12621
12622         * configure:
12623         regen
12624         [cb3aa586f03b]
12625
12626         * configure.in:
12627         sco now is identified by config.guess as *-sco-*
12628         [46664bbdea61]
12629
12630         * configure.in:
12631         Check for getspnam() in -lgen if not in -lc for UnixWare.
12632         [0f152ad1ba93]
12633
12634 2001-09-18  Todd C. Miller  <Todd.Miller@courtesan.com>
12635
12636         * sudoers.pod, visudo.pod:
12637         "upper case" -> "uppercase"
12638         [f9151f232326]
12639
12640         * sudoers.pod:
12641         fix typos and grammar; pjanzen@foatdi.harvard.edu
12642         [2855d73d0237]
12643
12644 2001-08-28  Todd C. Miller  <Todd.Miller@courtesan.com>
12645
12646         * sudoers.pod:
12647         Missing word (specify); krapht@secureops.com
12648         [65523eb37a2c]
12649
12650 2001-08-23  Todd C. Miller  <Todd.Miller@courtesan.com>
12651
12652         * sudo.c:
12653         If we fail to lookup a login class, apply the default one.
12654         [d4869faa6816]
12655
12656         * logging.c:
12657         In log_error() free message, not logline unconditionally, then free
12658         logline if it is not the same as message. No function change but
12659         this mirrors how they are allocated.
12660         [565e5f6cc643]
12661
12662 2001-07-17  Todd C. Miller  <Todd.Miller@courtesan.com>
12663
12664         * configure:
12665         regenerate
12666         [834a48f548a2]
12667
12668         * configure.in:
12669         remove some backslash quotes that are unneeded
12670         [50d401d6e2ca]
12671
12672         * configure.in:
12673         o Tweaks to make this work with autoconf-2.50 o Use AC_LIBOBJ
12674         instead of changing LIBOBJS directly o Use AC_REPLACE_FUNCS where we
12675         can o Use AC_CHECK_FUNCS instead of AC_CHECK_FUNC so we don't have
12676         to AC_DEFINE things manually.
12677         [f502c5f15f92]
12678
12679         * config.guess, config.sub:
12680         Updated from autoconf-2.50
12681         [6140205915ef]
12682
12683 2001-05-22  Todd C. Miller  <Todd.Miller@courtesan.com>
12684
12685         * README:
12686         Update mailing list section. We use mailman now, not majordomo.
12687         [b9a8ca45e6dc]
12688
12689 2001-05-10  Todd C. Miller  <Todd.Miller@courtesan.com>
12690
12691         * getspwuid.c, logging.c, sudo.c:
12692         Use setpwent()/endpwent() + all the shadow variants to make sure we
12693         don't inadvertantly leak an fd to the child. Apparently Linux's
12694         shadow routines leave the fd open even if you don't call setspent().
12695         Reported by mike@gistnet.com; different patch used.
12696         [d33792ef6c01]
12697
12698 2001-04-13  Todd C. Miller  <Todd.Miller@courtesan.com>
12699
12700         * sudoers.pod:
12701         s/eg./e.g./
12702         [bd32a0acaf93]
12703
12704         * tgetpass.c:
12705         select() may return EAGAIN. If so, continue like we do for EINTR.
12706         [5f202c943818]
12707
12708         * logging.c:
12709         Fix a non-exploitable buffer overflow in the word splitting code.
12710         This should really be rewritten.
12711         [4c724363863a]
12712
12713         * Makefile.in:
12714         FAQ link goes away
12715         [1d26dd6c8972]
12716
12717         * INSTALL:
12718         Tell people to look in sample.syslog.conf for examples, not FAQ
12719         [affcae3f43ca]
12720
12721         * TROUBLESHOOTING:
12722         Update list of env vars that are cleared
12723         [234e56f1435a]
12724
12725         * sudo.c:
12726         remove struct env_table decl since that stuff has all moved to env.c
12727         [5dd923148777]
12728
12729 2001-04-04  Todd C. Miller  <Todd.Miller@courtesan.com>
12730
12731         * fileops.c:
12732         Fix a pasto in flock-style unlocking and include <sys/file.h> for
12733         flock on older systems; twetzel@gwdg.de
12734         [d5420d9d2861]
12735
12736         * configure:
12737         regen to get NeXT lockf/flock fix
12738         [d3ba6ed70e15]
12739
12740         * configure.in:
12741         force NeXT to use flock since lockf is broken
12742         [bd5391dca1bb]
12743
12744 2001-03-30  Todd C. Miller  <Todd.Miller@courtesan.com>
12745
12746         * check.c:
12747         Use stashed user_gid when checking against exempt gid since sudo
12748         sets its gid to a a value that makes sudoers readable. Previously
12749         if you used gid 0 as the exempt group everyone would be exempt. From
12750         Paul Kranenburg <pk@cs.few.eur.nl>
12751         [0b140cc3a817]
12752
12753 2001-03-29  Todd C. Miller  <Todd.Miller@courtesan.com>
12754
12755         * configure:
12756         regen
12757         [cc455408f32b]
12758
12759         * aclocal.m4:
12760         #include stdio.h in SUDO_CHECK_TYPE since IRIX 6 aparently defines
12761         some types (such as ssize_t) therein.
12762         [b6aee85ca331]
12763
12764 2001-03-02  Todd C. Miller  <Todd.Miller@courtesan.com>
12765
12766         * defaults.c:
12767         Fix negation of paths in a boolean context. Problem found by
12768         apt@UH.EDU
12769         [8aee217a7cdf]
12770
12771 2001-02-23  Todd C. Miller  <Todd.Miller@courtesan.com>
12772
12773         * visudo.c:
12774         pasto
12775         [ad32b277bf68]
12776
12777 2001-02-17  Todd C. Miller  <Todd.Miller@courtesan.com>
12778
12779         * visudo.c:
12780         SA_RESETHAND means the opposite of what I was thinking--oops To
12781         block all signals in old-style signals use ~0, not 0xffffffff
12782         [6ecdd793590a]
12783
12784 2001-02-04  Todd C. Miller  <Todd.Miller@courtesan.com>
12785
12786         * defaults.c:
12787         coerce difference of pointers to int when used in a string length
12788         printf format; deraadt@openbsd.org
12789         [a9d10f07180d]
12790
12791 2001-01-17  Todd C. Miller  <Todd.Miller@courtesan.com>
12792
12793         * visudo.c:
12794         Block all signals in Exit() to avoid a signal race. There is still
12795         a tiny window but I'm not going to worry about it.
12796         [6661805c0458]
12797
12798 2001-01-07  Todd C. Miller  <Todd.Miller@courtesan.com>
12799
12800         * env.c:
12801         glibc uses the LANGUAGE env var so clear that too; Solar Designer
12802         [d4ba95628afb]
12803
12804         * lex.yy.c:
12805         Regenerate with a fix to flex.skl that preserves errno from
12806         clobbering by isatty().
12807         [607eec736e19]
12808
12809 2000-12-31  Todd C. Miller  <Todd.Miller@courtesan.com>
12810
12811         * auth/aix_auth.c, auth/bsdauth.c, auth/fwtk.c, auth/pam.c,
12812         auth/sia.c, auth/sudo_auth.c:
12813         Some defaults I_ defines got renamed.
12814         [ec19b23caaf3]
12815
12816         * Makefile.in, check.c, def_data.c, def_data.h, def_data.in,
12817         defaults.c, defaults.h, env.c, logging.c, mkdefaults, parse.yacc,
12818         set_perms.c, sudo.c, sudo.tab.c:
12819         Move defaults info into its own files from which we generate .h and
12820         .c files. This makes adding or rearranging variables much simpler.
12821         [e91b880b5043]
12822
12823 2000-12-30  Todd C. Miller  <Todd.Miller@courtesan.com>
12824
12825         * configure, configure.in:
12826         fix typo in last commit
12827         [10a6ee2bae71]
12828
12829         * compat.h, config.h.in, configure, configure.in:
12830         Add check + emulation for setegid (like seteuid).
12831         [29492092bd2f]
12832
12833         * env.c:
12834         Make env_keep override badenv_table as documented Fix traversal of
12835         badenv_table (broken in last commit)
12836         [37c9f0d22673]
12837
12838         * set_perms.c, sudo.c, sudo.h:
12839         Don't try and build saved uid version of set_perms on systems w/o
12840         them. Rename set_perms_saved_uid() -> set_perms_posix() Make
12841         set_perms_setreuid simply be set_perms_fallback() and simply include
12842         the appropriate function at compile time (setreuid() vs. setuid()).
12843         [3107333c062c]
12844
12845         * sudoers.cat, sudoers.man.in, sudoers.pod:
12846         PATH is also preserved when env_reset is in effect
12847         [90e45c5711ff]
12848
12849         * CHANGES, Makefile.in, check.c, compat.h, config.h.in, configure,
12850         configure.in, defaults.c, defaults.h, env.c, find_path.c,
12851         getspwuid.c, set_perms.c, sudo.c, sudo.cat, sudo.h, sudo.man.in,
12852         sudo.pod, sudoers.cat, sudoers.man.in, sudoers.pod, testsudoers.c,
12853         visudo.c, visudo.cat, visudo.man.in:
12854         New Defaults options: o stay_setuid - sudo will remain setuid if
12855         system has saved uids or setreuid(2) o env_reset - reset the
12856         environment to a sane default o env_keep - preserve environment
12857         variables that would otherwise be cleared
12858
12859         No longer use getenv/putenv/setenv functions--do environment munging
12860         by hand. Potentially dangerous environment variables can be cleared
12861         only if they contain '/' pr '%' characters to protect buggy
12862         programs. Moved environment routines into env.c (new file)
12863         [c2f97651db4c]
12864
12865         * INSTALL:
12866         Clear up --without-passwd description
12867         [2f336dab6733]
12868
12869         * putenv.c, sudo_setenv.c:
12870         We now build up a new environment from scratch and assign it to
12871         "environ".
12872         [6ae6152f2238]
12873
12874 2000-12-19  Todd C. Miller  <Todd.Miller@courtesan.com>
12875
12876         * sudo.pod, visudo.pod:
12877         Grammatical fixes from Paul Janzen
12878         [e03ead2e56f8]
12879
12880 2000-12-15  Todd C. Miller  <Todd.Miller@courtesan.com>
12881
12882         * visudo.c:
12883         If there was a syntax error and the user just wants to quit, unlink
12884         sudoers if it is zero length.
12885         [74ba7921f520]
12886
12887         * visudo.c:
12888         'Q' means ignore parse error, not 'q'
12889         [e8d0e4491fe6]
12890
12891         * visudo.c:
12892         Open sudoers for writing with mode SUDOERS_MODE From Dimitry Andric
12893         <dim@xs4all.nl>
12894         [b24990a72491]
12895
12896 2000-12-13  Todd C. Miller  <Todd.Miller@courtesan.com>
12897
12898         * set_perms.c:
12899         Add missing #ifdef HAVE_LOGIN_CAP_H; ayamura@ayamura.org
12900         [41a8db10e076]
12901
12902 2000-12-09  Todd C. Miller  <Todd.Miller@courtesan.com>
12903
12904         * config.guess, config.sub:
12905         Darwin / Mac OS X support from Wilfredo Sanchez <wsanchez@apple.com>
12906         [6052da895d2e]
12907
12908 2000-11-03  Todd C. Miller  <Todd.Miller@courtesan.com>
12909
12910         * sudo.c, visudo.c:
12911         Use exit(127), not exit(-1)
12912         [9ff0c3eada34]
12913
12914         * Makefile.in, defaults.c, defaults.h, set_perms.c, sudo.c:
12915         Move set_perms() to its own file and use POSIX saved uid or
12916         setreuid() if available.
12917
12918         Added stay_setuid option for systems that have libraries that
12919         perform extra paranoia checks in system libraries for setuid
12920         programs (ie: anything with issetugid(2)).
12921         [28960f842698]
12922
12923         * sudo.c:
12924         strip more bits from the environment and add a facility for
12925         stripping things only if they contain '/' or '%' to address printf
12926         format string vulnerabilities in other programs.
12927         [b98d6375f299]
12928
12929 2000-11-02  Todd C. Miller  <Todd.Miller@courtesan.com>
12930
12931         * configure:
12932         regen
12933         [7e74e5c91049]
12934
12935         * configure.in:
12936         For NCR, add -lc89 to LIBS, not SUDO_LIBS and cache the existence of
12937         strcasecmp().
12938         [a418e9e70442]
12939
12940         * configure:
12941         regen
12942         [bbff244a52bc]
12943
12944         * configure.in:
12945         Check for strcasecmp(3) in -lc89 for NCR Unix
12946         [361c99576681]
12947
12948 2000-11-01  Todd C. Miller  <Todd.Miller@courtesan.com>
12949
12950         * config.h.in:
12951         Define HAVE_INNETGR #ifdef HAVE__INNETGR
12952         [473cdb92b6db]
12953
12954         * configure:
12955         regen
12956         [4e6364a195e0]
12957
12958         * compat.h, config.h.in, configure.in:
12959         Add check for _innetgr(3) since NCR systems have that instead of
12960         innetgr(3).
12961         [25e6852e7494]
12962
12963 2000-10-31  Todd C. Miller  <Todd.Miller@courtesan.com>
12964
12965         * auth/securid.c:
12966         check return value of creadcfg() call sd_close() after sd_auth()
12967         store username in sd->username so we don't rely on the USER env
12968         variable
12969         [d106b4f42722]
12970
12971 2000-10-30  Todd C. Miller  <Todd.Miller@courtesan.com>
12972
12973         * INSTALL:
12974         document --with-bsdauth
12975         [f1518ecc2ee9]
12976
12977         * configure:
12978         regen
12979         [dceb35071ea8]
12980
12981         * configure.in:
12982         --with-bsdauth assumes --with-logincap
12983         [4200778083fd]
12984
12985         * auth/bsdauth.c, auth/fwtk.c:
12986         When prompting for a response to a challenge, if the user just hits
12987         return then reprompt with echo turned on.
12988         [a539b6474a97]
12989
12990 2000-10-29  Todd C. Miller  <Todd.Miller@courtesan.com>
12991
12992         * sudo.c:
12993         Remove debugging code that should not have been committed, oops.
12994         [9862607b77a7]
12995
12996         * auth/bsdauth.c:
12997         Use lower-level routines and get the password ourselves. Checks for
12998         a challenge and if there is one echo is not turned off.
12999         [2d8fcd166baa]
13000
13001         * auth/pam.c, auth/sudo_auth.h:
13002         minor housekeeping, no real code changes
13003         [d0074a277fb4]
13004
13005 2000-10-27  Todd C. Miller  <Todd.Miller@courtesan.com>
13006
13007         * sudo.c:
13008         Fix a coredump in the logging functions if gethostname(2) fails by
13009         deferring the call to log_error() until things are better setup.
13010
13011         Fix return value of set_loginclass() in non-BSD-auth case.
13012
13013         Hard-code 'sudo' in the usage message so we can fit more options on
13014         a line
13015         [d9d1b7579818]
13016
13017         * logging.c:
13018         Fix errant ';' (typo) that broken MSG_ONLY
13019         [849b2276a470]
13020
13021 2000-10-26  Todd C. Miller  <Todd.Miller@courtesan.com>
13022
13023         * sudo.cat, sudo.man.in:
13024         regen
13025         [bb3c8c6704d1]
13026
13027         * sudo.pod:
13028         Document -a flag
13029         [e18316cebaac]
13030
13031         * Makefile.in, auth/bsdauth.c, auth/sudo_auth.h, config.h.in,
13032         configure, configure.in, getspwuid.c, sudo.c:
13033         Add support for BSD authentication.
13034         [f374cfd9ca0d]
13035
13036 2000-10-19  Todd C. Miller  <Todd.Miller@courtesan.com>
13037
13038         * sudoers.pod:
13039         Fix typo; from sato@complex.eng.hokudai.ac.jp
13040         [3085fee9766e]
13041
13042 2000-10-12  Todd C. Miller  <Todd.Miller@courtesan.com>
13043
13044         * sudoers.pod:
13045         Mention negating umask
13046         [c9e410294dae]
13047
13048         * defaults.c:
13049         Allow user to specify umask of 0777 (same as !umask)
13050         [bb771daa96fe]
13051
13052 2000-10-09  Todd C. Miller  <Todd.Miller@courtesan.com>
13053
13054         * sudo.pod, visudo.pod:
13055         Fix a typo and give a URL for the sudo history.
13056         [77f73199aedb]
13057
13058 2000-10-08  Todd C. Miller  <Todd.Miller@courtesan.com>
13059
13060         * defaults.c, sudo.pod:
13061         fix typos; pepper@reppep.com
13062         [5532c7421340]
13063
13064 2000-09-14  Todd C. Miller  <Todd.Miller@courtesan.com>
13065
13066         * sudo.c, sudo.h, sudo_setenv.c:
13067         sudo_setenv() now exits on memory alloc failure instead of returning
13068         -1.
13069         [71f1cf18f47b]
13070
13071 2000-09-07  Todd C. Miller  <Todd.Miller@courtesan.com>
13072
13073         * sudo.c:
13074         Strip out NLSPATH and PATH_LOCALE from the environment for FreeBSD
13075         and possibly others.
13076         [b69d985b0d22]
13077
13078         * logging.c:
13079         Don't use vsyslog(3) since HP-UX (and others?) lack it. This means
13080         that "%m" won't be expanded but we don't use that anyway since the
13081         logging routines may splat to stderr as well.
13082         [8d37a544d0c0]
13083
13084         * defaults.c, defaults.h, sudo.c, sudoers.cat, sudoers.man.in,
13085         sudoers.pod:
13086         Add always_set_home variable
13087         [dbcaff646e07]
13088
13089         * configure, configure.in:
13090         Have to hard code default values in help since the defaults are set
13091         _after_ the help stuff.
13092         [7b5d6d72f55c]
13093
13094 2000-08-31  Todd C. Miller  <Todd.Miller@courtesan.com>
13095
13096         * lex.yy.c, parse.lex:
13097         Allow special characters (including '#') to be embedded in pathnames
13098         if quoted by a '\\'. The quoted chars will be dealt with by
13099         fnmatch(). Unfortunately, 'sudo -l' still prints the '\\'.
13100         [3ed33cf09977]
13101
13102 2000-08-13  Todd C. Miller  <Todd.Miller@courtesan.com>
13103
13104         * install-sh:
13105         Better path searching for programs we need.
13106         [60517cb1f0d6]
13107
13108         * TROUBLESHOOTING:
13109         Add section on "C compiler cannot create executables" errors.
13110         [e4ada6eaee59]
13111
13112         * Makefile.binary, Makefile.in, version.h:
13113         Crank version
13114         [93d1bd5b7f5e]
13115
13116         * aclocal.m4, configure, configure.in, sudo.cat, sudo.man.in,
13117         sudo.pod, sudoers.cat, sudoers.man.in, sudoers.pod, visudo.cat,
13118         visudo.man.in, visudo.pod:
13119         Substitute values from configure into man pages.
13120         [619854c356c1]
13121
13122 2000-08-12  Todd C. Miller  <Todd.Miller@courtesan.com>
13123
13124         * parse.c, sudo.c:
13125         The listpw and verifypw sudoers options would not take effect
13126         because the value of the default was checked *before* sudoers was
13127         parsed. Instead of passing in the value of PWCHECK_* to
13128         sudoers_lookup(), pass in the arg for def_ival() so the check can be
13129         deferred until after sudoers is parsed.
13130         [4f596e358f72]
13131
13132 2000-08-11  Todd C. Miller  <Todd.Miller@courtesan.com>
13133
13134         * tgetpass.c:
13135         When writing prompt, no need to write the NUL as well;
13136         hag@linnaean.org
13137         [fbcdd7b431ee]
13138
13139 2000-06-09  Todd C. Miller  <Todd.Miller@courtesan.com>
13140
13141         * install-sh:
13142         When looking for chown, check in /sbin too
13143         [657ba6653f8c]
13144
13145 2000-06-05  Todd C. Miller  <Todd.Miller@courtesan.com>
13146
13147         * visudo.c:
13148         Remove extraneous call to init_defaults() and set runas_user to NULL
13149         betweem parses so init_defaults will reset it each time, thus
13150         avoiding a reference to free()d data.
13151         [7421fcd692af]
13152
13153 2000-06-04  Todd C. Miller  <Todd.Miller@courtesan.com>
13154
13155         * config.h.in, interfaces.c, interfaces.h, sudo.c:
13156         Add support for using getifaddrs() to get the list of ip addr /
13157         netmask pairs. Currently IPv4-only.
13158         [a35bc4f7306d]
13159
13160         * visudo.c:
13161         Add a missing check for UserEditor == NULL Add missing '+' before
13162         line number when invoking editor to fix a syntax error
13163         [f0d4635f6082]
13164
13165 2000-05-12  Todd C. Miller  <Todd.Miller@courtesan.com>
13166
13167         * sudo.c:
13168         Call clean_env very early in main() for paranoia's sake. Idea from
13169         Marc Esipovich.
13170         [f8d72ebd0115]
13171
13172 2000-05-10  Todd C. Miller  <Todd.Miller@courtesan.com>
13173
13174         * sudo.h:
13175         Update proto for evasprintf and easprintf
13176         [d147d6e58419]
13177
13178         * alloc.c:
13179         Make easprintf() and evasprintf() return an int.
13180         [b2ca5d089667]
13181
13182         * check.c:
13183         If the targetpw flag is set, use target username as part of the
13184         timestamp path. If tty tickets are in effect cat the tty and the
13185         target username with a ':' as the separator.
13186         [de11abc693c2]
13187
13188 2000-05-09  Todd C. Miller  <Todd.Miller@courtesan.com>
13189
13190         * auth/pam.c:
13191         Backout part of last change; setting PAM_USER to the invoking user
13192         breaks things like targetpw.
13193         [427218a7387f]
13194
13195         * auth/pam.c:
13196         set tty and username via pam_set_item
13197         [85d1922dbcc9]
13198
13199         * auth/sudo_auth.c, check.c, getspwuid.c, sudo.c, sudo.h:
13200         Fix root, runas, and target authentication for non-passwd file auth
13201         methods.
13202         [a14535e7b30c]
13203
13204 2000-04-22  Todd C. Miller  <Todd.Miller@courtesan.com>
13205
13206         * sudo.cat, sudo.man.in, sudo.pod, sudoers.cat, sudoers.man.in,
13207         sudoers.pod, visudo.cat, visudo.man.in, visudo.pod:
13208         Use B<-Z> not C<-Z> for command line flags in all places. This is
13209         more consistent and works around a bug in Pod::Man.
13210         [64b5a05f30c5]
13211
13212         * sudoers.cat, sudoers.man.in, sudoers.pod:
13213         Fix an occurence of 'semicolon' that should be 'colon'
13214         [4ea5aacae3fb]
13215
13216 2000-04-19  Todd C. Miller  <Todd.Miller@courtesan.com>
13217
13218         * configure, configure.in:
13219         Fix --with-badpri help line
13220         [3cc40977c043]
13221
13222 2000-04-17  Todd C. Miller  <Todd.Miller@courtesan.com>
13223
13224         * defaults.c, logging.c, sudo.c:
13225         Bracket calls to syslog with an openlog() and closelog() since some
13226         authentication methods (like PAM) may do their own logging via
13227         syslog. Since we don't use syslog much (usually just once per
13228         session) this doesn't really incur a performance penalty. It also
13229         Fixes a SEGV with pam_kafs.
13230         [fe1cc28529f6]
13231
13232 2000-04-15  Todd C. Miller  <Todd.Miller@courtesan.com>
13233
13234         * sudo.c:
13235         Fix -H flag. runas_homedir is only valid after
13236         set_perms(PERM_RUNAS, mode)
13237         [ce9b1c6f68a6]
13238
13239 2000-04-12  Todd C. Miller  <Todd.Miller@courtesan.com>
13240
13241         * INSTALL:
13242         Clarify the fact that insults are not enabled just by including them
13243         in the binary.
13244         [d5a31d48320c]
13245
13246 2000-04-07  Todd C. Miller  <Todd.Miller@courtesan.com>
13247
13248         * sudo.cat, sudo.man.in, sudoers.cat, sudoers.man.in, visudo.cat,
13249         visudo.man.in:
13250         Regenerated with perl 5.6.0 pod2man
13251         [21751433768b]
13252
13253         * Makefile.in:
13254         Give date string to pod2man since its default is ugly and it ain't
13255         got no alibi.
13256         [0080b2f6298f]
13257
13258         * Makefile.in:
13259         Do section substitution on the output of pod2man and remove hack
13260         needed for old pod2man.
13261         [1ef843d5c78b]
13262
13263         * sudo.pod, sudoers.pod, visudo.pod:
13264         Put back real man sections, we will do the substitution later.
13265         [f728c1abad7e]
13266
13267 2000-04-02  Todd C. Miller  <Todd.Miller@courtesan.com>
13268
13269         * configure, configure.in:
13270         Don't bother checking for the path to vi if user specified --with-
13271         editor
13272         [bf698487e0d5]
13273
13274 2000-04-01  Todd C. Miller  <Todd.Miller@courtesan.com>
13275
13276         * CHANGES, visudo.c:
13277         Visudo now does its own fork/exec instead of calling system(3).
13278         [99bbcd88863b]
13279
13280         * CHANGES, INSTALL, Makefile.in, sudoers.cat, sudoers.man.in,
13281         sudoers.pod, visudo.c:
13282         Visudo now checks for the existence of an editor and gives a
13283         sensible error if it does not exist.
13284
13285         The path to the editor for visudo is now a colon-separated list of
13286         allowable editors. If the user has $EDITOR set and it matches one
13287         of the allowed editors that editor will be used. If not, the first
13288         editor in the list that actually exists is used.
13289         [cc86eb9f5440]
13290
13291         * sudo.cat, sudo.man.in, sudo.pod:
13292         Clear up confusion wrt sudo's return value.
13293         [9385b12d8e79]
13294
13295 2000-03-27  Todd C. Miller  <Todd.Miller@courtesan.com>
13296
13297         * Makefile.in:
13298         Strip sudo and visudo for bindist target
13299         [a995ddd79177]
13300
13301         * sudo.cat, sudo.man.in, sudo.pod, sudoers.cat, sudoers.man.in,
13302         sudoers.pod, visudo.cat, visudo.man.in, visudo.pod:
13303         Use @mansectsu@ and @mansectform@ in the man page bodies as well.
13304         [5eb9e60a726f] [SUDO_1_6_3]
13305
13306         * visudo.cat, visudo.man.in, visudo.pod:
13307         Typo: @sysconf@ -> @sysconfdir@
13308         [f07f52fcd099]
13309
13310         * Makefile.in:
13311         'make dist' should not cause any files to be modified so remove its
13312         dependencies.
13313         [7f44a2666a9c]
13314
13315         * CHANGES:
13316         Whoops, forgot to add release marker
13317         [16c0f16b35b8]
13318
13319 2000-03-26  Todd C. Miller  <Todd.Miller@courtesan.com>
13320
13321         * CHANGES:
13322         Final change for 1.6.3 (or so I hope)
13323         [473c89da6123]
13324
13325         * sudo.cat, sudoers.cat, visudo.cat:
13326         Use SYSV man sections since BSD systems will have nroff...
13327         [0a6bd154324e]
13328
13329 2000-03-24  Todd C. Miller  <Todd.Miller@courtesan.com>
13330
13331         * parse.yacc, sudo.tab.c:
13332         When checking to see if the host/user matches in a defaults spec,
13333         check against TRUE, not just non-zero since it might be -1.
13334         [41f2b7ad3fdd]
13335
13336         * configure, configure.in:
13337         OSF/1 puts file formats in section 4, not 5.
13338         [d77c1301afa9]
13339
13340         * CHANGES, INSTALL, sudo.c:
13341         Make login class support work on BSD/OS
13342         [e9bbe3c08ade]
13343
13344         * RUNSON:
13345         Update for 1.6.3
13346         [c40ce1d76c4d]
13347
13348         * configure, configure.in:
13349         If there is no inet_addr but there *is* an __inet_addr that's ok
13350         since inet_addr is probably just a macro then. The better thing to
13351         do would be to look for the macro, but this is fine for now.
13352         [1b8865ae4d68]
13353
13354         * configure, configure.in:
13355         Don't use shlicc for BSD/OS 4.x
13356         [83fbf6dedd2c]
13357
13358         * Makefile.in, configure, configure.in:
13359         *.man lives in cwd, *.cat lives in $(srcdir), add a @mansrcdir@
13360         configure variable so we can deal with this. Also, only remove *.man
13361         for 'distclean' not 'clean'.
13362         [30d56e6de214]
13363
13364         * sudo.c:
13365         set_loginclass() should be static like the proto says
13366         [d570a2d55fb8]
13367
13368 2000-03-23  Todd C. Miller  <Todd.Miller@courtesan.com>
13369
13370         * fnmatch.c:
13371         Add #ifdef __STDC__ around the rangematch function header to avoid
13372         promotion of test to int, thus violating the prototype. Gcc handles
13373         this gracefully but more std ANSI compilers will complain.
13374         [7d98c3e332b2]
13375
13376         * emul/fnmatch.h:
13377         Pull in newer fnmatch(3) that supports FNM_CASEFOLD
13378         [4e1320852f8b]
13379
13380         * aclocal.m4, configure, fnmatch.3, fnmatch.c:
13381         Pull in newer fnmatch(3) that supports FNM_CASEFOLD Check for
13382         FNM_CASEFOLD in configure
13383         [9ef952bf1896]
13384
13385         * CHANGES, TODO:
13386         update for 1.6.3
13387         [e4ba6368a0c5]
13388
13389         * sudo.tab.c, sudo.tab.h, testsudoers.c, visudo.c:
13390         Fully qualified hosts w/ wildcards were not matching the FQHOST
13391         token type. There's really no need for a separate token for fully-
13392         qualified vs. unqualified anymore so FQHOST is now history and
13393         hostname_matches now decides which hostname (short or long) to check
13394         based on whether or not the pattern contains a '.'.
13395         [fbd2887d9811]
13396
13397         * parse.h:
13398         Fully qualified hosts w/ wildcards were not matching the FQHOST
13399         token type. There's really no need for a separate token for fully-
13400         qualified vs. unqualified anymore so FQHOST is now history and
13401         hostname_matches now decides which hostname (short or long) to check
13402         based on whether or not the pattern contains a '.'.
13403         [dd7bbe223461]
13404
13405         * lex.yy.c, parse.c, parse.lex, parse.yacc:
13406         Fully qualified hosts w/ wildcards were not matching the FQHOST
13407         token type. There's really no need for a separate token for fully-
13408         qualified vs. unqualified anymore so FQHOST is now history and
13409         hostname_matches now decides which hostname (short or long) to check
13410         based on whether or not the pattern contains a '.'.
13411         [630d9d205397]
13412
13413         * parse.c, parse.h, parse.yacc, sudo.tab.c, sudoers.cat,
13414         sudoers.man.in, sudoers.pod, testsudoers.c, visudo.c:
13415         Add support for wildcards in the hostname.
13416         [d8d821ed4238]
13417
13418         * Makefile.in:
13419         Add targets for *.man.in, using config.status to generate *.man from
13420         *.man.in
13421         [640e50ede485]
13422
13423         * sudoers.cat, sudoers.man.in, sudoers.pod:
13424         Document set_logname option and enbolden refs to sudo and visudo.
13425         [9622b3a48707]
13426
13427         * INSTALL, Makefile.in, aclocal.m4, configure, configure.in, sudo.cat,
13428         sudo.man.in, sudo.pod, sudoers.cat, sudoers.man.in, sudoers.pod,
13429         visudo.cat, visudo.man.in, visudo.pod:
13430         Add FreeBSD login.conf support (untested on BSD/OS) based on a patch
13431         from Michael D. Marchionna. configure now does substitution on the
13432         man pages, allowing us to fix up the paths and set the section
13433         correctly. Based on an idea from Michael D. Marchionna.
13434         [463e928a0a2f]
13435
13436         * auth/passwd.c:
13437         Better fix for handling HP-UX aging info.
13438         [3950f42d8549]
13439
13440         * sudo.c:
13441         Add support for set_logname run-time default
13442         [c6a7cc76b8b4]
13443
13444         * sudo.man.in, sudoers.man.in, visudo.man.in:
13445         configure does substitution on these to produce *.man
13446         [b83fc3c1bfc9]
13447
13448         * sudo.man, sudoers.man, visudo.man:
13449         These files now get generated from *.man.in at configure time.
13450         [c499061f79e0]
13451
13452 2000-03-22  Todd C. Miller  <Todd.Miller@courtesan.com>
13453
13454         * defaults.c, defaults.h:
13455         Add set_logname option so users can turn off setting of LOGNAME/USER
13456         environment variables.
13457         [6316869180b8]
13458
13459         * lsearch.c, parse.c, testsudoers.c:
13460         kill register
13461         [6e104e653748]
13462
13463 2000-03-13  Todd C. Miller  <Todd.Miller@courtesan.com>
13464
13465         * auth/passwd.c:
13466         HP-UX adds extra info at the end for password aging so when
13467         comparing the result of crypt to pw_passwd we only compare the first
13468         len(epass) bytes *unless* the user entered an empty string for a
13469         password.
13470         [3d24d4e4e889]
13471
13472         * logging.c:
13473         Get rid of grandchild hack, it was causing problems and there is
13474         really no need for it. This fixes a bug where we spin eating up CPU
13475         when the user runs a long-running process like a shell.
13476         [5743b10b1e81]
13477
13478 2000-03-07  Todd C. Miller  <Todd.Miller@courtesan.com>
13479
13480         * sudo.c:
13481         User can always specify a login class if he/she is already root.
13482         [710d160cef9f]
13483
13484         * config.h.in, configure, configure.in, defaults.c, defaults.h,
13485         sudo.c, sudo.h:
13486         FreeBSD login class (login.conf) support.
13487         [026b981d6328]
13488
13489 2000-03-06  Todd C. Miller  <Todd.Miller@courtesan.com>
13490
13491         * auth/sudo_auth.c:
13492         HAVE_SECUREWARE -> HAVE_GETPRPWNAM; fixes secureware support
13493         [9cd4929f1a78]
13494
13495 2000-03-03  Todd C. Miller  <Todd.Miller@courtesan.com>
13496
13497         * auth/passwd.c:
13498         Truncate unencrypted password to 8 chars if encrypted password is
13499         exactly 13 characters (indicateing standard a DES password). Many
13500         versions of crypt() do this for you, but not all (like HP-UX's).
13501         [a9d0259cb193]
13502
13503 2000-03-02  Todd C. Miller  <Todd.Miller@courtesan.com>
13504
13505         * INSTALL, RUNSON:
13506         Mention that gcc on dynix may have problems
13507         [77b97fa5bf1b]
13508
13509 2000-02-29  Todd C. Miller  <Todd.Miller@courtesan.com>
13510
13511         * Makefile.in:
13512         Link visudo with NET_LIBS since we now call syslog via defaults.c
13513         [9e3830b277cc]
13514
13515         * defaults.c:
13516         Use Argv[0] as the first arg to openlog() since visudo uses this
13517         too.
13518         [e61078f328ec]
13519
13520 2000-02-28  Todd C. Miller  <Todd.Miller@courtesan.com>
13521
13522         * sudo.c:
13523         Stash coredumpsize resource limit and retsore it before the exec()
13524         Otherwise the child ends up with a coredumpsize of 0.
13525         [f6a4783835a3]
13526
13527 2000-02-27  Todd C. Miller  <Todd.Miller@courtesan.com>
13528
13529         * sudo.cat, sudo.man, sudo.pod:
13530         document -S flag
13531         [3ebd805b7142]
13532
13533         * sudo.c:
13534         fix usage string
13535         [66b2dfa47fe8]
13536
13537         * CHANGES, RUNSON, TODO, auth/aix_auth.c, auth/fwtk.c, auth/pam.c,
13538         auth/sudo_auth.c, sudo.c, sudo.h, tgetpass.c:
13539         Added -S flag (read passwd from stdin) and tgetpass_flags global
13540         that holds flags to be passed in to tgetpass(). Change echo_off
13541         param to tgetpass() into a flags field. There are currently 2
13542         possible flags for tgetpass(): TGP_ECHO and TGP_STDIN. In
13543         tgetpass(), abstract the echo set/clear via macros and if (flags &
13544         TGP_ECHO) but echo is not set on the terminal, but sure to set it.
13545         [a4fcbb712cd0]
13546
13547         * tgetpass.c:
13548         Fixed a bug that caused an infinite loop when the password timeout
13549         was disabled.
13550         [2be1ffc5a39f]
13551
13552 2000-02-18  Todd C. Miller  <Todd.Miller@courtesan.com>
13553
13554         * CHANGES, defaults.c, defaults.h, getspwuid.c, sudo.c, sudo.h,
13555         sudoers.cat, sudoers.man, sudoers.pod, visudo.c:
13556         Add rootpw, runaspw, and targetpw options.
13557         [2d4563e46df7]
13558
13559         * CHANGES, defaults.c, sudoers.cat, sudoers.man, sudoers.pod,
13560         visudo.c:
13561         enveditor -> env_editor
13562         [ddc5f856e583]
13563
13564 2000-02-16  Todd C. Miller  <Todd.Miller@courtesan.com>
13565
13566         * BUGS, INSTALL, Makefile.in, README, configure, configure.in,
13567         sudo.cat, sudo.man, sudoers.cat, sudoers.man, version.h, visudo.cat,
13568         visudo.man:
13569         crank versino to 1.6.3
13570         [a5f7d3e74360]
13571
13572         * INSTALL, TODO, defaults.c, defaults.h, sudoers.cat, sudoers.man,
13573         sudoers.pod, visudo.c:
13574         Add 'editor' and 'enveditor' sudoers defaults and make visudo honor
13575         them. This means that visudo will now parse the sudoers file
13576         *before* it is edited so a bogus sudoers file will cause a warning
13577         to go to stderr. Also, visudo checks the variables once--it does not
13578         check them after each editor run since that could be confusing.
13579         [9f5af18e9212]
13580
13581 2000-02-15  Todd C. Miller  <Todd.Miller@courtesan.com>
13582
13583         * RUNSON:
13584         1.6.2 -> 1.6.2p1
13585         [e25b74f1d1af]
13586
13587         * check.c, sudo.c, sudo.h:
13588         Move user_is_exempt prototype into sudo.h
13589         [daf26a6ded8a]
13590
13591 2000-02-13  Todd C. Miller  <Todd.Miller@courtesan.com>
13592
13593         * configure, configure.in:
13594         Fix thinko, some && should have been || in the last commit
13595         [4b9b2d487ded]
13596
13597         * configure, configure.in:
13598         Don't initialized Makefile variables to be NULL since the user may
13599         want to import variables from their environment.
13600         [7be019f4422c]
13601
13602 2000-02-04  Todd C. Miller  <Todd.Miller@courtesan.com>
13603
13604         * configure, configure.in:
13605         typo
13606         [38f4d8971f0a]
13607
13608 2000-01-28  Todd C. Miller  <Todd.Miller@courtesan.com>
13609
13610         * sudo.tab.c:
13611         fix a yacc (skeleton.c) warning
13612         [a2da228a937b]
13613
13614 2000-01-27  Todd C. Miller  <Todd.Miller@courtesan.com>
13615
13616         * INSTALL, RUNSON, configure, configure.in:
13617         Make pam work on HP-UX 11.0;jaearick@colby.edu
13618         [b94de0ff6f42]
13619
13620         * CHANGES:
13621         recent changes; prepare for 1.6.2p1
13622         [b291635ea141]
13623
13624         * find_path.c:
13625         Don't apply SECURE_PATH if user is example; jmknoble@pobox.com
13626         [4306285c4f6e]
13627
13628 2000-01-26  Todd C. Miller  <Todd.Miller@courtesan.com>
13629
13630         * sudo.tab.c:
13631         Regen with yacc that has a memory leak plugged.
13632         [e26383a04eb7]
13633
13634         * sudoers.cat, sudoers.man, sudoers.pod:
13635         Expanded docs on sudoers 'defaults' options based on INSTALL file
13636         info.
13637         [54c3d62d6c74]
13638
13639         * INSTALL:
13640         Fix some while lies
13641         [d15311782150]
13642
13643 2000-01-24  Todd C. Miller  <Todd.Miller@courtesan.com>
13644
13645         * Makefile.in:
13646         When making a bindist, link FAQ to TROUBLESHOOTING instead of
13647         copying.
13648         [2d88a6ac88cf]
13649
13650         * sudoers.cat, sudoers.man, sudoers.pod:
13651         Add netgroup caveat
13652         [28d119f466e3] [SUDO_1_6_2]
13653
13654         * RUNSON:
13655         Last minute updates
13656         [89fb4ed22d52]
13657
13658         * TROUBLESHOOTING:
13659         PAM entry
13660         [a9fd59f39457]
13661
13662         * auth/pam.c:
13663         correct a comment
13664         [a29627225ba9]
13665
13666         * CHANGES, RUNSON:
13667         update for 1.6.2
13668         [b7f1c40ea732]
13669
13670         * auth/pam.c:
13671         Better detection of PAM errors and fix custom prompts with PAM.
13672         Based on patches from "Cloyce D. Spradling" <cloyce@headgear.org>
13673         [ff69234b94a5]
13674
13675 2000-01-20  Todd C. Miller  <Todd.Miller@courtesan.com>
13676
13677         * snprintf.c:
13678         Cast ULONG_MAX to unsigned long long when comparing to an unsigned
13679         long long value.
13680         [9d918c3a2ecd]
13681
13682 2000-01-19  Todd C. Miller  <Todd.Miller@courtesan.com>
13683
13684         * CHANGES, config.h.in, configure, configure.in, visudo.c:
13685         Fix sudoers locking in visudo. We now lock the sudoers file itself,
13686         not the temp file (since locking the temp file can foul up editors).
13687         The previous locking scheme didn't work because the fd was closed
13688         too early.
13689         [de2011bb11ed]
13690
13691         * config.h.in, configure, configure.in:
13692         Don't need test for ftruncate() any more.
13693         [e5f71c848104]
13694
13695         * configure, configure.in:
13696         Add a test for the -Aa flag w/ HP-UX's cc. Fixes compilation with
13697         the unbundled HP-UX cc.
13698         [2c373612c644]
13699
13700 2000-01-18  Todd C. Miller  <Todd.Miller@courtesan.com>
13701
13702         * sudoers.cat, sudoers.man, sudoers.pod:
13703         "a a" -> "a"; Aaron Campbell <aaron@cs.dal.ca>
13704         [05360d2c314e]
13705
13706 2000-01-17  Todd C. Miller  <Todd.Miller@courtesan.com>
13707
13708         * LICENSE, Makefile.in, defaults.c, defaults.h, parse.c, parse.h,
13709         parse.yacc, sudo.c, sudo.h, sudoers.pod, testsudoers.c, tgetpass.c,
13710         version.h, visudo.c:
13711         update copyright year on changed files
13712         [5792a2a28a4c]
13713
13714         * RUNSON:
13715         updates
13716         [edf8f19aa403]
13717
13718         * CHANGES:
13719         aix fix
13720         [4d4a243b31e2]
13721
13722         * INSTALL:
13723         Crank version to 1.6.2
13724         [bcb5cb411624]
13725
13726         * configure:
13727         Crank version to 1.6.2
13728         [32a19f33427f]
13729
13730         * sudo.c:
13731         When using rlimit check for RLIM_INFINITY When computing the value
13732         of maxfd, use min(getdtablesize(), RLIMIT_NOFILE)
13733         [8c16166802e5]
13734
13735         * CHANGES:
13736         recent changes
13737         [09fc7112e44d]
13738
13739         * BUGS, Makefile.in, README, configure.in, sudo.cat, sudo.man,
13740         sudoers.cat, sudoers.man, version.h, visudo.cat, visudo.man:
13741         Crank version to 1.6.2
13742         [055fa61a7c61]
13743
13744         * INSTALL, defaults.c, defaults.h, sudo.c, sudo.h, sudoers.pod:
13745         Add 'shell_noargs' runtime option back in. We have to defer
13746         checking until after the sudoers file has been parsed but since
13747         there are now other options that operate that way this one can too.
13748         Based on a patch from bguillory@email.com.
13749         [231db7a007a6]
13750
13751         * defaults.c, defaults.h, parse.c, sudo.c, sudo.h:
13752         Add "listpw" and "verifypw" options.
13753         [190683bac878]
13754
13755         * sudoers.cat, sudoers.man, sudoers.pod:
13756         o Fix some typos/omissions o Add section on verifypw and listpw o
13757         Define how NOPASSWD interacts with the -v and -l flags
13758         [6feb7350eb79]
13759
13760 2000-01-14  Todd C. Miller  <Todd.Miller@courtesan.com>
13761
13762         * configure, configure.in:
13763         For HP-UX cc, add -Aa to CPPFLAGS. For HP-UX always add
13764         -D_HPUX_SOURCE to CPPFLAGS.
13765         [06cc35d89dc8]
13766
13767         * defaults.c, defaults.h:
13768         In struct sudo_defs_types, move the union to the end and don't
13769         initialize the union member since that only works with an ANSI
13770         compiler. We set the value of the union by hand in init_defaults()
13771         anyway. This allows sudo to compile on a K&R compiler again.
13772         [623487e1fcfa]
13773
13774 2000-01-11  Todd C. Miller  <Todd.Miller@courtesan.com>
13775
13776         * parse.c, parse.h, parse.yacc, sudo.tab.c, testsudoers.c, visudo.c:
13777         netgr_matches needs to check shost as well as host since they may be
13778         different.
13779         [3f43ace23d3e]
13780
13781         * tgetpass.c:
13782         End on \r as well as \n
13783         [cb7c6e6f4202]
13784
13785 2000-01-03  Todd C. Miller  <Todd.Miller@courtesan.com>
13786
13787         * sudo.c:
13788         Update statbuf.st_mode based on SUDOERS_MODE when we are chaning
13789         from 0400 to whatever SUDOERS_MODE is (converting from the old
13790         sudoers mode). Assumes that SUDOERS_MODE is less restrictive than
13791         0400 which should always be the case.
13792         [34cd83d49d20]
13793
13794         * parse.c, parse.yacc, sudo.c, sudo.h, sudo.tab.c:
13795         Make treatment of -l and -v sane wrt NOPASSWD flags. Now allow -l
13796         w/o a passwd if there is *any* entry for the user on the host with a
13797         NOPASSWD flag. For -v, only allow w/o a passwd if *all* entries for
13798         the user on the host w/ the specified runas user have the NOPASSWD
13799         flag set.
13800         [4b3b85697653]
13801
13802         * Makefile.in:
13803         add check target
13804         [3d24d34a76fd]
13805
13806 1999-12-16  Todd C. Miller  <Todd.Miller@courtesan.com>
13807
13808         * visudo.c:
13809         Treat EOF at whatnow prompt like 'x' instead of looping.
13810         [5deffc27114c]
13811
13812 1999-12-10  Todd C. Miller  <Todd.Miller@courtesan.com>
13813
13814         * CHANGES:
13815         recent changes
13816         [5836a9452568] [SUDO_1_6_1]
13817
13818 1999-12-09  Todd C. Miller  <Todd.Miller@courtesan.com>
13819
13820         * config.h.in, configure, configure.in, sudo.c:
13821         Add check for initgroups() since old SYSV lacks this.
13822         [657a6005a569]
13823
13824         * CHANGES, RUNSON, aclocal.m4, config.h.in, configure, configure.in,
13825         parse.c, testsudoers.c:
13826         o Kill HAVE_FNMATCH_H o Only define HAVE_FNMATCH if <fnmatch.h>
13827         exists.
13828         [17d081e917d6]
13829
13830 1999-12-06  Todd C. Miller  <Todd.Miller@courtesan.com>
13831
13832         * auth/sudo_auth.c:
13833         Don't allow insults to be enabled if the insults[] array is empty.
13834         Otherwise there would be division by zero.
13835         [b20c14db6029]
13836
13837         * insults.h:
13838         Don't allow insults to be enabled if the insults[] array is empty.
13839         Otherwise there would be division by zero.
13840         [028f130204b0]
13841
13842         * CHANGES, RUNSON:
13843         Don't allow insults to be enabled if the insults[] array is empty.
13844         Otherwise there would be division by zero.
13845         [974f4780254b]
13846
13847         * insults.h:
13848         Don't care about USE_INSULTS #define since the insult stuff may be
13849         overridden at runtime.
13850         [b873df8b299c]
13851
13852         * auth/sudo_auth.c:
13853         Honor insults flag.
13854         [756111640fdc]
13855
13856         * CHANGES, parse.c:
13857         Don't ask the user for a password if the user is not allowed to run
13858         the command and the authenticate flag (in sudoers) is false.
13859         [cea9fdc09c76]
13860
13861         * CHANGES, RUNSON, lex.yy.c, parse.lex:
13862         o Whenever we get a bare newline we change to the INITIAL state. o
13863         Enter GOTRUNAS when we see Runas_Alias
13864
13865         This allows #uid to work in a RunasAlias.
13866         [a475513e7c7a]
13867
13868 1999-12-05  Todd C. Miller  <Todd.Miller@courtesan.com>
13869
13870         * CHANGES, parse.yacc, sudo.tab.c:
13871         fix parsing of runas lists: o oprunasuser and runaslist now return a
13872         value o in a runasspec, if a runaslist does not return TRUE, set
13873         runas_matches to FALSE. Normally, a runaslist only returns FALSE
13874         for explicitly denied users. o since runaslist does not modify the
13875         stack there is no need for a push/pop in runasalias.
13876         [82b305b34a8c]
13877
13878         * check.c, sudo.c:
13879         Don't kill the user's tickets until after sudoers has been parsed
13880         since tty_tickets and ticket_dir could be set in sudoers.
13881         [f43e25367f3a]
13882
13883         * BUGS, CHANGES, Makefile.binary, Makefile.in, README, RUNSON,
13884         configure, configure.in, sudo.cat, sudo.man, sudoers.cat,
13885         sudoers.man, tgetpass.c, version.h, visudo.cat, visudo.man:
13886         crank version to 1.6
13887         [95f8bdcf9bb2]
13888
13889         * testsudoers.c:
13890         add set_fqdn() stub
13891         [bbc81af5b41a]
13892
13893 1999-12-02  Todd C. Miller  <Todd.Miller@courtesan.com>
13894
13895         * INSTALL, defaults.c, defaults.h, sudo.c, sudo.h, sudoers.cat,
13896         sudoers.man, sudoers.pod, visudo.c:
13897         o Kill shell_noargs option, it cannot work since the command needs
13898         to be set before sudoers is parsed. o Fix the "set_home" sudoers
13899         option (only worked at compile time). o Fix "fqdn" sudoers option.
13900         We now set host/shost via set_fqdn which gets called when the
13901         "fqdn" option is set in sudoers. o Move the openlog() to
13902         store_syslogfac() so this gets overridden correctly from the
13903         sudoers file.
13904         [3dca861f0f5d]
13905
13906         * auth/securid.c:
13907         SecurID support should compile now.
13908         [a544e5c6ea34]
13909
13910 1999-11-29  Todd C. Miller  <Todd.Miller@courtesan.com>
13911
13912         * sudo.cat, sudo.man, sudo.pod, sudoers.cat, sudoers.man, visudo.cat,
13913         visudo.man, visudo.pod:
13914         fix some syntactic goofs
13915         [b3451f0d5239]
13916
13917 1999-11-28  Todd C. Miller  <Todd.Miller@courtesan.com>
13918
13919         * Makefile.in, sudo.html, sudoers.html, visudo.html:
13920         No longer need the .html files as they are generated automatically
13921         on the web site.
13922         [1b4aa4204584]
13923
13924         * CHANGES, LICENSE:
13925         kill characters that made wml unhappy
13926         [b988fbc6da56]
13927
13928         * HISTORY:
13929         typo
13930         [a418963f7fce]
13931
13932 1999-11-25  Todd C. Miller  <Todd.Miller@courtesan.com>
13933
13934         * README:
13935         majordomo@cs.colorado.edu -> majordomo@courtesan.com
13936         [5d151e8ffd3b]
13937
13938         * Makefile.in, configure:
13939         Wrap script execution w/ /bin/sh for the benefit of ctm
13940         [3a9c4766b2c3]
13941
13942 1999-11-24  Todd C. Miller  <Todd.Miller@courtesan.com>
13943
13944         * sudo.c:
13945         Make the -s flag be exclusive too. Also reorder the flags in the
13946         exclusive usage message so they are alphabetical.
13947         [4c7af200db34]
13948
13949 1999-11-23  Todd C. Miller  <Todd.Miller@courtesan.com>
13950
13951         * auth/pam.c:
13952         make pam errors other than PAM_PERM_DENIED fatal
13953         [64bcb3fd2baf]
13954
13955         * auth/API:
13956         fix typo
13957         [f3134c88b12e]
13958
13959         * INSTALL:
13960         make it clear that /etc/pam.d/sudo is required on linux
13961         [213cc3eaad82]
13962
13963         * auth/pam.c:
13964         fix a warning on redhat and spew an error if pam_authenticate()
13965         returns an error other than AUTH_SUCCESS or PAM_PERM_DENIED
13966         [7e46dd19da89]
13967
13968         * sudo.cat, sudo.html, sudo.man, sudo.pod:
13969         Be very clear that the password required is the user's not root's
13970         [a6da127347e5]
13971
13972 1999-11-20  Todd C. Miller  <Todd.Miller@courtesan.com>
13973
13974         * Makefile.in:
13975         add sample.syslog.conf to DISTFILES and BINFILES
13976         [8661c27c007e]
13977
13978 1999-11-19  Todd C. Miller  <Todd.Miller@courtesan.com>
13979
13980         * RUNSON:
13981         updates from Brian Jackson + some formatting
13982         [6d31c6fa63f8]
13983
13984 1999-11-18  Todd C. Miller  <Todd.Miller@courtesan.com>
13985
13986         * INSTALL.binary, Makefile.binary, README, RUNSON:
13987         o One RUNSon update o Changes for automating real binary releases
13988         [dd9585f4406c]
13989
13990         * Makefile.in:
13991         Add bindist target
13992         [546ed3fa94bb]
13993
13994 1999-11-16  Todd C. Miller  <Todd.Miller@courtesan.com>
13995
13996         * TROUBLESHOOTING:
13997         talk about run-time options in addition to compile-time options
13998         [1eb813ff0a9a] [SUDO_1_6_0]
13999
14000         * CHANGES:
14001         fix typos
14002         [65e92bb70a7b]
14003
14004         * sudo.c:
14005         need sys/time.h if HAVE_SETRLIMIT
14006         [ce31655a8a60]
14007
14008         * PORTING, README, RUNSON, sudo.c, sudo.cat, sudo.html, sudo.man,
14009         sudo.pod, visudo.cat, visudo.html, visudo.man, visudo.pod:
14010         get rid of references to sudo-bugs. Now mention the web site or the
14011         sudo@ alias
14012         [a9db861fd8c6]
14013
14014         * sudoers.html:
14015         repair pod2html damage
14016         [62ece4277f1f]
14017
14018         * RUNSON, TODO:
14019         Update for 1.6 release
14020         [98569c57ba2a]
14021
14022         * sudoers.cat, sudoers.html, sudoers.man, sudoers.pod:
14023         Add warning about using ALL in a command context.
14024         [6c77685ab280]
14025
14026 1999-11-09  Todd C. Miller  <Todd.Miller@courtesan.com>
14027
14028         * visudo.c:
14029         Call yyrestart() on a parse error to reset the lexer state.
14030         [1370a27acdb2]
14031
14032         * lex.yy.c, parse.lex:
14033         Don't need YY_FLUSH_BUFFER after all Move yyrestart() into visudo.c
14034         since it might not get called in yywrap if we get a parse error
14035         (and we only reread the file on error anyway).
14036         [37f4b449e28e]
14037
14038         * lex.yy.c, parse.lex:
14039         Call YY_FLUSH_BUFFER macro in yywrap() to clean up any buffers that
14040         might still exist. Call yyrestart() instead of using the deprecated
14041         YY_NEW_FILE macro.
14042         [7d0d873046c6]
14043
14044         * lex.yy.c, parse.lex:
14045         flex doesn't need %N table size declarations
14046         [268b020fd60a]
14047
14048         * sudoers.cat, sudoers.html, sudoers.man, sudoers.pod:
14049         Mention what characters need to be escaped in names.
14050         [72ccbb6b0f31]
14051
14052 1999-11-08  Todd C. Miller  <Todd.Miller@courtesan.com>
14053
14054         * configure:
14055         regen
14056         [65827abb5c7b]
14057
14058         * INSTALL:
14059         clarify Mac OS X entry
14060         [8da1549a71f5]
14061
14062         * RUNSON:
14063         update
14064         [0cff8df7459f]
14065
14066         * configure.in:
14067         o Use AC_MSG_ERROR throughout o Check syslog configure options for
14068         danity
14069         [4cb81e642e5c]
14070
14071 1999-11-05  Todd C. Miller  <Todd.Miller@courtesan.com>
14072
14073         * defaults.c:
14074         Fix printing of type T_MODE in dump_defaults()
14075         [a868bb6f5515]
14076
14077         * strcasecmp.c:
14078         missing sys/types.h
14079         [ca694ca325b6]
14080
14081         * INSTALL:
14082         Break out options that may be overridden at run time into their own
14083         section. Add a not about Max OS X and correct some lies.
14084         [d8bcfd120593]
14085
14086 1999-11-04  Todd C. Miller  <Todd.Miller@courtesan.com>
14087
14088         * CHANGES, config.h.in, configure, configure.in, sudo.c:
14089         o Now use getrlimit to find the highest fd when closing all non-std
14090         fd's o Turn off core dumps via setrlimit for the sake of paranoia
14091         [dd9f651b6def]
14092
14093         * RUNSON:
14094         updates
14095         [f581841fe615]
14096
14097 1999-11-01  Todd C. Miller  <Todd.Miller@courtesan.com>
14098
14099         * CHANGES:
14100         updates
14101         [553baa1d44c7]
14102
14103         * tgetpass.c:
14104         When read()'ing, do a single character at a time to be sure we don't
14105         go oast the newline.
14106         [907d33f55bb4]
14107
14108         * sudo.c:
14109         For the sudo_root option, check against user_uid, not getuid() since
14110         at this point, ruid == euid == 0.
14111         [92d5c51939b4]
14112
14113         * RUNSON:
14114         some updates
14115         [e3ed0c1f312b]
14116
14117         * logging.h:
14118         Fix compilation problem when --with-logging=file was specified.
14119         This means that syslog is now required to build sudo but that should
14120         not be a problem. If it is it can be fixed trivially with a
14121         configure check for syslog() or syslog.h.
14122         [839a4b069190]
14123
14124         * tgetpass.c:
14125         Make this work again for things like "sudo echo hi | more" where the
14126         tty gets put into character at a time mode. We read until we read
14127         end of line or we run out of space (similar to fgets(3)).
14128         [c8f746df2e63]
14129
14130 1999-10-20  Todd C. Miller  <Todd.Miller@courtesan.com>
14131
14132         * sudoers.cat, sudoers.html, sudoers.man, sudoers.pod:
14133         change ital to bold
14134         [f860978e530a]
14135
14136         * RUNSON:
14137         update
14138         [9bcfbb405568]
14139
14140 1999-10-16  Todd C. Miller  <Todd.Miller@courtesan.com>
14141
14142         * defaults.c:
14143         Error out if syslog parameters are given without a value. For
14144         Ultrix or 4.2BSD "syslog" is allowed without a value since there are
14145         no facilities in the 4.2BSD syslog.
14146         [69e7a686f5f0]
14147
14148 1999-10-15  Todd C. Miller  <Todd.Miller@courtesan.com>
14149
14150         * defaults.c:
14151         Ignore the syslog facility for systems w/ old syslog like Ultrix.
14152         [5c250adbbb84]
14153
14154         * TROUBLESHOOTING:
14155         people with "." early in their path can have problems running sudo
14156         from the build dir ;-)
14157         [20a1744a24a4]
14158
14159 1999-10-13  Todd C. Miller  <Todd.Miller@courtesan.com>
14160
14161         * sudo.cat, sudo.html, sudo.man, sudo.pod:
14162         Remove -r realm option
14163         [127caa537f95]
14164
14165         * auth/kerb5.c, auth/sudo_auth.c, auth/sudo_auth.h, configure,
14166         configure.in, sudo.c:
14167         New krb5 code from Frank Cusack <fcusack@iconnet.net>.
14168         [7177a3893a62]
14169
14170         * CHANGES:
14171         update to reality
14172         [766cfbb512d6]
14173
14174 1999-10-12  Todd C. Miller  <Todd.Miller@courtesan.com>
14175
14176         * auth/fwtk.c:
14177         include <auth.h> to get function prototypes.
14178         [d6c7c12d09fe]
14179
14180         * sudo.cat, sudo.html, sudo.man, sudo.pod:
14181         document -L flag
14182         [dc803e1ce0d7]
14183
14184 1999-10-11  Todd C. Miller  <Todd.Miller@courtesan.com>
14185
14186         * sudo.c:
14187         in set_perms(), always call setuid(0) before changing the ruid/euid
14188         so we always know it will succeed.
14189         [8cced1b862bf]
14190
14191         * defaults.h:
14192         #undef T_FOO to avoid conflicts with system defines (like on
14193         ULTRIX).
14194         [d9f0aac092b0]
14195
14196         * TODO, sample.sudoers, sudoers.cat, sudoers.html, sudoers.man,
14197         sudoers.pod:
14198         Docuement "Defaults" lines in /etc/sudoers. Still needs some
14199         fleshing out but this is a start.
14200         [521a1e629bbc]
14201
14202 1999-10-10  Todd C. Miller  <Todd.Miller@courtesan.com>
14203
14204         * use strtol, not strtoul since not everyone has not strtoul
14205         [988462f093cc]
14206
14207         * defaults.c:
14208         use strtol, not strtoul since not everyone has not strtoul
14209         [fce835ce62e3]
14210
14211         * lex.yy.c, parse.lex:
14212         last {WORD} rule should only apply in the INITIAL state
14213         [9b57570bfa83]
14214
14215         * lex.yy.c, parse.lex:
14216         o Add support for escaped characters in the WORD macro o Modify
14217         fill() to squash escape chars
14218         [87572d59e4e0]
14219
14220         * defaults.c, defaults.h:
14221         o Add T_PATH flag to allow simple sanity checks for default values
14222         that are supposed to be pathnames. o Fix a duplicate free when
14223         visudo finds an error.
14224         [bdc6855a6c6d]
14225
14226 1999-10-09  Todd C. Miller  <Todd.Miller@courtesan.com>
14227
14228         * defaults.c, defaults.h, logging.c:
14229         mail_if_foo -> mail_foo
14230         [cbee9415875d]
14231
14232 1999-10-08  Todd C. Miller  <Todd.Miller@courtesan.com>
14233
14234         * compat.h, defaults.c, defaults.h, sudo.c, tgetpass.c:
14235         o Add requiretty option o Move O_NOCTTY to compat.h
14236         [65b8bf0e1795]
14237
14238         * logging.c:
14239         The exit() in log_error() was mistakenly removed in a previous
14240         version. Put it back...
14241         [9473449130a4]
14242
14243 1999-10-07  Todd C. Miller  <Todd.Miller@courtesan.com>
14244
14245         * INSTALL, TODO, auth/aix_auth.c, auth/fwtk.c, auth/pam.c,
14246         auth/rfc1938.c, auth/sia.c, auth/sudo_auth.c, check.c, config.h.in,
14247         configure, configure.in, defaults.c, defaults.h, find_path.c,
14248         getspwuid.c, logging.c, parse.yacc, sudo.c, sudo.tab.c:
14249         o Change defaults stuff to put the value right in the struct. o
14250         Implement mailer_flags o Store syslog stuff both in int and string
14251         form. Setting the string form magically updates the int version.
14252         o Add boolean attribute to strings where it makes sense to say !foo
14253         [4698953f9a36]
14254
14255         * tgetpass.c:
14256         add O_NOCTTY when opening /dev/tty just in case
14257         [4c6d1d1bb300]
14258
14259 1999-10-06  Todd C. Miller  <Todd.Miller@courtesan.com>
14260
14261         * auth/API:
14262         cleanup function no longer takes a status arg
14263         [0819edbfe7f8]
14264
14265         * INSTALL:
14266         the the
14267         [19aadb65ea28]
14268
14269 1999-09-15  Todd C. Miller  <Todd.Miller@courtesan.com>
14270
14271         * TODO, config.h.in, configure, configure.in, logging.c:
14272         Use strftime() instead of ctime() if it is available.
14273         [fb60ea63b514]
14274
14275 1999-09-14  Todd C. Miller  <Todd.Miller@courtesan.com>
14276
14277         * defaults.c:
14278         fix copyright date
14279         [4a53b54aa72f]
14280
14281         * RUNSON:
14282         update ReliantUNIX entry
14283         [de618a4f67d9]
14284
14285         * defaults.c, defaults.h, logging.c:
14286         add log_year option
14287         [251a9e20568a]
14288
14289         * configure, configure.in:
14290         add --without-sendmail to help output
14291         [93162f199902]
14292
14293         * configure, configure.in:
14294         enforce an otctal arg for --with-suoders-mode
14295         [45e1b04ccad3]
14296
14297 1999-09-08  Todd C. Miller  <Todd.Miller@courtesan.com>
14298
14299         * BUGS, INSTALL, Makefile.in, TODO, aclocal.m4, auth/aix_auth.c,
14300         auth/fwtk.c, auth/kerb5.c, auth/pam.c, auth/rfc1938.c, auth/sia.c,
14301         auth/sudo_auth.c, check.c, config.h.in, configure, configure.in,
14302         defaults.c, defaults.h, find_path.c, lex.yy.c, logging.c, parse.h,
14303         parse.lex, parse.yacc, sudo.c, sudo.h, sudo.tab.c, sudo.tab.h,
14304         testsudoers.c, version.c, visudo.c:
14305         Add support for "Defaults" line in sudoers to make configuration
14306         variables changable at runtime (and on a global, per-host and per-
14307         user basis). Both the names and the internal representation are
14308         still subject to change. It was necessary to make sudo_user.runas
14309         but a char ** instead of a char * since this value can be changed by
14310         a Defaults line. There is a similar (but more complicated) issue
14311         with sudo_user.prompt but it is handled differently at the moment.
14312
14313         Add a "-L" flag to list the name of options with their descriptions.
14314         This may only be temporary.
14315
14316         Move some prototypes to parse.h
14317
14318         Be much less restrictive on what is allowed for a username.
14319         [f71abf7ba80c]
14320
14321         * sample.syslog.conf:
14322         Add more info
14323         [e952e6f42d4d]
14324
14325 1999-09-04  Todd C. Miller  <Todd.Miller@courtesan.com>
14326
14327         * LICENSE, fnmatch.3, fnmatch.c, getcwd.c, lsearch.c, snprintf.c,
14328         strcasecmp.c:
14329         UCB has dropped the advertising clause from their license.
14330         [a5602b36a341]
14331
14332 1999-08-31  Todd C. Miller  <Todd.Miller@courtesan.com>
14333
14334         * auth/sudo_auth.h:
14335         move dce_verofy proto to correct section
14336         [972c815af558]
14337
14338         * auth/dce.c:
14339         remove XXX
14340         [820631855be0]
14341
14342 1999-08-28  Todd C. Miller  <Todd.Miller@courtesan.com>
14343
14344         * emul/fnmatch.h:
14345         Add fnmatch() prototype
14346         [79e84576d92a]
14347
14348         * fnmatch.c, parse.c, testsudoers.c:
14349         Move inclusion of emul/fnmatch.h to be after sudo.h for __P
14350         [1182c89fa811]
14351
14352         * sudo.h:
14353         add strcasecmp proto
14354         [512d1d8a6a0c]
14355
14356         * auth/sudo_auth.c:
14357         add check for case where there are no auth methods
14358         [e4af2b91b43e]
14359
14360         * configure, configure.in:
14361         Define _XOPEN_EXTENDED_SOURCE on AIX and __USE_FIXED_PROTOTYPES__ on
14362         SunOS4 w/ gcc
14363         [746ce8bcec23]
14364
14365         * getspwuid.c, lex.yy.c, parse.lex, parse.yacc, sudo.tab.c:
14366         include strings.h everywhere we include string.h
14367         [6f7d5d437e7b]
14368
14369         * version.c:
14370         nicer output when showing auth methods
14371         [0eac4b977f9d]
14372
14373         * version.c:
14374         Add support for SEND_MAIL_WHEN_NO_HOST
14375         [9f20a3a3fae6]
14376
14377         * config.h.in, configure, configure.in:
14378         Add _GNU_SOURCE for Linux
14379         [c7bd8c511847]
14380
14381         * lex.yy.c, parse.lex:
14382         fix definition of OCTECT
14383         [4af30e63244d]
14384
14385         * configure, configure.in:
14386         aix_auth.o not authenticate.o
14387         [fe95dfb08df4]
14388
14389 1999-08-27  Todd C. Miller  <Todd.Miller@courtesan.com>
14390
14391         * sudo.c:
14392         Only block SIGINT, SIGQUIT, SIGTSTP (which can be generated from the
14393         keyboard). Since we run with ruid/euid == 0 the user can't really
14394         signal us in nasty ways.
14395         [a7f6487c0f48]
14396
14397         * visudo.c:
14398         Don't need to worry about catching too many signals since we do
14399         locking on the tmp file. If a lockfile is really stale, it will be
14400         detected and overwritten.
14401         [28983db3e749]
14402
14403         * INSTALL, Makefile.in:
14404         include auth/API in tarball
14405         [014991600252]
14406
14407         * auth/sudo_auth.c:
14408         move memset() of plaintext pw outside of verify loop and only do the
14409         memset if we are *not* in standalone mode.
14410         [66f8e87567e2]
14411
14412         * auth/sudo_auth.c, auth/sudo_auth.h:
14413         DCE is not a standalone method
14414         [34963e2d8a1b]
14415
14416         * sudo.c:
14417         fix --enable-noargs-shell
14418         [4234062abbb0]
14419
14420         * snprintf.c:
14421         "#ifdef __STDC__" not "#if __STDC__" (I missed one)
14422         [c430b80454c6]
14423
14424         * auth/fwtk.c, auth/sia.c:
14425         _cleanup() function returns an int.
14426         [d1a1cc071ec1]
14427
14428         * auth/dce.c:
14429         there were still some return(0)'s hanging around, make them
14430         AUTH_FAILURE
14431         [1002aa1962c3]
14432
14433         * parse.c:
14434         typo in comment
14435         [5abc410dbfd2]
14436
14437         * version.c:
14438         add missing semicolon
14439         [a262283b52a5]
14440
14441         * auth/sudo_auth.h:
14442         missing backslash
14443         [bf89f6bd2900]
14444
14445 1999-08-26  Todd C. Miller  <Todd.Miller@courtesan.com>
14446
14447         * CHANGES, config.h.in, configure, configure.in:
14448         Kill _XOPEN_EXTENDED_SOURCE -- causes problems on some OSes
14449         [f1a9bca0cf67]
14450
14451         * Makefile.in:
14452         add parse.h to HDRS
14453         [a3d054987766]
14454
14455         * Makefile.in, configure, configure.in:
14456         Kill VISUDO_LIBS and VISUDO_LDFLAGS. Add LIBS, NET_LIBS, and
14457         LDFLAGS. Common libs go in LIBS, commong ld flags go in LDFLAGS and
14458         network libs like -lsocket, -lnsl go in NET_LIBS. This allows
14459         testsudoers to build on Solaris and is a bit cleaner in general.
14460         [4e6239e97002]
14461
14462         * UPGRADE:
14463         mention ptmp -> sudoers.tmp
14464         [ec3baa0fe8a1]
14465
14466         * config.h.in, configure, configure.in:
14467         Define _XOPEN_SOURCE_EXTENDED not _XOPEN_SOURCE
14468         [6f93dc7f39f5]
14469
14470         * RUNSON:
14471         add 2 reports
14472         [ce0fcc00ee4e]
14473
14474         * auth/kerb5.c:
14475         Minor changes, mostly cosmetic. verify_krb_v5_tgt() changed to
14476         return a value more like a system function
14477         [0dd56aa21424]
14478
14479         * auth/dce.c:
14480         Add an XXX
14481         [58fc8562c212]
14482
14483         * TODO:
14484         more things todo!
14485         [5a459d0cf339]
14486
14487         * sample.sudoers:
14488         update based on what is in the man page
14489         [1a0477db96fa]
14490
14491         * parse.yacc, sudo.tab.c:
14492         minor change to first line printed in -l mode
14493         [69eb57d96952]
14494
14495         * sudo.cat, sudo.html, sudo.man, sudo.pod:
14496         rename "ENVIRONMENT VARIABLES" section to "ENVIRONMENT" to be more
14497         standard and add "EXAMPLES" section
14498         [7e543335ebe1]
14499
14500         * visudo.cat, visudo.html, visudo.man, visudo.pod:
14501         rename "ENVIRONMENT VARIABLES" section to "ENVIRONMENT" to be more
14502         standard
14503         [f82d87ed65c2]
14504
14505         * logging.c, parse.c, sudo.h:
14506         add FLAG_NO_CHECK
14507         [c7d69176a2d7]
14508
14509         * lex.yy.c, parse.lex:
14510         make an OCTET really be limited to 0-255
14511         [6ee568dd6a02]
14512
14513         * UPGRADE:
14514         mention timestamp changes
14515         [e44d5302bf60]
14516
14517         * PORTING:
14518         cosmetic cleanup
14519         [36fa3a2664dd]
14520
14521         * sudoers.cat, sudoers.html, sudoers.man, sudoers.pod:
14522         new sudoers(8) man page
14523         [e674d06283d0]
14524
14525 1999-08-24  Todd C. Miller  <Todd.Miller@courtesan.com>
14526
14527         * version.c:
14528         Update comments about syslog name tables
14529         [63830a782dcb]
14530
14531         * CHANGES, LICENSE, Makefile.in, configure, configure.in, parse.yacc,
14532         strcasecmp.c, sudo.tab.c:
14533         include strcasecmp() for those without it
14534         [a0d8e2488bbc]
14535
14536         * sample.sudoers:
14537         Use the : operator some more and fix a typo
14538         [18804c70da86]
14539
14540         * HISTORY:
14541         update the history of sudo
14542         [9d9b3d5279b3]
14543
14544         * parse.c, parse.lex, testsudoers.c:
14545         CIDR-style netmask support
14546         [768644467353]
14547
14548         * CHANGES:
14549         recent changes
14550         [a4319e9d07cb]
14551
14552         * sudo.tab.c, sudo.tab.h:
14553         these should be generated with byacc, not bison
14554         [f57b9489b752]
14555
14556         * lex.yy.c:
14557         regen
14558         [522461f95dfa]
14559
14560         * parse.h, parse.yacc, sudo.tab.c, sudo.tab.h:
14561         In "sudo -l" mode, the type of the stored (expanded) alias was not
14562         stored with the contents. This could lead to incorrect output if
14563         the sudoers file had different alias types with the same name.
14564         Normal parsing (ie: not in '-l' mode) is unaffected.
14565         [823fe2bc4b79]
14566
14567 1999-08-23  Todd C. Miller  <Todd.Miller@courtesan.com>
14568
14569         * configure, configure.in:
14570         define _XOPEN_SOURCE to get at crypt() proto on some systems
14571         [1b3769b86fb9]
14572
14573 1999-08-22  Todd C. Miller  <Todd.Miller@courtesan.com>
14574
14575         * snprintf.c:
14576         fix comment
14577         [fc1264df00f7]
14578
14579         * tgetpass.c:
14580         don't need limits.h
14581         [f1631829af45]
14582
14583         * snprintf.c:
14584         kill bogus reference to vfprintf
14585         [a0b99b25d389]
14586
14587         * sample.sudoers, sudoers:
14588         better examples
14589         [b4d87ea64cc8]
14590
14591         * snprintf.c:
14592         Add some const in the K&R defs. This is safe since we define const
14593         away if the compiler doesn't grok it.
14594         [614d6e83d45e]
14595
14596         * aclocal.m4, configure:
14597         Better test for working long long support. Ultrix compiler supports
14598         basic long long but not all operations on them.
14599         [5da1508710ed]
14600
14601         * aclocal.m4, auth/secureware.c, config.h.in, configure, getspwuid.c,
14602         snprintf.c, sudo.c:
14603         Add check for LONG_IS_QUAD #undef MAXINT before including
14604         hpsecurity.h to silence an HP-UX warning Check for U?LONG_LONG_MAX
14605         in snprintf.c and use LONG_IS_QUAD
14606         [a1f7993367fc]
14607
14608 1999-08-21  Todd C. Miller  <Todd.Miller@courtesan.com>
14609
14610         * LICENSE, aclocal.m4, config.h.in, configure, configure.in,
14611         snprintf.c:
14612         UCB-derived snprintf + asprintf support. Supports quads if the
14613         compiler does. No floating point yet, perhaps later...
14614         [0caf05aba945]
14615
14616 1999-08-20  Todd C. Miller  <Todd.Miller@courtesan.com>
14617
14618         * auth/API, auth/sudo_auth.c, auth/sudo_auth.h, check.c, find_path.c,
14619         goodpath.c, logging.c, parse.c, sudo.c:
14620         Run most of the code as root, not the invoking user. It doesn't
14621         really gain us anything to run as the user since an attacker can
14622         just have an setuid(0) in their egg. Running as root solves
14623         potential problems wrt signalling.
14624         [408e530dda01]
14625
14626         * sudo.tab.c:
14627         regen
14628         [f8cfb37e37de]
14629
14630 1999-08-19  Todd C. Miller  <Todd.Miller@courtesan.com>
14631
14632         * logging.c, sudo.c:
14633         Don't wait for child to finish in log_error(), let the signal
14634         handler get it if we are still running, else let init reap it for
14635         us. The extra time it takes to wait lets the user know that mail is
14636         being sent.
14637
14638         Install SIGCHLD handler in main() and for POSIX signals, block
14639         everything
14640         *except* SIGCHLD.
14641         [d2b6ab0ef3be]
14642
14643         * INSTALL, config.h.in, configure, configure.in, logging.c, parse.c,
14644         parse.yacc, sudo.c, sudo.h:
14645         sudoers_lookup() now returns a bitmap instead of an int. This makes
14646         it possible to express things like "failed to validate because user
14647         not listed for this host". Some thigns that were previously
14648         VALIDATE_FOO are now FLAG_FOO. This may change later on.
14649
14650         Reorganized code in log_auth() and sudo.c to deal with above
14651         changes.
14652
14653         Safer versions of push/pushcp with in the do { ... } while (0) style
14654
14655         parse.yacc now saves info on the stack to allow parse.c to determine
14656         if a user was listed, but not for the host he/she tried to run on.
14657
14658         Added --with-mail-if-no-host option
14659         [63326cb01efc]
14660
14661 1999-08-17  Todd C. Miller  <Todd.Miller@courtesan.com>
14662
14663         * parse.yacc, sudo.h, sudo.tab.c, visudo.c, visudo.cat, visudo.html,
14664         visudo.man, visudo.pod:
14665         o NewArgv and NewArgc don't need to be externally visible. o If
14666         pedantic > 1, it is a parse error. o Add -s (strict) option to
14667         visudo which sets pedantic to 2.
14668         [5d7d81b55cd5]
14669
14670         * HISTORY, INSTALL:
14671         Just have sudo-bugs contact info in one place
14672         [e7f6588ea683]
14673
14674         * sudo.cat, sudo.html, sudo.man, sudo.pod:
14675         Add BUGS section
14676         [6607d96ea510]
14677
14678         * Makefile.in, configure, configure.in:
14679         Add testsudoers to default build target if --with-devel Don't clean
14680         generated parser files unless "distclean".
14681         [5827b769dc57]
14682
14683         * parse.yacc, sudo.tab.c:
14684         In pedantic mode we need to save *all* the aliases, not just those
14685         that match, or we get spurious warnings.
14686         [24f5b1f0e1de]
14687
14688         * TROUBLESHOOTING:
14689         reference samples.sylog.conf
14690         [11841668380a]
14691
14692 1999-08-14  Todd C. Miller  <Todd.Miller@courtesan.com>
14693
14694         * sample.syslog.conf:
14695         Sample entries for syslog.conf
14696         [0f7697d878a1]
14697
14698         * CHANGES:
14699         recent changes
14700         [8bca8810c6bd]
14701
14702         * auth/API, auth/afs.c, auth/aix_auth.c, auth/dce.c, auth/fwtk.c,
14703         auth/kerb4.c, auth/kerb5.c, auth/pam.c, auth/passwd.c,
14704         auth/rfc1938.c, auth/secureware.c, auth/securid.c, auth/sia.c,
14705         auth/sudo_auth.c, auth/sudo_auth.h:
14706         In struct sudo_auth, turn need_root and configured into flags and
14707         add a flag to specify an auth method is running alone (the only
14708         one). Pass auth methods their sudo_auth pointer, not the data
14709         pointer. This allows us to get at the flags and tell if we are the
14710         only auth method. That, in turn, allows the method to be able to
14711         decide what should/should not be a fatal error. Currently only
14712         rfc1938 uses it this way, which allows us to kill the OTP_ONLY
14713         define and te hackery that went with it. With access to the
14714         sudo_auth struct, methods can also get at a string holding their
14715         cannonical name (useful in error messages).
14716         [b7e320fc6511]
14717
14718         * INSTALL, Makefile.in, README, config.h.in, configure, configure.in,
14719         getspwuid.c, lex.yy.c, parse.lex, parse.yacc, sudo.tab.c,
14720         sudo.tab.h:
14721         o --with-otp deprecated, use --without-passwd instead o real
14722         dependencies in the Makefile o --with-devel option to enable yacc,
14723         lex, and -Wall o style -- "foo -> bar" becomes "foo->bar" o ALL goes
14724         back to being a token, not a string but don't leak memory o rename
14725         hsotspec -> host in parse.yacc
14726         [912c45226cb2]
14727
14728 1999-08-12  Todd C. Miller  <Todd.Miller@courtesan.com>
14729
14730         * BUGS, CHANGES:
14731         recent changes
14732         [801fa6e55687]
14733
14734         * auth/sudo_auth.c, configure, configure.in, interfaces.c, snprintf.c,
14735         sudo.c, sudo.h:
14736         o Digital UNIX needs to check for *snprintf() before -ldb is added
14737         to LIBS since -ldb includes a bogus snprintf(). o Add forward refs
14738         for struct mbuf and struct rtentry for Digital UNIX. o Reorder some
14739         functions in snprintf.c to fix -Wall o Add missing includes to fix
14740         more -Wall
14741         [8d207203e126]
14742
14743         * INSTALL, auth/sudo_auth.c, check.c, config.h.in, configure,
14744         configure.in, parse.yacc, sudo.tab.c, testsudoers.c, version.c,
14745         visudo.c:
14746         o Add a "pedentic" flag to the parser. This makes sudo warn in
14747         cases where an alias may be used before it is defined. Only turned
14748         on for visudo and testsudoers. o Add --disable-authentication option
14749         that makes sudo not require authentication by default. The PASSWD
14750         tag can be used to require authentication for an entry. We no
14751         longer overload --without-passwd.
14752         [f307e09adf98]
14753
14754         * lex.yy.c, parse.lex:
14755         Break 'WORD' regexp def into HOSTNAME and USERNAME. These days a
14756         username can contain just about anything so be very permissive. Also
14757         drop the unused \. punctuation.
14758         [06a50614ff89]
14759
14760 1999-08-09  Todd C. Miller  <Todd.Miller@courtesan.com>
14761
14762         * parse.yacc, sudo.tab.c:
14763         o add a 'val' element to aliasinfo struct and move -> parse.h o
14764         find_alias() now returns an aliasinfo * instead of boolean o
14765         add_alias() now takes a value parameter to store in the
14766         aliasinfo.val o The cmnd, hostspec, runasuser, and user rules now
14767         return: 1) positive match 0) negative match (due to '!')
14768         -1) no match This means setting $$ explicitly in all cases, which I
14769         should have done in the first place. It also means that we always
14770         store a value that is != -1 and when we see a '!' we can set
14771         *_matches to !rv if rv != -1. The upshot of all of this is that '!'
14772         now works the way it should in lists and some of the rules are more
14773         uniform and sensible.
14774         [ad8e73b5d581]
14775
14776         * Makefile.in:
14777         add parse.h dependency
14778         [4ccccd464d30]
14779
14780         * parse.h:
14781         kill unused *_matched macros
14782         [02cba6dcb732]
14783
14784         * parse.yacc:
14785         Allow a list of users as the first thing in a user spec, not just a
14786         single entry. This makes things more uniform, though it does allow
14787         you to write user specs that are hard to read.
14788         [3c4c91c508ca]
14789
14790         * sudo.tab.c:
14791         parse.yacc
14792         [feca81881bb6]
14793
14794         * configure:
14795         regen
14796         [6f247010bb3b]
14797
14798         * configure.in:
14799         fix check for crypt() in libufc
14800         [82770736f4b0]
14801
14802 1999-08-07  Todd C. Miller  <Todd.Miller@courtesan.com>
14803
14804         * README:
14805         sudo-users list now exists
14806         [4716d2bb0bbf]
14807
14808         * INSTALL, PORTING, README, TODO, TROUBLESHOOTING:
14809         Update to reality.
14810         [1eda2d57e42a]
14811
14812         * CHANGES, Makefile.in, TODO, TROUBLESHOOTING, check.c, compat.h,
14813         config.h.in, configure, configure.in, fileops.c, logging.c, sudo.h,
14814         version.c, visudo.c:
14815         o Move lock_file() and touch() into fileops.c so visudo can use them
14816         o Visudo now locks the sudoers temp file instead of bailing when the
14817         temp file already exists. This fixes the problem of stale temp
14818         files but it does *require* that you not try to put the temp file in
14819         a world-writable directory. This shoud not be an issue as the temp
14820         file should live in the same dir as sudoers. o Visudo now only
14821         installs the temp file as sudoers if it changed.
14822         [2517cd06c070]
14823
14824 1999-08-06  Todd C. Miller  <Todd.Miller@courtesan.com>
14825
14826         * logging.c:
14827         add fcntl locking
14828         [c304adeaf515]
14829
14830         * config.h.in, configure, configure.in, logging.c:
14831         Lock the log file.
14832         [d8652704fbdf]
14833
14834         * Makefile.in, TROUBLESHOOTING, parse.c, pathnames.h.in, sudo.c,
14835         visudo.c, visudo.cat, visudo.html, visudo.man, visudo.pod:
14836         o /etc/stmp -> /etc/sudoers.tmp since solaris uses stmp as shadow
14837         temp file o _PATH_SUDO_SUDOERS -> _PATH_SUDOERS and _PATH_SUDO_STMP
14838         -> _PATH_SUDOERS_TMP
14839         [68cad8975807]
14840
14841 1999-08-05  Todd C. Miller  <Todd.Miller@courtesan.com>
14842
14843         * INSTALL, check.c, config.h.in, configure, configure.in, version.c:
14844         o Kill *_MESSAGE and replace with NO_LECTURE o Add more things to
14845         root sudo -V config reporting
14846         [cdd2613a9dcf]
14847
14848         * configure, configure.in:
14849         aix_auth.o not authenticate.o
14850         [d972e35f6730]
14851
14852         * config.h.in:
14853         Add --with-goodpri and --with-badpri configure options to specify
14854         the syslog priority to use.
14855         [2595ae50ab86]
14856
14857         * INSTALL, configure, configure.in, logging.h:
14858         Add --with-goodpri and --with-badpri configure options to specify
14859         the syslog priority to use.
14860         [8276ee9b2b49]
14861
14862         * compat.h:
14863         kill crufty AIX stuff
14864         [a4f35ef9854e]
14865
14866         * Makefile.in:
14867         Sigh, some versions of make (like Solaris's) don't deal with $< like
14868         I would expect. Both GNU and BSD makes get this right but... So, we
14869         just expand $< inline at the cost of some ugliness.
14870         [b1b456f8801f]
14871
14872         * version.c:
14873         If the invoking user is root, sudo will now print configure info in
14874         -V mode. Currently just prints logging info, to be expanded later.
14875         [392f7ed99267]
14876
14877         * logging.c, logging.h, sudo.c, sudo.h:
14878         o new defines for syslog facility and priority o use new
14879         print_version() functino for -V mode
14880         [78abc5142985]
14881
14882         * check.c:
14883         Don't need version.c
14884         [db9a830ad893]
14885
14886         * aclocal.m4, config.h.in, configure, configure.in:
14887         Add check for syslog facilities and priorities tables in syslog.h
14888         [b86213e5fc5c]
14889
14890         * Makefile.in:
14891         o authenticate -> aix_auth o add version.c
14892         [44b6b9a8d0f5]
14893
14894         * auth/sudo_auth.c:
14895         Missed a prompt -> user_prompt conversion
14896         [e4c60b1f210c]
14897
14898 1999-08-04  Todd C. Miller  <Todd.Miller@courtesan.com>
14899
14900         * TODO:
14901         sudo should lock its logfile
14902         [6d2830b28b07]
14903
14904         * parse.yacc, sudo.tab.c:
14905         o Add '!' correctly when expanding Aliases. o Add shortcut macros
14906         for append() to make things more readable. o The separator in
14907         append() is now a string instead of a char. o In append(), only
14908         prepend the separator if the last char is not a '!'. This is a
14909         hack but it greatly simplifies '!' handling. o In -l mode, Runas
14910         lists and NOPASSWD/PASSWD tags are now inherited across entries in
14911         a list (matches current behavior). o Fix formatting in -l mode such
14912         that items in a list are separated by a space. Greatlt improves
14913         readability. o Space for name field in struct aliasinfo is now
14914         allocated dyanically instead of using a (big) buffer. o In
14915         add_alias(), only search the list once (lsearch instead of lfind +
14916         lsearch)
14917         [51f7e07addb9]
14918
14919         * lex.yy.c, sudo.tab.c, sudo.tab.h:
14920         regen
14921         [5c19bb05dc21]
14922
14923         * configure, configure.in:
14924         Solais pam doesn't require anye xtra setup
14925         [a25ba03d91d1]
14926
14927         * parse.yacc:
14928         o Simpler '!' support now that the lexer deals with multiple !'s for
14929         us. o In the case of opFOO, have FOO give a boolean return value and
14930         set foo_matches in opFOO, not FOO. o Treat 'ALL' as a string since
14931         it gets fill()'d in parse.lex--fixes a small memory leak. In the
14932         long run it may be better to just fix parse.lex and make ALL back
14933         into a token. However, having it be a string is useful since it
14934         can be easily passed back to the parent rule if we so desire.
14935         [b3c64b443018]
14936
14937         * parse.lex:
14938         o Remove some unnecessary backslashes o collapse multiple !'s by
14939         using !+ and checking if yyleng is even or odd. this allows us to
14940         simplify ! handling in parse.yacc
14941         [76330e8da8e3]
14942
14943         * sudo.c:
14944         -u flag was being ignored
14945         [e30283207585]
14946
14947 1999-08-01  Todd C. Miller  <Todd.Miller@courtesan.com>
14948
14949         * Makefile.in:
14950         correct fix
14951         [a0e2377dec8f]
14952
14953         * Makefile.in:
14954         work around pod2man stupididy
14955         [7c755640b67f]
14956
14957         * Makefile.in:
14958         correct dependencies for .cat
14959         [5ed7b0653b68]
14960
14961         * sudo.cat, sudo.man, visudo.cat, visudo.man:
14962         regen
14963         [b74510dd6a0a]
14964
14965         * sudo.pod, visudo.pod:
14966         Add copyright Update to reality
14967         [188e9b046c15]
14968
14969         * parse.c, sudo.c, sudo.h:
14970         rename validate() to the more descriptive sudoers_lookup()
14971         [7a1cb652f379]
14972
14973         * auth/aix_auth.c:
14974         use tgetpass
14975         [b8ba5daec40a]
14976
14977 1999-07-31  Todd C. Miller  <Todd.Miller@courtesan.com>
14978
14979         * CHANGES:
14980         updates
14981         [e61460cdf4a0]
14982
14983         * HISTORY, INSTALL, Makefile.in, README, RUNSON, TROUBLESHOOTING,
14984         configure, configure.in, sudo.c:
14985         Sudo, not CU Sudo
14986         [9061b3573c0c]
14987
14988         * LICENSE:
14989         add 4th term to license similar to term 5 in the apache license
14990         [92712e895afb]
14991
14992         * emul/search.h, emul/utime.h:
14993         add 4th term to license similar to term 5 in the apache license
14994         [4f93a8b9396e]
14995
14996         * auth/afs.c, auth/aix_auth.c, auth/dce.c, auth/fwtk.c, auth/kerb4.c,
14997         auth/kerb5.c, auth/pam.c, auth/passwd.c, auth/rfc1938.c,
14998         auth/secureware.c, auth/securid.c, auth/sia.c, auth/sudo_auth.c,
14999         auth/sudo_auth.h, insults.h, interfaces.c, interfaces.h, lex.yy.c,
15000         logging.c, logging.h, parse.c, parse.h, parse.lex, parse.yacc,
15001         pathnames.h.in, putenv.c, strerror.c, sudo.c, sudo.h, sudo.tab.c,
15002         sudo_setenv.c, testsudoers.c, tgetpass.c, utime.c, version.h,
15003         visudo.c:
15004         add 4th term to license similar to term 5 in the apache license
15005         [afae9f2bf9ec]
15006
15007         * ins_2001.h, ins_classic.h, ins_csops.h, ins_goons.h:
15008         add 4th term to license similar to term 5 in the apache license
15009         [c389d3fdafac]
15010
15011         * Makefile.in, alloc.c, check.c, compat.h, config.h.in, find_path.c,
15012         getspwuid.c, goodpath.c:
15013         add 4th term to license similar to term 5 in the apache license
15014         [969e63dbd38e]
15015
15016         * LICENSE, aclocal.m4, auth/rfc1938.c, check.c, configure.in,
15017         insults.h, logging.c, sudo.c, sudo.h:
15018         there was a 1995 release too
15019         [5963fd89457a]
15020
15021 1999-07-28  Todd C. Miller  <Todd.Miller@courtesan.com>
15022
15023         * CHANGES:
15024         updates
15025         [254b794f16ab]
15026
15027         * check.c:
15028         Use dirs instead of files for timestamp. This allows tty and non-
15029         tty schemes to coexist reasonably. Note, however, that when you
15030         update a tty ticket, the mtime on the user dir gets updated as well.
15031         [44bfac32f799]
15032
15033         * configure, configure.in:
15034         Fix getprpwnam() checking on SCO. Need to link with "-lprot -lx"
15035         when linking test program, not just -lprot. Also add check for
15036         getspnam(). The SCO docs indicate that /etc/shadow can be used but
15037         this may be a lie.
15038         [2ba21d36cc1e]
15039
15040 1999-07-24  Todd C. Miller  <Todd.Miller@courtesan.com>
15041
15042         * auth/API:
15043         first cut at auth API description
15044         [3d10df021eb8]
15045
15046 1999-07-22  Todd C. Miller  <Todd.Miller@courtesan.com>
15047
15048         * auth/fwtk.c, auth/kerb4.c, auth/kerb5.c, auth/pam.c, auth/rfc1938.c,
15049         auth/secureware.c, auth/securid.c, auth/sudo_auth.c,
15050         auth/sudo_auth.h:
15051         auth API change. There is now an init method that gets run before
15052         the main loop. This allows auth routines to differentiate between
15053         initialization that happens once vs. setup that needs to run each
15054         time through the loop.
15055         [76df1c0d3478]
15056
15057         * auth/kerb5.c, logging.c:
15058         use easprintf() and evasprintf()
15059         [fd97d96dc12f]
15060
15061         * alloc.c, sudo.h:
15062         add easprintf() and evasprintf(), error checking versions of
15063         asprintf() and vasprintf()
15064         [f54385de20b7]
15065
15066         * TODO:
15067         remove 2 items. One done, one won't do.
15068         [64513b47bc7a]
15069
15070         * lex.yy.c, sudo.tab.c:
15071         regen
15072         [4aa299de2752]
15073
15074         * configure, sudo.cat, sudo.html, sudo.man, sudoers.html, visudo.cat,
15075         visudo.html, visudo.man:
15076         regen
15077         [553c0d1209be]
15078
15079         * CHANGES:
15080         new changes
15081         [d7be00b7e36b]
15082
15083         * sudo.pod:
15084         o Document -K flag and update meaning of -k flag. o BSD-style
15085         copyright o Document clearing of BIND resolver environment variables
15086         o Clarify bit about shared libs o suggest rc files create /tmp/.odus
15087         if your OS gives away files
15088         [4a4092be1455]
15089
15090         * visudo.pod:
15091         BSD license
15092         [ad0bfd0a4630]
15093
15094         * version.h:
15095         BSD-style copyright
15096         [ecc6479325be]
15097
15098         * tgetpass.c:
15099         o BSD copyright o no need to block signals, we now do that in main()
15100         o cosmetic changes
15101         [61958beda7ab]
15102
15103         * testsudoers.c, visudo.c:
15104         o BSD-style copyright o Use "struct sudo_user" instead of old
15105         globals. o some cometic cleanup
15106         [88c0c6924082]
15107
15108         * sudo_setenv.c:
15109         BSD-style copyright
15110         [df20290129a0]
15111
15112         * sudo.h:
15113         o BSD copyright o logging and parser bits moved to their own .h
15114         files o new "struct sudo_user" to encapsulate many of the old
15115         globals.
15116         [50fc86bf25cb]
15117
15118         * sudo.c:
15119         o no longer contains sudo 1.1/1.2 code o BSD copyright o use new
15120         logging routines o simplified flow of control o BIND resolver
15121         additions to badenv_table
15122         [8c53f15bfcb0]
15123
15124         * strerror.c:
15125         BSD-style copyright
15126         [7c906c3a82ac]
15127
15128         * snprintf.c:
15129         Now compiles on more K&R compilers
15130         [07ab1d3231c7]
15131
15132         * putenv.c:
15133         BSD-style copyright, cosmetic changes
15134         [c42371295881]
15135
15136         * pathnames.h.in:
15137         BSD-style copyright
15138         [e5c34ebd4cf1]
15139
15140         * parse.c, parse.h, parse.lex, parse.yacc:
15141         BSD-style copyright. Move parser-specific defines and structs into
15142         parse.h + other cosmetic changes
15143         [d3088efb6228]
15144
15145         * logging.h:
15146         defines for logging routines
15147         [13147941c02d]
15148
15149         * find_path.c, getspwuid.c, goodpath.c, interfaces.c:
15150         BSD-style copyright, cosmetic changes
15151         [e8205e91a4fa]
15152
15153         * ins_2001.h, ins_classic.h, ins_csops.h, ins_goons.h, insults.h,
15154         interfaces.h:
15155         BSD-style copyright
15156         [b9499da7cdce]
15157
15158         * configure.in:
15159         o tgetpass.c is no longer optional o kill DCE_OBJS, add AUTH_OBJS o
15160         kill --disable-tgetpass o add --without-passwd o changes to fill in
15161         AUTH_OBJS for new auth api o check for strerror(), v?snprintf() and
15162         v?asprintf() o replace --with-AuthSRV with --with-fwtk
15163         [9a3f39b9c128]
15164
15165         * config.h.in:
15166         BSD-style copyright. Remove USE_GETPASS and HAVE_UTIME_NULL. Add
15167         HAVE_FWTK, HAVE_STRERROR, HAVE_SNPRINTF, HAVE_VSNPRINTF,
15168         HAVE_ASPRINTF, HAVE_VASPRINTF, WITHOUT_PASSWD and NO_PASSWD
15169         [9a09054db53a]
15170
15171         * compat.h:
15172         BSD-style copyright; Add S_IFLNK and MIN/MAX id they are missing.
15173         [25509c566975]
15174
15175         * alloc.c:
15176         BSD-style copyright
15177         [4967be892363]
15178
15179         * TROUBLESHOOTING:
15180         no more --with-getpass
15181         [afd5b670c196]
15182
15183         * TODO:
15184         Take out things I've done...
15185         [375420c8270e]
15186
15187         * README:
15188         Refer to LICENSE
15189         [c486c8db30f6]
15190
15191         * PORTING:
15192         --with-getpass no longer exists
15193         [db48202df1bb]
15194
15195         * Makefile.in:
15196         BSD-style copyright. Update to reflect reality wrt new files and
15197         new auth modules.
15198         [61a2ca7940fb]
15199
15200         * INSTALL:
15201         Remove --with-AuthSRV and --disable-tgetpass. Add --with-fwtk and
15202         --without-passwd.
15203         [64e8f9e1c05e]
15204
15205         * HISTORY:
15206         Update history a bit
15207         [df60c0a871b8]
15208
15209         * COPYING, LICENSE:
15210         Now distributed under a BSD-style license
15211         [d1a184ccabe1]
15212
15213         * auth/sudo_auth.c:
15214         o BSD-style copyright o Add support for NO_PASSWD/WITHOUT_PASSWD
15215         options. o skey/opie replaced by rfc1938 code o new struct sudo_user
15216         global
15217         [891b57060868]
15218
15219         * auth/pam.c, auth/sia.c:
15220         BSD-style copyright and use new log functions
15221         [65c44445ea84]
15222
15223         * auth/kerb5.c:
15224         o BSD-style copyright o Use new log functiongs o Use asprintf() and
15225         snprintf() where sensible.
15226         [1ff0feaacf95]
15227
15228         * check.c:
15229         Rewrote all the old sudo 1.1/1.2 code. Timestamp handling is now
15230         done more reasonably--better sanity checks and tty-based stamps are
15231         now done as files in a directory with the same name as the invoking
15232         user, eg. /var/run/sudo/millert/ttyp1. It is not currently possible
15233         to mix tty and non-tty based ticket schemes but this may change in
15234         the future (it requires sudo to use a directory instead of a file in
15235         the non-tty case). Also, ``sudo -k'' now sets the ticket back to
15236         the epoch and ``sudo -K'' really deletes the file. That way you
15237         don't get the lecture again just because you killed your ticket in
15238         .logout. BSD-style copyright now.
15239         [ec3460f85be8]
15240
15241         * logging.c:
15242         o rewritten logging routines. log_error() now takes printf-style
15243         varargs and log_auth() for the return value of validate(). o BSD-
15244         style copyright
15245         [438292025c4e]
15246
15247         * auth.c, check_sia.c, dce_pwent.c, secureware.c:
15248         superceded by new auth API
15249         [412060590da7]
15250
15251         * auth/kerb4.c:
15252         BSD-style copyright
15253         [cc4e800833c7]
15254
15255         * auth/fwtk.c:
15256         Use snprintf() where it makes sense and add a BSD-style copyright
15257         [1b7502388a74]
15258
15259         * auth/afs.c, auth/aix_auth.c, auth/dce.c, auth/passwd.c,
15260         auth/rfc1938.c, auth/secureware.c, auth/securid.c, auth/sudo_auth.h:
15261         BSD-style copyright
15262         [42583bedae5c]
15263
15264         * emul/utime.h, utime.c:
15265         BSD-style copyright
15266         [3985c90aba47]
15267
15268         * emul/search.h:
15269         this has been rewritten so use my BSD-style copyright
15270         [176df1b0de6f]
15271
15272 1999-07-15  Todd C. Miller  <Todd.Miller@courtesan.com>
15273
15274         * snprintf.c:
15275         include malloc.h if no stdlib.h
15276         [7b123f1d1d03]
15277
15278         * snprintf.c:
15279         KTH snprintf()/asprintf() for systems w/o them
15280         [3ca9aefb9d01]
15281
15282         * strerror.c:
15283         strerror() for systems w/o it
15284         [7f0bd8a1c1b4]
15285
15286 1999-07-12  Todd C. Miller  <Todd.Miller@courtesan.com>
15287
15288         * visudo.c:
15289         stylistic changes
15290         [6f99aceb7170]
15291
15292         * parse.c, parse.lex, parse.yacc:
15293         Add contribution info in the main comment
15294         [e50cec10acd6]
15295
15296 1999-07-11  Todd C. Miller  <Todd.Miller@courtesan.com>
15297
15298         * auth/pam.c:
15299         remove missed ref to PAM_nullpw
15300         [a43e59692cdb]
15301
15302         * auth/sudo_auth.h:
15303         pasto
15304         [891ff138ab89]
15305
15306         * auth/kerb5.c:
15307         more or less complete now--still untested
15308         [21036732faa0]
15309
15310         * auth/afs.c, auth/pam.c:
15311         don't use user_name macro, it will go away
15312         [def7cf727349]
15313
15314         * auth/opie.c, auth/rfc1938.c, auth/skey.c, auth/sudo_auth.h:
15315         combine skey/opie code into rfc1938.c
15316         [44d88ca93d3e]
15317
15318         * auth/dce.c, auth/sudo_auth.h:
15319         DCE authentication method; basically unchanged from dce_pwent.c
15320         [4d468473dd6f]
15321
15322         * auth/aix_auth.c, auth/sudo_auth.h:
15323         AIX authenticate() support. Could probably be much better
15324         [000013321a33]
15325
15326         * auth/sia.c:
15327         Fix an uninitialized variable and some cleanup. Now works (tested)
15328         [fd6ad88ff055]
15329
15330         * auth/sia.c, auth/sudo_auth.h:
15331         SIA support for digital unix
15332         [5335f3e70eab]
15333
15334         * auth/pam.c:
15335         don't use prompt global, it will go away
15336         [fadd22dd6ce4]
15337
15338         * auth/secureware.c:
15339         correct copyright years
15340         [6aa07c49f51b]
15341
15342         * auth/afs.c, auth/fwtk.c, auth/kerb4.c, auth/kerb5.c, auth/opie.c,
15343         auth/pam.c, auth/passwd.c, auth/secureware.c, auth/securid.c,
15344         auth/skey.c, auth/sudo_auth.c, auth/sudo_auth.h:
15345         New authentication API and methods
15346         [9debe9b59c79]
15347
15348 1999-07-08  Todd C. Miller  <Todd.Miller@courtesan.com>
15349
15350         * sudo.tab.c:
15351         regen
15352         [84578e82c1a6]
15353
15354         * parse.yacc:
15355         only save an entry if user_matches && host_matches, even if the
15356         stack is empty (fix for previous commit)
15357         [00984b078d8a]
15358
15359         * sudo.tab.c:
15360         regen
15361         [66acf160b4b7]
15362
15363         * parse.yacc:
15364         1) Always save an entry on the stack if it is empty. This fixes the
15365         -l and -v flags that were broken by earlier parser changes.
15366
15367         2) In a Runas list, don't negate FALSE -> TRUE since that would make
15368         !foo match any time the user specified a runas user (via -u) other
15369         than foo.
15370         [f322eb54b015]
15371
15372         * testsudoers.c:
15373         interfaces and num_interfaces are now auto, not extern
15374         [113add5c6518]
15375
15376 1999-07-07  Todd C. Miller  <Todd.Miller@courtesan.com>
15377
15378         * auth.c:
15379         use a static global to keep stae about empty passwords
15380         [bc02e30807d8]
15381
15382         * check_sia.c:
15383         make PASSWORD_NOT_CORRECT logging consistent with other modules
15384         [21962549d5fd]
15385
15386 1999-07-05  Todd C. Miller  <Todd.Miller@courtesan.com>
15387
15388         * auth.c:
15389         PAM prompt code was wrong, looks like we have to kludge it after
15390         all.
15391         [91f246155ead]
15392
15393         * auth.c:
15394         In the PAM code, when a user hits return at the first password
15395         prompt, exit without a warning just like the normal auth code
15396         [918f59bacdb7]
15397
15398         * configure, configure.in:
15399         kludge around cross-compiler false positives
15400         [5e5fc8356400]
15401
15402         * auth.c, check.c, check_sia.c, logging.c, sudo.h, tgetpass.c:
15403         New (correct) PAM code Tgetpass now takes an echo flag for use with
15404         PAM_PROMPT_ECHO_ON Block SIGINT and SIGTSTP during auth remove a
15405         useless umask setting Change error from BAD_ALLOCATION ->
15406         BAD_AUTH_INIT (for use with sia/PAM) Some cosmetic changes to auth.c
15407         for consistency
15408         [e71397f09dd8]
15409
15410         * sudo.c:
15411         Some -Wall and kill some trailing spaces
15412         [8229b43d5c4e]
15413
15414         * configure.in:
15415         define -D__EXTENSIONS__ for solaris so we get crypt() proto
15416         [7533e4436cab]
15417
15418 1999-06-22  Todd C. Miller  <Todd.Miller@courtesan.com>
15419
15420         * RUNSON:
15421         add Dynix 4.4.4
15422         [b69f773efbce]
15423
15424         * INSTALL, config.h.in, configure, configure.in:
15425         for kerberos V < version, fall back on old kerb4 auth code
15426         [d685ed3a1d8e]
15427
15428         * INSTALL:
15429         clarify some things
15430         [2f5ba2e8e53a]
15431
15432         * UPGRADE, sudoers.cat, sudoers.man, sudoers.pod:
15433         typos
15434         [8925a109c093]
15435
15436 1999-06-14  Todd C. Miller  <Todd.Miller@courtesan.com>
15437
15438         * sudo.c:
15439         mention why DONT_LEAK_PATH_INFO is not the default
15440         [0346260cb4ec]
15441
15442 1999-06-03  Todd C. Miller  <Todd.Miller@courtesan.com>
15443
15444         * tgetpass.c:
15445         Fix open(2) return value checking, was NULL for fopen, should be -1
15446         for open
15447         [355878bf6d8a]
15448
15449         * configure:
15450         regen
15451         [68bf82871862]
15452
15453         * configure.in:
15454         better wording for solaris pam notice
15455         [04e88c7a6c42]
15456
15457         * CHANGES:
15458         document recent changes
15459         [7c922c5622ef]
15460
15461         * TROUBLESHOOTING:
15462         Update shadow password section
15463         [e8448bae7d66]
15464
15465         * auth.c:
15466         move authentication code from check.c to auth.c
15467         [e9f6ecae2399]
15468
15469         * Makefile.in, check.c, sudo.h:
15470         move authentication code to auth.c
15471         [124cded85f46]
15472
15473 1999-05-17  Todd C. Miller  <Todd.Miller@courtesan.com>
15474
15475         * Makefile.in, check.c, check_sia.c, compat.h, find_path.c,
15476         getspwuid.c, goodpath.c, interfaces.c, interfaces.h, lex.yy.c,
15477         logging.c, parse.c, parse.lex, parse.yacc, secureware.c, sudo.c,
15478         sudo.h, sudo.tab.c, sudo_setenv.c, testsudoers.c, tgetpass.c,
15479         visudo.c:
15480         Move interface-related defines to interfaces.h so we don't have to
15481         include <netinet/in.h> everywhere.
15482         [e7599d8ea0bf]
15483
15484 1999-05-14  Todd C. Miller  <Todd.Miller@courtesan.com>
15485
15486         * CHANGES, INSTALL, TODO, check.c, compat.h, getspwuid.c, logging.c,
15487         parse.yacc, sudo.c, sudo.tab.c, tgetpass.c:
15488         o Replace _PASSWD_LEN braindeath with our own SUDO_MAX_PASS. It
15489         turns out the old DES crypt does the right thing with passwords
15490         longert than 8 characters. o Fix common typo (necesary ->
15491         necessary) o Update TODO list
15492         [ad75007a6f13]
15493
15494 1999-05-03  Todd C. Miller  <Todd.Miller@courtesan.com>
15495
15496         * sudo.c:
15497         set $LOGNAME when we set $USER
15498         [391596210fd7]
15499
15500 1999-04-27  Todd C. Miller  <Todd.Miller@courtesan.com>
15501
15502         * INSTALL:
15503         add comment about digital unix and interfaces.c warning with gcc
15504         [e20f815901cc]
15505
15506 1999-04-15  Todd C. Miller  <Todd.Miller@courtesan.com>
15507
15508         * sample.sudoers:
15509         use modern paths and give examples for some of the new parser
15510         features
15511         [e7b2e507c695]
15512
15513 1999-04-10  Todd C. Miller  <Todd.Miller@courtesan.com>
15514
15515         * parse.c:
15516         fix comment
15517         [5eb0d005a65f]
15518
15519         * alloc.c, check.c, check_sia.c, dce_pwent.c, find_path.c,
15520         getspwuid.c, goodpath.c, interfaces.c, lex.yy.c, logging.c, parse.c,
15521         parse.lex, parse.yacc, putenv.c, secureware.c, sudo.c, sudo.tab.c,
15522         sudo_setenv.c, testsudoers.c, tgetpass.c, utime.c, visudo.c:
15523         Function names should be flush with the start of the line so they
15524         can be found trivially in an editor and with grep
15525         [3c400abde574]
15526
15527         * find_path.c, interfaces.c, lex.yy.c, parse.c, parse.lex, parse.yacc,
15528         sudo.c, sudo.tab.c, testsudoers.c, tgetpass.c, visudo.c:
15529         free(3) is already void, no need to cast it
15530         [6981e1ebda0f]
15531
15532         * logging.c, sudo.c, sudo.h:
15533         catch case where cmnd_safe is not set (this should not be possible)
15534         [3e1e3038546c]
15535
15536         * CHANGES, logging.c, parse.c, parse.yacc, sudo.c, sudo.h, sudo.tab.c,
15537         testsudoers.c, visudo.c:
15538         Stash the "safe" path (ie: the one listed in sudoers) to the command
15539         instead of stashing the struct stat. Should be safer.
15540         [aa2883fcf57e]
15541
15542 1999-04-08  Todd C. Miller  <Todd.Miller@courtesan.com>
15543
15544         * INSTALL, Makefile.in, UPGRADE:
15545         notes on updating from an earlier release
15546         [df9fffa4ab2c]
15547
15548         * CHANGES:
15549         updated
15550         [574f5065d15a]
15551
15552 1999-04-07  Todd C. Miller  <Todd.Miller@courtesan.com>
15553
15554         * parse.yacc, sudo.tab.c, sudo.tab.h, sudoers.cat, sudoers.html,
15555         sudoers.man, sudoers.pod:
15556         You can now specifiy a host list instead of just a host or alias.
15557         Ie: user = host1,host2,ALIAS,!host3 my_command now works.
15558         [e3942bb78021]
15559
15560         * testsudoers.c:
15561         Quiet -Wall
15562         [a3edc8b08c3a]
15563
15564         * parse.yacc, sudo.tab.c:
15565         Move the push from the beginning of cmndspec to the end. This means
15566         we no longer have to do a push at the end of privilege, just reset
15567         some values.
15568         [8ea66e5860c6]
15569
15570         * sudoers.cat, sudoers.html, sudoers.man, sudoers.pod:
15571         runas-lists and NOPASSWD/PASSWD modifiers are now sticky and you can
15572         use "!" most everywhere
15573         [aadae4d1c9d5]
15574
15575 1999-04-06  Todd C. Miller  <Todd.Miller@courtesan.com>
15576
15577         * sudoers.pod:
15578         modernize paths and update su example based on sample.sudoers one
15579         [3f6a37e16c83]
15580
15581         * sample.sudoers:
15582         New runas semantics
15583         [756ee92865b7]
15584
15585         * CHANGES, Makefile.in, alloc.c, config.h.in, configure, configure.in,
15586         strdup.c, sudo.h:
15587         In estrdup(), do the malloc ourselves so we don't need to rely on
15588         the system strdup(3) which may or may not exist. There is now no
15589         need to provide strdup() for those w/o it. Also, the prototype for
15590         estrdup() was wrong, it returns char * and its param is const.
15591         [5f1f984da8e3]
15592
15593         * getcwd.c:
15594         $Sudo tag
15595         [e4188a35e68c]
15596
15597         * check.c:
15598         buf should be prompt; Michael Robokoff <mrobo@networkcs.com>
15599         [2aec87c86cde]
15600
15601         * CHANGES, TODO, parse.yacc, sudo.tab.c:
15602         It is now possible to use the '!' operator in a runas list as well
15603         as in a Cmnd_Alias, Host_Alias and User_Alias.
15604         [a4fdaabda990]
15605
15606         * logging.c, sudo.h:
15607         Kill GLOBAL_NO_SPW_ENT (not used) and crank GLOBAL_PROBLEM
15608         [73d0376785ae]
15609
15610         * sudo.h:
15611         Definitions of *_matched were wrong--user top, not top-2 as
15612         subscript.
15613         [5f8350a57362]
15614
15615         * logging.c, parse.c, parse.yacc, sudo.c, sudo.h, sudo.tab.c:
15616         Add VALIDATE_NOT_OK_NOPASS for when user is not allowed to run a
15617         command but the NOPASSWD flag was set. Make runasspec, runaslist,
15618         runasuser, and nopasswd typeless in parse.yacc Add support for '!'
15619         in the runas list Fix double printing of '%' and '+' for groups and
15620         netgroups respectively Add *_matched macros (no need for local stack
15621         variable). Should only be used directly after a pop (since top must
15622         be >= 2).
15623         [392b1400c4e6]
15624
15625         * aclocal.m4, configure.in:
15626         Add copyright, somewhat silly
15627         [55c2cdd82dca]
15628
15629 1999-04-05  Todd C. Miller  <Todd.Miller@courtesan.com>
15630
15631         * BUGS, INSTALL, Makefile.in, README, alloc.c, check.c, check_sia.c,
15632         compat.h, config.h.in, configure, configure.in, dce_pwent.c,
15633         emul/utime.h, find_path.c, getspwuid.c, goodpath.c, ins_2001.h,
15634         ins_classic.h, ins_csops.h, ins_goons.h, insults.h, interfaces.c,
15635         lex.yy.c, logging.c, parse.c, parse.lex, parse.yacc, pathnames.h.in,
15636         putenv.c, secureware.c, strdup.c, sudo.c, sudo.cat, sudo.h,
15637         sudo.man, sudo.tab.c, sudo_setenv.c, sudoers.cat, sudoers.man,
15638         testsudoers.c, tgetpass.c, utime.c, version.h, visudo.c, visudo.cat,
15639         visudo.man:
15640         Crank version to 1.6 and combine copyright statements
15641         [0e1c791658ae]
15642
15643         * sample.sudoers:
15644         Use ! not ^ to do negation
15645         [1480a0761730]
15646
15647         * lex.yy.c, sudo.tab.c:
15648         regen
15649         [89ca5a46684b]
15650
15651         * parse.lex, parse.yacc:
15652         Make runas and NOPASSWD tags persistent across entris in a command
15653         list. Add a PASSWD tag to reverse NOPASSWD. When you override a
15654         runas or *PASSWD tag the value given becomes the new default for the
15655         rest of the command list.
15656         [f1bbb4066542]
15657
15658 1999-04-02  Todd C. Miller  <Todd.Miller@courtesan.com>
15659
15660         * CHANGES, RUNSON:
15661         update for 1.5.9
15662         [a1ae9d4a7d54] [SUDO_1_5_9]
15663
15664         * visudo.c:
15665         Shift return value of system(3) by 8 to get real exit value and if
15666         it is not 1 or 0 print the retval along with the error message.
15667         [c1ff50d743fb]
15668
15669 1999-03-30  Todd C. Miller  <Todd.Miller@courtesan.com>
15670
15671         * Makefile.in:
15672         testsudoers needs LIBOBJS too
15673         [972571b4e4bf]
15674
15675         * parse.c, parse.yacc, sudo.tab.c:
15676         Fix another parser bug. For a sudoers entry like this: millert
15677         ALL=/bin/ls,(daemon) !/bin/ls sudo would not allow millert to run ls
15678         as root.
15679         [51968e1eb33d]
15680
15681         * CHANGES:
15682         new change
15683         [271c6110bb62]
15684
15685         * parse.yacc, sudo.tab.c:
15686         Save entries that match a ! command on the matching stack too
15687         [5afb5107116c]
15688
15689         * sudo.c:
15690         Make sudo's usage info better when mutually exclusive args are given
15691         and don't rely on argument order to detect this; nick@zeta.org.au
15692         [2422753c88fd]
15693
15694 1999-03-29  Todd C. Miller  <Todd.Miller@courtesan.com>
15695
15696         * CHANGES, Makefile.in, RUNSON:
15697         updates from CU
15698         [b37381e3dafb]
15699
15700         * Makefile.in:
15701         use gzip
15702         [94a64e52a166]
15703
15704         * parse.yacc, sudo.tab.c:
15705         Fix off by one error introduced in *alloc changes
15706         [95ede581153a]
15707
15708         * BUGS, CHANGES, INSTALL, Makefile.in, README, alloc.c, check.c,
15709         check_sia.c, compat.h, config.h.in, configure, configure.in,
15710         dce_pwent.c, emul/utime.h, find_path.c, getspwuid.c, goodpath.c,
15711         ins_2001.h, ins_classic.h, ins_csops.h, ins_goons.h, insults.h,
15712         interfaces.c, lex.yy.c, logging.c, parse.c, parse.lex, parse.yacc,
15713         pathnames.h.in, putenv.c, secureware.c, strdup.c, sudo.c, sudo.cat,
15714         sudo.h, sudo.man, sudo.tab.c, sudo_setenv.c, sudoers.cat,
15715         sudoers.man, testsudoers.c, tgetpass.c, utime.c, version.h,
15716         visudo.c, visudo.cat, visudo.html, visudo.man, visudo.pod:
15717         ++version
15718         [c6d88f024e37]
15719
15720         * Makefile.in, check.c, find_path.c, getspwuid.c, goodpath.c,
15721         interfaces.c, lex.yy.c, logging.c, parse.c, parse.lex, parse.yacc,
15722         putenv.c, secureware.c, strdup.c, sudo.c, sudo.h, sudo.tab.c,
15723         sudo_setenv.c, testsudoers.c, utime.c, visudo.c:
15724         Use emalloc/erealloc/estrdup
15725         [44221d97361a]
15726
15727         * alloc.c:
15728         error checking memory allocation routines
15729         [5f8c1e7bbc71]
15730
15731         * parse.yacc, sudo.tab.c:
15732         Still not right, this fixes it for real
15733         [ad553b6f5339]
15734
15735         * parse.yacc, sudo.tab.c:
15736         Fix for previous commit
15737         [4d6f989f9bf2]
15738
15739         * CHANGES, INSTALL, parse.yacc:
15740         Fix a parser bug that was exposed when mixing different runas specs
15741         and ! commands. For example: millert ALL=(daemon)
15742         /usr/bin/whoami,!/bin/ls would allow millert to run whoami as root
15743         as well as daemon when it should just allow daemon. The problem was
15744         that comma-separated commands in a list shared the same entry on the
15745         matching stack. Now they get their own entry iff there is a full
15746         match. It may be better to just make the runas spec persistent
15747         across all commands in a list like the user and host entries of the
15748         matching stack. However, since that is a fairly major change it
15749         should gets its own minor rev increase.
15750         [c4b939cdcc8e]
15751
15752 1999-03-28  Todd C. Miller  <Todd.Miller@courtesan.com>
15753
15754         * check.c, config.h.in:
15755         Simplify PAM code and fix a PAM-related warning on Linux
15756         [2468399523b6]
15757
15758 1999-03-26  Todd C. Miller  <Todd.Miller@courtesan.com>
15759
15760         * CHANGES:
15761         updates
15762         [29d4a997769c]
15763
15764         * sample.sudoers:
15765         better su entry
15766         [76d8285a72ba]
15767
15768         * configure:
15769         regen
15770         [b7450cc6975d]
15771
15772         * check.c, configure.in:
15773         new pam code that works on solaris, should work on linux too;
15774         aelberg@home.com
15775         [84c16c0ff259]
15776
15777 1999-03-19  Todd C. Miller  <Todd.Miller@courtesan.com>
15778
15779         * RUNSON:
15780         more entries
15781         [b6bef8660759]
15782
15783         * config.h.in:
15784         only include strings.h if there is no string.h
15785         [b66054a32b00]
15786
15787 1999-03-17  Todd C. Miller  <Todd.Miller@courtesan.com>
15788
15789         * config.guess:
15790         Sinix is now being called ReliantUNIX; bjjackso@us.oracle.com
15791         [c086d2fe63af]
15792
15793 1999-03-13  Todd C. Miller  <Todd.Miller@courtesan.com>
15794
15795         * sudo.c:
15796         shost must be set before log functions are called #ifdef HOST_IN_LOG
15797         [d49a7944358f]
15798
15799 1999-03-07  Todd C. Miller  <Todd.Miller@courtesan.com>
15800
15801         * CHANGES, lex.yy.c, parse.lex:
15802         Fix a bug wrt quoting characters in command args. Stop processing
15803         an arg when you hit a backslash so the quoted-character detection
15804         can catch it.
15805         [2281438d7f41]
15806
15807 1999-02-26  Todd C. Miller  <Todd.Miller@courtesan.com>
15808
15809         * interfaces.c:
15810         include sys/time.h; aparently AIX needs it. ppz@cdu.elektra.ru
15811         [31118a9e9916]
15812
15813 1999-02-24  Todd C. Miller  <Todd.Miller@courtesan.com>
15814
15815         * configure, configure.in:
15816         add missing case statement so --without-sendmail works
15817         [ca25614f7dd9]
15818
15819 1999-02-23  Todd C. Miller  <Todd.Miller@courtesan.com>
15820
15821         * CHANGES:
15822         more
15823         [4d70e44f7f93]
15824
15825 1999-02-22  Todd C. Miller  <Todd.Miller@courtesan.com>
15826
15827         * configure, configure.in:
15828         only search for -lsun in irix <= 4.x
15829         [e604238317b1]
15830
15831         * configure, configure.in:
15832         back out last configure.in change now that I've hacked autoconf to
15833         fix the real problem and add a missing newline
15834         [2dabf59a79b5]
15835
15836         * CHANGES:
15837         updated
15838         [bb35d526552f]
15839
15840         * getcwd.c:
15841         add def of dirfd() for those without it
15842         [95f0173d8441]
15843
15844         * configure, configure.in:
15845         When falling back to checking for socket() when linking with
15846         "-lsocket -lnsl" check for main() instead since autoconf has already
15847         cached the results of checking for socket() in -lsocket. This is
15848         really an autoconf bug as it should use the extra libs as part of
15849         the cache variable name.
15850         [a845f8b710ad]
15851
15852         * configure.in:
15853         typo
15854         [a7d62f62a478]
15855
15856 1999-02-21  Todd C. Miller  <Todd.Miller@courtesan.com>
15857
15858         * configure.in:
15859         fix occurrence of $with_timeout that should be
15860         $with_password_timeout; Michael.Neef@neuroinformatik.ruhr-uni-
15861         bochum.de
15862         [8c4da2cf73d1]
15863
15864 1999-02-17  Todd C. Miller  <Todd.Miller@courtesan.com>
15865
15866         * sudo.cat, sudo.html, sudo.man, sudo.pod:
15867         fix grammar; espie@openbsd.org
15868         [7031d9dfbc3e] [SUDO_1_5_8]
15869
15870 1999-02-11  Todd C. Miller  <Todd.Miller@courtesan.com>
15871
15872         * parse.yacc, sudo.c, testsudoers.c:
15873         add cast for strdup in places it does not have it
15874         [7ce4478d3b0f]
15875
15876 1999-02-09  Todd C. Miller  <Todd.Miller@courtesan.com>
15877
15878         * configure, configure.in:
15879         define for_BSD_TYPES irix
15880         [858337ff4af8]
15881
15882 1999-02-07  Todd C. Miller  <Todd.Miller@courtesan.com>
15883
15884         * Makefile.in, sudo.cat, sudo.html, sudo.man, sudo.pod:
15885         Make it clear that it is the user's password, not root's, that we
15886         want.
15887         [ae0f51b35ee4]
15888
15889         * check.c, sudo.h:
15890         If the user enters an empty password and really has no password,
15891         accept the empty password they entered. Perviously, they could
15892         enter anything
15893         *but* an empty password. Also, add GETPASS macro that calls either
15894         tgetpass() or getpass() depending on how sudo was configured.
15895         Problem noted by jdg@maths.qmw.ac.uk
15896         [2fde21ce94c1]
15897
15898 1999-02-03  Todd C. Miller  <Todd.Miller@courtesan.com>
15899
15900         * Makefile.in, check.c, check_sia.c, compat.h, config.h.in,
15901         dce_pwent.c, emul/utime.h, find_path.c, getspwuid.c, goodpath.c,
15902         ins_2001.h, ins_classic.h, ins_csops.h, ins_goons.h, insults.h,
15903         interfaces.c, logging.c, parse.c, parse.lex, parse.yacc,
15904         pathnames.h.in, putenv.c, secureware.c, strdup.c, sudo.c, sudo.h,
15905         sudo_setenv.c, testsudoers.c, tgetpass.c, utime.c, version.h,
15906         visudo.c:
15907         add explicate copyright
15908         [d3b4449834a5]
15909
15910         * CHANGES:
15911         mention -lsocket, -lnsl configure changes
15912         [9140af4ad8ae]
15913
15914 1999-02-02  Todd C. Miller  <Todd.Miller@courtesan.com>
15915
15916         * sudo.c:
15917         Don't clobber errno after calling check_sudoers().
15918         [59bd581b2654]
15919
15920 1999-02-01  Todd C. Miller  <Todd.Miller@courtesan.com>
15921
15922         * configure, configure.in:
15923         When linking with both -lsocket and -lnsl be sure to do so in that
15924         order. Also, when we can't find socket() or inet_addr() and have to
15925         try linking with both libs, issue a warning.
15926         [0ee547163067]
15927
15928         * sudo.cat, sudo.man, sudo.pod:
15929         clarify bad timestamp and fmt
15930         [70e42cf56c75]
15931
15932 1999-01-23  Todd C. Miller  <Todd.Miller@courtesan.com>
15933
15934         * INSTALL, RUNSON:
15935         be clear that pam is linux-only and add a RUNSON entry
15936         [7fdeab875e0d]
15937
15938 1999-01-22  Todd C. Miller  <Todd.Miller@courtesan.com>
15939
15940         * CHANGES, INSTALL, configure, configure.in:
15941         fix and correctly document --with-umask; problem noted by
15942         adap@adap.org
15943         [11cd0481d63a]
15944
15945 1999-01-20  Todd C. Miller  <Todd.Miller@courtesan.com>
15946
15947         * configure, configure.in:
15948         only use /usr/{man,catman}/local to store man pages if suer didn't
15949         override prefix or mandir
15950         [781ad2cbe9be]
15951
15952         * INSTALL, configure, configure.in:
15953         fix typo, make --with-SecurID take an arg
15954         [026a9b4014fc]
15955
15956 1999-01-19  Todd C. Miller  <Todd.Miller@courtesan.com>
15957
15958         * RUNSON:
15959         updates from users
15960         [2286982b31e6]
15961
15962         * CHANGES, INSTALL, check.c, configure, configure.in:
15963         FWTK 'authsrv' support from Kevin Kadow <kadow@MSG.NET>
15964         [23aa4e5c6b02]
15965
15966         * configure, configure.in:
15967         better fix for the problem of unresolved symbols in -lnsl or
15968         -lsocket
15969         [82fe70fc287f]
15970
15971         * configure, configure.in:
15972         when checking for functions in -lnsl and -lsocket link with both of
15973         them to avoid unresolved symbols on some weirdo systems
15974         [1734a591808e]
15975
15976 1999-01-18  Todd C. Miller  <Todd.Miller@courtesan.com>
15977
15978         * BUGS, CHANGES, RUNSON, TODO:
15979         old changes that didn't make it into RCS before the RCS->CVS switch
15980         [846eb2b8f9aa]
15981
15982 1999-01-17  Todd C. Miller  <Todd.Miller@courtesan.com>
15983
15984         * Makefile.in, check.c, check_sia.c, compat.h, config.h.in,
15985         configure.in, dce_pwent.c, emul/search.h, emul/utime.h, find_path.c,
15986         getspwuid.c, goodpath.c, ins_2001.h, ins_classic.h, ins_csops.h,
15987         ins_goons.h, insults.h, interfaces.c, lex.yy.c, logging.c,
15988         lsearch.c, parse.c, parse.lex, parse.yacc, pathnames.h.in, putenv.c,
15989         secureware.c, strdup.c, sudo.c, sudo.pod, sudo_setenv.c,
15990         sudoers.pod, testsudoers.c, tgetpass.c, utime.c, visudo.c,
15991         visudo.pod:
15992         add sudo tags
15993         [962f81eaa5ab]
15994
15995         * sudo.h:
15996         testing Sudo tag
15997         [e84cbc521129]
15998
15999         * version.h:
16000         testing Sudo tag
16001         [a8c3a3998b88]
16002
16003         * BUGS, INSTALL, Makefile.in, README, check.c, check_sia.c, compat.h,
16004         config.h.in, configure, configure.in, dce_pwent.c, emul/utime.h,
16005         find_path.c, getspwuid.c, goodpath.c, ins_2001.h, ins_classic.h,
16006         ins_csops.h, ins_goons.h, insults.h, interfaces.c, lex.yy.c,
16007         logging.c, parse.c, parse.lex, parse.yacc, pathnames.h.in, putenv.c,
16008         secureware.c, strdup.c, sudo.c, sudo.cat, sudo.h, sudo.man,
16009         sudo_setenv.c, sudoers.cat, sudoers.man, testsudoers.c, tgetpass.c,
16010         utime.c, version.h, visudo.c, visudo.cat, visudo.man:
16011         crank version and regen files
16012         [23eacf00a1a4]
16013
16014         * Makefile.in:
16015         kill rcs goop in update_version and fix now that version is a const
16016         [e6e50bd8d1e1]
16017
16018         * INSTALL, check.c, config.h.in, configure, configure.in, logging.c,
16019         sudo.c, sudo.h, sudo.pod:
16020         kerb5 support from fcusack@iconnet.net
16021         [8134027986e2]
16022
16023         * realpath.c, sudo_realpath.c:
16024         we no longer use realpath
16025         [0f5f64abc646]
16026
16027         * qualify.c:
16028         replaced by find_path.c
16029         [9e32a87e09c4]
16030
16031         * options.h:
16032         all options are now configure flags
16033         [ee6bd9610102]
16034
16035         * lex.yy.c:
16036         regen
16037         [bdbf8a18161f]
16038
16039         * getwd.c:
16040         superceded by getcwd.c
16041         [1e54ee0990b4]
16042
16043         * getpass.c:
16044         superceded by tgetpass.c
16045         [4e0d1edc30e3]
16046
16047         * SUPPORTED:
16048         superceded by RUNSON
16049         [854c5a21cb53]
16050
16051         * OPTIONS:
16052         No longer used now that we have configure options for everything.
16053         [9b1ae1c89259]
16054
16055         * configure:
16056         regen based on configure.in
16057         [3a4d73936973]
16058
16059         * sudo.cat, sudo.html, sudo.man, sudoers.cat, sudoers.html,
16060         sudoers.man, visudo.cat, visudo.html, visudo.man:
16061         regen based on sudo.pod, sudoers.pod, and visudo.pod
16062         [c267beb90778]
16063
16064 1998-12-11  Todd C. Miller  <Todd.Miller@courtesan.com>
16065
16066         * check.c:
16067         fix tty tickets in remove_timestamp (didn't use ':')
16068         [fd964a74a32b]
16069
16070 1998-12-07  Todd C. Miller  <Todd.Miller@courtesan.com>
16071
16072         * interfaces.c:
16073         close sock when we are done with it
16074         [95de0380f8a4]
16075
16076 1998-11-28  Todd C. Miller  <Todd.Miller@courtesan.com>
16077
16078         * parse.yacc:
16079         never say "error on line -1"
16080         [361db1491121]
16081
16082 1998-11-24  Todd C. Miller  <Todd.Miller@courtesan.com>
16083
16084         * configure.in:
16085         check for -lnsl before -lsocket
16086         [8e966d6bbcb5]
16087
16088         * configure.in:
16089         quote '[', ']' used in ranges correctly
16090         [fa4f9c6ff651]
16091
16092 1998-11-21  Todd C. Miller  <Todd.Miller@courtesan.com>
16093
16094         * config.h.in:
16095         add missing NO_ROOT_SUDO noted by drno@tsd.edu
16096         [c969f25d1667]
16097
16098 1998-11-20  Todd C. Miller  <Todd.Miller@courtesan.com>
16099
16100         * version.h:
16101         1.5.7
16102         [7a22de0bc148]
16103
16104         * INSTALL:
16105         more info for 1.5.7
16106         [30ad9e784799]
16107
16108         * README:
16109         update for 1.5.7
16110         [cd03a0a27cd2]
16111
16112         * parse.yacc:
16113         make increases of cm_list_size and ga_list_size be similar to
16114         increases of stacksize (ie: >= not > in initial compare).
16115         [6bd450a896c7]
16116
16117         * parse.yacc:
16118         when we get a syntax error, report it for the previous line since
16119         that's generally where the error occurred.
16120         [c4ac84058f0b]
16121
16122 1998-11-18  Todd C. Miller  <Todd.Miller@courtesan.com>
16123
16124         * config.h.in, configure.in, interfaces.c:
16125         add back check for sys/sockio.h but only use it if SIOCGIFCONF is
16126         not defined
16127         [d197f31fd1e4] [SUDO_1_5_7]
16128
16129         * config.h.in:
16130         define BSD_COMP for svr4
16131         [87ac1147ff79]
16132
16133         * check.c, check_sia.c, find_path.c, getcwd.c, getspwuid.c,
16134         goodpath.c, interfaces.c, logging.c, lsearch.c, parse.c, parse.lex,
16135         parse.yacc, putenv.c, secureware.c, strdup.c, sudo.c, sudo_setenv.c,
16136         testsudoers.c, tgetpass.c, utime.c, visudo.c:
16137         more -Wall
16138         [d98e2d32db2a]
16139
16140         * configure.in:
16141         kill check for sockio,h
16142         [4399779014c1]
16143
16144         * config.h.in:
16145         no more HAVE_SYS_SOCKIO_H
16146         [67484528e347]
16147
16148         * check.c, check_sia.c, find_path.c, getcwd.c, getspwuid.c,
16149         goodpath.c, interfaces.c, logging.c, lsearch.c, parse.c, parse.lex,
16150         parse.yacc, putenv.c, secureware.c, strdup.c, sudo.c, sudo_setenv.c,
16151         testsudoers.c, tgetpass.c, utime.c, visudo.c:
16152         -Wall
16153         [2b7e83976788]
16154
16155 1998-11-16  Todd C. Miller  <Todd.Miller@courtesan.com>
16156
16157         * sudo.c:
16158         add missing inform_user()
16159         [8689528c6d55]
16160
16161 1998-11-14  Todd C. Miller  <Todd.Miller@courtesan.com>
16162
16163         * find_path.c:
16164         return NOT_FOUND if given fully qualified path and it does not exist
16165         previously it would perror(ENOENT) which bypasses the option to not
16166         leak path info
16167         [ccbc3d0130ae]
16168
16169         * configure.in:
16170         for kerb5, check for -lkerb4, fall back on -lkrb for kerb, check for
16171         -ldes
16172         [c77d3b484ece]
16173
16174 1998-11-13  Todd C. Miller  <Todd.Miller@courtesan.com>
16175
16176         * INSTALL:
16177         tty tickets are user:tty now
16178         [a53a303a614d]
16179
16180         * check.c:
16181         when using tty tickets make it user:tty not user.tty as a username
16182         could have a '.' in it
16183         [3160b3f5c890]
16184
16185 1998-11-10  Todd C. Miller  <Todd.Miller@courtesan.com>
16186
16187         * sudo.c:
16188         add "ignoring foo found in ." for auth successful case
16189         [24257169e0bd]
16190
16191 1998-11-09  Todd C. Miller  <Todd.Miller@courtesan.com>
16192
16193         * sudo.c:
16194         add missing printf param
16195         [8c905124f777]
16196
16197 1998-11-08  Todd C. Miller  <Todd.Miller@courtesan.com>
16198
16199         * INSTALL, config.h.in, configure.in, find_path.c, sudo.c, sudo.h:
16200         go back to printing "command not found" unless --disable-path-info
16201         specified. Also, tell user when we ignore '.' in their path and it
16202         would have been used but for --with-ignore-dot.
16203         [066e118c11e4]
16204
16205         * check.c, sudo.c:
16206         Only one space after a colon, not two, in printf's
16207         [38452f4c8007]
16208
16209 1998-11-05  Todd C. Miller  <Todd.Miller@courtesan.com>
16210
16211         * sudo.pod:
16212         document setting $USER
16213         [80557fe6aede]
16214
16215         * check.c:
16216         fix bugs with prompt expansion
16217         [44c4fca5f009]
16218
16219         * sudo.c:
16220         set $USER for root too
16221         [4b525e1c6269]
16222
16223 1998-11-04  Todd C. Miller  <Todd.Miller@courtesan.com>
16224
16225         * getspwuid.c:
16226         typo
16227         [5107446f43e0]
16228
16229         * configure.in:
16230         HP-UX's iscomsec is in -lsec, not libc
16231         [03c9f700b795]
16232
16233         * configure.in:
16234         remove some entries in the OS case statement that did nothing
16235         [ea96e7e0f624]
16236
16237         * TROUBLESHOOTING:
16238         add "cd" section and flush out syslog section
16239         [5107f7363b78]
16240
16241         * Makefile.in:
16242         no more sudo-lex.yy.c
16243         [ed50826efbbc]
16244
16245         * check_sia.c:
16246         add custom prompt support
16247         [6a285cea10b7]
16248
16249         * testsudoers.c:
16250         kill perror("malloc") since we already have a good error messages
16251         pw_ent -> pw for brevity
16252         [eee31052921e]
16253
16254         * sudo.c:
16255         kill perror("malloc") since we already have a good error messages
16256         pw_ent -> pw for brevity set $USER if -u specified
16257         [9f3753461f8a]
16258
16259         * parse.yacc:
16260         kill perror("malloc") since we already have a good error messages
16261         [849459088ac3]
16262
16263         * parse.c:
16264         kill perror("malloc") since we already have a good error messages
16265         pw_ent -> pw for brevity when checking if %group matches, look up
16266         user in password file so that %groups works in a RunAs spec.
16267         [0489b4ecc59a]
16268
16269         * logging.c:
16270         kill perror("malloc") since we already have a good error messages
16271         [3191a18b3526]
16272
16273         * check.c, getspwuid.c, interfaces.c:
16274         kill perror("malloc") since we already have a good error messages
16275         pw_ent -> pw for brevity
16276         [7193fdb38cf9]
16277
16278 1998-11-03  Todd C. Miller  <Todd.Miller@courtesan.com>
16279
16280         * tgetpass.c:
16281         the prompt is expanded before tgetpass is called
16282         [0f408f508041]
16283
16284         * sudo.h:
16285         tgetpass now has the same args as getpass again
16286         [b6778cd9d79f]
16287
16288         * getspwuid.c:
16289         add iscomsec, issecure support
16290         [007be7ec7ae7]
16291
16292         * check.c:
16293         we now expand any %h or %u in the prompt before passing to tgetpass
16294         [f3db8c9ee387]
16295
16296         * configure.in:
16297         add check for syslog(3) in -lsocket, -lnsl, -linet
16298         [5a96f902ce00]
16299
16300         * config.h.in:
16301         add HAVE_ISCOMSEC and HAVE_ISSECURE
16302         [f640b0d4cf05]
16303
16304         * configure.in:
16305         add check for iscomsec in HP-UX
16306         [b28b249040f0]
16307
16308         * configure.in:
16309         check for issecure if we have getpwanam on SunOS some options are
16310         incompatible with DUNIX SIA check for dispcrypt on DUNIX
16311         [a49d05d9c913]
16312
16313 1998-10-25  Todd C. Miller  <Todd.Miller@courtesan.com>
16314
16315         * config.h.in:
16316         add HAVE_DISPCRYPT
16317         [7376d543d8d6]
16318
16319         * secureware.c:
16320         add back support for non-dispcrypt based checking for older DUNIX
16321         [977b98e936be]
16322
16323         * INSTALL:
16324         sia changes
16325         [c5387c06e30f]
16326
16327         * configure.in:
16328         SIA becomes the default on Digital UNIX now havbe --disable-sia to
16329         turn it off...
16330         [3b647558ea13]
16331
16332         * check.c:
16333         move local includes after system ones
16334         [b2abad4c4aef]
16335
16336 1998-10-24  Todd C. Miller  <Todd.Miller@courtesan.com>
16337
16338         * check.c, check_sia.c, sudo.h:
16339         add pass_warn() which prints out INCORRECT_PASSWORD or an insult to
16340         stderr
16341         [547cbf299661]
16342
16343         * check_sia.c:
16344         fix while loop in sia_attempt_auth() that checks the password. Only
16345         the first iteration was working.
16346         [1886fd1ac831]
16347
16348 1998-10-22  Todd C. Miller  <Todd.Miller@courtesan.com>
16349
16350         * aclocal.m4:
16351         don't trust UID_MAX or MAXUID
16352         [2aeddb1654d8]
16353
16354         * configure.in:
16355         fix two pastos
16356         [c18f0a10b75d]
16357
16358         * configure.in:
16359         fix typo
16360         [1eb3190ef12d]
16361
16362         * getspwuid.c, secureware.c:
16363         init crypt_type to INT_MAX since it is legal to be negative in DUNX
16364         5.0
16365         [cefbde04822d]
16366
16367         * configure.in:
16368         for secureware on dunix, use -lsecurity -ldb -laud -lm but check for
16369         -ldb since DUNX < 4.0 lacks it
16370         [e6b11d971068]
16371
16372 1998-10-21  Todd C. Miller  <Todd.Miller@courtesan.com>
16373
16374         * check.c, compat.h, config.h.in, configure.in, getspwuid.c,
16375         secureware.c, sudo.c, tgetpass.c:
16376         getprpwuid is broken in HP-UX 10.20 at least (it sleeps for 2
16377         minutes if the shadow files don't exist).
16378         [2f297d095004]
16379
16380 1998-10-20  Todd C. Miller  <Todd.Miller@courtesan.com>
16381
16382         * INSTALL:
16383         updated --with-editor blurb
16384         [77d8a3ea7328]
16385
16386         * TROUBLESHOOTING:
16387         tell how to put sudoers in a different dir
16388         [456cd20eb1d0]
16389
16390         * configure.in:
16391         add missing quotes around $with_editor
16392         [22881748ab1b]
16393
16394         * configure.in:
16395         typo in --with-editor bits
16396         [ab6964580681]
16397
16398         * INSTALL:
16399         I don't expect it to work on Solaris
16400         [1c2fceaaf56e]
16401
16402         * check.c:
16403         add back security/pam_misc.h
16404         [6ffd30033c1e]
16405
16406 1998-10-19  Todd C. Miller  <Todd.Miller@courtesan.com>
16407
16408         * INSTALL:
16409         remove dunix note since configure checks for this now
16410         [e9904512b8e8]
16411
16412         * configure.in:
16413         add check for broken dunix prot.h (4.0 < 4.0D is bad)
16414         [8a4c1e6aef3b]
16415
16416         * getspwuid.c, secureware.c, tgetpass.c:
16417         new dunix shadow code, use dispcrypt(3)
16418         [1b936bc7268c]
16419
16420         * config.h.in:
16421         add HAVE_INITPRIVS
16422         [4369f4c4f914]
16423
16424         * sudo.c:
16425         call initprivs() if we have it for getprpwuid later on
16426         [11cf5915d826]
16427
16428         * Makefile.in:
16429         clean pathnames.h too
16430         [5f1df3262613]
16431
16432         * configure.in:
16433         quote "Sorry, try again." with [] since it has a comma in it set
16434         LIBS when we add stuff to SUDO_LIBS set SECUREWARE when we find
16435         getprpwuid() so we can check for bigcrypt, set_auth_parameters, and
16436         initprivs later.
16437         [e226b0a3f250]
16438
16439         * INSTALL:
16440         update Digital UNIX note about acl.h
16441         [80132b71d73a]
16442
16443         * INSTALL:
16444         add --with-sia
16445         --without-root-sudo -> --disable-root-sudo some reordering
16446         [198386358818]
16447
16448         * secureware.c:
16449         add whitespace
16450         [4aadaf1a54b0]
16451
16452         * Makefile.in, check.c, config.h.in, configure.in, logging.c, sudo.h:
16453         add SIA support
16454         [fa3ddbb9cc51]
16455
16456         * check_sia.c:
16457         Initial revision
16458         [2968551d40e4]
16459
16460 1998-10-18  Todd C. Miller  <Todd.Miller@courtesan.com>
16461
16462         * configure.in:
16463         when checking for -lsocket, -lnsl, and -linet, check for the
16464         specific functions we need from them.
16465         [8d33e64362a3]
16466
16467         * config.h.in, sudo.h:
16468         move Syslog_* defs into sudo.h
16469         [03d1774f25c7]
16470
16471         * Makefile.in, sudo.h:
16472         added check_secureware
16473         [e46e3cbb9a97]
16474
16475         * configure.in:
16476         finished adding AC_MSG_CHECKING and AC_MSG_RESULT bits
16477         [dbefe1856503]
16478
16479         * insults.h:
16480         don't define CLASSIC_INSULTS and CSOPS_INSULTS if no other sets
16481         defined. configure now does that for us
16482         [e4520ea0581f]
16483
16484         * configure.in:
16485         move some --with options around change a bunch of echo's to
16486         AC_MSG_CHECKING, AC_MSG_RESULT pairs
16487         [ffdf6869fdd7]
16488
16489         * configure.in:
16490         change $with_foo-bar -> $with_foo_bar kill extra " that caused a
16491         syntax error add some echo verbage
16492         [3278c49bf74b]
16493
16494 1998-10-17  Todd C. Miller  <Todd.Miller@courtesan.com>
16495
16496         * check.c:
16497         moved SecureWare stuff into secureware.c
16498         [42d3d3ac35dc]
16499
16500         * secureware.c:
16501         Initial revision
16502         [aa7f72a249cf]
16503
16504         * INSTALL:
16505         update url to solaris gcc bins
16506         [36a3eb668777]
16507
16508         * INSTALL:
16509         change option formatter and flesh out someentries
16510         [6fbd1db4a8ad]
16511
16512         * TROUBLESHOOTING, sudo.pod, visudo.pod:
16513         environmental variable -> environment variable
16514         [6f14d708e32d]
16515
16516         * BUGS:
16517         everything is now done via configure
16518         [c217858f58ab]
16519
16520         * README:
16521         prev rev was 1.5.6
16522         [7b4177103c35]
16523
16524         * Makefile.in:
16525         passing SUDOERS_MODE, SUDOERS_UID, SUDOERS_GID correctly
16526         [31c6b0a5e0e2]
16527
16528         * config.h.in:
16529         SUDOERS_MODE, SUDOERS_UID, SUDOERS_GID now come from the Makefile
16530         [d406a1ef6d25]
16531
16532         * Makefile.in:
16533         merge OSDEFS and OPTIONS into DEFS get sudoers_uid, sudoers_gid,
16534         sudoers_mode from configure
16535         [1c509500655a]
16536
16537         * configure.in:
16538         SUDOERS_MODE, SUDOERS_UID, and SUDOERS_GID now get substituted into
16539         the Makefile, not config.h
16540         [d4482f1492fe]
16541
16542         * INSTALL:
16543         document all --with/--enable options
16544         [22d81b312d7f]
16545
16546 1998-10-15  Todd C. Miller  <Todd.Miller@courtesan.com>
16547
16548         * insults.h:
16549         options.h is no more
16550         [560946a33f7f]
16551
16552         * config.h.in:
16553         assimilated options.h
16554         [dd8ce74613c1]
16555
16556         * configure.in:
16557         moved options from options.h to configure
16558         [d39662f71b4e]
16559
16560         * check.c, find_path.c, getspwuid.c, goodpath.c, interfaces.c,
16561         logging.c, parse.c, parse.lex, parse.yacc, sudo.c, sudo.pod,
16562         sudo_setenv.c, visudo.c:
16563         no more options.h
16564         [43924bf0858d]
16565
16566         * INSTALL, Makefile.in, PORTING, TROUBLESHOOTING:
16567         remove references to options.h
16568         [ef3474295395]
16569
16570         * dce_pwent.c, interfaces.c, sudo.c:
16571         kill sys/time.h
16572         [4d833f0034e4]
16573
16574         * tgetpass.c:
16575         if select return < -1 still prompt for pw
16576         [e0009e5c93a2]
16577
16578         * options.h:
16579         convert LOGGING, LOGFAC, MAXLOGFILELEN, IGNORE_DOT_PATH into
16580         configure options
16581         [e60a1e546516]
16582
16583         * parse.c:
16584         FAST_MATCH is no longer an optino
16585         [c448dbb3464b]
16586
16587         * check.c:
16588         remove_timestamp() if timestamp is preposterous
16589         [70d9a86c6ecd]
16590
16591         * options.h:
16592         convert more options to --with/--enable
16593         [34646d9b09dc]
16594
16595         * INSTALL, aclocal.m4:
16596         logfile -> logpath
16597         [42de502bc637]
16598
16599         * configure.in:
16600         convert more options into --with and --enable
16601         [92d0898c9844]
16602
16603         * tgetpass.c:
16604         catch EINTR in select and restart
16605         [f045d2f234d7]
16606
16607         * logging.c:
16608         sys/errno -> errno
16609         [7f0c5beab6f2]
16610
16611 1998-09-24  Todd C. Miller  <Todd.Miller@courtesan.com>
16612
16613         * sudo.c:
16614         UMASK -> SUDO_UMASK.
16615         [48f308661514]
16616
16617         * check.c, logging.c:
16618         time.h, not sys/time.h
16619         [91de049c79e4]
16620
16621 1998-09-21  Todd C. Miller  <Todd.Miller@courtesan.com>
16622
16623         * logging.c:
16624         MAILER -> _PATH_SENDMAIL
16625         [df65d6896639]
16626
16627         * INSTALL, configure.in:
16628         no more --with-C2, now it is --disable-shadow
16629         [18bfcab3b9ab]
16630
16631         * aclocal.m4, check.c, compat.h, config.h.in, configure.in,
16632         getspwuid.c, sudo.c, tgetpass.c:
16633         new shadow password scheme. Always include shadow support if the
16634         platform supports it and the user did not disable it via configure
16635         [2135d93bb4a9]
16636
16637 1998-09-20  Todd C. Miller  <Todd.Miller@courtesan.com>
16638
16639         * configure.in:
16640         --with-getpass -> --{enable,disable}-tgetpass
16641         [451b33fdd4c7]
16642
16643         * Makefile.in:
16644         pathnames.h -> pathnames.h.in
16645         [b109022eca69]
16646
16647         * check.c:
16648         fix version string
16649         [761b25c314ea]
16650
16651         * check.c:
16652         move pam_conv to be static to auth function remove pam_misc.h
16653         (solaris doesn't have one)
16654         [a682e4da987a]
16655
16656         * aclocal.m4:
16657         _CONFIG_PATH_* -> _PATH_* or _PATH_SUDO_* kill SUDO_PROG_PWD
16658         [e6005d0599b5]
16659
16660         * configure.in:
16661         munge pathnames.h.in -> pathnames.h kill SUDO_PROG_PWD
16662         [24c0ac2155ef]
16663
16664         * pathnames.h.in:
16665         convert to pathnames.h.in
16666         [013bddf7f684]
16667
16668 1998-09-19  Todd C. Miller  <Todd.Miller@courtesan.com>
16669
16670         * configure.in:
16671         fix typo in sysv4 matching case /.
16672         [2994c4f88cf5]
16673
16674 1998-09-18  Todd C. Miller  <Todd.Miller@courtesan.com>
16675
16676         * check.c:
16677         pam stuff needs to run as root, not user, for shadow passwords
16678         [d94ff75de503]
16679
16680 1998-09-17  Todd C. Miller  <Todd.Miller@courtesan.com>
16681
16682         * BUGS, INSTALL, README, configure.in:
16683         updated version
16684         [775adc7de7ac]
16685
16686         * Makefile.in, check.c, compat.h, config.h.in, dce_pwent.c,
16687         emul/utime.h, find_path.c, getspwuid.c, goodpath.c, ins_2001.h,
16688         ins_classic.h, ins_csops.h, ins_goons.h, insults.h, interfaces.c,
16689         logging.c, options.h, parse.c, parse.lex, parse.yacc,
16690         pathnames.h.in, putenv.c, strdup.c, sudo.c, sudo.h, sudo_setenv.c,
16691         testsudoers.c, tgetpass.c, utime.c, visudo.c:
16692         updated version
16693         [5ca599fb6b93]
16694
16695         * check.c:
16696         user version.h for long message
16697         [47a52ac7e542]
16698
16699         * check.c:
16700         this is version 1.5.6
16701         [8451ac79eee2]
16702
16703 1998-09-16  Todd C. Miller  <Todd.Miller@courtesan.com>
16704
16705         * Makefile.in:
16706         remove errant backslash
16707         [0222a8a650ff]
16708
16709 1998-09-15  Todd C. Miller  <Todd.Miller@courtesan.com>
16710
16711         * options.h, parse.yacc, pathnames.h.in:
16712         fix version string
16713         [fdee73255d64] [SUDO_1_5_6]
16714
16715         * BUGS, CHANGES, TODO:
16716         updtaed for 1.5.6
16717         [752443bf7f26]
16718
16719         * RUNSON:
16720         updated for 1.5.6
16721         [0f878123fe6a]
16722
16723 1998-09-14  Todd C. Miller  <Todd.Miller@courtesan.com>
16724
16725         * interfaces.c:
16726         kill unused localhost_mask var copy if name to ifr_tmp after we zero
16727         it
16728         [8e89c364cef2]
16729
16730 1998-09-13  Todd C. Miller  <Todd.Miller@courtesan.com>
16731
16732         * INSTALL:
16733         Better description of new vs. old sudoers modes fix some typos
16734         better description of /usr/ucb/cc gotchas on slowaris
16735         [c00b2a6fc1e8]
16736
16737         * Makefile.in:
16738         add sample.pam
16739         [ec7f6cc19b00]
16740
16741         * sudo.c:
16742         set NewArgv[0] to user_shell, not basename(user_shell)
16743         [1e907cbc9f7b]
16744
16745 1998-09-12  Todd C. Miller  <Todd.Miller@courtesan.com>
16746
16747         * README:
16748         mention TROUBLESHOOTING more fix some typos
16749         [2c2e6907d4a4]
16750
16751         * configure.in:
16752         move --enable/--disable to be after --with
16753         [9b30097f76c1]
16754
16755         * INSTALL:
16756         document --enable/--disable
16757         [c522362e38a8]
16758
16759         * INSTALL:
16760         document --with-pam
16761         [7e38932c78ac]
16762
16763 1998-09-11  Todd C. Miller  <Todd.Miller@courtesan.com>
16764
16765         * configure.in:
16766         Add message for pam users
16767         [d224f277e3cd]
16768
16769         * sample.pam:
16770         Initial revision
16771         [3a84d7045f54]
16772
16773         * config.h.in:
16774         fix HAVE_PAM
16775         [2f0f303ebd88]
16776
16777         * check.c, config.h.in, configure.in:
16778         pam support, from Gary Calvin <GCalvin@kenwoodusa.com>
16779         [ea3e0a72d707]
16780
16781 1998-09-10  Todd C. Miller  <Todd.Miller@courtesan.com>
16782
16783         * config.h.in:
16784         add HOST_IN_LOG and WRAP_LOG
16785         [822c36eeb6a8]
16786
16787         * logging.c:
16788         add WRAP_LOG and HOST_IN_LOG
16789         [3cf6052bd27e]
16790
16791         * configure.in:
16792         add --enable-log-host and --enable-log-wrap
16793         [c968cc12b353]
16794
16795         * aclocal.m4:
16796         use AC_DEFINE_UNQUOTED for --with-logfile and --with-timedir
16797         [915fef7e11a1]
16798
16799 1998-09-09  Todd C. Miller  <Todd.Miller@courtesan.com>
16800
16801         * compat.h:
16802         add howmany macro
16803         [9107a057a7c8]
16804
16805         * tgetpass.c:
16806         include sys/param.h to get howmany macro
16807         [7e908b5e1f32]
16808
16809 1998-09-08  Todd C. Miller  <Todd.Miller@courtesan.com>
16810
16811         * OPTIONS, options.h, parse.yacc, sudo.c, testsudoers.c, visudo.c:
16812         add RUNAS_DEFAULT
16813         [1e76398ea3fd]
16814
16815 1998-09-07  Todd C. Miller  <Todd.Miller@courtesan.com>
16816
16817         * fnmatch.c:
16818         bring in stdio.h for NULL
16819         [69c016610cbb]
16820
16821         * aclocal.m4:
16822         allow /bin/{ksh,bach} and /usr/bin/{ksh,bash} as sh
16823         [15ab2972f8d0]
16824
16825         * sudo.c:
16826         use HAVE_SET_AUTH_PARAMETERS
16827         [8abfdc8c80f7]
16828
16829         * config.h.in:
16830         add HAVE_SET_AUTH_PARAMETERS
16831         [673a5ebd5539]
16832
16833         * configure.in:
16834         add *-*-hiuxmpp* add test for set_auth_parameters() if secureware
16835         [a401f5a7469a]
16836
16837         * config.sub:
16838         add support for HI-UX/MPP SR220001 02-03 0 SR2201
16839         [cb657b7acaae]
16840
16841         * interfaces.c:
16842         initialize previfname
16843         [26a1902f56dc]
16844
16845         * interfaces.c:
16846         Don't use SIOCGIFADDR, we don't need it Use SIOCGIFFLAGS if we have
16847         it check ifr_flags against IFF_UP and IFF_LOOPBACK instead of
16848         kludging it
16849         [fa5c890c313b]
16850
16851         * configure.in:
16852         typo
16853         [bff579fbe95c]
16854
16855         * Makefile.in:
16856         don't need special build line for sudo.tab.o
16857         [10c0a0a912e4]
16858
16859         * Makefile.in:
16860         don't clean sudo.tab.[ch]
16861         [c40d5968efbb]
16862
16863         * sudo.c:
16864         Sudo should prompt for a password before telling the user that a
16865         command could not be found.
16866         [d718c85a0047]
16867
16868         * BUGS:
16869         for 1.5.6
16870         [0cc1fe5b9129]
16871
16872         * INSTALL, README:
16873         no longer require yacc
16874         [d9096fc5b8b6]
16875
16876         * Makefile.in:
16877         typo
16878         [70feb1aefbd5]
16879
16880         * Makefile.in:
16881         y.tab -> sudo.tab include pre-yacc'd parse.yacc
16882         [cc802025fd44]
16883
16884         * parse.lex:
16885         include sudo.tab.h, not y.tab.h don't break out of command args if
16886         you get a '='
16887         [728ad26dbda5]
16888
16889         * insults.h:
16890         fix version ,
16891         [242bbce1b2d4]
16892
16893         * ins_2001.h, ins_classic.h, ins_csops.h, ins_goons.h:
16894         fix version
16895         [2bb9086fea1e]
16896
16897         * compat.h:
16898         fix version
16899         [7e634d498ce6]
16900
16901         * getcwd.c:
16902         getcwd(3) from OpenBSD for those without it.
16903         [6c68d0df8f6c]
16904
16905         * sudo.h:
16906         HAVE_GETWD -> HAVE_GETCWD
16907         [2ad1e64d60c0]
16908
16909         * configure.in:
16910         pretend sunos doesn't have getcwd(3) since it opens a pipe to
16911         getpwd!
16912         [677992ba5a6a]
16913
16914         * parse.c:
16915         use NAMLEN() macro
16916         [8f5685aa3165]
16917
16918         * fnmatch.c:
16919         remove duplicate include of string.h
16920         [6024f3051ac3]
16921
16922         * configure.in:
16923         call SUDO_TYPE_DEV_T and SUDO_TYPE_INO_T
16924         [3d82a9c22cc2]
16925
16926         * aclocal.m4:
16927         add SUDO_TYPE_DEV_T and SUDO_TYPE_INO_T
16928         [53fbc47282f9]
16929
16930         * config.h.in:
16931         add dev_t and ino_t
16932         [5929bb0c7e1a]
16933
16934 1998-07-28  Todd C. Miller  <Todd.Miller@courtesan.com>
16935
16936         * check.c:
16937         fix OTP_ONLY for opie
16938         [7edcfa78f2ec]
16939
16940 1998-06-24  Todd C. Miller  <Todd.Miller@courtesan.com>
16941
16942         * testsudoers.c, tgetpass.c:
16943         include stdlib.h for malloc proto
16944         [c9f4b99a2fe9]
16945
16946 1998-05-19  Todd C. Miller  <Todd.Miller@courtesan.com>
16947
16948         * Makefile.in:
16949         make update_version saner
16950         [d522f93ee04a]
16951
16952         * config.h.in:
16953         add HAVE_WAITPID, HAVE_WAIT3, and sudo_waitpid()
16954         [c9a2d21dc608]
16955
16956         * configure.in:
16957         check for waitpid and wait3 or no waitpid
16958         [1f18c3224184]
16959
16960         * logging.c:
16961         used waitpid or wait3 if we have 'em
16962         [391c3279ee65]
16963
16964 1998-05-02  Todd C. Miller  <Todd.Miller@courtesan.com>
16965
16966         * visudo.c:
16967         fix some fprintf args, ariel@oz.engr.sgi.com (Ariel Faigon)
16968         [fbf53b18178f]
16969
16970 1998-04-28  Todd C. Miller  <Todd.Miller@courtesan.com>
16971
16972         * configure.in:
16973         don't need to explicately mention -lsocket -lnsl for sequent
16974         [1898dc055352]
16975
16976 1998-04-25  Todd C. Miller  <Todd.Miller@courtesan.com>
16977
16978         * configure.in:
16979         dynix should not link with -linet
16980         [278a4b9cfe2a]
16981
16982 1998-04-10  Todd C. Miller  <Todd.Miller@courtesan.com>
16983
16984         * INSTALL:
16985         mention that HP-UX doesn't ship with yacc
16986         [bde5147198c0]
16987
16988 1998-04-07  Todd C. Miller  <Todd.Miller@courtesan.com>
16989
16990         * check.c:
16991         ignore kerberos if we can't get the local realm
16992         [1e311a091a27]
16993
16994 1998-04-06  Todd C. Miller  <Todd.Miller@courtesan.com>
16995
16996         * BUGS, INSTALL, README, configure.in:
16997         ++version
16998         [499ffc746018]
16999
17000         * version.h:
17001         ++
17002         [35ba1ee01bd3]
17003
17004         * Makefile.in, check.c, config.h.in, dce_pwent.c, emul/utime.h,
17005         find_path.c, getcwd.c, getspwuid.c, goodpath.c, interfaces.c,
17006         logging.c, parse.c, parse.lex, putenv.c, strdup.c, sudo.c, sudo.h,
17007         sudo_setenv.c, testsudoers.c, tgetpass.c, utime.c, visudo.c:
17008         updated version
17009         [b4990a513f31]
17010
17011         * check.c, sudo.h:
17012         fix version
17013         [5710795834e8]
17014
17015         * getcwd.c:
17016         don't use popen/pclose. Do it inline.
17017         [29e57b0646a4]
17018
17019         * lsearch.c:
17020         add rcsid
17021         [b2b55c39858d]
17022
17023         * sudo.c:
17024         typo
17025         [d381ac39ed0f]
17026
17027         * check.c, compat.h, ins_2001.h, ins_classic.h, ins_csops.h,
17028         ins_goons.h, insults.h, options.h, parse.yacc, pathnames.h.in,
17029         sudo.h:
17030         updated version
17031         [462d6e1a2d75]
17032
17033         * check.c, find_path.c, parse.c, sudo.c, testsudoers.c:
17034         MAX* + 1 -> MAX*
17035         [2c2eeb78d34f]
17036
17037         * Makefile.in:
17038         getwd.c -> getcwd.c
17039         [7d718c32fc02]
17040
17041         * config.h.in:
17042         kill HAVE_GETWD
17043         [6ad3d702343f]
17044
17045         * configure.in:
17046         getcwd, not getwd
17047         [33e5b9841f58]
17048
17049         * getcwd.c:
17050         use MAX* not MAX* + 1 always run pwd as using getwd() defeats the
17051         purpose
17052         [24e58d340161]
17053
17054 1998-03-31  Todd C. Miller  <Todd.Miller@courtesan.com>
17055
17056         * OPTIONS, options.h:
17057         add STUB_LOAD_INTERFACES
17058         [d747cb23ca83]
17059
17060         * Makefile.in, check.c, compat.h, config.h.in, dce_pwent.c,
17061         emul/utime.h, find_path.c, getspwuid.c, getwd.c, goodpath.c,
17062         ins_2001.h, ins_classic.h, ins_csops.h, ins_goons.h, insults.h,
17063         interfaces.c, logging.c, options.h, parse.c, parse.lex, parse.yacc,
17064         pathnames.h.in, putenv.c, strdup.c, sudo.c, sudo.h, sudo_setenv.c,
17065         testsudoers.c, tgetpass.c, utime.c, visudo.c:
17066         updated version
17067         [0798229312cc]
17068
17069         * configure.in:
17070         support *-ccur-sysv4 and fix two typos
17071         [24a823ad7cc9]
17072
17073 1998-03-28  Todd C. Miller  <Todd.Miller@courtesan.com>
17074
17075         * configure.in:
17076         don't echo about with_logfile and with_timedir
17077         [31e4a1e2d9ad]
17078
17079         * INSTALL:
17080         document --with-logfile and --with-timedir
17081         [674f811a40e0]
17082
17083         * aclocal.m4:
17084         support --with-logfile and --with-timedir
17085         [2fc36b35db12]
17086
17087         * configure.in:
17088         Add --with-logfile and --with-timedir
17089         [09045bf07e29]
17090
17091         * sudo.c:
17092         change size computation of NewArgv for UNICOS
17093         [b50df07da3a1]
17094
17095 1998-02-19  Todd C. Miller  <Todd.Miller@courtesan.com>
17096
17097         * configure.in:
17098         treate -*-sysv4* like *-*-svr4
17099         [471b7ef4dbf2]
17100
17101 1998-02-18  Todd C. Miller  <Todd.Miller@courtesan.com>
17102
17103         * configure.in:
17104         fix spacing for --with-authenticate help
17105         [8321cb37c410]
17106
17107         * Makefile.in, check.c, compat.h, config.h.in, dce_pwent.c,
17108         emul/utime.h, find_path.c, getspwuid.c, getwd.c, goodpath.c,
17109         ins_2001.h, ins_classic.h, ins_csops.h, ins_goons.h, insults.h,
17110         interfaces.c, logging.c, options.h, parse.c, parse.lex, parse.yacc,
17111         pathnames.h.in, putenv.c, strdup.c, sudo.c, sudo.h, sudo_setenv.c,
17112         testsudoers.c, tgetpass.c, utime.c, visudo.c:
17113         updated version
17114         [dc1ab97312eb]
17115
17116         * parse.yacc:
17117         fix off by one error in push macro
17118         [bece59c8c3a9]
17119
17120 1998-02-17  Todd C. Miller  <Todd.Miller@courtesan.com>
17121
17122         * configure.in:
17123         removed bogus alloca hack
17124         [a68dd720462d]
17125
17126         * check.c:
17127         added AIX 4.x authenticate() support
17128         [12985eb448a0]
17129
17130         * parse.yacc:
17131         include alloca.h if using bison and not gcc and it exists. fixes an
17132         alloca problem on hpux 10.x
17133         [e3b5c4f26072]
17134
17135         * INSTALL:
17136         mention --with-authenticate
17137         [78a1c96820e7]
17138
17139         * configure.in:
17140         added AIX authenticate() support
17141         [c983193ec252]
17142
17143         * config.h.in:
17144         add HAVE_AUTHENTICATE
17145         [7b0e5f5db5d9]
17146
17147         * interfaces.c:
17148         dynamically size ifconf buffer
17149         [10afb0e9b2f9]
17150
17151         * configure.in:
17152         quote '[' and ']'
17153         [8fc38a4defad]
17154
17155         * Makefile.in, check.c, compat.h, config.h.in, dce_pwent.c,
17156         emul/utime.h, find_path.c, getspwuid.c, getwd.c, goodpath.c,
17157         ins_2001.h, ins_classic.h, ins_csops.h, ins_goons.h, insults.h,
17158         logging.c, options.h, parse.c, parse.lex, parse.yacc,
17159         pathnames.h.in, putenv.c, strdup.c, sudo.c, sudo.h, sudo_setenv.c,
17160         testsudoers.c, tgetpass.c, utime.c, visudo.c:
17161         updated version
17162         [5f66de71ec61]
17163
17164         * visudo.pod:
17165         add ERRORS section
17166         [3df3edb73cf6]
17167
17168 1998-02-16  Todd C. Miller  <Todd.Miller@courtesan.com>
17169
17170         * TROUBLESHOOTING:
17171         add busy stmp file explanation
17172         [6c555d469b6f]
17173
17174 1998-02-15  Todd C. Miller  <Todd.Miller@courtesan.com>
17175
17176         * configure.in:
17177         the name of the cached var that signals whether or not you are cross
17178         compiling changed. It is now ac_cv_prog_cc_cross
17179         [123911c0658c]
17180
17181 1998-02-11  Todd C. Miller  <Todd.Miller@courtesan.com>
17182
17183         * INSTALL:
17184         mention glibc 2.07 is fixed wrt lsearch()\.
17185         [ded758524582]
17186
17187 1998-02-07  Todd C. Miller  <Todd.Miller@courtesan.com>
17188
17189         * sample.sudoers, sudoers.pod:
17190         better example of su but not root su
17191         [b3199610be21]
17192
17193 1998-02-06  Todd C. Miller  <Todd.Miller@courtesan.com>
17194
17195         * Makefile.in, check.c, compat.h, config.h.in, dce_pwent.c,
17196         emul/utime.h, find_path.c, getspwuid.c, getwd.c, goodpath.c,
17197         ins_2001.h, ins_classic.h, ins_csops.h, ins_goons.h, insults.h,
17198         interfaces.c, logging.c, options.h, parse.c, parse.lex, parse.yacc,
17199         pathnames.h.in, putenv.c, strdup.c, sudo.c, sudo.h, sudo_setenv.c,
17200         testsudoers.c, tgetpass.c, utime.c, visudo.c:
17201         updated version
17202         [46922b84e86b]
17203
17204         * Makefile.in:
17205         correct regexp for updating version
17206         [8032728b2a8a]
17207
17208         * tgetpass.c:
17209         remove bogus flush of stderr spew prompt before turning off echo.
17210         Seems to fix a weird problem where if sudo complained about a bogus
17211         stamp file the user would sometimes not have a chance to enter a
17212         password
17213         [7aa1493cc141]
17214
17215         * check.c:
17216         fix bogus flush of stderr
17217         [6d047871c5e8]
17218
17219         * sudo.c:
17220         close fd's <=2 not <=3 and move that chunk of code up
17221         [553e4faac195]
17222
17223         * configure.in:
17224         support hpux1[0-9] not just hpux10
17225         [5a34a000ff8a]
17226
17227 1998-01-30  Todd C. Miller  <Todd.Miller@courtesan.com>
17228
17229         * parse.c:
17230         set sudoers_fp to nil after closing
17231         [221a8b4bbf34]
17232
17233 1998-01-24  Todd C. Miller  <Todd.Miller@courtesan.com>
17234
17235         * config.guess, config.sub:
17236         updated from autoconf 2.12
17237         [6fc86a0fc61b]
17238
17239         * configure.in:
17240         add *-*-svr4 rule
17241         [38f0427f7c9d]
17242
17243 1998-01-23  Todd C. Miller  <Todd.Miller@courtesan.com>
17244
17245         * tgetpass.c:
17246         fix select usage for high fd's (dynamically allocate readfds)
17247         [c2d1f76e0321]
17248
17249         * check.c:
17250         kill extra whitespace
17251         [d784b6c9c514]
17252
17253         * sudo.c:
17254         do an initgroups() before running a command, unless the target user
17255         is root.
17256         [4ca561287480]
17257
17258 1998-01-22  Todd C. Miller  <Todd.Miller@courtesan.com>
17259
17260         * TROUBLESHOOTING:
17261         tell people to use tabs, not spaces, in syslog.conf
17262         [8ae90a205134]
17263
17264 1998-01-21  Todd C. Miller  <Todd.Miller@courtesan.com>
17265
17266         * Makefile.in, config.h.in, dce_pwent.c, emul/utime.h, getwd.c,
17267         parse.lex, putenv.c, strdup.c, testsudoers.c, utime.c:
17268         updated version
17269         [4d855ff5de26]
17270
17271         * check.c, find_path.c, getspwuid.c, goodpath.c, interfaces.c,
17272         logging.c, parse.c, sudo.c, sudo_setenv.c, tgetpass.c, visudo.c:
17273         updated version
17274         [8e007e178b33]
17275
17276         * compat.h, ins_2001.h, ins_classic.h, ins_csops.h, ins_goons.h,
17277         insults.h, options.h, parse.yacc, pathnames.h.in, sudo.h:
17278         updated version
17279         [9ddea5c8814d]
17280
17281         * Makefile.in:
17282         more tweaks to update_version
17283         [047698752855]
17284
17285         * Makefile.in:
17286         fixed up update_version rule
17287         [47b6fa34b77f]
17288
17289         * configure.in:
17290         ++version
17291         [c1ca664e30b7]
17292
17293         * Makefile.in:
17294         removed supe of check.c
17295         [8f340a05296a]
17296
17297         * INSTALL:
17298         ++version I missed
17299         [a298e6c17491]
17300
17301         * RUNSON:
17302         updated
17303         [a14f6057bc15]
17304
17305         * BUGS, INSTALL, Makefile.in, README, check.c, compat.h, config.h.in,
17306         dce_pwent.c, emul/utime.h, find_path.c, getspwuid.c, getwd.c,
17307         goodpath.c, ins_2001.h, ins_classic.h, ins_csops.h, ins_goons.h,
17308         insults.h, interfaces.c, logging.c, options.h, parse.c, parse.lex,
17309         parse.yacc, pathnames.h.in, putenv.c, strdup.c, sudo.c, sudo.h,
17310         sudo_setenv.c, testsudoers.c, tgetpass.c, utime.c, version.h,
17311         visudo.c:
17312         updated version
17313         [02231b1a3ab3]
17314
17315         * CHANGES:
17316         updated for 1.5.5
17317         [634e5fcaf40b]
17318
17319         * Makefile.in:
17320         add rules to update version stuff in files so I don't need to do it
17321         by hand
17322         [3620ad60485a]
17323
17324         * sudo.h:
17325         sudoers_fp is now extern
17326         [88c6e9b9ea84]
17327
17328         * sudo.c:
17329         in check_sudoers, cache the sudoers file handle in sudoers_fp so we
17330         don't have to open it again in the parse. This may help with weird
17331         solaris problems where EAGAIN sometime occurrs.
17332         [d3c26451ed1d]
17333
17334         * parse.c:
17335         sudoers file open is now done only in check_sudoers() so we just do
17336         a rewind() instead of an open. May help people on solaris who were
17337         getting EAGAIN.
17338         [c8b8c7722fa5]
17339
17340 1998-01-16  Todd C. Miller  <Todd.Miller@courtesan.com>
17341
17342         * INSTALL:
17343         mention that newer glibc is fixed
17344         [20f06f5d3ef3]
17345
17346 1998-01-13  Todd C. Miller  <Todd.Miller@courtesan.com>
17347
17348         * sudo.c:
17349         newer irix uses _RLDN32_* envariables for 32-bit binaries so ignore
17350         _RLD* instead of _RLD_*
17351         [1e22c588d602]
17352
17353         * parse.c:
17354         typo
17355         [d0b7cb85f08a]
17356
17357         * parse.c:
17358         fix that bug for real
17359         [5a6eeca6d04b]
17360
17361         * INSTALL:
17362         document Linux's libc6 brokenness.
17363         [0246c1aa64ee]
17364
17365         * parse.yacc:
17366         -Wall
17367         [d0e452fb1e2d]
17368
17369         * RUNSON:
17370         updated
17371         [4949a1bbd0a9] [SUDO_1_5_4]
17372
17373         * TROUBLESHOOTING:
17374         remind people to HUP syslogd
17375         [590962faa4f0]
17376
17377         * Makefile.in:
17378         add -O flag to tar
17379         [622d02de339d]
17380
17381         * RUNSON:
17382         updated
17383         [a72930d6e615]
17384
17385         * TODO:
17386         updated
17387         [4a51bd458390]
17388
17389         * sudo.pod:
17390         remove author's email addr. people should mail sudo-bugs
17391         [9b6bbdb3a6d9]
17392
17393         * INSTALL:
17394         fix version
17395         [246274c6c8af]
17396
17397         * README, check.c, compat.h, config.h.in, configure.in, dce_pwent.c,
17398         find_path.c, getspwuid.c, getwd.c, goodpath.c, ins_2001.h,
17399         ins_classic.h, ins_csops.h, ins_goons.h, insults.h, interfaces.c,
17400         logging.c, options.h, parse.c, parse.lex, parse.yacc,
17401         pathnames.h.in, putenv.c, strdup.c, sudo.c, sudo.h, sudo_setenv.c,
17402         testsudoers.c, tgetpass.c, utime.c, version.h, visudo.c:
17403         ++version
17404         [f532ff4ee766]
17405
17406         * RUNSON:
17407         updated
17408         [62d5c71358b5]
17409
17410         * INSTALL, Makefile.in:
17411         ++version
17412         [1a7c7628edfc]
17413
17414         * CHANGES:
17415         updated fort 1.5.4
17416         [7e4873508c99]
17417
17418         * check.c:
17419         exit(1) if user enters no passwd
17420         [f382c0e35e4e]
17421
17422         * BUGS:
17423         ++version
17424         [fab6a867ab67]
17425
17426         * parse.c:
17427         commands can start with ./* not just /* -- fixes a serious security
17428         hole.
17429         [244d2fe35ee3]
17430
17431 1997-12-21  Todd C. Miller  <Todd.Miller@courtesan.com>
17432
17433         * sudo.c:
17434         Don't set the tty variable to NULL when we lack a tty, leave it as
17435         "unknown".
17436         [193b26daba03]
17437
17438 1997-11-23  Todd C. Miller  <Todd.Miller@courtesan.com>
17439
17440         * sample.sudoers:
17441         fix usage of (username) in conjunction with , and !
17442         [7ae68607f68f]
17443
17444         * visudo.c:
17445         catch the case where the user is not in the passwd file
17446         [31650258deb0]
17447
17448         * tgetpass.c:
17449         use fileno(input) + 1 instead of getdtablesize() as the nfds arg to
17450         select(2)
17451         [60ab2d9a9ee8]
17452
17453         * sudo.c:
17454         define tty global to an initial value to avoid dumping core in
17455         logging functions when passwd file is unavailable.
17456         [77056c7bc908]
17457
17458         * sudo.c:
17459         do the set_perms(PERM_USER, sudo_mode) after we have gotten the
17460         passwd entry
17461         [1fdb8e579a5a]
17462
17463         * sudo.pod:
17464         talk about problem of ALL
17465         [1cd1905c9f6f]
17466
17467 1997-10-10  Todd C. Miller  <Todd.Miller@courtesan.com>
17468
17469         * README:
17470         new web location
17471         [d24dc26f6da5]
17472
17473         * INSTALL:
17474         fdesc bug is fixed in Open/Net BSD
17475         [7d4d81b08ac3]
17476
17477         * HISTORY:
17478         updates from Nieusma
17479         [3a43769a1b78]
17480
17481 1997-10-09  Todd C. Miller  <Todd.Miller@courtesan.com>
17482
17483         * dce_pwent.c:
17484         move compat.h after the system includes
17485         [5ea43a5968ac]
17486
17487 1997-08-06  Todd C. Miller  <Todd.Miller@courtesan.com>
17488
17489         * logging.c:
17490         save errno from being clobbered by wait(). From Theo
17491         [f2d1c48cd592]
17492
17493 1997-05-21  Todd C. Miller  <Todd.Miller@courtesan.com>
17494
17495         * compat.h:
17496         fix an occurence of setresuid -> setreuid (typo)
17497         [394de35c9b1c]
17498
17499 1997-03-19  Todd C. Miller  <Todd.Miller@courtesan.com>
17500
17501         * install-sh:
17502         check for path to strip
17503         [2b7ef824bd55]
17504
17505 1997-01-16  Todd C. Miller  <Todd.Miller@courtesan.com>
17506
17507         * logging.c:
17508         deal with maxfilelen < 0 case
17509         [f0af095178d7]
17510
17511         * OPTIONS:
17512         fixed descriptin
17513         [629f60bd4b5f]
17514
17515 1996-12-12  Todd C. Miller  <Todd.Miller@courtesan.com>
17516
17517         * sudo.c:
17518         correct error message if mode/owner wrong and not statable by owner
17519         but is statable by root.
17520         [cb631ce2e85e]
17521
17522 1996-11-23  Todd C. Miller  <Todd.Miller@courtesan.com>
17523
17524         * config.guess, config.sub:
17525         autoconf 2.11
17526         [f3cbe59e0756]
17527
17528 1996-11-16  Todd C. Miller  <Todd.Miller@courtesan.com>
17529
17530         * CHANGES, RUNSON, TODO:
17531         sudo 1.5.3.
17532         [2be3229b8626]
17533
17534 1996-11-14  Todd C. Miller  <Todd.Miller@courtesan.com>
17535
17536         * parse.yacc, sudo.h:
17537         command_alias -> generic_alias
17538         [c404ca8c510d] [SUDO_1_5_3]
17539
17540         * sample.sudoers:
17541         added Runas_Alias example and fixed syntax errors
17542         [c304053f4a8a]
17543
17544         * OPTIONS, options.h:
17545         updated MAILSUBJECT
17546         [18d1573fcd2a]
17547
17548         * logging.c:
17549         added %h expansion
17550         [a4bff9b284fd]
17551
17552         * INSTALL, Makefile.in, README, check.c, compat.h, config.h.in,
17553         configure.in, dce_pwent.c, find_path.c, getspwuid.c, getwd.c,
17554         goodpath.c, ins_2001.h, ins_classic.h, ins_csops.h, ins_goons.h,
17555         insults.h, interfaces.c, logging.c, options.h, parse.c, parse.lex,
17556         parse.yacc, pathnames.h.in, putenv.c, strdup.c, sudo.c, sudo.h,
17557         sudo_setenv.c, testsudoers.c, tgetpass.c, utime.c, version.h,
17558         visudo.c:
17559         ++version
17560         [211ff20f956f]
17561
17562         * BUGS, emul/utime.h:
17563         ++version
17564         [cde5376579e3]
17565
17566         * sudoers.pod:
17567         document Runas_Alias
17568         [b1a58f28fb2c]
17569
17570         * visudo.pod:
17571         q (uid) -> Q
17572         [d256649a0e6b]
17573
17574         * visudo.c:
17575         buffer oflow checking q (uit) -> Q if yyparse() fails drop into
17576         whatnow
17577         [1cb183d15626]
17578
17579         * parse.yacc:
17580         add size params to sprintf
17581         [9228f698921f]
17582
17583         * parse.lex:
17584         allow trailing space after '\\' but before '\n'
17585         [f51dbbf69fdf]
17586
17587         * find_path.c:
17588         off by one error in path size check
17589         [a6d75ccd7632]
17590
17591         * check.c:
17592         sprintf paranoia
17593         [3ffb12d198dd]
17594
17595 1996-11-12  Todd C. Miller  <Todd.Miller@courtesan.com>
17596
17597         * parse.yacc:
17598         fixed more_aliases
17599         [aab12f2a50af]
17600
17601         * visudo.c:
17602         now warns if killed by signal ./
17603         [310c186a0fd7]
17604
17605 1996-11-11  Todd C. Miller  <Todd.Miller@courtesan.com>
17606
17607         * parse.yacc:
17608         fix Runas_Alias stuff Alias's in runas list now get expanded (but it
17609         is gross)
17610         [45590b83120f]
17611
17612         * sudo.c:
17613         Can now deal with SUDOERS_UID == 0 and SUDOERS_MODE == 0400
17614         [d53e01c14c58]
17615
17616         * parse.yacc:
17617         add Runas_Alias support change FOO to FOO_ALIAS (ie: USER_ALIAS)
17618         [7a4a040aae2d]
17619
17620         * parse.lex:
17621         Add Runas_Alias and simplify a rule.
17622         [6f794a769a37]
17623
17624         * parse.yacc:
17625         always store User_Alias's since they can be used inside of a runas
17626         list. Sigh. Really need a Runas_Alias instead.
17627         [3bab058a873e]
17628
17629 1996-10-30  Todd C. Miller  <Todd.Miller@courtesan.com>
17630
17631         * visudo.c:
17632         deal with case where there is no sudoers file
17633         [fa38b3bb244d]
17634
17635 1996-10-12  Todd C. Miller  <Todd.Miller@courtesan.com>
17636
17637         * TROUBLESHOOTING:
17638         added one
17639         [e61346d06725]
17640
17641 1996-10-11  Todd C. Miller  <Todd.Miller@courtesan.com>
17642
17643         * HISTORY, testsudoers.c:
17644         developement -> development
17645         [4df55e293941]
17646
17647         * INSTALL:
17648         added a note
17649         [3845fb83dbc0]
17650
17651         * RUNSON:
17652         for 1.5.2
17653         [5489b7298942]
17654
17655         * CHANGES:
17656         updated
17657         [0741834929e6]
17658
17659 1996-10-10  Todd C. Miller  <Todd.Miller@courtesan.com>
17660
17661         * PORTING:
17662         removed seteuid() notes
17663         [1010a60f281d] [SUDO_1_5_2]
17664
17665 1996-10-09  Todd C. Miller  <Todd.Miller@courtesan.com>
17666
17667         * compat.h:
17668         better seteuid() emulatino
17669         [e807623b662c]
17670
17671         * configure.in:
17672         added check for seteuid
17673         [8cf9fabc6f4f]
17674
17675         * config.h.in:
17676         added HAVE_SETEUID
17677         [596db46aa828]
17678
17679 1996-10-08  Todd C. Miller  <Todd.Miller@courtesan.com>
17680
17681         * configure.in:
17682         first stab at sequent support
17683         [b85a7bfcac76]
17684
17685         * config.h.in:
17686         added HAVE_SYS_SELECT_H
17687         [93ecdd042463]
17688
17689         * compat.h:
17690         sequent -> _SEQUENT_
17691         [63a38b6da98c]
17692
17693         * compat.h:
17694         added seteuid() macro for DYNIX
17695         [695bd63c5ea6]
17696
17697         * tgetpass.c:
17698         _AIX -> HAVE_SYS_SELECT_H
17699         [b31221211bc2]
17700
17701 1996-10-07  Todd C. Miller  <Todd.Miller@courtesan.com>
17702
17703         * BUGS, INSTALL, Makefile.in, OPTIONS, README, config.h.in, logging.c,
17704         parse.c, parse.lex, parse.yacc, putenv.c, strdup.c, sudo_setenv.c,
17705         testsudoers.c, tgetpass.c, utime.c, visudo.c:
17706         ++version
17707         [8052992fd453]
17708
17709         * check.c, compat.h, dce_pwent.c, emul/utime.h, find_path.c,
17710         getspwuid.c, getwd.c, goodpath.c, ins_2001.h, ins_classic.h,
17711         ins_csops.h, ins_goons.h, insults.h, interfaces.c, options.h,
17712         pathnames.h.in, version.h:
17713         ++version
17714         [f7ad15e1598a]
17715
17716         * sudo.pod:
17717         added -H and SUDO_PS1
17718         [bb965241e30c]
17719
17720         * configure.in:
17721         use SUDO_FUNC_FNMATCH
17722         [6a8350d85fb2]
17723
17724         * aclocal.m4:
17725         added SUDO_FUNC_FNMATCH
17726         [45b32c91c4ba]
17727
17728         * sudo.c:
17729         added -H flag
17730         [11ebc6872fd6]
17731
17732         * sudo.h:
17733         added MODE_RESET_HOME /
17734         [67a7f8bcbbd6]
17735
17736 1996-10-05  Todd C. Miller  <Todd.Miller@courtesan.com>
17737
17738         * INSTALL:
17739         mention OPIE
17740         [5723515d5bbd]
17741
17742         * options.h:
17743         SKEY -> OTP
17744         [c1d268130bc4]
17745
17746         * configure.in:
17747         added opie support
17748         [123872b41b20]
17749
17750         * compat.h, config.h.in:
17751         added HAVE_OPIE
17752         [528c71afc1e5]
17753
17754         * check.c:
17755         added HAVE_OPIE and changed to *_OTP_*
17756         [4c62f5db872a]
17757
17758         * OPTIONS:
17759         SKEY -> OTP
17760         [bd858e5e9652]
17761
17762 1996-10-04  Todd C. Miller  <Todd.Miller@courtesan.com>
17763
17764         * check.c:
17765         moved fclose() in skey stuff.
17766         [11f7dc8431a6]
17767
17768 1996-10-03  Todd C. Miller  <Todd.Miller@courtesan.com>
17769
17770         * putenv.c:
17771         index -> strchr remove unnecesary stuff
17772         [af2d05238062]
17773
17774         * check.c:
17775         now call skeychallenge() to get challenge instead of making one up
17776         ourselves. this way, we get extra goodies in the prompt.
17777         [49b770d98d3a]
17778
17779 1996-09-10  Todd C. Miller  <Todd.Miller@courtesan.com>
17780
17781         * CHANGES:
17782         added one
17783         [3f5149357e2a] [SUDO_1_5_1]
17784
17785         * parse.lex:
17786         allow logins to start with a number (YUCK!)
17787         [7ed7ef324741]
17788
17789 1996-09-08  Todd C. Miller  <Todd.Miller@courtesan.com>
17790
17791         * TROUBLESHOOTING:
17792         added soalris 2.5 vs 2.4 note
17793         [16160a251aae]
17794
17795         * configure.in:
17796         DUNIX doesn't need -lnsl
17797         [be924cc322c3]
17798
17799         * CHANGES:
17800         *** empty log message ***
17801         [1b2937521981]
17802
17803         * check.c, compat.h, config.h.in, dce_pwent.c, find_path.c,
17804         getspwuid.c, getwd.c, goodpath.c, ins_2001.h, ins_classic.h,
17805         ins_csops.h, ins_goons.h, insults.h, interfaces.c, logging.c,
17806         options.h, parse.c, parse.lex, parse.yacc, pathnames.h.in, putenv.c,
17807         strdup.c, sudo.c, sudo.h, sudo_setenv.c, testsudoers.c, tgetpass.c,
17808         utime.c, version.h, visudo.c:
17809         courtesan
17810         [5f203589bbfe]
17811
17812         * PORTING, README, RUNSON:
17813         courtesan
17814         [d72517f4937e]
17815
17816         * INSTALL, Makefile.in, TROUBLESHOOTING:
17817         courtesan
17818         [5c007e3c7a71]
17819
17820         * visudo.pod:
17821         *** empty log message ***
17822         [37ebe85bd4e1]
17823
17824         * sudo.pod, visudo.pod:
17825         courtesan
17826         [37f02e2130ea]
17827
17828 1996-09-07  Todd C. Miller  <Todd.Miller@courtesan.com>
17829
17830         * HISTORY:
17831         added courtesan ./
17832         [b01435226276]
17833
17834 1996-09-06  Todd C. Miller  <Todd.Miller@courtesan.com>
17835
17836         * sudo.c:
17837         added $SUDO_PROMPT support
17838         [cb1fa72c093d]
17839
17840 1996-09-04  Todd C. Miller  <Todd.Miller@courtesan.com>
17841
17842         * check.c:
17843         print long skey challemged to stderr, not stdout
17844         [750fc775b3b2]
17845
17846 1996-09-01  Todd C. Miller  <Todd.Miller@courtesan.com>
17847
17848         * CHANGES:
17849         updated for 1.5.1
17850         [9b615f393057]
17851
17852         * emul/utime.h:
17853         ++version
17854         [a94de18deafb]
17855
17856 1996-08-31  Todd C. Miller  <Todd.Miller@courtesan.com>
17857
17858         * RUNSON:
17859         updated for 1.5.1
17860         [4092f20ab634]
17861
17862 1996-08-30  Todd C. Miller  <Todd.Miller@courtesan.com>
17863
17864         * check.c:
17865         use shost, not host for tgetpass
17866         [6061c49ff9be]
17867
17868         * sudo.pod:
17869         documented %u and %h
17870         [6d2922d29897]
17871
17872         * OPTIONS:
17873         documented %u and %h
17874         [1a71da13a864]
17875
17876         * configure.in:
17877         fixed typo
17878         [1230dec2b062]
17879
17880         * INSTALL, Makefile.in, README, check.c, compat.h, config.h.in,
17881         dce_pwent.c, find_path.c, getspwuid.c, getwd.c, goodpath.c,
17882         ins_2001.h, ins_classic.h, ins_csops.h, ins_goons.h, insults.h,
17883         interfaces.c, logging.c, options.h, parse.c, parse.lex, parse.yacc,
17884         pathnames.h.in, putenv.c, strdup.c, sudo.c, sudo.h, sudo_setenv.c,
17885         testsudoers.c, tgetpass.c, utime.c, version.h, visudo.c:
17886         ++version
17887         [65ce8eabf77a]
17888
17889         * BUGS:
17890         ++version
17891         [afecab53aab7]
17892
17893 1996-08-29  Todd C. Miller  <Todd.Miller@courtesan.com>
17894
17895         * Makefile.in, configure.in, version.h:
17896         ++version
17897         [fb3ff940d672]
17898
17899         * sudo.h:
17900         new tgetpass() params
17901         [9eccc5b0f8ae]
17902
17903         * check.c:
17904         pass use and host to tgetpass
17905         [c56d9d13c401]
17906
17907         * tgetpass.c:
17908         added %u and %h escapes
17909         [04ae775d3e5d]
17910
17911         * OPTIONS, check.c, options.h:
17912         added NO_MESSAGE
17913         [3927dad19057]
17914
17915         * configure.in:
17916         added cray (unicos) support
17917         [1122210c5fb1]
17918
17919 1996-08-27  Todd C. Miller  <Todd.Miller@courtesan.com>
17920
17921         * OPTIONS, options.h, sudo.c:
17922         added SHELL_SETS_HOME
17923         [0b26909b0929]
17924
17925 1996-08-25  Todd C. Miller  <Todd.Miller@courtesan.com>
17926
17927         * INSTALL:
17928         added note about "make install"
17929         [7e56ea76d4b4]
17930
17931         * parse.yacc:
17932         changed length/size params from int to size_t
17933         [5654e5ceb1b3]
17934
17935         * OPTIONS:
17936         now get CSOPS insults as well by default
17937         [297323d0179a]
17938
17939         * insults.h:
17940         use csops insults too by default
17941         [07fafc136169]
17942
17943         * INSTALL, Makefile.in, README, config.h.in, configure.in, version.h:
17944         version = 1.5
17945         [4b8772b11e3b]
17946
17947         * sudo.c:
17948         added runas_homedir
17949         [b0e0d4417a15]
17950
17951         * TODO:
17952         updated for 1.5
17953         [66259df825d5]
17954
17955         * RUNSON:
17956         updated for 1.5
17957         [e08bc9ebfe95]
17958
17959         * CHANGES:
17960         1.5 release
17961         [8c16942fea41]
17962
17963         * INSTALL:
17964         added "upgrading" notes
17965         [210d968964ff]
17966
17967 1996-08-22  Todd C. Miller  <Todd.Miller@courtesan.com>
17968
17969         * visudo.c:
17970         now do chmod and chown after edit of temp file and before rename
17971         [de174e34faa7] [SUDO_1_5_0]
17972
17973 1996-08-18  Todd C. Miller  <Todd.Miller@courtesan.com>
17974
17975         * Makefile.in:
17976         ++version added INSTALL.configure
17977         [c9e9214f52ae]
17978
17979         * configure.in, version.h:
17980         ++version
17981         [5985abed3eb2]
17982
17983         * TROUBLESHOOTING:
17984         *** empty log message ***
17985         [d65c540ec52e]
17986
17987         * parse.yacc:
17988         added missing cast
17989         [e7247319a7d5]
17990
17991         * sudo.c:
17992         sets $HOME to pw_dir of runas user
17993         [d3f7f4d05752]
17994
17995         * sudo.pod:
17996         document $HOME change
17997         [854454d458c4]
17998
17999 1996-08-17  Todd C. Miller  <Todd.Miller@courtesan.com>
18000
18001         * sudo.pod:
18002         fixed up some wording
18003         [b0c8582f2c97]
18004
18005         * check.c, dce_pwent.c, find_path.c, getspwuid.c, getwd.c, goodpath.c,
18006         interfaces.c, logging.c, parse.c, parse.lex, parse.yacc, putenv.c,
18007         strdup.c, sudo.c, sudo_setenv.c, testsudoers.c, tgetpass.c, utime.c,
18008         visudo.c:
18009         ++version
18010         [748be723fd8b]
18011
18012         * compat.h, ins_2001.h, ins_classic.h, ins_csops.h, ins_goons.h,
18013         insults.h, options.h, pathnames.h.in, sudo.h:
18014         ++version
18015         [acdf8b1b2a1b]
18016
18017         * emul/utime.h:
18018         ++version
18019         [b3f35298ab8d]
18020
18021         * sudo.h:
18022         name nad type changes
18023         [db24ab3da141]
18024
18025         * testsudoers.c:
18026         now works with new sudo
18027         [379346c42cc2]
18028
18029         * parse.yacc:
18030         fixed some XXX
18031         [f5fe4c990052]
18032
18033         * parse.yacc:
18034         some variable name changes + comment headers for functions.
18035         [3dc3bd9aa73d]
18036
18037         * tgetpass.c:
18038         added extra paren's to make compilers happy
18039         [9e4968a34d56]
18040
18041         * sudo.c:
18042         *** empty log message ***
18043         [70c924c1ed69]
18044
18045         * parse.c:
18046         now uses init_parser() if not in sudoers and tries "list" or
18047         "validate" scold but don't be nasty.
18048         [c0d8fb3f8c9e]
18049
18050         * TROUBLESHOOTING:
18051         now can use upper case login names
18052         [c772fffcefe5]
18053
18054         * visudo.c:
18055         now uses init_parser()
18056         [b9efae7243fd]
18057
18058         * INSTALL, README:
18059         updated
18060         [27dc8283fdc8]
18061
18062         * PORTING:
18063         added info about PASSWORD_TIMEOUT
18064         [980e15d892f8]
18065
18066         * INSTALL.configure:
18067         Initial revision
18068         [8292e89a08d3]
18069
18070         * BUGS:
18071         fixed a bug ,
18072         [c6e46f5624f9]
18073
18074         * parse.yacc:
18075         now dynamically allocates memory for the stacks -- no more
18076         overflows!
18077         [8615c35b6ad3]
18078
18079         * sudo.pod:
18080         -l now explands command aliases
18081         [39f45605935d]
18082
18083         * parse.yacc:
18084         hacks to expand command aliases for `sudo -l'
18085         [e4eb752608f9]
18086
18087         * sudo.c:
18088         remove $ENV and $BASH_ENV (dangerous in ksh, posix sh, and bash)
18089         [01327ca5084b]
18090
18091         * sudo.h:
18092         added struct command_alias
18093         [dd2f32764082]
18094
18095         * sudo.pod:
18096         fixed a bug
18097         [e708ff08d2eb]
18098
18099         * lsearch.c:
18100         in compar() key should be first arg
18101         [fc14c3fa62ee]
18102
18103 1996-08-15  Todd C. Miller  <Todd.Miller@courtesan.com>
18104
18105         * BUGS:
18106         fixed some bugs
18107         [639dfe425bd5]
18108
18109         * parse.yacc:
18110         can now deal with upcase HOST and USER names
18111         [c6aa7bcfb00d]
18112
18113         * sudo.c:
18114         don't yell too loudly at non-sudoers if they do "sudo -l"
18115         [4ef146128d89]
18116
18117         * sudo.pod:
18118         fixed thinko
18119         [830f2f0f22e7]
18120
18121         * parse.c:
18122         fix comment
18123         [d20ce9e17ddc]
18124
18125 1996-08-09  Todd C. Miller  <Todd.Miller@courtesan.com>
18126
18127         * parse.c, parse.yacc:
18128         added support for new `sudo -l' stuff
18129         [7dceaef3c733]
18130
18131         * sudo.c:
18132         now uses list_matches()
18133         [293364821b61]
18134
18135         * sudo.h:
18136         added struct sudo_match
18137         [b2684179d179]
18138
18139         * configure.in:
18140         now more -lgnumalloc
18141         [4f8ae42617d8]
18142
18143 1996-08-01  Todd C. Miller  <Todd.Miller@courtesan.com>
18144
18145         * install-sh:
18146         added more paths for chown and whoami
18147         [6e685a19426c]
18148
18149 1996-07-31  Todd C. Miller  <Todd.Miller@courtesan.com>
18150
18151         * check.c:
18152         typo
18153         [3adfa01c04bc]
18154
18155 1996-07-30  Todd C. Miller  <Todd.Miller@courtesan.com>
18156
18157         * aclocal.m4:
18158         fixed DUNIX check for shadow pw
18159         [c25324bcd27b]
18160
18161         * tgetpass.c:
18162         now only turn off echo if it is already on. this fixes a race when
18163         you use sudo in a pipelin
18164         [28388c2de21c]
18165
18166         * INSTALL:
18167         updated
18168         [b45ac9366b7e]
18169
18170         * configure.in:
18171         changed "test -z $foo && do_this" to if; then construct
18172         [2183c4426bca]
18173
18174 1996-07-29  Todd C. Miller  <Todd.Miller@courtesan.com>
18175
18176         * configure.in:
18177         added missing defines of SHADOW_TYPE
18178         [be89ea68a7f3]
18179
18180 1996-07-26  Todd C. Miller  <Todd.Miller@courtesan.com>
18181
18182         * check.c:
18183         protect AUTH_CRYPT_OLDCRYPT and AUTH_CRYPT_C1CRYPT since they are
18184         only in dunix 4.x
18185         [1e7c1c677263]
18186
18187         * getspwuid.c:
18188         added AUTH_CRYPT_C1CRYPT support
18189         [88d6b0058b20]
18190
18191         * parse.c:
18192         no longer return VALIDATE_NOT_OK if there was a runas that didn't
18193         match. Now we can have runas stuff on more than one line.
18194         [52b68920d7b7]
18195
18196         * getspwuid.c, sudo.c, tgetpass.c:
18197         use SHADOW_TYPE instead of HAVE_C2_SECURITY
18198         [cf401dfcbc06]
18199
18200         * configure.in:
18201         got rid of HAVE_C2_SECURITY SHADOW_TYPE is always defined to
18202         something
18203         [c7a233c4dd93]
18204
18205         * config.h.in:
18206         removed HAVE_C2_SECURITY added SPW_BSD
18207         [8314405e9754]
18208
18209         * compat.h:
18210         use SHADOW_TYPE instead of HAVE_C2_SECURITY
18211         [6f94870df17f]
18212
18213         * check.c:
18214         SHADOW_TYPE is always defined so just against its value
18215         [72c69a55d02f]
18216
18217         * aclocal.m4:
18218         added SUDO_CHECK_SHADOW_DUNIX
18219         [ef025ae9d496]
18220
18221 1996-07-25  Todd C. Miller  <Todd.Miller@courtesan.com>
18222
18223         * sudoers.pod:
18224         * -> ?* in one example added another instance of (runas) and one of
18225         NOPASSWD:
18226         [d74fe1dcbe7d]
18227
18228 1996-07-24  Todd C. Miller  <Todd.Miller@courtesan.com>
18229
18230         * configure.in:
18231         added back check for config.cache from other host type
18232         [0ba87871f585]
18233
18234         * parse.lex:
18235         removed an instance of \"
18236         [1e008d3709f6]
18237
18238         * sample.sudoers:
18239         added an example
18240         [dbfcf68ee330]
18241
18242         * sudoers.pod:
18243         updated wrt new wildcard matching
18244         [193fa44a475b]
18245
18246         * configure.in:
18247         new check for shadow passwords if we don't know anything
18248         [67465df7dc9a]
18249
18250         * aclocal.m4:
18251         new SUDO_CHECK_SHADOW_GENERIC
18252         [3563b16a41b8]
18253
18254         * configure.in:
18255         added back check for -lsocket (oops)
18256         [a80882ee1cb6]
18257
18258         * configure.in:
18259         better (working) check for shadow passwd type if we know to use C2.
18260         [3cdd2a59a641]
18261
18262         * configure.in:
18263         now uses AC_CANONICAL_HOST to figure out os type
18264         [80db7fe6e704]
18265
18266         * Makefile.in:
18267         added config.{guess,sub}
18268         [c6be7e3ca384]
18269
18270         * aclocal.m4:
18271         removed unused stuff to figure out os type
18272         [c9a0f3b57123]
18273
18274         * config.sub:
18275         added openbsd
18276         [bfc6bfec3668]
18277
18278         * config.sub:
18279         Initial revision
18280         [e6e06ce0d17d]
18281
18282         * config.guess:
18283         Initial revision
18284         [99dd06f79199]
18285
18286         * testsudoers.c:
18287         don't call fnmatch() with FNM_PATHNAME flag unless it can only be a
18288         pathname. need to check against sudoers_args even if user_args is
18289         nil
18290         [66e6cf77f5d6]
18291
18292         * parse.c:
18293         don't call fnmatch() with FNM_PATHNAME flag unless it can only be a
18294         pathname need to check against sudoers_args even if user_args is nil
18295         [74374df17311]
18296
18297 1996-07-23  Todd C. Miller  <Todd.Miller@courtesan.com>
18298
18299         * check.c:
18300         added support for AUTH_CRYPT_OLDCRYPT w/ DUNIX C2
18301         [cbb00261c415]
18302
18303         * testsudoers.c:
18304         now takes command line args and uses cmnd_args
18305         [f0c2fd35a527]
18306
18307         * parse.lex:
18308         fill_args was adding an extra leading space
18309         [692fc999b2e8]
18310
18311 1996-07-22  Todd C. Miller  <Todd.Miller@courtesan.com>
18312
18313         * visudo.c:
18314         fixed dummy command_matches()
18315         [93d9543db6e2]
18316
18317         * parse.yacc:
18318         fixed prototype
18319         [7b0addfbd429]
18320
18321         * sudo.h:
18322         added cmnd_args
18323         [8f47c4ae65ef]
18324
18325         * parse.yacc:
18326         now uses flat args string
18327         [016e65877da3]
18328
18329         * parse.c, parse.lex:
18330         now uses flat arg string
18331         [5b5f2e3f4c09]
18332
18333         * visudo.c:
18334         added cmnd_args def
18335         [876867134775]
18336
18337         * sudo.c:
18338         now sets cmnd_args global
18339         [e6fee70cb59b]
18340
18341         * logging.c:
18342         cmnd_args is now exported from sudo.[ch]
18343         [7a9cd36e356f]
18344
18345 1996-07-21  Todd C. Miller  <Todd.Miller@courtesan.com>
18346
18347         * parse.yacc:
18348         can't rely on cmnd_matches as much as I thought -- added some $$
18349         stuff back in to prevent namespace pollution problems.
18350         [3c45fedb5af3]
18351
18352         * parse.yacc:
18353         Simplified parse rules wrt runas and NOPASSWD (more consistent).
18354         [e6d838c8a4c7]
18355
18356 1996-07-20  Todd C. Miller  <Todd.Miller@courtesan.com>
18357
18358         * parse.lex:
18359         NOPASSWD may now have blanks before the ':' '(' only starts a
18360         'runas' if in the initial state to avoid collision with command args
18361         [c5c01172f499]
18362
18363         * configure.in:
18364         added checks for specific shadow passwd schemes
18365         [b7e3d1f7b84f]
18366
18367         * aclocal.m4:
18368         added routines to check for specific shadow passwd types
18369         [e5e1d19960a6]
18370
18371 1996-07-18  Todd C. Miller  <Todd.Miller@courtesan.com>
18372
18373         * configure.in:
18374         added support for ncr boxen
18375         [bea9dc5aae7f]
18376
18377         * aclocal.m4:
18378         added support for detecting ncr boxen
18379         [8653a158a924]
18380
18381 1996-07-16  Todd C. Miller  <Todd.Miller@courtesan.com>
18382
18383         * configure.in:
18384         added sinix support
18385         [5de2b2173ee1]
18386
18387 1996-07-14  Todd C. Miller  <Todd.Miller@courtesan.com>
18388
18389         * TROUBLESHOOTING:
18390         added info about "config.cache from other other" error.
18391         [845b10198e0b]
18392
18393         * aclocal.m4:
18394         now makes sure you don't have a config.cache file from another OS
18395         [4fe32571c021]
18396
18397         * configure.in:
18398         now sets $LIBS when needed to configure links with libs when doing
18399         tests hpux10 now uses SPW_SECUREWARE for C2 added check for
18400         bigcrypt(3) if SPW_SECUREWARE
18401         [2df6b8ca538f]
18402
18403         * getspwuid.c:
18404         fixed typo
18405         [fe1cb1d792d6]
18406
18407         * tgetpass.c:
18408         now include stuff for SPW_SECUREWARE to get AUTH_MAX_PASSWD_LENGTH
18409         [f71138372c07]
18410
18411         * getspwuid.c:
18412         no more SPW_HPUX10
18413         [cfdeb18bc16b]
18414
18415         * config.h.in:
18416         no more SPW_HPUX10 added HAVE_BIGCRYPT
18417         [00d296479a61]
18418
18419         * compat.h:
18420         now uses AUTH_MAX_PASSWD_LENGTH if SPW_SECUREWARE
18421         [6c6d9e680417]
18422
18423         * check.c:
18424         SPW_SECUREWARE now uses bigcrypt
18425         [be71fc66690f]
18426
18427 1996-07-13  Todd C. Miller  <Todd.Miller@courtesan.com>
18428
18429         * sample.sudoers:
18430         fixed 2 syntax errors
18431         [45eee19ef4ac]
18432
18433         * sudoers:
18434         root may now run ALL as ALL
18435         [1b54c6b9b212]
18436
18437 1996-07-12  Todd C. Miller  <Todd.Miller@courtesan.com>
18438
18439         * interfaces.c:
18440         fixed a typo/thinko that broke BSD's with sa_len
18441         [603438360126]
18442
18443 1996-07-08  Todd C. Miller  <Todd.Miller@courtesan.com>
18444
18445         * check.c, configure.in:
18446         updated AFS support
18447         [e572eb8d177a]
18448
18449         * TROUBLESHOOTING:
18450         added entry about /usr/ucb/cc
18451         [025b353aa9d3]
18452
18453         * INSTALL:
18454         prep no longer holds gcc binaries
18455         [8b0942958049]
18456
18457         * INSTALL:
18458         updated AFS note
18459         [7af6efd5abe4]
18460
18461         * Makefile.in:
18462         added @AFS_LIBS@
18463         [97b6fe6ad7d6]
18464
18465         * compat.h:
18466         AFS allows long passwords
18467         [5fb17122c302]
18468
18469         * testsudoers.c:
18470         fixed -u user support
18471         [b1a0c1648639]
18472
18473         * parse.c:
18474         sudo -v now groks VALIDATE_OK_NOPASS
18475         [74fc03fffe7e]
18476
18477         * parse.yacc:
18478         fixed no_passwd vs. runas_matched
18479         [549a9b791a6a]
18480
18481         * TROUBLESHOOTING:
18482         took out stuff about NFS-mounting since it is no longer an issue
18483         [d95ab7fbbc61]
18484
18485         * INSTALL:
18486         added --with-libraries > --with-libpath --with-incpath
18487         [d5d15a7a0f4c]
18488
18489         * parse.yacc:
18490         was setting runas_matches to -1 in wrong place
18491         [db2b1deb8d33]
18492
18493         * check.c:
18494         removed usersec.h which is not present in new AFS versions
18495         [618b016dd17f]
18496
18497         * tgetpass.c:
18498         now deals with timeout <= 0
18499         [ba53a1257255]
18500
18501         * OPTIONS:
18502         updated
18503         [75093bd8fdca]
18504
18505         * configure.in:
18506         BSD/OS >= 2.0 now uses shlicc instead of just gcc
18507         [ff6dbf7825c2]
18508
18509         * sudo.c:
18510         fixed backwards compatibility with sudo 1.4 sudoers mode for root
18511         readable/writable filesystems
18512         [2694ed627221]
18513
18514         * Makefile.in:
18515         now gives INSTALL -c flag
18516         [63db055a2fd1]
18517
18518         * parse.yacc:
18519         slightly simpler initialization of no_passwd and runas_matches
18520         [463a1b5fa323]
18521
18522         * testsudoers.c:
18523         added -u username support
18524         [38b072fcd6b3]
18525
18526         * configure.in:
18527         improved --with-libraries support
18528         [047dbc5f0af2]
18529
18530 1996-07-07  Todd C. Miller  <Todd.Miller@courtesan.com>
18531
18532         * configure.in:
18533         added --with-incpath, --with-libpath, --with-libraries
18534         [20f20d6c718c]
18535
18536         * parse.yacc:
18537         now initializes some fields that weren't getting set to -1 pretty
18538         gross -- need a rewrite.
18539         [021c160390c6]
18540
18541 1996-06-26  Todd C. Miller  <Todd.Miller@courtesan.com>
18542
18543         * alloca.c:
18544         removed emacs'isms
18545         [9d4ec2efe057]
18546
18547         * configure.in:
18548         no longer add -lPW to *_LIBS since we include alloca.c
18549         [a626d1bbea80]
18550
18551         * config.h.in:
18552         added HAVE_ALLOCA_H
18553         [15491e2a6cff]
18554
18555         * Makefile.in:
18556         added alloca.c
18557         [0400f25e1fe4]
18558
18559         * alloca.c:
18560         Initial revision
18561         [06d033aa4882]
18562
18563         * configure.in:
18564         ++version
18565         [f52c0fb98f90]
18566
18567 1996-06-25  Todd C. Miller  <Todd.Miller@courtesan.com>
18568
18569         * sudo.c:
18570         now set uid to 1 instead of nobody for PERM_SUDOERS since nobody is
18571         not always set to a valid uid.
18572         [c2669f77704d]
18573
18574         * OPTIONS:
18575         fixed entry for SUDO_MODE
18576         [d7272f6035b8]
18577
18578         * sudo.c:
18579         Fixed NFS-mounted sudoers file under solaris both uid *and* gid were
18580         being set to -2. Now beat NFS to the punch and set uid to "nobody"
18581         ourselves, preserving group 0 to read sudoers.
18582         [b1fbc5dd1e34]
18583
18584         * parse.c:
18585         moved set_perms(PERM_ROOT) to be before yyparse()
18586         [7619d8080735]
18587
18588         * logging.c:
18589         fixed a typo
18590         [318acc48cde0]
18591
18592         * configure.in:
18593         no longer need AC_PROG_INSTALL
18594         [de01b1336dc8]
18595
18596         * Makefile.in:
18597         always use install-sh to avoid install(1)'s that use get{pw,gr}nam
18598         [ea2351986406]
18599
18600         * INSTALL:
18601         make clean -> make distclean
18602         [704a98e8ba10]
18603
18604 1996-06-20  Todd C. Miller  <Todd.Miller@courtesan.com>
18605
18606         * parse.yacc:
18607         removed some unnecsary if's
18608         [f00db6508132]
18609
18610         * Makefile.in, version.h:
18611         ++version
18612         [bdb6740b24c8]
18613
18614         * parse.c, testsudoers.c:
18615         now includes netgroup.h
18616         [93f5a06352bc]
18617
18618         * interfaces.c:
18619         removed cats of ioctl to int since they didn't shut up -Wall
18620         [83e9f912cd7a]
18621
18622         * interfaces.c:
18623         explicately cast ioctl() to int since it it not always declared
18624         [2ff9294e469e]
18625
18626         * sudo.h:
18627         added declarations for yyparse() and yylex()
18628         [6071321ab771]
18629
18630         * parse.yacc:
18631         fixed an occurence of '==' -> '='
18632         [2c46d2e11d57]
18633
18634         * config.h.in, configure.in:
18635         added check for netgroup.h
18636         [73403050f4e3]
18637
18638         * sudo.c:
18639         fixed 2 compiler warnings
18640         [680929b0bd97]
18641
18642         * sudo.c:
18643         SHELL_IF_NO_ARGS caused core dump since NewArg[cv] weren't being
18644         initialized
18645         [18707ecd07c2]
18646
18647 1996-06-19  Todd C. Miller  <Todd.Miller@courtesan.com>
18648
18649         * sudo.pod:
18650         fixed a typo
18651         [e4b5c12aa130]
18652
18653 1996-06-17  Todd C. Miller  <Todd.Miller@courtesan.com>
18654
18655         * parse.yacc:
18656         fixed a formatting thingie
18657         [c79327b6f19b]
18658
18659         * parse.c, parse.yacc:
18660         fixed -u support with multiple user lists on a line
18661         [e4d1066adca2]
18662
18663         * configure.in:
18664         unixware needs -lgen
18665         [b5bf9bca63cc]
18666
18667         * README:
18668         updated ftp location
18669         [b25a033f7921]
18670
18671         * sudoers.pod:
18672         add net_addr/netmask support
18673         [674e83516d1e]
18674
18675         * sample.sudoers:
18676         added net_addr/mask example
18677         [774878e89b28]
18678
18679         * parse.c, parse.lex:
18680         added support for net_addr/netmask
18681         [e33de27325d8]
18682
18683 1996-06-16  Todd C. Miller  <Todd.Miller@courtesan.com>
18684
18685         * sudoers.pod:
18686         ^ -> !
18687         [1a084950d6ef]
18688
18689 1996-06-15  Todd C. Miller  <Todd.Miller@courtesan.com>
18690
18691         * RUNSON:
18692         updated for 1.4.3
18693         [c82019025d09]
18694
18695         * CHANGES:
18696         udpated for 1.4.3
18697         [ceaa81adb8f0]
18698
18699         * BUGS, TODO, TROUBLESHOOTING:
18700         updated
18701         [ff94fae4b853]
18702
18703         * sample.sudoers:
18704         updated with examples of new stuff
18705         [99d0b4cb4c9c]
18706
18707         * INSTALL, README:
18708         ++version
18709         [b763b80fe836]
18710
18711         * sudoers.pod:
18712         updated wrt -u and NOPASSWD
18713         [0b5b722ea0f4]
18714
18715         * sudo.pod:
18716         updated wrt -u and CAVEATS
18717         [71d5d53b5d18]
18718
18719 1996-06-09  Todd C. Miller  <Todd.Miller@courtesan.com>
18720
18721         * sudo.c:
18722         fixed usage()
18723         [114c7d09b550]
18724
18725         * parse.lex:
18726         now use :foo: character classes (makes no diff for generated lexer)
18727         [7b0aeb737a02]
18728
18729 1996-06-07  Todd C. Miller  <Todd.Miller@courtesan.com>
18730
18731         * check.c:
18732         fixed LONG_SKEY_PROMPT stuff
18733         [0efe78b4bdda]
18734
18735 1996-06-06  Todd C. Miller  <Todd.Miller@courtesan.com>
18736
18737         * visudo.c:
18738         fixed a comment
18739         [3d289017104b]
18740
18741         * lsearch.c:
18742         make more like NetBSD one -- now compiles w/o warnings
18743         [932206296a54]
18744
18745         * emul/search.h:
18746         fixed decls of lsearch()
18747         [c58cf4584c45]
18748
18749         * config.h.in, configure.in, getspwuid.c:
18750         added SPW_HPUX10
18751         [d74e5eaa5f17]
18752
18753         * check.c:
18754         hpux 10 uses bigcrypt() if C2
18755         [359eb63f4021]
18756
18757 1996-06-04  Todd C. Miller  <Todd.Miller@courtesan.com>
18758
18759         * parse.c:
18760         now always uses fnmatch to match args
18761         [a9d91f35256a]
18762
18763         * tgetpass.c:
18764         back to using stdio instead of raw i/o since that caused some
18765         problems
18766         [e7ce2bc92974]
18767
18768 1996-05-29  Todd C. Miller  <Todd.Miller@courtesan.com>
18769
18770         * sudo.c:
18771         now give usage warning if use -l,-v,-k with args
18772         [6b48180c4fea]
18773
18774 1996-05-28  Todd C. Miller  <Todd.Miller@courtesan.com>
18775
18776         * sudo.c:
18777         NewArgc is now set to 1 for -l, -v, -k
18778         [7497cb1416a8]
18779
18780         * sudo.c:
18781         now sets sudoers to correct group if mode is 0400
18782         [484c43d99718]
18783
18784         * install-sh:
18785         updated to version used by inn and bind
18786         [28683ad8725a]
18787
18788         * configure.in:
18789         now uses -lgnumalloc if it exists
18790         [3651ca4415a2]
18791
18792         * Makefile.in:
18793         "make install" now sets uid/gid and mode on sudoers if it exists
18794         [1f5216191ae9]
18795
18796         * sudo.c:
18797         rmeoved debugging statements
18798         [aeda278e2c26]
18799
18800         * parse.yacc:
18801         added a missing free()
18802         [592c9482a159]
18803
18804         * sudo.c:
18805         now uses user_gid instead of getegid (which was wrong anyway) to set
18806         SUDO_GID Now sets command line args in SUDO_COMMAND envariabled
18807         (logging.c depends on args being in the environment)
18808         [9f5328a3b942]
18809
18810         * logging.c:
18811         now uses SUDO_COMMAND envariable to get command args rather than
18812         building it up again.
18813         [7f8edc5bccb7]
18814
18815         * parse.c:
18816         now uses user_gid
18817         [4b9303ae45fe]
18818
18819         * sudo.c:
18820         fixed off by one error in allocation NewArgv
18821         [921ea1a4e7c6]
18822
18823         * parse.c:
18824         in sudoers, 'command ""' now means command with no args
18825         [a5273648ace2]
18826
18827         * configure.in:
18828         added check for fnmatch(3) and fnmatch.h
18829         [258916a7866f]
18830
18831         * config.h.in:
18832         added HAVE_FNMATCH
18833         [b9860d361e93]
18834
18835         * Makefile.in:
18836         replaced wildcat.* with fnmatch.*
18837         [03ad9ee21a1c]
18838
18839         * testsudoers.c:
18840         now uses fnmatch()
18841         [5a7f7de987a9]
18842
18843 1996-05-27  Todd C. Miller  <Todd.Miller@courtesan.com>
18844
18845         * parse.c:
18846         now uses fnmatch() instead of wildmat a trailing star (*) by itself
18847         now matches multiple args added support for wildcards in the
18848         pathname in sudoers
18849         [1f7fb950b868]
18850
18851 1996-05-25  Todd C. Miller  <Todd.Miller@courtesan.com>
18852
18853         * fnmatch.c:
18854         now includes compat.h and config.h
18855         [090206b95cf8]
18856
18857         * config.h.in:
18858         added HAVE_FNMATCH_H
18859         [90eb42150173]
18860
18861         * configure.in:
18862         now checks for alloca() (if needed by bison or dce) and links with
18863         -lPW if it contains alloca() and libv and compiler do not.
18864         [cfa2b3cef49a]
18865
18866         * emul/fnmatch.h, fnmatch.3, fnmatch.c:
18867         Initial revision
18868         [20b1f762a32a]
18869
18870 1996-04-29  Todd C. Miller  <Todd.Miller@courtesan.com>
18871
18872         * sudo.c:
18873         now fixes mode on sudoers if set to 0400 to aid in upgrade
18874         [d4bdfd521820]
18875
18876 1996-04-28  Todd C. Miller  <Todd.Miller@courtesan.com>
18877
18878         * Makefile.in:
18879         fixed pod2man usage
18880         [5adf2ec77b27]
18881
18882         * Makefile.in, configure.in, version.h:
18883         ++version
18884         [b4029de876d0]
18885
18886         * testsudoers.c, visudo.c:
18887         runas_user is now initialized to "root"
18888         [8537d97bff39]
18889
18890         * sudo.h:
18891         removed PERM_FULL_ROOT
18892         [241f8bbf647f]
18893
18894         * sudo.c:
18895         runas_user defaults to "root" so no more need to PERM_RUNAS
18896         [fc0c0dfc72ba]
18897
18898         * parse.c:
18899         will now only running commands as root if there was no runas list
18900         (or if root is in the runas list)
18901         [40c587666c81]
18902
18903         * logging.c:
18904         now logs "USER=%s"
18905         [b733504c87fd]
18906
18907         * parse.yacc:
18908         runas_matches is now set to false if we get a negative match
18909         [5495b150b300]
18910
18911         * parse.lex:
18912         make #uid work + some minor cleanup
18913         [07851bbce03a]
18914
18915         * sample.sudoers:
18916         added support for NOPASSWD and "runas" from garp@opustel.com /
18917         [7a9c67b51fa5]
18918
18919         * visudo.c:
18920         added support for "runas" from garp@opustel.com replaced
18921         SUDOERS_OWNER with SUDOERS_UID, SUDOERS_GID added support for
18922         SUDOERS_MODE
18923         [e714209b9885]
18924
18925         * testsudoers.c:
18926         added support for "runas" from garp@opustel.com
18927         [b837f856da10]
18928
18929         * sudo.h:
18930         added support for NO_PASSWD and runas from garp@opustel.com replaced
18931         SUDOERS_OWNER with SUDOERS_UID and SUDOERS_GID and added support
18932         fro SUDOERS_MODE
18933         [cea6f26679b7]
18934
18935         * sudo.c:
18936         added support for NO_PASSWD and runas from garp@opustel.com replaced
18937         SUDOERS_OWNER with SUDOERS_UID and SUDOERS_GID and added support fro
18938         SUDOERS_MODE
18939         [61b5434237c5]
18940
18941         * parse.yacc:
18942         added support for NO_PASSWD and runas from garp@opustel.com
18943         [72ebd3056f22]
18944
18945         * parse.c, parse.lex:
18946         added support for NO_PASSWD and runas from garp@opustel.com
18947         [fef6dbdd114d]
18948
18949         * logging.c:
18950         added support for SUDOERS_WRONG_MODE and "runas"
18951         [e794efc2b443]
18952
18953         * configure.in:
18954         added --with-CC only link with -lshadow on linux (with shadow pw) if
18955         libc lacks getspnam()
18956         [3ecf4ae21002]
18957
18958         * OPTIONS, options.h:
18959         removed NO_PASSWD since it is not possible to do this in the sudoers
18960         file itself. Replaced SUDOERS_OWNER with SUDOERS_UID and
18961         SUDOERS_GID. Added SUDOERS_MODE.
18962         [2eaa4891ef48]
18963
18964         * Makefile.in:
18965         now uses SUDOERS_UID and SUDOERS_GID
18966         [8d615f0fdb2a]
18967
18968 1996-04-27  Todd C. Miller  <Todd.Miller@courtesan.com>
18969
18970         * INSTALL:
18971         added --with-CC
18972         [a1b8286a81b8]
18973
18974 1996-04-06  Todd C. Miller  <Todd.Miller@courtesan.com>
18975
18976         * parse.lex:
18977         added double quote support
18978         [a5e4fc7e3a2b]
18979
18980         * sudoers.pod:
18981         documented double quoting
18982         [c6ea47969a44]
18983
18984 1996-04-05  Todd C. Miller  <Todd.Miller@courtesan.com>
18985
18986         * mkinstalldirs:
18987         Initial revision
18988         [dcb86d65ad8f]
18989
18990         * check.c:
18991         fixed some indentation
18992         [4d1c5ab8072b]
18993
18994         * Makefile.in:
18995         fixed a typo
18996         [0d27eebc7227]
18997
18998         * Makefile.in:
18999         added install-dirs .
19000         [f499b99b8be7]
19001
19002 1996-04-04  Todd C. Miller  <Todd.Miller@courtesan.com>
19003
19004         * dce_pwent.c:
19005         new version from "Jeff A. Earickson" <jaearick@colby.edu>
19006         [422481be5fbd]
19007
19008 1996-04-03  Todd C. Miller  <Todd.Miller@courtesan.com>
19009
19010         * configure.in:
19011         $CSOPS -> $with_csops (whoops, missed one)
19012         [b04c6948130e]
19013
19014         * BUGS:
19015         updated
19016         [c4d5713e227d]
19017
19018         * parse.lex:
19019         FQHOST now has same constraints as non-FQHOST
19020         [e1c3bf2381d1]
19021
19022         * INSTALL:
19023         added note about OS's w/ shadow passwords turned on by default
19024         [166257f43be4]
19025
19026 1996-04-02  Todd C. Miller  <Todd.Miller@courtesan.com>
19027
19028         * configure.in:
19029         fixed a typo
19030         [e5c3e2e9a359]
19031
19032         * configure.in:
19033         added support for --without-THING sanitized shadow pw situtation by
19034         adding support for
19035         --without-C2
19036         [65dc6bf64cce]
19037
19038         * tgetpass.c:
19039         fixed a typo wrt placement of an end paren
19040         [a8780f818231]
19041
19042         * check.c:
19043         was closing an fd that may not have been opened
19044         [760271c7bdc9]
19045
19046 1996-03-22  Todd C. Miller  <Todd.Miller@courtesan.com>
19047
19048         * OPTIONS, options.h, sudo.c:
19049         added NO_PASSWD
19050         [28ff1dc93d7a]
19051
19052 1996-03-20  Todd C. Miller  <Todd.Miller@courtesan.com>
19053
19054         * configure.in:
19055         now always use shadow pw on some arches
19056         [069161ccffda]
19057
19058 1996-03-19  Todd C. Miller  <Todd.Miller@courtesan.com>
19059
19060         * configure.in:
19061         added pyramid support
19062         [a0eb57a3a531]
19063
19064         * configure.in:
19065         no longer check for C2 if alternate passwd method is used no longer
19066         check for some libs twice
19067         [2d0c3c902b40]
19068
19069         * parse.yacc:
19070         moved fqdn stuff into parse.lex (FQHOST)
19071         [d9c9abd481d8]
19072
19073         * parse.lex:
19074         added FQHOST rules
19075         [4a1695acff6d]
19076
19077         * tgetpass.c:
19078         now define TCSASOFT in necesary
19079         [3fac2e21c9ab]
19080
19081         * tgetpass.c:
19082         now uses read/write instead of stdio string goop to avoid problems
19083         with select(2)
19084         [67fd174e518c]
19085
19086         * OPTIONS, find_path.c, options.h:
19087         -DNO_DOT_PATH -> -DIGNORE_DOT_PATH
19088         [d05ba5100d28]
19089
19090 1996-03-17  Todd C. Miller  <Todd.Miller@courtesan.com>
19091
19092         * INSTALL:
19093         added note about no shadow auto-detect if using alternate auth
19094         schemes
19095         [b425592232a3]
19096
19097         * configure.in:
19098         don't check for C2 if AFS or DCE (unless they said --with-C2)
19099         [61342962171a]
19100
19101         * testsudoers.c:
19102         now groks shost
19103         [85dda17303f6]
19104
19105         * OPTIONS, find_path.c, options.h:
19106         added NO_DOT_PATH
19107         [c261ca1fb196]
19108
19109 1996-03-16  Todd C. Miller  <Todd.Miller@courtesan.com>
19110
19111         * find_path.c:
19112         checkdot now works correctly
19113         [3bc4835bb3e9]
19114
19115 1996-03-12  Todd C. Miller  <Todd.Miller@courtesan.com>
19116
19117         * configure.in:
19118         can't have DCE and C2 passwords both...
19119         [fb9a8ab7ca66]
19120
19121 1996-03-11  Todd C. Miller  <Todd.Miller@courtesan.com>
19122
19123         * parse.yacc, sudo.c, sudo.h, visudo.c:
19124         now uses shost even if not FQDN
19125         [87f7498b3a1f]
19126
19127         * configure.in:
19128         now looks for skey in /usr/lib and doesn't require libskey to be in
19129         /usr/local/lib just because skey.h is (for my netbsd box :-)
19130         [ceb1763e37d2]
19131
19132         * aclocal.m4, config.h.in, pathnames.h.in:
19133         _SUDO_PATH_ -> _CONFIG_PATH_
19134         [84d97ad13d75]
19135
19136         * aclocal.m4, sudo.pod:
19137         /var/run/.odus -> /var/run/sudo
19138         [922da220b8f5]
19139
19140         * pathnames.h.in:
19141         now uses _SUDO_PATH_TIMEDIR
19142         [5ecab0155fdf]
19143
19144         * OPTIONS:
19145         udpated FQDN
19146         [361b6f7440c0]
19147
19148         * aclocal.m4, configure.in:
19149         added SUDO_TIMEDIR
19150         [368c95c8c950]
19151
19152         * config.h.in:
19153         added _SUDO_PATH_TIMEDIR
19154         [3879864d808c]
19155
19156         * sudo.pod:
19157         updated wrt /var/run/sudo
19158         [9e14f2a429d3]
19159
19160         * sudo.c, sudo.h:
19161         added support for shost if FQDN
19162         [51a3f51a09a1]
19163
19164         * parse.yacc, visudo.c:
19165         now uses shost if FQDN
19166         [d19da2e92b42]
19167
19168         * check.c:
19169         Now use skeylookup() instead off skeychallenge()
19170         [4c7438bb2ae0]
19171
19172 1996-02-28  Todd C. Miller  <Todd.Miller@courtesan.com>
19173
19174         * logging.c:
19175         mail_argv should not contain ALERTMAIL as it includes "-t"
19176         [67ffaaa8f843]
19177
19178 1996-02-22  Todd C. Miller  <Todd.Miller@courtesan.com>
19179
19180         * INSTALL, Makefile.in, README, configure.in, version.h:
19181         ++version
19182         [e08fd4a809fc]
19183
19184         * compat.h:
19185         added more _PASSWD_LEN stuff -- now uses PASS_MAX too
19186         [2f20c3153689]
19187
19188         * tgetpass.c:
19189         now includes limits.h moved _PASSWD_LEN -> compat.h
19190         [b1ca3cafdacc]
19191
19192 1996-02-06  Todd C. Miller  <Todd.Miller@courtesan.com>
19193
19194         * INSTALL, README:
19195         ++version
19196         [3eacf32803f5]
19197
19198         * Makefile.in:
19199         ++versoin
19200         [3b91c317630a]
19201
19202         * Makefile.in:
19203         fixed a typo
19204         [3661ac4a7803]
19205
19206         * configure.in:
19207         ++version
19208         [60e842973745]
19209
19210 1996-02-05  Todd C. Miller  <Todd.Miller@courtesan.com>
19211
19212         * RUNSON:
19213         updated
19214         [def2c3c24195]
19215
19216         * CHANGES:
19217         done for 1.4.1 (I hope)
19218         [2ab543769a40]
19219
19220         * sudoers.pod:
19221         added info on wildcards
19222         [ce3bd41bc063]
19223
19224         * sample.sudoers:
19225         added wildcard example
19226         [762feb0577bd]
19227
19228         * Makefile.in:
19229         now uses *.pod to build *.man and *.cat & *.html
19230         [3ec14962028b]
19231
19232         * configure.in:
19233         addedSUDO_PROG_BSHELL !ll
19234         [3c80b320bf16]
19235
19236         * visudo.pod:
19237         fixed up some formatting
19238         [12166c434526]
19239
19240         * sudoers.pod:
19241         redid section describing sample sudoers stuff
19242         [b8065cceec71]
19243
19244         * sudo.pod:
19245         fixed some formatting
19246         [aa9a681add0f]
19247
19248         * getspwuid.c:
19249         now treats "" as bourne shell
19250         [30194a72ad56]
19251
19252         * Makefile.in:
19253         TESTOBJS nwo includes wildmat.o
19254         [86cc6500f84d]
19255
19256         * testsudoers.c:
19257         now works with NewArg[cv]
19258         [2f72674ce942]
19259
19260         * sudo.c:
19261         removed an XXX (fixed it in getspwuid.c)
19262         [e791ee0d1a68]
19263
19264         * aclocal.m4:
19265         added check for bourne shell
19266         [a2fd51676b8a]
19267
19268         * pathnames.h.in:
19269         added _PATH_BSHELL
19270         [e7c10011d47b]
19271
19272         * config.h.in:
19273         added _SUDO_PATH_BSHELL
19274         [6a1182898de9]
19275
19276 1996-02-04  Todd C. Miller  <Todd.Miller@courtesan.com>
19277
19278         * visudo.c:
19279         unixware vi returns 256 instead of 0
19280         [234ffc7c6786]
19281
19282         * INSTALL:
19283         added Linux note
19284         [5f85efcd2b58]
19285
19286         * logging.c:
19287         fixed up some XXX's. file log format now looks a little more like
19288         real syslog(3) format.
19289         [6df55707bfc3]
19290
19291         * README, TROUBLESHOOTING:
19292         updated wrt lex/flex
19293         [eb787d69156b]
19294
19295         * Makefile.in:
19296         commented out rule to build lex.yy.c from parse.lex since we ship
19297         with a pre-flex'd parser
19298         [7507e2ce4a95]
19299
19300         * parse.c, parse.yacc, visudo.c:
19301         path_matches -> command_matches
19302         [0bd469424f86]
19303
19304         * logging.c:
19305         eliminated some strcat()'s
19306         [9878a79bc374]
19307
19308         * configure.in:
19309         no longer checks for lex/flex (now assumes flex)
19310         [a086ccc73798]
19311
19312         * configure.in:
19313         now checks for $kerb_dir_candidate/krb.h instead of just
19314         kerb_dir_candidate
19315         [9133bc3c5208]
19316
19317 1996-02-03  Todd C. Miller  <Todd.Miller@courtesan.com>
19318
19319         * parse.yacc:
19320         now use a 'hook' expression instead of an iffy one :-)
19321         [9560df01b8c0]
19322
19323 1996-02-02  Todd C. Miller  <Todd.Miller@courtesan.com>
19324
19325         * visudo.c:
19326         now works with new sudo arg stuff
19327         [310a0d43ddad]
19328
19329         * parse.yacc:
19330         fixed dereferencing deadbeef
19331         [474ef8a8006b]
19332
19333         * sudo.c:
19334         changed an occurrence of Argv to NewArgv
19335         [205b012b7691]
19336
19337         * parse.lex:
19338         took out support for quoted commands since there is no need...
19339         [5c5036d353b1]
19340
19341         * parse.c:
19342         fixed a typo in a for() loop
19343         [7e8d5283c43b]
19344
19345         * logging.c:
19346         protected against dereferencing rogue pointers
19347         [56debd517717]
19348
19349         * sudo.c:
19350         now uses NewArgv amd NewArgc so cmnd_aegs is no longer needed this
19351         also allows us to eliminate some kludges in parse_args() and
19352         eliminate superfluous code.
19353         [5122f66ad150]
19354
19355         * logging.c:
19356         no longer uses cmnd_args, now uses NewArgv instead.
19357         [abddd23cf068]
19358
19359         * sudo.h:
19360         added struct sudo_command, NewArgc, and NewArgv removed cmnd_args
19361         (no longer used)
19362         [78410984fb05]
19363
19364         * Makefile.in:
19365         added wildmat.c to SRCS & SUDOBJS
19366         [3800efb41794]
19367
19368         * parse.yacc:
19369         COMMAND is now a struct containing the path and args
19370         [5c32822c5b94]
19371
19372         * parse.lex:
19373         replaced append() with fill_cmnd() and fill_args. command args from
19374         a sudoers entry are now stored in an arrary for easy matching.
19375         [a981d7f4eb0d]
19376
19377         * parse.c:
19378         command line args from sudoers file are now in an array like ones
19379         passed in from the command line
19380         [1d9e37e84519]
19381
19382 1996-02-01  Todd C. Miller  <Todd.Miller@courtesan.com>
19383
19384         * parse.c:
19385         wildwat stuff now works
19386         [49d16488531f]
19387
19388 1996-01-29  Todd C. Miller  <Todd.Miller@courtesan.com>
19389
19390         * version.h:
19391         ++version
19392         [53e55463ef89]
19393
19394         * Makefile.in:
19395         ++version added wildmat.*
19396         [0508297a4711]
19397
19398 1996-01-28  Todd C. Miller  <Todd.Miller@courtesan.com>
19399
19400         * parse.lex:
19401         added support for quoted commands (w/ or w/o args)
19402         [b9a637155673]
19403
19404 1996-01-22  Todd C. Miller  <Todd.Miller@courtesan.com>
19405
19406         * sudo.pod, visudo.pod:
19407         cleaned up formatting
19408         [4591d4195437]
19409
19410         * sudo.pod, visudo.pod:
19411         Initial revision
19412         [7564a8242750]
19413
19414 1996-01-21  Todd C. Miller  <Todd.Miller@courtesan.com>
19415
19416         * sudoers.pod:
19417         looks reasonable, could be mroe readable
19418         [a5be2d19d9e0]
19419
19420         * sudoers.pod:
19421         Initial revision
19422         [957888be31a6]
19423
19424 1996-01-16  Todd C. Miller  <Todd.Miller@courtesan.com>
19425
19426         * RUNSON:
19427         updated
19428         [633743aa924b]
19429
19430         * OPTIONS:
19431         updated NO_ROOT_SUDO entry
19432         [f1c15b1dec9e]
19433
19434 1996-01-15  Todd C. Miller  <Todd.Miller@courtesan.com>
19435
19436         * RUNSON:
19437         *** empty log message ***
19438         [5b63de579ff7] [SUDO_1_4_0]
19439
19440         * sudo.c:
19441         fixed SECURE_PATH
19442         [6002889f606d]
19443
19444         * RUNSON:
19445         udpa`ted for 1.4
19446         [6014a8592815]
19447
19448         * configure.in:
19449         AIX aixcrypt.exp now uses $(srcdir)
19450         [b0d57674fef4]
19451
19452         * TROUBLESHOOTING:
19453         added entry for anal ansi compilers
19454         [4193cec1c6b1]
19455
19456 1996-01-14  Todd C. Miller  <Todd.Miller@courtesan.com>
19457
19458         * INSTALL:
19459         added info on libcrypt_i for SCO
19460         [575497d56698]
19461
19462         * TODO:
19463         *** empty log message ***
19464         [d0aaf67b9913]
19465
19466         * sample.sudoers:
19467         added comments
19468         [a7773f7eda8d]
19469
19470         * TODO:
19471         1.4 release
19472         [1dade29e9fd9]
19473
19474         * CHANGES:
19475         ++version
19476         [67241be40780]
19477
19478         * INSTALL, OPTIONS, README, config.h.in, configure.in:
19479         ++version
19480         [2e0a37897f68]
19481
19482         * BUGS:
19483         ++version and fixed ISC
19484         [78963f01a0e3]
19485
19486         * check.c, compat.h, dce_pwent.c, find_path.c, getspwuid.c, getwd.c,
19487         goodpath.c, ins_2001.h, ins_classic.h, ins_csops.h, ins_goons.h,
19488         insults.h, logging.c, options.h, pathnames.h.in, putenv.c, strdup.c,
19489         sudo.c, sudo.h, sudo_setenv.c, testsudoers.c, tgetpass.c, utime.c,
19490         visudo.c:
19491         ++version
19492         [b6227f29b3d9]
19493
19494         * interfaces.c:
19495         added STUB_LOAD_INTERFACES ++version
19496         [d8150a3fd577]
19497
19498         * Makefile.in, emul/utime.h, parse.c, parse.lex, parse.yacc,
19499         version.h:
19500         ++version
19501         [da9e90e69bdc]
19502
19503         * PORTING:
19504         added info about fd_set in tgetpass added info on interfaces.c
19505         [a39902febd17]
19506
19507 1996-01-11  Todd C. Miller  <Todd.Miller@courtesan.com>
19508
19509         * dce_pwent.c:
19510         added sudo header
19511         [fc0f2c48682e]
19512
19513         * tgetpass.c:
19514         fixed a typo
19515         [43d40b72ee8f]
19516
19517         * Makefile.in:
19518         tgetpass.o is now only linked in with sudo (not visudo)
19519         [7407c5ff11f8]
19520
19521 1996-01-09  Todd C. Miller  <Todd.Miller@courtesan.com>
19522
19523         * BUGS, INSTALL, Makefile.in, OPTIONS, README, config.h.in,
19524         configure.in:
19525         ++version
19526         [9b82ad805d6b]
19527
19528         * emul/utime.h:
19529         added copyright notice
19530         [4380f16cd075]
19531
19532         * check.c, compat.h, find_path.c, getspwuid.c, getwd.c, goodpath.c,
19533         ins_2001.h, ins_classic.h, ins_csops.h, ins_goons.h, insults.h,
19534         interfaces.c, logging.c, options.h, parse.c, parse.lex, parse.yacc,
19535         pathnames.h.in, putenv.c, strdup.c, sudo.c, sudo.h, sudo_setenv.c,
19536         testsudoers.c, tgetpass.c, utime.c, version.h, visudo.c:
19537         ++version
19538         [32717fdb5d05]
19539
19540         * tgetpass.c:
19541         minor cleanup and now includes sys/bsdtypes for svr4'ish boxen
19542         [326864428da2]
19543
19544         * configure.in:
19545         ISC now gets -lcrypt now check for sys/bsdtypes.h
19546         [e064799c054b]
19547
19548         * config.h.in:
19549         added check for sys/bsdtypes.h
19550         [9adb9533c363]
19551
19552 1996-01-07  Todd C. Miller  <Todd.Miller@courtesan.com>
19553
19554         * parse.yacc:
19555         removed debugging stuff (setting freed ptr to NULL)
19556         [02fe8eec63a0]
19557
19558         * TROUBLESHOOTING:
19559         added 2 entries
19560         [02884e2733e2]
19561
19562         * Makefile.in:
19563         added FAQ
19564         [074d8dfcf28d]
19565
19566         * TROUBLESHOOTING:
19567         added section on syslog
19568         [e6bc02a22b86]
19569
19570         * configure.in:
19571         added AC_ISC_POSIX for better ISC support
19572         [8436b3e12af2]
19573
19574         * config.h.in:
19575         fixed typo
19576         [f1b3922babf4]
19577
19578         * config.h.in:
19579         added define for _POSIX_SOURCE
19580         [ded6d92b34f9]
19581
19582 1996-01-04  Todd C. Miller  <Todd.Miller@courtesan.com>
19583
19584         * configure.in:
19585         fixed check for lsearch()
19586         [75baa5bc28a3]
19587
19588 1995-12-22  Todd C. Miller  <Todd.Miller@courtesan.com>
19589
19590         * interfaces.c:
19591         fixed for AIX now deal if num_interfaces == 0 (should not happen)
19592         [ae450e859227]
19593
19594 1995-12-20  Todd C. Miller  <Todd.Miller@courtesan.com>
19595
19596         * configure.in:
19597         now only define HAVE_LSEARCH if there is a corresponding search.h
19598         [8ce645c5d17f]
19599
19600         * interfaces.c:
19601         works on ISC again
19602         [ccac920d424c]
19603
19604 1995-12-18  Todd C. Miller  <Todd.Miller@courtesan.com>
19605
19606         * configure.in:
19607         now define HAVE_LSEARCH if we find lsearch() in libcompat
19608         [7343e4313a87]
19609
19610         * lsearch.c:
19611         char * -> const char *
19612         [1c0b11c2300a]
19613
19614         * configure.in:
19615         now looks in -lcompat for lsearch()
19616         [a1cc1d6fcd09]
19617
19618         * Makefile.in:
19619         remove sudo.core visudo.core for clan target
19620         [b523456a85df]
19621
19622         * aclocal.m4:
19623         added UID_MAX support in check for MAX_UID_T_LEN
19624         [7ab262b1173f]
19625
19626         * Makefile.in:
19627         fixed another occurence of sudo_getpwuid.*
19628         [fb5809c07da2]
19629
19630         * Makefile.in, getspwuid.c:
19631         sudo_getpwuid.c -> getspwuid.c
19632         [875f2ef808b4]
19633
19634         * configure.in:
19635         moved the "echo"
19636         [ad7b8f966076]
19637
19638         * BUGS, CHANGES, INSTALL, Makefile.in, OPTIONS, README, check.c,
19639         compat.h, config.h.in, configure.in, find_path.c, getspwuid.c,
19640         getwd.c, goodpath.c, ins_2001.h, ins_classic.h, ins_csops.h,
19641         ins_goons.h, insults.h, interfaces.c, logging.c, options.h, parse.c,
19642         parse.lex, parse.yacc, pathnames.h.in, putenv.c, strdup.c, sudo.c,
19643         sudo.h, sudo_setenv.c, testsudoers.c, tgetpass.c, utime.c,
19644         version.h, visudo.c:
19645         ++version
19646         [ee57c6410ffa]
19647
19648         * testsudoers.c:
19649         added group support
19650         [54d8097df8bd]
19651
19652         * sample.sudoers:
19653         added group entry
19654         [50994d31fd49]
19655
19656         * sudoers.man:
19657         documented group support
19658         [0a16707f8fed]
19659
19660         * parse.c, parse.lex, parse.yacc, visudo.c:
19661         added group support
19662         [427218c879c8]
19663
19664 1995-12-15  Todd C. Miller  <Todd.Miller@courtesan.com>
19665
19666         * check.c:
19667         tkfile was too short and overflowed the kerberos realm
19668         [53823a1ff5af]
19669
19670 1995-12-11  Todd C. Miller  <Todd.Miller@courtesan.com>
19671
19672         * sudo.c:
19673         now copy command args directly from Argv
19674         [77408278b6fd]
19675
19676         * sudo.c:
19677         replaced code to copy cmnd_args so that is does not use realloc
19678         since most realloc()'s really stink
19679         [b29a0ff73fb6]
19680
19681 1995-12-08  Todd C. Miller  <Todd.Miller@courtesan.com>
19682
19683         * configure.in:
19684         syslog() fixed in hpux 10.01
19685         [2648e6f0cdb0]
19686
19687 1995-12-06  Todd C. Miller  <Todd.Miller@courtesan.com>
19688
19689         * configure.in:
19690         AC_CHECK_LIB() now sets SUDO_LIBS (and VISUDO_LIBS if appropriate)
19691         [8f108b8d8711]
19692
19693         * configure.in:
19694         better error if cannot find skey incs or libs
19695         [5887662ee9d3]
19696
19697         * aclocal.m4:
19698         now use a temp file for determining max len of uid_t in string form.
19699         the old hacky way broke on netbsd
19700         [b68f470fa9f8]
19701
19702         * sudo.c:
19703         added set of parens and a space
19704         [8a3d4826d022]
19705
19706 1995-12-05  Todd C. Miller  <Todd.Miller@courtesan.com>
19707
19708         * dce_pwent.c:
19709         fixes from Jeff Earickson <jaearick@colby.edu> ,
19710         [bde0f0b756ec]
19711
19712         * check.c:
19713         modified a comment
19714         [e2a97f1afbbe]
19715
19716         * Makefile.in:
19717         fixed up testsudoers target
19718         [d39c4e7bb609]
19719
19720         * configure.in:
19721         DCE changes from Jeff Earickson <jaearick@colby.edu> LIBS ->
19722         SUDO_LIBS and VISUDO_LIBS LDFLAGS -> SUDO_FDFLAGS and VISUDO_LDFLAGS
19723         [da7a1c433828]
19724
19725         * Makefile.in:
19726         LIBS -> SUDO_LIBS , VISUDO_LIBS LDFLAGS -> SUDO_LDFLAGS,
19727         VISUDO_LDFLAGS
19728         [4b69503e8487]
19729
19730 1995-11-28  Todd C. Miller  <Todd.Miller@courtesan.com>
19731
19732         * configure.in:
19733         fix for C2 on hpux 10 now uses -linet if it exists
19734         [8d300112263d]
19735
19736         * check.c:
19737         LONG_SKEY_PROMPT is less of a klusge /
19738         [dcc144abaac3]
19739
19740         * configure.in:
19741         fixed typos w/ dce stuff
19742         [f7dfd6d4e149]
19743
19744         * Makefile.in:
19745         added dce_pwent.c
19746         [79047acdc516]
19747
19748 1995-11-26  Todd C. Miller  <Todd.Miller@courtesan.com>
19749
19750         * INSTALL:
19751         amended section on combining authentication mechanisms
19752         [dc5138c7c716]
19753
19754         * PORTING:
19755         minor updates for 1.3.6
19756         [fe80c13bd994]
19757
19758         * TROUBLESHOOTING:
19759         added 2 more entries
19760         [c7201439a0f5]
19761
19762         * BUGS:
19763         updated for 1.3.6
19764         [979b414d2a2d]
19765
19766         * README:
19767         overhauled
19768         [3af8b60eb594]
19769
19770         * INSTALL:
19771         rewrote for sudo 1.3.6
19772         [b16027b9c726]
19773
19774         * TROUBLESHOOTING:
19775         added 3 entries
19776         [934c9ee3f153]
19777
19778 1995-11-25  Todd C. Miller  <Todd.Miller@courtesan.com>
19779
19780         * find_path.c, getspwuid.c, sudo.c:
19781         added explict casts for strdup since many includes don't prototype
19782         it. gag me.
19783         [3e19a11f2fcc]
19784
19785         * sudo.h:
19786         removed prototype for sudo_getpwuid() since convex C compiler choked
19787         on it.
19788         [c3ea74ca67b0]
19789
19790         * sudo.c:
19791         added prototype for sudo_getpwuid()
19792         [4a8e3cdc2b98]
19793
19794         * lsearch.c:
19795         now compiles on strict ANSI compilers
19796         [3ce5d72d0b08]
19797
19798         * check.c:
19799         added LONG_SKEY_PROMPT support
19800         [48a18b8a2332]
19801
19802         * Makefile.in:
19803         added extra $'s for make to eat up, yum.
19804         [2995b214e12b]
19805
19806         * OPTIONS, options.h:
19807         added LONG_SKEY_PROMPT
19808         [f23ae799b5a4]
19809
19810 1995-11-24  Todd C. Miller  <Todd.Miller@courtesan.com>
19811
19812         * check.c:
19813         s/key support now works with normal s/key as well as logdaemon
19814         [d67573f523bf]
19815
19816         * OPTIONS, options.h:
19817         added SKEY_ONLY
19818         [bbf07654e0de]
19819
19820         * compat.h:
19821         set _PASSWD_LEN to 256 for any of KERB4, DCE, SKEY
19822         [205895b96a36]
19823
19824         * INSTALL:
19825         added DCE note added more AIX notes
19826         [6345403b3522]
19827
19828         * sudo.c:
19829         now include pthread.h for DCE support
19830         [6fe02865f679]
19831
19832         * check.c:
19833         dce_pwent() is ok after all .,
19834         [d26a8746a55d]
19835
19836         * logging.c:
19837         now uses SYSLOG() macro that equates to either syslog() or
19838         syslog_wrapper
19839         [42ac4cff8045]
19840
19841         * dce_pwent.c:
19842         minor formatting changes. renamed check() to somthing less generic
19843         [71859f217be1]
19844
19845         * check.c, logging.c, parse.yacc, sudo.c, sudo.h, testsudoers.c,
19846         visudo.c:
19847         now uses user_pw_ent and simple macros to get at the contents
19848         [f4cbf3e7145a]
19849
19850 1995-11-23  Todd C. Miller  <Todd.Miller@courtesan.com>
19851
19852         * check.c:
19853         simpler dec unix C2 support
19854         [86bc8f75250e]
19855
19856         * getspwuid.c:
19857         now sets crypt_type for DEC unix C2
19858         [99aeadd18266]
19859
19860 1995-11-21  Todd C. Miller  <Todd.Miller@courtesan.com>
19861
19862         * configure.in:
19863         added csops paths for skey
19864         [b8ca672e2117]
19865
19866         * getspwuid.c:
19867         now includes string.h for strdup() prototype
19868         [3605259c3620]
19869
19870         * getspwuid.c:
19871         fixed a few typos
19872         [46c97e4ea417]
19873
19874         * check.c:
19875         now includes skey.h
19876         [11e611ce1b61]
19877
19878         * getspwuid.c:
19879         fixed up comments
19880         [223dac56f0c8]
19881
19882         * check.c:
19883         moved a lot of the shadow passwd crap to sudo_getpwuid()
19884         [97d8887fb7d3]
19885
19886         * sudo.c:
19887         now uses sudo_pw_ent
19888         [d014dadbef48]
19889
19890         * testsudoers.c:
19891         now uses sudo_pw_ent
19892         [d92936ed7e34]
19893
19894         * visudo.c:
19895         now sets sudo_pw_ent
19896         [ff75cdfcf8b3]
19897
19898         * getspwuid.c:
19899         Initial revision
19900         [6deb6df9d7bc]
19901
19902         * tgetpass.c:
19903         moved dce stuff into compat.h
19904         [1124284396e7]
19905
19906         * logging.c, sudo.h:
19907         now uses sudo_pw_ent
19908         [404ff20a5067]
19909
19910         * Makefile.in:
19911         added sudo_getpwuid.c
19912         [6666d0644512]
19913
19914         * compat.h:
19915         added dce support
19916         [3c3b36a7ce0e]
19917
19918         * parse.yacc:
19919         now uses sudo_pw_ent
19920         [9f5e8d11bd68]
19921
19922 1995-11-20  Todd C. Miller  <Todd.Miller@courtesan.com>
19923
19924         * check.c:
19925         fixed exempt_group stuff for OS's that don't put base gid in group
19926         vector
19927         [003f153bd396]
19928
19929         * check.c:
19930         S/Key support now works with sunos4 shadow passwords
19931         [1eb64a5efff1]
19932
19933         * Makefile.in:
19934         fixed clean rule
19935         [5695a2c62816]
19936
19937         * config.h.in, configure.in:
19938         added DCE support
19939         [f53c766c1947]
19940
19941         * tgetpass.c:
19942         DCE & KERB support
19943         [904cf436506a]
19944
19945         * check.c:
19946         first stab at dce support
19947         [aea5ca07b1e3]
19948
19949         * dce_pwent.c:
19950         now smells like sudo
19951         [8b3d609b49cd]
19952
19953         * dce_pwent.c:
19954         Initial revision
19955         [b573555f2399]
19956
19957         * check.c:
19958         skey'd sudo now works w/ normal password as well
19959         [8d038f9f6e94]
19960
19961 1995-11-19  Todd C. Miller  <Todd.Miller@courtesan.com>
19962
19963         * Makefile.in, OPTIONS, check.c, compat.h, config.h.in, find_path.c,
19964         getwd.c, goodpath.c, ins_2001.h, ins_classic.h, ins_csops.h,
19965         ins_goons.h, insults.h, interfaces.c, logging.c, options.h, parse.c,
19966         parse.lex, parse.yacc, pathnames.h.in, putenv.c, strdup.c, sudo.c,
19967         sudo.h, sudo_setenv.c, testsudoers.c, tgetpass.c, utime.c,
19968         version.h, visudo.c:
19969         updated version number
19970         [ba7e346d7904]
19971
19972         * README:
19973         updated to reflect version change
19974         [1d15cf1d8cc8]
19975
19976         * configure.in:
19977         --with options now line up ++version
19978         [08ebf625fbca]
19979
19980         * sudo.h:
19981         removed unecesary S/Key stuff
19982         [68188cba90af]
19983
19984         * configure.in:
19985         fixed S/Key support
19986         [f6d9cbc36618]
19987
19988         * Makefile.in:
19989         -I stuff now goes in CPPFLAGS
19990         [7b8e53c5b046]
19991
19992         * check.c:
19993         fixed SKey support
19994         [52c1a5cf4435]
19995
19996         * README:
19997         updated version
19998         [bed6498a10bb]
19999
20000         * OPTIONS:
20001         fixed description of EXEMPTGROUP
20002         [cfeead55edc2]
20003
20004         * sudo.c:
20005         more people use _RLD_ than just alphas...
20006         [6a3c7090a6f6]
20007
20008         * Makefile.in:
20009         replaced $man_prefix with $mandir
20010         [dc4b36a550e2]
20011
20012         * configure.in:
20013         fixed a typo
20014         [a38a4acddcaf]
20015
20016         * Makefile.in:
20017         now use more GNU'ish dir names
20018         [c5498391a520]
20019
20020         * configure.in:
20021         now set *dir correctly (can override from command line)
20022         [523ff98fd438]
20023
20024         * sudo.c:
20025         now deal with situations where we getwd() fails
20026         [88a9e61dccbb]
20027
20028 1995-11-17  Todd C. Miller  <Todd.Miller@courtesan.com>
20029
20030         * Makefile.in:
20031         added etc_dir, bin_dir, sbin_dir
20032         [75fd08d92842]
20033
20034         * configure.in:
20035         added sbin_dir
20036         [3cb318c0d8d1]
20037
20038         * Makefile.in:
20039         now ship a flex-generated lex.yy.c
20040         [4d083ed70dce]
20041
20042         * Makefile.in:
20043         now sets _PATH_SUDO_SUDOERS, _PATH_SUDO_STMP, SUDOERS_OWNER
20044         [4d51dc9c3780]
20045
20046         * pathnames.h.in:
20047         _PATH_SUDO_SUDOERS & _PATH_SUDO_STMP are now overridden via Makefile
20048         [773fd163d52f]
20049
20050         * options.h:
20051         no more error for redefining SUDOERS_OWNER
20052         [4ba336644c6a]
20053
20054         * OPTIONS:
20055         expanded SUDOERS_OWNER section
20056         [12fae405759e]
20057
20058 1995-11-16  Todd C. Miller  <Todd.Miller@courtesan.com>
20059
20060         * visudo.c:
20061         now warn if chown(2) failed
20062         [d0d1db6e3a1f]
20063
20064         * logging.c:
20065         better default warning for NO_SUDOERS_FILE
20066         [5260b458ac64]
20067
20068         * sudo.c:
20069         added missing set_perms() no more cryptic message if the sudoers
20070         file is zero length, now just give a parse error
20071         [b81ea724838a]
20072
20073         * logging.c:
20074         better diagnostics if NO_SUDOERS_FILE
20075         [877e878663c5]
20076
20077         * sudo.c:
20078         check_sudoers() now catches sudoers files that are not readable (but
20079         are stat'able).
20080         [fea05663b3de]
20081
20082 1995-11-13  Todd C. Miller  <Todd.Miller@courtesan.com>
20083
20084         * configure.in:
20085         now add -D__STDC__ for convex cc (not gcc)
20086         [c80fc53ff51b]
20087
20088         * configure.in:
20089         MAN_PREFIX -> man_prefix now sets prefix and exec_prefix
20090         [fe238226a057]
20091
20092         * Makefile.in:
20093         now uses exec_prefix & prefix from configure
20094         [f62fca5f56bd]
20095
20096         * find_path.c, getwd.c, goodpath.c, interfaces.c, logging.c, parse.c,
20097         parse.lex, parse.yacc, sudo.c, sudo.h, sudo_setenv.c, tgetpass.c,
20098         utime.c, visudo.c:
20099         options.h is now <> instead of "" so shadow build trees can have a
20100         custom copy of options.h
20101         [e6782676099c]
20102
20103         * check.c:
20104         user_is_exempt() is no longer a hack, it now uses getgrnam()
20105         [287f8d5356f7]
20106
20107         * options.h:
20108         EXEMPTGROUP is now "sudo"
20109         [61487304dbe1]
20110
20111         * configure.in:
20112         MAN_POSTINSTALL now contains a leading space
20113         [eaad4ac34012]
20114
20115         * Makefile.in:
20116         removed leading tab if @MAN_POSTINSTALL@ not defined now removes
20117         testsudoers in clean:
20118         [e01711baceb8]
20119
20120         * tgetpass.c:
20121         includes pwd.h to get _PASSWD_LEN definition
20122         [8ec174f263f1]
20123
20124 1995-10-30  Todd C. Miller  <Todd.Miller@courtesan.com>
20125
20126         * sudo.c:
20127         unset the KRB_CONF envariable if using kerberos so we don't get
20128         spoofed into using a bogus server
20129         [2561a0274fca]
20130
20131 1995-09-29  Todd C. Miller  <Todd.Miller@courtesan.com>
20132
20133         * parse.yacc:
20134         now explicately initialize match[] tp be FALSE
20135         [0e45e5c47766]
20136
20137 1995-09-23  Todd C. Miller  <Todd.Miller@courtesan.com>
20138
20139         * sudo.c:
20140         removed unused variable now passes -Wall
20141         [3452508bc16d]
20142
20143         * parse.yacc:
20144         yyerror and dumpaliases are now void's now passes -Wall
20145         [2769dfb51993]
20146
20147         * parse.lex:
20148         added prototype for yyerror
20149         [1f3f0c1b4ab4]
20150
20151         * check.c, logging.c, parse.c:
20152         now passes -Wall
20153         [eab57e5e81d2]
20154
20155         * interfaces.c:
20156         rmeoved unused cruft now passes -Wall
20157         [7a47e1866f4b]
20158
20159         * Makefile.in:
20160         fixed headers that moved to emul dir
20161         [e680c1e5049b]
20162
20163         * logging.c:
20164         fixed deref of nil pointer if no args
20165         [973b9bea432f]
20166
20167 1995-09-15  Todd C. Miller  <Todd.Miller@courtesan.com>
20168
20169         * OPTIONS:
20170         added a caveat to FQDN section
20171         [dcf6e2a5fff4]
20172
20173 1995-09-13  Todd C. Miller  <Todd.Miller@courtesan.com>
20174
20175         * Makefile.in:
20176         more $srcdir support for install targets
20177         [f6eac78436dd]
20178
20179         * find_path.c, interfaces.c, parse.c, parse.lex, parse.yacc, putenv.c,
20180         strdup.c, sudo.c, sudo_setenv.c, testsudoers.c, visudo.c:
20181         don't include malloc.h if we include stdlib.h
20182         [fca2ff307cd8]
20183
20184         * parse.yacc:
20185         local search.h now lives in emul
20186         [51c458904424]
20187
20188         * check.c, utime.c:
20189         local utime.h now lives in emul dir
20190         [f92fc9e8c8de]
20191
20192         * lsearch.c:
20193         local search.h now lives in emul
20194         [579efc407439]
20195
20196         * Makefile.in:
20197         added support for building in other than the sourcedir
20198         [2ab53a43f7d4]
20199
20200 1995-09-10  Todd C. Miller  <Todd.Miller@courtesan.com>
20201
20202         * OPTIONS:
20203         annotated CSOPS_INSULTS option
20204         [9e57d45a0afa]
20205
20206         * TROUBLESHOOTING:
20207         updated shadow passwords blurb
20208         [39b785bc7253]
20209
20210         * sudo.c:
20211         if SHELL_IF_NO_ARGS is set, "sudo -- foo" now runs a shell and
20212         passes along foo as the arguments
20213         [a91077aa8fc5]
20214
20215 1995-09-09  Todd C. Miller  <Todd.Miller@courtesan.com>
20216
20217         * parse.lex:
20218         collapsed pathname and dir sections into one -- its now less
20219         expensive
20220         [89caa03bec25]
20221
20222         * parse.lex:
20223         fixed spacing quoting [,:\\=] now works correctly append() and
20224         fill() now take args to make the above work
20225         [09d023d9ef3a]
20226
20227         * sudo.c:
20228         fixed a typo that caused commands with no tty on fd 0 but a tty on
20229         fd 1 to erroneously have "none" as their tty
20230         [07d2c0e7977c]
20231
20232 1995-09-04  Todd C. Miller  <Todd.Miller@courtesan.com>
20233
20234         * check.c:
20235         timestampfile is now a global static removed decl of timestampfile
20236         in remove_timestamp since we can just use the global one
20237         [f0cbdc6aab1c]
20238
20239         * check.c:
20240         created touch() to update timestamps added USE_TTY_TICKETS support
20241         (bit of a kludge)
20242         [cee1dd0318f8]
20243
20244         * compat.h:
20245         added _S_IFDIR and S_ISDIR
20246         [b4a51cc9628e]
20247
20248         * OPTIONS, options.h:
20249         added USE_TTY_TICKETS
20250         [b4e22f81f25e]
20251
20252         * parse.yacc:
20253         removed const from casts for lsearch() & lfind() to placate irix 4.x
20254         C compiler
20255         [5003081f76ea]
20256
20257 1995-09-03  Todd C. Miller  <Todd.Miller@courtesan.com>
20258
20259         * sudo.c:
20260         now only strip '/dev/' off of a tty if it starts with '/dev/'
20261         [7f62bcd24039]
20262
20263         * pathnames.h.in:
20264         added _PATH_DEV
20265         [6375f44d1910]
20266
20267         * configure.in:
20268         AC_HAVE_HEADERS -> AC_CHECK_HEADERS now check for tcgetattr only if
20269         have termios.h
20270         [9c60391235fd]
20271
20272         * tgetpass.c:
20273         fixed incorrect #ifdef termio uses "unsigned short" not int for
20274         c_?flag
20275         [d032e6a29845]
20276
20277         * parse.lex, parse.yacc:
20278         fixed a spelling error
20279         [cad6a944c7b1]
20280
20281         * Makefile.in:
20282         fixed typo
20283         [204a65403e7c]
20284
20285 1995-09-02  Todd C. Miller  <Todd.Miller@courtesan.com>
20286
20287         * Makefile.in:
20288         fixed a comment
20289         [268f760e57ad]
20290
20291         * parse.yacc:
20292         added dotcat() to cat 2 strings w/ a dot effeciently now that we
20293         dynamically allocate strings they need to be free()'d
20294         [ec2e2152f415]
20295
20296         * parse.lex:
20297         dynamically allocates space for strings
20298         [d10ac3533d66]
20299
20300         * sudo.h:
20301         no more MAXCOMMANDLENGTH
20302         [e2e1219bff8a]
20303
20304         * sudo.h:
20305         added decl of tty
20306         [c8ae81303ee5]
20307
20308         * logging.c, sudo.c:
20309         moved tty stuff into sudo.c
20310         [e028abefeb07]
20311
20312 1995-09-01  Todd C. Miller  <Todd.Miller@courtesan.com>
20313
20314         * parse.c:
20315         fixed a logic bug. Was denying a command if user gave command line
20316         args but there were none in the sudoers file which is wrong.
20317         [7489a99b8e8a]
20318
20319         * sudo.h:
20320         MAXCOMMMANDLEN dropped down to 1K
20321         [38ef54ba290b]
20322
20323         * parse.lex:
20324         return foo; -> return(foo);
20325         [0e8be1b57001]
20326
20327         * parse.yacc:
20328         fixed netgr_matches() prototype
20329         [e69f15910464]
20330
20331         * parse.lex:
20332         added support for escaping "termination" characters
20333         [8bd4ef50f35c]
20334
20335         * parse.c:
20336         buf is now of size MAXPATHLEN+1 since it never holds command args
20337         [2ce4b763058c]
20338
20339         * sudo.c:
20340         fixed comments
20341         [0c74a3d2ebb0]
20342
20343         * goodpath.c:
20344         fixed negation problem (doh!)
20345         [782814e3a2d1]
20346
20347         * parse.yacc:
20348         fixed 2nd parameter to lfind()
20349         [63d7b1623c08]
20350
20351         * parse.lex:
20352         now do bounds checking in fill() and append()
20353         [54381b563251]
20354
20355         * sudo.c:
20356         include netdb.h as we should added a missing void cast added
20357         SHELL_IF_NO_ARGS support now use realloc() properly. would fail if
20358         realloc actually moved the string instead of shrinking it
20359         [897ccdec9c06]
20360
20361         * sample.sudoers:
20362         updated with examples of new features
20363         [9b3ed00e8aa6]
20364
20365         * goodpath.c:
20366         now set errno to EACCES if not a regular file or not executable
20367         [2d069548a5ea]
20368
20369         * find_path.c:
20370         if given a fully-qualified or relative path we now check it with
20371         sudo_goodpath() and error out with the appropriate error message if
20372         the file does not exist or is not executable
20373         [590f89dd8dec]
20374
20375         * emul/search.h, lsearch.c:
20376         now use correct args for lfind
20377         [fccdcdbf020e]
20378
20379         * logging.c:
20380         added a comment
20381         [fab9f49708ea]
20382
20383         * insults.h:
20384         added in CSOps insults
20385         [ad8eb1862adc]
20386
20387         * ins_csops.h:
20388         Initial revision
20389         [de5a475ec018]
20390
20391         * tgetpass.c:
20392         added RCS id
20393         [c3ffd550a482]
20394
20395         * sudo.h:
20396         increased MAXCOMMANDLENGTH to 8k HAVE_GETCWD -> HAVE_GETWD
20397         [aba25c90d08a]
20398
20399         * OPTIONS:
20400         added CLASSIC_INSULTS, CSOPS_INSULTS, SHELL_IF_NO_ARGS
20401         [e27bd62e9ccf]
20402
20403         * sudo.c:
20404         fixed -k load_interfaces() now gets called if FQDN is set
20405         -p now works with -s
20406         [07ca2a34bae8]
20407
20408         * parse.c:
20409         don't try to stat() "pseudo commands" like "validate"
20410         [75527045984b]
20411
20412         * options.h:
20413         added CLASSIC_INSULTS added CSOPS_INSULTS added SHELL_IF_NO_ARGS
20414         [07b157a0eafd]
20415
20416         * configure.in:
20417         added SecurID support added other insults to --with-csops
20418         [6c992ceb244c]
20419
20420         * config.h.in:
20421         added HAVE_SECURID
20422         [e734ff617fe8]
20423
20424         * Makefile.in:
20425         added clobber target added ins_csops.h now gets CFLAGS from
20426         configure
20427         [d1e29c7cec25]
20428
20429         * aclocal.m4:
20430         relaxed SUDO_FULL_VOID
20431         [fb4084f27406]
20432
20433         * visudo.c:
20434         function comment blocks are now in same style as rest of code
20435         [04a2931354c5]
20436
20437         * testsudoers.c:
20438         added support for command line args in /etc/sudoers
20439         [bfe4e1bcc655]
20440
20441         * sudoers.man:
20442         updated to have command args in the sudoers file
20443         [1cd34355e9ea]
20444
20445         * sudo.man:
20446         added -s and -- flags added SHELL to ENVIRONMENT VARIABLES section
20447         [930b48023b68]
20448
20449 1995-08-19  Todd C. Miller  <Todd.Miller@courtesan.com>
20450
20451         * parse.yacc:
20452         PATH renamed to COMMAND
20453         [4e109a6de3cd]
20454
20455         * parse.lex:
20456         it is now a parse error for directories to have args attached to
20457         them
20458         [2ab10a146b54]
20459
20460         * logging.c:
20461         now say command args if telling user to buzz off
20462         [933de26ded8b]
20463
20464         * sudo.c:
20465         -s no longer indicates end of args sped up loading on cmnd_args in
20466         load_cmnd()
20467         [eac99a4da862]
20468
20469         * parse.c:
20470         removed an unreachable statement
20471         [634302623c49]
20472
20473         * parse.lex:
20474         made more efficient by pulling out the terminators when in GOTCMND
20475         state and making them their own rule
20476         [80798f1e1166]
20477
20478 1995-08-14  Todd C. Miller  <Todd.Miller@courtesan.com>
20479
20480         * sudo.h:
20481         removed MAXLOGLEN since it is no longer used
20482         [102824196b71]
20483
20484         * parse.lex:
20485         now allows command args
20486         [d29dfa1e5254]
20487
20488         * parse.c:
20489         now groks command arguments
20490         [6c414cb7f105]
20491
20492         * logging.c:
20493         now sets tty correctly when piped input
20494         [de46a30c0406]
20495
20496         * sudo.c:
20497         fixed loading of cmnd_args (was including command name too)
20498         [15319a425ea6]
20499
20500         * logging.c:
20501         fixed a core dump due to incorrect if construct
20502         [582363c7d7fa]
20503
20504 1995-08-13  Todd C. Miller  <Todd.Miller@courtesan.com>
20505
20506         * configure.in:
20507         only add -lsun is irix < 5 don't look for -lnsl or -lsocket if irix
20508         [da591fe9b931]
20509
20510         * aclocal.m4:
20511         fixed check for ISC
20512         [52e59f2082a7]
20513
20514         * sudo.c:
20515         now sets cmnd_args used by log_error() and that will be used by the
20516         parse to check against command args
20517         [c6804389723b]
20518
20519         * sudo.h:
20520         added cmnd_args
20521         [4d00446b4a8d]
20522
20523         * logging.c:
20524         now dynamically allocate logline since we can guess at its size
20525         [4bed8c8446aa]
20526
20527 1995-08-05  Todd C. Miller  <Todd.Miller@courtesan.com>
20528
20529         * logging.c:
20530         cleaned up a bunch of unnecesary #ifdef's eliminated a buffer remove
20531         "register" since the compiler knows more than I do now do a
20532         "basename" of the tty
20533         [3b1bbf0b3da1]
20534
20535 1995-07-31  Todd C. Miller  <Todd.Miller@courtesan.com>
20536
20537         * configure.in:
20538         ++version
20539         [5ce552f9a5f1]
20540
20541         * sudo.h:
20542         added shell extern changed MODE_* to be bit masks to allow for
20543         several options together
20544         [06f9dc4f400c]
20545
20546         * sudo.c:
20547         added -s (shell) option made MODE_* masks so we can do bitwise & and
20548         | to see if multiple flags are set.
20549         [01f8143010ad]
20550
20551         * check.c:
20552         added securid support
20553         [909e078005fe]
20554
20555 1995-07-30  Todd C. Miller  <Todd.Miller@courtesan.com>
20556
20557         * logging.c:
20558         removed a bunch of unnecesary strncpy()'s and replaced with strcat()
20559         [644506b57d61]
20560
20561 1995-07-29  Todd C. Miller  <Todd.Miller@courtesan.com>
20562
20563         * Makefile.in, version.h:
20564         ++version
20565         [3cd6f1fbc3d9]
20566
20567 1995-07-27  Todd C. Miller  <Todd.Miller@courtesan.com>
20568
20569         * parse.yacc:
20570         fixed free() of an uninitialized pointer (yuck)
20571         [8c404ee502ee]
20572
20573         * testsudoers.c:
20574         added netgr_matches
20575         [e7c9fa2f774c]
20576
20577         * parse.c:
20578         cleaned up netgr_matches
20579         [8108f00b810e]
20580
20581 1995-07-26  Todd C. Miller  <Todd.Miller@courtesan.com>
20582
20583         * RUNSON:
20584         updated for 1.3.4
20585         [4741704310a1]
20586
20587 1995-07-25  Todd C. Miller  <Todd.Miller@courtesan.com>
20588
20589         * Makefile.in:
20590         now installs sudoers.man -- really should clean this up though.
20591         [455631d45a1d]
20592
20593         * Makefile.in:
20594         added sudoers.cat and sudoers.man
20595         [0bdedd6c7363]
20596
20597         * sudo.man:
20598         pulled out stuff on the sudoers file format into a separate man page
20599         [de215d999cb9]
20600
20601         * sudoers.man:
20602         Initial revision
20603         [f25eafbb7095]
20604
20605         * HISTORY:
20606         fixed up my email address
20607         [254fbf80be74]
20608
20609         * configure.in:
20610         added checks for innetgr and getdomainname
20611         [24a99cb7e97e]
20612
20613         * visudo.c:
20614         added dummy netgr_matches function
20615         [1841ff2c01da]
20616
20617         * parse.c:
20618         added netgr_matches
20619         [ec90db6a97b8]
20620
20621         * parse.lex, parse.yacc:
20622         added NETGROUP support
20623         [c9dd93e3bc4b]
20624
20625         * config.h.in:
20626         added HAVE_INNETGR & HAVE_GETDOMAINNAME
20627         [14abd494d875]
20628
20629 1995-07-24  Todd C. Miller  <Todd.Miller@courtesan.com>
20630
20631         * sudo.c:
20632         rewrote clean_env() that has rm_env() builtin
20633         [55cb43818a95]
20634
20635 1995-07-23  Todd C. Miller  <Todd.Miller@courtesan.com>
20636
20637         * check.c:
20638         now cast uid to long in sprintf
20639         [b549eea40aeb]
20640
20641         * OPTIONS:
20642         added _INSULTS suffix to HAL & GOONS end
20643         [ed620d0aad30]
20644
20645         * options.h:
20646         added _INSULTS suffix to HAL & GOONS
20647         [9f72e9b83afd]
20648
20649         * ins_2001.h, ins_classic.h, ins_goons.h, insults.h:
20650         converted to new scheme of insult "unions" end
20651         [2f6d2b412132]
20652
20653         * sudo.c:
20654         now uses MAX_UID_T_LEN
20655         [c1df79e0f389]
20656
20657         * configure.in:
20658         added SUDO_UID_T_LEN !l
20659         [195f0b9f5f84]
20660
20661         * config.h.in:
20662         added MAX_UID_T_LEN
20663         [73f42ae4f14d]
20664
20665         * check.c:
20666         now use MAX_UID_T_LEN
20667         [df9c063234cb]
20668
20669         * aclocal.m4:
20670         added check for max len of uid_t fixed sco vs. isc check
20671         [d558f36d2223]
20672
20673 1995-07-19  Todd C. Miller  <Todd.Miller@courtesan.com>
20674
20675         * configure.in:
20676         corrected version
20677         [828dd1571e86]
20678
20679         * configure.in:
20680         added sco support
20681         [af1e2f616638]
20682
20683         * aclocal.m4:
20684         hack to check for sco
20685         [549ab99a9a43]
20686
20687         * interfaces.c:
20688         removed #include <net/route.h> since it was hosing some OS's
20689         [ac78a7c04005]
20690
20691 1995-07-18  Todd C. Miller  <Todd.Miller@courtesan.com>
20692
20693         * find_path.c:
20694         fixed prreadlink() prototype
20695         [b380fe1f2b11]
20696
20697         * check.c:
20698         added parens in #if's
20699         [e96ade691b82]
20700
20701         * configure.in:
20702         added SPW_ prefix
20703         [a302683a1483]
20704
20705         * sudo.h:
20706         moved SPW_* to config.h.in
20707         [6b3be70e34cf]
20708
20709         * sudo.c:
20710         added a set of parens
20711         [8188d735d695]
20712
20713         * config.h.in:
20714         added SPW_*
20715         [5ead6371cf60]
20716
20717         * sudo.h:
20718         added SPW_* reordered error codes
20719         [dead25b4ed0a]
20720
20721         * check.c:
20722         moved SPW_* to sudo.h
20723         [ca51fb04caf4]
20724
20725 1995-07-17  Todd C. Miller  <Todd.Miller@courtesan.com>
20726
20727         * sudo.c:
20728         SPW_AUTH -> SPW_SECUREWARE
20729         [6b512b2bc5dc]
20730
20731         * logging.c:
20732         GLOBAL_NO_AUTH_ENT -> GLOBAL_NO_SPW_ENT
20733         [defdd0944e2f]
20734
20735         * configure.in:
20736         AUTH -> SECUREWARE
20737         [d1f8a17001dd]
20738
20739         * check.c:
20740         SPW_AUTH -> SPW_SECUREWARE
20741         [af0e8d8b89b2]
20742
20743         * check.c:
20744         now uses SHADOW_TYPE to make shadow pw support more readable and
20745         modular. It's a start...
20746         [8c2a59667014]
20747
20748         * configure.in:
20749         added autodetection of shadow passwords
20750         [85f81fa54b1b]
20751
20752         * sudo.c:
20753         now uses SHADOW_TYPE define
20754         [355e5dc09b07]
20755
20756         * config.h.in:
20757         added SHADOW_TYPE which replaces SUNOS4 & __svr4__ defines
20758         [c0c06e83e483]
20759
20760         * aclocal.m4:
20761         added SUDO_CHECK_SHADOW
20762         [464301301639]
20763
20764 1995-07-12  Todd C. Miller  <Todd.Miller@courtesan.com>
20765
20766         * configure.in:
20767         define SVR4 for ISC define BROKEN_SYSLOG for hpux took out test for
20768         memmove() since we dno longer use it...
20769         [8aefa87d7d31]
20770
20771         * CHANGES:
20772         updated
20773         [ce97b3fd7182]
20774
20775         * logging.c:
20776         added BROKEN_SYSLOG support
20777         [a45c3bca36f6]
20778
20779         * config.h.in:
20780         added BROKEN_SYSLOG
20781         [6f6abf0a6268]
20782
20783         * check.c:
20784         now only bitch it timestamp > time_now + 2 * timeout to allow for a
20785         machine udpating its time from a server
20786         [546bc8d35325]
20787
20788         * sudo.man:
20789         added 2 security notes updated Nieusma's email addr
20790         [616756c56977]
20791
20792         * lsearch.c:
20793         changed a memmove() to memcpy() since we don't have to worry about
20794         overlapping segments.
20795         [30baa478526b]
20796
20797 1995-07-11  Todd C. Miller  <Todd.Miller@courtesan.com>
20798
20799         * interfaces.c:
20800         cleanup up the loop when interfaces are groped in so that it is
20801         readable
20802         [1fa39446bd69]
20803
20804         * Makefile.in, version.h:
20805         ++version
20806         [b46bd2b1770f]
20807
20808 1995-07-09  Todd C. Miller  <Todd.Miller@courtesan.com>
20809
20810         * CHANGES:
20811         annotated 124-126
20812         [b82a2b3ec7ce]
20813
20814 1995-07-07  Todd C. Miller  <Todd.Miller@courtesan.com>
20815
20816         * check.c:
20817         fixed permissions check on /tmp/.odus
20818         [cc2431a65468]
20819
20820 1995-07-06  Todd C. Miller  <Todd.Miller@courtesan.com>
20821
20822         * check.c:
20823         fixed some comments
20824         [8896d09b4fda]
20825
20826         * check.c:
20827         now checks owner & mode of timedir also checks for bogus dates on
20828         timestamp file
20829         [a0fad5df5b0a]
20830
20831         * OPTIONS:
20832         updated TIMEOUT info
20833         [033cc22d9e04]
20834
20835         * logging.c, sudo.h:
20836         added BAD_STAMPDIR and BAD_STAMPFILE
20837         [31d9ce691101]
20838
20839         * compat.h:
20840         added definition of S_IRWXU
20841         [ff2dab091a9b]
20842
20843         * CHANGES:
20844         updated
20845         [a40df90284f1]
20846
20847 1995-07-03  Todd C. Miller  <Todd.Miller@courtesan.com>
20848
20849         * interfaces.c:
20850         added #ifdef to make it compile on strange arches
20851         [4a127f12afce]
20852
20853 1995-07-02  Todd C. Miller  <Todd.Miller@courtesan.com>
20854
20855         * aclocal.m4:
20856         fixed check for fulkl void impl.
20857         [b6f2a4a361d8]
20858
20859         * check.c:
20860         added mssing "static"
20861         [520552f2772b]
20862
20863         * insults.h:
20864         replaced #elif with #else #if constructs for ancient C compilers
20865         [39ab2d365b57]
20866
20867         * INSTALL:
20868         updated irix c2 & kerb5 info
20869         [ae79b99b4905]
20870
20871         * configure.in:
20872         added shadow pw support for irix
20873         [632469d9c528]
20874
20875 1995-07-01  Todd C. Miller  <Todd.Miller@courtesan.com>
20876
20877         * BUGS, TODO:
20878         updated
20879         [2a96bb18ac30]
20880
20881         * CHANGES:
20882         last changes for sudo 1.3.3
20883         [c1c0cd1034b8]
20884
20885         * configure.in:
20886         now calls SUDO_SOCK_SA_LEN
20887         [14ea78159d45]
20888
20889         * config.h.in:
20890         added HAVE_SA_LEN
20891         [cc2a346aa905]
20892
20893         * aclocal.m4:
20894         added SUDO_SOCK_SA_LEN
20895         [456a2025644a]
20896
20897         * interfaces.c:
20898         now works with ip implementations that use sa_len in sockaddr
20899         [90be6e028077]
20900
20901         * INSTALL:
20902         added note about buggy AIX compiler
20903         [c0f6d427e4e4]
20904
20905         * interfaces.c:
20906         now include sys/time.h for AIX
20907         [2510858ab38b]
20908
20909 1995-06-28  Todd C. Miller  <Todd.Miller@courtesan.com>
20910
20911         * Makefile.in:
20912         getcwd -> getwd
20913         [66085ebca98e]
20914
20915         * interfaces.c:
20916         now works for ISC and others. yay.
20917         [f336d4ffc927]
20918
20919 1995-06-26  Todd C. Miller  <Todd.Miller@courtesan.com>
20920
20921         * Makefile.in, version.h:
20922         version++
20923         [836cffc2078d]
20924
20925 1995-06-23  Todd C. Miller  <Todd.Miller@courtesan.com>
20926
20927         * aclocal.m4:
20928         fixed test for full void impl
20929         [fb004107e7b9]
20930
20931         * sudo.c:
20932         now check to see that st_dev is non-zero before assuming that we are
20933         being spoofed
20934         [1b0e1c30c506]
20935
20936 1995-06-20  Todd C. Miller  <Todd.Miller@courtesan.com>
20937
20938         * aclocal.m4, configure.in:
20939         SUDO_FUNC_UTIME_NULL -> AC_FUNC_UTIME_NULL
20940         [4953379bfb01]
20941
20942 1995-06-19  Todd C. Miller  <Todd.Miller@courtesan.com>
20943
20944         * aclocal.m4:
20945         fixed include file order for SUDO_FUNC_UTIME_POSIX
20946         [ff64ab7df44f]
20947
20948         * logging.c:
20949         added cast for ttyname()
20950         [444f05f56758]
20951
20952         * configure.in:
20953         fixed typo
20954         [de068e748431]
20955
20956         * check.c:
20957         now deal correctly with all known variation of utime() -- yippe
20958         [b778a4195a89]
20959
20960         * configure.in:
20961         added SUDO_FUNC_UTIME_POSIX
20962         [cf635f2269d6]
20963
20964         * aclocal.m4:
20965         added SUDO_FUNC_UTIME_NULL and SUDO_FUNC_UTIME_POSIX
20966         [d79593be4b73]
20967
20968         * config.h.in:
20969         added HAVE_UTIME_POSIX
20970         [c67b4ac0dca5]
20971
20972         * check.c:
20973         fixed a typo
20974         [b14df5680f59]
20975
20976         * check.c:
20977         no longer assume !HAVE_UTIME_NULL means old BSD utime()
20978         [0aeaf4b2f38b]
20979
20980         * check.c:
20981         fixed fascist C compiler warning
20982         [c61ddf2f1f93]
20983
20984         * interfaces.c:
20985         now set strioctl.ic_timout in STRSET() now initialize num_interfaces
20986         to 0 (just to be anal)
20987         [c54cc2ba0052]
20988
20989 1995-06-18  Todd C. Miller  <Todd.Miller@courtesan.com>
20990
20991         * sudo.h:
20992         increaed MAXLOGLEN by MAXPATHLEN to account for ttyname
20993         [74cf585a54fb]
20994
20995         * logging.c:
20996         added tty logging
20997         [e27d8dcfbd78]
20998
20999         * interfaces.c:
21000         reworked the ISC code
21001         [bcf57ce8ae69]
21002
21003         * Makefile.in, version.h:
21004         updated version
21005         [032941c9b94d]
21006
21007         * check.c:
21008         now expect old-style utime(3) if utime() can't take NULL as an arg
21009         [018dd4a73030]
21010
21011         * configure.in:
21012         added check for utime.h
21013         [0b76e8feb618]
21014
21015         * config.h.in:
21016         added HAVE_UTIME_H
21017         [62ee42feda46]
21018
21019         * Makefile.in:
21020         added CPPFLAGS STATIC_FLAGS -> LDFLAGS
21021         [fa3201d294e1]
21022
21023         * configure.in:
21024         now search for kerb libs and includes
21025         [cc332401e571]
21026
21027         * check.c:
21028         added support for utime(2)'s that can't take a NULL parameter
21029         [98797fedf69f]
21030
21031         * utime.c:
21032         moved HAVE_UTIME_NULL stuff to update_timestamp() where t belongs
21033         [6ce6d825fb44]
21034
21035         * configure.in:
21036         added utime(s) stuff
21037         [a2afb744403e]
21038
21039         * check.c:
21040         now use utime()
21041         [48902240a51e]
21042
21043         * config.h.in:
21044         added HAVE_UTIME and HAVE_UTIME_NULL
21045         [9a56ab65d4f4]
21046
21047 1995-06-17  Todd C. Miller  <Todd.Miller@courtesan.com>
21048
21049         * utime.c:
21050         now use HAVE_UTIME_NULL
21051         [e3944de09a92]
21052
21053         * emul/utime.h, utime.c:
21054         Initial revision
21055         [a2cbf2ef3427]
21056
21057         * check.c:
21058         need to setuid(0) to make kerb4 stuff work.
21059         [c6cfda4039d7]
21060
21061         * tgetpass.c:
21062         no more special case for kerberos
21063         [4a5c33145be9]
21064
21065         * config.h.in:
21066         took out setreuid and setresuid stuff added kerb5 stuff (use kerb4
21067         emulation)
21068         [a607ee43e650]
21069
21070         * compat.h:
21071         no longer need setreuid() emulation now set _PASSWD_LEN to 128 if
21072         kerberos
21073         [02fb274cc136]
21074
21075         * check.c:
21076         now use private ticket file for kerberos support to avoid trouncing
21077         on system one
21078         [28d8b6b812c7]
21079
21080 1995-06-15  Todd C. Miller  <Todd.Miller@courtesan.com>
21081
21082         * sudo.h:
21083         added SPOOF_ATTEMPT & cmnd_st
21084         [d3b42a1f4d0d]
21085
21086         * sudo.c:
21087         added anti-spoofing support
21088         [ab1e2aa44a57]
21089
21090         * parse.c:
21091         now use global cmnd_st
21092         [47018265a1a6]
21093
21094         * logging.c:
21095         added SPOOF_ATTEMPT suypport
21096         [7bbe9dd2a021]
21097
21098         * testsudoers.c, visudo.c:
21099         added void casts where appropriate
21100         [f191441ba333]
21101
21102         * parse.yacc:
21103         fixed up spacing and added void casts where appropriate
21104         [15d886fc809c]
21105
21106         * sudo.c:
21107         fixed problem with "-p prompt" but no args
21108         [6fc048261a3e]
21109
21110 1995-06-14  Todd C. Miller  <Todd.Miller@courtesan.com>
21111
21112         * sudo.man:
21113         added BUGS and annotated -l description
21114         [e5c506de2603]
21115
21116         * sudo.h:
21117         validate() now takes a flag
21118         [26627becc60a]
21119
21120         * sudo.c:
21121         validate() now takes a flag added -l
21122         [a4f7bb97fe54]
21123
21124         * parse.yacc:
21125         added support for -l
21126         [e7a9b10b0ad3]
21127
21128         * parse.c:
21129         validate() now takes a flag that says whether or not to check the
21130         command
21131         [9e1e67f4e281]
21132
21133 1995-06-08  Todd C. Miller  <Todd.Miller@courtesan.com>
21134
21135         * logging.c:
21136         now deals with Argv == 1
21137         [0acb637ab635]
21138
21139         * sudo.man:
21140         added -p option
21141         [e60382fc0561]
21142
21143         * sudo.c:
21144         added prompt support reworked parse_args()
21145         [2f605267ed4a]
21146
21147         * sudo.h:
21148         added prompt
21149         [5ab021bdb419]
21150
21151         * options.h:
21152         added PASSPROMPT
21153         [614727ff44a2]
21154
21155         * check.c:
21156         now use BUFSIZ as length of kerb password added kpass so pass is
21157         always a char * now use prompt global when asking for a password
21158         [76be09af784f]
21159
21160         * tgetpass.c:
21161         now use BUFSIZ as _PASSWD_LEN if using kerberos
21162         [1e907eed312b]
21163
21164         * OPTIONS:
21165         added PASSPROMPT
21166         [ddb2f405ce40]
21167
21168 1995-06-07  Todd C. Miller  <Todd.Miller@courtesan.com>
21169
21170         * configure.in:
21171         only look for -lufc or -lcrypt if crypt() not in libc
21172         [9717d315661f]
21173
21174         * check.c:
21175         don't exit on kerb error, just warn if k_errno == KDC_PR_UNKNOWN
21176         (unknown user) silently fail
21177         [2b48693d4ee9]
21178
21179         * INSTALL:
21180         added kerb4 note
21181         [986e393f740c]
21182
21183         * tgetpass.c:
21184         HAVE_KERBEROS -> HAVE_KERB4
21185         [e438bfb5e6aa]
21186
21187         * check.c:
21188         removed debugging printf
21189         [1cf9f5cbffa5]
21190
21191         * configure.in:
21192         KERBEROS -> KERB4 added checks for setreuid & setresuid
21193         [01e9945beb1e]
21194
21195         * config.h.in:
21196         HAVE_KERBEROS -> HAVE_KERB4 added HAVE_SETREUID and HAVE_SETRESUID
21197         [0e0bb5b8ac3e]
21198
21199         * compat.h:
21200         added deif of UID_NO_CHANGE & GID_NO_CHANGE added setreuid emulation
21201         with setresuid if applic
21202         [9dae24c47696]
21203
21204         * check.c:
21205         HAVE_KERBEROS -> HAVE_KERB4 now only do the stupid chown() hack if
21206         no setreuid() or a broken one
21207         [1fca642bdb8e]
21208
21209 1995-06-06  Todd C. Miller  <Todd.Miller@courtesan.com>
21210
21211         * configure.in:
21212         added kerberos support
21213         [da5639b9b8e7]
21214
21215         * config.h.in:
21216         added HAVE_KERBEROS
21217         [fcc5be550e65]
21218
21219         * tgetpass.c:
21220         added KERBEROS support (long passwords)
21221         [303ba6924dd2]
21222
21223         * check.c:
21224         added kerberos support
21225         [e40afe98fc1d]
21226
21227 1995-06-03  Todd C. Miller  <Todd.Miller@courtesan.com>
21228
21229         * sudo.h:
21230         added MODE_BACKGROUND
21231         [9b483c932016]
21232
21233         * sudo.man:
21234         escaped dashes added -b option
21235         [62e84f1a7714]
21236
21237         * sudo.c:
21238         added -b option
21239         [7e78aaefeb95]
21240
21241         * check.c:
21242         added crypt() for osf/1 3.x enhanced secuiry
21243         [e9aa5abdb7d5]
21244
21245         * configure.in:
21246         now check for -lcrypt
21247         [5cb9c67e9fa2]
21248
21249         * interfaces.c:
21250         added ENXIO like EADDRNOTAVAIL
21251         [74223bb1ba75]
21252
21253 1995-05-08  Todd C. Miller  <Todd.Miller@courtesan.com>
21254
21255         * configure.in:
21256         now emulate getwd(), not getcwd()
21257         [3e5439d9a5f4]
21258
21259         * sudo.c:
21260         getcwd() -> getwd()
21261         [6392a96a658e]
21262
21263         * getwd.c:
21264         getcwd -> getwd
21265         [1b0ab9bae11e]
21266
21267 1995-05-02  Todd C. Miller  <Todd.Miller@courtesan.com>
21268
21269         * ins_2001.h, ins_classic.h, ins_goons.h:
21270         Initial revision
21271         [86db60d8cf00]
21272
21273         * insults.h:
21274         broke out insults into separate include files
21275         [0a01993bd38a]
21276
21277         * OPTIONS, options.h:
21278         added GOONS
21279         [e283203c6515]
21280
21281         * Makefile.in:
21282         added ins_2001.h ins_classic.h ins_goons.h
21283         [2a39cd6a4cd2]
21284
21285         * Makefile.in, version.h:
21286         ++version
21287         [05ebf4f5e41a]
21288
21289         * visudo.c:
21290         moved signal handler setup to setup_signals()
21291         [3dd976c04540]
21292
21293         * sudo.h:
21294         added load_interfaces()
21295         [af2d473b09e2]
21296
21297         * sudo.c:
21298         moved load_interfaces to interfaces.c
21299         [5c8c138e5d4c]
21300
21301         * parse.yacc:
21302         added clearaliases
21303         [aeb4ff301daa]
21304
21305         * OPTIONS, options.h:
21306         added FAST_MATCH
21307         [f49ea3d1b525]
21308
21309         * parse.lex:
21310         now uses clearaliases variable
21311         [a2dda415bf61]
21312
21313         * interfaces.c:
21314         Initial revision
21315         [a1990e3f5c69]
21316
21317         * Makefile.in:
21318         added interfaces.[co]
21319         [1e8e5984de97]
21320
21321         * testsudoers.c:
21322         now uses ip addrs and netmasks via load_interfaces()
21323         [54b8f7a6835e]
21324
21325         * sudo.c:
21326         now remove IFS instead of setting to "sane" value
21327         [ce7eec9f115e]
21328
21329 1995-05-01  Todd C. Miller  <Todd.Miller@courtesan.com>
21330
21331         * parse.c:
21332         added FAST_MATCH
21333         [816d4f5fe81a]
21334
21335 1995-04-30  Todd C. Miller  <Todd.Miller@courtesan.com>
21336
21337         * Makefile.in:
21338         sudo_goodpath.c-> goodpath.c
21339         [a5072c4e1de2]
21340
21341         * sudo.c:
21342         added Andy's new ISC changes
21343         [caa6bbee358e]
21344
21345 1995-04-14  Todd C. Miller  <Todd.Miller@courtesan.com>
21346
21347         * OPTIONS:
21348         added a sentence to SECURE_PATH info
21349         [cad6e1569d15]
21350
21351         * BUGS:
21352         added one
21353         [4b35cf699a83]
21354
21355         * CHANGES:
21356         updated
21357         [5fded9dc62f0]
21358
21359         * RUNSON:
21360         updated
21361         [33cb993cfd39]
21362
21363 1995-04-13  Todd C. Miller  <Todd.Miller@courtesan.com>
21364
21365         * RUNSON:
21366         updated for beta3
21367         [a05dc6a91995]
21368
21369         * Makefile.in, version.h:
21370         ++version
21371         [54aaf3fadc75]
21372
21373         * aclocal.m4:
21374         sendmail is now looked for in \17/usr/ucblib
21375         [231ac1a4662f]
21376
21377         * sudo.c:
21378         fixed indentation
21379         [fb137400c8c2]
21380
21381         * aclocal.m4:
21382         fixed a typo
21383         [e03f1acc468b]
21384
21385         * sudo.c:
21386         updated ISC mods
21387         [070290d4754b]
21388
21389         * configure.in:
21390         added unixware case
21391         [e90250bae0d9]
21392
21393         * check.c:
21394         user_is_exempt is no longer hidden
21395         [1a341765b8af]
21396
21397         * RUNSON:
21398         updated
21399         [a9c4898b26dd]
21400
21401         * aclocal.m4:
21402         isc and riscos changes
21403         [98b5d86585d1]
21404
21405         * OPTIONS:
21406         added NOTE about new interaction of EXEMPTGROUP and SECURE_PATH
21407         [e1ecc464ce4b]
21408
21409         * Makefile.in:
21410         fixed a typo and added testsudoers stuff
21411         [435d60e163dc]
21412
21413         * testsudoers.c:
21414         Initial revision
21415         [6ce14a448662]
21416
21417 1995-04-12  Todd C. Miller  <Todd.Miller@courtesan.com>
21418
21419         * parse.yacc:
21420         applied fixed patch from Chris
21421         [cd6144203d13]
21422
21423 1995-04-11  Todd C. Miller  <Todd.Miller@courtesan.com>
21424
21425         * Makefile.in:
21426         fixed a typo
21427         [34f8a54ba041]
21428
21429         * parse.yacc:
21430         added a set of braces for bison
21431         [f0e43b938914]
21432
21433         * parse.yacc:
21434         merged in Chris' changes to dekludge the parser.
21435         [82d6e373ab1c]
21436
21437         * logging.c:
21438         send_mail() was calling find_path() which is wrong since find_path()
21439         stores cmnd in a static var. Anyhow, it doesn't make much sense
21440         since MAILER should always be fully qualified
21441         [6eae6a0b8098]
21442
21443 1995-04-10  Todd C. Miller  <Todd.Miller@courtesan.com>
21444
21445         * sample.sudoers:
21446         added User_Alias stuff
21447         [aaba8c8e918d]
21448
21449         * aclocal.m4:
21450         SUDO_NEXT now looks for /usr/lib/NextStep/software_version
21451         [52bd81f34b32]
21452
21453         * RUNSON:
21454         added DEC UNIX 3.0 w/ gcc
21455         [7daf570775b5]
21456
21457         * visudo.c:
21458         Exit was being used in places where exit should be used
21459         [6026a89c07ed]
21460
21461         * sudoers:
21462         added "User alias specification"
21463         [a487b6e234f8]
21464
21465         * parse.yacc:
21466         fixed probs caused by making nslots and naliases a size_t
21467         [0be919384f3f]
21468
21469         * RUNSON:
21470         added KSR, upped rev to 1.3.1b2
21471         [ce04ee6faadf]
21472
21473         * logging.c, parse.yacc:
21474         1024 -> BUFSIZ
21475         [cd6dda45fa11]
21476
21477         * parse.yacc:
21478         void * -> VOID * naliases and nslots are now size_t to appease
21479         lsearch on 64-bit machines
21480         [bf2f807c0dc1]
21481
21482 1995-04-09  Todd C. Miller  <Todd.Miller@courtesan.com>
21483
21484         * TODO:
21485         did a bunch of things and added a bunch :-)
21486         [42afd957b829]
21487
21488         * PORTING:
21489         updated
21490         [972f95c85776]
21491
21492         * visudo.man:
21493         closer to BSD manpage style
21494         [07ae88f50325]
21495
21496         * sudo.man:
21497         closer to standard BSD man format
21498         [372c28dcc135]
21499
21500         * compat.h, config.h.in, emul/search.h, insults.h, options.h,
21501         pathnames.h.in, sudo.h, version.h:
21502         added RCS id
21503         [c0ec90b81002]
21504
21505         * sudo.h:
21506         removed crufty #defines that are no longer used
21507         [35e2b4b477f0]
21508
21509         * BUGS:
21510         fixed a bug
21511         [5bb3e1bee85e]
21512
21513         * sudo.man:
21514         updated based on sudo changes
21515         [e65de1cae438]
21516
21517         * parse.yacc:
21518         now allow ALL keyword in User_Aliases now allow ALL keyword as well
21519         as a NAME or ALIAS
21520         [1fb31404dd0f]
21521
21522         * CHANGES:
21523         updated
21524         [b24018ac610b]
21525
21526         * sudo.c:
21527         now sets SUDO_COMMAND and SUDO_GID envariables.
21528         [e9d791557fb7]
21529
21530         * aclocal.m4:
21531         fixed bug with full void impl check
21532         [35715301023c]
21533
21534         * parse.yacc:
21535         fixed User_Alias supoprt
21536         [4c30dfbaaa07]
21537
21538         * parse.yacc:
21539         added stubs for User_Alias support
21540         [f4afbd247edf]
21541
21542         * sudo.c:
21543         now sets removes # bogus interfaces from num_interfaces
21544         [6f077fac9ab1]
21545
21546         * parse.lex:
21547         added User_Alias support
21548         [bc7997e5df85]
21549
21550 1995-04-08  Todd C. Miller  <Todd.Miller@courtesan.com>
21551
21552         * Makefile.in:
21553         removed extraneous TODO
21554         [bc87a3b14d6d]
21555
21556 1995-04-07  Todd C. Miller  <Todd.Miller@courtesan.com>
21557
21558         * visudo.c:
21559         ntwk_matches -> addr_matches
21560         [475044e288b8]
21561
21562         * parse.yacc:
21563         ntwk_matches -> addr_matches
21564         [dd1f4093fd2d]
21565
21566         * parse.c:
21567         ntwk_matches -> addr_matches now use inet_addr() not inet_network()
21568         (which expects octet boundaries) fixes for OSF (sizeof(int) !=
21569         sizeof(long))
21570         [acd2f556940f]
21571
21572         * sudo.c:
21573         took out debugging info
21574         [044023063eca]
21575
21576         * aclocal.m4:
21577         OS was being set to unknown before non-uname based host checks.
21578         This caused no checks to happen since $OS was not zero-length.
21579         [335a7267479d]
21580
21581         * sudo.c:
21582         fixed loading of interfaces struct still has debugging info in
21583         though
21584         [2d1a18998c1e]
21585
21586         * parse.c:
21587         fixed typo
21588         [175674a3a9fa]
21589
21590 1995-04-06  Todd C. Miller  <Todd.Miller@courtesan.com>
21591
21592         * Makefile.in:
21593         ++version
21594         [55d191b5daa3]
21595
21596         * version.h:
21597         ++
21598         [d7d1f115696a]
21599
21600         * visudo.c:
21601         removed extraneous extern decl of "top
21602         [50355621047d]
21603
21604         * visudo.c:
21605         now zeros "top"
21606         [4e683210345b]
21607
21608         * parse.yacc:
21609         removed parser_cleanup (no need for it now)
21610         [afa59f222b6c]
21611
21612         * parse.lex:
21613         now calls reset_aliases() directly
21614         [3a23cbd60fc0]
21615
21616 1995-04-04  Todd C. Miller  <Todd.Miller@courtesan.com>
21617
21618         * OPTIONS:
21619         added a sentence to SECURE_PATH description
21620         [c5bf75b85af0]
21621
21622         * parse.c:
21623         fixed my stupid bug where I used NAMLEN on something I wanted to
21624         just get the name from. argh.
21625         [111f460f6540]
21626
21627 1995-04-03  Todd C. Miller  <Todd.Miller@courtesan.com>
21628
21629         * lsearch.c:
21630         fixed argument order of memmove() that i hosed when converting from
21631         bcopy(). arghh.
21632         [2f5336045c8b]
21633
21634         * Makefile.in:
21635         finally fixed DISTFILES line
21636         [a1b419e73a63]
21637
21638         * Makefile.in:
21639         tabs -> spaces
21640         [280fb03e5764]
21641
21642         * Makefile.in:
21643         added missing files to DISTFILES
21644         [991fc1cd2263]
21645
21646         * Makefile.in:
21647         SUPPORTED -> RUNSON
21648         [7580e65b05fb]
21649
21650 1995-04-01  Todd C. Miller  <Todd.Miller@courtesan.com>
21651
21652         * TODO:
21653         updated
21654         [fe764a29c1cc]
21655
21656         * RUNSON:
21657         updated for pl5b1 release
21658         [aefc35bd2291]
21659
21660         * BUGS, TODO:
21661         updated
21662         [8f0ea249b687]
21663
21664         * check.c:
21665         fixed bug where if you hit return at first sudo prompt it would
21666         still log as a failure
21667         [24539c854692]
21668
21669         * CHANGES:
21670         updated
21671         [251cc7b3ede4]
21672
21673         * aclocal.m4:
21674         better test for bogus void * implementation
21675         [efe23180cb88]
21676
21677         * logging.c:
21678         added PASSWORDS_NOT_CORRECT
21679         [bd12c73f83f7]
21680
21681         * check.c:
21682         added PASSWORDS_NOT_CORRECT stuff]
21683         [90de391a979f]
21684
21685         * sudo.h:
21686         added PASSWORDS_NOT_CORRECT
21687         [727fbeb76fc5]
21688
21689         * tgetpass.c:
21690         moved pathnames.h
21691         [4f910e5a8df7]
21692
21693         * sudo.c:
21694         removed some unused vars and fixed up uid2str
21695         [70e92c7f9076]
21696
21697         * putenv.c:
21698         moved compat.h
21699         [b271091586f6]
21700
21701         * getcwd.c, getwd.c:
21702         added pathnames.h
21703         [6f25218f133f]
21704
21705 1995-03-31  Todd C. Miller  <Todd.Miller@courtesan.com>
21706
21707         * parse.yacc:
21708         fixed a typo I introduced in the last checkin :-(
21709         [62c3af75c4fe]
21710
21711         * parse.lex:
21712         can't have #ifdef's where N is defined so just do this the broken
21713         way for AIX
21714         [c5648a5594e4]
21715
21716         * parse.yacc:
21717         better hack from Chris (but still a hack)
21718         [6b6d8aed93f3]
21719
21720         * parse.lex:
21721         stupid hack for broken aix lex
21722         [efc3f9e5280e]
21723
21724         * tgetpass.c:
21725         now includes compat.h \ 6
21726         [401822173f77]
21727
21728         * visudo.c:
21729         now includes fcntl.h
21730         [63865c2f8ac6]
21731
21732         * compat.h:
21733         added FD_SET and FD_ZERO for 4.2BSD
21734         [00c5597c0bb0]
21735
21736         * parse.yacc:
21737         dirty hack to fix parser bug. i don't really like this but it works
21738         for now...
21739         [5b8bbdc81569]
21740
21741         * sudo.c:
21742         uid2str is now static like the prototype says
21743         [f2a97b5cb870]
21744
21745 1995-03-30  Todd C. Miller  <Todd.Miller@courtesan.com>
21746
21747         * CHANGES, SUPPORTED, TODO, TROUBLESHOOTING:
21748         updated
21749         [6f79c3e92716]
21750
21751         * RUNSON:
21752         Initial revision
21753         [12a09ef9e884]
21754
21755         * sudo.c:
21756         check_sudoers now returns an error code and sudo calls inform_user
21757         and log_error based on the return value.
21758         [340eca188d9a]
21759
21760         * logging.c, sudo.h:
21761         added entries for new errors
21762         [6050d8542e1f]
21763
21764         * parse.c:
21765         now set uid to that of SUDOERS_OWNER while parsing sudoers file
21766         [3683c42bc9b0]
21767
21768         * Makefile.in:
21769         took out testsudoers \ 6
21770         [65317d49db48]
21771
21772         * sudo.c:
21773         now explicately checks that it is setuid root
21774         [2fe1be60ef6a]
21775
21776         * sudo.c:
21777         If a user has no passwd entry sudo would segv (writing to a garbage
21778         pointer). Now allocate space before writing :-)
21779         [d08e7eb5e5ef]
21780
21781         * configure.in:
21782         reordered AC_CHECK_FUNCS
21783         [4c82e56c6f4f]
21784
21785         * config.h.in:
21786         fixed memset macro
21787         [77ede6b714ab]
21788
21789         * tgetpass.c, visudo.c:
21790         bzero -> memset
21791         [1a005bb322c8]
21792
21793         * logging.c:
21794         bzero -> memset when a parse error is logged the line number of the
21795         error is now logged too
21796         [a42d68047723]
21797
21798         * INSTALL:
21799         added Sunos to blurb about c2 security
21800         [af750a1d131e]
21801
21802         * configure.in:
21803         added a SUN4 define for C2 security
21804         [6ad5b23a3eb0]
21805
21806         * config.h.in:
21807         bcopy -> memmove bzero -> memset
21808         [5494460c8464]
21809
21810         * lsearch.c:
21811         bcopy -> memmove char * -> VOID *
21812         [a15f5c316e16]
21813
21814         * check.c:
21815         added support for sunos with C2 security
21816         [03fea5bb21e6]
21817
21818         * OPTIONS, options.h:
21819         reordered
21820         [1686265af3e1]
21821
21822         * pathnames.h.in:
21823         _PATH_SUDO_LOGFILE now set based on configure
21824         [5867b58e4a04]
21825
21826         * configure.in:
21827         added SUDO_LOGFILE and SUDO_TYPE_SIZE_T
21828         [1984d9fd1b5c]
21829
21830         * config.h.in:
21831         added _SUDO_PATH_LOGFILE
21832         [dd3eebe62580]
21833
21834         * aclocal.m4:
21835         added SUDO_LOGFILE to find where to put sudo.log added
21836         SUDO_CHECK_TYPE (just AC_CHECK_TYPE but checks unistd.h too) added
21837         SUDO_TYPE_SIZE_T (calls SUDO_CHECK_TYPE)
21838         [c589a515a99a]
21839
21840 1995-03-29  Todd C. Miller  <Todd.Miller@courtesan.com>
21841
21842         * TROUBLESHOOTING:
21843         Initial revision
21844         [f42f1baba3a8]
21845
21846         * sudo.c:
21847         now do set_perms(PERM_ROOT) before the getpwuid() in load_global()
21848         to work around a problem is trusted hpux shadow passwords. yuck.
21849         [ae1f13b54687]
21850
21851         * parse.yacc:
21852         backed out a change in malloc/realloc
21853         [ab868db0ad69]
21854
21855         * parse.yacc:
21856         now include stdlib.h
21857         [957eef0631eb]
21858
21859         * visudo.c:
21860         now do an freopen() of the stmp file so that yyin will always point
21861         to the same thing. This is important for flex since we are doing a
21862         YY_NEWFILE
21863         [44558922fd3e]
21864
21865         * parse.yacc:
21866         replaced yywrap() with parser_cleanup() since yywrap() needs to be
21867         in parse.lex to be able to use YY_NEW_FILE. sigh.
21868         [12dd09921074]
21869
21870         * parse.lex:
21871         now have a rule that matches anything that doesn't match an
21872         explicite rule. well, you know what i mean (. matches anything not
21873         yet matched). However, this means that there is input still queued
21874         up so we need to do a YY_NEW_FILE; in yywrap. So, yywrap has moved
21875         into parse.lex and it calls parser_cleanup() which is most of the
21876         old yywrap() sigh.
21877         [7f4042bc48d6]
21878
21879         * SUPPORTED:
21880         no longer used
21881         [8f220be4da94]
21882
21883         * getcwd.c, getwd.c:
21884         moved compat.h to be the last include file
21885         [9f3a65e2d485]
21886
21887         * parse.yacc:
21888         fixed type of aliascmp() args
21889         [1c27eb989bdf]
21890
21891         * find_path.c:
21892         NULL -> '\0'
21893         [5c8d8cf1692e]
21894
21895         * parse.yacc:
21896         added casts to lfind and lsearch args for irix
21897         [61027ddeecf8]
21898
21899         * Makefile.in:
21900         bsdinstall -> install-sh
21901         [61de6612c5a5]
21902
21903         * INSTALL:
21904         added info about make realclean
21905         [29c6324d727f]
21906
21907         * Makefile.in:
21908         updated VERSION added dependencies for visudo.cat
21909         [09077d7229d4]
21910
21911         * version.h:
21912         -> pl5b1
21913         [5d21c7ad1a41]
21914
21915         * sudo.c:
21916         took out -l
21917         [fc1478d81b38]
21918
21919         * Makefile.in:
21920         now there is a real visudo.man and visudo.cat
21921         [58aeac43a6dd]
21922
21923         * sudo.man:
21924         took out visudo stuff
21925         [4a6ac4393343]
21926
21927         * visudo.man:
21928         Initial revision
21929         [cba348843db8]
21930
21931         * parse.c, parse.lex, parse.yacc:
21932         updated copyright
21933         [ffa16b70944a]
21934
21935         * README:
21936         updated for pl5
21937         [a26e423e9e5f]
21938
21939         * sudo.man:
21940         updated Nieusma & Hieb email addresses
21941         [f0083e71989d]
21942
21943         * INSTALL:
21944         updated to include options.h and OPTIONS
21945         [ee59e2b76c94]
21946
21947         * CHANGES, TODO:
21948         updated
21949         [51e011ad5220]
21950
21951         * BUGS:
21952         eliminated bug #1 (yay)
21953         [e7e88515494e]
21954
21955         * configure.in:
21956         sunos no longer gets linked statically
21957         [2e5b3ff3108f]
21958
21959 1995-03-28  Todd C. Miller  <Todd.Miller@courtesan.com>
21960
21961         * parse.lex:
21962         prototype now uses __P()
21963         [68ecdcab4c70]
21964
21965         * parse.lex:
21966         make fill() non-ansi
21967         [d6509972260b]
21968
21969         * parse.c:
21970         made -v (validate) work
21971         [13c9d520638c]
21972
21973         * logging.c:
21974         now gives host
21975         [f04859cdba5a]
21976
21977         * find_path.c:
21978         don't check for execute/statable if fq or relative path given
21979         [4bbe851f3973]
21980
21981         * parse.c:
21982         added a cast
21983         [345c308f72f3]
21984
21985         * visudo.c:
21986         now include ctype.h for islower and tolower macros
21987         [582c0aa332d5]
21988
21989         * goodpath.c:
21990         moved _S_IFMT & _S_ISREG to compat.h
21991         [828e4ca4e7b4]
21992
21993         * sudo.c:
21994         moved a set of parens
21995         [5783474ecf37]
21996
21997         * strdup.c:
21998         now include compat.h
21999         [75e2036b94af]
22000
22001         * emul/search.h:
22002         void * -> VOID *
22003         [cedcfaf04161]
22004
22005         * parse.yacc:
22006         now cast malloc & realloc return vals added search for HAVE_LSEARCH
22007         now use strcmp if no strcasecmp available
22008         [d6a42bc3d4ae]
22009
22010         * lsearch.c:
22011         void * -> VOID *
22012         [886adc44f607]
22013
22014         * config.h.in:
22015         removed HAVE_FLEX added VOID added HAVE_DIRENT_H, HAVE_SYS_NDIR_H,
22016         HAVE_SYS_DIR_H, HAVE_NDIR_H added HAVE_LSEARCH
22017         [3b50d7fb4349]
22018
22019         * compat.h:
22020         added _S_IFMT, _S_IFREG, and S_ISREG
22021         [73d506c7d53c]
22022
22023         * aclocal.m4:
22024         took out SUDO_PROG_INSTALL 1.x to 2.x changes added echo and results
22025         to most SUDO_* macros
22026         [8442155f5936]
22027
22028         * Makefile.in:
22029         no more -I.
22030         [63462f195bd4]
22031
22032         * configure.in:
22033         various 1.x ro 2.x autoconf changes now check for strcasecmp now use
22034         AC_INSTALL_PROG instead of custom one added check for fully woorking
22035         void implementation
22036         [5ac6b6e6230f]
22037
22038         * Makefile.in:
22039         added lsearch & search.h visudo links into $(LIBOBJS)
22040         [bc119cda4598]
22041
22042         * aclocal.m4:
22043         partial 1.x to 2.x changes added SUDO_FULL_VOID
22044         [1194d01fa5c5]
22045
22046         * visudo.c:
22047         whatnow_help was prototyped to be static be was not declared as
22048         such
22049         [0f85489dd426]
22050
22051         * configure.in:
22052         autoconf 2.x changes took out HAVE_FLEX (no longer used) added check
22053         for dirent/dir/ndir.h
22054         [7408f3854948]
22055
22056         * parse.c:
22057         now use groovy gnu autoconf macro AC_HEADER_DIRENT
22058         [e465db9f5dfa]
22059
22060         * getcwd.c, getwd.c:
22061         MAXPATHLEN -> MAXPATHLEN+1
22062         [714d87424e21]
22063
22064         * emul/search.h, lsearch.c:
22065         Initial revision
22066         [55d79482c535]
22067
22068 1995-03-27  Todd C. Miller  <Todd.Miller@courtesan.com>
22069
22070         * parse.yacc:
22071         eliminated bison warnings
22072         [61ca0a96da22]
22073
22074         * parse.lex:
22075         added missing case
22076         [6be0f849747c]
22077
22078         * visudo.c:
22079         now iincludes signal.h
22080         [221e0fcc144f]
22081
22082         * parse.yacc:
22083         only clear data structures on a parse error
22084         [7b1c0f1a4527]
22085
22086         * visudo.c:
22087         whatnow() now gives help on invalid input
22088         [e5a4cd88c587]
22089
22090         * visudo.c:
22091         added a whatnow() function (sort of like mh)
22092         [932d9b145f1c]
22093
22094         * parse.yacc:
22095         kill_aliases -> reset_aliases yywrap() now cleans up by calling
22096         reset_aliases() and clearing top took reset stuff out of yyerror()
22097         since it doesn't beling there (and doesn't work anyway). errorlineno
22098         is now initially set to -1 so we can set it to the first error that
22099         occurrs (it was getting set to the last)
22100         [2f71f95a974c]
22101
22102         * parse.lex:
22103         added a void cast
22104         [18ae6042dce4]
22105
22106         * visudo.c:
22107         rewrote from scratch based on 4.3BSD vipw.c
22108         [2f6814f18576]
22109
22110 1995-03-26  Todd C. Miller  <Todd.Miller@courtesan.com>
22111
22112         * sudo.c, sudo.h:
22113         removed ocmnd
22114         [a31735f41ad4]
22115
22116         * sudo.h:
22117         no more sudo_realpath() and find_path() changed params
22118         [8e85c3b39159]
22119
22120         * sudo.c:
22121         find_path() changed since no more realpath()
22122         [b25366c7f2ee]
22123
22124         * parse.yacc:
22125         on error, errorlineno is set to the line where the error occurred
22126         added kill_aliases() to free the aliases struct now clean up in
22127         yyerror() so we can reparse cleanly
22128         [2342f578c27a]
22129
22130         * options.h, parse.c:
22131         no more USE_REALPATH
22132         [cfc59babeaff]
22133
22134         * logging.c:
22135         changed to use new find_path()
22136         [91c7a38e7751]
22137
22138         * find_path.c:
22139         removed all the realpath() stuff
22140         [cc21a43a8562]
22141
22142         * Makefile.in:
22143         sudo_realpath.c -> sudo_goodpath.c
22144         [03a9b1ddec2f]
22145
22146         * visudo.c:
22147         now works correctly with utk parser
22148         [08aa554a0ce8]
22149
22150         * goodpath.c:
22151         Initial revision
22152         [1ea607e1ffb2]
22153
22154         * sudo_realpath.c:
22155         eliminated a compiler warning
22156         [198bcccc55b6]
22157
22158         * sudo.c:
22159         elinated compiler warning
22160         [e2384f9a878b]
22161
22162         * sudo_realpath.c:
22163         added sudo_goodpath()
22164         [43878c4cc540]
22165
22166         * sudo.h:
22167         added prototype for sudo_goodpath
22168         [23e8627a2265]
22169
22170         * parse.c:
22171         added support for /sys/dir.h
22172         [eca897087741]
22173
22174         * options.h:
22175         USE_REALPATH turned off
22176         [620ac8b63d85]
22177
22178         * find_path.c:
22179         added calls to sudo_goodpath()
22180         [ad170904fbcd]
22181
22182         * configure.in:
22183         added check for dirent.h
22184         [7964a8c26855]
22185
22186         * config.h.in:
22187         added HAVE_DIRENT_H
22188         [1f785fec7e19]
22189
22190         * configure.in:
22191         added in linux shadow pass stuff \ 6
22192         [e585a5785f50]
22193
22194 1995-03-24  Todd C. Miller  <Todd.Miller@courtesan.com>
22195
22196         * visudo.c:
22197         added back host, user, cmnd, parse_error
22198         [0ec19f3d64f4]
22199
22200         * visudo.c:
22201         added in utk changes plus some minor cosmetic changes
22202         [c5c1921c8a58]
22203
22204         * sudo.c, sudo_realpath.c:
22205         added void casts for printf's
22206         [9c6ff11c0082]
22207
22208         * options.h:
22209         added a define of USE_REALPATH
22210         [db3711c9efc5]
22211
22212         * configure.in:
22213         there is no more visudoers/Makefile
22214         [36e1bc1f78d0]
22215
22216         * Makefile.in:
22217         added in utk changes (visudo is now built from the toplevel)
22218         [76203d4b345d]
22219
22220         * find_path.c:
22221         added (void) casts to printf's
22222         [dd5cb1e060ac]
22223
22224         * parse.c, parse.lex, parse.yacc, sudo.h, sudo_realpath.c:
22225         merged in utk changes
22226         [35563307fd8e]
22227
22228 1995-03-23  Todd C. Miller  <Todd.Miller@courtesan.com>
22229
22230         * find_path.c:
22231         now check to see that what we are trying to run is a file (or a link
22232         to a file, we do a stat(2) so there is no diff)
22233         [05889c4bcace]
22234
22235 1995-03-13  Todd C. Miller  <Todd.Miller@courtesan.com>
22236
22237         * CHANGES:
22238         updated
22239         [3e8047bb26fb]
22240
22241         * Makefile.in:
22242         aclocal.m4 -> acsite.m4 make realclean updated for new autoconf \ 6
22243         [0bdbaa7c4c7d]
22244
22245         * sudo.man:
22246         added myself as maintainer
22247         [77a9d75aab84]
22248
22249 1995-02-17  Todd C. Miller  <Todd.Miller@courtesan.com>
22250
22251         * sudo.c:
22252         changed setegid -> setgid
22253         [7f4788d73b6f]
22254
22255 1995-02-06  Todd C. Miller  <Todd.Miller@courtesan.com>
22256
22257         * configure.in:
22258         fixed the test for irix 5.x to skip bad libs
22259         [bfef896de013]
22260
22261         * aclocal.m4:
22262         now initialize OS and OSREV
22263         [cc302756e440]
22264
22265 1995-01-27  Todd C. Miller  <Todd.Miller@courtesan.com>
22266
22267         * configure.in:
22268         irix5 changes
22269         [ac985b23f5f2]
22270
22271         * configure.in:
22272         AC_WITH -> AC_ARG_WITH changes other misc changes for autoconf 2.1
22273         compatibility
22274         [0cf8c92a06d7]
22275
22276 1995-01-19  Todd C. Miller  <Todd.Miller@courtesan.com>
22277
22278         * visudo.c:
22279         use YY_NEW_FILE, not yyrestart since OSF flex doesn't do the righ
22280         thing wrt yyrestart (grrrr)
22281         [18e8eabfbb82]
22282
22283 1995-01-16  Todd C. Miller  <Todd.Miller@courtesan.com>
22284
22285         * Makefile.in:
22286         added visudoers/compat.h to DISTFILES
22287         [db23b574b034]
22288
22289         * configure.in:
22290         fixed an echo
22291         [7cbc0462b89d]
22292
22293         * sudo.c:
22294         added ocmnd declaration adjusted for find_path()'s new parameters
22295         [d929cd156474]
22296
22297         * sudo.h:
22298         added ocmnd extern adjusted find_path() prototype
22299         [e0004daf5d3c]
22300
22301         * parse.c:
22302         cmndcmp() now takes 3 arguments and checks against the qualified as
22303         well as the unqualified pathname. more code that should use
22304         cmndcmp() but did not, now does
22305         [6f70a8c17bee]
22306
22307         * options.h:
22308         added to a comment
22309         [7a78680426b2]
22310
22311         * logging.c:
22312         changed to use new find_path() parameter passing
22313         [840981d30db4]
22314
22315         * find_path.c:
22316         find_path() now takes 2 copyout parameters (one for the qualified
22317         pathname and one for the unqualified pathname). The third parameter
22318         may be NULL.
22319         [851503b005e9]
22320
22321         * configure.in:
22322         no longer munge pathnames.h
22323         [427d8796c5a9]
22324
22325         * pathnames.h.in:
22326         changed _PATH_* to use _SUDO_PATH_* (which are defined in config.h)
22327         as a result, pathnames.h does not need to be run through configure
22328         and the user can override the configured values easily.
22329         [2e378f2ebe88]
22330
22331         * config.h.in:
22332         added _SUDO_PATH_* entries
22333         [0857de7cebab]
22334
22335         * aclocal.m4:
22336         _PATH* -> _SUDO_PATH_*
22337         [7601193f56cc]
22338
22339         * Makefile.in:
22340         updated DISTFILES and HDRS .o's now depend on config.h
22341         [39d8601965cf]
22342
22343 1995-01-13  Todd C. Miller  <Todd.Miller@courtesan.com>
22344
22345         * compat.h:
22346         removed extraneous #endif
22347         [27d4c5f2ce7e]
22348
22349         * aclocal.m4:
22350         added SUDO_PROG_MV
22351         [76dda3bdd816]
22352
22353         * configure.in:
22354         added SUDO_PROG_MV added riscos and isc os types took out
22355         -DSHORT_MESSAGE from --with-csops since it is now the default
22356         [68c206ad976e]
22357
22358         * sudo.c:
22359         move the include of id.h to compat.h now includes options.h
22360         [45a1eaafb3a8]
22361
22362         * sudo.h:
22363         moved compatibility #defines to compat.h
22364         [0eee27057698]
22365
22366         * pathnames.h.in:
22367         added _PATH_MV
22368         [e830797ab320]
22369
22370         * config.h.in:
22371         move __P to compat.h
22372         [188e12e0ba93]
22373
22374         * getcwd.c, getwd.c, putenv.c:
22375         now includes compat.h
22376         [c72cb6d73981]
22377
22378         * compat.h:
22379         Initial revision
22380         [d4d2f359ae03]
22381
22382 1995-01-12  Todd C. Miller  <Todd.Miller@courtesan.com>
22383
22384         * sudo.h:
22385         pull user-configurable stuff out and put in options.h
22386         [ef929467b070]
22387
22388 1995-01-11  Todd C. Miller  <Todd.Miller@courtesan.com>
22389
22390         * parse.lex, parse.yacc, visudo.c:
22391         now includes options.h
22392         [e36d7c82add1]
22393
22394         * check.c, find_path.c, logging.c, parse.c, sudo_realpath.c,
22395         sudo_setenv.c:
22396         now includes options.h
22397         [f186ba03de07]
22398
22399         * Makefile.in:
22400         added visudoers/options.h
22401         [e5350c476494]
22402
22403         * OPTIONS, options.h:
22404         Initial revision
22405         [9b6b5001e318]
22406
22407         * Makefile.in:
22408         added OPTIONS and options.h
22409         [25448341e16a]
22410
22411         * logging.c:
22412         changed #ifdef's to use LOGGING and SLOG_SYSLOG/SLOG_FILE
22413         [5dd6385dd1d3]
22414
22415         * check.c, sudo.h:
22416         changed PASSWORD_TIMEOUT to minutes
22417         [0ec6aab98738]
22418
22419 1994-12-17  Todd C. Miller  <Todd.Miller@courtesan.com>
22420
22421         * visudo.c:
22422         now only do Editor +line_num if line_num != 0
22423         [b69f04b5e3c7]
22424
22425 1994-12-16  Todd C. Miller  <Todd.Miller@courtesan.com>
22426
22427         * visudo.c:
22428         now use mv if rename(2) fails
22429         [83210dca1bab]
22430
22431         * BUGS:
22432         added a visudo bug
22433         [d61a806f9aa7]
22434
22435         * check.c:
22436         expanded comment
22437         [641f2cba94cb]
22438
22439 1994-11-12  Todd C. Miller  <Todd.Miller@courtesan.com>
22440
22441         * check.c:
22442         fixed user_is_exempt to return 0 if EXEMPTGROUP is not set
22443         [7a11135039a8]
22444
22445 1994-11-10  Todd C. Miller  <Todd.Miller@courtesan.com>
22446
22447         * sudo.c:
22448         added mips & isc support
22449         [e258dc053119]
22450
22451         * parse.c:
22452         added support for non-root owned sudoers file
22453         [fea07e65a0fc]
22454
22455         * check.c:
22456         added exempt group support
22457         [928fb4bd9ad5]
22458
22459         * sudo.h:
22460         added set_perms() support added SUDOERS_OWNER so can have non-root
22461         own sudoers file added exempt group support added isc support
22462         [61c578d31fc1]
22463
22464         * visudo.c:
22465         now copy sudoers to temp file via read/write (not stdio) now chown
22466         new sudoers file to SUDOERS_OWNER
22467         [a5176c59df70]
22468
22469 1994-11-08  Todd C. Miller  <Todd.Miller@courtesan.com>
22470
22471         * configure.in:
22472         added skey support
22473         [35a8d2fabdb7]
22474
22475         * sudo_realpath.c:
22476         be_* -> setperms()
22477         [a1631d686e1c]
22478
22479         * sudo.h:
22480         fixed typo added set_perms support added skey support added
22481         seteuid()/setegid() emulation for AIX
22482         [c0c8d6771406]
22483
22484         * sudo.c:
22485         be_* -> setperms() now check to make sure sudoers file is owned by
22486         root nread/write by only root
22487         [13ab1e261f1a]
22488
22489         * logging.c, parse.c:
22490         be_* -> setperms()
22491         [21499d845c8f]
22492
22493         * check.c:
22494         be_* -> set_perms() added skey support
22495         [df51b56871c1]
22496
22497 1994-11-06  Todd C. Miller  <Todd.Miller@courtesan.com>
22498
22499         * Makefile.in:
22500         ++version
22501         [3c1abbe4e43c]
22502
22503         * version.h:
22504         ++
22505         [1d2f9b540a95]
22506
22507 1994-10-21  Todd C. Miller  <Todd.Miller@courtesan.com>
22508
22509         * sudo.c:
22510         now sets IFS
22511         [eabbb41b9f08]
22512
22513         * insults.h:
22514         fixed typo
22515         [c7997f19216e]
22516
22517 1994-10-15  Todd C. Miller  <Todd.Miller@courtesan.com>
22518
22519         * config.h.in:
22520         added HAVE_SKEY
22521         [da948ec4186b]
22522
22523 1994-10-04  Todd C. Miller  <Todd.Miller@courtesan.com>
22524
22525         * CHANGES:
22526         updated
22527         [f4b55ab007ea]
22528
22529         * Makefile.in:
22530         ++version
22531         [0489068b8c95]
22532
22533         * version.h:
22534         ++
22535         [d189faedf423]
22536
22537         * sudo.c:
22538         now bail if ARgv[1] > MAXPATHLEN
22539         [0cea8ecc9dc2]
22540
22541         * configure.in:
22542         added function check for tcgetattr(3)
22543         [e03289b22c2f]
22544
22545         * config.h.in:
22546         only define HAVE_TERMIOS_H if you have tcgetattr(3)
22547         [757eab83d1a2]
22548
22549         * config.h.in:
22550         added check for tcgetattr
22551         [c5ae92715930]
22552
22553 1994-09-26  Todd C. Miller  <Todd.Miller@courtesan.com>
22554
22555         * CHANGES:
22556         updated
22557         [cbc419883108]
22558
22559 1994-09-22  Todd C. Miller  <Todd.Miller@courtesan.com>
22560
22561         * parse.lex:
22562         now only include unistd.h for linux
22563         [e9adeab95ef0]
22564
22565 1994-09-21  Todd C. Miller  <Todd.Miller@courtesan.com>
22566
22567         * Makefile.in:
22568         added visudo.8 generation
22569         [d6a3f0f887f8]
22570
22571         * configure.in:
22572         added -Wl,-bI:./aixcrypt.exp to aix flags
22573         [72594a21edcf]
22574
22575 1994-09-20  Todd C. Miller  <Todd.Miller@courtesan.com>
22576
22577         * BUGS:
22578         added one
22579         [9993a349e096]
22580
22581         * CHANGES:
22582         updated
22583         [297b31ec4cdd]
22584
22585         * README:
22586         added mailing list info
22587         [10372f94a2b2]
22588
22589         * parse.yacc:
22590         now use sudolineno instead of yylineno fixed bison warnings
22591         [25a83e62057b]
22592
22593         * configure.in:
22594         now use -no_library_replacement for osf don't make a static binary
22595         for hpux >= 9.0
22596         [1fa7b892f1a3]
22597
22598         * tgetpass.c:
22599         added string.h/strings.h inclusion
22600         [71faa98fc0a1]
22601
22602         * config.h.in:
22603         added ssize_t def
22604         [406284bd1ac0]
22605
22606         * parse.lex:
22607         added inclusion of string.h/strings.h
22608         [6985b1df5d09]
22609
22610         * aclocal.m4:
22611         fixed uname | sed (needed to quote the '[')
22612         [4cd2d3415c1a]
22613
22614         * parse.lex:
22615         replaced yylineno with sudolineno fixed bison syntax errors
22616         [0bd31a5fab26]
22617
22618         * visudo.c:
22619         changed yylineno to sudolineno since yylineno cannot be counted
22620         upon.
22621         [38c30104d0ae]
22622
22623         * TODO:
22624         updated
22625         [5d4746f1a752]
22626
22627         * parse.c:
22628         added code to support command listings
22629         [030172e133fd]
22630
22631         * sudo.c:
22632         added code for -l flag
22633         [801dbbc82778]
22634
22635         * sudo.man:
22636         fixed typo added info for -l flag
22637         [8916ca945d65]
22638
22639         * configure.in:
22640         AC_SSIZE_T -> SUDO_SSIZE_T
22641         [c61f7f47013f]
22642
22643         * aclocal.m4:
22644         added SUDO_SSIZE_T
22645         [0ccdb77be84d]
22646
22647         * sudo.h:
22648         added MODE_LIST
22649         [9b2bd844c76c]
22650
22651         * configure.in:
22652         added AC_SSIZE_T
22653         [35cca208f9b5]
22654
22655         * find_path.c, sudo_realpath.c:
22656         readlink() is now declared as returning ssize~_t
22657         [0640a08d1407]
22658
22659         * configure.in:
22660         added -laud for OSF c2
22661         [b7539c905efc]
22662
22663 1994-09-02  Todd C. Miller  <Todd.Miller@courtesan.com>
22664
22665         * Makefile.in, visudo.c:
22666         changed sudo-bugs.cs.colorado.edu -> sudo-bugs@cs.colorado.edu
22667         [067fd9bcb5e1]
22668
22669         * config.h.in, parse.lex, parse.yacc, pathnames.h.in:
22670         changed sudo-bugs.cs.colorado.edu -> sudo-bugs@cs.colorado.edu
22671         [fc46e7c7110a]
22672
22673         * check.c, find_path.c, getcwd.c, getwd.c, insults.h, logging.c,
22674         parse.c, putenv.c, strdup.c, sudo.c, sudo.h, sudo_realpath.c,
22675         sudo_setenv.c, tgetpass.c, version.h:
22676         changed sudo-bugs.cs.colorado.edu -> sudo-bugs@cs.colorado.ed
22677         [d1d4fbc53a98]
22678
22679 1994-09-01  Todd C. Miller  <Todd.Miller@courtesan.com>
22680
22681         * Makefile.in:
22682         ++version
22683         [b7066d97633f]
22684
22685         * version.h:
22686         ++
22687         [65ec69d88110]
22688
22689         * logging.c:
22690         added host to alertmail messages
22691         [d973c19ce777]
22692
22693         * CHANGES, TODO:
22694         udpated
22695         [5a65eb16faeb]
22696
22697         * logging.c:
22698         fixed logging problem where mail would not say which user it was
22699         [35723edcc5d2]
22700
22701         * configure.in:
22702         added -laud for gcc if osf & c2
22703         [18f1e0ae5548]
22704
22705         * check.c:
22706         moved set_auth_parameters to sudo.c
22707         [d23112fe01db]
22708
22709         * sudo.c:
22710         added set_auth_parameters for osf
22711         [eb70f65214ac]
22712
22713         * configure.in:
22714         cleaned up -static stuff
22715         [01e9575f0422]
22716
22717         * Makefile.in:
22718         ++version
22719         [7ac3bff5c770]
22720
22721         * version.h:
22722         ++
22723         [10a4ff478469]
22724
22725         * sudo.c:
22726         changed setenv() to sudo_setenv()
22727         [40a78abb9946]
22728
22729         * check.c:
22730         fixed osf problem
22731         [3d69b118efb8]
22732
22733         * configure.in:
22734         added OSF C2 stuff
22735         [38cff3ad4093]
22736
22737         * CHANGES:
22738         updated
22739         [cd341dd0581a]
22740
22741         * check.c:
22742         added osf auth support & removed some extra spaces
22743         [a448cdd81514]
22744
22745         * INSTALL, SUPPORTED:
22746         added osf C2 stuff
22747         [f70484796146]
22748
22749 1994-08-31  Todd C. Miller  <Todd.Miller@courtesan.com>
22750
22751         * TODO:
22752         added 2 suggestions
22753         [695fbdbd86e6]
22754
22755         * Makefile.in:
22756         removed README.v1.3.1 and added VERSION stuff
22757         [f69403eb04c6]
22758
22759         * version.h:
22760         pl1
22761         [21580c0f8cb1]
22762
22763 1994-08-30  Todd C. Miller  <Todd.Miller@courtesan.com>
22764
22765         * version.h:
22766         1.3.1final
22767         [630114970298]
22768
22769         * Makefile.in:
22770         added HISTORY
22771         [901bff251614]
22772
22773         * sudo.man:
22774         mention HISTPRY file
22775         [86dbcfd4326e]
22776
22777         * sudo.c:
22778         use sizeof instead of a constant in 1 place
22779         [d819604c68ca]
22780
22781         * parse.yacc:
22782         added unistd.h
22783         [6f9500f9fe7e]
22784
22785         * parse.lex:
22786         added unistd.h
22787         [468b81a276eb]
22788
22789         * README:
22790         udpated
22791         [7e275618923a]
22792
22793         * HISTORY:
22794         Initial revision
22795         [5db1b0a3939b]
22796
22797 1994-08-17  Todd C. Miller  <Todd.Miller@courtesan.com>
22798
22799         * version.h:
22800         ++
22801         [7dfbb4a810bb] [SUDO_1_3_1]
22802
22803         * CHANGES:
22804         updated
22805         [7820ee610bf8]
22806
22807         * sudo_setenv.c:
22808         added unistd.h include
22809         [30cf2b654525]
22810
22811 1994-08-16  Todd C. Miller  <Todd.Miller@courtesan.com>
22812
22813         * sudo.c:
22814         added sys/time.h for AIX
22815         [199fc8caf3a3]
22816
22817 1994-08-15  Todd C. Miller  <Todd.Miller@courtesan.com>
22818
22819         * configure.in:
22820         added check for -lsocket and sys/sockio.h
22821         [f9abfbb31031]
22822
22823         * config.h.in:
22824         took out libshadow check and added in sys/sockio.h check
22825         [0c4b0393ac80]
22826
22827         * sudo.c:
22828         now include sockio.h instead of ioctl.h if it exists "sudo -" now
22829         gets a better error message
22830         [53041bea5483]
22831
22832         * sample.sudoers:
22833         now has a dir and subnet entry
22834         [56b820f65438]
22835
22836 1994-08-13  Todd C. Miller  <Todd.Miller@courtesan.com>
22837
22838         * sudo.c:
22839         removed if_ether.h
22840         [b4f64507493e]
22841
22842         * TODO:
22843         added an item
22844         [ea2a1bb6922a]
22845
22846         * sudo.man:
22847         added network and ip addresses to man page
22848         [01c85016511f]
22849
22850         * sudo.c:
22851         no error if can't get interfaces or netmask since networking may not
22852         be in the kernel.
22853         [50b8890e2134]
22854
22855         * parse.c:
22856         nwo check for interfaces == NULL
22857         [dc1b3eef0db2]
22858
22859         * parse.c:
22860         fixed a bug that caused directory specs in a Cmnd_Alias to fail if
22861         the last entry in the spec failed (ie: it was only looking at the
22862         last entry). CLeaned things up by adding the cmndcmp() function--all
22863         neat & tidy
22864         [007e93578e5e]
22865
22866         * CHANGES:
22867         added one
22868         [40e8a2cef497]
22869
22870 1994-08-12  Todd C. Miller  <Todd.Miller@courtesan.com>
22871
22872         * sudo.c:
22873         now do two passes to skip bogus interfaces (lo0, etc)
22874         [465e30aecaf7]
22875
22876         * parse.lex, parse.yacc, visudo.c:
22877         added include of netinet/in.h
22878         [11e3816ed362]
22879
22880         * logging.c, sudo_realpath.c, sudo_setenv.c:
22881         added ninclude of netinet/in.h
22882         [daccfa40fe1e]
22883
22884         * check.c, find_path.c, getcwd.c, getwd.c:
22885         added include of netinet/in.h
22886         [0222f95e06ad]
22887
22888         * version.h:
22889         ++
22890         [d6b0cfa35a38]
22891
22892         * sudo.h:
22893         added interfaces global
22894         [ba52fa8ad75e]
22895
22896         * parse.c:
22897         now uses new interfaces global
22898         [17473ad5ecba]
22899
22900         * sudo.c:
22901         now ip addresses are gleaned fw/o dns
22902         [8828bb2007e0]
22903
22904 1994-08-10  Todd C. Miller  <Todd.Miller@courtesan.com>
22905
22906         * sudo.c:
22907         added load_ip_addrs() to load the ip_addrs global var
22908         [60c825f04238]
22909
22910         * parse.c:
22911         added hostcmp() to compare hostnames, ip addrs, and network addrs
22912         [ab0e40e37537]
22913
22914         * sudo.h:
22915         added ip_addrs def added load_ip_addrs prototype
22916         [c41c565d0777]
22917
22918 1994-08-08  Todd C. Miller  <Todd.Miller@courtesan.com>
22919
22920         * CHANGES:
22921         updated
22922         [2a128dbe9bcb]
22923
22924         * Makefile.in:
22925         removed multiple entries in DISTFILES
22926         [2490f4f371e6]
22927
22928         * visudo.c:
22929         ansified the !STDC_HEADERS decls
22930         [646ba06d17ae]
22931
22932         * find_path.c, getcwd.c, getwd.c, putenv.c, strdup.c:
22933         don't do malloc decl if gnuc
22934         [f1bad1925f98]
22935
22936         * sudo.c:
22937         can't use getopt(3) since it munges args to the command to be run as
22938         root don't do malloc decl if gnuc
22939         [38e78f6da14e]
22940
22941         * find_path.c, getcwd.c, getwd.c, putenv.c, strdup.c, sudo.c,
22942         sudo_realpath.c, sudo_setenv.c:
22943         ansi-fied !STDC_HEADER function prottypes
22944         [51d8cad89976]
22945
22946         * getcwd.c, getwd.c:
22947         added missing paren
22948         [6a1fae70e27e]
22949
22950         * Makefile.in:
22951         added putenv.c to DISTFILES
22952         [a5e4523eabbb]
22953
22954         * sudo_setenv.c:
22955         added params to func decls when STDC_HEADERS is not defined now can
22956         count on putenv() being there
22957         [fd587796189b]
22958
22959         * sudo_realpath.c:
22960         took out errno decl since sudo.h does it for us fixed up a next cc
22961         warning added params to func decls when STDC_HEADERS is not defined
22962         [70fa5152ace6]
22963
22964         * sudo.h:
22965         took out environ extern added local declaratio of putenv() if local
22966         version is needed
22967         [a84bae6c020d]
22968
22969         * find_path.c, getcwd.c, getwd.c, strdup.c, sudo.c:
22970         added params to func decls when STDC_HEADERS is not defined
22971         [f406f0e47ac0]
22972
22973         * config.h.in:
22974         added memcpy check check to see that ansi vs bsd macros are ntot
22975         already defiend before defining (ie: avoid redefinition)
22976         [879ae026e19f]
22977
22978         * configure.in:
22979         removed fluff setenv check plus check w/ replace for putenv if also
22980         no setenv
22981         [e3c03814ad4b]
22982
22983         * putenv.c:
22984         Initial revision
22985         [3cff63e2dc1b]
22986
22987 1994-08-06  Todd C. Miller  <Todd.Miller@courtesan.com>
22988
22989         * sudo_setenv.c:
22990         Initial revision
22991         [4d637631fa6b]
22992
22993         * sudo.h:
22994         rm'd s realp[ath added sudo_realpath and sudo_setenv
22995         [07ba001ff57e]
22996
22997         * sudo.c:
22998         now use sudo_setenvc
22999         [fd81e04d5ef0]
23000
23001         * configure.in:
23002         added puteenv and setenv, removed realpath
23003         [27bfacfb513b]
23004
23005         * config.h.in:
23006         added putenv & setenv
23007         [515f14eaf6e4]
23008
23009         * Makefile.in:
23010         added sudo_setenv
23011         [217731a717c5]
23012
23013         * version.h:
23014         ++
23015         [eadb346d7129]
23016
23017 1994-08-05  Todd C. Miller  <Todd.Miller@courtesan.com>
23018
23019         * configure.in:
23020         added MAN_POSTINSTALL and /usr/share/catman for irix
23021         [2a9496c1bdba]
23022
23023         * Makefile.in:
23024         added MAN_POSTINSTALL
23025         [89b0d4695529]
23026
23027         * CHANGES:
23028         added
23029         [48c021ba8a70]
23030
23031         * sudo.man:
23032         added SUDO_* plus new options
23033         [c0759cff5683]
23034
23035         * CHANGES:
23036         added one
23037         [7d44a3922d56]
23038
23039         * configure.in:
23040         took out shadow lib
23041         [07cf3de18701]
23042
23043         * TODO:
23044         adde done
23045         [a27a578e8afe]
23046
23047         * visudo.c:
23048         now use yyrestart() if flex now reset yylineno to 0
23049         [77d67ce0b677]
23050
23051         * Makefile.in:
23052         support for installing a cat page instead of a man page if no nroff
23053         [44671c0fc0fa]
23054
23055         * configure.in:
23056         now defines HAVE_FLEX fixed up man stuff so that it looks for nroff
23057         to determine whether or not to install a cat or man page
23058         [0562d069c135]
23059
23060         * config.h.in:
23061         added HAVE_FLEX
23062         [c5490bae39d3]
23063
23064         * sudo.c:
23065         not set ret to MODE_RUN initially
23066         [88b4983c195b]
23067
23068         * find_path.c:
23069         made command (and therefor cmnd dynamically allocated)
23070         [95b82e32b6de]
23071
23072         * TODO:
23073         did #8
23074         [fb6f41308cdf]
23075
23076         * version.h:
23077         ++
23078         [14112ecab5ae]
23079
23080         * sudo_realpath.c:
23081         changed bufs from MAXPATHLEN to MAXPATHLEN+1
23082         [0ad4f34e55c0]
23083
23084         * sudo.h:
23085         added MODE_ removed validate_only and added remove_timestamp()
23086         [dd5f99c57728]
23087
23088         * sudo.c:
23089         usage() now takes an int (exit value) added parse_args() to parse
23090         command line arguments moved call to find_path() from load_globals
23091         to new function load_cmnd() removed validate_only global -- now use
23092         the concept of "modes" added -h and -k options
23093         [c3887090b28a]
23094
23095         * parse.c:
23096         no longer use global validate_only now checks for command called
23097         "validate" removed check for non-fully qualified commands since that
23098         is done by find_path
23099         [7d56fbd26369]
23100
23101         * find_path.c:
23102         changed MAXPATHLEN r to MAXPATHLEN+1
23103         [a86e8664d971]
23104
23105         * find_path.c:
23106         fixed off by one error with MAXPATHLEN and fixed a comment
23107         [58adcef8c981]
23108
23109         * check.c:
23110         check_timestamp no longer runs reminder(), it is implied in the
23111         return val added remove_timestamp()
23112         [42ab5a77066f]
23113
23114         * CHANGES:
23115         updated
23116         [8e69b31df024]
23117
23118 1994-08-04  Todd C. Miller  <Todd.Miller@courtesan.com>
23119
23120         * BUGS:
23121         fixed on
23122         [bc34f1ac4280]
23123
23124         * sudo_realpath.c:
23125         took out old_errno
23126         [a168d00a0768]
23127
23128         * CHANGES:
23129         updated
23130         [04ba80922df7]
23131
23132 1994-08-03  Todd C. Miller  <Todd.Miller@courtesan.com>
23133
23134         * logging.c:
23135         moved send_mail to after syslog
23136         [4d4188087834]
23137
23138         * sudo.c:
23139         now set SUDO_ envariables
23140         [e5963f1bd3bb]
23141
23142 1994-08-01  Todd C. Miller  <Todd.Miller@courtesan.com>
23143
23144         * version.h:
23145         ++
23146         [2a4534845d8c]
23147
23148         * sudo_realpath.c:
23149         now print error if chdir fails
23150         [0d75c8973d49]
23151
23152         * find_path.c:
23153         removed an XXX
23154         [e2077bcb35aa]
23155
23156 1994-07-26  Todd C. Miller  <Todd.Miller@courtesan.com>
23157
23158         * CHANGES:
23159         updated
23160         [e30a2b39b41a]
23161
23162         * configure.in:
23163         no more static binaries for aix
23164         [77a0beb6bd80]
23165
23166 1994-07-25  Todd C. Miller  <Todd.Miller@courtesan.com>
23167
23168         * INSTALL:
23169         fixed typo
23170         [ba5e0d391bc4]
23171
23172         * sudo_realpath.c:
23173         took out stuff not needed for sudo now does be_root/be_user itself
23174         now uses cwd global
23175         [4f6d4641d793]
23176
23177         * version.h:
23178         +=2
23179         [97da927b297c]
23180
23181         * logging.c, sudo.c:
23182         be_root/be_user is now down in sudo_realpath()
23183         [f331662fa50f]
23184
23185         * logging.c, sudo.h:
23186         now works with 4.2BSD syslog (blech)
23187         [98e39d89dd36]
23188
23189         * find_path.c:
23190         now use sudo_realpath()
23191         [ab436a8ebd02]
23192
23193         * config.h.in:
23194         took out realpth() stuff since we now use sudo_realpath()
23195         [8de5ef9f6044]
23196
23197         * configure.in:
23198         ultrix enhanced sec
23199         [815fb7fffcc0]
23200
23201         * SUPPORTED:
23202         added ultrix enhanced sec.
23203         [6466766c8062]
23204
23205         * INSTALL:
23206         updated
23207         [d681a634297a]
23208
23209         * check.c:
23210         ultrix enhanced security suport
23211         [f10c8decbcc2]
23212
23213         * Makefile.in:
23214         added sudo_realpath.c
23215         [6b9bcd3be022]
23216
23217         * CHANGES:
23218         updated
23219         [2fa8084c1b53]
23220
23221         * tgetpass.c:
23222         increased passwd len to 24 for c2 security
23223         [ec64838be62d]
23224
23225         * BUGS:
23226         updated BUGS
23227         [ca00d8fec2ce]
23228
23229 1994-07-15  Todd C. Miller  <Todd.Miller@courtesan.com>
23230
23231         * check.c:
23232         now use user global var
23233         [568769719013]
23234
23235         * configure.in:
23236         took out -ls
23237         [490a44180d5f]
23238
23239 1994-07-14  Todd C. Miller  <Todd.Miller@courtesan.com>
23240
23241         * configure.in:
23242         added AFS libs
23243         [4fb40c8c01ba]
23244
23245         * sudo.h:
23246         user is now a char * added epasswd
23247         [27a919fafdfb]
23248
23249         * sudo.c:
23250         added tzset() to load_globals added epasswd (encrypted password)
23251         global made user dynamically allocated
23252         [b99ef9bdbfce]
23253
23254         * configure.in:
23255         added tzset test
23256         [27592dd1214b]
23257
23258         * config.h.in:
23259         added HAVE_TZSET
23260         [b13f4213f3d0]
23261
23262         * check.c:
23263         cleaned up encrypted passwd grab somewhat
23264         [c8ba9a4db38a]
23265
23266         * configure.in:
23267         fixed AFS typo
23268         [2bfcbce237b6]
23269
23270         * INSTALL:
23271         added AFS not
23272         [80c67329393c]
23273
23274         * CHANGES:
23275         udpated
23276         [2f09ecdd5d31]
23277
23278         * logging.c:
23279         can now log to both syslog & a file
23280         [4d5c0932bc01]
23281
23282         * sudo.h:
23283         added BOTH_LOGS
23284         [623c539be824]
23285
23286         * CHANGES:
23287         updated
23288         [a1c7f5ef3616]
23289
23290         * configure.in:
23291         --with-AFS
23292         [28718d8f5daf]
23293
23294         * config.h.in:
23295         added HAVE_AFS
23296         [2e32bb4e63e4]
23297
23298         * check.c:
23299         added afs changes
23300         [fe4d0ff320a2]
23301
23302         * sudo.h:
23303         removed AFS stuff :-)
23304         [a40387e6fa27]
23305
23306         * tgetpass.c:
23307         include sys/select for AIX
23308         [f32c5a8f2c84]
23309
23310         * sudo.h:
23311         added AFS
23312         [da2ab3dd0348]
23313
23314         * version.h:
23315         ++
23316         [452d4dfe25af]
23317
23318 1994-07-07  Todd C. Miller  <Todd.Miller@courtesan.com>
23319
23320         * CHANGES, SUPPORTED:
23321         updated
23322         [e7dfe6f23a37]
23323
23324         * logging.c:
23325         can now have MAILER undefined
23326         [1d33b98b35e1]
23327
23328         * INSTALL:
23329         new sub-note about MAILER
23330         [d35c636a0574]
23331
23332         * sudo.man:
23333         added blurb about password timeout
23334         [70c2ee50de20]
23335
23336         * configure.in:
23337         convex c2 changes
23338         [367138a6232e]
23339
23340         * aclocal.m4:
23341         took out duplicate define of _CONVEX_SOURCE
23342         [647182138450]
23343
23344         * Makefile.in:
23345         added OSDEFS
23346         [7fdcd50602d1]
23347
23348         * config.h.in:
23349         added spaces
23350         [f2b8a05e48f3]
23351
23352         * tgetpass.c:
23353         added a goto if fgets fails
23354         [68a6586d9c45]
23355
23356         * sudo.h:
23357         use __hpux not hpux convex c2 stuff
23358         [5c377a8d5f34]
23359
23360         * sudo.c:
23361         use __hpux not hpux
23362         [9363bc0f9f9e]
23363
23364         * logging.c:
23365         convex c2 stuff
23366         [ea5630975ac4]
23367
23368         * config.h.in:
23369         define ansi-ish cpp os defines if non-ansi are defined for hpux &
23370         convex
23371         [664f53a5e786]
23372
23373         * INSTALL:
23374         updated to say we support sonvex C2
23375         [5f2f8b87013e]
23376
23377         * check.c:
23378         added convex c2 support
23379         [9a665d4918fa]
23380
23381 1994-07-01  Todd C. Miller  <Todd.Miller@courtesan.com>
23382
23383         * tgetpass.c:
23384         no more ioctl never returns NULL uses fgets() and select() to
23385         timeout
23386         [b333e6d63e97]
23387
23388 1994-06-29  Todd C. Miller  <Todd.Miller@courtesan.com>
23389
23390         * configure.in:
23391         things were testing -n "$GCC" instead of -z "$GCC"
23392         [059a9b15ede2]
23393
23394         * tgetpass.c:
23395         now works + uses fgets()
23396         [353d7ebcb7bb]
23397
23398 1994-06-28  Todd C. Miller  <Todd.Miller@courtesan.com>
23399
23400         * tgetpass.c:
23401         select doesn't seem to recognize a single '\n' as input waiting so
23402         we can;t use it, sigh.
23403         [f76e3218b835]
23404
23405 1994-06-26  Todd C. Miller  <Todd.Miller@courtesan.com>
23406
23407         * PORTING:
23408         updated tgetpass() blurb
23409         [95baac736b49]
23410
23411         * configure.in:
23412         added --with-getpass
23413         [42ac0bdf58ed]
23414
23415         * Makefile.in:
23416         added tgetpass stuff
23417         [e2b38c635663]
23418
23419         * tgetpass.c:
23420         now uses stdio
23421         [36af8ff66e35]
23422
23423         * version.h:
23424         ++
23425         [4e81c9db19bd]
23426
23427 1994-06-24  Todd C. Miller  <Todd.Miller@courtesan.com>
23428
23429         * PORTING:
23430         updated ,.
23431         [54f523770a05]
23432
23433         * config.h.in:
23434         added USE_GETPASS && HAVE_C2_SECURITY
23435         [86b355cb2953]
23436
23437         * configure.in:
23438         fixed a test aded --with-C2 and --with-tgetpass
23439         [abf6181588ef]
23440
23441         * check.c:
23442         added hpux C2 shit
23443         [20d4177ffa88]
23444
23445         * Makefile.in:
23446         took out tgetpass.*
23447         [cc82fd9984b4]
23448
23449         * INSTALL:
23450         added C2 blurb
23451         [1d2bfc35e4b6]
23452
23453 1994-06-13  Todd C. Miller  <Todd.Miller@courtesan.com>
23454
23455         * configure.in:
23456         no termio(s) for ultrix since it is broken
23457         [d3e82e835350]
23458
23459         * check.c:
23460         added a space (yeah, anal)
23461         [05e4b31ca68c]
23462
23463         * realpath.c, sudo_realpath.c:
23464         fixed it (duh, rtfm)
23465         [f13097cb8cb6]
23466
23467 1994-06-08  Todd C. Miller  <Todd.Miller@courtesan.com>
23468
23469         * config.h.in:
23470         took out bsd signal stuff for irix
23471         [e179cdafc97a]
23472
23473         * visudo.c:
23474         comments in #endif
23475         [e3a629190f5e]
23476
23477         * configure.in:
23478         don't define BSD signals for irix
23479         [3ce57bffb7f0]
23480
23481         * TODO:
23482         did some...
23483         [274241cd0f74]
23484
23485         * CHANGES:
23486         updated
23487         [8f29fc755faf]
23488
23489         * realpath.c, sudo_realpath.c:
23490         took out unneeded code by changing where a strings was terminated
23491         [b5564d62d30e]
23492
23493 1994-06-07  Todd C. Miller  <Todd.Miller@courtesan.com>
23494
23495         * realpath.c, sudo_realpath.c:
23496         fix bug where /dirname would return NULL
23497         [b85f470daf26]
23498
23499         * sudo.h:
23500         move __P to config.h
23501         [7763c0ff3f28]
23502
23503         * getcwd.c, getwd.c, realpath.c, sudo_realpath.c:
23504         added errno definition
23505         [4cc9d2d9782a]
23506
23507         * config.h.in:
23508         added __P
23509         [ca06f5aa58f3]
23510
23511         * config.h.in:
23512         added HAVE_FCHDIR
23513         [206d714641e0]
23514
23515         * strdup.c:
23516         now include stdio
23517         [0d8458da0e1d]
23518
23519         * realpath.c, sudo_realpath.c:
23520         now works if no fchdir
23521         [e035911b6722]
23522
23523         * visudo.c:
23524         define SA_RESETHAND to null if not defined
23525         [afec03e84342]
23526
23527         * configure.in:
23528         added check & replace
23529         [c1a65481441c]
23530
23531         * configure.in:
23532         took out -static for nextstep -- it doesn't work
23533         [fa1a1a611743]
23534
23535 1994-06-06  Todd C. Miller  <Todd.Miller@courtesan.com>
23536
23537         * logging.c:
23538         moved #endif to where it belongs
23539         [07d3a8972097]
23540
23541         * SUPPORTED:
23542         correction
23543         [0c1ecba3e5a3]
23544
23545         * configure.in:
23546         now checks for strdup realpath getcwd bzero
23547         [f029a1917515]
23548
23549         * config.h.in:
23550         emulate bzero
23551         [d792352e44a3]
23552
23553         * visudo.c:
23554         added posic signals
23555         [2ed0005f90fc]
23556
23557         * tgetpass.c:
23558         bzero cast
23559         [6d91b1a1526f]
23560
23561         * logging.c:
23562         added posix signals
23563         [67ede9c22a05]
23564
23565         * configure.in:
23566         removed BROKEN_GETPASS added new srcs toreplace missing functions
23567         [cf44274bb1c8]
23568
23569         * config.h.in:
23570         added posix signal stuff
23571         [a3c1c98fe8ef]
23572
23573         * Makefile.in:
23574         added new srcs
23575         [b6a079afee47]
23576
23577         * visudo.c:
23578         updated useag
23579         [589ed091c44f]
23580
23581         * tgetpass.c:
23582         now uses posix signals
23583         [30f74964074f]
23584
23585         * PORTING:
23586         updated sto reflect major changes
23587         [bcfc309e017b]
23588
23589         * CHANGES, TODO:
23590         updated
23591         [23aacbd54278]
23592
23593         * tgetpass.c:
23594         uses sysconf() if available
23595         [a27431c90bab]
23596
23597         * sudo.h:
23598         added PASSWORD_TIMEOUT + prototypes for new functions
23599         [d7473c2f77c4]
23600
23601         * realpath.c, sudo_realpath.c:
23602         for those w/o this in libc
23603         [1e47aa7a9d46]
23604
23605         * getcwd.c, getwd.c:
23606         Initial revision
23607         [c90dea57a84f]
23608
23609         * find_path.c:
23610         rewrote to use realpath(3) - nis now all my code
23611         [d2c3bb8fb37d]
23612
23613         * config.h.in:
23614         added HAVE_REALPATH
23615         [02c10352a8c7]
23616
23617         * check.c:
23618         now use tgetpass
23619         [b5c021fc179f]
23620
23621         * Makefile.in:
23622         added LIBOBJS use tgetpass.c
23623         [230a7b3eeaa3]
23624
23625 1994-06-05  Todd C. Miller  <Todd.Miller@courtesan.com>
23626
23627         * tgetpass.c:
23628         works now :-)
23629         [025e7a3875ba]
23630
23631         * tgetpass.c:
23632         Initial revision
23633         [3316ab33b230]
23634
23635         * pathnames.h.in:
23636         added /dev/tty
23637         [29242585e53f]
23638
23639 1994-06-04  Todd C. Miller  <Todd.Miller@courtesan.com>
23640
23641         * version.h:
23642         incremented
23643         [f2e54b48280f]
23644
23645         * sudo.c:
23646         always use getcwd
23647         [c6068e8a4029]
23648
23649         * config.h.in:
23650         added check for getwd
23651         [ab1e102ad673]
23652
23653         * configure.in:
23654         replace strdup & realpath & getcwd if missing
23655         [b0eb14f2a1c3]
23656
23657         * pathnames.h.in:
23658         added _PATH_PWD
23659         [309d2388f69a]
23660
23661         * aclocal.m4:
23662         added SUDO_PROG_PWD
23663         [e16e85deb96c]
23664
23665         * strdup.c:
23666         Initial revision
23667         [810efdc15007]
23668
23669         * realpath.c, sudo_realpath.c:
23670         Initial revision
23671         [d85eee438e09]
23672
23673 1994-06-03  Todd C. Miller  <Todd.Miller@courtesan.com>
23674
23675         * configure.in:
23676         quoted quare brackets
23677         [d0e7ca111d98]
23678
23679 1994-06-02  Todd C. Miller  <Todd.Miller@courtesan.com>
23680
23681         * sudo.c:
23682         no need to strdup() a constant
23683         [a8c44712df9a]
23684
23685         * CHANGES:
23686         updated
23687         [71364129cca0]
23688
23689         * sudo.man:
23690         added validate
23691         [0bb198095a26]
23692
23693         * sudo.c:
23694         added -v to usage
23695         [31ea71f11dbb]
23696
23697         * parse.c, sudo.c, sudo.h:
23698         added validate_only stuff
23699         [9bcd853d3c90]
23700
23701 1994-05-30  Todd C. Miller  <Todd.Miller@courtesan.com>
23702
23703         * configure.in:
23704         now finds sed
23705         [6374bb0d3f28]
23706
23707         * aclocal.m4:
23708         $OSREV is now an int
23709         [ace0666d66cf]
23710
23711 1994-05-29  Todd C. Miller  <Todd.Miller@courtesan.com>
23712
23713         * configure.in:
23714         added mtxinu to caser
23715         [73a776887b16]
23716
23717         * sudo.h:
23718         added EXEC macro
23719         [2e8eb28b710a]
23720
23721         * sudo.c:
23722         now use the EXEC nmacro now only do a gethostbyname() if FQDN is set
23723         [56afb4f658d5]
23724
23725         * logging.c:
23726         changed mail_argv[] def now use EXEC() macro
23727         [ddcabd28edb1]
23728
23729         * check.c:
23730         took out crypt() definition
23731         [0e657724cf5f]
23732
23733         * version.h:
23734         upped the version
23735         [62c5d66119fc]
23736
23737         * configure.in:
23738         always look for -lnsl
23739         [d7b594f0313b]
23740
23741         * aclocal.m4:
23742         added an echo
23743         [1caae3491dc5]
23744
23745         * sudo.h:
23746         SHORT_MESSAGE is now the default
23747         [cfce35c3119a]
23748
23749         * config.h.in:
23750         fixed typo
23751         [6499a564bf75]
23752
23753         * configure.in:
23754         added missing AC_DEFINE(SVR4) for solaris
23755         [feef0b17b94f]
23756
23757         * sudo.man:
23758         documented the -v flag
23759         [a6429f2bc2cf]
23760
23761         * SUPPORTED:
23762         updated
23763         [088886e79540]
23764
23765         * check.c:
23766         proto-ized crypt()
23767         [801e4ff5b121]
23768
23769         * config.h.in:
23770         added LIBSHADOW undef
23771         [8df588e9ee2b]
23772
23773         * configure.in:
23774         nwo set OS to be lowercase
23775         [561ebed833e4]
23776
23777 1994-05-28  Todd C. Miller  <Todd.Miller@courtesan.com>
23778
23779         * configure.in:
23780         now use SUDO_OSTYPE to set $OS
23781         [0e60aee23098]
23782
23783         * aclocal.m4:
23784         now use uname to determine os
23785         [99705e58d400]
23786
23787         * visudo.c:
23788         added prototypes & moved sig handler around
23789         [1f0bc8d23b51]
23790
23791         * sudo.h:
23792         added prototyppes
23793         [be3935a2b163]
23794
23795         * check.c, logging.c, sudo.c:
23796         added prototypes
23797         [2079b4605ab8]
23798
23799         * parse.c:
23800         added comment
23801         [a34d147d8399]
23802
23803         * config.h.in:
23804         nwo use _BSD_SIGNALS not _BSD_COMPAT
23805         [63663195f047]
23806
23807         * aixcrypt.exp:
23808         Initial revision
23809         [890aed08357e]
23810
23811         * Makefile.in:
23812         added aixcrypt.exp
23813         [1005a183105f]
23814
23815         * parse.lex, parse.yacc:
23816         moved config.h to top of includes
23817         [9569c49aa5f3]
23818
23819 1994-05-25  Todd C. Miller  <Todd.Miller@courtesan.com>
23820
23821         * find_path.c:
23822         now don't bitch if get EACCESS (treat like EPERM)
23823         [dbeffb638de4]
23824
23825         * visudo.c:
23826         added -v flag and usage()
23827         [4d44ed60ed75]
23828
23829         * version.h:
23830         fixed a typo
23831         [cf3f9347ae41]
23832
23833         * sudo.c:
23834         cast Argv to a const for exec added -v flag
23835         [d11b6efc0e45]
23836
23837         * logging.c:
23838         mail_argv is now a const
23839         [93bb5d90bb6f]
23840
23841         * configure.in:
23842         only set RETSIGTYPE if it is not set already
23843         [c97aac260b77]
23844
23845         * aclocal.m4:
23846         now defines & STDC_HEADERS for Irix
23847         [9c2b24ad1fc5]
23848
23849         * Makefile.in:
23850         added version.h
23851         [9f79e880229a]
23852
23853         * insults.h, sudo.h:
23854         prevent multiple inclusion
23855         [d68c8a9243ce]
23856
23857         * version.h:
23858         Initial revision
23859         [dbb39c5ef8d9]
23860
23861         * parse.lex, parse.yacc:
23862         now includes config.h
23863         [f117e036a56b]
23864
23865         * aclocal.m4:
23866         now talks about sunos 4.x
23867         [c9054aa92d4e]
23868
23869         * visudo.c:
23870         calls to Exit now pass an arg
23871         [a92104670551]
23872
23873 1994-05-24  Todd C. Miller  <Todd.Miller@courtesan.com>
23874
23875         * visudo.c:
23876         signal handler now takes an int argument
23877         [26f480c41523]
23878
23879         * CHANGES:
23880         updated
23881         [8c166a9d796b]
23882
23883         * sudo.c:
23884         ok, the getcwd() is now *really* done as the user
23885         [ab86cf85134a]
23886
23887         * configure.in:
23888         changed AIX STATIC_FLAGS
23889         [b9c0a3ba5663]
23890
23891         * aclocal.m4:
23892         solaris now defines SVR4
23893         [c3e20cac96f5]
23894
23895         * sudo.h:
23896         added cwd and fixed stupid core dump that makes no sense. sigh.
23897         [7a9755436dbb]
23898
23899         * sudo.c:
23900         moved getcwd stuff into load_globals
23901         [ec2bc90df1f3]
23902
23903         * parse.c:
23904         took out externs that are in suod.h
23905         [93c4b3f856d7]
23906
23907         * logging.c:
23908         moved cwd into load_globals
23909         [050de754d228]
23910
23911         * find_path.c:
23912         moved cwd stuff
23913         [22f3f3b4c34d]
23914
23915         * Makefile.in:
23916         fixed make distclean & realclean
23917         [c9964d89bcef]
23918
23919         * TODO:
23920         updated .,
23921         [e513581ef0e3]
23922
23923         * CHANGES:
23924         added solaris changes
23925         [505d930daf27]
23926
23927         * aclocal.m4:
23928         added solaris changes, need to rework
23929         [33f20fb16c49]
23930
23931         * configure.in:
23932         cleaned up for solaris
23933         [2fb8cfa05d0f]
23934
23935         * logging.c:
23936         reinstall reapchild signal handler for non-bsd signals
23937         [3d1dc545113d]
23938
23939         * sudo.h:
23940         took out getdtablesize() emulation for HP-UX (no longer needed)
23941         [1fc83d170f34]
23942
23943         * sudo.c:
23944         support for HAVE_SYSCONF
23945         [50ca2a7a224a]
23946
23947         * visudo.c:
23948         added <fcntl.h> for solaris & reorg'd the includes + minor prettying
23949         up /
23950         [0a570e826dd4]
23951
23952         * config.h.in:
23953         added HAVE_SYSCONF
23954         [2b9a9f3a4e94]
23955
23956 1994-05-16  Todd C. Miller  <Todd.Miller@courtesan.com>
23957
23958         * configure.in:
23959         now tells you what os you are running /.
23960         [06c6332a895b]
23961
23962         * aclocal.m4:
23963         took out extra ','
23964         [e8c75ce59f4a]
23965
23966 1994-05-14  Todd C. Miller  <Todd.Miller@courtesan.com>
23967
23968         * config.h.in:
23969         added _BSD_COMPAT
23970         [73c5099806c2]
23971
23972         * aclocal.m4:
23973         fixed for irix5
23974         [1047d1f6c0eb]
23975
23976         * CHANGES:
23977         updated
23978         [1bc4969fee96]
23979
23980         * sudo.c:
23981         uid seinitialized to -2
23982         [8d7812b1878b]
23983
23984 1994-04-28  Todd C. Miller  <Todd.Miller@courtesan.com>
23985
23986         * sudo.c:
23987         now removes LIBPATH for AIX
23988         [075392eb1dd9]
23989
23990 1994-03-13  Todd C. Miller  <Todd.Miller@courtesan.com>
23991
23992         * configure.in:
23993         now uses ufc if it finds it
23994         [ab6ce30a5958]
23995
23996 1994-03-12  Todd C. Miller  <Todd.Miller@courtesan.com>
23997
23998         * sudo.h:
23999         no longer define yyval & yylval since yacc does it
24000         [09d250aea50a]
24001
24002         * parse.lex:
24003         now defines yylval as extenr
24004         [8ec2b88952bc]
24005
24006         * configure.in:
24007         BROKEN_GETPASS is now an OPTION
24008         [3714f4bb8312]
24009
24010         * config.h.in:
24011         took out BROKEN_GETPASS
24012         [9c4f6aa50137]
24013
24014         * Makefile.in:
24015         took out big comment
24016         [4c13cff0e556]
24017
24018         * README:
24019         updated
24020         [b8b9902b620d]
24021
24022         * Makefile.in:
24023         took out README.beta
24024         [ed2cd861e82b]
24025
24026         * SUPPORTED:
24027         Initial revision
24028         [2fffc51e6606]
24029
24030         * INSTALL:
24031         now reference SUPPORTED .,
24032         [d112c30be1f2]
24033
24034         * config.h.in:
24035         now check for convex OR __convex__
24036         [a0e5701a3069]
24037
24038         * aclocal.m4:
24039         now check for convex or __convex__
24040         [5dae2bfbe3bc]
24041
24042         * Makefile.in:
24043         added dist target
24044         [400a54de57db]
24045
24046         * aclocal.m4:
24047         use __convex__
24048         [58a19470ed0b]
24049
24050         * find_path.c:
24051         now use _S_* stat stuff to be ansi-like
24052         [28cce560e048]
24053
24054         * INSTALL:
24055         updated for configure directions
24056         [a034ccc7c30a]
24057
24058         * Makefile.in:
24059         distclean now removes config.h and pathnames.h
24060         [300f2349b4ab]
24061
24062         * CHANGES:
24063         updated
24064         [646f7e9430c1]
24065
24066         * TODO:
24067         fixed typoe
24068         [70fd6361b2bc]
24069
24070         * visudo.c:
24071         updated version
24072         [cf13d87d789f]
24073
24074         * Makefile.in:
24075         updated version
24076         [8c5dacc27a7a]
24077
24078         * config.h.in, pathnames.h.in:
24079         added copyright header
24080         [747ce3d3d6b7]
24081
24082         * check.c, find_path.c, insults.h, logging.c, parse.c, parse.lex,
24083         parse.yacc, sudo.c, sudo.h:
24084         udpated version
24085         [4751c39bad18]
24086
24087         * visudo.c:
24088         udpated to use configure + pathnames.h
24089         [d45dff76a1cd]
24090
24091         * aclocal.m4:
24092         updated
24093         [f05a367a55be]
24094
24095         * Makefile.in, config.h.in, configure.in:
24096         updated
24097         [524778598879]
24098
24099         * sudo.h:
24100         now works with configure
24101         [83fc40e533f4]
24102
24103         * check.c, find_path.c, getpass.c, logging.c, parse.c, sudo.c:
24104         updated to work with configure + pathnames.h
24105         [cb67fa6ab52d]
24106
24107         * Makefile.in:
24108         added LEXLIB
24109         [f43cad4ab0a2]
24110
24111 1994-03-10  Todd C. Miller  <Todd.Miller@courtesan.com>
24112
24113         * COPYING:
24114         updated gnu general licence to versio 2
24115         [2b0b56112ddc]
24116
24117         * config.h.in, pathnames.h.in:
24118         Initial revision
24119         [4b586f39ec2d]
24120
24121         * sudo.h:
24122         changed to work with configure
24123         [13f3506ddf16]
24124
24125 1994-03-09  Todd C. Miller  <Todd.Miller@courtesan.com>
24126
24127         * Makefile.in, aclocal.m4, configure.in:
24128         Initial revision
24129         [a8636ae77371]
24130
24131         * visudo.c:
24132         now uses defines used by configure
24133         [de438d118993]
24134
24135 1994-03-01  Todd C. Miller  <Todd.Miller@courtesan.com>
24136
24137         * find_path.c:
24138         sudo won't bitch about EPERM now, for real
24139         [ce26d9ef7e3f]
24140
24141 1994-02-28  Todd C. Miller  <Todd.Miller@courtesan.com>
24142
24143         * logging.c:
24144         renamed exec_argv to eliminate a libc name clash with ksros
24145         [bcb4350d8411]
24146
24147         * CHANGES:
24148         corrected
24149         [dae68d422efd]
24150
24151         * logging.c, sudo.c, sudo.h:
24152         execve -> execv
24153         [40cc2c4bdb15]
24154
24155         * TODO:
24156         upated
24157         [9275a8b8fc45]
24158
24159         * PORTING:
24160         added 2 mroe items
24161         [6cbb5c56993c]
24162
24163         * CHANGES:
24164         updated
24165         [73f34f8e571a]
24166
24167         * sudo.h:
24168         added UMASK and mode_t declaration
24169         [7c2015e1d171]
24170
24171         * sudo.c:
24172         added UMASK
24173         [d37be7523680]
24174
24175         * logging.c:
24176         now opens log file with mode 077
24177         [0825cc3ee841]
24178
24179         * check.c:
24180         saved current umask ans restores it
24181         [659c1aaae8e8]
24182
24183         * sudo.h:
24184         added MAXLOGFILELEN
24185         [34331c7dee90]
24186
24187         * logging.c:
24188         split long log lines. FOr syslog, split into multiple entries, for
24189         a log file, indent the extra for readability
24190         [72c9e4cdba6e]
24191
24192 1994-02-27  Todd C. Miller  <Todd.Miller@courtesan.com>
24193
24194         * CHANGES:
24195         added changes
24196         [81196833673d]
24197
24198         * sudo.h:
24199         MAXLOGLEN & MAXSYSLOGLEN are now different (as they should be)
24200         [1aa69e903840]
24201
24202 1994-02-25  Todd C. Miller  <Todd.Miller@courtesan.com>
24203
24204         * TODO:
24205         added input from Brett M Hogden <hogden@rge.com>
24206         [80f01fc88ce9]
24207
24208 1994-02-16  Todd C. Miller  <Todd.Miller@courtesan.com>
24209
24210         * sudo.c:
24211         added rmenv() to remove stuff from environ. can now uses execvp()
24212         OR execve() becuase of this.
24213         [e7fc2535bd67]
24214
24215         * logging.c:
24216         now uses execvp() OR execve()
24217         [56391aa1f99d]
24218
24219         * sudo.h:
24220         added USE_EXECVE
24221         [f21f38050b95]
24222
24223         * sudo.h:
24224         added environ
24225         [6b805e23c6f6]
24226
24227         * find_path.c:
24228         now ignore EPERM
24229         [c8fd7117a1d7]
24230
24231         * sudo.h:
24232         moved some func decls out of sudo.h and into sudo.c as statics /.
24233         [5f555c267d27]
24234
24235         * CHANGES:
24236         updated
24237         [431f478af320]
24238
24239         * sudo.h:
24240         took out Envp
24241         [6f722be7793d]
24242
24243 1994-02-14  Todd C. Miller  <Todd.Miller@courtesan.com>
24244
24245         * BUGS:
24246         Initial revision
24247         [4a8ecf0da95c]
24248
24249 1994-02-10  Todd C. Miller  <Todd.Miller@courtesan.com>
24250
24251         * CHANGES:
24252         added SECURE_PATH
24253         [1c72cb222609]
24254
24255         * sudo.c, sudo.h:
24256         added SECURE_PATH
24257         [5bf5357a63c5]
24258
24259         * sudo.h:
24260         added SECURE_PATH
24261         [3976a74405ac]
24262
24263         * INSTALL:
24264         added sample.sudoers note
24265         [1b395d29aaeb]
24266
24267         * sudoers:
24268         Initial revision
24269         [485888d07477]
24270
24271 1994-02-09  Todd C. Miller  <Todd.Miller@courtesan.com>
24272
24273         * find_path.c:
24274         fixed typo
24275         [bfc3cc4d41ca]
24276
24277         * PORTING:
24278         took out SAVED_UID garbage
24279         [b7c2d3469661] [SUDO_1_3_0]
24280
24281         * INSTALL:
24282         mentioned HAL
24283         [253d6695df90]
24284
24285         * sudo.h:
24286         added HAL line
24287         [29ec1a4ac6de]
24288
24289         * insults.h:
24290         added HAL insults
24291         [7d7c96d77c74]
24292
24293         * TODO:
24294         updated
24295         [aa2ed9790586]
24296
24297         * logging.c:
24298         more verbose error if mailer not found
24299         [fca47fd00cb6]
24300
24301         * check.c:
24302         now do getpwent as root for soem shadow password systems (bsdi)
24303         [e0339e110d46]
24304
24305 1994-02-08  Todd C. Miller  <Todd.Miller@courtesan.com>
24306
24307         * sudo.h:
24308         took out SAVED_UID garbade
24309         [fcb0e81dcdb5]
24310
24311         * sudo.c:
24312         took out SAVED_UID garbage since it don't work
24313         [507e9513e9c2]
24314
24315 1994-02-06  Todd C. Miller  <Todd.Miller@courtesan.com>
24316
24317         * README:
24318         updated
24319         [d2b6b253dae5]
24320
24321         * insults.h:
24322         added a missing space :-)
24323         [8940ea991f87]
24324
24325         * sudo.c, sudo.h:
24326         took out multimax cruft
24327         [c2606b365181]
24328
24329         * INSTALL:
24330         minor update
24331         [05fb6ee73131]
24332
24333         * PORTING:
24334         finished
24335         [c4ac47c84dc5]
24336
24337         * sudo.c:
24338         fixed a typo + indentation
24339         [7eab40aae8fa]
24340
24341 1994-02-05  Todd C. Miller  <Todd.Miller@courtesan.com>
24342
24343         * sudo.h:
24344         took outumoved some defines to the config file ,. ,.
24345         [defff05beb52]
24346
24347         * PORTING:
24348         Initial revision
24349         [c803e9127959]
24350
24351         * TODO:
24352         did #6
24353         [c6fa1c946c31]
24354
24355         * sudo.h:
24356         added HAS_SAVED_UID
24357         [6a88a39c0a07]
24358
24359         * sudo.c:
24360         put back AIX cruft
24361         [a24d2507ddd4]
24362
24363 1994-02-03  Todd C. Miller  <Todd.Miller@courtesan.com>
24364
24365         * sudo.c:
24366         aix changes
24367         [1663915f754a]
24368
24369 1994-02-02  Todd C. Miller  <Todd.Miller@courtesan.com>
24370
24371         * CHANGES:
24372         updated
24373         [a8cc73747cae]
24374
24375         * check.c, logging.c, parse.c, sudo.c, sudo.h:
24376         now is only root when abs necesary
24377         [3c9d12c5cdfe]
24378
24379         * check.c:
24380         added missing %s\n
24381         [609320b72d89]
24382
24383 1994-01-31  Todd C. Miller  <Todd.Miller@courtesan.com>
24384
24385         * install-sh:
24386         Initial revision
24387         [b5bba140a175]
24388
24389         * TODO:
24390         updated
24391         [c9d2eba602af]
24392
24393         * CHANGES:
24394         updated
24395         [932f1fc3bb14]
24396
24397         * sudo.c:
24398         now removed _RLD_* for alphas
24399         [54a36e648158]
24400
24401         * INSTALL:
24402         updated for new config scheme
24403         [61c8ae800444]
24404
24405         * find_path.c:
24406         more verbose eror messages
24407         [b4fd123db42d]
24408
24409 1994-01-27  Todd C. Miller  <Todd.Miller@courtesan.com>
24410
24411         * TODO:
24412         now have solaris
24413         [371002fbf266]
24414
24415         * sudo.h:
24416         define __svr4__ for SOLARIS
24417         [0b5cf5ed936d]
24418
24419         * check.c:
24420         added svr4 junk for shadow pws for solaris 2.x
24421         [91ed58f21618]
24422
24423         * check.c, sudo.c:
24424         took out setuid(0) and setreuid(udi) garbage. Its not needed since
24425         we start out setuid with the correct perms.
24426         [07689e782b0b]
24427
24428         * check.c, sudo.c, sudo.h:
24429         now use setreuid()
24430         [7d64d685d78e]
24431
24432 1994-01-26  Todd C. Miller  <Todd.Miller@courtesan.com>
24433
24434         * sudo.man:
24435         revised AUTHORS secrtion & added ENV_EDITOR stuff to VARIABLES
24436         sectoin
24437         [b26967b1e19b]
24438
24439         * visudo.c:
24440         now uses ENV_EDITOR if you want to use the EDITOR envar
24441         [a4f8fcb9bd1d]
24442
24443         * sudo.h:
24444         now uses ENV_EDITOR if you want to use the EDITOR envar >> .
24445         [028cc55c4328]
24446
24447 1993-12-07  Todd C. Miller  <Todd.Miller@courtesan.com>
24448
24449         * INSTALL:
24450         rewrote most of this
24451         [a6750923f9c9]
24452
24453         * README:
24454         minor update + spell fix
24455         [a411717a7249]
24456
24457         * sudo.h:
24458         added all options that are in the Makefile
24459         [6db3b3b841b3]
24460
24461         * getpass.c:
24462         now use USE_TERMIO #define for sgi & hpux
24463         [b91f89ae6be1]
24464
24465         * TODO:
24466         todo: posix sigs
24467         [4548a56eb2ef]
24468
24469 1993-12-06  Todd C. Miller  <Todd.Miller@courtesan.com>
24470
24471         * check.c, find_path.c:
24472         always include strings.h
24473         [1fc20bda92c0]
24474
24475         * visudo.c:
24476         added STATICEDITOR
24477         [0596f820716e]
24478
24479         * sudo.h:
24480         sgi has vi in /usr/bin too
24481         [94203b62bfd9]
24482
24483         * sudo.man:
24484         added VISUAL
24485         [87c2844c4cac]
24486
24487 1993-12-03  Todd C. Miller  <Todd.Miller@courtesan.com>
24488
24489         * sudo.h:
24490         sue /usr/bin/vi on some systems
24491         [e3ad9190f35e]
24492
24493         * sudo.c:
24494         fixed warning (include strings.h)
24495         [0b896de4d8a0]
24496
24497         * sudo.man:
24498         added John_Rouillard@dl5000.bc.edu's changes (new features)
24499         [f41b4205a8cf]
24500
24501         * CHANGES:
24502         changes from John_Rouillard@dl5000.bc.edu
24503         [6bdef8e948d5]
24504
24505         * visudo.c:
24506         added EDITOR envar
24507         [5c4bf716de21]
24508
24509         * check.c, find_path.c, parse.c, sudo.c:
24510         added patches from John_Rouillard directory spec
24511         uses EDITOR
24512         [f62a435f8c41]
24513
24514 1993-12-02  Todd C. Miller  <Todd.Miller@courtesan.com>
24515
24516         * getpass.c:
24517         added flush for hpux
24518         [07cfdd6a7b55]
24519
24520 1993-11-30  Todd C. Miller  <Todd.Miller@courtesan.com>
24521
24522         * sudo.c:
24523         no longer assume malloc returns a char *
24524         [7480bd2756f3]
24525
24526         * sudo.c:
24527         alpha change to remove LD_-like thing fixed SHLIB_PATH stuff -- now
24528         gets removed correctly
24529         [8587166c6ac8]
24530
24531         * sudo.h:
24532         added STD_HEADERS macro
24533         [480f5a9a516c]
24534
24535         * sudo.c:
24536         now uses STD_HEADERS macor for ansi
24537         [c5018806fd59]
24538
24539         * find_path.c:
24540         now uses STD_HEADERS macro
24541         [ad821e0788ea]
24542
24543         * check.c:
24544         niceties for C compiler bitches -- no real change
24545         [0fc0b1a5fb64]
24546
24547 1993-11-29  Todd C. Miller  <Todd.Miller@courtesan.com>
24548
24549         * visudo.c:
24550         now doesn't fclose a file never opened.
24551         [ee888ec9427d]
24552
24553 1993-11-28  Todd C. Miller  <Todd.Miller@courtesan.com>
24554
24555         * sudo.man:
24556         added visudo line
24557         [698d51c66407]
24558
24559         * sudo.man:
24560         added error stuff added me in there...
24561         [d202fd34b906]
24562
24563         * CHANGES:
24564         noted insults
24565         [998a22c2230c]
24566
24567         * INSTALL:
24568         added blurb about reading stuff
24569         [e71db100798f]
24570
24571         * sudo.h:
24572         added insults
24573         [c110431cec56]
24574
24575         * insults.h:
24576         corrected somments and removed newlines
24577         [493706fd488c]
24578
24579         * check.c:
24580         now uses insults
24581         [6d23cf06a0ef]
24582
24583         * insults.h:
24584         Initial revision
24585         [83153c26b4a3]
24586
24587         * INSTALL:
24588         added dec syslog note
24589         [555437273237]
24590
24591         * sample.sudoers:
24592         added real stuff in there
24593         [53442a7fba78]
24594
24595         * TODO:
24596         added a todo
24597         [c630472bd4dc]
24598
24599         * TODO:
24600         added one
24601         [806464453284]
24602
24603 1993-11-27  Todd C. Miller  <Todd.Miller@courtesan.com>
24604
24605         * sample.sudoers:
24606         Initial revision
24607         [7db0a9f1ca8f]
24608
24609         * sudo.man:
24610         updated with changes
24611         [d9bf254c6c08]
24612
24613         * sudo.man:
24614         Initial revision
24615         [dd6f11174ac6]
24616
24617         * indent.pro:
24618         Initial revision
24619         [dbfbb494fad9]
24620
24621         * CHANGES, COPYING, INSTALL, README, TODO:
24622         Initial revision
24623         [6d98f489a079]
24624
24625         * visudo.c:
24626         updated version number and took out jeff's old addr since it is no
24627         good
24628         [ee47c24818cb]
24629
24630         * check.c, find_path.c, logging.c, parse.c, parse.lex, parse.yacc,
24631         sudo.c, sudo.h:
24632         updated version number and took out jeff's email (since it is
24633         invalid)
24634         [54616458a52e]
24635
24636 1993-10-28  Todd C. Miller  <Todd.Miller@courtesan.com>
24637
24638         * check.c:
24639         added fflush()
24640         [145c881f4fb4]
24641
24642 1993-10-23  Todd C. Miller  <Todd.Miller@courtesan.com>
24643
24644         * find_path.c:
24645         now return NULL instead pf\b\bof exiting for nopn\b\bn-fatal errors
24646         [8bc74f8cb1ae]
24647
24648 1993-10-21  Todd C. Miller  <Todd.Miller@courtesan.com>
24649
24650         * check.c:
24651         new banner
24652         [5387ab2af516]
24653
24654         * parse.lex:
24655         now sudo.h gets included first
24656         [2acb01c18e18]
24657
24658 1993-10-18  Todd C. Miller  <Todd.Miller@courtesan.com>
24659
24660         * parse.lex:
24661         now can use flex
24662         [164d3839adf0]
24663
24664         * sudo.h:
24665         linux patch
24666         [f1b6b1b1a2ca]
24667
24668         * sudo.c:
24669         hpux 9 fix, removes SHLIB_PATH linux patch
24670         [67611dc1737f]
24671
24672         * check.c:
24673         linux diff
24674         [c24536682397]
24675
24676 1993-10-15  Todd C. Miller  <Todd.Miller@courtesan.com>
24677
24678         * find_path.c:
24679         stat now ignores EINVAL
24680         [c7761a5dc642]
24681
24682 1993-10-06  Todd C. Miller  <Todd.Miller@courtesan.com>
24683
24684         * find_path.c, sudo.c:
24685         now declare strdup as extern
24686         [6b7d6f8784b5]
24687
24688 1993-10-04  Todd C. Miller  <Todd.Miller@courtesan.com>
24689
24690         * visudo.c:
24691         reformatted with indent + by hand
24692         [9d43084e4990]
24693
24694         * check.c, find_path.c, getpass.c, logging.c, parse.c, sudo.c, sudo.h:
24695         used indent to "fix" coding style
24696         [489ffacbdc70]
24697
24698         * find_path.c:
24699         now checks '.' or '.' or '' in PATH -- but does it LAST should maybe
24700         move the code that does this into the loop body. makes it messier
24701         tho. hmmm.
24702         [c4d22b48da9a]
24703
24704 1993-09-08  Todd C. Miller  <Todd.Miller@courtesan.com>
24705
24706         * find_path.c:
24707         redid the fix for non-executable files in an easier to read way plus
24708         some minor aethetic changes
24709         [84fe337f1426]
24710
24711         * find_path.c:
24712         fixed bug with non-executable tings of same name in path introduced
24713         by checkig errno after stat(2).
24714         [c2a812cfcbc1]
24715
24716 1993-09-05  Todd C. Miller  <Todd.Miller@courtesan.com>
24717
24718         * sudo.c:
24719         fixed off by one error
24720         [fabb7cee0041]
24721
24722         * find_path.c:
24723         now handles decending below '/' correctly
24724         [5d2ddfc0b220]
24725
24726         * sudo.c:
24727         now actually builds Envp instead of munging envp
24728         [bdc4b08f6898]
24729
24730 1993-09-04  Todd C. Miller  <Todd.Miller@courtesan.com>
24731
24732         * parse.yacc:
24733         now includes sys/param.h
24734         [efbb494ab4de]
24735
24736         * visudo.c:
24737         now includes sys/param.h
24738         [ad6c91d59958]
24739
24740         * sudo.h:
24741         fixed ifndef -> ifdef
24742         [7aebe822d863]
24743
24744         * qualify.c:
24745         make more like find_path.c
24746         [853b2dab2e03]
24747
24748         * find_path.c:
24749         rewritten by millert
24750         [c6a043cc11b3]
24751
24752         * sudo.h:
24753         fixed MAXCOMMANDLENGTH now uses USE_CWD and NEED_STRDUP added info
24754         about new defines in the comment
24755         [39ffefce3aec]
24756
24757         * logging.c:
24758         now uses USE_CWD
24759         [fa0f3b118bb3]
24760
24761         * sudo.h:
24762         added delc for clean_envp() and Envp
24763         [a12034e300c2]
24764
24765         * sudo.c:
24766         now rips LD_* env vars out of envp and passed sanitized Envp to exec
24767         [d201a218e056]
24768
24769         * logging.c:
24770         now uses execve()
24771         [f3e01032cd33]
24772
24773         * find_path.c:
24774         ENOTDIR is ok now too (in case part of the path is bogus)
24775         [b5cbbb201bb5]
24776
24777         * qualify.c:
24778         now works correctly (ttaltotal rewrite)
24779         [0c25d64a5c68]
24780
24781         * parse.lex:
24782         now includes sys/param.h didn't match trailing / -- fix from
24783         rouilj@cs.umb.edu
24784         [b6363ba110af]
24785
24786 1993-06-11  Todd C. Miller  <Todd.Miller@courtesan.com>
24787
24788         * sudo.c:
24789         moved around the #ifndef _AIX
24790         [7d4330950c20]
24791
24792         * check.c, logging.c, parse.c:
24793         Initial revision
24794         [c101e9572d7f]
24795
24796 1993-03-20  Todd C. Miller  <Todd.Miller@courtesan.com>
24797
24798         * qualify.c:
24799         Initial revision
24800         [5a5f21d0e0bf]
24801
24802 1993-03-13  Todd C. Miller  <Todd.Miller@courtesan.com>
24803
24804         * find_path.c:
24805         now works if you do sudo bin/test
24806         [07835120ce43]
24807
24808         * find_path.c:
24809         works
24810         [c3da8b5efa20]
24811
24812 1993-03-02  Todd C. Miller  <Todd.Miller@courtesan.com>
24813
24814         * sudo.h:
24815         Initial revision
24816         [28a1caa38b72]
24817
24818         * visudo.c:
24819         Initial revision
24820         [0e5cd7c3cdbe]
24821
24822         * parse.lex, parse.yacc:
24823         Initial revision
24824         [5f2d0cccb06b]
24825
24826 1993-02-16  Todd C. Miller  <Todd.Miller@courtesan.com>
24827
24828         * sudo.c:
24829         took out errno.h
24830         [7466431a2655]
24831
24832         * sudo.c:
24833         now spews error if exec fails and exits with -1
24834         [e5c41ea725c1]
24835
24836         * sudo.c:
24837         Initial revision
24838         [8aeabe39a0c2]
24839
24840         * find_path.c:
24841         now only execs files with (an) executable bit set.
24842         [0a451f9c0e58]
24843
24844         * find_path.c:
24845         Initial revision
24846         [02a534891a35]
24847
24848 1993-02-15  Todd C. Miller  <Todd.Miller@courtesan.com>
24849
24850         * getpass.c:
24851         added nice comment
24852         [ea8b2aaa9389]
24853
24854         * getpass.c:
24855         now works on sgi's
24856         [bf2b7c6d0960]
24857
24858         * getpass.c:
24859         Initial revision
24860         [9f4de251c1b5]
24861