Imported Upstream version 1.7.4
[debian/sudo] / ChangeLog
1 2010-07-30  Todd C. Miller  <Todd.Miller@courtesan.com>
2
3         * .hgtags:
4         Added tag SUDO_1_7_4 for changeset 2920a3b9d568
5         [e929004d5102] [tip]
6
7         * pp:
8         Debian: Remove dots from decoded release number AIX: looser matching
9         of file command output for AIX 5.1
10         [2920a3b9d568] [SUDO_1_7_4]
11
12         * .hgtags:
13         Added tag SUDO_1_7_4 for changeset 0d844aa34c1d
14         [cf65ddcec602]
15
16 2010-07-29  Todd C. Miller  <Todd.Miller@courtesan.com>
17
18         * exec_pty.c:
19         exec_monitor is static
20         [0d844aa34c1d]
21
22         * pp:
23         Update to latest version
24         [7b8a00defbd6]
25
26 2010-07-28  Todd C. Miller  <Todd.Miller@courtesan.com>
27
28         * sudo.pp:
29         Let pp determine pp_aix_version itself.
30         [c5ee7944af03]
31
32         * INSTALL, config.h.in, configure, configure.in, mkpkg, sudo.c:
33         Add support for Ubuntu admin flag file and enable it when building
34         Ubuntu packages.
35         [2d97501cda0c]
36
37         * sudo.pp, sudoers:
38         Add commented out SuSE-like targetpw settings
39         [f4ad331ace46]
40
41         * configure, configure.in:
42         Only try to use +DAportable for non-GCC on hppa Check the value of
43         $pic_flag insteaf of whether the compiler is ANSI C when detecting
44         the HP-UX bundled C compiler.
45         [654da0091c16]
46
47         * configure, configure.in:
48         Prevent configure from adding the -g flag unless in devel mode
49         [e3c11f228c56]
50
51 2010-07-27  Todd C. Miller  <Todd.Miller@courtesan.com>
52
53         * sudo.pp:
54         Go back to sudo-flavor to match existing packages and only use an
55         underscore for those that need it.
56         [1f78ecf3b990]
57
58         * sudo.pp:
59         Use sudo_$flavor instead of sudo-$flavor since that causes the least
60         amount of trouble for the various package managers.
61         [7e1e07115788]
62
63         * mkpkg:
64         Fix handling of the ldap flavor Remove destdir unless --debug was
65         specified Make distclean before running configure if there is a
66         Makefile present
67         [2bde3925346d]
68
69         * configure, configure.in:
70         Back out version change in 5baf2187a138
71         [bbc3a81afbba]
72
73         * mkpkg:
74         Pass extra args on to configure on HP-UX, if we don't have the HP C
75         compiler, disable zlib to prevent gcc from finding it in
76         /usr/local/lib.
77         [87201c7f1116]
78
79         * configure, configure.in, mkpkg:
80         Use the HP ANSI C compiler on HP-UX if possible
81         [5baf2187a138]
82
83         * sudoreplay.c:
84         Some getline() implementations (FreeBSD 8.0) do not ignore the
85         length pointer when the line pointer is NULL as they should.
86         [8652300785ed]
87
88         * sudoreplay.c:
89         Don't need to check for *cp being non-zero, isdigit() will do that.
90         [107301a99b6a]
91
92         * sudoreplay.c:
93         Add setlocale() so the command line arguments that use floating
94         point work in different locales. Since sudo now logs the timing
95         data in the C locale we must Parse the seconds in the timing file
96         manually instead of using strtod(). Furthermore, sudo 1.7.3 logged
97         the number of seconds with the user's locale so if the decimal point
98         is not '.' try using the locale-specific version.
99         [2b8ed181e37c]
100
101         * exec.c:
102         Do I/O logging in the C locale so the floating point numbers in the
103         timing file are not locale-dependent.
104         [18abbca14078]
105
106         * sudoreplay.c:
107         Use errorx() not error() for thingsthat don't set errno.
108         [a2e7c6793d26]
109
110 2010-07-26  Todd C. Miller  <Todd.Miller@courtesan.com>
111
112         * sudo.pp:
113         Add Tru64 kit support
114         [40e2d21aa17f]
115
116         * pp:
117         Better support for 1.2.3 style versions in Tru64 kits
118         [f7133199a711]
119
120         * pp:
121         Remove apparently unnecessary use of sudo
122         [a667a69eeab0]
123
124         * Makefile.in:
125         Create timedir as part of install-dirs target.
126         [a2e394d694dd]
127
128         * exec_pty.c:
129         Handle ENXIO from read/write which can occur when reading/writing a
130         pty that has gone away. Fixes bugzilla 422
131         [142f4c2efa17]
132
133         * pwutil.c:
134         sudo_pwdup() was not expanding an empty pw_shell to _PATH_BSHELL
135         [82e5e46bf458]
136
137         * mkpkg:
138         platform is a pp flag not a variable
139         [9d0ab9b9bf0c]
140
141         * Makefile.in, mkpkg, sudo.pp:
142         Add simple arg parsing for mkpkg so we can set debug, flavor or
143         platform.
144         [8142ab01ccd9]
145
146         * pp:
147         Make rpm backend work on AIX 5.x
148         [2467a79d0b4d]
149
150 2010-07-25  Todd C. Miller  <Todd.Miller@courtesan.com>
151
152         * sudoers:
153         Add commented out Defaults entry for log_output
154         [b3fe97e59ae0]
155
156 2010-07-23  Todd C. Miller  <Todd.Miller@courtesan.com>
157
158         * Makefile.in:
159         Install binary files with -b~ to make a backup. Fixes "text file
160         busy" error on HP-UX during install.
161         [3563e3e0163a]
162
163         * install-sh:
164         "mv -f" on HP-UX doesn't unlink the destination first so add an
165         explicit rm before moving the temporary into place.
166         [3994af813c88]
167
168         * configure, configure.in:
169         Some more ${foo} -> $(foo) conversion for consistent Makefiles.
170         [c214d50c32ec]
171
172 2010-07-22  Todd C. Miller  <Todd.Miller@courtesan.com>
173
174         * pathnames.h.in:
175         Add missing include of maillock.h for Solaris
176         [343f04b7a581]
177
178         * NEWS, TROUBLESHOOTING, UPGRADE, configure, configure.in,
179         sample.syslog.conf, sudoers.cat:
180         Change the default syslog facility from local2 to authpriv (or auth
181         if the operating system doesn't support authpriv).
182         [949f39cf4a59]
183
184         * Makefile.in, configure, configure.in, sudo.pp:
185         Install sudoers as /etc/sudoers on RPM and debian systems where the
186         package manager will not replace a user-modified configuration file.
187         This fixes upgrades from the vendor sudo packages.
188         [74c7ff01e880]
189
190         * pp:
191         RPM: use %config(noreplace) instead of %config for volatile This
192         results in the new file being installed with a .rpmnew suffix
193         instead of the file being replaced and the old one renamed with a
194         .rpmsave suffix.
195         [166133a4fb9e]
196
197 2010-07-21  Todd C. Miller  <Todd.Miller@courtesan.com>
198
199         * boottime.c, mkstemps.c:
200         Include time.h for struct timeval.
201         [50446e0b8398]
202
203         * exec_pty.c:
204         The return value of strsignal() may be const and should be treated
205         as const regardless.
206         [c035b17b50e3]
207
208         * sudoers.cat, sudoers.man.in, sudoers.pod:
209         Mention that 127.0.0.1 will not match, nor will localhost unless
210         that is the actual host name.
211         [e9977ec7ac4f]
212
213         * Makefile.in:
214         fix typo
215         [f216d653404d]
216
217         * Makefile.in, NEWS, README, UPGRADE, WHATSNEW:
218         Rename WHATSNEW -> NEWS
219         [f3ce0a462ca0]
220
221         * pp:
222         Updated pp with latest patches
223         [cded68af5ba0]
224
225         * WHATSNEW, exec.c, exec_pty.c, set_perms.c, sudo.c, sudo.h:
226         If pam is in use, wait until the process has finished before calling
227         pam_close_session().
228         [fb3d7de50a05]
229
230         * sudoers.cat, sudoers.man.in:
231         regen sudoers manual
232         [7498a058eeb1]
233
234         * UPGRADE, sudoers, sudoers.pod:
235         Add commented out line to add HOME to env_keep and add a warning to
236         the note about the HOME change in UPGRADE.
237         [0f7e08f09b9f]
238
239 2010-07-20  Todd C. Miller  <Todd.Miller@courtesan.com>
240
241         * sudoreplay.c:
242         Add LINE_MAX define for those without it.
243         [6248dd44573c]
244
245         * WHATSNEW:
246         Mention that tty_tickets is now the default.
247         [4cf26eaee5ba]
248
249         * INSTALL, UPGRADE, config.h.in, configure, configure.in, defaults.c,
250         sudoers.cat, sudoers.man.in, sudoers.pod:
251         The tty_tickets option is now on by default.
252         [73dd2b82a3a9]
253
254         * WHATSNEW:
255         Mention that AIX authdb support has been fixed.
256         [9331829dc276]
257
258         * aix.c:
259         setauthdb() only sets the "old" registry if it was set by a previous
260         call to setauthdb(). To restore the original value, passing NULL
261         (or an empty string) to setauthdb() is sufficient.
262         [d956fd763521]
263
264 2010-07-19  Todd C. Miller  <Todd.Miller@courtesan.com>
265
266         * sudoers.cat, sudoers.man.in, sudoers.pod:
267         Mention new handling of HOME in always_set_home and set_home
268         descriptions.
269         [a69c9bed3164]
270
271         * sudo.cat, sudo.man.in, sudo.pod:
272         fix typo
273         [9b90bb3e9187]
274
275         * UPGRADE, WHATSNEW, env.c, sudo.cat, sudo.man.in, sudo.pod:
276         Reset HOME when env_reset is enabled unless it is in env_keep
277         [18223dfd1ac3]
278
279         * sudoers.cat, sudoers.man.in, sudoers.pod:
280         The default for set_logname has been "true" for some time now.
281         [9f97e4b43a4b]
282
283         * sudoers.cat, sudoers.man.in, sudoers.pod:
284         Document that MAIL it set in env_reset mode.
285         [dcf9ad98079e]
286
287         * boottime.c:
288         Add missing include of time.h
289         [57bee414982d]
290
291         * defaults.c, sudo.c:
292         Check return value of setdefs() but don't stop setting defaults if
293         we hit an unknown one.
294         [a42cb2d6b7ed]
295
296         * logging.c:
297         Fix check for dup2() return value.
298         [916cd7fdeba7]
299
300         * visudo.c:
301         Treat an unknown defaults entry as a parse error.
302         [1f94675835d9]
303
304         * env.c:
305         Check KEPT_MAIL not DID_MAIL when determining whether to set MAIL in
306         -i and env_reset mode.
307         [aa6657ccfe01]
308
309         * env.c:
310         Add PYTHONUSERBASE to initial_badenv_table
311         [93058374f0d9]
312
313         * WHATSNEW, aclocal.m4, config.h.in, configure, configure.in, env.c,
314         pathnames.h.in, sudo.cat, sudo.man.in, sudo.pod:
315         If env_reset is enabled, set the MAIL environment variable based on
316         the target user unless MAIL is explicitly preserved in sudoers.
317         [d903c904dcd4]
318
319 2010-07-17  Todd C. Miller  <Todd.Miller@courtesan.com>
320
321         * pp:
322         decode debian code names
323         [2df0ecbc23b4]
324
325         * WHATSNEW:
326         fix typo
327         [b66a95fa1869]
328
329 2010-07-16  Todd C. Miller  <Todd.Miller@courtesan.com>
330
331         * WHATSNEW:
332         Add entry about SuSE bash script fix.
333         [04af78fa281c]
334
335         * sudo.c:
336         Restore RLIMIT_NPROC after the uid switch if it appears that
337         runas_setup() did not do it for us. Fixes a bash script problem on
338         SuSE with RLIMIT_NPROC set to RLIM_INFINITY.
339         [bb14802d48b1]
340
341 2010-07-15  Todd C. Miller  <Todd.Miller@courtesan.com>
342
343         * mkpkg, pp, sudo.pp:
344         Restore the dot removal in the os version reported by polypkg. Adapt
345         mkpkg and sudo.pp to the change.
346         [83c7870130fe]
347
348 2010-07-16  Todd C. Miller  <Todd.Miller@courtesan.com>
349
350         * WHATSNEW:
351         Mention polypkg
352         [c5f6e40bbb58]
353
354         * README, WHATSNEW:
355         Update for sudo 1.7.4
356         [0c688f1f8160]
357
358         * INSTALL:
359         document --with-pam-login
360         [33ca3f6308ae]
361
362         * sudoers.cat, sudoers.man.in, sudoers.pod:
363         The tag is NOSETENV, not UNSETENV. From Petr Uzel.
364         [95f37e63ca15]
365
366 2010-07-15  Todd C. Miller  <Todd.Miller@courtesan.com>
367
368         * sudo.pp:
369         Include flavor in solaris package name
370         [b6d56ccf367e]
371
372         * mkpkg:
373         Older shells don't support IFS= so set explictly to space, tab,
374         newline.
375         [336925525e17]
376
377         * mkpkg:
378         Use '=' not '==' in test
379         [98c692271cfd]
380
381         * mkpkg:
382         Fix typo that prevented debian from matching
383         [af4deec35e37]
384
385         * mkpkg:
386         Add missing prefix setting for debian
387         [d0c1941cb6ec]
388
389         * sudo.pp:
390         Use tab indents to reduce the chance of problem with <<- Uncomment
391         some env_keep lines for RHEL, SLES and Debian to more closely match
392         the vendor sudoers files.
393         [74ba26566cdc]
394
395         * sudo.pp:
396         Fix indentation Fix the debian %set section, pp does not set
397         pp_deb_distro Uncomment %sudo line in sudoers for debian Add pam.d
398         to %files for debian Remove the /etc/sudo-ldap.conf symlink on
399         debian for ldap flavor
400         [f15ff41b5afd]
401
402         * sudoers:
403         Add commented out env_keep entries, sample Aliases and a %sudo line
404         for debian.
405         [8264e4ed42dc]
406
407         * configure, configure.in:
408         Remove check for egrep; configure has its own
409         [27b3d85ebf4f]
410
411         * configure.in:
412         Use enable_zlib instead of enableval for consistency
413         [4a15cfd43d3e]
414
415 2010-07-14  Todd C. Miller  <Todd.Miller@courtesan.com>
416
417         * mkpkg:
418         Enable zlib for linux distros
419         [fcab91448bb0]
420
421         * mkpkg:
422         Add ldap flavor to default build
423         [e35a577c8994]
424
425         * mkpkg, sudo.pp:
426         Simplify rpm linux distro settings
427         [f30547765636]
428
429         * UPGRADE, aclocal.m4, configure, configure.in, sudo.cat, sudo.man.in,
430         sudoers.cat:
431         Move time stamp files from /var/run/sudo to /var/{db,lib,adm}/sudo.
432         [8c9440423d98]
433
434         * Makefile.in, mkpkg, sudo.pp:
435         Add ldap "flavor" for debian, controlled by the SUDO_FLAVOR
436         environment variable.
437         [9f418defc08a]
438
439         * sudo.pp:
440         Create sudo group on debian
441         [4b0cc7b8b0b5]
442
443         * mkpkg, sudo.pp:
444         Add debian 4/5/6 and use the dot when doing version matches
445         [d5184f0a1efc]
446
447         * sudoers.cat, sudoers.man.in, sudoers.pod:
448         Remove spurious "and"; from debian
449         [8b9f2a5937bc]
450
451         * aclocal.m4, configure:
452         Use a loop when searching for mv, sendmail and sh
453         [a1c7d19721a4]
454
455         * aclocal.m4, configure, configure.in, sudoers.cat, sudoers.man.in,
456         sudoers.pod, visudo.cat, visudo.man.in, visudo.pod:
457         Substitute the value of EDITOR into the sudoers and visudo manuals.
458         [f00dc9343f94]
459
460 2010-07-13  Todd C. Miller  <Todd.Miller@courtesan.com>
461
462         * mkpkg, pp, sudo.pp:
463         Initial debian 4.0 support
464         [6d73c000723f]
465
466         * mkpkg:
467         Some platforms need -fPIE instead of -fpie
468         [8533a29633e8]
469
470         * Makefile.in:
471         Add packaging bits to DISTFILES
472         [dea9f374f28b]
473
474         * auth/pam.c:
475         Only set PAM_RHOST for Solaris, where it is needed to avoid a bug.
476         On Linux it causes a DNS lookup via libaudit.
477         [22e04d2f5f0f]
478
479         * sudo.psf:
480         We now use pp to generate HP-UX packages
481         [6c9f8ae6bc11]
482
483 2010-07-12  Todd C. Miller  <Todd.Miller@courtesan.com>
484
485         * auth/pam.c:
486         Fix indentation
487         [e52e9e6338d5]
488
489         * INSTALL, Makefile.in:
490         isntall-man -> install-doc
491         [02cc8198ea7a]
492
493         * configure, configure.in, sudo.cat, sudo.man.in, sudoers.cat,
494         sudoers.ldap.cat, sudoers.ldap.man.in, sudoers.man.in,
495         sudoreplay.cat, sudoreplay.man.in, visudo.cat, visudo.man.in:
496         Bump version to 1.7.4
497         [df6ce4ea908a]
498
499         * INSTALL.binary, Makefile.binary.in, Makefile.in:
500         Remove remaining bits of the old binary package
501         [8d4f82c23c22]
502
503         * sudo.pp:
504         Use http://rc.quest.com/topics/polypkg/ for packaging
505         [d71793085629]
506
507         * Makefile.in, mkpkg, pp:
508         Use http://rc.quest.com/topics/polypkg/ for packaging
509         [675e505758c5]
510
511         * install-sh:
512         Just ignore the -c option, it is the default Add support for -d
513         option
514         [2adfb3a63231]
515
516         * env.c, logging.c, pathnames.h.in:
517         Use _PATH_STDPATH instead of _PATH_DEFPATH
518         [2c22d54a1f02]
519
520         * Makefile.in:
521         Do not strip binaries.
522         [bc84682b372c]
523
524         * INSTALL, configure, configure.in:
525         Add --insults=disabled configure option to allow people to build in
526         insult support but have the insults disabled unless explicitly
527         enabled in sudoers.
528         [6d9f40db9cca]
529
530 2010-07-10  Todd C. Miller  <Todd.Miller@courtesan.com>
531
532         * env.c, sudoreplay.c:
533         Fix K&R compilation
534         [e44d3be7ab85]
535
536 2010-07-09  Todd C. Miller  <Todd.Miller@courtesan.com>
537
538         * auth/pam.c, config.h.in, configure, configure.in, env.c, sudo.c,
539         sudo.h:
540         Add support for a sudo-i pam.d file to be used for "sudo -i".
541         Adapted from a RedHat patch.
542         [2984c3831d88]
543
544         * Makefile.in:
545         Fix installation of sudo_noexec.so
546         [d1f7ca8331b6]
547
548         * Makefile.in, config.h.in, configure, configure.in, missing.h,
549         mkstemp.c, mkstemps.c, sudo_edit.c:
550         Use mkstemps() instead of mkstemp() in sudoedit. This allows
551         sudoedit to preserve the file extension (if any) which may be used
552         by the editor (like emacs) to choose the editing mode.
553         [46399679d9ae]
554
555 2010-07-08  Todd C. Miller  <Todd.Miller@courtesan.com>
556
557         * ldap.c, sudoers.ldap.cat, sudoers.ldap.man.in, sudoers.ldap.pod:
558         TLS_CACERT is now an alias for TLS_CACERTFILE. OpenLDAP uses
559         TLS_CACERT, not TLS_CACERTFILE in its ldap.conf. Other LDAP client
560         code, such as nss_ldap, uses TLS_CACERTFILE. Also document why you
561         should avoid disabling TLS_CHECKPEER is possible.
562         [1d626a5cf8c0]
563
564 2010-07-07  Todd C. Miller  <Todd.Miller@courtesan.com>
565
566         * toke.c, toke.l:
567         Add suport for negated user/host/command lists in a Defaults entry.
568         E.g. Defaults:!baduser noexec
569         [24f07a805dce]
570
571 2010-07-01  Todd C. Miller  <Todd.Miller@courtesan.com>
572
573         * sudoers.ldap.pod:
574         fix typo.
575         [d5f2922cecf2]
576
577 2010-06-29  Todd C. Miller  <Todd.Miller@courtesan.com>
578
579         * .hgtags:
580         Added tag SUDO_1_7_3 for changeset 72fd1f510a08
581         [cc8b2277e17e]
582
583         * configure, configure.in, sudo.cat, sudo.man.in, sudoers.cat,
584         sudoers.ldap.cat, sudoers.ldap.man.in, sudoers.man.in,
585         sudoreplay.cat, sudoreplay.man.in, visudo.cat, visudo.man.in:
586         Sudo 1.7.3 GA
587         [72fd1f510a08] [SUDO_1_7_3]
588
589         * alias.c, alloc.c, auth/afs.c, auth/aix_auth.c, auth/bsdauth.c,
590         auth/dce.c, auth/fwtk.c, auth/kerb4.c, auth/kerb5.c, auth/pam.c,
591         auth/passwd.c, auth/rfc1938.c, auth/secureware.c, auth/securid.c,
592         auth/securid5.c, auth/sia.c, auth/sudo_auth.c, boottime.c, check.c,
593         defaults.c, env.c, exec.c, exec_pty.c, fileops.c, find_path.c,
594         fnmatch.c, get_pty.c, getcwd.c, getdate.c, getdate.y, getline.c,
595         getspwuid.c, glob.c, goodpath.c, gram.c, gram.y, interfaces.c,
596         iolog.c, lbuf.c, ldap.c, logging.c, match.c, parse.c, parse_args.c,
597         pwutil.c, set_perms.c, snprintf.c, sudo.c, sudo_edit.c, sudo_nss.c,
598         sudoreplay.c, term.c, testsudoers.c, tgetpass.c, toke.c, toke.l,
599         tsgetgrpw.c, visudo.c:
600         Include strings.h even if string.h exists since they may define
601         different things. Fixes warnings on AIX and others.
602         [7c6de7fb5dba]
603
604         * env.c:
605         Do not rely on env.env_len when unsetting a variable, just use the
606         NULL terminator.
607         [faf088613ce5]
608
609         * env.c:
610         In unsetenv() check for NULL or empty name as per POSIX 1003.1-2008
611         [47f8dfcc7a48]
612
613 2010-06-28  Todd C. Miller  <Todd.Miller@courtesan.com>
614
615         * sudoers.ldap.cat, sudoers.ldap.man.in, sudoers.ldap.pod:
616         Mention that multiple URI lines are merged into a single one.
617         [1dc0ac5929bf]
618
619         * WHATSNEW:
620         Document AIX fixes
621         [be36e8a6dddd]
622
623 2010-06-26  Todd C. Miller  <Todd.Miller@courtesan.com>
624
625         * env.c, sudo.c, sudo.h:
626         For env_init() just use environ not the envp from main().
627         [d4f3e374caeb]
628
629 2010-06-25  Todd C. Miller  <Todd.Miller@courtesan.com>
630
631         * configure, configure.in, sudo.cat, sudo.man.in, sudoers.cat,
632         sudoers.ldap.cat, sudoers.ldap.man.in, sudoers.man.in,
633         sudoreplay.cat, sudoreplay.man.in, visudo.cat, visudo.man.in:
634         Update version to 1.7.3rc1
635         [fe43fe79070d]
636
637         * TODO:
638         fqdn issue is resolved
639         [f35cb63eb74b]
640
641         * env.c:
642         In unsetenv(), assign ep in the for loop instead of doing it
643         earlier. This version of the code does not change env.envp in
644         between when ep is assigned and when it is used but older versions
645         (e.g. 1.7.2) do.
646         [a4cd29c862c9]
647
648         * aix.c:
649         Use S_REGISTRY instead of S_AUTHSYSTEM as the argument to
650         getuserattr() when fetching the administrative domain to be used by
651         setauthdb(). This was suggested by AIX support and is consistent
652         with what OpenSSH does.
653         [d3109706ec85]
654
655         * vasgroups.c:
656         Use warningx() instead of log_error() since the latter is not
657         available to visudo or testsudoers. This does mean that they don't
658         end up in syslog.
659         [0174e89f983b]
660
661         * sudo.c:
662         Defer call to sudo_nonunix_groupcheck_cleanup() until after we have
663         closed the sudoers sources. From Quest sudo.
664         [c1b33e3e0f9e]
665
666         * pwutil.c:
667         Ignore case when matching user/group names in the cache. From Quest
668         sudo.
669         [72df368a8a0e]
670
671 2010-06-24  Todd C. Miller  <Todd.Miller@courtesan.com>
672
673         * config.h.in, configure, configure.in, selinux.c:
674         Add check for setkeycreatecon() when --with-selinux is specified.
675         [24144c52c0cc]
676
677         * configure, configure.in:
678         Bump version to 1.7.3b5 Error out if libaudit.h is missing or
679         ununable when --with-linux-audit was specified
680         [215c7653d9bc]
681
682         * aix.c:
683         K&R function declaration for aix_setauthdb()
684         [82da12d222a6]
685
686         * env.c, sudo.c, sudo.h:
687         If env_init() was called implicitly via getenv(), setenv() or
688         putenv() just use the specified envp instead of mallocing a new
689         copy. This prevents an infinite loop on OpenBSD which calls
690         getenv() from malloc() to get MALLOC_OPTIONS.
691         [8e82ce63f774]
692
693         * ldap.c:
694         Add support for multiple URI lines by joining the contents and
695         passing the result to ldap_initialize.
696         [b4e10b2ffdb1]
697
698 2010-06-23  Todd C. Miller  <Todd.Miller@courtesan.com>
699
700         * pwutil.c, set_perms.c, sudo_nss.c:
701         Bracket initgroups with calls to aix_setauthdb() and
702         aix_restoreauthdb()
703         [363dbe449f1c]
704
705         * aix.c:
706         Include compat.h before alloc.h to get __P
707         [819a2667ffd7]
708
709         * auth/aix_auth.c:
710         Include usersec.h for authenticate() prototype
711         [2b8dd2b67131]
712
713         * aix.c:
714         Add missing includes Add missing trailing NUL in userinfo string
715         [8deaedf44943]
716
717 2010-06-22  Todd C. Miller  <Todd.Miller@courtesan.com>
718
719         * HISTORY, history.pod:
720         Mention when LDAP was incorporated.
721         [4e6c8ec4f67c]
722
723 2010-06-21  Todd C. Miller  <Todd.Miller@courtesan.com>
724
725         * configure:
726         Define _LINUX_SOURCE_COMPAT on AIX for strsignal() prototype, it is
727         not covered by _ALL_SOURCE.
728         [3657f1b181b9]
729
730         * pwutil.c:
731         Include usersec.h on AIX to get IDtouser() prototype.
732         [11483bbe15c7]
733
734         * configure.in:
735         Define _LINUX_SOURCE_COMPAT on AIX for strsignal() prototype, it is
736         not covered by _ALL_SOURCE.
737         [fd48e6e2136b]
738
739 2010-06-18  Todd C. Miller  <Todd.Miller@courtesan.com>
740
741         * iolog.c:
742         Add a cast to quiet a compiler warning.
743         [51e9d419bd83]
744
745         * boottime.c:
746         Use memset() instead of zero_bytes() since we don't include sudo.h
747         [f310b2123ba9]
748
749         * Makefile.in:
750         getline.o is already in LIB_OBJS, do not need it in COMMON_OBJS
751         [c8750c2d75ab]
752
753         * getdate.c, getdate.y:
754         Quiet a compiler warning.
755         [9f231be15958]
756
757         * defaults.c, sudo.c:
758         Call set_fqdn() after sudoers has parsed instead of inline as a
759         callback.
760         [26d413ddb6dd]
761
762         * WHATSNEW:
763         Do not call set_fqdn() until sudoers parses (where is gets run as a
764         callback).
765         [582453a993a1]
766
767         * sudo.c:
768         Do not call set_fqdn() until sudoers parses (where is gets run as a
769         callback). Otherwise, if sudo is built --with-fqdn the fqdn will be
770         set even if !fqdn is set in sudoers.
771         [aa01e867d1bb]
772
773         * configure, configure.in, sudo.cat, sudo.man.in, sudoers.cat,
774         sudoers.ldap.cat, sudoers.ldap.man.in, sudoers.man.in,
775         sudoreplay.cat, sudoreplay.man.in, visudo.cat, visudo.man.in:
776         Bump version to 1.7.3b4
777         [c1c5a73766b6]
778
779         * WHATSNEW:
780         mention the change in tty ticket behavior when there is no tty
781         [93ddde63e453]
782
783         * TODO:
784         remove done items
785         [9601b2e8dcef]
786
787         * aix.c:
788         Remove comment; NAME in usrinfo should be user name.
789         [eb46f1e8ea08]
790
791         * check.c:
792         Do not update tty ticket if there is no tty.
793         [e64e8c8f2286]
794
795         * sudo.cat, sudo.man.in, sudo.pod:
796         No longer need to use -- with the -s flag
797         [e45c18dd79dc]
798
799         * Makefile.in:
800         Add missing $(srcdir) to sudo.man.in target
801         [2bd89f6ca9f3]
802
803         * Makefile.in:
804         Do not rely on BSD make's $>
805         [cb328b82cb92]
806
807         * configure, configure.in:
808         Set timedir to /var/db/sudo for darwin to match Apple sudo's
809         location
810         [860c7f1b001f]
811
812 2010-06-16  Todd C. Miller  <Todd.Miller@courtesan.com>
813
814         * Makefile.in, configure, configure.in:
815         Move aix.o from SUDO_OBJS to COMMON_OBJS
816         [f8a9bdf346c1]
817
818         * config.h.in, configure, configure.in, defaults.c, iolog.c,
819         sudoreplay.c:
820         Check for zlib.h in addition to libz.
821         [fb77e44d5196]
822
823         * Makefile.in, exec.c, exec_pty.c, sudo.h, sudo_exec.h:
824         Move functions and symbols shared between exec.c and exec_pty.c into
825         sudo_exec.h.
826         [e798d945424e]
827
828         * sudo.h:
829         Add missing prototypes for aix_setauthdb and aix_restoreauthdb
830         [8bc2af6d4e17]
831
832         * Makefile.in:
833         Comment out rules to build .man.in and .cat files unless --with-
834         devel
835         [81d6726a19ab]
836
837         * aix.c, pwutil.c, set_perms.c, sudo.h:
838         Fix AIX compilation problems.
839         [7d95f73eca42]
840
841         * sudo.c:
842         Cast isalnum() arg to unsigned char.
843         [5fff9a81af00]
844
845         * WHATSNEW:
846         Add Linux audit support.
847         [e59e0670ba79]
848
849         * sudo.c:
850         Quote any non-alphanumeric characters other than '_' or '-' when
851         passing a command to be run via the shell for the -s and -i options.
852         [d35a3f4cb3c0]
853
854         * sudo.c:
855         Add missing braces that broke -i mode.
856         [7fe124b078ec]
857
858         * linux_audit.c:
859         Fix linux_audit_command() return value
860         [0c582476181c]
861
862 2010-06-15  Todd C. Miller  <Todd.Miller@courtesan.com>
863
864         * Makefile.in, linux_audit.c, linux_audit.h:
865         Add Linux audit support.
866         [b207dc9960de]
867
868 2010-06-16  Todd C. Miller  <Todd.Miller@courtesan.com>
869
870         * INSTALL, audit.c, bsm_audit.c, config.h.in, configure, configure.in,
871         logging.h, selinux.c:
872         Add Linux audit support.
873         [26ae31d7ff93]
874
875 2010-06-15  Todd C. Miller  <Todd.Miller@courtesan.com>
876
877         * sudoreplay.c, sudoreplay.cat, sudoreplay.man.in, sudoreplay.pod:
878         Sync sudoreplay with trunk
879         [65b780cccfa5]
880
881         * exec_pty.c:
882         Remove an XXX
883         [8304ac649241]
884
885         * aix.c, configure, configure.in, pwutil.c, set_perms.c, sudo.h:
886         Set usrinfo for AIX Set adminstrative domain for the process when
887         looking up user's password info and when preparing for execve().
888         [52b48cbe97fd]
889
890         * ldap.c, parse.c:
891         Better prefix determination now that we can't rely on len==0 to tell
892         the beginning on an entry.
893         [32f1875d9605]
894
895         * WHATSNEW, ldap.c, sudoers.ldap.cat, sudoers.ldap.man.in,
896         sudoers.ldap.pod:
897         Add support for multiple sudoers_base entries in ldap.conf. From
898         Joachim Henke
899         [3c0b59fce7b4]
900
901         * configure, configure.in:
902         Remove duplicate setsid check
903         [7712d6d52da1]
904
905         * Makefile.in, config.h.in, configure, configure.in, exec_pty.c,
906         logging.c, missing.h, setsid.c:
907         Move setsid emulation into setsid.c
908         [f24743c9e4e9]
909
910         * exec_pty.c, logging.c, selinux.c, sudo.c, tgetpass.c:
911         Check for dup2() failure.
912         [b1b6ba761b61]
913
914         * config.h.in, configure, configure.in:
915         Remove dup2 check, it is not optional.
916         [cfbe5f3b5956]
917
918 2010-06-14  Todd C. Miller  <Todd.Miller@courtesan.com>
919
920         * WHATSNEW:
921         Add mbr_check_membership support and SELinux fixes
922         [af1936a7cf2f]
923
924         * Makefile.in:
925         Sync SRCS and DISTFILES with reality
926         [0971b5dcb1be]
927
928         * INSTALL:
929         Update OS specific notes. Delete some really ancient ones and move
930         older ones to the end of the list.
931         [872dd8b437a8]
932
933         * README:
934         Bump for sudo 1.7.3 Merge some changes from trunk
935         [a3088c75bf22]
936
937         * selinux.c, sudo.c:
938         Call selinux_restore_tty() as part of cleanup() so it gets called
939         from error()/errorx()
940         [0197c07d4c1e]
941
942         * compat.h:
943         No longer use SA_NOCLDSTOP
944         [73ca654cd3f8]
945
946         * interfaces.h, match.c:
947         Move union sudo_in_addr_un into interfaces.h
948         [c84bda7c332a]
949
950         * pathnames.h.in:
951         Update copyright year
952         [94871f44206b]
953
954         * HISTORY, LICENSE, aix.c, alias.c, alloc.h, boottime.c, bsm_audit.h,
955         compat.h, defaults.c, defaults.h, env.c, fileops.c, find_path.c,
956         gettime.c, gram.y, history.pod, lbuf.h, license.pod, logging.c,
957         match.c, missing.h, nanosleep.c, parse.h, set_perms.c,
958         sudoers.ldap.cat, sudoers.ldap.man.in, sudoers.ldap.pod,
959         sudoreplay.c, term.c, tgetpass.c, toke.l, visudo.c, visudo.cat,
960         visudo.man.in, visudo.pod:
961         Update copyright year
962         [4cfb47c799b8]
963
964         * Makefile.in:
965         Remove varsub as part of clean
966         [61f04a21b0bb]
967
968         * match.c:
969         Quiet a compiler warning.
970         [06d8cfe916c8]
971
972         * getdate.c, getdate.y:
973         Quiet a compiler warning.
974         [473d2b7d44a1]
975
976         * ldap.c, sudo.h:
977         Make the remaining functions in ldap.c static
978         [ba555565b30a]
979
980         * ldap.c:
981         Make private functions static. Diff from Joachim Henke
982         [1603035b1863]
983
984         * schema.ActiveDirectory:
985         Updates from Alain Roy to provide better examples for importing the
986         schema and to fix problems caused by Windows validating attributes
987         which have not yet been added before committing the changes.
988         [83f11ae00f19]
989
990 2010-06-12  Todd C. Miller  <Todd.Miller@courtesan.com>
991
992         * Makefile.in, configure, configure.in, sudo.cat, sudoers.cat:
993         Generate .cat files directly from .man.in instead of .man using
994         default values in configure.in
995         [0a92b41c5ce5]
996
997 2010-06-11  Todd C. Miller  <Todd.Miller@courtesan.com>
998
999         * configure, configure.in, sudo.c, sudo_usage.h.in:
1000         Print configure args with verbose version information.
1001         [ca4a5fcf0af8]
1002
1003         * visudo.c:
1004         Remove tfd from struct sudoersfile; it is not used. Add prev pointer
1005         to struct sudoersfile. Declare list of sudoersfile using TQ_DECLARE.
1006         Use tq_append to append sudoers entries to the tail queue.
1007         [344c631d0d43]
1008
1009 2010-06-10  Todd C. Miller  <Todd.Miller@courtesan.com>
1010
1011         * WHATSNEW:
1012         Describe tty timestamp improvements
1013         [136b0f832903]
1014
1015         * toke.c, toke.l:
1016         A comment character may not be part of a command line argument
1017         unless it is quoted with a backslash. Fixes parsing of:
1018         testuser ALL=NOPASSWD: /usr/bin/wl #comment foo bar closes bz #441
1019         [2a0c82ffedde]
1020
1021         * sudo.cat, sudo.man.in, sudoers.cat, sudoers.man.in:
1022         regen
1023         [c9fddd23c7e1]
1024
1025         * sudoers.pod:
1026         Make this read a little bit better when passwd_timeout is 0.
1027         [51644950823f]
1028
1029         * Makefile.in:
1030         Use the --file argument to config.status instead of setting
1031         CONFIG_FILES
1032         [fc2b42c60b5d]
1033
1034         * sudo.man.pl, sudo.pod:
1035         Attempt to handle a default password prompt timeout of zero more
1036         gracefully.
1037         [478b8e720993]
1038
1039         * toke.c, toke.l:
1040         Do not override value of keepopen global, instead restore it to the
1041         value we pushed onto the stack when popping.
1042         [dc370d57a668]
1043
1044         * exec.c, exec_pty.c, logging.c, mon_systrace.c, tgetpass.c:
1045         Use SA_INTERRUPT in sa_flags
1046         [3845c6637361]
1047
1048         * getdate.c, getdate.y, ldap.c, sudoreplay.c:
1049         Silence some compiler warnings
1050         [112ac65afd0c]
1051
1052 2010-06-09  Todd C. Miller  <Todd.Miller@courtesan.com>
1053
1054         * exec.c, exec_pty.c, sudo.c, sudo.h:
1055         Implement background mode. If I/O logging we use pipes instead of a
1056         pty.
1057         [8d448eaf2aaa]
1058
1059         * compat.h, exec.c, exec_pty.c, mksiglist.c, strsignal.c, tgetpass.c:
1060         Move compat definition of NSIG to compat.h
1061         [cae72a4c9dec]
1062
1063         * tgetpass.c:
1064         Ignore SIGPIPE for "sudo -S"
1065         [c6595c8527c4]
1066
1067         * tgetpass.c:
1068         Properly handle TGP_ECHO again. Print a newline if the user
1069         interrupted password input.
1070         [15acbe4fb535]
1071
1072         * exec_pty.c:
1073         Use POSIX tcgetpgrp() instead of BSD TIOCGPGRP ioctl
1074         [dd041fc9554c]
1075
1076 2010-06-08  Todd C. Miller  <Todd.Miller@courtesan.com>
1077
1078         * exec.c, exec_pty.c, selinux.c, sudo.c, sudo.h:
1079         Return an error from selinux_setup() instead of exiting. Call
1080         selinux_setup() from exec_setup().
1081         [b518225cafba]
1082
1083         * compat.h:
1084         Add definition of WCOREDUMP for systems without it. This is known
1085         to work on AIX and SunOS 4, but may be incorrect on other systems
1086         that lack WCOREDUMP.
1087         [365e56db7cd5]
1088
1089         * check.c, compat.h, config.h.in, configure, configure.in, iolog.c,
1090         nanosleep.c, sudo_edit.c, visudo.c:
1091         Replace timerfoo macros with timevalfoo since the timer macros are
1092         known to be busted on some systems.
1093         [4bb5228606c5]
1094
1095         * toke.c, toke.l:
1096         If a file in a #includedir has improper permissions or owner just
1097         skip it. This prevents packages that incorrectly install a file
1098         into /etc/sudoers.d from breaking sudo so easily. Syntax errors in
1099         #includedir files still result in a parse error (for now).
1100         [b7fb75eddb77]
1101
1102         * TODO, auth/pam.c, exec.c, exec_pty.c, set_perms.c, sudo.c, sudo.h:
1103         Defer call to pam_close_session() until after the command finishes
1104         if there is a monitor process.
1105         [0a39c8e6a81b]
1106
1107         * WHATSNEW, def_data.c, def_data.h, def_data.in, exec.c, sudoers.cat,
1108         sudoers.man.in, sudoers.pod:
1109         Add use_pty sudoers option to force use of a pty even when not
1110         logging I/O.
1111         [aea971f1456a]
1112
1113         * env.c, sudo.c, sudo.h:
1114         Instead of trying to keep the global environment in sync with our
1115         private copy, provide our own getenv() that returns values from the
1116         private environment and use env_get() to pass the environment in to
1117         run_command().
1118         [58c85c5695dc]
1119
1120         * set_perms.c:
1121         Fix typo
1122         [0f677fcdde04]
1123
1124 2010-06-07  Todd C. Miller  <Todd.Miller@courtesan.com>
1125
1126         * sudo.h:
1127         Rename pty.c -> get_pty.c
1128         [39137dcc4420]
1129
1130         * iolog.c:
1131         Add #define for maximum session id
1132         [2a487437f013]
1133
1134         * Makefile.in, configure, configure.in, exec.c, exec_pty.c, iolog.c,
1135         selinux.c, sudo.c, sudo.h, sudo_edit.c:
1136         Split exec.c into exec.c and exec_pty.c Pass a flag in to
1137         sudo_execve to indicate whether we need to wait for the command
1138         to finish (fork + execve vs. execve).
1139         [b197515585db]
1140
1141         * Makefile.in, configure, configure.in, get_pty.c, pty.c:
1142         Rename pty.c -> get_pty.c
1143         [c0e5270bb28a]
1144
1145         * aclocal.m4, configure, configure.in:
1146         Fix --without-iologdir
1147         [dcd6c5907b10]
1148
1149 2010-06-06  Todd C. Miller  <Todd.Miller@courtesan.com>
1150
1151         * iolog.c:
1152         Only use I/O input log file if def_log_input is set and output file
1153         if def_log_output is set.
1154         [96cdd49be996]
1155
1156 2010-06-05  Todd C. Miller  <Todd.Miller@courtesan.com>
1157
1158         * parse_args.c, sudo.c:
1159         Include sudo_usage.h after sudo.h now that it has function
1160         prototypes to guarantee that __P is defined.
1161         [c67b77f8d6b1]
1162
1163 2010-06-04  Todd C. Miller  <Todd.Miller@courtesan.com>
1164
1165         * tgetpass.c:
1166         Do signal setup after turning off echo, not before. If we are using
1167         a tty but are not the foreground pgrp this will generate SIGTTOU so
1168         we want the default action to be taken (suspend process). Use an
1169         array for signals received instead of a single variable so we don't
1170         lose any when there are multiple different signals.
1171         [de356064ea01]
1172
1173         * defaults.h, lbuf.h, sudo.h:
1174         Reorg function prototypes a bit
1175         [5c40f58bb28e]
1176
1177         * Makefile.in, parse_args.c, sudo.c, sudo.h, sudo_usage.h.in:
1178         Move argument parsing into parse_args.c
1179         [fad7b8737c12]
1180
1181         * Makefile.in, config.h.in, configure, configure.in, missing.h,
1182         mksiglist.c, mksiglist.h, siglist.in, strsignal.c:
1183         Build our own sys_siglist for systems that lack it.
1184         [3b5f671936dc]
1185
1186         * exec.c, iolog.c, missing.h, sudo_edit.c:
1187         K&R fixes
1188         [dad62986f2fe]
1189
1190         * exec.c, pty.c, sudo.c, sudo.h, sudo_edit.c:
1191         Log sudoedit sessions as well; adapted from trunk
1192         [2c5d9695022b]
1193
1194         * configure:
1195         regen
1196         [9b319e89a6c4]
1197
1198         * INSTALL, Makefile.in, WHATSNEW, aclocal.m4, configure, configure.in,
1199         def_data.c, def_data.h, def_data.in, defaults.c, exec.c, gram.c,
1200         gram.h, gram.y, iolog.c, parse.c, parse.h, pathnames.h.in, pty.c,
1201         script.c, selinux.c, sudo.c, sudo.h, sudoers.cat, sudoers.man.in,
1202         sudoers.pod, sudoreplay.c, sudoreplay.cat, sudoreplay.man.in,
1203         sudoreplay.pod, term.c:
1204         Merge I/O logging changes from trunk. Disabling I/O log support at
1205         compile time does not currently work. Sudoedit is not yet hooked up
1206         to I/O logging.
1207         [968c2c74c69b]
1208
1209 2010-06-03  Todd C. Miller  <Todd.Miller@courtesan.com>
1210
1211         * INSTALL, configure, configure.in:
1212         Add --enable-warnings configure option
1213         [19cf967c36d1]
1214
1215         * check.c, lbuf.h, script.c, sudo.c, sudo_nss.c:
1216         Fix K&R compilation issues on HP-UX.
1217         [c01a547cdcf8]
1218
1219         * lbuf.c, lbuf.h, ldap.c, parse.c, sudo.c, sudo_nss.c:
1220         Pass in output function to lbuf_init() instead of writing to stdout.
1221         A side effect is that the usage info can now go to stderr as it
1222         should. Add support for embedded newlines in lbuf and use that
1223         instead of multiple calls to lbuf_print.
1224         [596a427ff873]
1225
1226         * configure, configure.in, sudo.man.pl, sudoers.man.pl:
1227         Use numeric registers to handle conditionals instead of trying to do
1228         it all with text processing.
1229         [31570c372e0e]
1230
1231         * sudoers.pod:
1232         Document per-command SELinux settings
1233         [bbce5acad1be]
1234
1235         * sudo.pod:
1236         timestamp -> time stamp
1237         [d7335ce6286f]
1238
1239         * tsgetgrpw.c:
1240         Set close on exec flag in private versions of setpwent() and
1241         setgrent().
1242         [954814bdbd56]
1243
1244         * logging.c:
1245         Make send_mail() take a printf-style argument list
1246         [0783ad585062]
1247
1248         * Makefile.binary.in, Makefile.in, aclocal.m4, acsite.m4,
1249         config.guess, config.h.in, config.sub, configure, configure.in,
1250         ltmain.sh, m4/libtool.m4, m4/ltoptions.m4, m4/ltsugar.m4,
1251         m4/ltversion.m4, m4/lt~obsolete.m4:
1252         Update to autoconf 2.65 and libtool 2.2.6b
1253         [3544dd2f1a94]
1254
1255         * boottime.c:
1256         Don't use TRUE/FALSE which may not be defined.
1257         [8649bf22b3b2]
1258
1259         * sudo.cat, sudo.man.in, sudo.pod:
1260         Document new tty_ticket behavior
1261         [0663e0390338]
1262
1263         * find_path.c, sudo.c, sudo.h, visudo.c:
1264         Make find_path() a little more generic by not checking def_foo
1265         variables inside it. Instead, pass in ignore_dot as a function
1266         argument.
1267         [16c3f27cd9b9]
1268
1269         * check.c:
1270         Store info from stat(2)ing the tty in the tty ticket when tty
1271         tickets are in use. If the tty lives on a devpts (Linux) or devices
1272         (Solaris) filesystem, stash the ctime in the tty ticket file, as it
1273         is not updated when the tty is written to. This helps us determine
1274         when a tty has been reused without the user authenticating again
1275         with sudo.
1276         [f9aec9ab9054]
1277
1278         * boottime.c, check.c, sudo.h:
1279         get_boottime() now fills in a timeval struct
1280         [dbd2003659c0]
1281
1282 2010-06-02  Todd C. Miller  <Todd.Miller@courtesan.com>
1283
1284         * check.c, compat.h, config.h.in, configure, configure.in, fileops.c,
1285         gettime.c, sudo.h, sudo_edit.c, visudo.c:
1286         Use timeval directly instead of converting to timespec when dealing
1287         with file times and time of day.
1288         [c85bf3e41839]
1289
1290         * auth/pam.c:
1291         Fix OpenPAM detection for newer versions.
1292         [67f29a0703d0]
1293
1294         * vasgroups.c:
1295         Sync with Quest sudo git repo
1296         [2680ad9762c2]
1297
1298         * aclocal.m4, configure, configure.in:
1299         HP-UX ld uses +b instead or -R or -rpath Fix typo in libvas check
1300         libvas may need libdl for dlopen() Add missing template for
1301         ENV_DEBUG Adapted from Quest sudo
1302         [6c886eb9070a]
1303
1304         * README.LDAP:
1305         Fix typos; from Quest Sudo
1306         [cf258fc69f1a]
1307
1308         * Makefile.in, configure.in:
1309         Use value of SHELL from configure in Makefile
1310         [08aaf12221d6]
1311
1312 2010-05-28  Todd C. Miller  <Todd.Miller@courtesan.com>
1313
1314         * env.c:
1315         Handle duplicate variables in the environment. For unsetenv(), keep
1316         looking even after remove the first instance. For sudo_putenv(),
1317         check for and remove dupes after we replace an existing value.
1318         [086c6397d8cd]
1319
1320 2010-04-29  Todd C. Miller  <Todd.Miller@courtesan.com>
1321
1322         * visudo.c:
1323         Fix a crash when checking a sudoers file that has aliases that
1324         reference themselves. Based on a diff from David Wood.
1325         [5efc702a3b35]
1326
1327 2010-04-15  Todd C. Miller  <Todd.Miller@courtesan.com>
1328
1329         * alias.c:
1330         Fix use after free in error message when a duplicate alias exists.
1331         [9eaac49bd22b]
1332
1333 2010-04-14  Todd C. Miller  <Todd.Miller@courtesan.com>
1334
1335         * visudo.c:
1336         Set errorfile to the sudoers path if we set parse_error manually.
1337         This prevents a NULL dereference in printf() when checking a sudoers
1338         file in strict mode when alias errors are present.
1339         [b4eed2f0615d]
1340
1341 2010-04-12  Todd C. Miller  <Todd.Miller@courtesan.com>
1342
1343         * TODO, sudoers.cat, sudoers.man.in, sudoers.pod:
1344         Fix typo
1345         [57198cae9cf5]
1346
1347 2010-04-09  Todd C. Miller  <Todd.Miller@courtesan.com>
1348
1349         * find_path.c:
1350         Qualify the command even if it is in the current working directory,
1351         e.g. "./foo" instead of just returning "foo". This removes an
1352         ambiguity between real commands and possible pseudo-commands in
1353         command matching.
1354         [fb4d571495fa]
1355
1356 2010-04-07  Todd C. Miller  <Todd.Miller@courtesan.com>
1357
1358         * sudoers.cat, sudoers.man.in, sudoers.pod:
1359         Add a note about the security implications of the fast_glob option.
1360         [84f8097553d9]
1361
1362         * memrchr.c:
1363         Remove duplicate includes
1364         [3e8d90f4c30f]
1365
1366 2010-03-22  Todd C. Miller  <Todd.Miller@courtesan.com>
1367
1368         * configure, configure.in:
1369         Fix installation of sudoers.ldap in "make install" when --with-ldap
1370         was specified without a directory. From Prof. Dr. Andreas Mueller
1371         [5177a284b9ff]
1372
1373 2010-03-09  Todd C. Miller  <Todd.Miller@courtesan.com>
1374
1375         * match.c:
1376         When doing a glob match, short circuit if gl.gl_pathc is 0. From
1377         Mark Kettenis.
1378         [549f8f7c2463]
1379
1380 2010-03-08  Todd C. Miller  <Todd.Miller@courtesan.com>
1381
1382         * script.c:
1383         Use parent process group id instead of parent process id when
1384         checking foreground status and suspending parent. Fixes an issue
1385         when running commands under /usr/bin/time and others.
1386         [eac86126e335]
1387
1388         * env.c:
1389         In setenv(), if the var is empty, return 1 and set errno to EINVAL
1390         instead of returning EINVAL directly.
1391         [d202091ec15e]
1392
1393 2010-02-22  Todd C. Miller  <Todd.Miller@courtesan.com>
1394
1395         * match.c:
1396         Check for pseudo-command by looking at the first character of the
1397         command in sudoers instead of checking the user-supplied command for
1398         a slash.
1399         [88f3181692fe]
1400
1401 2010-02-09  Todd C. Miller  <Todd.Miller@courtesan.com>
1402
1403         * toke.l:
1404         Avoid a duplicate fclose() of the sudoers file.
1405         [164d39108dde]
1406
1407         * toke.l:
1408         Fix size arg when realloc()ing include stack. From Daniel Kopecek
1409         [8900bccef219]
1410
1411 2010-02-06  Todd C. Miller  <Todd.Miller@courtesan.com>
1412
1413         * aix.c, config.h.in, configure, configure.in:
1414         Use setrlimit64(), if available, instead of setrlimit() when setting
1415         AIX resource limits since rlim_t is 32bits.
1416         [2cbb14d98fc1]
1417
1418         * logging.c:
1419         Fix use after free when sending error messages. From Timo Juhani
1420         Lindfors
1421         [caf183fd9d94]
1422
1423 2010-01-18  Todd C. Miller  <Todd.Miller@courtesan.com>
1424
1425         * ChangeLog, Makefile.in:
1426         Generate the ChangeLog as part of "make dist" instead of having it
1427         in the repo.
1428         [836c31615859]
1429
1430 2010-01-17  Todd C. Miller  <Todd.Miller@courtesan.com>
1431
1432         * Makefile.in:
1433         Generate correct ChangeLog for 1.7 branch.
1434         [586dd90b8878]
1435
1436 2010-01-17  Todd C. Miller  <Todd.Miller@courtesan.com>
1437
1438         * Makefile.binary.in, Makefile.in, aix.c, alias.c, alloc.c, alloc.h,
1439         auth/afs.c, auth/aix_auth.c, auth/bsdauth.c, auth/dce.c,
1440         auth/fwtk.c, auth/kerb4.c, auth/kerb5.c, auth/pam.c, auth/passwd.c,
1441         auth/rfc1938.c, auth/secureware.c, auth/securid.c, auth/securid5.c,
1442         auth/sia.c, auth/sudo_auth.c, auth/sudo_auth.h, check.c,
1443         closefrom.c, compat.h, configure.in, defaults.c, defaults.h,
1444         emul/charclass.h, emul/timespec.h, env.c, error.c, error.h,
1445         fileops.c, find_path.c, getcwd.c, getprogname.c, getspwuid.c,
1446         gettime.c, goodpath.c, gram.c, gram.y, ins_2001.h, ins_classic.h,
1447         ins_csops.h, ins_goons.h, insults.h, interfaces.c, interfaces.h,
1448         isblank.c, lbuf.c, lbuf.h, ldap.c, list.c, list.h, logging.c,
1449         logging.h, match.c, memrchr.c, missing.h, mkinstalldirs, mkstemp.c,
1450         mon_systrace.c, nanosleep.c, parse.c, parse.h, pathnames.h.in,
1451         pty.c, pwutil.c, redblack.c, redblack.h, sample.pam, sample.sudoers,
1452         sample.syslog.conf, script.c, selinux.c, sesh.c, set_perms.c,
1453         sigaction.c, snprintf.c, strcasecmp.c, strerror.c, strlcat.c,
1454         strlcpy.c, strsignal.c, sudo.c, sudo.h, sudo.man.in, sudo.pod,
1455         sudo_edit.c, sudo_noexec.c, sudo_nss.c, sudo_nss.h, sudo_usage.h.in,
1456         sudoers.ldap.man.in, sudoers.ldap.pod, sudoers.man.in, sudoers.pod,
1457         sudoers2ldif, sudoreplay.c, sudoreplay.man.in, sudoreplay.pod,
1458         term.c, testsudoers.c, tgetpass.c, timestr.c, toke.c, toke.l,
1459         utimes.c, visudo.c, visudo.man.in, visudo.pod, zero_bytes.c:
1460         Remove CVS $Sudo$ tags.
1461         [de683a8b31f5]
1462
1463 2009-12-26  Todd C. Miller  <Todd.Miller@courtesan.com>
1464
1465         * sudo_usage.h.in:
1466         make this match sudoers SYNOPSIS
1467         [c74ba66944c2]
1468
1469         * lbuf.c, parse.c:
1470         Print a newline between Runas and Command-specific defaults in sudo
1471         -l.
1472         [b5bdfcc9ce4b]
1473
1474         * term.c:
1475         Use SET and CLR macros in term_raw
1476         [50ca42609d6c]
1477
1478         * sudoreplay.c:
1479         Set stdin to non-blocking mode early instead of in check_input. Use
1480         term_raw instead of term_cbreak since the data we get has already
1481         been expanded via OPOST.
1482         [51c47e803d62]
1483
1484 2009-12-23  Todd C. Miller  <Todd.Miller@courtesan.com>
1485
1486         * script.c, term.c:
1487         Enable/disable all postprocessing instead of just nl->crnl
1488         processing since things like tab expansion matter too. However, if
1489         stdout is a tty leave postprocessing on in the pty since we run into
1490         problems doing it only on the real stdout with .e.g nvi.
1491         [62666e309673]
1492
1493 2009-12-19  Todd C. Miller  <Todd.Miller@courtesan.com>
1494
1495         * check.c:
1496         If tty_tickets is enabled and there is no tty, prompt for a
1497         password. Do not lecture user for "sudo -k command" if user has a
1498         timestamp.
1499         [5880200c5f6b]
1500
1501         * INSTALL:
1502         Document missing options: --with-efence and --with-bsm-audit
1503         [d83afcdf9ff3]
1504
1505         * sudo.cat, sudo.man.in, sudo.pod, sudoers.cat, sudoers.ldap.cat,
1506         sudoers.ldap.man.in, sudoers.ldap.pod, sudoers.man.in, sudoers.pod,
1507         sudoreplay.cat, sudoreplay.man.in, sudoreplay.pod, visudo.cat,
1508         visudo.man.in, visudo.pod:
1509         username -> user name groupname -> group name hostname -> host name
1510         [10c85646f45d]
1511
1512         * INSTALL, README.LDAP, sudoers.pod:
1513         filename -> file name like the rest of the docs
1514         [1ef8ab5a9018]
1515
1516 2009-12-17  Todd C. Miller  <Todd.Miller@courtesan.com>
1517
1518         * parse.c:
1519         Fix printing of entries with multiple host entries on a single line.
1520         [226ceaf91d8d]
1521
1522 2009-12-14  Todd C. Miller  <Todd.Miller@courtesan.com>
1523
1524         * sudoers.pod:
1525         Mention that targetpw affects the timestamp file name.
1526         [a26e22e4f72e]
1527
1528         * def_data.c, def_data.h, def_data.in, defaults.c, script.c,
1529         sudoers.pod:
1530         Add compress_transcript option.
1531         [6e94f8cb9dfb]
1532
1533 2009-12-13  Todd C. Miller  <Todd.Miller@courtesan.com>
1534
1535         * configure, configure.in:
1536         bump to 1.7.3b2
1537         [906d7e347d15]
1538
1539         * pwutil.c, set_perms.c, sudo.c, sudo_nss.c:
1540         Better split of membership vs. traditional group check in
1541         user_in_group(). Allow user_ngroups to be < 0 if getgroups() fails.
1542         [6ebc55d4716b]
1543
1544 2009-12-12  Todd C. Miller  <Todd.Miller@courtesan.com>
1545
1546         * pwutil.c:
1547         Fix pasto and add default return value.
1548         [7973b5e4599c]
1549
1550         * check.c, match.c, pwutil.c, sudo.h:
1551         refactor group member checking into user_in_group()
1552         [48ca8c2eddf8]
1553
1554         * check.c, config.h.in, configure, configure.in, match.c, sudo.c,
1555         sudo.h:
1556         Add support for mbr_check_membership() as present in darwin.
1557         [5501aed02b9f]
1558
1559 2009-12-10  Todd C. Miller  <Todd.Miller@courtesan.com>
1560
1561         * match.c:
1562         Rename label to be accurate
1563         [3af17dd960f7]
1564
1565         * Makefile.in, boottime.c, check.c, config.h.in, configure,
1566         configure.in, sudo.h:
1567         Treat timestamp files from before we booted as old. Idea from and
1568         Apple patch.
1569         [5c96e484c05a]
1570
1571 2009-12-09  Todd C. Miller  <Todd.Miller@courtesan.com>
1572
1573         * sudo.c, sudo.pod, sudo_usage.h.in:
1574         Allow the -u flag to be used in conjunction with the -v flag as per
1575         older versions of sudo.
1576         [591e9fc13c1a]
1577
1578         * logging.c:
1579         fix typo in last commit
1580         [4fd0c692dcf0]
1581
1582 2009-12-08  Todd C. Miller  <Todd.Miller@courtesan.com>
1583
1584         * logging.c:
1585         Convert fmt_first and fmt_confd into macros.
1586         [32e870158b29]
1587
1588         * sudoers.pod:
1589         timeouts can be floats now
1590         [89de639a9679]
1591
1592         * WHATSNEW, def_data.c, def_data.h, def_data.in, defaults.c,
1593         defaults.h, mkdefaults:
1594         Add support for floating point timeout values (e.g. 2.5 minutes).
1595         [210ffa291733]
1596
1597 2009-12-07  Todd C. Miller  <Todd.Miller@courtesan.com>
1598
1599         * sudo.pod:
1600         The -L flag will be removed in sudo 1.7.4
1601         [ffd026084333]
1602
1603 2009-12-06  Todd C. Miller  <Todd.Miller@courtesan.com>
1604
1605         * sudoreplay.c:
1606         Fix a bug due to order of operators.
1607         [938d34464283]
1608
1609 2009-11-23  Todd C. Miller  <Todd.Miller@courtesan.com>
1610
1611         * match.c:
1612         cmnd_matches() already deals with negation so _cmndlist_matches()
1613         does not need to do so itself. Fixes a bug with negated entries in
1614         a Cmnd_List.
1615         [71c845f6ce73]
1616
1617 2009-11-22  Todd C. Miller  <Todd.Miller@courtesan.com>
1618
1619         * sudo.c:
1620         Don't exit() from open_sudoers, just return NULL for all errors.
1621         [8cfa832f972a]
1622
1623         * script.c:
1624         Can't rely on the shell sending us SIGCONT when transitioning from
1625         backgroup to foreground process.
1626         [3c6c5b6cb4b3]
1627
1628         * toke.c, toke.l:
1629         Add missing extern def for parse_error
1630         [45b7b59d03b7]
1631
1632 2009-11-21  Todd C. Miller  <Todd.Miller@courtesan.com>
1633
1634         * toke.c, toke.l:
1635         Avoid a parse error when #includedir doesn't find any files. Closes
1636         bug #375
1637         [1ce1b850e9e6]
1638
1639         * Makefile.in:
1640         Include sudo.man.pl and sudoers.man.pl in the distribution tarball.
1641         [6a22e32da108]
1642
1643 2009-11-15  Todd C. Miller  <Todd.Miller@courtesan.com>
1644
1645         * script.c:
1646         Start command out in foreground mode if stdout is a tty. Works
1647         around issues with some curses-based programs that don't handle
1648         tcsetattr getting interrupted by a signal. Still allows us to avoid
1649         hogging the tty if the command is part of a pipeline.
1650         [1c32f2b94769]
1651
1652         * script.c, sudo.c, sudo.h, sudoreplay.c, term.c, tgetpass.c:
1653         Use a socketpair to pass signals from parent to child. Child will
1654         now pass command status change info back via the socketpair. This
1655         allows the parent to distinguish between signals it has been sent
1656         directly and signals the command has received. It also means the
1657         parent can once again print the signal notifications to the tty so
1658         all writes to the pty master occur in the parent. The command is
1659         now always started in background mode with tty signals handled by
1660         the parent.
1661         [c6790b82986d]
1662
1663 2009-11-04  Todd C. Miller  <Todd.Miller@courtesan.com>
1664
1665         * configure, configure.in:
1666         Fix a few typos in the descriptions; from Jeff Makey Only do the
1667         check for krb5_get_init_creds_opt_free() taking two arguments if we
1668         find krb5_get_init_creds_opt_alloc(). Otherwise we will get a false
1669         positive when using our own krb5_get_init_creds_opt_free which takes
1670         only a single argument.
1671         [845a9ff6f93d]
1672
1673 2009-11-03  Todd C. Miller  <Todd.Miller@courtesan.com>
1674
1675         * configure, configure.in:
1676         Remove a spurious comma in the kerb5 bits.
1677         [3433eab083db]
1678
1679         * auth/kerb5.c:
1680         Call krb5_get_init_creds_opt_init() in our emulated
1681         krb5_get_init_creds_opt_alloc() for MIT kerberos.
1682         [7ffb40bf43e9]
1683
1684 2009-11-01  Todd C. Miller  <Todd.Miller@courtesan.com>
1685
1686         * config.h.in:
1687         Add HAVE_ZLIB
1688         [9297bde61ecc]
1689
1690         * script.c:
1691         Need to ignore SIGTT{IN,OU} in child when running the command in the
1692         background. Also some minor cleanup.
1693         [dc208d982319]
1694
1695 2009-10-31  Todd C. Miller  <Todd.Miller@courtesan.com>
1696
1697         * script.c:
1698         Instead of calling sigsuspend when waiting for SIGUSR[12] from
1699         parent, install the signal handlers w/o SA_RESTART and let them
1700         interrupt waitpid().
1701         [759c7d18203b]
1702
1703         * script.c:
1704         Pass along SIGHUP and SIGTERM from parent to child.
1705         [035b0e254568]
1706
1707         * script.c:
1708         Close unused bits of script_fds in processes that don't need them.
1709         Restore default SIGCONT handler in child.
1710         [e037378ab0c1]
1711
1712         * script.c:
1713         Update foreground/background status in SIGCONT handler in parent
1714         process.
1715         [3f7f91333264]
1716
1717 2009-10-25  Todd C. Miller  <Todd.Miller@courtesan.com>
1718
1719         * script.c:
1720         Defer setting terminal into raw mode until just before we fork() and
1721         only do it if sudo is the foreground process. If we get SIGTT{IN,OU}
1722         and sudo is already in the foreground be sure to set raw mode before
1723         continuing the child.
1724         [1102ef40832c]
1725
1726 2009-10-24  Todd C. Miller  <Todd.Miller@courtesan.com>
1727
1728         * script.c:
1729         Fix handling of SIGTTOU/SIGTTIN in program being run. We now only
1730         give the command the controlling tty if the main sudo process is the
1731         foreground process.
1732         [cf3a91cb5682]
1733
1734         * script.c:
1735         Don't bother with sudo_waitpid() here for now.
1736         [9086de480c2d]
1737
1738         * script.c:
1739         fix non-zlib case
1740         [a258bff0f9a6]
1741
1742 2009-10-23  Todd C. Miller  <Todd.Miller@courtesan.com>
1743
1744         * script.c:
1745         Remove non-wroking code that crept into rev 1.55
1746         [2802dd55cff5]
1747
1748 2009-10-22  Todd C. Miller  <Todd.Miller@courtesan.com>
1749
1750         * INSTALL, configure, configure.in, script.c, sudoreplay.c:
1751         First pass at zlib support for transcript data files
1752         [5d10260807da]
1753
1754         * Makefile.in:
1755         remove vestiges of ZLDFLAGS
1756         [1fa0caf1c0fb]
1757
1758         * script.c:
1759         Add missing variable declaration for when TIOCSCTTY is not defined.
1760         Need to include sys/termio.h for TIOCSCTTY on some systems.
1761         [ee7f41ac2709]
1762
1763         * script.c:
1764         when resuming command, send SIGCONT to its pgrp not just pid
1765         [5cd63c1d565b]
1766
1767         * selinux.c:
1768         remove unused variable
1769         [df67df4be228]
1770
1771         * script.c:
1772         include selinux.h for is_selinux_enabled() proto
1773         [85ebaa880cc1]
1774
1775         * script.c:
1776         Don't use log_error() in the child process.
1777         [def65fe2a433]
1778
1779         * script.c:
1780         Do I/O in parent instead of child since the parent can have both
1781         /dev/tty as well as the pty fds open. The child just sets things up
1782         and waits for its grandchild and writes the signal description to
1783         the pty master if the command was killed by a signal.
1784         [95e473208982]
1785
1786 2009-10-18  Todd C. Miller  <Todd.Miller@courtesan.com>
1787
1788         * missing.h, sudo.h:
1789         Move two struct forward declarations from sudo.h to missing.h
1790         [90ad28294a8c]
1791
1792         * script.c:
1793         Make comment at the top of script_exec() match reality.
1794         [c5042d27dbe0]
1795
1796         * sudo.c:
1797         if neither stdin nor stdout is a tty, check stderr
1798         [c532ff20c8d8]
1799
1800         * Makefile.in:
1801         Add back dependecy of gram.h on gram.y
1802         [c58382b7fcca]
1803
1804         * script.c:
1805         Make transcript mode work as long as we can figure out our tty, even
1806         if it is not stdin. We'd like to use /dev/tty but that won't be
1807         valid after the setsid().
1808         [7b8bba8d99e7]
1809
1810 2009-10-17  Todd C. Miller  <Todd.Miller@courtesan.com>
1811
1812         * config.h.in, configure, configure.in, pty.c:
1813         Add support for IRIX-style dynamic ptys
1814         [bedc9bac44c1]
1815
1816         * Makefile.in, alloc.h, getline.c, sudo.h, sudoreplay.c:
1817         Move alloc.c protos into alloc.h
1818         [b6a90649617d]
1819
1820         * missing.h:
1821         Move prototypes for missing libc functions to missing.h
1822         [dda9ae1ccaf8]
1823
1824         * Makefile.in, sudo.h, sudoreplay.c:
1825         Move prototypes for missing libc functions to missing.h
1826         [7483166b577b]
1827
1828 2009-10-16  Todd C. Miller  <Todd.Miller@courtesan.com>
1829
1830         * config.h.in, configure, configure.in:
1831         Disable transcript support if no tcsetpgrp until we support older
1832         BSD-style job control.
1833         [27ac1d8163df]
1834
1835         * configure, configure.in, pty.c, script.c:
1836         Break out pty code into pty.c
1837         [e85509b25d41]
1838
1839         * compat.h, config.h.in, configure, configure.in:
1840         add killpg macro if no killpg function
1841         [3a125f4a51f0]
1842
1843         * config.h.in, configure, configure.in, script.c:
1844         Push ptem and ldterm for STERAMS-based systems when allocating a
1845         pty.
1846         [36bb39b30ff2]
1847
1848 2009-10-15  Todd C. Miller  <Todd.Miller@courtesan.com>
1849
1850         * script.c:
1851         Sprinkle some more O_NOCTTY and call grantpt() before unlockpt()
1852         [d94bd5c9bf4e]
1853
1854         * script.c:
1855         Call tcgetpgrp() in the parent, not the child and have the child
1856         spin until it is granted. Fixes a race on darwin.
1857         [6e8d435339ce]
1858
1859         * script.c:
1860         Only use TIOCNOTTY in the non-setsid case. If no TIOCSCTTY, just
1861         reopen slave.
1862         [0bdc63c019ca]
1863
1864 2009-10-14  Todd C. Miller  <Todd.Miller@courtesan.com>
1865
1866         * script.c:
1867         In script mode, if the command is killed by a signal, print the
1868         signal description as well as a core dump notification like the
1869         shell does.
1870         [9df61738df07]
1871
1872         * Makefile.in, config.h.in, configure, configure.in, strsignal.c,
1873         sudo.h:
1874         Add check for strsignal() and a simple implementation if it is not
1875         there but sys_siglist is
1876         [61421a188ef4]
1877
1878         * script.c:
1879         Add missing WUNTRACED and store the signal that stopped the
1880         grandchild in suspended, not signo.
1881         [df65042b200e]
1882
1883         * script.c:
1884         g/c unused code
1885         [40d8cb5c9203]
1886
1887         * script.c:
1888         Associate the grandchild's pgrp with the tty instead of the child's
1889         and just get suspend notifications via SIGCHLD instead of directly.
1890         This fixes a hang with programs that try to set terminal attributes
1891         and is more consistent with how the shell handles things.
1892         [6865abff7e94]
1893
1894 2009-10-12  Todd C. Miller  <Todd.Miller@courtesan.com>
1895
1896         * script.c:
1897         Move setpgid() of child into the parent side of the fork() where it
1898         belongs.
1899         [3defa782777c]
1900
1901 2009-10-11  Todd C. Miller  <Todd.Miller@courtesan.com>
1902
1903         * script.c:
1904         fix typo
1905         [b6a612b3622c]
1906
1907         * script.c:
1908         Run command in its own pgrp (like the shell does) for easier
1909         signalling. No need to relay SIGINT or SIGQUIT to parent, just send
1910         to grandchild. Don't want grandchild stopped events in the child
1911         (only termination). Flush output after suspending grandchild before
1912         signalling parent.
1913         [db556bf2176f]
1914
1915         * script.c:
1916         Back out revision 1.34; the problem lies elsewhere.
1917         [85f590a03275]
1918
1919         * script.c:
1920         Don't set stdout to blocking mode when flushing remaining output.
1921         It can cause us to hang when trying to exit. Need to investigate
1922         why.
1923         [6f803a3e33ca]
1924
1925         * script.c:
1926         Handle SIGTTOU and remove some debugging.
1927         [52d17279053e]
1928
1929         * term.c:
1930         Back out revision 1.10 as the signal that interrupts us may be
1931         SIGTTOU or SIGTTIN which the caller must handle.
1932         [7e2fa9107975]
1933
1934         * script.c:
1935         Apparently we need to send SIGSTOP to the command as well as ourself
1936         when we get SIGTSTP, the kernel doesn't automatically stop the
1937         process for us.
1938         [1a936e9309c4]
1939
1940         * script.c:
1941         Use an extra process to act as the glue bewteen the sessions
1942         associated with the user's controlling tty (what the shell uses) and
1943         the tty that sudo is using to do its logging. Basically, this means
1944         that if we get, e.g. SIGTSTP from the process sudo is running, we
1945         relay the signal to the parent so it's shell can do the job control.
1946         [6dd296988060]
1947
1948         * term.c:
1949         Handle getting/setting terminal attributes when the fd is in non-
1950         blocking mode.
1951         [ae5ae535ea7b]
1952
1953 2009-10-07  Todd C. Miller  <Todd.Miller@courtesan.com>
1954
1955         * sudoreplay.c, sudoreplay.cat, sudoreplay.man.in, sudoreplay.pod:
1956         Add support for pausing and changing the speed in interactive mode.
1957         [72a2063780a7]
1958
1959         * script.c:
1960         Already define O_NOCTTY in compat.h, don't need it here
1961         [b5d80ed3e5ce]
1962
1963 2009-10-06  Todd C. Miller  <Todd.Miller@courtesan.com>
1964
1965         * sudoreplay.c:
1966         Add missing protos
1967         [c4cb4e7f4d8a]
1968
1969 2009-09-30  Todd C. Miller  <Todd.Miller@courtesan.com>
1970
1971         * sudo_edit.c:
1972         Always update the stashed mtime of the temp file instead of using
1973         what we have for the original because the time resolution of the
1974         filesystem the temporary is on may not match that of the filesystem
1975         that holds the original. Should fix bz #371 found by Philippe Levan.
1976         [c86ca4bec60c]
1977
1978         * sudoreplay.c:
1979         Use cbreak mode instead of raw mode and add signal handlers to
1980         restore the tty on interrupt.
1981         [84dd283da41c]
1982
1983         * script.c, sudo.h, term.c:
1984         Retain NL to NLCR conversion on the real tty and skip it on the pty
1985         we allocate. That way, if stdout is not a pty there are no extra
1986         carriage returns.
1987         [32e4f570414e]
1988
1989         * script.c:
1990         Fix log_output(); just pass in a string and a length.
1991         [ca980cc0a3fb]
1992
1993 2009-09-28  Todd C. Miller  <Todd.Miller@courtesan.com>
1994
1995         * script.c:
1996         do not use errno when complaining out lack of a tty
1997         [8f9b8c55ab8e]
1998
1999 2009-09-27  Todd C. Miller  <Todd.Miller@courtesan.com>
2000
2001         * Makefile.in, sudoreplay.c, term.c:
2002         Instead of messing with line endings, just set terminal to raw mode
2003         in sudoreplay.
2004         [90943fa87acb]
2005
2006         * term.c:
2007         When copying the terminal attributes to the pty, be sure not to set
2008         ONLCR. This prevents extra carriage returns from ending up in the
2009         script output file.
2010         [e6b5475ac2aa]
2011
2012         * script.c:
2013         Convert a do {} while into a while
2014         [e461310d2c77]
2015
2016         * Makefile.in:
2017         Use if then instead of test && when installing binaries that may not
2018         exist.
2019         [ad4f9490d971]
2020
2021         * script.c:
2022         Add O_NOCTTY when opening a tty device. Explicitly disconnect from
2023         old tty before associatng with new one.
2024         [0e0ca634b80c]
2025
2026         * script.c, selinux.c, sudo.c, sudo.h:
2027         First cut at refactoring some of the selinux code so it can be used
2028         in conjunction with sudo's transcript support.
2029         [779b0d8f9d29]
2030
2031 2009-09-26  Todd C. Miller  <Todd.Miller@courtesan.com>
2032
2033         * aclocal.m4, configure, configure.in:
2034         Fix default case of transcript_enabled being unset.
2035         [f8aa96186e6b]
2036
2037         * script.c, sudoreplay.c:
2038         Use _PATH_SUDO_TRANSCRIPT instead of _PATH_SUDO_SESSDIR
2039         [2844a7a851fa]
2040
2041         * INSTALL, Makefile.in, aclocal.m4, configure, configure.in, sudo.c:
2042         Hook up --disable-transcript and --enable-transcript=DIR
2043         [b3fa7e6b2480]
2044
2045 2009-09-25  Todd C. Miller  <Todd.Miller@courtesan.com>
2046
2047         * aclocal.m4, configure, configure.in, pathnames.h.in:
2048         _PATH_SUDO_SESSDIR -> _PATH_SUDO_TRANSCRIPT Add --enable-
2049         transcript=DIR option to specify the directory
2050         [b0bb76d43cda]
2051
2052         * sudo.cat, sudo.man.in, sudoers.cat, sudoers.man.in:
2053         regen
2054         [c7a8a0a9027c]
2055
2056         * configure, configure.in, sudoers.man.pl, sudoers.pod:
2057         Substitute in default value for secure_path
2058         [c8f9ac6dbf93]
2059
2060         * sudo.pod:
2061         Mention that the password must be followed by a newline with the -S
2062         option.
2063         [2fc589a3ee7e]
2064
2065 2009-09-20  Todd C. Miller  <Todd.Miller@courtesan.com>
2066
2067         * script.c:
2068         Go back to dropping out of the select() loop when the process dies;
2069         Linux ptys apparently don't behave the same as BSD in regards to
2070         select(). No need to flush remaining output to the transcript, only
2071         to stdout. Add back code to check the master pty for additional data
2072         when we exit the main select loop.
2073         [abed9a9cbc6b]
2074
2075 2009-09-19  Todd C. Miller  <Todd.Miller@courtesan.com>
2076
2077         * Makefile.in:
2078         Add getline.o to COMMON_OBJS
2079         [04ef7643cbc2]
2080
2081         * Makefile.in:
2082         sudoreplay depends on libsudo.a
2083         [142bd0472631]
2084
2085         * Makefile.in:
2086         More pwutil.o into COMMON_OBJS
2087         [4a016b933629]
2088
2089         * pwutil.c, testsudoers.c, tsgetgrpw.c:
2090         Remove my_* redirection in pwutil.c for testsudoers and just use the
2091         normal libc get{pw,gr}* names.
2092         [9b76d637d86b]
2093
2094         * sudoreplay.cat, sudoreplay.man.in, sudoreplay.pod:
2095         More time and date examples
2096         [c6ee0175ec56]
2097
2098         * Makefile.in, configure, configure.in, nanosleep.c, sudoreplay.c:
2099         Move nanosleep() emulation into its own file Check librt.a for
2100         nanosleep if we don't find it in libc
2101         [4da0cc26aad7]
2102
2103         * Makefile.in, configure, configure.in:
2104         Build libsudo with the common bits and link things against that.
2105         [2b53bc0b081a]
2106
2107         * script.c:
2108         Fix final flush.
2109         [6da287d833da]
2110
2111         * script.c:
2112         Keep reading from the pty master -> log file until read returns <=
2113         0. Do our best to write everything to stdout when flushing any
2114         remaining bits.
2115         [2a45d4ae280c]
2116
2117         * sudoreplay.c:
2118         Use unbuffered I/O when writing to stdout and make sure we write the
2119         entire buffer.
2120         [f39ef9844a47]
2121
2122 2009-09-18  Todd C. Miller  <Todd.Miller@courtesan.com>
2123
2124         * sudoreplay.c:
2125         Only use max_wait if it is non-zero
2126         [f6c10604d2e8]
2127
2128         * getdate.c, getdate.y, getline.c:
2129         Need compat.h here
2130         [5d6722e225a0]
2131
2132         * sudoreplay.c:
2133         Fix nanosleep emulation
2134         [34e5e5d72a76]
2135
2136         * script.c:
2137         Fix comment after #endif
2138         [bd1347718b25]
2139
2140         * sudoreplay.c:
2141         Add protos for missing libc bits
2142         [644f496427a2]
2143
2144         * configure, configure.in:
2145         add missing line continuation char
2146         [db13c0d402cd]
2147
2148         * config.h.in, configure, configure.in, getline.c:
2149         Implement getline() in terms of fgetln() if we have it.
2150         [3ab786eaadc5]
2151
2152         * sudoreplay.c:
2153         Print year when formatting log line
2154         [90be669e3443]
2155
2156         * sudoreplay.pod:
2157         Document cwd, attempt to document time/date formats.
2158         [6290fb9b65c6]
2159
2160         * sudoreplay.c:
2161         Fix getline return value check.
2162         [d696d6657261]
2163
2164         * Makefile.in, config.h.in, configure, configure.in, getline.c,
2165         sudoreplay.c:
2166         Use getline() if the system has it, else use provide our own for
2167         sudoreplay.
2168         [afca1d6fbe5e]
2169
2170         * script.c:
2171         Refactor code to update output and timing files.
2172         [361491332b1a]
2173
2174 2009-09-17  Todd C. Miller  <Todd.Miller@courtesan.com>
2175
2176         * sudoreplay.c:
2177         Make sudo_getln() behave more like glibc getline.
2178         [40c9f2ea29e6]
2179
2180         * script.c:
2181         When flushing remaining output, also update timing file.
2182         [5a9a5a627549]
2183
2184         * sudoreplay.c:
2185         Use get_timestr() and make the -l output look like the regular sudo
2186         log.
2187         [452ba9d436c9]
2188
2189         * logging.c, sudo.h, timestr.c:
2190         Make get_timestr() take a time_t so we can use it properly in
2191         sudoreplay.
2192         [82e67cc53c9c]
2193
2194         * script.c:
2195         Create session dir earlier now that we update the seq number early.
2196         [797fe8d6dc61]
2197
2198 2009-09-16  Todd C. Miller  <Todd.Miller@courtesan.com>
2199
2200         * sudoreplay.c:
2201         Use fromdate and todate as the keywords instead of from and to; the
2202         short forms will still be accepted.
2203         [d14d9b116df4]
2204
2205         * sudoreplay.c:
2206         Fix reading long liensin sudo_getln()
2207         [58dadd74118c]
2208
2209         * script.c, sudoreplay.c:
2210         Log the cwd in the script log file. Add sudo_getln() to read
2211         arbitrarily long lines.
2212         [faceb802ab8f]
2213
2214         * Makefile.in, logging.c, sudo.h, timestr.c:
2215         Move get_timestr() into its own source file so sudoreplay can use
2216         it.
2217         [99b054bfa20a]
2218
2219 2009-09-15  Todd C. Miller  <Todd.Miller@courtesan.com>
2220
2221         * sudoreplay.c:
2222         Add to and from perdicates (date ranges); needs documentation
2223         [1d629174dcf4]
2224
2225 2009-09-14  Todd C. Miller  <Todd.Miller@courtesan.com>
2226
2227         * Makefile.in, getdate.c, getdate.y:
2228         Fix warning and add generated getdate.c
2229         [b877a86b5a03]
2230
2231         * Makefile.in, getdate.y:
2232         Add getdate.y to be used for sudoreplay date parsing.
2233         [b8e26fbb7a40]
2234
2235 2009-09-13  Todd C. Miller  <Todd.Miller@courtesan.com>
2236
2237         * sudoreplay.c:
2238         Check more than just the first character of a predicate
2239         [4fe53728adb1]
2240
2241         * sudoreplay.cat, sudoreplay.man.in, sudoreplay.pod:
2242         Add examples, sort predicates
2243         [70f8075cbccc]
2244
2245         * Makefile.in, sudoreplay.c, sudoreplay.cat, sudoreplay.man.in,
2246         sudoreplay.pod:
2247         Implement search expressions in sudoreplay similar in concept to
2248         what find or tcpdump uses. TODO: date ranges
2249         [f7ce4fb4cf3a]
2250
2251 2009-09-07  Todd C. Miller  <Todd.Miller@courtesan.com>
2252
2253         * script.c:
2254         Remove vhangup as it was hanging up the wrong tty. Should really
2255         vhangup in the child after it as set its tty.
2256         [2eed9df73010]
2257
2258         * sudoers.pod:
2259         Fix cut at documenting transcript support.
2260         [e6c533a5568a]
2261
2262         * logging.c:
2263         ID= -> TSID= for transcript ID
2264         [1bf755a35333]
2265
2266 2009-09-06  Todd C. Miller  <Todd.Miller@courtesan.com>
2267
2268         * sudoers.pod:
2269         Move fast_glob description to where it belongs in sorted order
2270         [5901cfb0d25f]
2271
2272         * def_data.c, def_data.h, def_data.in, gram.c, gram.h, gram.y,
2273         parse.c, parse.h, sudo.c:
2274         Rename script -> transcript
2275         [e06cf823122c]
2276
2277 2009-09-03  Todd C. Miller  <Todd.Miller@courtesan.com>
2278
2279         * compat.h:
2280         Add timeradd and timersub for those without them
2281         [929f8aa06c2b]
2282
2283         * script.c:
2284         Sanity check sessid before using it.
2285         [aa8ca5211d43]
2286
2287         * sudo.c:
2288         Only set the session id if we are running a command or editing a
2289         file.
2290         [7205d717c098]
2291
2292         * script.c:
2293         Actually. qsort is fine since most versions fal back to a cheaper
2294         sort when the number of elements to sort is small (like in our
2295         case).
2296         [d11c7cd352fe]
2297
2298         * config.h.in, configure, configure.in, script.c:
2299         Check for dup2 and use dup instead if we don't have it.
2300         [98bd89830f8a]
2301
2302         * script.c, sudo.c, sudo.h:
2303         Move the code to dup2 the script fds to low numbered descriptors
2304         into script_duplow() and fix the fd sorting.
2305         [9453fdc5fba6]
2306
2307         * script.c, sudo.c, sudo.h:
2308         Move script_setup() back to immediately before we drop privs and
2309         call the new script_nextid() in its place, which will set
2310         sudo_user.sessid for the logging functions.
2311         [8434d0c8ff08]
2312
2313 2009-09-01  Todd C. Miller  <Todd.Miller@courtesan.com>
2314
2315         * Makefile.in:
2316         Install sudoreplay
2317         [6acf2cdb4d3f]
2318
2319         * sudoreplay.c:
2320         remove unused variable
2321         [2316360bb992]
2322
2323 2009-08-30  Todd C. Miller  <Todd.Miller@courtesan.com>
2324
2325         * logging.c, script.c, sudo.c, sudo.h:
2326         Log the session ID, if there is one. Currently logs ID=XXXXXX,
2327         perhaps should be SESSIONID or SESSID.
2328         [53976905b0a6]
2329
2330         * Makefile.in, configure, configure.in, sudoreplay.cat,
2331         sudoreplay.man.in, sudoreplay.pod:
2332         Add sudoreplay docs
2333         [da4f14f0e64c]
2334
2335         * sudoreplay.c:
2336         add -V (version) flag
2337         [b5e743639ee3]
2338
2339         * sudoreplay.c:
2340         Hook up max_wait.
2341         [2ec5697a92ba]
2342
2343         * script.c, sudoreplay.c:
2344         Use base36 number for the ID and store script files with paths like
2345         /var/log/sudo-session/00/00/00{,.tim,.scr}. This gives us 36^6
2346         (2,176,782,336) unique IDs.
2347         [6aab019d07aa]
2348
2349 2009-08-23  Todd C. Miller  <Todd.Miller@courtesan.com>
2350
2351         * config.h.in, configure.in:
2352         Add check for regcomp
2353         [44c3ebd7ff34]
2354
2355         * sudoreplay.c:
2356         Add support for selecting by pattern and tty when listing.
2357         [66189f840c52]
2358
2359 2009-08-17  Todd C. Miller  <Todd.Miller@courtesan.com>
2360
2361         * sudoreplay.c:
2362         The beginnings of a list mode.
2363         [8d0150b4a52c]
2364
2365 2009-08-16  Todd C. Miller  <Todd.Miller@courtesan.com>
2366
2367         * Makefile.in:
2368         fix pasto
2369         [616b4640b8a8]
2370
2371         * Makefile.in, config.h.in, configure.in:
2372         Add scaffolding for building sudoreplay
2373         [a32958505dbe]
2374
2375         * sudoreplay.c:
2376         include error.h first arg to nanotime is const
2377         [fe5a7bb31bc5]
2378
2379         * sudoreplay.c:
2380         Initial cut at sudoreplay; replay a sudo session.
2381         [f149fba372bd]
2382
2383 2009-08-08  Todd C. Miller  <Todd.Miller@courtesan.com>
2384
2385         * script.c:
2386         Fix wait() usage and use correct wait status.
2387         [f4745ed7ad05]
2388
2389         * sudo.c, sudo.h, tgetpass.c:
2390         Add protos for term_* to sudo.h
2391         [14fe1abd7e7b]
2392
2393         * script.c:
2394         Fix detection of the child process exiting. Since the child is in
2395         its own session we should only ever get SIGCHLD for that process but
2396         better safe than sorry.
2397         [7edfdadd8505]
2398
2399         * config.h.in:
2400         Add UNIX98 pty support.
2401         [82f4b53a0e8f]
2402
2403         * configure, configure.in, script.c:
2404         Add UNIX98 pty support.
2405         [795b8bb0a3a1]
2406
2407 2009-08-07  Todd C. Miller  <Todd.Miller@courtesan.com>
2408
2409         * term.c:
2410         For raw mode, don't bother clearing BRKINT or PARMRK and clear IUCLC
2411         if it is defined.
2412         [40f8b83baf69]
2413
2414         * auth/pam.c:
2415         Set PAM_RUSER and PAM_RHOST early so they can be used during
2416         authentication. Based on a patch from Jamie Beverly.
2417         [3d567b453a6a]
2418
2419         * match.c:
2420         Close dir before returning if strlcpy() reports overflow. From
2421         Martynas Venckus.
2422         [6a82f96473e5]
2423
2424         * config.h.in, configure, configure.in, script.c:
2425         On Linux, the openpty proto libes in pty.h
2426         [98643a018d1c]
2427
2428         * script.c:
2429         Call vhangup on exit if the system has it Use setpgrp() if no
2430         setsid()
2431         [3a9e13149829]
2432
2433 2009-08-06  Todd C. Miller  <Todd.Miller@courtesan.com>
2434
2435         * config.h.in, configure, configure.in:
2436         Add checks for revoke and vhangup if we don't have openpty
2437         [fcb04572e994]
2438
2439         * script.c:
2440         Session logging guts that got forgotten in the previous commit.
2441         [c2af08a63ea9]
2442
2443         * Makefile.in, aclocal.m4, compat.h, config.h.in, configure,
2444         configure.in, def_data.c, def_data.h, def_data.in, gram.c, gram.h,
2445         gram.y, parse.c, parse.h, pathnames.h.in, sudo.c, sudo.h, term.c,
2446         tgetpass.c:
2447         First cut at session logging for sudo. Still need to write
2448         get_pty() for Unix 98 and old-style BSD ptys. Also needs
2449         documentation and general cleanup.
2450         [77e3f5e25738]
2451
2452 2009-08-05  Todd C. Miller  <Todd.Miller@courtesan.com>
2453
2454         * sudo.c, sudo_edit.c:
2455         Fix a bug introduced with def_closefrom. The value of def_closefrom
2456         already includes the +1.
2457         [7291c136300d]
2458
2459 2009-07-29  Todd C. Miller  <Todd.Miller@courtesan.com>
2460
2461         * Makefile.in:
2462         Generate sudo distributions with pax in ustar mode. No longer need
2463         to use a temp file or have the source dir name match the version.
2464         [9778177a8272]
2465
2466 2009-07-18  Todd C. Miller  <Todd.Miller@courtesan.com>
2467
2468         * toke.c, toke.l:
2469         Fix expansion of %h in #include names. Fixes bugzilla 363
2470         [6e346879ba24]
2471
2472 2009-07-12  Todd C. Miller  <Todd.Miller@courtesan.com>
2473
2474         * mkdefaults:
2475         If no arg assume def_data.in
2476         [c1dd28c0e675]
2477
2478         * README, WHATSNEW:
2479         Update for 1.7.2
2480         [f5ad45f69f05] [SUDO_1_7_2]
2481
2482         * ChangeLog:
2483         sync
2484         [6283549396ff]
2485
2486 2009-06-30  Todd C. Miller  <Todd.Miller@courtesan.com>
2487
2488         * sudoers.cat, sudoers.man.in, sudoers.pod:
2489         Add missing single quotes around a colon in Runas_Spec definition.
2490         From Elias Benali.
2491         [ccc6ee4fca83]
2492
2493 2009-06-29  Todd C. Miller  <Todd.Miller@courtesan.com>
2494
2495         * sudo.man.in, sudoers.man.in:
2496         regen
2497         [546e75304ebf]
2498
2499         * redblack.c:
2500         In rbrepair, re-color the root or the first non-block node we find
2501         to be black. Re-coloring the root is probably not needed but won't
2502         hurt.
2503         [34d01ebe241b]
2504
2505         * sudo.cat, sudoers.cat:
2506         regen
2507         [bebf5a39f54f]
2508
2509 2009-06-26  Todd C. Miller  <Todd.Miller@courtesan.com>
2510
2511         * redblack.c:
2512         When repairing the tree, don't touch the root node.
2513         [9841f0d5d789]
2514
2515 2009-06-25  Todd C. Miller  <Todd.Miller@courtesan.com>
2516
2517         * set_perms.c:
2518         Protect call to setegid in runas_setup with #ifdef HAVE_SETEUID.
2519         Reported by Josef Schmid.
2520         [ed044b1eb879]
2521
2522 2009-06-23  Todd C. Miller  <Todd.Miller@courtesan.com>
2523
2524         * sudoers.pod:
2525         Document that we accept env_pam-style environment files
2526         [e3b545456352]
2527
2528         * env.c:
2529         Adapt to accept pam_env-style /etc/environment which allows shell-
2530         style lines such as: export EDITOR="/usr/bin/vi"
2531         [752eb75bf007]
2532
2533         * sudoers.pod:
2534         Make it clear that env_delete only works when !env_reset. From Lo??c
2535         Minier
2536         [3bd3f8e351ba]
2537
2538 2009-06-15  Todd C. Miller  <Todd.Miller@courtesan.com>
2539
2540         * sudo.pod, sudoers.pod:
2541         Add non-unix group bits, adapted from Quest
2542         [8ce427de8dea]
2543
2544         * Makefile.in:
2545         build the .cat page in the current working dir, not the src dir
2546         [00e87a307674]
2547
2548         * env.c:
2549         Return EINVAL in setenv() if var is NULL or the empty string to
2550         match glibc behavior.
2551         [23fd7c247142]
2552
2553 2009-06-13  Todd C. Miller  <Todd.Miller@courtesan.com>
2554
2555         * configure, configure.in:
2556         Use AS_HELP_STRING for AC_ARG_WITH and AC_ARG_ENABLE
2557         [fedd4a3e2a85]
2558
2559 2009-06-11  Todd C. Miller  <Todd.Miller@courtesan.com>
2560
2561         * sudo.cat, sudo.man.in, sudoers.cat, sudoers.ldap.cat,
2562         sudoers.ldap.man.in, sudoers.man.in, visudo.cat, visudo.man.in:
2563         regen
2564         [7b9f461a40b3]
2565
2566 2009-06-09  Todd C. Miller  <Todd.Miller@courtesan.com>
2567
2568         * INSTALL:
2569         Document --with-libvas and --with-libvas-rpath
2570         [a071e6d96c89]
2571
2572 2009-05-29  Todd C. Miller  <Todd.Miller@courtesan.com>
2573
2574         * ldap.c, sudoers.ldap.pod:
2575         For netscape-derived LDAP SDKs the cert and key paths may be a
2576         directory or a file. However, version 5.0 of the SDK only seems to
2577         support using a directory. If ldapssl_clientauth_init fails and the
2578         cert or key paths look like they could be files, strip off the last
2579         path element and try again.
2580         [ac4e49d83043]
2581
2582         * Makefile.in:
2583         Add non-Unix group .o to COMMON_OBJS and substitute in path to flex.
2584         [4547cc1a335f]
2585
2586 2009-05-27  Todd C. Miller  <Todd.Miller@courtesan.com>
2587
2588         * configure, configure.in, match.c, sudo.c, vasgroups.c:
2589         Update non-Unix group support from Quest, as reworked by me.
2590         [1abafce29dc6]
2591
2592         * toke.c:
2593         regen
2594         [01bfca9148b7]
2595
2596         * toke.l:
2597         Add support for escaped hex chars in names, e.g. \x20 for space.
2598         [3c7be8e58a39]
2599
2600 2009-05-25  Todd C. Miller  <Todd.Miller@courtesan.com>
2601
2602         * LICENSE, Makefile.in, aclocal.m4, alias.c, auth/aix_auth.c,
2603         auth/pam.c, auth/sudo_auth.c, auth/sudo_auth.h, check.c, env.c,
2604         fileops.c, glob.c, gram.y, interfaces.c, lbuf.c, ldap.c, logging.c,
2605         logging.h, match.c, parse.c, parse.h, pathnames.h.in, pwutil.c,
2606         set_perms.c, sudo.c, sudo.h, sudo.pod, sudo_nss.c, sudo_nss.h,
2607         sudo_usage.h.in, sudoers.ldap.pod, sudoers.pod, testsudoers.c,
2608         tgetpass.c, toke.l, visudo.c:
2609         Update copyright years.
2610         [e615f676c764]
2611
2612 2009-05-24  Todd C. Miller  <Todd.Miller@courtesan.com>
2613
2614         * interfaces.c, lbuf.c:
2615         Minor fixes for Minix-3
2616         [898c510d23f9]
2617
2618 2009-05-22  Todd C. Miller  <Todd.Miller@courtesan.com>
2619
2620         * set_perms.c:
2621         Handle getgroups() returning 0. Also add missing check for
2622         HAVE_GETGROUPS.
2623         [d73b958f9ffd]
2624
2625 2009-05-19  Todd C. Miller  <Todd.Miller@courtesan.com>
2626
2627         * Makefile.in, config.h.in, configure, configure.in, sudo.c,
2628         version.h, visudo.c:
2629         Replace version.h with PACKAGE_VERSION set via AC_INIT in configure.
2630         [5050579a264d]
2631
2632 2009-05-18  Todd C. Miller  <Todd.Miller@courtesan.com>
2633
2634         * set_perms.c:
2635         Remove group setting code in setusercontext case, we will do it
2636         ourselves later on in runas_setup. Set the gid after
2637         initgroups/setgroups is called, since on Mac OS X it seems to change
2638         the egid.
2639         [09dc21d8b42d]
2640
2641 2009-05-17  Todd C. Miller  <Todd.Miller@courtesan.com>
2642
2643         * LICENSE, Makefile.in, config.h.in, match.c, nonunix.h, sudo.c,
2644         vasgroups.c:
2645         Initial bits of non-unix group support using Quest Authentication
2646         Services
2647         [1eecab0ff27e]
2648
2649         * toke.c, toke.l:
2650         Accept %:foo as a non-Unix group
2651         [4c4b5dd899a6]
2652
2653         * toke.c, toke.l:
2654         Allow user/group to be double quoted in the case of non-Unix groups
2655         which contain spaces.
2656         [47a3d568b7e8]
2657
2658 2009-05-11  Todd C. Miller  <Todd.Miller@courtesan.com>
2659
2660         * match.c:
2661         Don't allow the user to specify the default runas user if their
2662         sudoers entry only allows them to run as a group.
2663         [4d726177227c]
2664
2665 2009-05-10  Todd C. Miller  <Todd.Miller@courtesan.com>
2666
2667         * sudo.c:
2668         Must call audit_success before we change uids.
2669         [04a9e6ce6e55]
2670
2671         * logging.c, set_perms.c, sudo.h, testsudoers.c:
2672         Add option for set_perm to not exit on failure and use this in the
2673         logging routines.
2674         [833dce7b7f42]
2675
2676         * parse.c:
2677         In -l mode, if the user is only allowed to run as a group, display
2678         the user's name, not root's before the allowed group.
2679         [ef92ff99d265]
2680
2681         * sudo.c:
2682         Fix -g mode, broken by rev 1.503 which had the side effect of
2683         setting the runas user to root unilaterally.
2684         [50a2f7df4385]
2685
2686 2009-05-08  Todd C. Miller  <Todd.Miller@courtesan.com>
2687
2688         * fileops.c:
2689         When unlocking a file with fcntl, use F_SETLK, not F_SETLKW.
2690         [30fbe832dcf3]
2691
2692         * pwutil.c:
2693         Only cache by the method we fetched for pwd and grp lookups.
2694         Previously we cached both by namd and id but this can cause problems
2695         for entries that share the same id. Also add more info in the error
2696         message in case the insert fails (which should now be impossible).
2697         [ef95a4f0bab5]
2698
2699 2009-04-30  Todd C. Miller  <Todd.Miller@courtesan.com>
2700
2701         * sudoers.pod:
2702         Add a clarification from Nick Sieger
2703         [1eadad329561]
2704
2705 2009-04-25  Todd C. Miller  <Todd.Miller@courtesan.com>
2706
2707         * env.c:
2708         Inline the setting of the environment string.
2709         [9515d11c6295]
2710
2711 2009-04-24  Todd C. Miller  <Todd.Miller@courtesan.com>
2712
2713         * env.c:
2714         setenv(3) in Linux treats a NUL value as the empty string setenv(3)
2715         in BSD doesn't return an error if the name has '=' in it, it just
2716         treats the '=' as end of string.
2717         [941260bf94d2]
2718
2719 2009-04-22  Todd C. Miller  <Todd.Miller@courtesan.com>
2720
2721         * toke.c, toke.l:
2722         Not all systems have d_namlen
2723         [e377b18d8e2d]
2724
2725 2009-04-20  Todd C. Miller  <Todd.Miller@courtesan.com>
2726
2727         * sudoers.pod:
2728         Fix up some pod2html issues.
2729         [823a1f10ab60]
2730
2731 2009-04-19  Todd C. Miller  <Todd.Miller@courtesan.com>
2732
2733         * interfaces.c:
2734         Check for NULL ifa_addr and ifa_netmask. Adapted from a diff from
2735         Quest Software.
2736         [73de36653131]
2737
2738         * sudoers.pod:
2739         Ignore files ending in '~' in sudo.d (emacs backup files)
2740         [7871fad702db]
2741
2742         * toke.c, toke.l:
2743         Ignore files ending in '~' in sudo.d (emacs backup files)
2744         [53fded2a469f]
2745
2746 2009-04-18  Todd C. Miller  <Todd.Miller@courtesan.com>
2747
2748         * sudoers.cat, sudoers.man.in, sudoers.pod, toke.c, toke.l:
2749         For #includedir, ignore any file containing a dot
2750         [a7daa1bce6c2]
2751
2752         * Makefile.in, version.h:
2753         Bump version
2754         [ef60f14ffc44]
2755
2756         * gram.c, gram.y, parse.c, parse.h, sudo.c, sudo.h, sudoers.cat,
2757         sudoers.man.in, sudoers.pod, testsudoers.c, toke.c, toke.l,
2758         visudo.c:
2759         Implement #includedir directive. Files in an includedir are not
2760         edited by visudo unless they contain a syntax error.
2761         [3923d85a6c79]
2762
2763         * ChangeLog:
2764         sync
2765         [8741ed61a78b] [SUDO_1_7_1]
2766
2767         * WHATSNEW:
2768         Forgot umask_override
2769         [7c86a21a5504]
2770
2771         * ChangeLog, TODO:
2772         sync
2773         [57339ca6bccf]
2774
2775 2009-04-16  Todd C. Miller  <Todd.Miller@courtesan.com>
2776
2777         * visudo.c:
2778         Rewind stream if we fdopen sudoers since it may not be at the
2779         beginning. Set the keepopen flag on already-open files too so the
2780         lexer doesn't close them out from under us.
2781         [61292d819aff]
2782
2783         * visudo.c:
2784         Print the proper file name when there is a parse error in an include
2785         file.
2786         [b0e85d4aedde]
2787
2788 2009-04-11  Todd C. Miller  <Todd.Miller@courtesan.com>
2789
2790         * WHATSNEW:
2791         Sync
2792         [997e5d485ea3]
2793
2794 2009-04-10  Todd C. Miller  <Todd.Miller@courtesan.com>
2795
2796         * configure, configure.in:
2797         Fix a warning when --without-ldap is specified.
2798         [d91fd9481b30]
2799
2800 2009-04-05  Todd C. Miller  <Todd.Miller@courtesan.com>
2801
2802         * alias.c, parse.h, visudo.c:
2803         Store aliases that we remove during check_aliases in a freelist and
2804         free them at the end so we don't leak memory.
2805         [805e2272f6a3]
2806
2807 2009-03-28  Todd C. Miller  <Todd.Miller@courtesan.com>
2808
2809         * visudo.c:
2810         Check aliases in -c mode too.
2811         [9199e188d9f2]
2812
2813         * alias.c, parse.h, visudo.c:
2814         Make alias_remove return the alias struct instead of freeing it
2815         directly. Fixes a use after free in alias_remove_recursive, the only
2816         consumer.
2817         [a04b61804800]
2818
2819         * alias.c, match.c, parse.c, parse.h, visudo.c:
2820         Rename find_alias -> alias_find for consistency.
2821         [48b0a82924f3]
2822
2823 2009-03-27  Todd C. Miller  <Todd.Miller@courtesan.com>
2824
2825         * visudo.c:
2826         When checking for unused aliases, recurse if the alias points to
2827         another alias.
2828         [2d4d1a7f3a41]
2829
2830 2009-03-16  Todd C. Miller  <Todd.Miller@courtesan.com>
2831
2832         * ldap.c:
2833         Back out rev 1.105 for now. Real ldapux_client.conf support will be
2834         done later after some refactoring.
2835         [8ad72e69b277]
2836
2837 2009-03-14  Todd C. Miller  <Todd.Miller@courtesan.com>
2838
2839         * ldap.c:
2840         Treat ldap_hostport the same as "host" for ldapux.
2841         [3281dcc66da8]
2842
2843         * configure, configure.in:
2844         Only check for ldap_sasl_interactive_bind_s if we can find sasl.h.
2845         Fixes compilation with ldapux.
2846         [ca1ed585ef0e]
2847
2848 2009-03-12  Todd C. Miller  <Todd.Miller@courtesan.com>
2849
2850         * fileops.c:
2851         fix char subscript
2852         [41e51f080d00]
2853
2854 2009-03-11  Todd C. Miller  <Todd.Miller@courtesan.com>
2855
2856         * Makefile.in:
2857         remove errant carriage returns
2858         [e9e258a31c7b]
2859
2860         * audit.c, env.c:
2861         fix K&R compilation
2862         [d182e8920f13]
2863
2864         * sudo.cat, sudo.man.in, sudoers.cat, sudoers.ldap.cat,
2865         sudoers.ldap.man.in, sudoers.man.in, visudo.cat, visudo.man.in:
2866         regen
2867         [791a5cbf04e5]
2868
2869 2009-03-10  Todd C. Miller  <Todd.Miller@courtesan.com>
2870
2871         * config.h.in:
2872         Add missing HAVE_BSM_AUDIT
2873         [49ad1bb96f04]
2874
2875         * WHATSNEW:
2876         Add 1.7.1 features
2877         [f107f1604c61]
2878
2879         * INSTALL:
2880         Mention --with-netsvc
2881         [d1e90d147795]
2882
2883         * sudoers.ldap.pod:
2884         Document netsvc.conf support
2885         [e78f8abce6af]
2886
2887         * configure, configure.in, pathnames.h.in, sudo.c, sudo_nss.c,
2888         sudo_nss.h:
2889         Add support for AIX netsvc.conf (like nsswitch.conf).
2890         [1df56a84dee5]
2891
2892 2009-03-08  Todd C. Miller  <Todd.Miller@courtesan.com>
2893
2894         * config.h.in, configure, configure.in, env.c:
2895         Add --enable-env-debug flag to enable environment sanity checks.
2896         [128cdd8832e7]
2897
2898         * sudoers.ldap.pod, sudoers.pod:
2899         Work around some pod2html issue.
2900         [e733b9609bd2]
2901
2902 2009-03-07  Todd C. Miller  <Todd.Miller@courtesan.com>
2903
2904         * env.c:
2905         Only sync environ for putenv, setenv, and unsetenv. We need to make
2906         sure that sudo_putenv and sudo_setenv only modify env.envp, not
2907         environ.
2908         [be3ac732243c]
2909
2910 2009-03-02  Todd C. Miller  <Todd.Miller@courtesan.com>
2911
2912         * env.c:
2913         Really fix UNSETENV_VOID
2914         [08ab7e882507]
2915
2916         * env.c:
2917         Fix unsetenv when UNSETENV_VOID
2918         [d3038b3f2f15]
2919
2920         * aclocal.m4, configure:
2921         Fix SUDO_FUNC_PUTENV_CONST
2922         [de35569c572b]
2923
2924         * ldap.c:
2925         tivoli-based ldap does not have ldapssl_err2string
2926         [c63fd90d5e99]
2927
2928         * configure:
2929         regen
2930         [f38f1ee828ad]
2931
2932 2009-03-01  Todd C. Miller  <Todd.Miller@courtesan.com>
2933
2934         * config.h.in, configure, configure.in, ldap.c:
2935         Add support for Tivoli-based LDAP start TLS as seen in AIX.
2936         Untested.
2937         [8f8771829f85]
2938
2939         * env.c:
2940         Add sanity checks for setenv/unsetenv
2941         [adbd1d95856b]
2942
2943         * Makefile.in:
2944         Include bsm_audit.h in the tarball
2945         [4a4aa02b2c32]
2946
2947         * Makefile.in, version.h:
2948         bump version for sudo 1.7.1
2949         [362c71d21595]
2950
2951         * aclocal.m4, auth/aix_auth.c, config.h.in, configure, configure.in,
2952         env.c, ldap.c, sudo.h:
2953         Replace sudo_setenv/sudo_unsetenv with calls to setenv/unsetenv and
2954         provide our own setenv/unsetenv/putenv that operates on own env
2955         pointer. Make sync_env() inline in setenv/unsetenv/putenv functions.
2956         [276edcd23032]
2957
2958 2009-02-25  Todd C. Miller  <Todd.Miller@courtesan.com>
2959
2960         * sudo.c:
2961         Make "sudoedit -h" work as expected
2962         [2bcbbb45d389]
2963
2964         * auth/pam.c:
2965         Make sure def_prompt is always defined. This is a workaround for
2966         pam configs that prompt for a password in the session but don't have
2967         an auth line. A better fix is to expand the sudo prompt earlier and
2968         set def_prompt to that when initializing.
2969         [ee073c04aec3]
2970
2971         * sudo.pod:
2972         Mention that the helper for -A may be graphical.
2973         [b64a940c4082]
2974
2975         * TROUBLESHOOTING:
2976         Document what happens if there is no tty.
2977         [313d58a856a5]
2978
2979         * sudo.c:
2980         cosmetic changes
2981         [894f5e3b0c3e]
2982
2983         * term.c:
2984         Fix term_restore
2985         [6c6315ff14bc]
2986
2987         * sudo.c:
2988         Fix "sudo -k" with no other args
2989         [59e94dc419c6]
2990
2991 2009-02-24  Todd C. Miller  <Todd.Miller@courtesan.com>
2992
2993         * check.c, sudo.c, sudo.pod, sudo_usage.h.in:
2994         Allow the -k flag to be specified in conjunction with a command or
2995         another option that may require authentication.
2996         [5960ff20355d]
2997
2998 2009-02-23  Todd C. Miller  <Todd.Miller@courtesan.com>
2999
3000         * configure, configure.in:
3001         Remove unneeded AC_CANONICAL_TARGET; from Diego E. 'Flameeyes'
3002         [e86ab69c4a57]
3003
3004         * Makefile.in:
3005         Parallel make fix. From Diego E. 'Flameeyes'
3006         [1289d7ee27db]
3007
3008 2009-02-21  Todd C. Miller  <Todd.Miller@courtesan.com>
3009
3010         * def_data.c, def_data.h, def_data.in, sudo.c, sudoers.pod:
3011         Implement umask_override
3012         [8b87a3f7c5aa]
3013
3014         * toke.c:
3015         regen
3016         [79d7ca9ac873]
3017
3018         * sudoers.pod, toke.l, visudo.c:
3019         Implement %h escape in sudoers include filenames.
3020         [a7f288dd64f0]
3021
3022         * audit.c:
3023         Need to include compat.h
3024         [c0dc07ce2f70]
3025
3026         * Makefile.in, audit.c, bsm_audit.c, bsm_audit.h, logging.h, sudo.c:
3027         Make audit_success and audit_failure generic functions in
3028         preparation for integrating linux audit support.
3029         [7df020a8fd6f]
3030
3031         * term.c:
3032         remove duplicate include
3033         [1dfcd01a7e46]
3034
3035 2009-02-20  Todd C. Miller  <Todd.Miller@courtesan.com>
3036
3037         * bsm_audit.c:
3038         Add missing include
3039         [fb56e08c37ee]
3040
3041         * sudo.c:
3042         May need to update the runas user after parsing command-based
3043         defaults.
3044         [246f130d7802]
3045
3046 2009-02-18  Todd C. Miller  <Todd.Miller@courtesan.com>
3047
3048         * glob.c:
3049         Add missing pair of braces introduced with character class support.
3050         [0e2afa2e03e9]
3051
3052 2009-02-15  Todd C. Miller  <Todd.Miller@courtesan.com>
3053
3054         * def_data.c, def_data.h, def_data.in, sudoers.pod, tgetpass.c:
3055         Rename pwstars to pwfeedback
3056         [a9f85a57ebac]
3057
3058 2009-02-11  Todd C. Miller  <Todd.Miller@courtesan.com>
3059
3060         * bsm_audit.c, bsm_audit.h:
3061         Add const to make MacOS happy.
3062         [4274432d6627]
3063
3064         * Makefile.in, auth/sudo_auth.c, bsm_audit.c, bsm_audit.h, configure,
3065         configure.in, sudo.c:
3066         Add bsm audit support from Christian S.J. Peron
3067         [bef61cd8693d]
3068
3069         * term.c:
3070         This is new code, no DARPA notice.
3071         [ec6ad09b9c23]
3072
3073 2009-02-10  Todd C. Miller  <Todd.Miller@courtesan.com>
3074
3075         * def_data.c, def_data.h, def_data.in, match.c, sudoers.pod:
3076         Rename simple_glob -> fast_glob
3077         [68d9ed803cc1]
3078
3079         * match.c:
3080         g/c unused var
3081         [693fa0464eb6]
3082
3083         * def_data.c, def_data.h, def_data.in, match.c, sudoers.pod:
3084         Add simple_glob option to use fnmatch() instead of glob(). This is
3085         useful when you need to specify patterns that reference network file
3086         systems.
3087         [77ba634f6949]
3088
3089         * tgetpass.c:
3090         add term_* proto
3091         [520f5149d073]
3092
3093         * sudoers.pod:
3094         mention glob()
3095         [ddaab8e03c52]
3096
3097 2009-02-09  Todd C. Miller  <Todd.Miller@courtesan.com>
3098
3099         * tgetpass.c:
3100         Delete any pwstars we wrote after the user hits return. That way
3101         there is no record on screen as to the user's password length.
3102         [fae25cda762b]
3103
3104 2009-02-08  Todd C. Miller  <Todd.Miller@courtesan.com>
3105
3106         * term.c:
3107         Move terminal setting bits from tgetpass.c to term.c
3108         [03d43325ee99]
3109
3110         * Makefile.in, def_data.c, def_data.h, def_data.in, sudoers.pod,
3111         tgetpass.c:
3112         Add pwstars sudoers option that causes sudo to print a star every
3113         time the user presses a key.
3114         [7aab417e184d]
3115
3116 2009-02-03  Todd C. Miller  <Todd.Miller@courtesan.com>
3117
3118         * Makefile.in:
3119         Fix up F<> brokenness for visudo.man.in and sudoers.ldap.man.in.
3120         [64f70e879816]
3121
3122 2009-01-27  Todd C. Miller  <Todd.Miller@courtesan.com>
3123
3124         * ldap.c:
3125         For ldap_search_ext_s() the sizelimit param should be 0, not -1, to
3126         indicate no limit. From Mark Janssen.
3127         [e2c5732d54f5]
3128
3129 2009-01-17  Todd C. Miller  <Todd.Miller@courtesan.com>
3130
3131         * toke.c, toke.l:
3132         Comments that begin with #- should not be parsed as uids.
3133         [a72a50f12f41]
3134
3135 2009-01-09  Todd C. Miller  <Todd.Miller@courtesan.com>
3136
3137         * sudo.c:
3138         Do not try to set the close on exec flag if we didn't actually open
3139         sudoers.
3140         [ece3ca256904]
3141
3142 2008-12-19  Todd C. Miller  <Todd.Miller@courtesan.com>
3143
3144         * ChangeLog:
3145         regen
3146         [e11f0e4c1bdd] [SUDO_1_7_0]
3147
3148 2008-12-14  Todd C. Miller  <Todd.Miller@courtesan.com>
3149
3150         * TODO:
3151         sync
3152         [5b8954462bb3]
3153
3154 2008-12-09  Todd C. Miller  <Todd.Miller@courtesan.com>
3155
3156         * auth/pam.c:
3157         Return PAM_AUTH_ERR instead of PAM_CONV_ERR if user enters ^C at the
3158         password prompt.
3159         [8563601cb3de]
3160
3161         * configure, configure.in:
3162         Don't try to build sudo_noexec.so on HP-UX with the bundled compiler
3163         as it cannot generate shared objects.
3164         [6d4262ef9669]
3165
3166         * emul/charclass.h, glob.c, lbuf.c, tgetpass.c:
3167         K&R compilation fixes
3168         [77921678d17c]
3169
3170         * parse.c:
3171         Use tq_foreach_fwd when checking pseudo-commands to make it clear
3172         that we are not short-circuiting on last match. When pwcheck is
3173         'all', initialize nopass to TRUE and override it with the first non-
3174         TRUE entry.
3175         [96b209f4778f]
3176
3177 2008-12-08  Todd C. Miller  <Todd.Miller@courtesan.com>
3178
3179         * parse.c:
3180         Do not short circuit pseudo commands when we get a match since,
3181         depending on the settings, we may need to examine all commands for
3182         tags.
3183         [fdbaf89d6f35]
3184
3185 2008-12-03  Todd C. Miller  <Todd.Miller@courtesan.com>
3186
3187         * sudoers.cat, sudoers.man.in:
3188         regen
3189         [1ecce7c1b841]
3190
3191         * sudoers.pod:
3192         hostnames may also contain wildcards
3193         [82b76695601c]
3194
3195         * Makefile.in:
3196         remove stamp-* files and linux core files in clean target
3197         [22003f091467]
3198
3199 2008-12-02  Todd C. Miller  <Todd.Miller@courtesan.com>
3200
3201         * auth/sudo_auth.h, config.h.in, configure, configure.in:
3202         Use HAVE_SIA_SES_INIT instead of HAVE_SIA for Digital UNIX
3203         [6905bede8410]
3204
3205 2008-11-26  Todd C. Miller  <Todd.Miller@courtesan.com>
3206
3207         * configure, configure.in:
3208         correctly enable SIA on Digital UNIX
3209         [a51881d13995]
3210
3211         * TODO:
3212         checkpoint
3213         [af0fe8d94d42]
3214
3215         * ChangeLog:
3216         sync
3217         [831f623cf99c]
3218
3219 2008-11-25  Todd C. Miller  <Todd.Miller@courtesan.com>
3220
3221         * check.c, sudo.h, tgetpass.c:
3222         Even if neither stdin nor stdout are ttys we may still have /dev/tty
3223         available to us.
3224         [20f306ba883b]
3225
3226 2008-11-24  Todd C. Miller  <Todd.Miller@courtesan.com>
3227
3228         * sudoers.cat, sudoers.man.in:
3229         regen
3230         [76d97c4c318f]
3231
3232         * sudoers.pod:
3233         fix typos; Markus Lude
3234         [bff8bc1e2066]
3235
3236         * ChangeLog:
3237         sync
3238         [f108552531cd]
3239
3240         * toke.c:
3241         regen
3242         [de828413c67e]
3243
3244         * toke.l:
3245         Fix matching of a line that only consists of a comment char
3246         [09c953d8d5ca]
3247
3248 2008-11-22  Todd C. Miller  <Todd.Miller@courtesan.com>
3249
3250         * auth/pam.c:
3251         MacOS pam will retry conversation function if it fails so just treat
3252         ^C as an empty password.
3253         [d056058930bc]
3254
3255         * visudo.c:
3256         When checking for alias use, also check defaults bindings.
3257         [2647f82c7dbd]
3258
3259         * redblack.c:
3260         unused var
3261         [b7ff71c17c18]
3262
3263         * redblack.c:
3264         Replace my rbdelete with Emin's version (which actually works ;-)
3265         [21b133dd0c72]
3266
3267 2008-11-19  Todd C. Miller  <Todd.Miller@courtesan.com>
3268
3269         * testsudoers.c:
3270         malloc debugging
3271         [0fb446fa3279]
3272
3273         * visudo.c:
3274         malloc options in devel mode for visudo too
3275         [98d06c6afeef]
3276
3277 2008-11-18  Todd C. Miller  <Todd.Miller@courtesan.com>
3278
3279         * sudo.c:
3280         fix compilation on non-C99; from Theo
3281         [7c304e16c536]
3282
3283         * visudo.c:
3284         fix check_aliases
3285         [83f30a3b1765]
3286
3287         * alias.c:
3288         when destroying an alias, free the correct data pointer
3289         [6e1a8bd86c01]
3290
3291         * auth/sudo_auth.h:
3292         add proto for aixauth_cleanup; from Dale King
3293         [eba94ffc8f63]
3294
3295 2008-11-15  Todd C. Miller  <Todd.Miller@courtesan.com>
3296
3297         * sudo.cat, sudo.man.in, sudoers.cat, sudoers.man.in, visudo.cat,
3298         visudo.man.in:
3299         regen
3300         [409fa57fff83]
3301
3302         * sudo.pod, sudoers.pod, visudo.pod:
3303         standardize on the term 'option' for command line options (not flag)
3304         [228caefc2e36]
3305
3306 2008-11-14  Todd C. Miller  <Todd.Miller@courtesan.com>
3307
3308         * INSTALL:
3309         Add note on configuring HP-UX pam
3310         [f7674a581baf]
3311
3312 2008-11-11  Todd C. Miller  <Todd.Miller@courtesan.com>
3313
3314         * check.c, sudo.c:
3315         Move tty checks into check_user() so we only do them if we actually
3316         need a password.
3317         [7d997d7106d6]
3318
3319         * sudo.c:
3320         Don't error out if no tty or askpass unless we actually need to
3321         authenticate.
3322         [9f23b83ed66c]
3323
3324 2008-11-10  Todd C. Miller  <Todd.Miller@courtesan.com>
3325
3326         * ChangeLog:
3327         regen
3328         [23f9aef32da6]
3329
3330         * pathnames.h.in, sudo.c:
3331         s/overriden/overridden/; from Tobias Stoeckmann
3332         [9f7459a8fac5]
3333
3334 2008-11-09  Todd C. Miller  <Todd.Miller@courtesan.com>
3335
3336         * WHATSNEW, visudo.c:
3337         check sudoers owner and mode in strict mode
3338         [a3468c5ac1c4]
3339
3340         * gram.c, toke.c:
3341         regen
3342         [7d6b515a5443]
3343
3344         * sudo.man.in, sudoers.man.in, visudo.man.in:
3345         Update copyright years.
3346         [52d340cb8cba]
3347
3348         * LICENSE, alias.c, alloc.c, auth/afs.c, auth/aix_auth.c,
3349         auth/bsdauth.c, auth/fwtk.c, auth/kerb4.c, auth/kerb5.c, auth/pam.c,
3350         auth/securid.c, auth/securid5.c, auth/sia.c, auth/sudo_auth.h,
3351         closefrom.c, compat.h, defaults.c, defaults.h, env.c, fileops.c,
3352         gettime.c, gram.y, ins_csops.h, insults.h, interfaces.c,
3353         interfaces.h, lbuf.c, license.pod, list.c, logging.c, logging.h,
3354         parse.c, parse.h, pwutil.c, redblack.c, redblack.h, snprintf.c,
3355         sudo.c, sudo.pod, sudo_edit.c, sudo_nss.h, sudoers.pod,
3356         testsudoers.c, toke.l, tsgetgrpw.c, utimes.c, version.h, visudo.c,
3357         visudo.pod, zero_bytes.c:
3358         Update copyright years.
3359         [b4e6bf2beafa]
3360
3361         * emul/charclass.h, fnmatch.c, glob.c:
3362         add my copyright
3363         [28681385014a]
3364
3365 2008-11-08  Todd C. Miller  <Todd.Miller@courtesan.com>
3366
3367         * toke.c, toke.l:
3368         The loop in fill_cmnd() was going one byte too far past the end,
3369         resulting in a NUL being written immediately after the buffer end.
3370         [a5a49d603cd7]
3371
3372         * UPGRADE, WHATSNEW:
3373         add sections on tgetpass changes
3374         [2e6929b6a102]
3375
3376         * tgetpass.c:
3377         Treat EOF w/o newline as an error.
3378         [aa02b1db9240]
3379
3380 2008-11-07  Todd C. Miller  <Todd.Miller@courtesan.com>
3381
3382         * parse.c:
3383         Fix "sudo -v" when NOPASSWD is set.
3384         [f4914711ea80]
3385
3386         * auth/bsdauth.c, auth/fwtk.c, auth/pam.c, auth/sudo_auth.c,
3387         auth/sudo_auth.h:
3388         No longer treat an empty password at the prompt as special. To quit
3389         out of sudo you now need to hit ^C at the password prompt.
3390         [980f760ad419]
3391
3392         * sudoers.cat, sudoers.man.in:
3393         regen
3394         [6ca21a2cd869]
3395
3396         * def_data.c, def_data.h, def_data.in, sudo.c, sudoers.pod:
3397         Sudo will now refuse to run if no tty is present unless the new
3398         visiblepw sudoers flag is set.
3399         [0cc56943252e]
3400
3401 2008-11-06  Todd C. Miller  <Todd.Miller@courtesan.com>
3402
3403         * aix.c:
3404         just use RLIM_INFINITY for RLIM_SAVED_MAX if RLIM_SAVED_MAX not
3405         defined
3406         [24fc6f712d5c]
3407
3408         * aix.c:
3409         fix fallback value for RLIM_SAVED_MAX
3410         [e09e04e1af89]
3411
3412         * auth/aix_auth.c, auth/sudo_auth.h:
3413         Move clearing of AUTHSTATE into aixauth_cleanup.
3414         [e14ae7bd259c]
3415
3416         * auth/aix_auth.c, env.c:
3417         Unset AUTHSTATE after calling authenticate() as it may not be
3418         correct for the user we are running the command as.
3419         [d14f68f1b0ab]
3420
3421         * isblank.c:
3422         Add isblank() function for systems without it. Needed for POSIX
3423         character class matching in fnmatch.c and glob.c.
3424         [16cba30b283f]
3425
3426 2008-11-05  Todd C. Miller  <Todd.Miller@courtesan.com>
3427
3428         * TROUBLESHOOTING:
3429         expound on sudo and cd
3430         [8e0fa9033637]
3431
3432 2008-11-04  Todd C. Miller  <Todd.Miller@courtesan.com>
3433
3434         * ChangeLog:
3435         regen
3436         [40cf320a10fc]
3437
3438         * sudoers.cat, sudoers.man.in:
3439         regen
3440         [7cac761ae2c6]
3441
3442         * sudoers.pod:
3443         mention defauts parse order
3444         [4e2ce86d1394]
3445
3446 2008-11-03  Todd C. Miller  <Todd.Miller@courtesan.com>
3447
3448         * Makefile.in, aclocal.m4, compat.h, configure:
3449         Add isblank() function for systems without it. Needed for POSIX
3450         character class matching in fnmatch.c and glob.c.
3451         [a1ab55da8424]
3452
3453         * Makefile.in:
3454         add emul/charclass.h to HDRS
3455         [7e8a019dcaa4]
3456
3457 2008-11-02  Todd C. Miller  <Todd.Miller@courtesan.com>
3458
3459         * TODO:
3460         checkpoint
3461         [afeb9bc1baed]
3462
3463         * defaults.c, parse.c, testsudoers.c, visudo.c:
3464         Move update_defaults into defaults.c and call it properly from
3465         visudo and testsudoers.
3466         [f4dbb369461f]
3467
3468         * defaults.c, interfaces.c, pwutil.c, sudo.c, sudo_edit.c, tgetpass.c,
3469         tsgetgrpw.c:
3470         use zero_bytes() instead of memset() for consistency
3471         [4cee0465f4a8]
3472
3473         * logging.c, mon_systrace.c, parse.c, sudo.c, sudo_edit.c, tgetpass.c,
3474         visudo.c:
3475         Zero out sigaction_t before use in case it has non-standard entries.
3476         [120092225459]
3477
3478         * match.c:
3479         quiet gcc
3480         [098a1df49b23]
3481
3482         * match.c:
3483         Short circuit glob() checks if basename(pattern) !=
3484         basename(command). Refactor code that checks for a command in a
3485         directory and use it in the glob case if the resolved pattern ends
3486         in a '/'.
3487         [3c46fd317acb]
3488
3489 2008-11-01  Todd C. Miller  <Todd.Miller@courtesan.com>
3490
3491         * defaults.h, parse.c, sudo.c, testsudoers.c, visudo.c:
3492         Defer setting runas defaults until after runaspw/gr is setup.
3493         [12e75ee49c0c]
3494
3495 2008-10-29  Todd C. Miller  <Todd.Miller@courtesan.com>
3496
3497         * match.c, sudo.c, testsudoers.c:
3498         Use MAXHOSTNAMELEN+1 when allocating host/domain name since some
3499         systems do not include space for the NUL in the size. Also manually
3500         NUL-terminate buffer from gethostname() since POSIX is wishy-washy
3501         on this.
3502         [7266ab3296a3]
3503
3504 2008-10-26  Todd C. Miller  <Todd.Miller@courtesan.com>
3505
3506         * sudo.c, sudoers.pod:
3507         When setting the umask, use the union of the user's umask and the
3508         default value set in sudoers so that we never lower the user's umask
3509         when running a command.
3510         [4e804b004e38]
3511
3512         * sudo.c:
3513         Don't try to read from a zero-length sudoers file. Remove the bogus
3514         Solaris work-around for EAGAIN. Since we now use fgetc() it should
3515         not be a problem.
3516         [bb8e5f68d944]
3517
3518 2008-10-25  Todd C. Miller  <Todd.Miller@courtesan.com>
3519
3520         * parse.c:
3521         In update_defaults() check the return value of user*_matches against
3522         ALLOW so we don't inadvertantly match on UNSPEC.
3523         [4e422fa1527e]
3524
3525 2008-10-24  Todd C. Miller  <Todd.Miller@courtesan.com>
3526
3527         * sudo.cat, sudo.man.in, sudoers.cat, sudoers.ldap.cat,
3528         sudoers.ldap.man.in, sudoers.man.in, visudo.cat, visudo.man.in:
3529         regen man pages; no more hyphenation
3530         [15de4fe2fe01]
3531
3532         * sudo.c:
3533         Don't error out on a zero-length sudoers file. With the advent of
3534         #include the user could create a situation where sudo is unusable.
3535         [6eb461319fa5]
3536
3537 2008-10-23  Todd C. Miller  <Todd.Miller@courtesan.com>
3538
3539         * auth/kerb5.c, config.h.in, configure, configure.in:
3540         Newer heimdal has 2-argument krb5_get_init_creds_opt_free() like MIT
3541         krb5. Really old heimdal has no krb5_get_init_creds_opt_alloc() at
3542         all. Add configure tests to handle all the cases.
3543         [4b554a98470d]
3544
3545 2008-10-08  Todd C. Miller  <Todd.Miller@courtesan.com>
3546
3547         * sudo.pod:
3548         resort ENVIRONMENT
3549         [f4f20f40653e]
3550
3551         * sudoers.pod:
3552         document sudoers_locale
3553         [0bffd2dbe806]
3554
3555         * sudo.pod, sudo_edit.c:
3556         add SUDO_EDITOR variable that sudoedit uses in preference to VISUAL
3557         or EDITOR
3558         [0ef8cb248cee]
3559
3560         * toke.c, toke.l:
3561         In fill_cmnd(), collapse any escaped sudo-specific characters.
3562         Allows character classes to be used in pathnames.
3563         [5685244c8e44]
3564
3565 2008-10-03  Todd C. Miller  <Todd.Miller@courtesan.com>
3566
3567         * lbuf.c:
3568         fix typo in non-C89 function declaration
3569         [99a7113b3a05]
3570
3571         * sudoers.pod:
3572         Mention POSIX characters classes now that out fnmatch() and glob()
3573         support them.
3574         [9c916f1230c3]
3575
3576         * sample.sudoers, sudoers.pod:
3577         Replace [A-z] (which won't match in UTF8) with [A-Za-z] which is
3578         locale agnostic.
3579         [a60a62bec244]
3580
3581         * parse.h:
3582         use __signed char if we are going to assign a negative value since
3583         on Power, char is unsigned by default
3584         [2877b319df17]
3585
3586         * config.h.in, configure, configure.in:
3587         Add tests for __signed char and signed char.
3588         [5eb874fdf1d4]
3589
3590         * aix.c:
3591         Fix AIX limit setting. getuserattr() returns values in disk blocks
3592         rather than bytes. The default hard stack size in newer AIX is
3593         RLIM_SAVED_MAX. From Dale King.
3594         [3db67415ecc3]
3595
3596 2008-09-26  Todd C. Miller  <Todd.Miller@courtesan.com>
3597
3598         * emul/charclass.h, fnmatch.c, glob.c:
3599         Add character class support to included glob(3) and fnmatch(3).
3600         [6b5b4ad77899]
3601
3602 2008-09-16  Todd C. Miller  <Todd.Miller@courtesan.com>
3603
3604         * emul/fnmatch.h:
3605         Remove UCB advertising clause and some compatibility defines.
3606         [2ade7bee74e1]
3607
3608 2008-09-14  Todd C. Miller  <Todd.Miller@courtesan.com>
3609
3610         * sudo_edit.c:
3611         Check EDITOR/VISUAL to make sure sudoedit is not re-invoking itself
3612         or sudo. This allows one to set EDITOR to sudoedit without getting
3613         into an infinite loop of sudoedit running itself until the path gets
3614         too big.
3615         [aa49ab68f82d]
3616
3617         * def_data.c, def_data.h, def_data.in, defaults.c, sudo.c:
3618         Add sudoers_locale Defaults option to override the default sudoers
3619         locale of "C".
3620         [0639886a35bf]
3621
3622 2008-09-13  Todd C. Miller  <Todd.Miller@courtesan.com>
3623
3624         * sudo.c:
3625         Set locale to system default except for during sudoers parse.
3626         [016dd2736728]
3627
3628 2008-09-12  Todd C. Miller  <Todd.Miller@courtesan.com>
3629
3630         * match.c:
3631         Redo change in 1.34 to use pointer arithmetic.
3632         [f9e7b63bb450]
3633
3634 2008-09-11  Todd C. Miller  <Todd.Miller@courtesan.com>
3635
3636         * match.c:
3637         Fix a dereference (read) of a freed pointer. Reported by Patrick
3638         Williams.
3639         [69877b633753]
3640
3641 2008-08-23  Todd C. Miller  <Todd.Miller@courtesan.com>
3642
3643         * sudo.c:
3644         Set locale to "C" to avoid interpretation issues with character
3645         ranges in sudoers. May want to make the locale a sudoers option in
3646         the future.
3647         [098a95de1746]
3648
3649 2008-08-20  Todd C. Miller  <Todd.Miller@courtesan.com>
3650
3651         * config.h.in:
3652         we no longer use setproctitle
3653         [c7f20fb747ea]
3654
3655         * sudo.h:
3656         remove #if 1
3657         [a368ee6816c6]
3658
3659         * LICENSE, mkstemp.c:
3660         Use my replacement mkstemp() from the mktemp package.
3661         [d07c2beb0f9e]
3662
3663 2008-07-12  Todd C. Miller  <Todd.Miller@courtesan.com>
3664
3665         * gram.c:
3666         regen with yacc skeleton bug fixed
3667         [24784571cbb8]
3668
3669         * sudoers.pod:
3670         Remove duplicate "as root". From Martin Toft.
3671         [97241acfee5e]
3672
3673 2008-07-02  Todd C. Miller  <Todd.Miller@courtesan.com>
3674
3675         * pwutil.c, sudo.c, sudo.h, testsudoers.c:
3676         Flesh out the fake passwd entry used for running commands as a uid
3677         not listed in the passwd database. Fixes an issue with some PAM
3678         modules.
3679         [a6648227f3f2]
3680
3681 2008-07-01  Todd C. Miller  <Todd.Miller@courtesan.com>
3682
3683         * sudo.c:
3684         Error out in -i mode if the user has no shell. This can happen when
3685         running commands as a uid with no password entry.
3686         [0c174bef36ff]
3687
3688 2008-06-26  Todd C. Miller  <Todd.Miller@courtesan.com>
3689
3690         * toke.c, toke.l:
3691         Better fix for line continuation inside double quotes. Now accepts
3692         whitespace between the backslash and the newline like the main
3693         lexer.
3694         [64efcdf86d31]
3695
3696 2008-06-25  Todd C. Miller  <Todd.Miller@courtesan.com>
3697
3698         * toke.c, toke.l:
3699         Fix line continuation in strings. It was only being honored if
3700         preceded by whitespace.
3701         [96c21271a3e4]
3702
3703 2008-06-22  Todd C. Miller  <Todd.Miller@courtesan.com>
3704
3705         * config.h.in, configure, configure.in, logging.c:
3706         Replace the double fork with a fork + daemonize.
3707         [328505441e67]
3708
3709 2008-06-21  Todd C. Miller  <Todd.Miller@courtesan.com>
3710
3711         * env.c, sudo.c:
3712         The -i flag should imply env_reset. This got broken in sudo 1.6.9.
3713         [3caedfeaec87]
3714
3715         * logging.c, sudo.c, sudo_edit.c, visudo.c:
3716         Change how the mailer is waited for. Instead of having a SIGCHLD
3717         handler, use the double fork trick to orphan the child that opens
3718         the pipe to sendmail. Fixes a problem running su on some Linux
3719         distros.
3720         [b59ce60a393d]
3721
3722 2008-06-20  Todd C. Miller  <Todd.Miller@courtesan.com>
3723
3724         * configure, configure.in:
3725         Fix configure test for dirfd() on Linux where DIR is opaque.
3726         [b8f729cdfecc]
3727
3728 2008-06-17  Todd C. Miller  <Todd.Miller@courtesan.com>
3729
3730         * tgetpass.c:
3731         Get rid of the QNX TCSAFLUSH -> TCSADRAIN hack. If QNX still has
3732         this problem we'll need to revisit this again.
3733         [c17fee8ad530]
3734
3735 2008-06-11  Todd C. Miller  <Todd.Miller@courtesan.com>
3736
3737         * logging.c:
3738         Ignore SIGPIPE instead of blocking it when piping to the mailer. If
3739         we only block the signal it may be delivered later when we unblock.
3740         Also, there is no need to block SIGCHLD since we no longer do the
3741         double fork. The normal SIGCHLD handler is sufficient.
3742         [e94a49e992e5]
3743
3744 2008-06-08  Todd C. Miller  <Todd.Miller@courtesan.com>
3745
3746         * configure, configure.in:
3747         Add description for NO_PAM_SESSION, from a redhat patch.
3748         [b9e4c939ec09]
3749
3750 2008-06-06  Todd C. Miller  <Todd.Miller@courtesan.com>
3751
3752         * sudo.cat, sudo.man.in, sudo.pod:
3753         Fix typos in -i usage
3754         [2d7ce5de0235]
3755
3756 2008-05-18  Todd C. Miller  <Todd.Miller@courtesan.com>
3757
3758         * configure, configure.in:
3759         Redo the test for dgettext() in a way that hopefully will work
3760         around the libintl_dgettext() undefined problem.
3761         [d27beb0cf85e]
3762
3763 2008-05-11  Todd C. Miller  <Todd.Miller@courtesan.com>
3764
3765         * schema.ActiveDirectory:
3766         change filename in comment
3767         [733da4ee9ac5]
3768
3769 2008-05-10  Todd C. Miller  <Todd.Miller@courtesan.com>
3770
3771         * Makefile.in, README.LDAP, sudoers.ldap.cat, sudoers.ldap.man.in,
3772         sudoers.ldap.pod:
3773         Reference schema.ActiveDirectory
3774         [d6aec537800e]
3775
3776 2008-05-09  Todd C. Miller  <Todd.Miller@courtesan.com>
3777
3778         * schema.OpenLDAP, schema.iPlanet:
3779         Mark sudoRunAs as deprecated.
3780         [00c50df807af]
3781
3782         * schema.ActiveDirectory:
3783         add sudoRunAsUser and sudoRunAsGroup
3784         [19bcce6f72fb]
3785
3786         * schema.ActiveDirectory:
3787         Active Directory schema by Chantal Paradis and Eric Paquet
3788         [06a09c92c6a5]
3789
3790 2008-05-08  Todd C. Miller  <Todd.Miller@courtesan.com>
3791
3792         * parse.c:
3793         remove an XXX that was fixed
3794         [b88038062fa2]
3795
3796         * ChangeLog:
3797         sync
3798         [8fc27c17270e]
3799
3800         * parse.c:
3801         Initialize tags to UNSPEC instead of def_* in "sudo -l" mode. This
3802         fixes a problem where the tag value printed was influenced by
3803         defaults set in the first pass through the parser.
3804         [588ccd630367]
3805
3806 2008-05-04  Todd C. Miller  <Todd.Miller@courtesan.com>
3807
3808         * Makefile.in, sudo.psf:
3809         No point in packaging the TODO file
3810         [9590248fffe1]
3811
3812         * ChangeLog:
3813         sync
3814         [152acf4c6813]
3815
3816 2008-05-03  Todd C. Miller  <Todd.Miller@courtesan.com>
3817
3818         * WHATSNEW, def_data.c, def_data.h, def_data.in, env.c, sudo.c,
3819         sudo.h, sudoers.cat, sudoers.man.in, sudoers.pod:
3820         Add env_file Defaults option that is similar to /etc/environment on
3821         some systems.
3822         [1daf53d51e18]
3823
3824 2008-05-02  Todd C. Miller  <Todd.Miller@courtesan.com>
3825
3826         * Makefile.in, README, TODO, WHATSNEW, sudo.cat, sudo.man.in,
3827         sudoers.cat, sudoers.ldap.cat, sudoers.ldap.man.in, sudoers.man.in,
3828         version.h, visudo.cat, visudo.man.in:
3829         change version to 1.7.0
3830         [d41d126b9bd8]
3831
3832         * UPGRADE:
3833         initial valgrind pass done
3834         [c59c3876d8ca]
3835
3836 2008-04-23  Todd C. Miller  <Todd.Miller@courtesan.com>
3837
3838         * ldap.c:
3839         Fix typo/think in sudo_ldap_read_secret() when storing the secret.
3840         [830d246c09b0]
3841
3842 2008-04-11  Todd C. Miller  <Todd.Miller@courtesan.com>
3843
3844         * ldap.c:
3845         define LDAPS_PORT if the system headers do not
3846         [247b12325701]
3847
3848 2008-04-10  Todd C. Miller  <Todd.Miller@courtesan.com>
3849
3850         * gram.c, gram.y:
3851         Fix another memory leak in init_parser().
3852         [7bba47deba11]
3853
3854         * configure, configure.in:
3855         There was a missing space before the ldap libs in SUDO_LIBS for some
3856         configurations.
3857         [7524cfc93759]
3858
3859         * alias.c, gram.c, gram.y, toke.c, toke.l:
3860         Clean up some memory leaks pointed out by valgrind.
3861         [a965866ece1a]
3862
3863 2008-04-07  Todd C. Miller  <Todd.Miller@courtesan.com>
3864
3865         * sudo.c:
3866         fix "sudo -s" broken by mode/flags breakout
3867         [acffe984d408]
3868
3869         * configure, configure.in:
3870         remove duplicate check for dgettext
3871         [58145529133c]
3872
3873 2008-04-05  Todd C. Miller  <Todd.Miller@courtesan.com>
3874
3875         * aix.c:
3876         Fall back to default stanza if no user-specific limit is found.
3877         [7b8cb29123ee]
3878
3879 2008-04-02  Todd C. Miller  <Todd.Miller@courtesan.com>
3880
3881         * snprintf.c:
3882         include stdint.h if present
3883         [f0ec38529306]
3884
3885         * snprintf.c:
3886         Use LLONG_MAX, not the old QUAD_MAX
3887         [01041ce508fb]
3888
3889 2008-04-01  Todd C. Miller  <Todd.Miller@courtesan.com>
3890
3891         * sudoers.ldap.pod:
3892         fix cut and pasto
3893         [34240fdef5ab]
3894
3895 2008-03-31  Todd C. Miller  <Todd.Miller@courtesan.com>
3896
3897         * pwutil.c:
3898         Add #ifdef PURITY
3899         [ce1b571ad526]
3900
3901 2008-03-30  Todd C. Miller  <Todd.Miller@courtesan.com>
3902
3903         * auth/bsdauth.c:
3904         remove useless cast
3905         [494f8a862e1d]
3906
3907 2008-03-27  Todd C. Miller  <Todd.Miller@courtesan.com>
3908
3909         * ChangeLog:
3910         sync
3911         [f5c97ffaabcc]
3912
3913         * TODO:
3914         sync
3915         [96ff1c44c182]
3916
3917         * sudo.h:
3918         Split MODE_* defines into primary and flags.
3919         [c02ee3027cb9]
3920
3921 2008-03-26  Todd C. Miller  <Todd.Miller@courtesan.com>
3922
3923         * aix.c:
3924         It turns out the logic for getting AIX limits is more convoluted
3925         than I realized and differs depending on whether the soft and/or
3926         hard limits are defined.
3927         [cf8d3f85d395]
3928
3929 2008-03-23  Todd C. Miller  <Todd.Miller@courtesan.com>
3930
3931         * Makefile.in, configure, configure.in:
3932         Back out AIX-specific change to set the sudo_noexec path to the .a
3933         file, we do really want to use the .so file. Since libtool doesn't
3934         do that correctly, just install the .so file ourselves in the
3935         Makefile.
3936         [05c6f33177d9]
3937
3938         * install-sh:
3939         If the file given to install is a path, only use the basename of the
3940         file when building the destination path.
3941         [695ba4e429ce]
3942
3943 2008-03-18  Todd C. Miller  <Todd.Miller@courtesan.com>
3944
3945         * sudo.c:
3946         parse_args() cleanup: Sort command line options in the getopt()
3947         switch The -U option requires a parameter Normalize a few ISSET
3948         calls Split mode into mode and flags and retire the now-obsolete
3949         excl variable
3950         [0d156835f861]
3951
3952         * WHATSNEW, check.c, sudo.c, sudo.cat, sudo.h, sudo.man.in, sudo.pod,
3953         sudo_usage.h.in:
3954         Add -n (non-interactive) flag.
3955         [e3e50400d32d]
3956
3957         * sudo.c:
3958         Move version printing, etc. into a separate function.
3959         [18c91b476e2c]
3960
3961         * sudo.c:
3962         Don't try to cleanup nsswitch if it has not been initialized.
3963         [aeb1ca1b399d]
3964
3965 2008-03-17  Todd C. Miller  <Todd.Miller@courtesan.com>
3966
3967         * logging.c:
3968         Block SIGPIPE in send_mail() so sudo is not killed by a problem
3969         executing the mailer.
3970         [f130e7924cca]
3971
3972 2008-03-14  Todd C. Miller  <Todd.Miller@courtesan.com>
3973
3974         * configure, configure.in:
3975         AIX shared libs end in .a, not .so.
3976         [a5deb07020d8]
3977
3978 2008-03-13  Todd C. Miller  <Todd.Miller@courtesan.com>
3979
3980         * env.c:
3981         Preserve HOME by default too. Matches documentation and previous
3982         behavior.
3983         [c16f17f1047c]
3984
3985 2008-03-12  Todd C. Miller  <Todd.Miller@courtesan.com>
3986
3987         * sudo.c:
3988         Use getopt() to parse the command line. We need to be able to
3989         intersperse env variables and options yet still honor "--"" which
3990         complicates things slightly.
3991         [60f271ce5c16]
3992
3993 2008-03-06  Todd C. Miller  <Todd.Miller@courtesan.com>
3994
3995         * ChangeLog:
3996         sync
3997         [685e67964eda]
3998
3999         * acsite.m4, configure, ltmain.sh:
4000         update to libtool-1.5.26
4001         [4c9a8c3d3b40]
4002
4003         * config.guess, config.sub:
4004         update from libtool-1.5.26 distribution
4005         [c6641aef2527]
4006
4007         * aix.c, sudo.h:
4008         attempt to fix compilation errors on AIX
4009         [edb13e5b2184]
4010
4011         * Makefile.in:
4012         fix typo in last commit
4013         [25ba7f7ceae4]
4014
4015         * Makefile.in:
4016         Add WHATSNEW file to the distribution
4017         [213f4115de8f]
4018
4019         * visudo.c:
4020         use warningx instead of fprintf(stderr, ...)
4021         [a3494b8ccb19]
4022
4023         * list.c:
4024         add DEBUG to list2tq
4025         [115d24a3000c]
4026
4027         * ChangeLog, TODO:
4028         sync
4029         [60e6f4d1fac0]
4030
4031         * WHATSNEW:
4032         mention mailfrom
4033         [e2498f9e18d6]
4034
4035         * Makefile.in, aix.c, config.h.in, configure, configure.in,
4036         set_perms.c, sudo.h:
4037         Add aix_setlimits() to set resource limits on AIX using a
4038         combination of getuserattr() and setrlimit(). Currently untested.
4039         [9b1441fd89ca]
4040
4041 2008-03-05  Todd C. Miller  <Todd.Miller@courtesan.com>
4042
4043         * def_data.c, def_data.h, def_data.in, logging.c, sudoers.cat,
4044         sudoers.man.in, sudoers.pod:
4045         Add mailfrom Defaults option that sets the value of the From: field
4046         in the warning/error mail. If unset the login name of the invoking
4047         user is used.
4048         [029b9f05d3d9]
4049
4050         * defaults.c:
4051         store a copy of _PATH_SUDO_ASKPASS in def_askpass that is freeable
4052         [a90e407d5e00]
4053
4054         * gram.c, gram.y:
4055         When adding a default, only call list2tq() once to do the list to tq
4056         conversion. It is not legal to call list2tq multiple times on the
4057         same list since list2tq consumes and modifies the list argument.
4058         [fbc25d245c4a]
4059
4060         * sudoers.ldap.cat, sudoers.ldap.man.in, sudoers.ldap.pod:
4061         comment out XXXs for now
4062         [595a1d43309d]
4063
4064         * WHATSNEW:
4065         mention askpass
4066         [b993e0837c22]
4067
4068 2008-03-04  Todd C. Miller  <Todd.Miller@courtesan.com>
4069
4070         * sudo.c:
4071         Error out if both -A and -S are specified Error out if -A is
4072         specified but no askpass is configured
4073         [24f1df2638f6]
4074
4075         * configure, configure.in:
4076         we are not going to ship a sudo-specific askpass
4077         [61949e7a3943]
4078
4079 2008-03-03  Todd C. Miller  <Todd.Miller@courtesan.com>
4080
4081         * sudo.h:
4082         fix definition of TGP_ASKPASS
4083         [0447c57ba4c3]
4084
4085         * def_data.c, def_data.in:
4086         make askpass boolean-capable
4087         [e0885893a325]
4088
4089         * INSTALL:
4090         document --with-askpass
4091         [c76e15ba97cf]
4092
4093         * sudo.cat, sudo.man.in, sudoers.cat, sudoers.ldap.cat,
4094         sudoers.man.in, visudo.cat:
4095         regen
4096         [8d16242980b7]
4097
4098 2008-03-02  Todd C. Miller  <Todd.Miller@courtesan.com>
4099
4100         * sudo.pod, sudo_usage.h.in, sudoers.pod:
4101         document -A and askpass
4102         [02c07505a78c]
4103
4104         * auth/sudo_auth.c, check.c, configure, configure.in, def_data.c,
4105         def_data.h, def_data.in, defaults.c, pathnames.h.in, sudo.c, sudo.h,
4106         sudo_usage.h.in, tgetpass.c:
4107         Add support for running a helper program to read the password when
4108         no tty is present (or when specified with the -A flag). TODO: docs.
4109         [05780f5f71fd]
4110
4111         * def_data.c, def_data.in:
4112         add missing printf format to SELinux role and type strings
4113         [2b32774715e7]
4114
4115 2008-02-27  Todd C. Miller  <Todd.Miller@courtesan.com>
4116
4117         * INSTALL, configure, configure.in:
4118         Disable use of gss_krb5_ccache_name() by default and add
4119         --enable-gss-krb5-ccache-name configure option to enable it. It
4120         seems that gss_krb5_ccache_name() doesn't work properly with some
4121         combinations of Heimdal and OpenLDAP.
4122         [f61ebd3b19bd]
4123
4124 2008-02-22  Todd C. Miller  <Todd.Miller@courtesan.com>
4125
4126         * selinux.c:
4127         Ignore setexeccon() failing in permissive mode. Also add a call to
4128         setkeycreatecon() (though this is probably insufficient). From Dan
4129         Walsh.
4130         [52564fc1c069]
4131
4132         * auth/pam.c:
4133         Only set std_prompt for the PAM_PROMPT_* cases. The conversation
4134         function may be called for non-password reading purposes so we must
4135         be careful not to use def_prompt in cases where it may not be set.
4136         [29d88ca575ba]
4137
4138 2008-02-20  Todd C. Miller  <Todd.Miller@courtesan.com>
4139
4140         * selinux.c:
4141         Don't free the new tty context, we need to keep it around when we
4142         restore the tty context after the command completes
4143         [5b4bd39b6ea8]
4144
4145 2008-02-19  Todd C. Miller  <Todd.Miller@courtesan.com>
4146
4147         * selinux.c:
4148         s/newrole/sudo/
4149         [21b8a96ff8df]
4150
4151         * sudo.man.pl, sudo.pod:
4152         Only put login_cap(3) in SEE ALSO section if we have login.conf
4153         support
4154         [05250ddff2c0]
4155
4156 2008-02-18  Todd C. Miller  <Todd.Miller@courtesan.com>
4157
4158         * sudo.cat, sudo.man.in, sudoers.cat, sudoers.ldap.cat,
4159         sudoers.ldap.man.in, sudoers.man.in, visudo.cat, visudo.man.in:
4160         regen
4161         [301e5c5ccdbe]
4162
4163         * sudoers.pod:
4164         Substitute in comment characters for lines partaining to login.conf,
4165         BSD auth and SELinux and only enable them if pertinent.
4166         [c1c98fa163ce]
4167
4168         * sudoers.man.pl:
4169         Substitute in comment characters for lines partaining to login.conf,
4170         BSD auth and SELinux and only enable them if pertinent.
4171         [6c88f30b878a]
4172
4173         * sudo.pod:
4174         Substitute in comment characters for lines partaining to login.conf,
4175         BSD auth and SELinux and only enable them if pertinent.
4176         [acdbdfd24e1d]
4177
4178         * sudo.man.pl:
4179         Substitute in comment characters for lines partaining to login.conf,
4180         BSD auth and SELinux and only enable them if pertinent.
4181         [0c56d4750ac3]
4182
4183         * Makefile.in, configure, configure.in:
4184         Substitute in comment characters for lines partaining to login.conf,
4185         BSD auth and SELinux and only enable them if pertinent.
4186         [9a02bd6a6658]
4187
4188         * Makefile.in, sudo.pod, sudoers.ldap.pod, sudoers.pod, visudo.pod:
4189         Remove the =cut on the first line (above the copyright notice) to
4190         quiet pod2man. Also remove the hackery in the FILES section and
4191         just deal with the fact that there will a newline between each
4192         pathname.
4193         [2ac1ab191835]
4194
4195 2008-02-17  Todd C. Miller  <Todd.Miller@courtesan.com>
4196
4197         * Makefile.in:
4198         run sudo.man.pl when generating sudo.man.in
4199         [859727369168]
4200
4201         * configure, configure.in, sudo.man.pl:
4202         comment out SELinux manual bits unless --with-selinux was specified
4203         [97ff4212b649]
4204
4205         * sudoers.pod:
4206         document role and type defaults for SELinux
4207         [870f303366b3]
4208
4209         * sudo.c, sudo.cat, sudo.man.in, sudo.pod, sudo_usage.h.in:
4210         Document "sudo -ll" and make "sudo -l -l" be equivalent.
4211         [3ce6dc429ea3]
4212
4213 2008-02-15  Todd C. Miller  <Todd.Miller@courtesan.com>
4214
4215         * configure, configure.in:
4216         Treat k*bsd*-gnu like Linux, not BSD. Fixes compilation problems on
4217         Debian GNU/kFreeBSD.
4218         [c4efa567a328]
4219
4220 2008-02-13  Todd C. Miller  <Todd.Miller@courtesan.com>
4221
4222         * auth/kerb5.c:
4223         Avoid Heimdal'isms introduced in the rev 1.32 rewrite of
4224         verify_krb_v5_tgt()
4225         [f80538e5a6fa]
4226
4227         * logging.c, logging.h, sudo.c:
4228         Remove dependence on VALIDATE_NOT_OK in logging functions. Split
4229         log_auth() into log_allowed() and log_denial() Replace mail_auth()
4230         with should_mail() and a call to send_mail()
4231         [58aac9997557]
4232
4233 2008-02-10  Todd C. Miller  <Todd.Miller@courtesan.com>
4234
4235         * ldap.c:
4236         Add debugging so we can tell if the krb5 ccache is accessible
4237         [c679322527bb]
4238
4239         * INSTALL:
4240         mention --with-selinux
4241         [9efbe0b52194]
4242
4243 2008-02-09  Todd C. Miller  <Todd.Miller@courtesan.com>
4244
4245         * configure:
4246         regen
4247         [467a834f867c]
4248
4249         * selinux.c:
4250         add Sudo tag
4251         [d004ee669bed]
4252
4253         * sudo.c, sudo.cat, sudo.h, sudo.man.in, sudo.pod, sudo_usage.h.in,
4254         sudoers.ldap.cat, sudoers.ldap.man.in, sudoers.ldap.pod,
4255         testsudoers.c, toke.c, toke.l:
4256         Add support for SELinux RBAC. Sudoers entries may specify a role
4257         and type. There are also role and type defaults that may be used.
4258         To make sure a transition occurs, when using RBAC commands are
4259         executed via the new sesh binary. Based on initial changes from Dan
4260         Walsh.
4261         [1d4abfe2c004]
4262
4263         * sesh.c:
4264         Add support for SELinux RBAC. Sudoers entries may specify a role
4265         and type. There are also role and type defaults that may be used.
4266         To make sure a transition occurs, when using RBAC commands are
4267         executed via the new sesh binary. Based on initial changes from Dan
4268         Walsh.
4269         [1e3b395ce049]
4270
4271         * Makefile.in, config.h.in, configure.in, def_data.c, def_data.h,
4272         def_data.in, gram.c, gram.h, gram.y, ldap.c, parse.c, parse.h,
4273         pathnames.h.in, selinux.c:
4274         Add support for SELinux RBAC. Sudoers entries may specify a role
4275         and type. There are also role and type defaults that may be used.
4276         To make sure a transition occurs, when using RBAC commands are
4277         executed via the new sesh binary. Based on initial changes from Dan
4278         Walsh.
4279         [6b421948286e]
4280
4281 2008-02-08  Todd C. Miller  <Todd.Miller@courtesan.com>
4282
4283         * lbuf.c, ldap.c, parse.c, sudo.c, sudo.h, sudo_nss.c:
4284         Add long list (sudo -ll) support for printing verbose LDAP and
4285         sudoers file entries. Still need to update manual.
4286         [2875be37935c]
4287
4288 2008-02-03  Todd C. Miller  <Todd.Miller@courtesan.com>
4289
4290         * ldap.c, parse.c, sudo.h, sudo_nss.c, sudo_nss.h:
4291         Unify the -l output for file and ldap based sudoers and use lbufs
4292         for both. The ldap output does not currently include options that
4293         cannot be represented as tags. This will be remedied in a long list
4294         output mode to come.
4295         [b2e429456596]
4296
4297 2008-01-27  Todd C. Miller  <Todd.Miller@courtesan.com>
4298
4299         * set_perms.c:
4300         Use a specific error message for errno == EAGAIN when setuid() et al
4301         fails. On Linux systems setuid() will fail with errno set to EAGAIN
4302         if changing to the new uid would result in a resource limit
4303         violation.
4304         [08d0aecd9f03]
4305
4306         * sudo.c:
4307         Unlimit nproc on Linux systems where calling the setuid() family of
4308         syscalls causes the nroc resource limit to be checked. The limits
4309         will be reset by pam_limits.so when PAM is used. In the non-PAM
4310         case the nproc limit will remain unlimited but there doesn't seem to
4311         be a way around that other than having sudo parse
4312         /etc/security/limits.conf directly.
4313         [df024b415a8d]
4314
4315         * env.c, sudo.c, sudo.pod:
4316         Only read /etc/environment on Linux and AIX
4317         [90669e2aefdb]
4318
4319 2008-01-23  Todd C. Miller  <Todd.Miller@courtesan.com>
4320
4321         * configure, configure.in:
4322         Use SUDO_DEFINE_UNQUOTED instead of AC_DEFINE_UNQUOTED to prevent
4323         ldap.conf and ldap.secret paths from going into config.h. Avoid
4324         single quotes in variable expansion when using SUDO_DEFINE_UNQUOTED
4325         since in some versions of bash they will end up literally in the
4326         resulting define.
4327         [25390f3ef10a]
4328
4329 2008-01-21  Todd C. Miller  <Todd.Miller@courtesan.com>
4330
4331         * README.LDAP:
4332         mention --with-nsswitch=no
4333         [c509df927263]
4334
4335         * configure, configure.in:
4336         ldap_ssl.h depends on ldap.h being included first
4337         [d96d90e9b21f]
4338
4339         * config.h.in, configure, configure.in, ldap.c:
4340         Include ldap_ssl.h if we can find it. Needed for the
4341         ldapssl_set_strength defines on HP-UX at least.
4342         [9e530470948a]
4343
4344         * sudoers.ldap.pod:
4345         sync
4346         [b9d101f4673a]
4347
4348         * TODO:
4349         sync
4350         [2ce951b2ecd0]
4351
4352         * sudo.cat, sudo.man.in, sudoers.cat, sudoers.ldap.cat,
4353         sudoers.ldap.man.in, sudoers.man.in, visudo.cat, visudo.man.in:
4354         regen
4355         [b61d793987e0]
4356
4357         * Makefile.in:
4358         Use 78n line length when formatting cat pages.
4359         [761bee9d5759]
4360
4361         * README.LDAP:
4362         Remove redundant info that is now in sudoers.ldap.pod
4363         [01828dcce59e]
4364
4365 2008-01-20  Todd C. Miller  <Todd.Miller@courtesan.com>
4366
4367         * sudoers.ldap.cat, sudoers.ldap.man.in, sudoers.ldap.pod:
4368         Reorganize the first section a bit. Substitute the proper path for
4369         /etc/sudoers.
4370         [11ae165e065d]
4371
4372         * sudoers.ldap.cat, sudoers.ldap.man.in, sudoers.ldap.pod:
4373         Substitute values for ldap.conf, ldap.secret and nsswitch.conf Move
4374         schema into EXAMPLES
4375         [ab6509d1dde7]
4376
4377         * configure, configure.in:
4378         Substitute values for ldap.conf, ldap.secret and nsswitch.conf into
4379         sudoers.ldap.man.
4380         [6e689972f465]
4381
4382         * configure, configure.in:
4383         substitute for sudoers.ldap.man
4384         [5a4a25766dee]
4385
4386         * Makefile.in:
4387         Fix cut & pasto introduced when adding sudoers.ldap man page.
4388         [a7b069af8894]
4389
4390         * sudoers.ldap.cat, sudoers.ldap.man.in, sudoers.ldap.pod:
4391         Fill in some of the missing pieces. Still needs some reorganization
4392         and editing.
4393         [5e7331722166]
4394
4395 2008-01-19  Todd C. Miller  <Todd.Miller@courtesan.com>
4396
4397         * Makefile.in, sudoers.ldap.cat, sudoers.ldap.man.in,
4398         sudoers.ldap.pod:
4399         Beginnings of a sudoers.ldap man page. Currently, much of the
4400         information is adapted from README.LDAP.
4401         [aad28c8a922d]
4402
4403 2008-01-18  Todd C. Miller  <Todd.Miller@courtesan.com>
4404
4405         * pwutil.c:
4406         When copying gr_mem we must guarantee that the storage space for
4407         gr_mem is properly aligned. The simplest way to do this is to
4408         simply store gr_mem directly after struct group. This is not a
4409         problem for gr_passwd or gr_name as they are simple strings.
4410         [af58fc76f1ed]
4411
4412         * ldap.c:
4413         Fix a typo/thinko in one of the calls to
4414         sudo_ldap_check_user_netgroup(). From Marco van Wieringen.
4415         [70b2eb8097f5]
4416
4417 2008-01-17  Todd C. Miller  <Todd.Miller@courtesan.com>
4418
4419         * config.h.in, configure, configure.in, ldap.c:
4420         include <mps/ldap_ssl.h> in ldap.c if available
4421         [34346206ef16]
4422
4423 2008-01-16  Todd C. Miller  <Todd.Miller@courtesan.com>
4424
4425         * gram.c, gram.y:
4426         Make sure we define SIZE_MAX for yacc's skeleton.c
4427         [d8a45c7a3c42]
4428
4429         * tgetpass.c:
4430         Use TCSAFLUSH when restoring terminal settings (and echo) to
4431         guarantee that any pending output is discarded
4432         [549a184479e5]
4433
4434 2008-01-15  Todd C. Miller  <Todd.Miller@courtesan.com>
4435
4436         * sudoers:
4437         no longer need to specify SETENV when user has sudo ALL
4438         [3051b41f8032]
4439
4440         * testsudoers.c:
4441         sync user_args size calculation with sudo.c Add -g group option,
4442         renaming old -g to -G Add set_runasgr() and set_runaspw() and use
4443         them
4444         [0850325180f0]
4445
4446         * sudo.c, sudo.h:
4447         Make set_runaspw static void
4448         [5d44d7a340ce]
4449
4450         * testsudoers.c, visudo.c:
4451         g/c set_runaspw stub
4452         [79ebb5e2cc38]
4453
4454         * configure, configure.in:
4455         Don't add -llber twice.
4456         [4356d302eef4]
4457
4458 2008-01-14  Todd C. Miller  <Todd.Miller@courtesan.com>
4459
4460         * ldap.c:
4461         fix typo
4462         [249cecc557e9]
4463
4464 2008-01-13  Todd C. Miller  <Todd.Miller@courtesan.com>
4465
4466         * gram.c:
4467         regen
4468         [2f94ea375b67]
4469
4470         * configure, configure.in:
4471         Fix check that determines whether -llber is required.
4472         [6afa99523379]
4473
4474         * README.LDAP, config.h.in, configure, configure.in, ldap.c:
4475         For netscape-based LDAP, use ldapssl_set_strength() to implement the
4476         checkpeer ldap.conf option.
4477         [16ae24d73795]
4478
4479         * auth/kerb5.c:
4480         Delay krb5_cc_initialize() until we actually need to use the cred
4481         cache, which is what krb5_verify_user() does. Better cleanup on
4482         failure.
4483         [d12e5f1695b8]
4484
4485 2008-01-12  Todd C. Miller  <Todd.Miller@courtesan.com>
4486
4487         * auth/kerb5.c:
4488         Rewrite verify_krb_v5_tgt() based on what heimdal's
4489         krb5_verify_user() does.
4490         [05b5815f86c9]
4491
4492 2008-01-09  Todd C. Miller  <Todd.Miller@courtesan.com>
4493
4494         * gram.c:
4495         The U suffix on constants is an ANSI feature
4496         [c6dfce3167f1]
4497
4498         * configure, configure.in:
4499         Add check for ber_set_option() in -llber
4500         [43d0c0566074]
4501
4502 2008-01-07  Todd C. Miller  <Todd.Miller@courtesan.com>
4503
4504         * README.LDAP:
4505         default if no nsswitch.conf is files only
4506         [c13001d9c998]
4507
4508 2008-01-06  Todd C. Miller  <Todd.Miller@courtesan.com>
4509
4510         * README.LDAP:
4511         don't tell people to mail aaron about LDAP stuff
4512         [8165ec1ef0c6]
4513
4514         * README.LDAP:
4515         timelimit and bind_timelimit
4516         [44f74cbed167]
4517
4518         * ChangeLog:
4519         sync
4520         [aba1a0ab02bd]
4521
4522         * ldap.c:
4523         Move ldap.secret reading into a separate function.
4524         [1948acc9f7a4]
4525
4526         * check.c:
4527         user_runas -> runas_pw
4528         [334490fc2bae]
4529
4530 2008-01-05  Todd C. Miller  <Todd.Miller@courtesan.com>
4531
4532         * TODO:
4533         sync
4534         [c7b165cc47c6]
4535
4536         * check.c, sudo.pod, sudoers.pod:
4537         Add and document the %p escape in the password prompt. Based on a
4538         patch from Patrick Schoenfeld.
4539         [3972d4f31ffa]
4540
4541         * ldap.c:
4542         Check strlcpy() return values.
4543         [9b42f3ae8ff1]
4544
4545         * ldap.c:
4546         refactor ldap binding code into sudo_ldap_bind_s()
4547         [cb0c66a4d955]
4548
4549         * README.LDAP:
4550         Make it clear that host and uri can take multiple parameters. URI is
4551         now supported for more than just openldap nsswitch.conf does't
4552         accept "compat"
4553         [f610dea656d6]
4554
4555         * sudo.c:
4556         comment cleanup and update (c) year
4557         [6cd69c810ca5]
4558
4559         * parse.c, sudo_nss.c:
4560         Move display_privs() and display_cmnd() from parse.c to sudo_nss.c.
4561         This should make it possible to build an LDAP-only sudo binary.
4562         [61c3f27066a0]
4563
4564         * ldap.c, parse.c, sudo.c, sudo.h, sudo_nss.h:
4565         Improve chaining of multiple sudoers sources by passing in the
4566         previous return value to the next in the chain
4567         [2c0b722b1b2d]
4568
4569         * gram.y:
4570         Free up parser data structures in sudo_file_close().
4571         [2251531d4519]
4572
4573         * gram.c, parse.c:
4574         Free up parser data structures in sudo_file_close().
4575         [8371f130f401]
4576
4577         * ldap.c:
4578         Parse uri ourself if no ldap_initialize() is present Use
4579         ldap_create() instead of deprecated ldap_init() Use
4580         ldap_sasl_bind_s() instead of deprecated ldap_simple_bind_s()
4581         [85d3825b1953]
4582
4583         * config.h.in, configure, configure.in:
4584         Add check for ldap_sasl_bind_s() Remove -DLDAP_DEPRECATED from
4585         CFLAGS
4586         [240524512bc5]
4587
4588 2008-01-04  Todd C. Miller  <Todd.Miller@courtesan.com>
4589
4590         * config.h.in, configure, configure.in:
4591         add check for ldap_create
4592         [3089badd73b8]
4593
4594 2008-01-03  Todd C. Miller  <Todd.Miller@courtesan.com>
4595
4596         * config.h.in, configure, configure.in, ldap.c:
4597         Add sudo_ldap_get_first_rdn() to return the first rdn of an entry's
4598         dn using the mechanism appropriate for the LDAP SDK in use. Use
4599         ldap_unbind_ext_s() instead of deprecated ldap_unbind_s(). Emulate
4600         ldap_unbind_ext_s() and ldap_search_ext_s() for SDK's without them.
4601         [6deeca3d00cc]
4602
4603         * lbuf.c:
4604         include unistd.h
4605         [8419ed0bae7f]
4606
4607         * config.h.in, configure.in:
4608         fix typo in mtim_getnsec
4609         [2d5f21230a60]
4610
4611 2008-01-02  Todd C. Miller  <Todd.Miller@courtesan.com>
4612
4613         * config.h.in, configure, configure.in:
4614         add check for st__tim in struct stat as used by SCO
4615         [587060ea2a89]
4616
4617         * ldap.c:
4618         use ldap_search_ext_s instead of deprecated ldap_search_s
4619         [5fc44fe3b44c]
4620
4621         * Makefile.in, TODO, sudo.cat, sudo.man.in:
4622         add sudo_nss.h to HDRS
4623         [86f01a70ff29]
4624
4625         * ldap.c:
4626         Replace deprecated ldap_explode_dn() with calls to ldap_str2dn() and
4627         ldap_rdn2str().
4628         [aa217002cfae]
4629
4630 2008-01-01  Todd C. Miller  <Todd.Miller@courtesan.com>
4631
4632         * ldap.c:
4633         Use ldap_get_values_len()/ldap_value_free_len() instead of the
4634         deprecated ldap_get_values()/ldap_value_free().
4635         [e22dceb85e57]
4636
4637         * ChangeLog:
4638         sync
4639         [adad27b36107]
4640
4641         * TODO:
4642         sync
4643         [c449eb47e0ef]
4644
4645         * gettime.c, sudo.c:
4646         Remove some already fixed XXXs
4647         [532788d0e6da]
4648
4649         * ldap.c:
4650         Same return value as non-existent sudoers if LDAP was unable to
4651         connect.
4652         [5819810e8e4e]
4653
4654         * sudo.pod:
4655         mention /etc/environment
4656         [ea8e6102f853]
4657
4658         * README.LDAP, UPGRADE, WHATSNEW:
4659         Update to reflect recent developments.
4660         [ed1fb026fe77]
4661
4662         * sudo.c:
4663         Print nsswitch.conf, ldap.conf and ldap.secret paths in -V output.
4664         [55b68a58260d]
4665
4666         * ldap.c:
4667         When building up a query don't list groups in the aux group vector
4668         that are the same as the passwd file group. On most systems the
4669         first gid in the group vector is the same as the passwd entry gid.
4670         [4bb51e297e0d]
4671
4672         * env.c, ldap.c:
4673         Define LDAPNOINIT before calling ldap_init(), etc. to disable user
4674         ldaprc and system defaults that could affect how LDAP works.
4675         [ce5036440db2]
4676
4677         * INSTALL, configure, configure.in, pathnames.h.in, sudo.c,
4678         sudo_nss.c, sudo_nss.h:
4679         Rename read_nss -> sudo_read_nss Add --with-nsswitch to allow users
4680         to specify nsswitch.conf path or disable it. If --with-nsswitch=no
4681         but --with-ldap, order is LDAP, then sudoers. Fix --with-ldap-conf-
4682         file and --with-ldap-secret-file
4683         [ea5d7704381f]
4684
4685         * parse.c:
4686         Honor def_ignore_local_sudoers
4687         [f38e1121fae1]
4688
4689 2007-12-31  Todd C. Miller  <Todd.Miller@courtesan.com>
4690
4691         * ldap.c:
4692         no longer need to check def_ignore_local_sudoers here
4693         [fce2a72f96fb]
4694
4695         * parse.c:
4696         Refactor group vector resetting into a function and also call it
4697         from display_cmnd. Stop after the first sucessful match in
4698         display_cmnd. Print a newline between each display_privs method.
4699         [981b37b5adff]
4700
4701         * parse.c:
4702         fix double free introduced in rev 1.218
4703         [c574b02d8747]
4704
4705         * ldap.c:
4706         belt and suspenders; zero out result after freeing it
4707         [7732988d4620]
4708
4709         * env.c, fileops.c, ldap.c, sudo.h, sudo_nss.c:
4710         Refactor line reading into a separate function, sudo_parseln(),
4711         which removes comments, leading/trailing whitespace and newlines.
4712         May want to rethink the use of sudo_parseln() for /etc/ldap.secret
4713         [61d9068f0645]
4714
4715         * parse.c, sudo.c:
4716         Make the inability to read the sudoers file a non-fatal error if
4717         there are other sudoers sources available. sudoers_file_lookup now
4718         returns "not OK" if sudoers was not present
4719         [643babf597a8]
4720
4721         * ldap.c:
4722         make it clear that the global options are from LDAP
4723         [9ff950349463]
4724
4725         * logging.c:
4726         allocate proper amount of space for error string
4727         [8bebb7d46d19]
4728
4729         * sudo_nss.c, sudo_nss.h:
4730         actual sudo nss code
4731         [5bd7d52d7738]
4732
4733         * ldap.c, parse.c, sudo.c, sudo.h:
4734         nss-ify display_privs and display_cmnd.
4735         [cccfdd3253f2]
4736
4737         * defaults.c, parse.c, testsudoers.c, visudo.c:
4738         move update_defaults() to parse.c
4739         [ace144b958a9]
4740
4741         * Makefile.in, ldap.c, list.c, parse.c, parse.h, sudo.c, sudo.h:
4742         Use nsswitch to hide some sudoers vs. ldap implementation details
4743         and reduce the number of #ifdef LDAP TODO: fix display routines and
4744         error handling
4745         [6225edde89a6]
4746
4747 2007-12-28  Todd C. Miller  <Todd.Miller@courtesan.com>
4748
4749         * Makefile.in, README.LDAP, ldap.c, pathnames.h.in, sudo.c, sudo.h:
4750         First cut at nsswitch.conf support. Further reorganizaton and
4751         related changes are forthcoming.
4752         [717f59d0790b]
4753
4754 2007-12-21  Todd C. Miller  <Todd.Miller@courtesan.com>
4755
4756         * env.c, pathnames.h.in, sudo.c, sudo.h:
4757         Add support for reading and /etc/environment file. Still needs to
4758         be documented and should probably only applies to OSes that have it
4759         (AIX and Linux, maybe others).
4760         [15d3edae27e4]
4761
4762         * ldap.c:
4763         include limits.h
4764         [e19875ef0f82]
4765
4766 2007-12-20  Todd C. Miller  <Todd.Miller@courtesan.com>
4767
4768         * WHATSNEW:
4769         reword LDAP SASL
4770         [7ec3c4ec31b5]
4771
4772 2007-12-19  Todd C. Miller  <Todd.Miller@courtesan.com>
4773
4774         * TODO:
4775         sync
4776         [87c5a7aea7bf]
4777
4778         * README.LDAP:
4779         Add an example sudoRole, clarify netscape vs. openldap a bit more
4780         [6f96c0ca8107]
4781
4782         * README.LDAP:
4783         Be clear on what is OpenLDAP vs. Netscape-derived
4784         [a33c8314dec5]
4785
4786         * config.h.in, configure, configure.in, ldap.c:
4787         Use ldapssl_init() for ldaps support instead of trying to do it
4788         manually with ldap_init() + ldapssl_install_routines(). Use tls_cert
4789         and tls_key for cert7.db and key3.db respectively. Don't print
4790         debugging info for options that are not set. Add warning if
4791         start_tls specified when not supported.
4792         [abb62dc7e4a3]
4793
4794         * ldap.c:
4795         fix compilation on solaris
4796         [03d449684e80]
4797
4798         * Makefile.in:
4799         add missing .h and .c files for missing lib objs
4800         [8b37825bdfc7]
4801
4802 2007-12-18  Todd C. Miller  <Todd.Miller@courtesan.com>
4803
4804         * ldap.c:
4805         fix LDAP_OPT_NETWORK_TIMEOUT setting
4806         [226eba89c0ad]
4807
4808         * ldap.c:
4809         fix compilation on Solaris
4810         [917d47639eb6]
4811
4812 2007-12-17  Todd C. Miller  <Todd.Miller@courtesan.com>
4813
4814         * configure, configure.in:
4815         fix typo
4816         [009d5c81b225]
4817
4818         * README.LDAP:
4819         try to clear up which variables are for OpenLDAP and which are for
4820         netscape-derived SDKs
4821         [f8d9823ee73c]
4822
4823         * config.h.in, configure, configure.in, ldap.c:
4824         Add support for "ssl on" in both netscape and openldap flavors. Only
4825         the OpenLDAP flavor has been tested.
4826         [952745829ec5]
4827
4828         * logging.c, sudo.c, sudo.h:
4829         Call cleanup() before exit in log_error() instead of calling
4830         sudo_ldap_close() directly. ldap_conn can now be static to sudo.c
4831         [da02d1b67a2c]
4832
4833         * sudo.c:
4834         ld -> ldap_conn
4835         [01afa6d927cc]
4836
4837 2007-12-16  Todd C. Miller  <Todd.Miller@courtesan.com>
4838
4839         * logging.c, sudo.c, sudo.h:
4840         Better ldap cleanup.
4841         [25b9abe2d617]
4842
4843         * ldap.c:
4844         Distinguish between LDAP conf settings that are connection-specific
4845         (which take an ld pointer) and those that are default settings
4846         (which do not).
4847         [d48dc6c9c3b4]
4848
4849 2007-12-14  Todd C. Miller  <Todd.Miller@courtesan.com>
4850
4851         * ldap.c:
4852         Improved warnings on error.
4853         [c8dce7b4feb4]
4854
4855         * ldap.c:
4856         Make ldap config table driven and set the config *after* we open the
4857         connection.
4858         [d9698b5a2681]
4859
4860 2007-12-13  Todd C. Miller  <Todd.Miller@courtesan.com>
4861
4862         * ldap.c:
4863         fix LDAP_OPT_X_CONNECT_TIMEOUT compat define
4864         [598c6df06660]
4865
4866         * configure, configure.in:
4867         some operating systems need to link with -lkrb5support when using
4868         krb5
4869         [8896365dde9e]
4870
4871 2007-12-10  Todd C. Miller  <Todd.Miller@courtesan.com>
4872
4873         * WHATSNEW:
4874         minor update
4875         [acfeeb7f4886]
4876
4877         * sudo.cat, sudo.man.in, sudoers.cat, sudoers.man.in:
4878         regen
4879         [a3c6699674f9]
4880
4881 2007-12-08  Todd C. Miller  <Todd.Miller@courtesan.com>
4882
4883         * ChangeLog, TODO:
4884         sync
4885         [138e99b925ee]
4886
4887         * ldap.c, schema.OpenLDAP, schema.iPlanet, sudoers2ldif:
4888         add -g support for LDAP
4889         [8fc27dbe9287]
4890
4891 2007-12-03  Todd C. Miller  <Todd.Miller@courtesan.com>
4892
4893         * WHATSNEW, sudo.c, sudo.pod, sudo_usage.h.in:
4894         The -i and -s flags can now take an optional command.
4895         [6afec104ee77]
4896
4897 2007-12-02  Todd C. Miller  <Todd.Miller@courtesan.com>
4898
4899         * auth/pam.c, def_data.c, def_data.h, def_data.in, sudo.c, sudo.pod,
4900         sudoers.pod:
4901         Add passprompt_override flag to sudoers that will cause the prompt
4902         to be overridden in all cases. This flag is also set when the user
4903         specifies the -p flag.
4904         [e4c5402131a6]
4905
4906         * sudo.c:
4907         Move setting of login class until after sudoers has been parsed. Set
4908         NewArgv[0] for -i after runas_pw has been set.
4909         [62a48c8c56fa]
4910
4911         * configure, configure.in:
4912         Move the dgettext check.
4913         [5fd8a4712d1c]
4914
4915 2007-12-01  Todd C. Miller  <Todd.Miller@courtesan.com>
4916
4917         * auth/pam.c, config.h.in, configure, configure.in:
4918         Add basic support for looking up the string "Password: " in the PAM
4919         localized text db. This allows us to determine whether the PAM
4920         prompt is the default "Password: " one even if it has been
4921         localized.
4922
4923         TODO: concatenate non-std PAM prompts and user-specified sudo
4924         prompts.
4925         [81c25a415d41]
4926
4927 2007-11-27  Todd C. Miller  <Todd.Miller@courtesan.com>
4928
4929         * Makefile.in, config.h.in, configure, configure.in, parse.c,
4930         set_perms.c, sudo.c, sudo.h:
4931         Use AC_FUNC_GETGROUPS instead of a home-grown attempt that was
4932         insufficient.
4933         [1cce6ec1a91e]
4934
4935         * acsite.m4, configure, interfaces.c, memrchr.c:
4936         Fix typos; Martynas Venckus
4937         [be1233cca11a]
4938
4939 2007-11-26  Todd C. Miller  <Todd.Miller@courtesan.com>
4940
4941         * set_perms.c:
4942         Don't assume runas_pw is set; it may not be in the -g case.
4943         [aa11bd2193ac]
4944
4945 2007-11-25  Todd C. Miller  <Todd.Miller@courtesan.com>
4946
4947         * logging.c, set_perms.c:
4948         Set aux group vector for PERM_RUNAS and restore group vector for
4949         PERM_ROOT if we previously changed it. Stash the runas group vector
4950         so we don't have to call initgroups more than once. Also add no-op
4951         check to check_perms.
4952         [53837fc755f7]
4953
4954 2007-11-21  Todd C. Miller  <Todd.Miller@courtesan.com>
4955
4956         * WHATSNEW, check.c, def_data.in, defaults.c, gram.c, gram.h, gram.y,
4957         ldap.c, logging.c, match.c, mon_systrace.c, parse.c, parse.h,
4958         pwutil.c, set_perms.c, sudo.c, sudo.cat, sudo.h, sudo.man.in,
4959         sudo.pod, sudo_usage.h.in, sudoers.cat, sudoers.man.in, sudoers.pod,
4960         testsudoers.c, visudo.c, visudo.cat, visudo.man.in:
4961         Add support for runas groups. This allows the user to run a command
4962         with a different effective group. If the -g option is specified
4963         without -u the command will be run as the current user (only the
4964         group will change). the -g and -u options may be used together.
4965         TODO: implement runas group for ldap improve runas group
4966         documentation add testsudoers support
4967         [9019309df6d0]
4968
4969         * configure, configure.in:
4970         fix setting of mandir
4971         [2c60f269399f]
4972
4973         * sudo.pod, sudoers.pod:
4974         document that ALL implies SETENV
4975         [bcc8e5b703b9]
4976
4977         * ldap.c:
4978         s/setenv_ok/setenv_implied/g
4979         [f005df2c2eea]
4980
4981         * ldap.c:
4982         hostname_matches() returns TRUE on match in sudo 1.7.
4983         [c3d4377b6e8b]
4984
4985         * ldap.c:
4986         use strcmp, not strcasecmp when comparing ALL
4987         [e486024574a1]
4988
4989         * ldap.c:
4990         Make sudo ALL imply setenv. Note that unlike with file-based
4991         sudoers this does affect all the commands in the sudoRole.
4992         [bc12f54321d1]
4993
4994         * gram.c, gram.y, parse.c, parse.h:
4995         sudo "ALL" now implies the SETENV tag but, unlike an explicit tag,
4996         it is not passed on to other commands in the list.
4997         [026e2cb40680]
4998
4999         * visudo.c:
5000         Add missing sudo_setpwent() and sudo_setgrent() calls. Also use
5001         sudo_getpwuid() instead of getpwuid().
5002         [86f30a8fbd49]
5003
5004 2007-11-15  Todd C. Miller  <Todd.Miller@courtesan.com>
5005
5006         * sudoers:
5007         Expand on the dangers of not using visudo to edit sudoers.
5008         [e434e8057d02]
5009
5010 2007-11-08  Todd C. Miller  <Todd.Miller@courtesan.com>
5011
5012         * parse.c:
5013         Don't quote *?[]! on output since the lexer does not strip off the
5014         backslash when reading those in.
5015         [561da4a13afa]
5016
5017 2007-11-07  Todd C. Miller  <Todd.Miller@courtesan.com>
5018
5019         * glob.c:
5020         expand "u_foo" types to "unsigned foo" to avoid compatibility
5021         issues.
5022         [b0d7c64d78c3]
5023
5024 2007-11-04  Todd C. Miller  <Todd.Miller@courtesan.com>
5025
5026         * logging.c:
5027         Refactor log line generation in to new_logline().
5028         [6a9b9730615d]
5029
5030 2007-10-25  Todd C. Miller  <Todd.Miller@courtesan.com>
5031
5032         * TROUBLESHOOTING:
5033         fix typo
5034         [9e19d4f86e47]
5035
5036 2007-10-24  Todd C. Miller  <Todd.Miller@courtesan.com>
5037
5038         * config.h.in, configure, configure.in, interfaces.c, interfaces.h,
5039         match.c:
5040         Add configure check for struct in6_addr instead of relying on
5041         AF_INET6 since some systems define AF_INET6 but do not include IPv6
5042         support.
5043         [e24082c416bd]
5044
5045 2007-10-21  Todd C. Miller  <Todd.Miller@courtesan.com>
5046
5047         * configure, configure.in:
5048         Fix block to add -lutil for FreeBSD and NetBSD when logincap is in
5049         use.
5050         [76a9df4a63be]
5051
5052 2007-10-20  Todd C. Miller  <Todd.Miller@courtesan.com>
5053
5054         * configure, configure.in:
5055         POSIX states that struct timespec be declared in time.h so check
5056         there regardless of the value of TIME_WITH_SYS_TIME.
5057         [e42c55ec9daf]
5058
5059 2007-10-17  Todd C. Miller  <Todd.Miller@courtesan.com>
5060
5061         * tgetpass.c:
5062         Instead of defining a macro to call the appropriate method for
5063         turning on/off echo, just define tc[gs]etattr() and the related
5064         defines that use the correct terminal ioctls if needed. Also go back
5065         to using TCSAFLUSH instead of TCSADRAIN on all but QNX.
5066         [5dfb2379d995]
5067
5068 2007-10-09  Todd C. Miller  <Todd.Miller@courtesan.com>
5069
5070         * Makefile.in:
5071         g/c @ALLOCA@
5072         [e6946c2e3820]
5073
5074         * configure:
5075         regen
5076         [9bac7159a138]
5077
5078         * INSTALL, auth/pam.c, config.h.in, configure.in:
5079         Add --disable-pam-session configure option to disable calling
5080         pam_{open,close}_session. May work around bugs in some PAM
5081         implementations.
5082         [273d0fdb4a9d]
5083
5084 2007-10-08  Todd C. Miller  <Todd.Miller@courtesan.com>
5085
5086         * tgetpass.c:
5087         quiet gcc warnings
5088         [325565c5a579]
5089
5090         * tgetpass.c:
5091         Avoid printing the prompt if we are already backgrounded. E.g. if
5092         the user runs "sudo foo &" from the shell. In this case, the call
5093         to tcsetattr() will cause SIGTTOU to be delivered.
5094         [db2139a8d8b8]
5095
5096 2007-09-15  Todd C. Miller  <Todd.Miller@courtesan.com>
5097
5098         * def_data.c, def_data.h, def_data.in:
5099         Reorder things such that the definition of env_reset come right
5100         before the env variable lists.
5101         [e0d8e22a581a]
5102
5103         * parse.h:
5104         Shrink type and seqno in struct alias from int to u_short
5105         [9425263dd565]
5106
5107         * alias.c, match.c, parse.c, parse.h:
5108         Add a sequence number in the aliases for loop detection. If we find
5109         an alias with the seqno already set to the current (global) value we
5110         know we've visited it before so ignore it.
5111         [301a0548ffff]
5112
5113 2007-09-13  Todd C. Miller  <Todd.Miller@courtesan.com>
5114
5115         * TODO, auth/pam.c, sudo.c, sudo.h:
5116         PAM wants the full tty path so add user_ttypath which holds the full
5117         path to the tty or is NULL if no tty was present.
5118         [c7c1dd4b36c8]
5119
5120         * auth/pam.c:
5121         Set PAM_RHOST to work around a bug in Solaris 7 and lower that
5122         results in a segv.
5123         [3a8865b3a357]
5124
5125 2007-09-11  Todd C. Miller  <Todd.Miller@courtesan.com>
5126
5127         * gram.c:
5128         regen
5129         [5647be127950]
5130
5131         * alias.c, defaults.c, gram.y, list.c, list.h, match.c, parse.c,
5132         parse.h, testsudoers.c, visudo.c:
5133         rename lh_ -> tq_
5134         [8f500c542c4a]
5135
5136 2007-09-10  Todd C. Miller  <Todd.Miller@courtesan.com>
5137
5138         * alloc.c:
5139         remove some useless casts
5140         [409a448b23f5]
5141
5142         * alloc.c:
5143         pull in inttypes.h for SIZE_MAX; we avoid stdint.h since inttypes.h
5144         predates the final C99 spec and the standard specifies that it shall
5145         include stdint.h anyway
5146         [ae478fdef61a]
5147
5148 2007-09-06  Todd C. Miller  <Todd.Miller@courtesan.com>
5149
5150         * Makefile.in, alloca.c, configure.in:
5151         Since we ship with a pre-generated parser there is no need to ship a
5152         bogus alloca implementation.
5153         [3f611a7cc0e5]
5154
5155         * configure:
5156         regen
5157         [771eccf5269c]
5158
5159         * configure.in:
5160         remove initial setting of CHECKSIA, we require that it be unset if
5161         not used
5162         [a2e91adc5aa2]
5163
5164         * Makefile.in:
5165         add list.c to SRCS
5166         [7db0e56cf5b9]
5167
5168         * configure:
5169         regen
5170         [3716ec30172e]
5171
5172         * configure.in:
5173         only do SIA checks on Digital Unix
5174         [6a96e1af2597]
5175
5176 2007-09-05  Todd C. Miller  <Todd.Miller@courtesan.com>
5177
5178         * sudoers.cat, sudoers.man.in:
5179         regen
5180         [ac1dc29de72b]
5181
5182         * ChangeLog, TODO:
5183         sync
5184         [781effce0a2d]
5185
5186         * auth/kerb5.c:
5187         Remove call to krb5_cc_register() as it is not needed for modern
5188         kerb5.
5189         [351b8b764f16]
5190
5191         * configure:
5192         regen
5193         [ac21dbcc9c2c]
5194
5195         * aclocal.m4, configure.in:
5196         New method for setting the default authentication type and avoiding
5197         conflicts in auth types.
5198         [5fb15be11f78]
5199
5200         * match.c, parse.c, testsudoers.c:
5201         Each entry in a cmndlist now has an associated runaslist so no need
5202         to keep track of the most recent non-NULL one.
5203         [582e015786b0]
5204
5205 2007-09-04  Todd C. Miller  <Todd.Miller@courtesan.com>
5206
5207         * ldap.c:
5208         back out partial ldaps support mistakenly committed
5209         [357703e94b2d]
5210
5211         * ldap.c:
5212         Add support for unix groups and netgroups in sudoRunas
5213         [2f04eb91c6d0]
5214
5215 2007-09-03  Todd C. Miller  <Todd.Miller@courtesan.com>
5216
5217         * sudo_edit.c:
5218         Fix sudoedit of a non-existent file. From Tilo Stritzky.
5219         [a5488a03bddd]
5220
5221 2007-09-02  Todd C. Miller  <Todd.Miller@courtesan.com>
5222
5223         * configure:
5224         regen
5225         [541177376ee1]
5226
5227         * INSTALL:
5228         update --passprompt escape info
5229         [6d57db4cd538]
5230
5231         * configure.in:
5232         remove now-bogus comment and update copyright date
5233         [6a4af45fa331]
5234
5235         * configure.in:
5236         Fix up use of with_passwd
5237         [7c79d8640f77]
5238
5239         * acsite.m4, config.guess, config.sub, configure.in, ltmain.sh:
5240         Update to autoconf-2.61 andf libtool-1.5.24
5241         [045259b0b439]
5242
5243         * Makefile.in:
5244         "cmp -s" not just cmp Add @datarootdir@ to quiet autoconf-2.61
5245         [f5b6a7afb817]
5246
5247 2007-09-01  Todd C. Miller  <Todd.Miller@courtesan.com>
5248
5249         * gram.c:
5250         regen
5251         [b5b78e71d2cb]
5252
5253         * gram.y:
5254         move tags and runaslist propagation to be earlier
5255         [94f7805f4489]
5256
5257         * visudo.c:
5258         If -f flag given use the permissions of the original file as a
5259         template
5260         [9303d22bddb0]
5261
5262         * gram.y:
5263         prevent a double free() when re-initing the parser
5264         [5b3907c4de5a]
5265
5266 2007-08-31  Todd C. Miller  <Todd.Miller@courtesan.com>
5267
5268         * configure:
5269         regen
5270         [49a90b19a17d]
5271
5272         * aclocal.m4, alias.c, alloc.c, auth/API, auth/afs.c, auth/bsdauth.c,
5273         auth/kerb4.c, auth/kerb5.c, auth/pam.c, auth/securid.c,
5274         auth/securid5.c, auth/sia.c, auth/sudo_auth.h, config.h.in,
5275         configure.in, env.c, ldap.c, list.c, list.h, memrchr.c, parse.c,
5276         parse.h, pwutil.c, redblack.c, redblack.h, snprintf.c, sudo.c,
5277         sudo.h, testsudoers.c, visudo.c, zero_bytes.c:
5278         Remove support for compilers that don't support void *
5279         [35e1d01ae197]
5280
5281         * gram.c:
5282         regen
5283         [70ce412a458a]
5284
5285         * Makefile.in, alias.c, defaults.c, gram.y, list.c, list.h, match.c,
5286         parse.c, parse.h, testsudoers.c, visudo.c:
5287         Move list manipulation macros to list.h and create C versions of the
5288         more complex ones in list.c. The names have been down-cased so they
5289         appear more like normal functions.
5290         [9cea0e281148]
5291
5292         * Makefile.in:
5293         Fix cmp command when regenerating parser. Make gram.o the first
5294         dependency for all programs so gram.h will be generated before
5295         anything that needs it.
5296         [429ea065abf1]
5297
5298         * gram.y, parse.h:
5299         Convert NEW_DEFAULT anf NEW_MEMBER into static functions.
5300         [2f3433833589]
5301
5302         * match.c, parse.c, testsudoers.c:
5303         Use LH_FOREACH_REV when checking permission and short-circuit on the
5304         first non-UNSPEC hit we get for the command. This means that
5305         instead of cycling through the all the parsed sudoers entries we
5306         start at the end and work backwards and quit after the first
5307         positive or negative match.
5308         [881474532f3e]
5309
5310         * gram.c:
5311         regen
5312         [9152a19d4188]
5313
5314         * defaults.c, gram.y, parse.c, parse.h, testsudoers.c, visudo.c:
5315         Change list head macros to take a pointer, not a struct.
5316         [054f1dcce4cc]
5317
5318         * gram.c:
5319         regen
5320         [be154aae6235]
5321
5322         * gram.y:
5323         Propagate the runasspec from one command to the next in a cmndspec.
5324         [4957b1cb03a3]
5325
5326 2007-08-30  Todd C. Miller  <Todd.Miller@courtesan.com>
5327
5328         * match.c:
5329         Replace has_meta() with a macro that calls strpbrk().
5330         [a2e58846a542]
5331
5332         * regen
5333         [5a932a5c9451]
5334
5335         * alias.c, defaults.c, gram.y, match.c, parse.c, parse.h,
5336         testsudoers.c, visudo.c:
5337         Use a list head struct when storing the semi-circular lists and
5338         convert to tail queues in the process. This will allow us to
5339         reverse foreach loops more easily and it makes it clearer which
5340         functions expect a list as opposed to a single member.
5341
5342         Add macros for manipulating lists. Some of these should become
5343         functions.
5344
5345         When freeing up a list, just pop off the last item in the queue
5346         instead of going from head to tail. This is simpler since we don't
5347         have to stash a pointer to the next member, we always just use the
5348         last one in the queue until the queue is empty.
5349
5350         Rename match functions that take a list to have list in the name.
5351         Break cmnd_matches() into cmnd_matches() and cmndlist_matches.
5352         [7c37b271607a]
5353
5354         * parse.c:
5355         Fix pasto, append "!" not negated (which is an int) for sudo -l
5356         output.
5357         [93a444c3997f]
5358
5359         * Makefile.in:
5360         Remove the dependency of gram .h on gram.y, the .c dependency is
5361         enough. Only move y.tab.h to gram.h if it is different; avoids
5362         needless rebuilding.
5363         [67bf4ea2a2e5]
5364
5365 2007-08-27  Todd C. Miller  <Todd.Miller@courtesan.com>
5366
5367         * sudoers.pod:
5368         Defaults lines may be associated with lists of users, hosts,
5369         commands and runas users, not just single entries.
5370         [795effacb6be]
5371
5372 2007-08-26  Todd C. Miller  <Todd.Miller@courtesan.com>
5373
5374         * Makefile.in:
5375         Revert the "cmp" portion of the last diff, it doesn't make sense.
5376         [26f34bf4e2e3]
5377
5378         * Makefile.in:
5379         Remove *.lo for clean: When generating the parser, only move the
5380         generated files into place if they differ from the existing ones.
5381         [84673fea371b]
5382
5383 2007-08-25  Todd C. Miller  <Todd.Miller@courtesan.com>
5384
5385         * toke.c, toke.l:
5386         Replace IPV6 regexp with a much simpler (readable) one and add an
5387         extra check when it matches to make sure we have a valid address.
5388         [592e9f690556]
5389
5390         * match.c:
5391         Fix thinko introduced when merging IPV6 support.
5392         [da38cd5eb8c7]
5393
5394 2007-08-24  Todd C. Miller  <Todd.Miller@courtesan.com>
5395
5396         * HISTORY, LICENSE:
5397         regen
5398         [0d7b27b90634]
5399
5400         * license.pod:
5401         add 2007
5402         [510e5048ae1a]
5403
5404         * UPGRADE:
5405         mention #uid vs. comment pitfall
5406         [4d2861898bcc]
5407
5408         * acsite.m4:
5409         Merge in a patch from the libtool cvs that fixes a problem with the
5410         latest autoconf. From Stepan Kasal.
5411         [0c279ae7df3e]
5412
5413         * parse.h:
5414         Back out he XOR swap trick, it is slower than a temp variable on
5415         modern CPUs.
5416         [91c4b024e317]
5417
5418         * gram.c:
5419         regen
5420         [cb6d4106fb74]
5421
5422         * gram.y, parse.h:
5423         Convert the tail queue to a semi-circle queue and use the XOR swap
5424         trick to swap the prev pointers during append.
5425         [8bf4d9fbee58]
5426
5427 2007-08-23  Todd C. Miller  <Todd.Miller@courtesan.com>
5428
5429         * parse.h:
5430         remove useless statement
5431         [421ec1dd73e6]
5432
5433         * toke.c, toke.l:
5434         Refactor #include parsing into a separate function and return
5435         unparsed chars (such as newline or comment) back to the lexer.
5436         [64166917aa3d]
5437
5438 2007-08-22  Todd C. Miller  <Todd.Miller@courtesan.com>
5439
5440         * WHATSNEW:
5441         mention better uid support
5442         [56f510e7f2ec]
5443
5444         * sudoers.pod:
5445         Users may now consist of a uid.
5446         [5fd31b2c55ed]
5447
5448         * gram.c, gram.h, toke.c:
5449         regen
5450         [599e58af6dc1]
5451
5452         * parse.c:
5453         Use lbuf_append_quoted() for sudo -l output to quote characters that
5454         would require quoting in sudoers.
5455         [3132d05c990a]
5456
5457         * lbuf.c, lbuf.h:
5458         Add lbuf_append_quoted() which takes a set of characters which
5459         should be quoted with a backslash when displayed.
5460         [ab09bebb1d65]
5461
5462         * toke.l:
5463         Require that the first character after a comment not be a digit or a
5464         dash. This allows us to remove the GOTRUNAS state and treat
5465         uid/gids similar to other words. It also means that we can now
5466         specify uids in User_Lists and a User_Spec may now contain a uid.
5467         [461fe01f8392]
5468
5469         * gram.y, toke.l:
5470         Replace RUNAS token with '(' and ')' tokens to make the runas
5471         portion of the grammar more natural.
5472         [e0c383b4684d]
5473
5474         * BUGS:
5475         The BUGS file is history
5476         [4d9a809585c7]
5477
5478         * Makefile.in, README:
5479         The BUGS file is history
5480         [d9500e261172]
5481
5482 2007-08-21  Todd C. Miller  <Todd.Miller@courtesan.com>
5483
5484         * toke.c, toke.l:
5485         Allow comments after a RunasAlias as long as the character after the
5486         pound sign isn't a digit or a dash.
5487         [d7f3bd94eeda]
5488
5489         * WHATSNEW:
5490         Glob support was back-ported to 1.6.9
5491         [d1d5cfd46228]
5492
5493 2007-08-20  Todd C. Miller  <Todd.Miller@courtesan.com>
5494
5495         * Makefile.in:
5496         remove sudo_usage.h in distclean
5497         [df05ce9c4127]
5498
5499         * parse.c:
5500         If a Defaults value contains a blank, double-quote the string.
5501         [9057a910daad]
5502
5503         * toke.c, toke.l:
5504         Properly deal with Defaults double-quoted strings that span multiple
5505         lines using the line continuation char. Previously, the entire
5506         thing, including the continuation char, newline, and spaces was
5507         stored as-is.
5508         [4a4e8eacefe6]
5509
5510         * sudo.c:
5511         Be consistent when using single quotes and backticks.
5512         [d010b83a0fa1]
5513
5514 2007-08-19  Todd C. Miller  <Todd.Miller@courtesan.com>
5515
5516         * Makefile.in, configure, configure.in, lbuf.c, lbuf.h, parse.c,
5517         sudo.c, sudo_usage.h.in:
5518         Add new linebuf code to do appends of dynamically allocated strings
5519         and word-wrapped output. Currently used for sudo's usage() and sudo
5520         -l output. Sudo usage strings are now in sudo_usage.h which is
5521         generated at configure time.
5522         [4dfd0ee8d961]
5523
5524 2007-08-18  Todd C. Miller  <Todd.Miller@courtesan.com>
5525
5526         * parse.c, sudo.c, sudo.h:
5527         Fix line wrapping in usage() and use the actual tty width instead of
5528         assuming 80.
5529         [700eab37c5a6]
5530
5531 2007-08-17  Todd C. Miller  <Todd.Miller@courtesan.com>
5532
5533         * history.pod:
5534         some more info
5535         [8140112a8ae1]
5536
5537         * history.pod:
5538         Mentioned Chris Jepeway's parser and also the new one that is in
5539         sudo 1.7.
5540         [2132d00f0597]
5541
5542 2007-08-16  Todd C. Miller  <Todd.Miller@courtesan.com>
5543
5544         * sudo.pod, visudo.pod:
5545         For the options list, add flag args where appropriate and increase
5546         the indent level so there is room for them.
5547         [2b60fb572e12]
5548
5549 2007-08-15  Todd C. Miller  <Todd.Miller@courtesan.com>
5550
5551         * parse.c:
5552         Fix some spacing in "sudo -l" and add a comment about some bogosity
5553         in the line wrapping.
5554         [b59b056f5ee2]
5555
5556         * sudo.cat, sudo.man.in, sudoers.cat, sudoers.man.in, visudo.cat,
5557         visudo.man.in:
5558         regen
5559         [5fb719f18ebc]
5560
5561         * INSTALL, Makefile.in, WHATSNEW, config.h.in, configure.in,
5562         def_data.c, def_data.h, def_data.in, gram.c, gram.h, gram.y,
5563         parse.c, parse.h, pathnames.h.in, sudo.c, sudo.h, sudoers.pod,
5564         testsudoers.c, toke.c, toke.l:
5565         Remove monitor support until there is a versino of systrace that
5566         uses a lookaside buffer (or we have a better mechanism to use).
5567         [61ff76878e4a]
5568
5569         * config.h.in, configure, configure.in, sudo.c:
5570         use getaddrinfo() instead of gethostbyname() if it is available
5571         [cc33c136aa6a]
5572
5573 2007-08-14  Todd C. Miller  <Todd.Miller@courtesan.com>
5574
5575         * parse.c, sudo.c:
5576         Deal with OSes where sizeof(gid_t) < sizeof(int).
5577         [130a89cbdfba]
5578
5579         * interfaces.c:
5580         repair non-getifaddrs() code after ipv6 integration
5581         [7ae7a89e2236]
5582
5583         * sudo.c:
5584         If we can open sudoers but fail to read the first byte, close the
5585         file stream before trying again.
5586         [6f31272fae7b]
5587
5588 2007-08-13  Todd C. Miller  <Todd.Miller@courtesan.com>
5589
5590         * toke.c:
5591         regen
5592         [4d7afe0aa6fa]
5593
5594         * gram.y, interfaces.c, interfaces.h, match.c, sudoers.pod, toke.l:
5595         Add IPv6 support; adapted from patches by YOSHIFUJI Hideaki
5596         [4e6ff2965a42]
5597
5598         * sudo.pod, sudoers.pod, visudo.pod:
5599         Add some missing markup Update copyright
5600         [7e6d3c686b5e]
5601
5602 2007-08-12  Todd C. Miller  <Todd.Miller@courtesan.com>
5603
5604         * configure, configure.in:
5605         fix sudo_noexec extension which got broken in the libtool update
5606         [3a5b447df861]
5607
5608 2007-08-10  Todd C. Miller  <Todd.Miller@courtesan.com>
5609
5610         * Makefile.in:
5611         explicitly specify -Tascii to nroff
5612         [45c8da4cbefe]
5613
5614 2007-08-08  Todd C. Miller  <Todd.Miller@courtesan.com>
5615
5616         * logging.c:
5617         remove an ANSI-ism that crept in
5618         [29086f87b2ca]
5619
5620 2007-08-07  Todd C. Miller  <Todd.Miller@courtesan.com>
5621
5622         * sudo.pod:
5623         Adjust list indents Prevent -- from being turned into an em dash Use
5624         a list for the environment instead of a literal paragraph
5625         [c3abcd8f76f4]
5626
5627         * visudo.pod:
5628         Use a list for the environment instead of an indented literal
5629         paragraph.
5630         [0ffcfcb7349f]
5631
5632         * sudoers.pod:
5633         Adjust list indentation
5634         [615c89e3123a]
5635
5636         * license.pod:
5637         add =head3
5638         [8b2e0d38c0bd]
5639
5640 2007-08-06  Todd C. Miller  <Todd.Miller@courtesan.com>
5641
5642         * sudo.pod:
5643         mention that when specifying a uid for the -u option the shell may
5644         require that the # be escaped
5645         [3e3a17bff150]
5646
5647 2007-08-02  Todd C. Miller  <Todd.Miller@courtesan.com>
5648
5649         * match.c:
5650         Fix off by one in group matching.
5651         [b529602b7fba]
5652
5653 2007-07-31  Todd C. Miller  <Todd.Miller@courtesan.com>
5654
5655         * env.c:
5656         Fix typo: PYTHONINSPEC should be PYTHONINSPECT. From David Krause.
5657         [ffbf8907c6e7]
5658
5659 2007-07-30  Todd C. Miller  <Todd.Miller@courtesan.com>
5660
5661         * configure, configure.in:
5662         Add missing define of HAVE_GSS_KRB5_CCACHE_NAME for the
5663         -lgssapi_krb5 case.
5664         [2b85a89c2252]
5665
5666         * aclocal.m4, configure, configure.in:
5667         Fix link tests such that new gcc doesn't optimize away the test.
5668         [83484ec95cba]
5669
5670 2007-07-29  Todd C. Miller  <Todd.Miller@courtesan.com>
5671
5672         * sudo.pod, sudoers.pod, visudo.pod:
5673         add missing over/back
5674         [251a12c89b91]
5675
5676         * sudo.pod, sudoers.pod, visudo.pod:
5677         Change FILES section to use =item
5678         [60b9efc3a0b2]
5679
5680         * env.c:
5681         Add back allocation of the env struct in rebuild_env but save a copy
5682         of the old pointer and free it before returning.
5683         [1100cd4fa997]
5684
5685         * env.c:
5686         Don't init the private environment in rebuild_env() since it may
5687         have already been done implicitly sudo_setenv/sudo_unsetenv.
5688
5689         Multiply length by sizeof(char *) in memcpy/memmove when copying the
5690         environment so we copy the full thing.
5691
5692         Add missing set of parens so we deref the right pointer in
5693         sudo_unsetenv when searching for a matching variable.
5694         [9086a8f756b1]
5695
5696 2007-07-26  Todd C. Miller  <Todd.Miller@courtesan.com>
5697
5698         * sudo.pod, sudoers.pod, visudo.pod:
5699         Use file markup for paths in the FILES section
5700         [940d99f731f2]
5701
5702         * sudo.pod, sudoers.pod, visudo.pod:
5703         Don't capitalize sudo/visudo
5704         [f067a455d44b]
5705
5706         * sudoers.pod:
5707         Sort sudoers options; based on a diff from Igor Sobrado.
5708         [a9b9befe85ac]
5709
5710 2007-07-25  Todd C. Miller  <Todd.Miller@courtesan.com>
5711
5712         * sudo.pod, sudoers.pod, visudo.pod:
5713         Use 8 and 5 instead of @mansectsu@ and @mansectform@ since the
5714         latter confuses pod2man. The Makefile rules for the .man.in file
5715         will add @mansectsu@ and @mansectform@ back in after pod2man is done
5716         anyway.
5717         [b50ea0db727c]
5718
5719 2007-07-22  Todd C. Miller  <Todd.Miller@courtesan.com>
5720
5721         * LICENSE, Makefile.in, license.pod:
5722         Move license info to pod format
5723         [25bdd82e592b]
5724
5725         * configure, configure.in, sudoers.pod:
5726         Substitute value of path_info into sudoers man page.
5727         [9ba661a82798]
5728
5729         * WHATSNEW:
5730         remove features that were back-ported to 1.6.9
5731         [e76d756cbe65]
5732
5733         * sudo.c, sudo.pod, visudo.c, visudo.pod:
5734         Sort SYNOPSIS and sync usage. From Igor Sobrado.
5735         [4970386c9e54]
5736
5737         * env.c:
5738         Only need sudo_setenv/sudo_unsetenv if we are going to use
5739         ldap_sasl_interactive_bind_s() but don't have
5740         gss_krb5_ccache_name().
5741         [f1a73d8b35c5]
5742
5743         * ChangeLog:
5744         rebuild without branch info
5745         [5d5a33494677]
5746
5747         * Makefile.in:
5748         Add ChangeLog target
5749         [a702034fdd89]
5750
5751         * auth/pam.c:
5752         Run cleanup code if the user hits ^C at the password prompt.
5753         [9cf87768e921]
5754
5755         * auth/pam.c:
5756         Some versions of pam_lastlog have a bug that will cause a crash if
5757         PAM_TTY is not set so if there is no tty, set PAM_TTY to the empty
5758         string.
5759         [5b63f6c88866]
5760
5761 2007-07-20  Todd C. Miller  <Todd.Miller@courtesan.com>
5762
5763         * Makefile.in:
5764         ChageLog not Changelog
5765         [1243d8473ceb]
5766
5767         * ChangeLog:
5768         sync
5769         [d887df98c6b0]
5770
5771         * Makefile.in:
5772         CHANGE -> Changelog
5773         [917738df30dd]
5774
5775         * TODO:
5776         sync
5777         [cd382f7d1948]
5778
5779 2007-07-19  Todd C. Miller  <Todd.Miller@courtesan.com>
5780
5781         * config.h.in, configure, configure.in, ldap.c:
5782         Add configure hooks for gss_krb5_ccache_name() and the gssapi
5783         headers.
5784         [139606209991]
5785
5786 2007-07-18  Todd C. Miller  <Todd.Miller@courtesan.com>
5787
5788         * env.c, sudo.c:
5789         rebuild_env() and insert_env_vars() no longer return environment
5790         pointer, they set environ directly.
5791
5792         No longer need to pass around an envp pointer since we just operate
5793         on environ now.
5794
5795         Add dosync argument to insert_env() that indicates whether it should
5796         reset environ when realloc()ing env.envp.
5797
5798         Use an initial size of 128 for the environment.
5799         [4735fd5fddb8]
5800
5801         * env.c:
5802         Split sudo_setenv() into an external version and a version only for
5803         use by rebuild_env().
5804         [fda7d655adb1]
5805
5806 2007-07-16  Todd C. Miller  <Todd.Miller@courtesan.com>
5807
5808         * ldap.c:
5809         Add support for using gss_krb5_ccache_name() instead of setting
5810         KRB5CCNAME. Also use sudo_unsetenv() in the non-
5811         gss_krb5_ccache_name() case if there was no KRB5CCNAME in the
5812         original environment. TODO: configure setup for
5813         gss_krb5_ccache_name()
5814         [fcafa5a49caf]
5815
5816         * README.LDAP:
5817         add krb5_ccname
5818         [fceb8f883886]
5819
5820         * README.LDAP, ldap.c:
5821         Add support for sasl_secprops in ldap.conf
5822         [1f06f4bf7347]
5823
5824         * env.c, sudo.h:
5825         Add sudo_unsetenv() and refactor private env syncing code into
5826         sync_env().
5827         [045ecb3fd22b]
5828
5829         * README.LDAP, ldap.c:
5830         The ldap.conf variable is sasl_auth_id not sasl_authid.
5831         [a5f98491311b]
5832
5833 2007-07-15  Todd C. Miller  <Todd.Miller@courtesan.com>
5834
5835         * ldap.c, sudo.c, sudo.h:
5836         Add support for krb5_ccname in ldap.conf. If specified, it will
5837         override the default value of KRB5CCNAME in the environment for the
5838         duration of the call to ldap_sasl_interactive_bind_s().
5839         [b08a10c3045b]
5840
5841         * env.c, sudo.h:
5842         Remove format_env() Add sudo_setenv() to replace most format_env() +
5843         insert_env() combinations. insert_env() no longer takes a struct
5844         environment *
5845         [131da52f43f3]
5846
5847         * ldap.c:
5848         Fix use_sasl vs. rootuse_sasl logic.
5849         [0c0417b6918c]
5850
5851         * README.LDAP, config.h.in, configure, configure.in, ldap.c:
5852         Add support for SASL auth when connecting to an LDAP server. Adapted
5853         from a diff by Tom McLaughlin.
5854         [a6285f1356ea]
5855
5856 2007-07-14  Todd C. Miller  <Todd.Miller@courtesan.com>
5857
5858         * configure, configure.in:
5859         Only enable AIX or BSD auth if no other exclusive auth method has
5860         been chosen. Allows people to e.g., use PAM on AIX without adding
5861         --without-aixauth. A better solution is needed to deal with default
5862         authentication since if a non-exclusive method is chosen we will
5863         still get an error.
5864         [83f7afdc0ec3]
5865
5866 2007-07-11  Todd C. Miller  <Todd.Miller@courtesan.com>
5867
5868         * HISTORY, Makefile.in, history.pod:
5869         Generate HISTORY from history.pod (which is also used for web pages)
5870         [60bcd5164931]
5871
5872 2007-07-09  Todd C. Miller  <Todd.Miller@courtesan.com>
5873
5874         * sudo.man.in, sudoers.man.in:
5875         regen
5876         [63956a366191]
5877
5878         * sudo.pod:
5879         Better explanation of environment handling in the sudo man page.
5880         [6c247742f7ee]
5881
5882         * env.c, sudo.c:
5883         Defer setting user-specified env vars until after authentication.
5884         [4750b79323ee]
5885
5886         * env.c:
5887         honor def_default_path for PATH set on the command line
5888         [6db31d9b6d65]
5889
5890         * env.c, sudo.c, sudo.pod, sudoers.pod:
5891         Allow user to set environment variables on the command line as long
5892         as they are allowed by env_keep and env_check. Ie: apply the same
5893         restrictions as normal environment variables. TODO: deal with
5894         secure_path
5895         [26c0da3840cf]
5896
5897 2007-07-08  Todd C. Miller  <Todd.Miller@courtesan.com>
5898
5899         * sudo.c, sudo_edit.c:
5900         Call rebuild_env() in call cases. Pass original envp to sudo_edit().
5901         Don't allow -E or env var setting in sudoedit mode. More accurate
5902         usage() when called as sudoedit.
5903         [a4af20658361]
5904
5905         * ldap.c:
5906         warn -> warning
5907         [d87d1192b048]
5908
5909         * sudo.pod:
5910         add -c option to sudoedit synopsis
5911         [15b596a7e2db]
5912
5913         * TODO:
5914         udpate to reality
5915         [e2f8fde89db1]
5916
5917         * parse.c:
5918         Use ALLOW/DENY instead of TRUE/FALSE when dealing with the return
5919         value from {user,host,runas,cmnd}_matches(). Rename *matches
5920         variables -> *match. Purely cosmetic.
5921         [e54a44c00a88]
5922
5923         * parse.c:
5924         Move setting of FLAG_NO_CHECK into the if(pwflag) block. No change
5925         in behavior.
5926         [c6272b4f2127]
5927
5928         * sudoers:
5929         add SETENV tag
5930         [3a3066bb6788]
5931
5932 2007-07-06  Todd C. Miller  <Todd.Miller@courtesan.com>
5933
5934         * parse.c:
5935         Make pwcheck local to the pwflag block. Use pwcheck even if user
5936         didn't match since Defaults options may still apply.
5937         [45da9efbbafd]
5938
5939         * check.c, sudo.c:
5940         Do not update timestamp if user not validated by sudoers.
5941         [a4a9d4364827]
5942
5943         * set_perms.c:
5944         for PERM_RUNAS, set the egid to the runas user's gid and restore to
5945         the user's original in PERM_ROOT
5946         [1514bfb32847]
5947
5948         * logging.c, mon_systrace.c, set_perms.c, sudo.h:
5949         PERM_FULL_ROOT is now no different than PERM_ROOT so remove
5950         PERM_FULL_ROOT
5951         [b9d047a3178c]
5952
5953         * check.c:
5954         don't check timestamp mtime if we are just going to remove it
5955         [5d2470bc6cbd]
5956
5957         * sudoers.pod:
5958         Move sudoers defaults parameters into their own section.
5959         [54701fbc0ff3]
5960
5961         * testsudoers.c:
5962         Reduce a level of indent by a few placed continue statements.
5963         [5d5a9838c8ef]
5964
5965         * parse.c:
5966         Make matching but negated commands/hosts/runas entries override a
5967         previous match as expected. Also reduce some levels of indent by a
5968         few placed continue statements.
5969         [dd59fa4b91a1]
5970
5971 2007-07-05  Todd C. Miller  <Todd.Miller@courtesan.com>
5972
5973         * parse.c:
5974         Print default runas in "sudo -l" if sudoers don't specify one.
5975         [07d408c400bd]
5976
5977         * match.c:
5978         Less hacky way of testing whether the domain was set.
5979         [a537059776e5]
5980
5981 2007-07-04  Todd C. Miller  <Todd.Miller@courtesan.com>
5982
5983         * INSTALL:
5984         Mention pam-devel and openldap-devel for Linux
5985         [9e708c54ecc3]
5986
5987 2007-07-03  Todd C. Miller  <Todd.Miller@courtesan.com>
5988
5989         * README.LDAP:
5990         or vs. are
5991         [abe8c0f3a410]
5992
5993 2007-07-01  Todd C. Miller  <Todd.Miller@courtesan.com>
5994
5995         * sudo.c:
5996         fix typo in Solaris project support
5997         [2ffeb2d80959]
5998
5999         * HISTORY:
6000         update
6001         [df162b36f120]
6002
6003         * sudo.c:
6004         Make -- on the command line match the manual page. The implied shell
6005         case has been simplified as a result.
6006         [cd217a1f6694]
6007
6008 2007-06-28  Todd C. Miller  <Todd.Miller@courtesan.com>
6009
6010         * sudoers2ldif:
6011         add simplistic support for sudoRunas; note that if a sudoers entry
6012         contains multiple Runas users, all will apply to the sudoRole
6013         [65b11421f5c8]
6014
6015         * sudoers2ldif:
6016         honor SETENV and NOSETENV tags
6017         [2c0d5ba7a09b]
6018
6019 2007-06-24  Todd C. Miller  <Todd.Miller@courtesan.com>
6020
6021         * mon_systrace.c:
6022         Redo setting of user_args. We now build up a private copy of argv
6023         first and then replace the NULs?with spaces.
6024         [ccbba72ea112]
6025
6026         * mon_systrace.c:
6027         getcwd() returns NULL on failure, not 0 on success
6028         [88cd9e66e530]
6029
6030         * mon_systrace.c:
6031         allow chunksiz to reach 1 before erroring out
6032         [619d68f14964]
6033
6034         * sudo.cat, sudo.man.in, sudoers.cat, sudoers.man.in, visudo.cat,
6035         visudo.man.in:
6036         regen
6037         [8db512d3caf0]
6038
6039 2007-06-23  Todd C. Miller  <Todd.Miller@courtesan.com>
6040
6041         * def_data.c, def_data.h, def_data.in, env.c, gram.c, gram.h, gram.y,
6042         logging.c, parse.c, parse.h, sudo.c, sudo.h, sudo.pod, sudoers.pod,
6043         toke.c, toke.l:
6044         Add support for setting environment variables on the command line.
6045         This is only allowed if the setenv sudoers options is enabled or if
6046         the command is prefixed with the SETENV tag.
6047         [5744caebd969]
6048
6049         * README.LDAP:
6050         replace Aaron's email address with the sudo-workers list
6051         [2ffce5f9afc0]
6052
6053         * configure:
6054         regen
6055         [8013dff82c0c]
6056
6057 2007-06-22  Todd C. Miller  <Todd.Miller@courtesan.com>
6058
6059         * schema.OpenLDAP, schema.iPlanet:
6060         Break schema out into separate files.
6061         [15e598e4c60b]
6062
6063         * Makefile.in, README.LDAP:
6064         Break schema out into separate files.
6065         [1a53966ca1fa]
6066
6067 2007-06-21  Todd C. Miller  <Todd.Miller@courtesan.com>
6068
6069         * auth/aix_auth.c:
6070         free message if set by authenticate()
6071         [849c220c1236]
6072
6073         * match.c:
6074         deal with NULL gr_mem
6075         [49e4d74f0bbe]
6076
6077 2007-06-20  Todd C. Miller  <Todd.Miller@courtesan.com>
6078
6079         * config.h.in:
6080         regen
6081         [fead999ad3e9]
6082
6083         * configure.in:
6084         add template for HAVE_PROJECT_H
6085         [e6c42c2eaad1]
6086
6087         * closefrom.c:
6088         include fcntl.h
6089         [54d98b382f03]
6090
6091 2007-06-19  Todd C. Miller  <Todd.Miller@courtesan.com>
6092
6093         * INSTALL:
6094         mention --with-project
6095         [d3ea3baad7c5]
6096
6097         * config.h.in, configure.in, sudo.c:
6098         Add Solaris 10 "project" support. From Michael Brantley.
6099         [f14f3c8c6554]
6100
6101         * sudoers.pod:
6102         fix typo
6103         [50db81a19787]
6104
6105         * configure:
6106         regen
6107         [ea71afd3e564]
6108
6109         * configure.in:
6110         Fix preservation of LDFLAGS in the LDAP case.
6111         [40a3a47e8059]
6112
6113         * memrchr.c:
6114         Remove dependecy on NULL
6115         [c957ae5e1733]
6116
6117         * configure:
6118         regen
6119         [4955ce0c6912]
6120
6121         * aclocal.m4, configure.in:
6122         Can't use the regular autoconf fnmatch() check since we need
6123         FNM_CASEFOLD so go back to our custom one.
6124         [f10d76237486]
6125
6126         * env.c:
6127         Fix preserving of variables in env_keep.
6128         [d040049d6b84]
6129
6130         * env.c:
6131         add XAUTHORIZATION
6132         [0d589a5fe015]
6133
6134         * UPGRADE:
6135         expand upon env resetting and mention that it began in 1.6.9 not
6136         1.7.
6137         [dba251655c76]
6138
6139         * sudoers.pod:
6140         Update descriptions of env_keep and env_check to match current
6141         reality.
6142         [dba77357954b]
6143
6144 2007-06-18  Todd C. Miller  <Todd.Miller@courtesan.com>
6145
6146         * env.c:
6147         Add LINGUAS to initial_checkenv_table. Add COLORS, HOSTNAME,
6148         LS_COLORS, MAIL, PS1, PS2, XAUTHORITY to intial_keepenv_table.
6149         [eec4632bd190]
6150
6151         * env.c, logging.c:
6152         Treat USERNAME environemnt variable like LOGNAME/USER
6153         [09f52dcfd70c]
6154
6155         * env.c:
6156         Don't need to populate keepenv table with the contents of the
6157         checkenv table.
6158         [527a14afd973]
6159
6160         * sudo.c:
6161         Don't force sudo into the C locale.
6162         [8a5bd301ef96]
6163
6164         * env.c:
6165         Make env_check apply when env_reset it true. Environment variables
6166         are passed through unless they contain '/' or '%'. There is no need
6167         to have a variable in both env_check and env_keep.
6168         [840c802721e4]
6169
6170 2007-06-16  Todd C. Miller  <Todd.Miller@courtesan.com>
6171
6172         * visudo.c:
6173         Remove an duplicate lock_file() call and add a comment.
6174         [5af9dcdf0eb6]
6175
6176         * UPGRADE:
6177         Add sudo 1.6.9 upgrade note.
6178         [1585149f2914]
6179
6180 2007-06-14  Todd C. Miller  <Todd.Miller@courtesan.com>
6181
6182         * interfaces.c:
6183         Solaris will return EINVAL if the buffer used in SIOCGIFCONF is too
6184         small. From Klaus Wagner.
6185         [d6899fc44f77]
6186
6187         * logging.c, sudo.h:
6188         Redo the long syslog line splitting based on a patch from Eygene
6189         Ryabinkin. Include memrchr() for systems without it.
6190         [66a50e8d553a]
6191
6192         * memrchr.c:
6193         Redo the long syslog line splitting based on a patch from Eygene
6194         Ryabinkin. Include memrchr() for systems without it.
6195         [2f6702b7d41b]
6196
6197         * Makefile.in, config.h.in, configure, configure.in:
6198         Redo the long syslog line splitting based on a patch from Eygene
6199         Ryabinkin. Include memrchr() for systems without it.
6200         [407a46190921]
6201
6202         * configure.in:
6203         Since we need to be able to convert timespec to timeval for utimes()
6204         the last 3 digits in the tv_nsec are not significant. This makes the
6205         sudoedit file date comparison work again.
6206         [9d0258849fa9]
6207
6208 2007-06-13  Todd C. Miller  <Todd.Miller@courtesan.com>
6209
6210         * aclocal.m4, configure, configure.in:
6211         Add SUDO_ADD_AUTH macro to deal with adding things to AUTH_OBJS.
6212         This deals with exclusive authentication methods in a simple way.
6213         [7d70072c0f35]
6214
6215 2007-06-12  Todd C. Miller  <Todd.Miller@courtesan.com>
6216
6217         * LICENSE:
6218         mkstemp.c is BSD code too.
6219         [29e236d98162]
6220
6221         * sudo.pod, sudoers.pod, visudo.pod:
6222         No commercial support for now.
6223         [7c76b3e192dd]
6224
6225 2007-06-11  Todd C. Miller  <Todd.Miller@courtesan.com>
6226
6227         * sudo.c:
6228         cleanenv() is no more.
6229         [518080514408]
6230
6231 2007-06-10  Todd C. Miller  <Todd.Miller@courtesan.com>
6232
6233         * ChangeLog:
6234         Display branch info in Changelog
6235         [44e3b27427c7]
6236
6237         * utimes.c:
6238         Include config.h early so we have it for TIME_WITH_SYS_TIME
6239         [4bf1a00d0703]
6240
6241         * ChangeLog:
6242         Fix Changelog generation and update.
6243         [6e960dbcbece]
6244
6245 2007-06-09  Todd C. Miller  <Todd.Miller@courtesan.com>
6246
6247         * closefrom.c:
6248         Use /proc/self/fd instead of /proc/$$/fd
6249
6250         Move old-style fd closing into closefrom_fallback() and call that if
6251         /proc/self/fd doesn't exist or the F_CLOSEM fcntl() fails
6252         [faa7e4810758]
6253
6254         * auth/kerb5.c, config.h.in, configure.in:
6255         o use krb5_verify_user() if available instead of doing it by hand o
6256         use krb5_init_secure_context() if we have it o pass an encryption
6257         type of 0 to krb5_kt_read_service_key() instead of
6258         ENCTYPE_DES_CBC_MD5 to let kerberos choose.
6259         [df7acf72bd7c]
6260
6261         * env.c:
6262         Check TERM and COLORTERM for '%' and '/' characters. From Debian.
6263         [f92d05197e40]
6264
6265         * configure.in:
6266         Fix closefrom() substitution in the Makefile
6267         [b642b13fcc5c]
6268
6269         * TROUBLESHOOTING:
6270         Mention alternate sudo pronunciation.
6271         [7c71dc73409f]
6272
6273 2007-06-07  Todd C. Miller  <Todd.Miller@courtesan.com>
6274
6275         * env.c:
6276         Remove KRB5_KTNAME from environment. Allow COLORTERM.
6277         [70f35a79f780]
6278
6279         * auth/kerb5.c:
6280         If we cannot get a valid service key using the default keytab it is
6281         a fatal error. Fixes a bug where sudo could be tricked into
6282         allowing access when it should not by a fake KDC. From Thor Lancelot
6283         Simon.
6284         [a3ae6a47cb23]
6285
6286 2007-05-12  Todd C. Miller  <Todd.Miller@courtesan.com>
6287
6288         * aclocal.m4, configure, configure.in:
6289         Update long long checks to use AC_CHECK_TYPES and to cache values.
6290         [047318eaaeb2]
6291
6292         * aclocal.m4, configure.in:
6293         Use AC_FUNC_FNMATCH instead of a homebrew fnmatch checker. We can't
6294         use AC_REPLACE_FNMATCH since that assumes replacing with GNU
6295         fnmatch.
6296         [80513a1003ea]
6297
6298 2007-05-11  Todd C. Miller  <Todd.Miller@courtesan.com>
6299
6300         * configure, configure.in:
6301         Add closefrom() to LIB_OBJS not SUDO_OBJS if it is missing since we
6302         need it for visudo now too.
6303         [50837c7c2b5e]
6304
6305 2007-04-24  Todd C. Miller  <Todd.Miller@courtesan.com>
6306
6307         * sudoers.pod:
6308         Attempt to clarify the bit talking about network numbers w/o
6309         netmasks.
6310         [211e68c1d034]
6311
6312         * sudo.pod:
6313         Clarify timestamp dir ownership sentence.
6314         [9178f132c7f7]
6315
6316 2007-04-20  Todd C. Miller  <Todd.Miller@courtesan.com>
6317
6318         * auth/pam.c:
6319         Linux PAM now defines __LINUX_PAM__, not __LIBPAM_VERSION. From
6320         Dmitry V. Levin.
6321         [81fce91667bc]
6322
6323 2007-04-16  Todd C. Miller  <Todd.Miller@courtesan.com>
6324
6325         * sudo.c:
6326         -i is also one of the mutually exclusive options to list it in the
6327         warning message. Noted by Chris Pepper.
6328         [7da73fb248e9]
6329
6330 2007-04-12  Todd C. Miller  <Todd.Miller@courtesan.com>
6331
6332         * visudo.pod:
6333         The sudoers variable is env_editor, not enveditor. From Jean-
6334         Francois Saucier.
6335         [2a86ec09a6db]
6336
6337 2007-03-29  Todd C. Miller  <Todd.Miller@courtesan.com>
6338
6339         * redblack.c:
6340         I tracked down the original author so credit him and include his
6341         license info.
6342         [3733553a1bba]
6343
6344 2007-02-06  Todd C. Miller  <Todd.Miller@courtesan.com>
6345
6346         * sudo.cat, sudo.man.in, sudo.pod, sudoers.cat, sudoers.man.in,
6347         sudoers.pod:
6348         Fix typos; from Jason McIntyre.
6349         [1ee4ce2512f2]
6350
6351         * logging.c:
6352         Restore signal mask before calling reapchild(). Fixes a possible
6353         race condition that could prevent sudo from properly waiting for the
6354         child.
6355         [9ee4192385dc]
6356
6357 2007-01-31  Todd C. Miller  <Todd.Miller@courtesan.com>
6358
6359         * pwutil.c:
6360         Don't declare pw_free() if we are not going to use it.
6361         [adb79a4289ca]
6362
6363         * env.c:
6364         Add NOEXEC support for AIX 5.3 which supports LDR_PRELOAD and
6365         LDR_PRELOAD64. The 64-bit version is not currently supported.
6366         Remove zero_env() prototype as it no longer exists.
6367         [b4fe65027fb6]
6368
6369 2006-12-11  Todd C. Miller  <Todd.Miller@courtesan.com>
6370
6371         * logging.c:
6372         Add "Auto-Submitted: auto-generated" line to sudo mail for rfc 3834.
6373         [78002ad90f7b]
6374
6375 2006-09-29  Todd C. Miller  <Todd.Miller@courtesan.com>
6376
6377         * auth/pam.c:
6378         If the user enters ^C at the password prompt, abort instead of
6379         trying to authenticate with an empty password (which causes an
6380         annoying delay).
6381         [da3f27b747c7]
6382
6383 2006-08-17  Todd C. Miller  <Todd.Miller@courtesan.com>
6384
6385         * closefrom.c, config.h.in, configure, configure.in:
6386         Add fcntl F_CLOSEM support to closefrom(); adapted from a diff by
6387         Darren Tucker.
6388         [0331b7780759]
6389
6390         * pwutil.c:
6391         pw_free() is only used by sudo_freepwcache() so ifdef it out too.
6392         [0014c0d9eeba]
6393
6394 2006-08-04  Todd C. Miller  <Todd.Miller@courtesan.com>
6395
6396         * config.guess, config.sub:
6397         Update to latest versions from cvs.savannah.gnu.org
6398         [aa0143101c20]
6399
6400 2006-07-31  Todd C. Miller  <Todd.Miller@courtesan.com>
6401
6402         * pwutil.c, sudo_edit.c:
6403         Move password/group cache cleaning out of sudo_end{pw,grp}ent() so
6404         we can close the passwd/group files early.
6405         [559074bd7eb7]
6406
6407         * config.h.in, configure, configure.in, set_perms.c:
6408         Add seteuid() flavor of set_perms() for systems without setreuid()
6409         or setresuid() that have a working seteuid(). Tested on Darwin.
6410         [508d8da99189]
6411
6412 2006-07-30  Todd C. Miller  <Todd.Miller@courtesan.com>
6413
6414         * mon_systrace.c:
6415         systrace_read() returns ssize_t
6416         [9f97d1d1a59d]
6417
6418         * configure, configure.in:
6419         Fix typo, -lldap vs. -ldap; from Tim Knox.
6420         [a8cc43c3bb2a]
6421
6422 2006-07-28  Todd C. Miller  <Todd.Miller@courtesan.com>
6423
6424         * HISTORY:
6425         Fix typo; Matt Ackeret
6426         [86964ee3dfbd]
6427
6428 2006-07-17  Todd C. Miller  <Todd.Miller@courtesan.com>
6429
6430         * sudo.c:
6431         Print sudoers path in -V mode for root.
6432         [dc43f2d75bd9]
6433
6434 2006-06-15  Todd C. Miller  <Todd.Miller@courtesan.com>
6435
6436         * ldap.c:
6437         Do a sub tree search instead of a base search (one level in the tree
6438         only) for sudo right objects. This allows system administrators to
6439         categorize the rights in a tree to make them easier to manage.
6440         [6d2d9abf996e]
6441
6442 2005-12-28  Todd C. Miller  <Todd.Miller@courtesan.com>
6443
6444         * sudo.pod:
6445         fix typo
6446         [1473413bcbda]
6447
6448 2005-12-04  Todd C. Miller  <Todd.Miller@courtesan.com>
6449
6450         * ldap.c:
6451         Convert GET_OPT and GET_OPTI to use just 2 args. Add timelimit and
6452         bind_timelimit support; adapted from gentoo.
6453         [afc816093026]
6454
6455 2005-11-23  Todd C. Miller  <Todd.Miller@courtesan.com>
6456
6457         * ldap.c:
6458         Support comments that start in the middle of a line
6459         [c25df6ee3db8]
6460
6461         * configure, configure.in:
6462         Define LDAP_DEPRECATED until we start using ldap_get_values_len()
6463         [ee249bfe230a]
6464
6465 2005-11-18  Todd C. Miller  <Todd.Miller@courtesan.com>
6466
6467         * closefrom.c:
6468         Silence gcc -Wsign-compare; djm@openbsd.org
6469         [28769ce6418d]
6470
6471         * error.c, sudo.c, sudo.h, testsudoers.c, visudo.c:
6472         cleanup() now takes an int as an arg so it can be used as a signal
6473         handler too.
6474         [2bb0df34d09c]
6475
6476         * sudo.c:
6477         Make a copy of the shell field in the passwd struct for NewArgv to
6478         avoid a use after free situation after sudo_endpwent() is called.
6479         [5dcc9ffd362e]
6480
6481 2005-11-17  Todd C. Miller  <Todd.Miller@courtesan.com>
6482
6483         * config.h.in, configure, configure.in:
6484         Add mkstemp() for those poor souls without it.
6485         [5fdd02e863e0]
6486
6487         * mkstemp.c:
6488         Add mkstemp() for those poor souls without it.
6489         [c99401207860]
6490
6491         * Makefile.in:
6492         Add mkstemp() for those poor souls without it.
6493         [9c1cf2678f24]
6494
6495 2005-11-15  Todd C. Miller  <Todd.Miller@courtesan.com>
6496
6497         * env.c:
6498         Add PERL5DB to list of environment variables to remove.
6499         [7375c27ecf75]
6500
6501 2005-11-13  Todd C. Miller  <Todd.Miller@courtesan.com>
6502
6503         * mon_systrace.c, mon_systrace.h:
6504         Instead of calling the check function twice with a state cookie use
6505         separate check/log functions.
6506
6507         Check more ioctl() calls for failure.
6508
6509         systrace_{read,write} now return the number of bytes read/written or
6510         -1 on error.
6511         [3dc8946d90e9]
6512
6513         * env.c:
6514         Add more environment variables to remove; from gentoo linux Add some
6515         comments about what bad env variables go to what (more to do)
6516         [6918110a6b82]
6517
6518 2005-11-11  Todd C. Miller  <Todd.Miller@courtesan.com>
6519
6520         * sudo.c, sudo_edit.c:
6521         Move sudo_end{gr,pw}ent() until just before the exec since they free
6522         up our cached copy of the passwd structs, including sudo_user and
6523         sudo_runas. Fixes a use-after-free bug.
6524         [54de3778bad0]
6525
6526         * visudo.c:
6527         Close all fd's before executing editor.
6528         [4fcc05e1bec8]
6529
6530         * sudo.c:
6531         Enable malloc debugging on OpenBSD when SUDO_DEVEL is set.
6532         [ef0e8ffa5c9f]
6533
6534         * check.c:
6535         Fix fd leak when lecture file option is enabled. From Jerry Brown
6536         [ce97f9207cd8]
6537
6538 2005-11-07  Todd C. Miller  <Todd.Miller@courtesan.com>
6539
6540         * env.c:
6541         Add PERLLIB, PERL5LIB and PERL5OPT to the default list of
6542         environment variables to remove. From Charles Morris
6543         [c96e1367d1c1]
6544
6545 2005-11-01  Todd C. Miller  <Todd.Miller@courtesan.com>
6546
6547         * env.c:
6548         add JAVA_TOOL_OPTIONS to initial_badenv_table for java 5
6549         [72a6a1571226]
6550
6551 2005-10-28  Todd C. Miller  <Todd.Miller@courtesan.com>
6552
6553         * env.c:
6554         add PS4 and SHELLOPTS to initial_badenv_table for bash
6555         [89dfb3f318f3]
6556
6557 2005-08-15  Todd C. Miller  <Todd.Miller@courtesan.com>
6558
6559         * sudoers.pod:
6560         Fix typo; Toby Peterson
6561         [b7a3222b23f4]
6562
6563 2005-08-02  Todd C. Miller  <Todd.Miller@courtesan.com>
6564
6565         * tsgetgrpw.c:
6566         Make return buffers static so they don't get clobbered
6567         [13323a39b9f5]
6568
6569 2005-07-28  Todd C. Miller  <Todd.Miller@courtesan.com>
6570
6571         * auth/securid5.c:
6572         Fix securid5 authentication, was not checking for ACM_OK. Also add
6573         default cases for the two switch()es. Problem noted by ccon at
6574         worldbank
6575         [14091e418333]
6576
6577 2005-06-27  Todd C. Miller  <Todd.Miller@courtesan.com>
6578
6579         * ldap.c:
6580         Remove ncat() in favor of just counting bytes and pre-allocating
6581         what is needed.
6582         [25b8712adb61]
6583
6584 2005-06-26  Todd C. Miller  <Todd.Miller@courtesan.com>
6585
6586         * ldap.c:
6587         Fix up some comments Add missing fclose() for the rootbinddn case
6588         [ae95c8a89711]
6589
6590         * ldap.c:
6591         align struct ldap_config
6592         [35d0d64c76f8]
6593
6594         * ldap.c:
6595         use LINE_MAX for max conf file line size
6596         [da116cb8853d]
6597
6598         * pathnames.h.in:
6599         add _PATH_LDAP_SECRET
6600         [128b04ecfab7]
6601
6602         * README.LDAP:
6603         Mention rootbinddn Give example ou=SUDOers container
6604         [852edc69bd1c]
6605
6606 2005-06-25  Todd C. Miller  <Todd.Miller@courtesan.com>
6607
6608         * INSTALL, configure, configure.in, ldap.c:
6609         Support rootbinddn in ldap.conf
6610         [1615c91522a1]
6611
6612         * env.c, sudo.pod, sudoers.pod:
6613         Preserve DISPLAY environment variable by default.
6614         [05f503d5f438]
6615
6616         * acsite.m4, configure:
6617         set need_lib_prefix=no for all cases; this is safe for LD_PRELOAD
6618         [18a04dea8d05]
6619
6620         * acsite.m4, configure:
6621         set need_version=no for all cases; this is safe for LD_PRELOAD
6622         [b542560e1a73]
6623
6624         * aclocal.m4:
6625         typo
6626         [c040df0fcd5a]
6627
6628         * configure, configure.in:
6629         Add dragonfly
6630         [f13794618636]
6631
6632         * auth/pam.c:
6633         Fix call to pam_end() when pam_open_session() fails.
6634         [0be47cdfdef1]
6635
6636         * configure:
6637         regen
6638         [7f5c13b4b800]
6639
6640         * acsite.m4:
6641         rebuild acsite.m4 from libtool 1.9f libtool.m4 ltoptions.m4
6642         ltsugar.m4 ltversion.m4
6643         [a7ba9fd1a2ab]
6644
6645         * config.guess, config.sub, ltmain.sh:
6646         merge in local changes: config.guess: o better openbsd support
6647         config.sub: o hiuxmpp support ltmain.sh o remove requirement that
6648         libs must begin with "lib" o don't print a bunch of crap about
6649         library installs o don't run ldconfig
6650         [f4149f2c720f]
6651
6652         * config.guess, config.sub, ltmain.sh:
6653         libtool 1.9f
6654         [82a534e7121f]
6655
6656         * configure.in:
6657         Update with autoupdate and make minor changes for libtool 1.9f
6658         [11b5ae5c1428]
6659
6660 2005-06-23  Todd C. Miller  <Todd.Miller@courtesan.com>
6661
6662         * parse.c:
6663         don't call sudo_ldap_display_cmnd if ldap not setup
6664         [8bcf6c094ffe]
6665
6666         * sudo_edit.c, visudo.c:
6667         Move declatation of struct timespec to its own include files for
6668         systems without it since it needs time_t defined.
6669         [b95c333299a0]
6670
6671         * gettime.c:
6672         Move declatation of struct timespec to its own include files for
6673         systems without it since it needs time_t defined.
6674         [021b4569cc0c]
6675
6676         * fileops.c:
6677         Move declatation of struct timespec to its own include files for
6678         systems without it since it needs time_t defined.
6679         [dd8573b2ee7d]
6680
6681         * emul/timespec.h:
6682         Move declatation of struct timespec to its own include files for
6683         systems without it since it needs time_t defined.
6684         [f95137771564]
6685
6686         * check.c, compat.h:
6687         Move declatation of struct timespec to its own include files for
6688         systems without it since it needs time_t defined.
6689         [2ef2ace8fe85]
6690
6691         * ldap.c:
6692         Don't set safe_cmnd for the "sudo ALL" case.
6693         [ad7fa9e07da0]
6694
6695 2005-05-27  Todd C. Miller  <Todd.Miller@courtesan.com>
6696
6697         * auth/pam.c:
6698         Call pam_open_session() and pam_close_session() to give pam_limits a
6699         chance to run. Idea from Karel Zak.
6700         [fed46d471350]
6701
6702 2005-04-24  Todd C. Miller  <Todd.Miller@courtesan.com>
6703
6704         * check.c, sudo.c:
6705         Add explicit cast from mode_t -> u_int in printf to silence warnings
6706         on Solaris
6707         [17bb961fe22d]
6708
6709         * parse.c:
6710         include grp.h to silence a warning on Solaris
6711         [14386fbab640]
6712
6713 2005-04-23  Todd C. Miller  <Todd.Miller@courtesan.com>
6714
6715         * parse.c:
6716         Fix printing of += and -= defaults.
6717         [a667604c56cd]
6718
6719 2005-04-17  Todd C. Miller  <Todd.Miller@courtesan.com>
6720
6721         * mon_systrace.c:
6722         Sanity check number of syscall args with argsize. Not really needed
6723         but a little paranoia never hurts.
6724         [6bb455a2c2d6]
6725
6726         * mon_systrace.c, mon_systrace.h:
6727         Don't do pointer arithmetic on void * Use int, not size_t/ssize_t
6728         for systrace lengths (since it uses int)
6729         [3cafccffcffd]
6730
6731 2005-04-16  Todd C. Miller  <Todd.Miller@courtesan.com>
6732
6733         * mon_systrace.c:
6734         Add some memsets for paranoia Fix namespace collsion w/ error Check
6735         rval of decode_args() and update_env() Remove improper setting of
6736         validated variable
6737         [3d385158354d]
6738
6739 2005-04-12  Todd C. Miller  <Todd.Miller@courtesan.com>
6740
6741         * parse.c, sudo.c, sudo.h:
6742         In -l mode, only check local sudoers file if def_ignore_sudoers is
6743         not set and call LDAP versions from display_privs() and
6744         display_cmnd() instead of directly from main(). Because of this we
6745         need to defer closing the ldap connection until after -l processing
6746         has ocurred and we must pass in the ldap pointer to display_privs()
6747         and display_cmnd().
6748         [1dfc2e8c9f2b]
6749
6750         * ldap.c:
6751         Reorganize LDAP code to better match normal sudoers parsing.
6752         Instead of storing strings for later printing in -l mode we do
6753         another query since the authenticating user and the user being
6754         listed may not be the same (the new -U flag). Also add support for
6755         "sudo -l command".
6756
6757         There is still a fair bit if duplicated code that can probably be
6758         refactored.
6759         [e9568f19bde5]
6760
6761 2005-04-11  Todd C. Miller  <Todd.Miller@courtesan.com>
6762
6763         * ldap.c:
6764         Replace pass variable with do_netgr for better readability.
6765         [1bba841b6e79]
6766
6767         * ldap.c:
6768         use DPRINTF macro
6769         [02b159b66bb5]
6770
6771         * ldap.c:
6772         estrdup, not strdup
6773         [22cdee7973c1]
6774
6775 2005-04-10  Todd C. Miller  <Todd.Miller@courtesan.com>
6776
6777         * parse.c:
6778         Add macro to test if the tag changed to improve readability.
6779         [4e11b4819556]
6780
6781         * parse.c:
6782         Avoid printing defaults header if there are no defaults to print...
6783         [41a28627df03]
6784
6785         * glob.c:
6786         Fix a warning on systems without strlcpy().
6787         [6814e0f0e4f4]
6788
6789         * pwutil.c:
6790         Use macros where possible for sudo_grdup() like sudo_pwdup().
6791         [30f201ff35cd]
6792
6793 2005-04-08  Todd C. Miller  <Todd.Miller@courtesan.com>
6794
6795         * utimes.c:
6796         It is possible for tv_usec to hold >= 1000000 usecs so add in
6797         tv_usec / 1000000.
6798         [794ac4d53a65]
6799
6800 2005-03-30  Todd C. Miller  <Todd.Miller@courtesan.com>
6801
6802         * auth/kerb5.c:
6803         The component in krb5_principal_get_comp_string() should be 1, not 0
6804         for Heimdal. From Alex Plotnick.
6805         [fefa351c5044]
6806
6807 2005-03-29  Todd C. Miller  <Todd.Miller@courtesan.com>
6808
6809         * alias.c, alloc.c, check.c, defaults.c, find_path.c, gram.c, gram.y,
6810         interfaces.c, ldap.c, logging.c, match.c, mon_systrace.c, pwutil.c,
6811         redblack.c, sudo.c, sudo.h, toke.c, toke.l, visudo.c:
6812         Add efree() for consistency with emalloc() et al. Allows us to rely
6813         on C89 behavior (free(NULL) is valid) even on K&R.
6814         [7876bb80d87c]
6815
6816         * parse.c, sudo.c:
6817         Move initgroups() for -U option into display_privs() so group
6818         matching in sudoers works correctly.
6819         [b074428ad2ca]
6820
6821 2005-03-27  Todd C. Miller  <Todd.Miller@courtesan.com>
6822
6823         * ldap.c:
6824         Removed duplicate call to ldap_unbind_s introduced along with
6825         sudo_ldap_close.
6826         [19acc1c20f7c]
6827
6828         * parse.c:
6829         Add missing space in Defaults printing
6830         [95d2935bf6d4]
6831
6832 2005-03-25  Todd C. Miller  <Todd.Miller@courtesan.com>
6833
6834         * pwutil.c:
6835         Sync sudo_pwdup with OpenBSD changes: use macros for size computaton
6836         and string copies.
6837         [6b6b241495e5]
6838
6839 2005-03-19  Todd C. Miller  <Todd.Miller@courtesan.com>
6840
6841         * pwutil.c:
6842         Zero old pw_passwd before replacing with version from shadow file.
6843         [3251b349dfe1]
6844
6845         * configure, configure.in:
6846         Only attempt shadow password detection if PAM is not being used Add
6847         shadow_* variables to make shadow password detection more generic.
6848         [d498a3423ac9]
6849
6850         * configure.in:
6851         Use OSDEFS for os-specific -D_FOO_BAR stuff rather than CPPFLAGS
6852         [04d55bbd5e35]
6853
6854 2005-03-13  Todd C. Miller  <Todd.Miller@courtesan.com>
6855
6856         * sudoers.pod:
6857         use a non-breaking space to avoid a double space after e.g.
6858         [11cdb54bdf7b]
6859
6860         * sudo.pod:
6861         commna, not colon after e.g.
6862         [8d5875ff72e0]
6863
6864 2005-03-12  Todd C. Miller  <Todd.Miller@courtesan.com>
6865
6866         * sudo_noexec.c:
6867         Add __ variants of the exec functions. GNU libc at least uses
6868         __execve() internally.
6869         [d1880473d790]
6870
6871         * indent.pro:
6872         Match reality a bit more.
6873         [633e3fa875a7]
6874
6875         * pwutil.c:
6876         Missed piece from rev. 1.6, fix sudo_getpwnam() too.
6877         [128f7b21c2ee]
6878
6879         * pwutil.c:
6880         Store shadow password after making a local copy of struct passwd in
6881         case normal and shadow routines use the same internal buffer in
6882         libc.
6883         [f806052a6ffc]
6884
6885 2005-03-11  Todd C. Miller  <Todd.Miller@courtesan.com>
6886
6887         * alloc.c, logging.c:
6888         Make varargs usage consistent with the rest of the code.
6889         [3d45affc9851]
6890
6891 2005-03-10  Todd C. Miller  <Todd.Miller@courtesan.com>
6892
6893         * sudo_noexec.c:
6894         Wrap more of the exec family since on Linux the others do not appear
6895         to go through the normal execve() path.
6896         [8167769b4e19]
6897
6898         * visudo.c:
6899         make print_unused static like proto says
6900         [ecf10e1bae55]
6901
6902         * glob.c:
6903         silence a warning on K&R systems
6904         [2e00425f1a5c]
6905
6906         * alias.c, error.c:
6907         make this build in K&R land
6908         [156f65f8525a]
6909
6910         * parse.c:
6911         make this build in K&R land
6912         [6fc9276889cb]
6913
6914 2005-03-08  Todd C. Miller  <Todd.Miller@courtesan.com>
6915
6916         * toke.c:
6917         regen
6918         [3b349748cd21]
6919
6920 2005-03-06  Todd C. Miller  <Todd.Miller@courtesan.com>
6921
6922         * ldap.c:
6923         return(foo) not return foo optimize _atobool() slightly
6924         [11d09d154ed5]
6925
6926         * ldap.c:
6927         Use TRUE/FALSE
6928         [53999320d98f]
6929
6930         * ldap.c:
6931         Reformat to match the rest of sudo's code.
6932         [1bd0f2afa0e7]
6933
6934         * sudo.pod:
6935         I am the primary author
6936         [5d311ecd85c6]
6937
6938 2005-02-23  Todd C. Miller  <Todd.Miller@courtesan.com>
6939
6940         * Makefile.in, README, RUNSON:
6941         The RUNSON file is toast--it confused too many people and really
6942         isn't needed in a configure-oriented world.
6943         [96a6ef7bbc08]
6944
6945         * INSTALL:
6946         alternate -> alternative
6947         [b65015c5d0a2]
6948
6949         * tgetpass.c:
6950         Use TCSADRAIN instead of TCSAFLUSH since some OSes have issues with
6951         TCSAFLUSH.
6952         [c66b4763ffdc]
6953
6954         * toke.l:
6955         Allow leading blanks before Defaults and Foo_Alias definitions
6956         [2add513d9277]
6957
6958         * Makefile.in:
6959         fix rules to build toke.o and gram.o in devel mode
6960         [96cbb414ebd3]
6961
6962 2005-02-20  Todd C. Miller  <Todd.Miller@courtesan.com>
6963
6964         * sudoers.pod:
6965         env_keep overrides set_logname
6966         [401877193a15]
6967
6968         * env.c:
6969         Fix disabling set_logname and make env_keep override set_logname.
6970         [0906e7a5ed93]
6971
6972         * compat.h, config.h.in, configure, configure.in:
6973         No longer need memmove()
6974         [43bdb6efe3f2]
6975
6976         * env.c, sudo.c:
6977         Just clean the environment once. This assumes that any further
6978         setenv/putenv will be able to handle the fact that we replaced
6979         environ with our own malloc'd copy but all the implementations I've
6980         checked do.
6981         [11658fe92ba2]
6982
6983 2005-02-16  Todd C. Miller  <Todd.Miller@courtesan.com>
6984
6985         * env.c, sudo.c:
6986         In -i mode, base the value of insert_env()'s dupcheck flag on
6987         DID_FOO flags. Move checks for $HOME resetting into rebuild_env()
6988         [8365b0bd0c71]
6989
6990 2005-02-13  Todd C. Miller  <Todd.Miller@courtesan.com>
6991
6992         * env.c, sudo.c:
6993         Move setting of user_path, user_shell, user_prompt and prev_user
6994         into init_vars() since user_shell at least is needed there.
6995         [37e22dce66e9]
6996
6997 2005-02-12  Todd C. Miller  <Todd.Miller@courtesan.com>
6998
6999         * Makefile.in:
7000         fix devel builds
7001         [9fbb15ef164c]
7002
7003         * sudo.c:
7004         Fix some printf format mismatches on error.
7005         [ffc1c3f11740]
7006
7007         * check.c:
7008         Fix some printf format mismatches on error.
7009         [7b3b508adf50]
7010
7011         * configure, gram.c, toke.c:
7012         regen
7013         [aa76f9d8b02a]
7014
7015         * Makefile.in, aclocal.m4, alias.c, alloc.c, auth/afs.c,
7016         auth/aix_auth.c, auth/bsdauth.c, auth/dce.c, auth/fwtk.c,
7017         auth/kerb4.c, auth/kerb5.c, auth/pam.c, auth/passwd.c,
7018         auth/rfc1938.c, auth/secureware.c, auth/securid.c, auth/securid5.c,
7019         auth/sia.c, auth/sudo_auth.c, auth/sudo_auth.h, check.c,
7020         closefrom.c, compat.h, configure.in, defaults.c, defaults.h,
7021         emul/utime.h, env.c, error.c, fileops.c, find_path.c, getprogname.c,
7022         getspwuid.c, gettime.c, goodpath.c, gram.y, interfaces.c,
7023         interfaces.h, ldap.c, logging.c, logging.h, match.c, mon_systrace.c,
7024         parse.c, redblack.c, redblack.h, set_perms.c, sigaction.c,
7025         snprintf.c, strcasecmp.c, strerror.c, strlcat.c, strlcpy.c, sudo.c,
7026         sudo.h, sudo.pod, sudo_edit.c, sudo_noexec.c, sudoers.pod,
7027         testsudoers.c, tgetpass.c, toke.l, utimes.c, version.h, visudo.c,
7028         visudo.pod, zero_bytes.c:
7029         Update copyright years.
7030         [0610c3654739]
7031
7032         * Makefile.binary.in:
7033         Update copyright years.
7034         [d78ffc9f2e2b]
7035
7036         * LICENSE:
7037         Update copyright years.
7038         [f60473bca4b1]
7039
7040         * BUGS, INSTALL, INSTALL.binary, Makefile.in, README, configure.in:
7041         version 1.7
7042         [aa977a544ca1]
7043
7044         * WHATSNEW:
7045         What's new in sudo 1.7, based on the 1.7 CHANGES entries.
7046         [ecfcf7269c14]
7047
7048 2005-02-11  Todd C. Miller  <Todd.Miller@courtesan.com>
7049
7050         * compat.h, logging.h, sudo.h:
7051         Add __printflike and use it with gcc to warn about printf-like
7052         format mismatches
7053         [b192ad4a0548]
7054
7055 2005-02-10  Todd C. Miller  <Todd.Miller@courtesan.com>
7056
7057         * CHANGES, ChangeLog:
7058         Replaced CHANGES file with ChangeLog generated from cvs logs
7059         [d9ace9dab98f]
7060
7061         * set_perms.c:
7062         Use warning/error instead of perror/fatal.
7063         [e33259df7738]
7064
7065         * config.guess:
7066         Update OpenBSD section
7067         [9d2c23de6801]
7068
7069         * UPGRADE:
7070         Add upgrading noted for 1.7
7071         [1fb6b6d6df07]
7072
7073         * env.c, sudo.c, sudoers.pod:
7074         Instead of zeroing out the environment, just prune out entries based
7075         on the env_delete and env_check lists. Base building up the new
7076         environment on the current environment and the variables we removed
7077         initially.
7078         [fc192df8fd15]
7079
7080         * config.h.in, configure, configure.in, sudo.c:
7081         Set locale to "C" if locales are supported, just to be safe.
7082         [91fbaa98f02e]
7083
7084         * toke.c, toke.l:
7085         Cast?argument to ctype functions to unsigned char.
7086         [e096b4d65796]
7087
7088 2005-02-08  Todd C. Miller  <Todd.Miller@courtesan.com>
7089
7090         * env.c:
7091         correct value for DID_USER
7092         [b5b05d36ec15]
7093
7094         * error.c, fnmatch.c, getcwd.c, glob.c, snprintf.c:
7095         #include <compat.h> not "compat.h"
7096         [7a0ad9a0ccd7]
7097
7098         * defaults.c:
7099         Reset the environment by default.
7100         [4ecc6423e0f0]
7101
7102         * sudo.c:
7103         Alloc an extra slot in NewArgv. Removes the need to malloc an new
7104         vector if execve() fails.
7105         [83dfb6f584a7]
7106
7107 2005-02-07  Todd C. Miller  <Todd.Miller@courtesan.com>
7108
7109         * INSTALL, config.h.in, configure, configure.in, sudo.c:
7110         Use execve(2) and wrap the command in sh if we get ENOEXEC.
7111         [c0c6af4e2a21]
7112
7113 2005-02-06  Todd C. Miller  <Todd.Miller@courtesan.com>
7114
7115         * sudo_noexec.c:
7116         Only include time.h on systems that lack struct timespec which gets
7117         defind in compat.h (using time_t).
7118         [e373e518b4cb]
7119
7120         * sudo_noexec.c:
7121         Include time.h for time_t in compat.h for systems w/o struct
7122         timespec.
7123         [a34b5637e458]
7124
7125         * compat.h, config.h.in, configure, configure.in:
7126         use bcopy on systems w/o memmove
7127         [f835eafd78c6]
7128
7129         * compat.h:
7130         __attribute__((__unused__)) doesn't work in gcc 2.7.2.1 so limit its
7131         use to gcc >= 2.8.
7132         [1cb9a4e58566]
7133
7134         * Makefile.in:
7135         Add explicit rule to build sudo_noexec.lo
7136         [df1dfcf8dd77]
7137
7138 2005-02-05  Todd C. Miller  <Todd.Miller@courtesan.com>
7139
7140         * INSTALL.configure, Makefile.in:
7141         No longer depend on VPATH; pointed out a bunch of missed
7142         dependencies.
7143         [601a45d4af6b]
7144
7145         * TROUBLESHOOTING:
7146         Help for PAM when account section is missing
7147         [9b8221256756]
7148
7149         * auth/pam.c:
7150         Give user a clue when there is a missing "account" section in the
7151         PAM config.
7152         [2529625c0495]
7153
7154         * auth/pam.c:
7155         Better error handling.
7156         [518c9bda23d8]
7157
7158         * config.h.in, configure, configure.in:
7159         Move _FOO_SOURCE to CPPFLAGS so it takes effect as early as
7160         possible. Silences a warning about isblank() on linux.
7161         [19c94d7ecdc8]
7162
7163         * auth/pam.c:
7164         Fix typo (missing comma) that caused an incorrect number of args to
7165         be passed to log_error().
7166         [0099dfec560f]
7167
7168 2005-02-01  Todd C. Miller  <Todd.Miller@courtesan.com>
7169
7170         * pwutil.c:
7171         Don't try to destroy a tree we didn't create.
7172         [d43c4fe03aa4]
7173
7174 2005-01-27  Todd C. Miller  <Todd.Miller@courtesan.com>
7175
7176         * alias.c, alloc.c, auth/afs.c, auth/aix_auth.c, auth/bsdauth.c,
7177         auth/dce.c, auth/fwtk.c, auth/kerb4.c, auth/kerb5.c, auth/pam.c,
7178         auth/passwd.c, auth/rfc1938.c, auth/secureware.c, auth/securid.c,
7179         auth/securid5.c, auth/sia.c, auth/sudo_auth.c, check.c, closefrom.c,
7180         compat.h, defaults.c, env.c, error.c, fileops.c, find_path.c,
7181         fnmatch.c, getcwd.c, getprogname.c, getspwuid.c, gettime.c,
7182         goodpath.c, gram.c, gram.y, interfaces.c, ldap.c, logging.c,
7183         match.c, mon_systrace.c, parse.c, pwutil.c, set_perms.c,
7184         sigaction.c, snprintf.c, strcasecmp.c, strerror.c, strlcat.c,
7185         strlcpy.c, sudo.c, sudo_edit.c, sudo_noexec.c, testsudoers.c,
7186         tgetpass.c, toke.c, toke.l, utimes.c, visudo.c, zero_bytes.c:
7187         Add __unused to rcsids
7188         [ad6b4ac45705]
7189
7190 2005-01-21  Todd C. Miller  <Todd.Miller@courtesan.com>
7191
7192         * configure, configure.in:
7193         Fix error message when mixing invalid auth types
7194         [68069b3ff5bc]
7195
7196         * INSTALL:
7197         PAM, AIX auth, BSD auth and login_cap are now on by default if the
7198         OS supports them.
7199         [4e44e9098cf0]
7200
7201         * auth/sudo_auth.h, config.h.in:
7202         s/HAVE_AUTHENTICATE/HAVE_AIXAUTH/g
7203         [2d569b43b23e]
7204
7205         * configure.in:
7206         Better checking for conflicting authentication methods Display the
7207         authentication methods used at the end of configure Rename --with-
7208         authenticate -> --with-aixauth Use --with-aixauth, --with-bsdauth,
7209         --with-pam, --with-logincap by default on systems that support them
7210         unless disabled. Add OSMAJOR variable that replaces old OSREV; now
7211         OSREV has full version number
7212         [a21115b6fe9f]
7213
7214 2005-01-18  Todd C. Miller  <Todd.Miller@courtesan.com>
7215
7216         * def_data.c, def_data.in, sudo.c, sudoers.pod:
7217         s/-O/-C/
7218         [ee73f1b81923]
7219
7220 2005-01-14  Todd C. Miller  <Todd.Miller@courtesan.com>
7221
7222         * configure.in:
7223         Replace: test -n "$FOO" || FOO="bar"
7224
7225         With: : ${FOO='bar'}
7226         [37552d9054fc]
7227
7228 2005-01-09  Todd C. Miller  <Todd.Miller@courtesan.com>
7229
7230         * pwutil.c, testsudoers.c, tsgetgrpw.c:
7231         Use function pointers to only call private passwd/group routines
7232         when using a nonstandard passwd/group file.
7233         [215908681dfb]
7234
7235 2005-01-06  Todd C. Miller  <Todd.Miller@courtesan.com>
7236
7237         * CHANGES:
7238         sync
7239         [2e55c03f5790]
7240
7241         * tsgetgrpw.c:
7242         Can't use strtok() since it doesn't handle empty fields so add
7243         getpwent()/getgrent() functions and call those.
7244         [bdaa5b0db70e]
7245
7246 2005-01-05  Todd C. Miller  <Todd.Miller@courtesan.com>
7247
7248         * Makefile.in:
7249         Fix dummied out toke.c and gram.c dependencies.
7250         [4b909c8b2ebe]
7251
7252         * Makefile.in:
7253         Rename PARSESRCS -> GENERATED since it is only used in the clean
7254         target Add devdir variable and use it to specify the path to parser
7255         sources
7256         [f27b3f41ca23]
7257
7258         * configure:
7259         regen
7260         [22c6435dbd46]
7261
7262         * configure.in:
7263         Add a devdir variables that defaults to $(srcdir) and is set to . if
7264         --devel was specified. Allows for proper dependecies building the
7265         parser.
7266         [a36d694c6d21]
7267
7268         * testsudoers.c:
7269         Add support for custom passwd/group files.
7270         [296549ff4b87]
7271
7272         * Makefile.in:
7273         Build private copy of pwutil.o for testsudoers with MYPW defined so
7274         it uses our own passwd/group routines.
7275         [bafa54ec78ca]
7276
7277         * visudo.c:
7278         Remove sudo_*{pw,gr}* stubs and add sudo_setspent/sudo_endspent
7279         stubs instead. We can now just use the caching sudo_*{pw,gr}*
7280         functions in pwutil.c Add comment about wanting to call
7281         sudo_endpwent/sudo_endgrent in cleanup()
7282         [7e59d6b5510d]
7283
7284         * tsgetgrpw.c:
7285         Remove caching; we will just use what is in pwutil.c Use global
7286         buffers for passwd/group structs Rename functions from sudo_* to
7287         my_*
7288         [8c1e068f574c]
7289
7290         * logging.c, sudo.c:
7291         g/c pwcache_init/pwcache_destroy
7292         [60a24909b947]
7293
7294         * sudo.h:
7295         Undo last commit and add sudo_setspent and sudo_endspent instead.
7296         [bac80db08296]
7297
7298         * getspwuid.c, pwutil.c:
7299         Move all but the shadow stuff from getspwuid.c to pwutil.c and
7300         pwcache_get and pwcache_put as they are no longer needed. Also add
7301         preprocessor magic to use private versions of the passwd and group
7302         routines if MYPW is defined (for use by testsudoers).
7303         [a16b8678a426]
7304
7305         * tsgetgrpw.c:
7306         zero out struct passwd/group before filling it in so if there are
7307         fields we don't handle they end up as 0.
7308         [274cb6a93301]
7309
7310         * logging.c, sudo.c, sudo.h, testsudoers.c, visudo.c:
7311         Adapt to pwutil.c
7312         [43ebd04c8b82]
7313
7314         * Makefile.in:
7315         Add tsgetgrpw.c and pwutil.c Rename the *OBJ variables for better
7316         readability.
7317         [7f88c6061e2d]
7318
7319         * tsgetgrpw.c:
7320         Passwd and group lookup routines for testsudoers that support
7321         alternate passwd and group files.
7322         [d7803101d34e]
7323
7324         * getspwuid.c, pwutil.c:
7325         Split off pw/gr cache and dup code into its own file. This allows
7326         visudo and testsudoers to use the pw/gr cache too.
7327         [ef333d3ffedf]
7328
7329 2005-01-02  Todd C. Miller  <Todd.Miller@courtesan.com>
7330
7331         * parse.c:
7332         Print Defaults info in "sudo -l" output and wrap lines based on the
7333         terminal width.
7334         [e559eae4250e]
7335
7336 2005-01-01  Todd C. Miller  <Todd.Miller@courtesan.com>
7337
7338         * match.c, testsudoers.c, visudo.c:
7339         Only check group vector in usergr_matches() if we are matching the
7340         invoking or list user. Always check the group members, even if
7341         there was a group vector.
7342         [d0c7ceb2a041]
7343
7344 2004-12-17  Todd C. Miller  <Todd.Miller@courtesan.com>
7345
7346         * LICENSE, Makefile.in, fnmatch.3:
7347         No longer bundle fnmatch.3
7348         [72db4a4ff4e1]
7349
7350         * CHANGES, TODO:
7351         checkpoint
7352         [e92781bfd99c]
7353
7354 2004-12-16  Todd C. Miller  <Todd.Miller@courtesan.com>
7355
7356         * sudo.c:
7357         sort usage
7358         [15e3b876ec2c]
7359
7360         * sudo.pod:
7361         Sort command line options
7362         [c1fa56584bc4]
7363
7364         * def_data.c, def_data.h, def_data.in, defaults.c, logging.c, sudo.c,
7365         sudo.pod, sudoers.pod:
7366         Add closefrom sudoers option to start closing at a point other than
7367         3. Add closefrom_override sudoers option and -C sudo flag to allow
7368         the user to specify a different closefrom starting point.
7369         [370652b099d1]
7370
7371         * pathnames.h.in:
7372         Add _PATH_DEVNULL for those without it.
7373         [0c4c3e0ceb8b]
7374
7375         * LICENSE:
7376         no more UCB strcasecmp
7377         [397a6298e07f]
7378
7379         * strcasecmp.c:
7380         replace BSD licensed one with version derived from pdksh
7381         [d7cfda8c57a2]
7382
7383 2004-12-10  Todd C. Miller  <Todd.Miller@courtesan.com>
7384
7385         * sudo.c:
7386         Fix last commit.
7387         [7afb9a180532]
7388
7389         * sudo.c:
7390         Make sure stdin, stdout and stderr are open and dup them to
7391         /dev/null if not.
7392         [590f387068bd]
7393
7394 2004-12-03  Todd C. Miller  <Todd.Miller@courtesan.com>
7395
7396         * ldap.c, mon_systrace.c, sudo.c, sudo.h:
7397         add sudo_ldap_close
7398         [4273a36765a7]
7399
7400         * fileops.c, gettime.c, sudo.c, sudo_edit.c, utimes.c, visudo.c:
7401         Use TIME_WITH_SYS_TIME
7402         [c32b59bf15fb]
7403
7404         * config.h.in, configure, configure.in:
7405         Add TIME_WITH_SYS_TIME_H
7406         [57cb146f451d]
7407
7408 2004-12-02  Todd C. Miller  <Todd.Miller@courtesan.com>
7409
7410         * env.c:
7411         Add missing braces to avoid DYLD_FORCE_FLAT_NAMESPACE being set
7412         unconditionally on darwin. From Toby Peterson.
7413         [d69959681c87]
7414
7415         * getspwuid.c:
7416         Check rbinsert() return value. In the case of faked up entries
7417         there is usually a negative response cached that we need to
7418         overwrite.
7419
7420         In pwfree() don't try to zero out a NULL pw_passwd pointer.
7421         [00b32d1a48c1]
7422
7423         * mon_systrace.c:
7424         Use the double fork trick to avoid the monitor process being waited
7425         for by the main program run through sudo.
7426         [e0ce556712ff]
7427
7428 2004-11-29  Todd C. Miller  <Todd.Miller@courtesan.com>
7429
7430         * sudo.c:
7431         Call initgroups() in -U mode so group matches work normally.
7432         [2235bea15283]
7433
7434         * def_data.h, mkdefaults:
7435         Don't print a trailing comma for the last entry in enum def_tupple
7436         [c43a96bb31df]
7437
7438 2004-11-28  Todd C. Miller  <Todd.Miller@courtesan.com>
7439
7440         * sudoers.cat, sudoers.man.in, sudoers.pod:
7441         Mention values when lecture, listpw and verifypw are used in boolean
7442         context.
7443         [a0b5c0abaccf]
7444
7445         * def_data.c, def_data.in:
7446         verifypw when used in a boolean TRUE context should be "all", not
7447         "any".
7448         [2eb076ddd5e2]
7449
7450 2004-11-26  Todd C. Miller  <Todd.Miller@courtesan.com>
7451
7452         * def_data.in, defaults.c:
7453         Allow tuples that can be used as booleans to be used as boolean
7454         TRUE. In this case the 2nd possible value of the tuple is used for
7455         TRUE.
7456         [bd99aa77e88b]
7457
7458 2004-11-25  Todd C. Miller  <Todd.Miller@courtesan.com>
7459
7460         * configure, configure.in:
7461         Correct the test for 2-parameter timespecsub
7462         [d41c9cb26b97]
7463
7464         * sudo.h:
7465         Add strub struct definitions for passwd, timeval and timespec
7466         [c4ce5c43d8c5]
7467
7468         * config.h.in, configure, configure.in, sudo_edit.c, visudo.c:
7469         Add check for 2-argument form of timespecsub (FreeBSD and BSD/OS)
7470         and fix a typo in the gettimeofday check.
7471         [8ac9893057ce]
7472
7473 2004-11-24  Todd C. Miller  <Todd.Miller@courtesan.com>
7474
7475         * match.c, testsudoers.c:
7476         Deal with user_stat being NULL as it is for visudo and testsudoers.
7477         [3605a6ff64d0]
7478
7479         * parse.c, sudo.c, sudo.cat, sudo.h, sudo.man.in, sudo.pod:
7480         Add -U option to use in conjunction with -l instead of -u. Add
7481         support for "sudo -l command" to test a specific command.
7482         [99638789d415]
7483
7484         * gram.c, gram.y, sudo.c:
7485         Set safe_cmnd after sudoers_lookup() if it has not been set.
7486         Previously it was set by sudo "ALL" in the parser but at that point
7487         the fully-qualified pathname has not yet been found.
7488         [ac30d98f8225]
7489
7490 2004-11-23  Todd C. Miller  <Todd.Miller@courtesan.com>
7491
7492         * parse.c, testsudoers.c:
7493         Correctly handle multiple privileges per userspec and runas
7494         inheritence.
7495         [a98a965181af]
7496
7497 2004-11-21  Todd C. Miller  <Todd.Miller@courtesan.com>
7498
7499         * defaults.c:
7500         Zero out sd_un for each entry in sudo_defs_table in init_defaults.
7501         [031d3cd4a848]
7502
7503 2004-11-19  Todd C. Miller  <Todd.Miller@courtesan.com>
7504
7505         * toke.c, toke.l:
7506         make per-command defaults work with sudoedit
7507         [e56fe33db916]
7508
7509         * ldap.c, parse.c, sudo.c, sudo.h:
7510         Remove the FLAG_NOPASS, FLAG_NOEXEC and FLAG_MONITOR flags.
7511         Instead, we just set the approriate defaults variable.
7512         [756eeecc1d86]
7513
7514         * sample.sudoers, sudoers.cat, sudoers.man.in, sudoers.pod:
7515         Document per-command Defaults.
7516         [92a0f84b91c1]
7517
7518         * defaults.c, defaults.h, gram.c, gram.h, gram.y, mon_systrace.c,
7519         sudo.c, testsudoers.c, toke.c, toke.l, visudo.c:
7520         Add support for command-specific Defaults entries. E.g.
7521         Defaults!/usr/bin/vi noexec
7522         [be3d52bf01cf]
7523
7524         * defaults.c, match.c, parse.c, parse.h, testsudoers.c:
7525         Change an occurence of user_matches() -> runas_matches() missed
7526         previously runas_matches(), host_matches() and cmnd_matches() only
7527         really need to pass in a list of members. user_matches() still
7528         needs to pass in a passwd struct because of "sudo -l"
7529         [833b22fc6fa0]
7530
7531         * parse.c:
7532         Check def_authenticate, def_noexec and def_monitor when setting
7533         return flags. XXX May be better to just set the defaults directly
7534         and get rid of those flags.
7535         [b6db22b59d69]
7536
7537         * alias.c, alloc.c, auth/afs.c, auth/aix_auth.c, auth/bsdauth.c,
7538         auth/dce.c, auth/fwtk.c, auth/kerb4.c, auth/kerb5.c, auth/pam.c,
7539         auth/passwd.c, auth/rfc1938.c, auth/secureware.c, auth/securid.c,
7540         auth/securid5.c, auth/sia.c, auth/sudo_auth.c, check.c, closefrom.c,
7541         defaults.c, env.c, error.c, fileops.c, find_path.c, fnmatch.c,
7542         getcwd.c, getprogname.c, getspwuid.c, gettime.c, glob.c, goodpath.c,
7543         gram.c, gram.y, interfaces.c, ldap.c, logging.c, match.c,
7544         mon_systrace.c, parse.c, redblack.c, set_perms.c, snprintf.c,
7545         strcasecmp.c, strerror.c, strlcat.c, strlcpy.c, sudo.c, sudo_edit.c,
7546         sudo_noexec.c, testsudoers.c, tgetpass.c, toke.c, toke.l, utimes.c,
7547         visudo.c, zero_bytes.c:
7548         Use: #include <config.h> Not: #include "config.h" That way we get
7549         the correct config.h when build dir != src dir
7550         [97e5670a442b]
7551
7552         * Makefile.in:
7553         Back out part of rev 1.263; fix -I order
7554         [197ea01cad5d]
7555
7556         * toke.c, toke.l:
7557         More robust parsing if #include; could be much better still.
7558         [31bc3cd8f045]
7559
7560         * sudo_edit.c, visudo.c:
7561         Make arg splitting in visudo and sudoedit consistent.
7562         [7bc74485f246]
7563
7564         * Makefile.in, alias.c, gram.c, gram.y, parse.h:
7565         Split alias routines out into their own file.
7566         [d90f633cf9ae]
7567
7568         * error.h:
7569         __attribute__ is already defined in compat.h
7570         [676ed3fe9203]
7571
7572         * visudo.c:
7573         quit() should not be __noreturn__ as it is non-void on some
7574         platforms.
7575         [e528c2b6ba10]
7576
7577         * auth/fwtk.c, auth/rfc1938.c, auth/securid.c, auth/securid5.c:
7578         Add local error/warning functions like err/warn but that call an
7579         additional cleanup routine in the error case. This means we no
7580         longer need to compile a special version of alloc.o for visudo.
7581         [e78e8aae882e]
7582
7583         * parse.h:
7584         Clarify comments about the data structures
7585         [ae894e266701]
7586
7587 2004-11-18  Todd C. Miller  <Todd.Miller@courtesan.com>
7588
7589         * visudo.c:
7590         Add support for VISUAL and EDITOR containing command line args. If
7591         env_editor is not set any args in VISUAL and EDITOR are ignored.
7592         Arguments are also now supported in def_editor.
7593         [ff7303b8e298]
7594
7595 2004-11-17  Todd C. Miller  <Todd.Miller@courtesan.com>
7596
7597         * parse.h:
7598         alias_matches() is no more
7599         [b59825e28084]
7600
7601         * CHANGES, TODO:
7602         sync
7603         [2b8f5f63c1de]
7604
7605         * Makefile.in:
7606         When regenerating the parser, don't replace gram.h unless it has
7607         changed.
7608         [819949668018]
7609
7610         * Makefile.in:
7611         remove Makefile.binary for distclean
7612         [351eec8d00b2]
7613
7614         * env.c:
7615         Preserve KRB5CCNAME in zero_env() and add a paranoia check to make
7616         sure we can't overflow new_env.
7617         [3284d17b9c6d]
7618
7619         * sudo_edit.c:
7620         paranoia when stripping trailing slashes from tempdir.
7621         [012f1aa2b81f]
7622
7623         * sudo.c:
7624         Set user_ngroups to 0 if getgroups() returns an error.
7625         [c46d43e9449a]
7626
7627 2004-11-16  Todd C. Miller  <Todd.Miller@courtesan.com>
7628
7629         * config.h.in, configure, configure.in, sudo.c:
7630         Add configure check for getgroups()
7631         [5d8a214e2cef]
7632
7633         * ldap.c:
7634         Use supplementary group vector in struct sudo_user.
7635         [3d0c463c034d]
7636
7637         * match.c:
7638         Only do string comparisons on the group members if there is no
7639         supplemental group list.
7640         [be1c8362f7ef]
7641
7642         * CHANGES, TODO:
7643         sync
7644         [db188bc5b975]
7645
7646         * sudo_edit.c:
7647         On Digital UNIX _PATH_VAR_TMP doesn't end with a trailing slash so
7648         chop off any trailing slashes we see and add an explicit one.
7649         [e1b477dafee1]
7650
7651         * match.c:
7652         remove bogus XXX comment
7653         [8aecb8a28d40]
7654
7655         * match.c:
7656         Get rid of alias_matches and correctly fall through to the non-alias
7657         cases when there is no alias with the specified name.
7658         [2cd555246f09]
7659
7660         * getspwuid.c:
7661         Cache non-existent passwd/group entries too.
7662         [8de9a467d271]
7663
7664         * gram.c:
7665         regen
7666         [9ece18c58f36]
7667
7668         * getspwuid.c:
7669         fix typo
7670         [9a7ae371eac1]
7671
7672         * check.c, getspwuid.c, glob.c, ldap.c, logging.c, match.c,
7673         mon_systrace.h, sudo.c, sudo.h, testsudoers.c, visudo.c:
7674         Implement group caching and use the passwd and group caches
7675         throughout.
7676         [f1d8c5015169]
7677
7678 2004-11-15  Todd C. Miller  <Todd.Miller@courtesan.com>
7679
7680         * match.c:
7681         Properly negate the return value of alias_matches() when
7682         appropriate.
7683         [ce59c4ce77ad]
7684
7685         * match.c:
7686         Make hostname_matches() return TRUE for a match, else FALSE like the
7687         caller expects.
7688         [1dc03902d3a2]
7689
7690         * Makefile.in:
7691         Add missing dependencies on gram.h
7692         [4f94bbb1d50c]
7693
7694         * match.c:
7695         Use runas_matches in alias_matches() now that we have it.
7696         [284d22e91178]
7697
7698         * parse.c, parse.h:
7699         Expand aliases in "sudo -l" mode
7700         [f67a38b79c44]
7701
7702         * gram.y, match.c:
7703         Use ALIAS for the member type when storing an alias instead of
7704         HOSTALIAS/RUNASALIAS/CMNDALIAS/USERALIAS since match.c relies on the
7705         more generic type. Expand runas_matches instead of calling
7706         user_matches() inside of it since user_matches() looks up
7707         USERALIASes, not RUNASALIASes.
7708         [52004d75232b]
7709
7710         * CHANGES, getspwuid.c:
7711         Paranoia; zero out pw_passwd before freeing passwd entry.
7712         [bd1b22638f00]
7713
7714         * LICENSE, Makefile.in, alloc.c, check.c, config.h.in, configure,
7715         configure.in, defaults.c, emul/err.h, env.c, err.c, error.c,
7716         error.h, find_path.c, interfaces.c, logging.c, mon_systrace.c,
7717         sudo.c, sudo.h, sudo_edit.c, testsudoers.c, visudo.c:
7718         Add local error/warning functions like err/warn but that call an
7719         additional cleanup routine in the error case. This means we no
7720         longer need to compile a special version of alloc.o for visudo.
7721         [25000b676cfe]
7722
7723         * match.c:
7724         Use userpw_matches() to compare usernames, not strcmp(), since the
7725         latter checks for "#uid".
7726         [fcbe4b859f66]
7727
7728         * getspwuid.c, mon_systrace.c, mon_systrace.h, sudo.c:
7729         Cache passwd db entries in 2 reb-black trees; one indexed by uid,
7730         the other by user name. The data returned from the cache should be
7731         considered read-only and is destroyed by sudo_endpwent().
7732         [ee2418ff3f86]
7733
7734         * match.c:
7735         add cast to uid_t
7736         [eb6415302d84]
7737
7738         * gram.y:
7739         missing free in alias_destroy
7740         [572ecb680ad8]
7741
7742         * redblack.c:
7743         Can't use rbapply() for rbdestroy since the destructor is passed a
7744         data pointer, not a node pointer.
7745         [11ce713830c0]
7746
7747         * getspwuid.c, logging.c, sudo.c, sudo.h:
7748         Create and use private versions of setpwent() and endpwent() that
7749         set/end the shadow password file too.
7750         [616bc76d23bf]
7751
7752         * gram.c, gram.h, gram.y, match.c, parse.h, testsudoers.c, visudo.c:
7753         Store aliases in a red-black tree.
7754         [ce017d540416]
7755
7756         * Makefile.in, redblack.c, redblack.h:
7757         red-black tree implementation
7758         [cd5586e8f48b]
7759
7760         * visudo.c:
7761         Edit all sudoers file if there were unused or undefined aliases and
7762         we are in strict mode.
7763         [b6d5f5bb7262]
7764
7765 2004-11-12  Todd C. Miller  <Todd.Miller@courtesan.com>
7766
7767         * CHANGES, def_data.c, def_data.h, def_data.in, defaults.c, env.c,
7768         find_path.c, sudoers.cat, sudoers.man.in, sudoers.pod, visudo.c:
7769         Bring back the "secure_path" Defaults option now that Defaults take
7770         effect before the path is searched.
7771         [2e52c0e27606]
7772
7773 2004-11-11  Todd C. Miller  <Todd.Miller@courtesan.com>
7774
7775         * logging.c, parse.c:
7776         A user can always list their own entries, even with -u. Better error
7777         message when failing to list another user's entries.
7778         [e2e24deb0071]
7779
7780         * parse.c, sudo.c, sudo.h:
7781         The syntax to list another user's entries is now "-u otheruser -l".
7782         Only root or users with sudo "ALL" may list other user's entries.
7783         [3c0657e8f5fe]
7784
7785         * sudo.cat, sudo.man.in, sudo.pod:
7786         Update env variable info in SECURITY NOTES
7787         [299716071024]
7788
7789         * env.c:
7790         strip CDPATH too
7791         [9b97643b26f9]
7792
7793         * env.c:
7794         strip exported bash functions from the environment.
7795         [9e5090c8284f]
7796
7797 2004-10-27  Todd C. Miller  <Todd.Miller@courtesan.com>
7798
7799         * sudo.c:
7800         Only reset sudo_user.pw based on SUDO_USER environment variables for
7801         real commands and sudoedit. This avoids a confusing message when a
7802         user tries "sudo -l" or "sudo -v" and is denied.
7803         [3ea6d0053274]
7804
7805         * gram.c, gram.y, parse.h:
7806         Extend LIST_APPEND to deal with appending lists too
7807         [d963e42f622f]
7808
7809 2004-10-26  Todd C. Miller  <Todd.Miller@courtesan.com>
7810
7811         * logging.c:
7812         Convert some bitwise AND to ISSET
7813         [130dc40d268e]
7814
7815         * lex.yy.c, toke.c:
7816         toke.c replaces lex.yy.c
7817         [048858df79e7]
7818
7819         * CHANGES, TODO:
7820         sync
7821         [d19e7abf251c]
7822
7823         * BUGS:
7824         new parser fixes most of the outstanding bugs
7825         [0891f66e3758]
7826
7827         * configure:
7828         regen
7829         [1a3358cc7283]
7830
7831         * visudo.c:
7832         Rework for the new parser. Now checks for unused aliases in sudoers.
7833         [ad462ede3094]
7834
7835         * testsudoers.c:
7836         Rewrite for the new parser. Now supports a -d flag (dump) and adds
7837         a -h flag (host). It now defaults to the local hostname unless
7838         otherwise specified.
7839         [1b69685cc601]
7840
7841         * sudo.h:
7842         Add new prototypes. Remove NOMATCH/UNSPEC (now in parse.h)
7843         [2e4fb3abfef0]
7844
7845         * sudo.c:
7846         Update for new parse. We now call find_path() *after* we have
7847         updated the global defaults based on sudoers. Also adds support for
7848         listing other user's privs if you are root.
7849         [cf3db9fc3024]
7850
7851         * mon_systrace.c:
7852         Working LDAP support; also remove a now-unneeded rewind().
7853         [649ecf1baf6b]
7854
7855         * logging.c, logging.h:
7856         Add NO_STDERR flag.
7857         [6cb935af94e0]
7858
7859         * ldap.c:
7860         Split sudo_ldap_check() into three pieces: sudo_ldap_open(),
7861         udo_ldap_update_defaults() and sudo_ldap_check(). This allows us to
7862         connecto to LDAP, apply the default options, find the command in the
7863         user's path, and then check whether the user is allowed to run it.
7864         The important thing here is that the default runas user may be
7865         specified as a default option and that needs to be set before we
7866         search for the command.
7867         [fc0426abc6f1]
7868
7869         * ldap.c:
7870         Add casts to unsigned char for isspace() to quiet a gcc warning.
7871         [e5358e3df439]
7872
7873         * defaults.h:
7874         Add prototype for update_defaults()
7875         [564dac3db74e]
7876
7877         * defaults.c:
7878         Don't warn about line numbers now that we operate on a set of data
7879         structures (or LDAP) and not a file.
7880         [bcd9ffb9b67c]
7881
7882         * config.h.in:
7883         No long use lsearch()
7884         [9d048c587319]
7885
7886         * Makefile.in:
7887         Update for new and changed file names.
7888         [6f424a7c4515]
7889
7890         * LICENSE:
7891         no more BSD lsearch.c
7892         [463a96d89026]
7893
7894         * match.c:
7895         foo_matches() routines now live in match.c Added user_matches(),
7896         runas_matches(), host_matches(), cmnd_matches() and alias_matches()
7897         that operate on the parsed sudoers file.
7898         [b14da8a0567e]
7899
7900         * parse.lex, toke.l:
7901         Move parse.lex -> toke.l Rename buffer_frob() -> switch_buffer()
7902         WORD no longer needs to exclude '@' kill yywrap()
7903         [a922294eb7b7]
7904
7905         * gram.c, gram.h, gram.y, parse.c, parse.h, parse.yacc, sudo.tab.c,
7906         sudo.tab.h:
7907         Rewritten parser that converts sudoers into a set of data
7908         structures. This eliminates ordering issues and makes it possible to
7909         apply sudoers Defaults entries before searching for the command.
7910         [30d2ec4d203c]
7911
7912         * configure.in, emul/search.h, lsearch.c:
7913         We won't be using lsearch() any longer.
7914         [29c4d54bfac0]
7915
7916         * ldap.c:
7917         sudo should not send mail if someone who runs 'sudo -l' has no
7918         entry.
7919         [6fc27a69fd9c]
7920
7921         * sudo.cat, sudo.man.in, sudoers.cat, sudoers.man.in, visudo.cat,
7922         visudo.man.in:
7923         regen
7924         [8166347917f3]
7925
7926         * visudo.pod:
7927         Update warnings to match new visudo
7928         [004c0766798f]
7929
7930         * sudoers.pod:
7931         The new parser doesn't have the old ordering constraints.
7932         [ffd43bd08661]
7933
7934         * sudo.pod:
7935         Document that -l now takes an optional username argument
7936         [278f9557de8b]
7937
7938 2004-10-25  Todd C. Miller  <Todd.Miller@courtesan.com>
7939
7940         * RUNSON:
7941         AIX 5.2.0.0 works
7942         [523acd29d858]
7943
7944         * ldap.c:
7945         If LDAP_OPT_SUCCESS is not defined, use LDAP_SUCCESS instead. Fixes
7946         a compilation problem with Solaris 9's native LDAP.
7947
7948         Set FLAG_MONITOR when needed.
7949         [35824ade672d]
7950
7951 2004-10-23  Todd C. Miller  <Todd.Miller@courtesan.com>
7952
7953         * mon_systrace.c:
7954         Call sudo_goodpath() *after* changing the cwd to match the traced
7955         process. Fixes relative paths.
7956         [12ee111d0ad7]
7957
7958 2004-10-21  Todd C. Miller  <Todd.Miller@courtesan.com>
7959
7960         * testsudoers.c:
7961         Kill set_perms() stub--it is no longer needed.
7962         [116ed702935d]
7963
7964 2004-10-13  Todd C. Miller  <Todd.Miller@courtesan.com>
7965
7966         * sudoers.cat, sudoers.man.in, sudoers.pod:
7967         stay_setuid now requires set_reuid() or setresuid()
7968         [8511f67e25d5]
7969
7970         * INSTALL, PORTING, TROUBLESHOOTING, config.h.in, configure,
7971         configure.in, set_perms.c, sudo.c, sudo.h:
7972         Kill use of POSIX saved uids; they aren't worth bothering with.
7973         [b3b1f19f18c1]
7974
7975 2004-10-07  Todd C. Miller  <Todd.Miller@courtesan.com>
7976
7977         * glob.c:
7978         remove call to issetugid()
7979         [63f2e492c08f]
7980
7981         * sudoers.cat, sudoers.man.in, sudoers.pod:
7982         Remove warning about wildcards. Now that we use glob() the bug is
7983         fixed.
7984         [b15729d32266]
7985
7986         * parse.c:
7987         Use glob(3) instead of fnmatch(3) for matching pathnames and stat
7988         each result that matches the basename of the user's command. This
7989         makes "cd /usr/bin ; sudo ./blah" work when sudoers allows
7990         /usr/bin/blah. Fixes bug #143.
7991         [e31eb6310340]
7992
7993         * config.h.in, configure, configure.in:
7994         Define HAVE_EXTENDED_GLOB for extended glob (GLOB_TILDE and
7995         GLOB_BRACE)
7996         [677ed6661e17]
7997
7998         * config.h.in, configure, configure.in:
7999         Check for a glob() that supports GLOB_BRACE and GLOB_TILDE
8000         [aaa2329dd266]
8001
8002         * LICENSE:
8003         reference glob
8004         [bedc9a923423]
8005
8006         * glob.c:
8007         4.4BSD glob(3) with fixes from OpenBSD and some unneeded extensions
8008         removed.
8009         [81799451473c]
8010
8011         * emul/glob.h:
8012         4.4BSD glob(3) with fixes from OpenBSD and some unneeded extensions
8013         removed.
8014         [0335cf31fb1e]
8015
8016 2004-10-05  Todd C. Miller  <Todd.Miller@courtesan.com>
8017
8018         * mon_systrace.c:
8019         Just return if STRIOCINJECT or STRIOCREPLACE fail. It probably
8020         means we are out of space in the stack gap...
8021         [5b02b702021e]
8022
8023         * CHANGES:
8024         sync
8025         [be3826273e56]
8026
8027         * mon_systrace.c:
8028         Take a stab at ldap sudoers support here.
8029         [9d023695b0de]
8030
8031         * mon_systrace.c, mon_systrace.h:
8032         Detach from tracee on SIGHUP, SIGINT and SIGTERM. Now "sudo reboot"
8033         doesn't cause reboot to inadvertanly kill itself.
8034         [d4aab2365610]
8035
8036         * mon_systrace.c:
8037         put "monitor" in the proctitle, not "systrace"
8038         [9a9025767d86]
8039
8040         * mon_systrace.c:
8041         When modifying the environment, don't replace envp when we can get
8042         away with just rewriting pointers in the traced process.
8043         [c03622f7a2e2]
8044
8045         * mon_systrace.c, mon_systrace.h:
8046         Add environment updating via STRIOCINJECT (if available).
8047         [037291016870]
8048
8049         * sudoers.cat, sudoers.man.in:
8050         regen
8051         [869acc511046]
8052
8053 2004-10-04  Todd C. Miller  <Todd.Miller@courtesan.com>
8054
8055         * lex.yy.c:
8056         regen
8057         [4e61a9bd3c97]
8058
8059         * parse.lex:
8060         Fix bug introduced in unput() removal; want yyless(0) not yyless(1)
8061         [b70d7bd6e147]
8062
8063         * mon_systrace.c:
8064         Include file is now mon_systrace.h
8065         [ead4e36d92ae]
8066
8067         * Makefile.in, configure, configure.in, def_data.c, def_data.h,
8068         def_data.in, lex.yy.c, parse.c, parse.h, parse.lex, parse.yacc,
8069         sudo.c, sudo.h, sudo.tab.c, sudo.tab.h, sudoers.pod:
8070         No longer call it tracing, it is now "monitoring" which should be
8071         more a obvious name to non-hackers.
8072         [aa811ded0789]
8073
8074 2004-10-01  Todd C. Miller  <Todd.Miller@courtesan.com>
8075
8076         * mon_systrace.c, mon_systrace.h:
8077         Fix some XXX
8078         [a271072dacc6]
8079
8080         * mon_systrace.c, mon_systrace.h:
8081         No need to include syscall.h, use 1024 as the max # of entries (the
8082         max that systrace(4) allows).
8083
8084         Only need to use SYSTR_POLICY_ASSIGN once
8085
8086         Change check_syscall() -> find_handler() and have it return the
8087         handler instead of just running it. We need this since handler now
8088         have two parts: one part that generates and answer and another that
8089         gets called after the answer is accepted (to do logging).
8090
8091         Add some missing check_exec for emul execv
8092         [a89d243f0525]
8093
8094         * sample.pam, sample.sudoers, sample.syslog.conf, sudoers:
8095         Add $Sudo$ tags.
8096         [6f3fedb0daba]
8097
8098         * config.h.in:
8099         Add missing HAVE_LINUX_SYSTRACE_H
8100         [ff75ab7bfc53]
8101
8102         * Makefile.in:
8103         add trace_systrace.o dependency
8104         [88a408668ab2]
8105
8106 2004-09-30  Todd C. Miller  <Todd.Miller@courtesan.com>
8107
8108         * configure, configure.in:
8109         Also look for systrace.h in /usr/include/linux
8110         [98b98b436cf3]
8111
8112         * mon_systrace.c, mon_systrace.h:
8113         Move all struct defs and prototypes into trace_systrace.h and mark
8114         all but systace_attach() static.
8115         [85511253b570]
8116
8117         * mon_systrace.c, mon_systrace.h:
8118         Add support for tracing emulations. At the moment, all emulations
8119         are compiled in. It might make sense to #ifdef them in the future,
8120         though this impeeds readability.
8121         [87bb50abf277]
8122
8123         * Makefile.in, configure, configure.in:
8124         rename systrace.c -> trace_systrace.c
8125         [31cfa4407d93]
8126
8127         * parse.yacc, sudo.tab.c:
8128         Allow this to build with a K&R compiler again
8129         [32876af5bb98]
8130
8131         * TODO:
8132         sync
8133         [46865bd70f7c]
8134
8135         * compat.h, sudo.c, visudo.c:
8136         Use __attribute__((__noreturn__))
8137         [65bbad71fe89]
8138
8139         * visudo.c:
8140         Exit() takes a negative value to indicate it was not called via
8141         signal.
8142         [b93032ed7b60]
8143
8144         * sudo.cat, sudo.man.in, sudoers.cat, sudoers.man.in, visudo.cat,
8145         visudo.man.in:
8146         regen
8147         [45bcf4661558]
8148
8149         * Makefile.in, visudo.c:
8150         Define Err() and Errx() that are like err() and errx() but call
8151         Exit() instead of exit(). Build private copy of alloc.o for visudo
8152         that calls Err() and Errx().
8153         [c6d02bf42edd]
8154
8155 2004-09-29  Todd C. Miller  <Todd.Miller@courtesan.com>
8156
8157         * lex.yy.c, sudo.tab.c:
8158         regen
8159         [39de7e7c59da]
8160
8161         * CHANGES:
8162         sync
8163         [ba481d9ed1aa]
8164
8165         * visudo.c:
8166         Overhaul visudo for editing multiple files: o visudo has been
8167         broken out into functions (more work needed here) o each file is
8168         now edited before sudoers is re-parsed o if a #include line is
8169         added that file will be edited too
8170
8171         TODO: o cleanup temp files when exiting via err() or errx() o
8172         continue breaking things out into separate functions
8173         [80c35cf534eb]
8174
8175         * parse.lex, sudo.c, sudo.h, testsudoers.c, visudo.c:
8176         Add keepopen arg to open_sudoers that open_sudoers can use to
8177         indicate to the caller that the fd should not be closed when it is
8178         done with it. To be used by visudo to keep locked fds from being
8179         closed prematurely (and thus losing the lock).
8180         [f330fe632470]
8181
8182         * parse.yacc, sudo.c:
8183         Add errorfile global that contains the name of the file that caused
8184         the error.
8185         [98079c7a37ed]
8186
8187         * parse.lex:
8188         return COMMENT to yacc grammar for a #include line
8189         [2024a8de4fa8]
8190
8191         * parse.lex:
8192         Remove us of unput() in favor of yyless() which is cheaper.
8193         [c61291902beb]
8194
8195         * parse.yacc:
8196         Allow an empty sudoers file.
8197         [62fb111db2e7]
8198
8199 2004-09-28  Todd C. Miller  <Todd.Miller@courtesan.com>
8200
8201         * mon_systrace.c:
8202         Rewind sudoers_fp now that sudoers_lookup() doesn't do it for us.
8203         [9e15869ef597]
8204
8205         * lex.yy.c, sudo.tab.c:
8206         regen
8207         [c29bdd43bfad]
8208
8209         * visudo.c:
8210         Do signal setup before calling edit_sudoers(). Don't shadow the
8211         "quiet" global.
8212         [74252efd09ff]
8213
8214         * visudo.c:
8215         If a sudoers file includes other files, edit those too. Does not yes
8216         deal with creating the new includes files itself.
8217         [06af7b9c173f]
8218
8219         * testsudoers.c:
8220         init_parser now takes a path
8221         [b5ee186eb192]
8222
8223         * parse.c, parse.h, parse.lex, parse.yacc:
8224         More scaffolding for dealing with multiple sudoers files: o
8225         init_parser() now takes a path used to populate the sudoers global
8226         o the sudoers global is used to print the correct file in yyerror()
8227         o when switching to a new sudoers file, perserve old file name and
8228         line number
8229         [d9be4970b8bd]
8230
8231         * Makefile.in, pathnames.h.in:
8232         Kill _PATH_SUDOERS_TMP; it is not meaningful now that we can have
8233         multiple sudoers files.
8234         [6ccc4e921c43]
8235
8236         * parse.c, sudo.c:
8237         Rewind sudoers_fp in open_sudoers() instead of sudoers_lookup() so
8238         we start at the right file position when reading include files.
8239         [91fcb961e7a4]
8240
8241         * sudoers.pod:
8242         document #include
8243         [fbb92a25a726]
8244
8245         * lex.yy.c:
8246         regen
8247         [50cd7a4c9dff]
8248
8249         * parse.lex:
8250         Add max depth of 128 for the include stack to avoid loops.
8251
8252         Since yyerror() doesn't stop parsing, pass return values back to
8253         yylex and call yyterminate() on error.
8254         [e79dbffb729d]
8255
8256 2004-09-27  Todd C. Miller  <Todd.Miller@courtesan.com>
8257
8258         * sudoers.pod:
8259         document tracing
8260         [165a467eadd8]
8261
8262         * sudo.pod:
8263         Mention PREVENTING SHELL ESCAPES section of sudoers man page
8264         [3217ccecd834]
8265
8266         * lex.yy.c, sudo.tab.c:
8267         regen
8268         [fbd58d1d3a76]
8269
8270         * parse.lex:
8271         Add support for #include in sudoers (visudo support TBD)
8272         [a78015ca81af]
8273
8274         * parse.yacc:
8275         make yyerror()'s argument const
8276         [7d8e168c019a]
8277
8278         * testsudoers.c, visudo.c:
8279         Add open_sudoers() stubs.
8280         [087466787198]
8281
8282         * sudo.c, sudo.h:
8283         Rename check_sudoers() open_sudoers() and make it return a FILE *
8284         [142fc511fc65]
8285
8286 2004-09-26  Todd C. Miller  <Todd.Miller@courtesan.com>
8287
8288         * BUGS, INSTALL, INSTALL.binary, Makefile.in, README, configure.in,
8289         version.h:
8290         Crank version
8291         [1adc3f839480]
8292
8293         * Makefile.in, sudo.psf:
8294         Better HP-UX depot construction
8295         [2d952b000e63]
8296
8297 2004-09-25  Todd C. Miller  <Todd.Miller@courtesan.com>
8298
8299         * mon_systrace.c:
8300         o Made children global so check_exec() can lookup a child. o
8301         Replaced uid in struct childinfo with struct passwd * (for runas) o
8302         new_child() now takes a parent pid so the runas info can be
8303         inherited o Added find_child() to lookup a child by its pid o
8304         update_child() now fills in a struct passwd o Converted the big
8305         if/else mess in set_policy to a switch o Syscalls that change uid
8306         are now "ask" so we get SYSTR_MSG_UGID events
8307         [29b9ea3f09a3]
8308
8309         * getspwuid.c:
8310         Add flag to sudo_pwdup that indicates whether or not to lookup the
8311         shadow password. Will be used to a struct passwd that has the
8312         shadow password already filled in.
8313         [e19d43dd7238]
8314
8315         * mon_systrace.c:
8316         add missing increment of addr in read_string()
8317         [f9eb0f060cb6]
8318
8319         * mon_systrace.c:
8320         Remove bogus call to update_child() and some cosmetic fixes
8321         [701ab0b97fef]
8322
8323         * mon_systrace.c:
8324         Don't leak /dev/systrace fd to tracee Make initialized global for
8325         simplicity If STRIOCATTACH returns EBUSY we are already being traced
8326         Check for user_args == NULL in setproctitle() call Add missing calls
8327         to STRIOCANSWER
8328         [1956edf9bc3a]
8329
8330         * sudo.c:
8331         g/c sudo_pwdup proto
8332         [b7c4d6249ecb]
8333
8334         * Makefile.in, sudo.psf:
8335         Add target for building a depot file
8336         [357019efd99b]
8337
8338         * mon_systrace.c:
8339         trim includes
8340         [501534428471]
8341
8342 2004-09-24  Todd C. Miller  <Todd.Miller@courtesan.com>
8343
8344         * lex.yy.c, sudo.tab.c, sudo.tab.h:
8345         regen
8346         [52fd250c6986]
8347
8348         * INSTALL:
8349         document --with-systrace
8350         [79623927c94e]
8351
8352         * config.h.in, configure, configure.in:
8353         Add check for setproctitle
8354         [1730cf1c26ed]
8355
8356         * mon_systrace.c:
8357         pass struct str_msg_ask in to syscall checker so it can set the
8358         error code
8359         [1703fd2fdef6]
8360
8361         * mon_systrace.c:
8362         systrace(4) support for sudo. On systems with the systrace(4)
8363         kernel facility (OpenBSD, NetBSD, Linux w/ patches) sudo can
8364         intercept exec calls and check the exec args against the sudoers
8365         file. In other words, sudo can now control subcommands and shell
8366         escapes.
8367         [928c9217c386]
8368
8369         * sudo.c, sudo.h:
8370         Call systrace_attach() if FLAG_TRACE is set.
8371         [014ba9402fa5]
8372
8373         * parse.c, parse.h, parse.lex, parse.yacc, sudo.h:
8374         Add trace Defaults option and TRACE/NOTRACE tags and set FLAG_TRACE
8375         [a99904db5e56]
8376
8377         * parse.c, sudo.c:
8378         Don't close sudoers_fp, keep it open and set close on exec flag
8379         instead.
8380         [43a9fec60bee]
8381
8382         * def_data.c, def_data.h, def_data.in:
8383         Add trace option
8384         [5b643b86730a]
8385
8386         * Makefile.in:
8387         Add systrace
8388         [47a0519c427c]
8389
8390         * INSTALL:
8391         SunOS /bin/sh blows up with configure
8392         [005a23cc5615]
8393
8394         * configure, configure.in:
8395         Include sys/param.h before systrace.h
8396         [9345bc8efecf]
8397
8398         * configure:
8399         regen
8400         [a8f53fcbb254]
8401
8402         * pathnames.h.in:
8403         _PATH_DEV_SYSTRACE
8404         [d2ad1e492a00]
8405
8406         * configure.in:
8407         line up options in --help
8408         [fa51f2821d09]
8409
8410         * config.h.in, configure.in:
8411         Add --with-systrace
8412         [a264d54bc413]
8413
8414 2004-09-23  Todd C. Miller  <Todd.Miller@courtesan.com>
8415
8416         * configure:
8417         regen
8418         [a4dad0bcc523]
8419
8420         * aclocal.m4, configure.in:
8421         make this work with autoconf-2.59
8422         [c4a92b6a684a]
8423
8424 2004-09-16  Todd C. Miller  <Todd.Miller@courtesan.com>
8425
8426         * sudo_edit.c:
8427         Simplify logic around open & stat of files and do sanity on edited
8428         file even if we lack fstat (still racable but worth doing).
8429         [adda65ade70c]
8430
8431 2004-09-15  Todd C. Miller  <Todd.Miller@courtesan.com>
8432
8433         * HISTORY:
8434         Add support url
8435         [bf6590fbde9f]
8436
8437         * Makefile.in:
8438         versino 1.6.8p1
8439         [b84ebfaf1552] [SUDO_1_6_8p1]
8440
8441         * CHANGES:
8442         more changes for 1.6.8p1
8443         [e23a9c0393b6]
8444
8445         * version.h:
8446         1.6.8p1
8447         [872f14504b5f]
8448
8449         * CHANGES, sudo_edit.c:
8450         Add sanity check so we don't try to edit something other than a
8451         regular file.
8452         [350134ec6d4e]
8453
8454 2004-09-15  Aaron Spangler  <aaron777@gmail.com>
8455
8456         * CHANGES:
8457         sync
8458         [3091ca9eae00]
8459
8460         * INSTALL:
8461         document --with-ldap-conf-file
8462         [0e2cd6b896f1]
8463
8464 2004-09-14  Todd C. Miller  <Todd.Miller@courtesan.com>
8465
8466         * CHANGES, ins_csops.h:
8467         political correctness strikes again
8468         [428e8bc77f55]
8469
8470         * RUNSON:
8471         sync
8472         [27f44bd423dc]
8473
8474 2004-09-12  Todd C. Miller  <Todd.Miller@courtesan.com>
8475
8476         * Makefile.binary.in, Makefile.in:
8477         Install sudoedit man link
8478         [19a55234fc1f]
8479
8480         * INSTALL:
8481         Update PAM note and mention where HP-UX users can download gcc
8482         binaries.
8483         [d37cdbbabfd4]
8484
8485         * Makefile.in:
8486         libtool wants to install stuff from .libs so fake one up for binary
8487         installations.
8488         [a681bc6fcfba]
8489
8490         * Makefile.binary.in:
8491         rm -f old sudoedit link instead of using ln -f set LIBTOOL correctly
8492         [3e0c4b3372cc]
8493
8494         * Makefile.in:
8495         Deal with "uname -m" having slashes in it rm -f old sudoedit link
8496         instead of using ln -f
8497         [cff33fb97e5b]
8498
8499         * Makefile.binary, Makefile.binary.in:
8500         Makefile.binary -> Makefile.binary.in for config.status substitution
8501         Add support for installing noexec bits
8502         [37d8bb3483c6]
8503
8504         * Makefile.in:
8505         Copy noexec bits into binary dists too No longer use my old arch
8506         script for making binary dists
8507         [e7058bab9e33]
8508
8509         * Makefile.binary:
8510         Install sudoedit link.
8511         [417d1e101711]
8512
8513 2004-09-11  Todd C. Miller  <Todd.Miller@courtesan.com>
8514
8515         * emul/utime.h:
8516         avoid __P so there is no need for compat.h to be included
8517         [6d8d1f1abf7d]
8518
8519         * utimes.c:
8520         Don't use HAVE_UTIME_H before including config.h.
8521         [013b7bb61181]
8522
8523 2004-09-10  Todd C. Miller  <Todd.Miller@courtesan.com>
8524
8525         * compat.h:
8526         Fix Solatis futimes macro
8527         [d4eda2ca0d29]
8528
8529 2004-09-09  Todd C. Miller  <Todd.Miller@courtesan.com>
8530
8531         * sudo_edit.c:
8532         Rename ots -> omtim for improved readability.
8533         [127ca5bb297c]
8534
8535 2004-09-08  Todd C. Miller  <Todd.Miller@courtesan.com>
8536
8537         * sudo_edit.c:
8538         Redo changes in revision 1.7. Don't really need to keep the temp
8539         file open; re-opening it with the invoking user's euid is
8540         sufficient.
8541         [55a883165a95]
8542
8543         * CHANGES:
8544         sync
8545         [9015b291170d]
8546
8547         * sudo.cat, sudo.man.in:
8548         regen
8549         [c0313f6ed783]
8550
8551         * sudo.pod:
8552         back out revision 1.70; it is no long applicable
8553         [b641d503aff6]
8554
8555         * env.c:
8556         Let the loader initialize nep
8557         [bec192139b02]
8558
8559         * config.h.in, configure, configure.in:
8560         Removed unneed check for fchown Add check for gettimeofday Move
8561         autoheader template stuff into separate AH_TEMPLATE lines
8562         [bfc0edbd43f2]
8563
8564         * check.c, compat.h, fileops.c, sudo.h, sudo_edit.c, visudo.c:
8565         Use timespec throughout.
8566         [1a178a23b69b]
8567
8568         * Makefile.in:
8569         gettime.[co]
8570         [6aeb48a7ab7f]
8571
8572         * gettime.c:
8573         function to return the current time in a struct timespec
8574         [bf8eb12cb63f]
8575
8576         * utimes.c:
8577         Not a darpa-sponsored file.
8578         [121ce5e2036c]
8579
8580 2004-09-07  Todd C. Miller  <Todd.Miller@courtesan.com>
8581
8582         * compat.h, config.h.in, configure, configure.in:
8583         Add a check for struct timespec and provide it for those without.
8584         [42124055030d]
8585
8586         * config.h.in, configure, configure.in, sudo_edit.c:
8587         Add checks for st_mtim and st_mtimespec and add macros for pulling
8588         the mtime sec and nsec out of struct stat. These are used in
8589         sudo_edit() to better tell whether or not the file has changed.
8590         [23debfbb3fab]
8591
8592         * check.c, fileops.c, sudo.h, sudo_edit.c, visudo.c:
8593         Add an extra param to touch() for nsec
8594         [56f7a4ba8ddb]
8595
8596         * sudo_edit.c:
8597         Call mkstemp() as the in invoking user so we don't have to chown the
8598         file later. Only touch() the temp file if we can do it via the file
8599         descriptor. Don't check for modification of the temp file if we lack
8600         fstat(). Catch errors read()ing the temp file.
8601         [665f52c70836]
8602
8603         * fileops.c:
8604         If path is NULL and fd == -1 return -1.
8605         [757a518a824c]
8606
8607         * sudo_edit.c:
8608         closefrom() is overkill, the only extra fds are the ones we opened
8609         so just close those in the child.
8610         [f361c9d2a1f4]
8611
8612         * Makefile.in, aclocal.m4, check.c, compat.h, config.h.in, configure,
8613         configure.in, fileops.c, sudo.h, sudo_edit.c, utime.c, utimes.c,
8614         visudo.c:
8615         Use utimes() and futimes() instead of utime() in touch(), emulating
8616         as needed. Not all systems are able to support setting the times of
8617         an fd so touch() takes both an fd and a file name as arguments.
8618         [3d9276f29717]
8619
8620 2004-09-07  Aaron Spangler  <aaron777@gmail.com>
8621
8622         * env.c:
8623         Rare SEGV
8624         [8995f828782d]
8625
8626 2004-09-06  Todd C. Miller  <Todd.Miller@courtesan.com>
8627
8628         * sudo.cat, sudo.man.in, sudoers.cat, sudoers.man.in, visudo.cat,
8629         visudo.man.in:
8630         regen
8631         [b8e9406711c5]
8632
8633         * sudo.pod, sudoers.pod, visudo.pod:
8634         Add SUPPORT section and re-order some of the sections to match the
8635         order we use in OpenBSD.
8636         [fa37bd917e2c]
8637
8638 2004-09-06  Aaron Spangler  <aaron777@gmail.com>
8639
8640         * env.c:
8641         Openldap ~/.ldaprc fix
8642         [1a37afe6850f]
8643
8644 2004-09-06  Todd C. Miller  <Todd.Miller@courtesan.com>
8645
8646         * sudo.pod:
8647         Talk about how the editor must write its changes to the original
8648         file and not just use rename(2).
8649         [c55ed91c5ee9]
8650
8651         * CHANGES:
8652         sync
8653         [62af26bd37a2]
8654
8655         * sudo_edit.c:
8656         Keep the temp file open instead of re-opening after the editor has
8657         exited.
8658         [de41eeb6dcf2]
8659
8660         * sample.pam:
8661         Update for current redhat/fedora core.
8662         [8cf083077333]
8663
8664 2004-09-03  Aaron Spangler  <aaron777@gmail.com>
8665
8666         * README.LDAP:
8667         tls_ examples
8668         [ba783d88a034]
8669
8670 2004-09-02  Aaron Spangler  <aaron777@gmail.com>
8671
8672         * ldap.c:
8673         config tls_* options
8674         [0b0e0797b3b9]
8675
8676 2004-08-29  Todd C. Miller  <Todd.Miller@courtesan.com>
8677
8678         * configure, configure.in:
8679         No need for -lcrypt when using pam.
8680         [41fff3a53e68]
8681
8682 2004-08-27  Todd C. Miller  <Todd.Miller@courtesan.com>
8683
8684         * configure:
8685         regen
8686         [75820aecce2c]
8687
8688 2004-08-27  Aaron Spangler  <aaron777@gmail.com>
8689
8690         * configure.in, ldap.c, pathnames.h.in:
8691         Allow --with-ldap-conf-file option to override LDAP_CONF
8692         [c9909bc484a5]
8693
8694         * ldap.c:
8695         cleanup debug message
8696         [1f6ca4824d8d]
8697
8698 2004-08-26  Aaron Spangler  <aaron777@gmail.com>
8699
8700         * README.LDAP:
8701         more config info
8702         [f2e7147fd507]
8703
8704 2004-08-24  Todd C. Miller  <Todd.Miller@courtesan.com>
8705
8706         * TODO, find_path.c, goodpath.c, parse.c, sudo.c, sudo.h, visudo.c:
8707         Add cmnd_base to struct sudo_user and set it in init_vars(). Add
8708         cmnd_stat to struct sudo_user and set it in sudo_goodpath(). No
8709         longer use gross statics in command_matches(). Also rename some
8710         variables for improved clarity.
8711         [7169a6c7bea4]
8712
8713 2004-08-21  Todd C. Miller  <Todd.Miller@courtesan.com>
8714
8715         * INSTALL:
8716         document HP's crippled compiler deficiency.
8717         [c405ea5a8d4c]
8718
8719         * INSTALL:
8720         Fix some thinkos in --with-editor and --with-env-editor
8721         descriptions. Noticed by Norihiko Murase.
8722         [dd781de1c985]
8723
8724         * configure, configure.in:
8725         --with-noexec takes an optional PATH argument.
8726         [8f6ab77f22cc]
8727
8728         * INSTALL:
8729         document --with-noexec
8730         [50cb1fc627ce]
8731
8732 2004-08-17  Todd C. Miller  <Todd.Miller@courtesan.com>
8733
8734         * RUNSON, TODO:
8735         sync
8736         [f2503bd13373] [SUDO_1_6_8]
8737
8738         * sudo_edit.c:
8739         Better warning message when sudoedit is unable to write to the
8740         destination file.
8741         [f78c18f2ffa8]
8742
8743         * sudo.cat, sudo.man.in:
8744         regen
8745         [7e2bf63d6d9a]
8746
8747         * sudo.pod:
8748         Don't italicize the string "sudoedit"
8749         [c691643bd269]
8750
8751 2004-08-16  Todd C. Miller  <Todd.Miller@courtesan.com>
8752
8753         * HISTORY:
8754         Mention GratiSoft.
8755         [dc53de581b2d]
8756
8757 2004-08-11  Todd C. Miller  <Todd.Miller@courtesan.com>
8758
8759         * sudo.tab.c:
8760         regen
8761         [8ae0484dfc38]
8762
8763         * parse.yacc:
8764         Reset used_runas to FALSE when re-intializing the parser.
8765         [b7403f353a02]
8766
8767 2004-08-09  Todd C. Miller  <Todd.Miller@courtesan.com>
8768
8769         * config.guess:
8770         Correct OpenBSD mips support
8771         [314fc7afc165]
8772
8773         * config.guess:
8774         Add OpenBSD/mips
8775         [ac87d0a773ef]
8776
8777 2004-08-07  Aaron Spangler  <aaron777@gmail.com>
8778
8779         * README.LDAP:
8780         More behavior notes
8781         [13be1d212b47]
8782
8783         * README.LDAP:
8784         Updates on current behavior
8785         [d498a8866d6f]
8786
8787 2004-08-06  Todd C. Miller  <Todd.Miller@courtesan.com>
8788
8789         * sudoers.pod:
8790         =back does not take an indentlevel (makes no difference to formatted
8791         files).
8792         [9c8523bb382a]
8793
8794         * sudo.pod:
8795         =back does not take an indentlevel (makes no difference to formatted
8796         files).
8797         [e5f479e24fa8]
8798
8799         * CHANGES:
8800         new
8801         [2dbd9aba8b33]
8802
8803         * sudo.c:
8804         Consistency. Use same error for bad -u #uid when targetpw is set as
8805         we do when a bad -u username is specified.
8806         [922961c4a9d6]
8807
8808         * TODO:
8809         Add checksum idea from Steve Mancini
8810         [e6ece1b766ba]
8811
8812         * sudoers.cat, sudoers.man.in:
8813         regen
8814         [370d2317829f]
8815
8816         * sudo.cat, sudo.man.in:
8817         regen
8818         [f93d41fc38b1]
8819
8820         * sudo.pod, sudoers.pod:
8821         Document the restriction on uids specified via -u when targetpw is
8822         set.
8823         [878fedb455db]
8824
8825         * sudo.c:
8826         Error out when targetpw is enabled and sudo is run with -u #uid but
8827         #uid does not exist in the passwd database. We can't do target
8828         authentication when the target is not in passwd!
8829         [27c5888c86eb]
8830
8831         * sudo.cat, sudo.man.in, sudoers.cat, sudoers.man.in:
8832         regen
8833         [ceb65711050c]
8834
8835         * TODO:
8836         Some more todo for the next release.
8837         [7b7417be7601]
8838
8839         * INSTALL:
8840         Make it clear that PAM should be used for DCE support when possible.
8841         [7502029fd385]
8842
8843         * sudoers.pod:
8844         o Document problems with wildcards and relative paths. o Make the
8845         order requirements more prominent. o Change a "set" to "reset" for
8846         clarity.
8847         [bacdd181b33f]
8848
8849 2004-08-05  Todd C. Miller  <Todd.Miller@courtesan.com>
8850
8851         * sudo.pod:
8852         Mention --with-secure-path, not SECURE_PATH.
8853         [41283ddde5e1]
8854
8855 2004-08-03  Aaron Spangler  <aaron777@gmail.com>
8856
8857         * ldap.c:
8858         reflect changes to parse.c
8859         [8880fe9b724d]
8860
8861 2004-08-02  Todd C. Miller  <Todd.Miller@courtesan.com>
8862
8863         * sudo.tab.c:
8864         regen
8865         [a57658ca9177]
8866
8867         * parse.c, parse.h, testsudoers.c, visudo.c:
8868         Don't pass user_cmnd and user_args to command_matches(), just use
8869         the globals there. Since we keep state with statics anyway it is
8870         misleading to pretend that passing in different cmnd and cmnd_args
8871         will work.
8872         [0a2544991fd6]
8873
8874         * parse.yacc:
8875         Don't pass user_cmnd and user_args to command_matches(), just use
8876         the globals there. Since we keep state with statics anyway it is
8877         misleading to pretend that passing in different cmnd and cmnd_args
8878         will work.
8879         [a4910bf6032b]
8880
8881         * parse.c:
8882         Fix a bug introduced in rev. 1.149. When checking for pseudo-
8883         commands check for a '/' anywhere in cmnd, not just the first
8884         character.
8885         [ce98142f03ca]
8886
8887 2004-07-31  Aaron Spangler  <aaron777@gmail.com>
8888
8889         * sudo.man.in, sudo.pod:
8890         Clarification thanks to Olivier Blin <oblin@mandrakesoft.com>
8891         [a91800e094b1]
8892
8893         * sudoers.man.in, sudoers.pod:
8894         Add ignore_local_sudoers
8895         [741ddcbf7083]
8896
8897         * README.LDAP:
8898         Sun One schema definition by Andreas.Bussjaeger@t-systems.com and
8899         janth@moldung.no
8900         [742c02e07cd9]
8901
8902 2004-07-29  Todd C. Miller  <Todd.Miller@courtesan.com>
8903
8904         * CHANGES:
8905         typo
8906         [e7cdefbd7a9a]
8907
8908 2004-07-23  Todd C. Miller  <Todd.Miller@courtesan.com>
8909
8910         * CHANGES:
8911         sync
8912         [734dafc4a85e]
8913
8914         * parse.c:
8915         Parse sudoers file as PERM_RUNAS not PERM_ROOT and remove a useless
8916         PERM_SUDOERS. Restore to PERM_ROOT upon exit of the parse.
8917         [151b7f593568]
8918
8919 2004-07-08  Todd C. Miller  <Todd.Miller@courtesan.com>
8920
8921         * CHANGES:
8922         PAM change
8923         [d8fb6d6a22d0]
8924
8925 2004-07-08  Aaron Spangler  <aaron777@gmail.com>
8926
8927         * ldap.c:
8928         Better debugging of ALL command
8929         [9db3e84029dc]
8930
8931 2004-07-08  Todd C. Miller  <Todd.Miller@courtesan.com>
8932
8933         * parse.c:
8934         When matching for "sudoedit" in sudoers check both the command the
8935         user typed *and* the command that is listed in the sudoers entry.
8936         [f36ca1f94095]
8937
8938 2004-07-04  Aaron Spangler  <aaron777@gmail.com>
8939
8940         * ldap.c:
8941         Added !command feature
8942         [ed539574611b]
8943
8944 2004-06-28  Todd C. Miller  <Todd.Miller@courtesan.com>
8945
8946         * auth/pam.c:
8947         Use pam_acct_mgmt() to check for disabled accounts; Brian Farrell
8948         [2be8e0e8813a]
8949
8950 2004-06-11  Todd C. Miller  <Todd.Miller@courtesan.com>
8951
8952         * LICENSE:
8953         License is ISC-style, not BSD-style
8954         [ac0589e1dd5d]
8955
8956         * CHANGES:
8957         sync
8958         [16058a30f404]
8959
8960 2004-06-10  Todd C. Miller  <Todd.Miller@courtesan.com>
8961
8962         * sudo.cat, sudo.man.in:
8963         regen
8964         [8820eb9c809b]
8965
8966         * sudo.pod:
8967         o Update some out of date bits to reality o Change the shell promt
8968         in examples to bourne-shell style o Clarify some details o Add a
8969         CAVEAT about "sudo cd /foo"
8970         [b0af373214b6]
8971
8972         * check.c:
8973         Don't ask for a password if invoking user == target user.
8974         [dd5c96141132]
8975
8976         * sudo.c:
8977         typo in comment
8978         [278d20f9b249]
8979
8980 2004-06-08  Todd C. Miller  <Todd.Miller@courtesan.com>
8981
8982         * sudoers.cat, sudoers.man.in:
8983         regen
8984         [9036c6f39eff]
8985
8986         * sudoers.pod:
8987         Expand on NOEXEC a little.
8988         [9a13756aebe4]
8989
8990         * TODO:
8991         sync
8992         [8d2c1af48de8]
8993
8994         * visudo.cat, visudo.man.in:
8995         regen
8996         [3921f01607c8]
8997
8998         * sudo.tab.c:
8999         regen
9000         [9338c3d68250]
9001
9002         * visudo.pod:
9003         Add a check in visudo for runas_default being set after it has
9004         already been used.
9005         [6700358d7ad8]
9006
9007         * CHANGES, parse.yacc, visudo.c:
9008         Add a check in visudo for runas_default being set after it has
9009         already been used.
9010         [803560986a8a]
9011
9012         * sudo.tab.c:
9013         regen
9014         [b60636e2cf63]
9015
9016         * parse.yacc:
9017         Add a MATCHED macro for testing whether foo_matches has been set to
9018         TRUE or FALSE. This is more readable than checking for >=0 or < 0.
9019         Doesn't change the actual code generated.
9020         [f376da8ccdc8]
9021
9022 2004-06-07  Todd C. Miller  <Todd.Miller@courtesan.com>
9023
9024         * sudoers.cat:
9025         regen
9026         [6cceb6d6c9bd]
9027
9028         * sudoers.man.in:
9029         regen
9030         [5acd12b730b3]
9031
9032         * sudoers.pod:
9033         Correct description of where Defaults specs should go.
9034         [6b11ff53d7ad]
9035
9036         * sudoers:
9037         Correct description of where Defaults specs should go.
9038         [868db857630d]
9039
9040         * testsudoers.c, visudo.c:
9041         update (c) year
9042         [272c8a53604c]
9043
9044         * logging.h:
9045         update (c) year
9046         [3cec76d400ce]
9047
9048         * ldap.c:
9049         update (c) year
9050         [f264632488a0]
9051
9052         * find_path.c:
9053         update (c) year
9054         [40c227af9227]
9055
9056         * auth/pam.c:
9057         update (c) year
9058         [87149e0eed50]
9059
9060         * auth/bsdauth.c, auth/kerb5.c:
9061         update (c) year
9062         [d72eb434c068]
9063
9064 2004-06-06  Todd C. Miller  <Todd.Miller@courtesan.com>
9065
9066         * sudo.tab.c:
9067         regen
9068         [83408d9e9d2e]
9069
9070         * auth/bsdauth.c, auth/kerb5.c, auth/pam.c, visudo.c:
9071         Remove trailing spaces, no actual code changes.
9072         [4c3bf2819293]
9073
9074         * tgetpass.c:
9075         Remove trailing spaces, no actual code changes.
9076         [96f6e0a24c26]
9077
9078         * ldap.c, logging.h, parse.c, parse.yacc, sudo.c, testsudoers.c:
9079         Remove trailing spaces, no actual code changes.
9080         [c7075d1cbed5]
9081
9082         * getcwd.c:
9083         Remove trailing spaces, no actual code changes.
9084         [776cc0374547]
9085
9086         * find_path.c:
9087         Remove trailing spaces, no actual code changes.
9088         [7ed7099f3c71]
9089
9090         * compat.h, defaults.c, env.c:
9091         Remove trailing spaces, no actual code changes.
9092         [893e83c33795]
9093
9094         * check.c:
9095         Remove trailing spaces, no actual code changes.
9096         [f77750f8803b]
9097
9098         * sudo.tab.c:
9099         regen
9100         [62e0ed883b31]
9101
9102         * parse.yacc:
9103         Fix a >=0 that should be <0 that was improperly converted when
9104         UNSPEC was added.
9105         [ad1531a55a49]
9106
9107         * parse.yacc:
9108         Add do {} while(0) around pop macro Set cmnd_matches to UNSPEC, not
9109         NOMATCH when resetting it.
9110         [ae017a12870a]
9111
9112         * parse.yacc:
9113         Fix pastos introduced in SETNMATCH addition.
9114         [6ea1c9d80681]
9115
9116 2004-06-05  Todd C. Miller  <Todd.Miller@courtesan.com>
9117
9118         * README.LDAP:
9119         Update for configure changes
9120         [637a635da287]
9121
9122         * sudo.tab.c:
9123         regen
9124         [4753c2788713]
9125
9126         * sudo.h:
9127         Add NOMATCH and UNSPEC defines (-1 and -2 respectively) and use
9128         these in parse.yacc. Also in parse.yacc initialize the *_matches
9129         vars to UNSPEC and add two macros, SETMATCH and SETNMATCH for use
9130         when setting *_matches to a value that may be
9131         NOMATCH/UNSPEC/TRUE/FALSE.
9132         [2ba622e15a4d]
9133
9134         * parse.yacc:
9135         Add NOMATCH and UNSPEC defines (-1 and -2 respectively) and use
9136         these in parse.yacc. Also in parse.yacc initialize the *_matches
9137         vars to UNSPEC and add two macros, SETMATCH and SETNMATCH for use
9138         when setting *_matches to a value that may be
9139         NOMATCH/UNSPEC/TRUE/FALSE.
9140         [746b519e41a6]
9141
9142         * parse.yacc:
9143         Initialize runas to -2, not -1 since we need to be able to
9144         distinguish between the initialized value and the value of a non-
9145         match when passing along the runas value to multiple commands.
9146
9147         The result of this is that an unmatched runas is now set to -1, not
9148         0. This is required now that parse.c treats a FALSE value for runas
9149         as being explicitly denied.
9150         [7791ed3621f6]
9151
9152 2004-06-03  Todd C. Miller  <Todd.Miller@courtesan.com>
9153
9154         * sudo.c, visudo.c:
9155         Error out if argc < 1.
9156         [ce6b2a9eda3c]
9157
9158         * getprogname.c:
9159         Error out if argc < 1.
9160         [c566cce8dc78]
9161
9162         * configure, configure.in:
9163         Add tests for what libs we need to link with for ldap and for
9164         whether or not lber.h needs to be explicitly included.
9165         [b2e9729cc4e7]
9166
9167 2004-06-03  Aaron Spangler  <aaron777@gmail.com>
9168
9169         * ldap.c:
9170         Solaris native LDAP build fix
9171         [39929e40eb11]
9172
9173 2004-06-01  Todd C. Miller  <Todd.Miller@courtesan.com>
9174
9175         * ldap.c:
9176         Set edn to NULL is ldap_get_dn() fails to avoid potential use of an
9177         unset variable.
9178         [6a4c20a66f98]
9179
9180         * sudo.h:
9181         Add prototype for sudo_ldap_list_matches
9182         [443b007a8dab]
9183
9184         * configure, configure.in:
9185         Better check for dirfd macro--we now set HAVE_DIRFD for the macro
9186         version too. Added check for dd_fd in `DIR' if no dirfd is found;
9187         this is now used to confitionally define the dirfd macro in
9188         compat.h.
9189         [567656978f7e]
9190
9191         * config.h.in:
9192         Better check for dirfd macro--we now set HAVE_DIRFD for the macro
9193         version too. Added check for dd_fd in `DIR' if no dirfd is found;
9194         this is now used to confitionally define the dirfd macro in
9195         compat.h.
9196         [34eace4faec8]
9197
9198         * compat.h:
9199         Better check for dirfd macro--we now set HAVE_DIRFD for the macro
9200         version too. Added check for dd_fd in `DIR' if no dirfd is found;
9201         this is now used to confitionally define the dirfd macro in
9202         compat.h.
9203         [8d50ff1bbf2a]
9204
9205         * closefrom.c:
9206         Only check /proc/$$/fd if we have the dirfd function/macro.
9207         [15e3ccce7553]
9208
9209         * compat.h, config.h.in, configure, configure.in:
9210         Add a check for a dirfd() function (like Linux) and add a dirfd
9211         macro in compat.h if there is no dirfd() function or macro.
9212         [1e95756edb50]
9213
9214         * closefrom.c, getcwd.c:
9215         dirfd() is now defined in compat.h as needed.
9216         [bb1d79271188]
9217
9218         * CHANGES:
9219         Clarify closefrom() note.
9220         [f4e4a5508dda]
9221
9222         * parse.c:
9223         When checking for a command in the directory, only copy the base dir
9224         once.
9225         [7a3276808b87]
9226
9227         * closefrom.c:
9228         If there is a /proc/$$/fd directory, behave like the Solaris
9229         closefrom() and only close the descriptors listed therein.
9230         [19de23779e84]
9231
9232         * alloc.c:
9233         compat.h guarantees INT_MAX is defined.
9234         [1bf0c79d4606]
9235
9236         * compat.h:
9237         Add definitions of OPEN_MAX and INT_MAX for those without it and
9238         remove definition of RLIM_INFINITY (now unused).
9239         [f827d1ebf96e]
9240
9241         * CHANGES, alloc.c, check.c, compat.h, find_path.c, getcwd.c, parse.c,
9242         sudo.c, sudo.h, visudo.c:
9243         Use PATH_MAX, not MAXPATHLEN since the former is standardized.
9244         [59788f211c24]
9245
9246 2004-05-31  Todd C. Miller  <Todd.Miller@courtesan.com>
9247
9248         * CHANGES:
9249         sync
9250         [d32fa124f1ad]
9251
9252         * RUNSON:
9253         Add some entries that were mailed in a while ago
9254         [ff8d5bfec54e]
9255
9256         * closefrom.c:
9257         o sysconf returns a long, not an int. o check for negative return
9258         value from sysconf/getdtablesize and use OPEN_MAX in this case. o
9259         define OPEN_MAX to 256 for those without it (a fair guess...)
9260         [ccf81ae6deb2]
9261
9262 2004-05-30  Todd C. Miller  <Todd.Miller@courtesan.com>
9263
9264         * UPGRADE:
9265         Mention change in parse order for RunAs entries.
9266         [dc73b0bca617]
9267
9268         * configure:
9269         regen
9270         [07cce8e0534e]
9271
9272 2004-05-29  Todd C. Miller  <Todd.Miller@courtesan.com>
9273
9274         * INSTALL, README.LDAP, config.h.in, configure.in:
9275         o --with-ldap now takes an optional dir as a parameter o added
9276         check for ldap_initialize() and start_tls_s()
9277         [2b846c7974c6]
9278
9279         * README.LDAP:
9280         Fix some typos, word choice and formatting issues.
9281         [00dc8ca84b10]
9282
9283 2004-05-28  Todd C. Miller  <Todd.Miller@courtesan.com>
9284
9285         * tgetpass.c:
9286         Use SA_INTERRUPT so SunOS works correctly, avoid stdio and just use
9287         read/write as it is simpler.
9288         [30f5446ee8b0]
9289
9290         * configure, configure.in:
9291         Remove hack overriding cross-compiler check. It should no longer be
9292         needed.
9293         [22a6cbd88608]
9294
9295         * compat.h:
9296         Remove select() compat bits since we no longer use select().
9297         [d7bbf7cd36f5]
9298
9299         * CHANGES, tgetpass.c:
9300         Use alarm() instead of select() for the timeout for systems that
9301         don't fully/properly implement select().
9302         [d7cc60f15800]
9303
9304 2004-05-27  Todd C. Miller  <Todd.Miller@courtesan.com>
9305
9306         * CHANGES:
9307         synbc
9308         [132a39788e07]
9309
9310         * RUNSON:
9311         update
9312         [61ef508380c6]
9313
9314         * set_perms.c:
9315         Deal with systems that have no way of setting the effective uid such
9316         as nsr-tandem-nsk.
9317         [306e00e9b5a4]
9318
9319         * configure, configure.in:
9320         Define NO_SAVED_IDS if we don't find seteuid()
9321         [8588f18345cf]
9322
9323         * config.h.in, configure, configure.in:
9324         Add back check for setreuid() since NSK doesn't have it.
9325         [43127bd703d1]
9326
9327         * sudoers.cat, sudoers.man.in:
9328         regen
9329         [af4f4b20e422]
9330
9331         * CHANGES:
9332         sync
9333         [29ca3b699c24]
9334
9335         * BUGS:
9336         sync
9337         [3593f17f72ed]
9338
9339         * parse.c:
9340         In sudoers_lookup() return VALIDATE_NOT_OK if the runas user was
9341         explicitly denied and the command matched. This fixes a long-
9342         standing bug and makes: foo machine = (ALL) /usr/bin/blah
9343         foo machine = (!bar) /usr/bin/blah
9344
9345         equivalent to: foo machine = (ALL, !bar) /usr/bin/blah
9346         [2f5ee244985a]
9347
9348         * sudoers.pod:
9349         Clarify mail_noperm
9350         [3238b2d41989]
9351
9352 2004-05-20  Aaron Spangler  <aaron777@gmail.com>
9353
9354         * Makefile.in:
9355         Missing DESTDIR in make install for sudo_noexec.la
9356         [91431e821525]
9357
9358 2004-05-17  Todd C. Miller  <Todd.Miller@courtesan.com>
9359
9360         * sudo.cat, sudo.man.in, sudoers.cat, sudoers.man.in, visudo.cat,
9361         visudo.man.in:
9362         regen
9363         [cdfde0dcb556]
9364
9365         * TODO:
9366         sync
9367         [4799b7d8b62c]
9368
9369         * sudoers.pod:
9370         Remove fastboot/fasthalt (who still remembers these?) and add a
9371         minimal sudoedit example.
9372         [19d299f233cd]
9373
9374         * sample.sudoers:
9375         Remove fastboot/fasthalt (who still remembers these?) and add a
9376         minimal sudoedit example.
9377         [b1bca73d6250]
9378
9379         * UPGRADE, sudo.c, visudo.c:
9380         filesystem -> file system
9381         [1e1afaf30469]
9382
9383         * TROUBLESHOOTING:
9384         filesystem -> file system
9385         [39fb594e9338]
9386
9387         * CHANGES, INSTALL:
9388         filesystem -> file system
9389         [85948b608ffe]
9390
9391         * sudo.pod, sudoers.pod:
9392         Fix some minor typos and formatting goofs
9393         [e94d243a0b90]
9394
9395         * lex.yy.c:
9396         regen
9397         [2eed0ab1f4c4]
9398
9399         * visudo.pod:
9400         remove my email addr
9401         [b63262c0389b]
9402
9403         * sudo.pod, sudoers.pod, visudo.pod:
9404         Use @mansectform@ and @mansectsu@ everywhere Make man page
9405         references links with L<>
9406         [f459f4b9ddb9]
9407
9408         * parse.lex:
9409         Accept quoted globbing characters and pass them verbatim for
9410         fnmatch()
9411         [8248b86e9380]
9412
9413         * UPGRADE:
9414         Document that /tmp/.odus is gone.
9415         [3667b66af5bb]
9416
9417         * pathnames.h.in:
9418         No longer use /tmp/.odus as a possible timestamp dir unless
9419         specifically configured to do so. Instead, if no /var/run exists,
9420         use /var/adm/sudo or /usr/adm/sudo.
9421         [48d94c9f9ad4]
9422
9423         * configure:
9424         No longer use /tmp/.odus as a possible timestamp dir unless
9425         specifically configured to do so. Instead, if no /var/run exists,
9426         use /var/adm/sudo or /usr/adm/sudo.
9427         [058d7b8cf07b]
9428
9429         * aclocal.m4:
9430         No longer use /tmp/.odus as a possible timestamp dir unless
9431         specifically configured to do so. Instead, if no /var/run exists,
9432         use /var/adm/sudo or /usr/adm/sudo.
9433         [cf52c4c2803f]
9434
9435         * CHANGES:
9436         No longer use /tmp/.odus as a possible timestamp dir unless
9437         specifically configured to do so. Instead, if no /var/run exists,
9438         use /var/adm/sudo or /usr/adm/sudo.
9439         [6058c4cefcec]
9440
9441         * set_perms.c, sudo.c, tgetpass.c, visudo.c:
9442         Preliminary changes to support nsr-tandem-nsk. Based on patches
9443         from Tom Bates.
9444         [2e5f81834383]
9445
9446         * logging.c:
9447         Preliminary changes to support nsr-tandem-nsk. Based on patches
9448         from Tom Bates.
9449         [934bbe6872b6]
9450
9451         * check.c, compat.h:
9452         Preliminary changes to support nsr-tandem-nsk. Based on patches
9453         from Tom Bates.
9454         [390b698b5924]
9455
9456 2004-05-16  Todd C. Miller  <Todd.Miller@courtesan.com>
9457
9458         * CHANGES:
9459         There was no 1.6.7p6.
9460         [8013d2e6b062]
9461
9462         * BUGS, CHANGES:
9463         sync
9464         [c38b41f32857]
9465
9466         * Makefile.in:
9467         add missing files to DISTFILES
9468         [e6a80ad03039]
9469
9470         * sudo.cat, sudoers.cat, visudo.cat:
9471         regen
9472         [027bc9746dd5]
9473
9474         * sudoers.man.in:
9475         regen
9476         [f5e85ef686cf]
9477
9478         * Makefile.in:
9479         Fix some line wrap and update (c) year
9480         [bad1f46aa1ca]
9481
9482 2004-04-28  Aaron Spangler  <aaron777@gmail.com>
9483
9484         * README.LDAP:
9485         Build Note
9486         [7a061248249b]
9487
9488 2004-04-07  Aaron Spangler  <aaron777@gmail.com>
9489
9490         * Makefile.in:
9491         Fix install-dirs
9492         [be0726dd92e7]
9493
9494 2004-04-05  Todd C. Miller  <Todd.Miller@courtesan.com>
9495
9496         * sudo.tab.c:
9497         regen
9498         [3f4f0d1ab8b9]
9499
9500         * visudo.c:
9501         In Exit() when used as a signal handler, emsg is a pointer so
9502         sizeof() is wrong so make it a #define instead. Also avoid using a
9503         negative exit value. Found by Aaron Campbell
9504         [78716a3a3fdc]
9505
9506 2004-03-24  Todd C. Miller  <Todd.Miller@courtesan.com>
9507
9508         * sudoers.pod:
9509         Remove bogus sentence about uids in a User_List. Document usernames
9510         vs. uid parsing in a Runas_List.
9511         [7ca510b5031c]
9512
9513         * parse.c, parse.h, parse.yacc, sudo.c, testsudoers.c, visudo.c:
9514         If the user specified a uid with the -u flag and the uid exists in
9515         the passwd file, set runas_user to the name, not the uid.
9516
9517         When comparing usernames in sudoers, if a name is really a uid
9518         (starts with '#') compare it numerically to pw_uid.
9519         [8d6935d04673]
9520
9521 2004-03-22  Todd C. Miller  <Todd.Miller@courtesan.com>
9522
9523         * auth/kerb5.c:
9524         krb5_mcc_ops should be const; Johnny C. Lam
9525         [aa8c753e426e]
9526
9527 2004-02-28  Aaron Spangler  <aaron777@gmail.com>
9528
9529         * CHANGES, config.h.in, ldap.c:
9530         Added start_tls support
9531         [7ef864c15b69]
9532
9533 2004-02-14  Todd C. Miller  <Todd.Miller@courtesan.com>
9534
9535         * Makefile.in:
9536         Clean up libtool stuff for 'make distclean' and add def_data.c,
9537         def_data.h to PARSESRCS.
9538         [bf9bb6bb06ab]
9539
9540 2004-02-14  Aaron Spangler  <aaron777@gmail.com>
9541
9542         * strlcat.c, strlcpy.c:
9543         Un-Fix last license munge
9544         [42654b77ac71]
9545
9546 2004-02-13  Todd C. Miller  <Todd.Miller@courtesan.com>
9547
9548         * configure:
9549         regen
9550         [e4de6b23a4dc]
9551
9552         * CHANGES, RUNSON, TODO:
9553         checkpoint
9554         [94e1ace84d5c]
9555
9556         * lex.yy.c, sudo.tab.c:
9557         regen
9558         [8ce784505643]
9559
9560         * auth/passwd.c, auth/rfc1938.c, auth/secureware.c, auth/securid.c,
9561         auth/securid5.c, auth/sia.c, auth/sudo_auth.c, auth/sudo_auth.h,
9562         emul/search.h, emul/utime.h:
9563         More to a less restrictive, ISC-style license.
9564         [a31b20e48003]
9565
9566         * auth/kerb5.c, auth/pam.c:
9567         More to a less restrictive, ISC-style license.
9568         [e41f92b41216]
9569
9570         * auth/dce.c, auth/fwtk.c, auth/kerb4.c:
9571         More to a less restrictive, ISC-style license.
9572         [87534c164a52]
9573
9574         * auth/bsdauth.c:
9575         More to a less restrictive, ISC-style license.
9576         [e21be6594b58]
9577
9578         * auth/afs.c, auth/aix_auth.c, zero_bytes.c:
9579         More to a less restrictive, ISC-style license.
9580         [6d234be91c5e]
9581
9582         * sudoers.man.in, sudoers.pod, testsudoers.c, tgetpass.c, visudo.c,
9583         visudo.man.in, visudo.pod:
9584         More to a less restrictive, ISC-style license.
9585         [b02aea324fd6]
9586
9587         * sudo_noexec.c:
9588         More to a less restrictive, ISC-style license.
9589         [a6da7631e0b2]
9590
9591         * strlcat.c, strlcpy.c, sudo.c, sudo.h, sudo.man.in, sudo.pod,
9592         sudo_edit.c:
9593         More to a less restrictive, ISC-style license.
9594         [71cdcc241e94]
9595
9596         * sigaction.c, strerror.c:
9597         More to a less restrictive, ISC-style license.
9598         [4bccdedca58a]
9599
9600         * ldap.c, logging.c, logging.h, parse.c, parse.h, pathnames.h.in,
9601         set_perms.c:
9602         More to a less restrictive, ISC-style license.
9603         [64d772d70ab3]
9604
9605         * getspwuid.c, goodpath.c, ins_2001.h, ins_classic.h, ins_csops.h,
9606         ins_goons.h, insults.h, interfaces.c, interfaces.h:
9607         More to a less restrictive, ISC-style license.
9608         [520381c60a54]
9609
9610         * find_path.c, getprogname.c:
9611         More to a less restrictive, ISC-style license.
9612         [f605d5eab6f1]
9613
9614         * fileops.c:
9615         More to a less restrictive, ISC-style license.
9616         [4129a8b38a67]
9617
9618         * env.c:
9619         More to a less restrictive, ISC-style license.
9620         [d5bd859757de]
9621
9622         * defaults.h:
9623         More to a less restrictive, ISC-style license.
9624         [008f5d5743f5]
9625
9626         * LICENSE, Makefile.in, alloc.c, check.c, closefrom.c, compat.h,
9627         defaults.c:
9628         More to a less restrictive, ISC-style license.
9629         [d8d7bfc8a18b]
9630
9631         * utime.c, version.h:
9632         More to a less restrictive, ISC-style license.
9633         [e2e038ad8209]
9634
9635         * parse.lex, parse.yacc:
9636         More to a less restrictive, ISC-style license.
9637         [2f5942e847a1]
9638
9639         * Makefile.binary:
9640         More to a less restrictive, ISC-style license.
9641         [1ed561734535]
9642
9643 2004-02-13  Aaron Spangler  <aaron777@gmail.com>
9644
9645         * sudoers2ldif:
9646         Merged in LDAP Support
9647         [3994c4d05947]
9648
9649         * ldap.c, sudo.c, sudo.h:
9650         Merged in LDAP Support
9651         [547eaa346fcc]
9652
9653         * def_data.c, def_data.h, def_data.in:
9654         Merged in LDAP Support
9655         [8fb255280e42]
9656
9657         * CHANGES, Makefile.in, README.LDAP, config.h.in, configure.in:
9658         Merged in LDAP Support
9659         [1038092a161e]
9660
9661 2004-02-08  Todd C. Miller  <Todd.Miller@courtesan.com>
9662
9663         * sudo.h, sudo_noexec.c:
9664         Only do "extern int errno" if errno is not a macro.
9665         [b2e02a08be8b]
9666
9667 2004-02-06  Todd C. Miller  <Todd.Miller@courtesan.com>
9668
9669         * set_perms.c:
9670         setreuid(0, 0) fails on QNX if the euid is not already 0 so set the
9671         euid first, then just call setuid(0) to set the real uid too.
9672         [f08546e2e0ee]
9673
9674         * set_perms.c:
9675         Use setresuid() and setreuid() for PERM_RUNAS when appropriate
9676         instead of seteuid() which may not exist.
9677         [ba508581befb]
9678
9679 2004-02-04  Todd C. Miller  <Todd.Miller@courtesan.com>
9680
9681         * LICENSE:
9682         2004
9683         [37425513a342]
9684
9685         * INSTALL, config.h.in, configure, configure.in, ins_classic.h:
9686         Add --with-pc-insults configure option
9687         [7daa5294c17b]
9688
9689         * visudo.man.in:
9690         Prefer VISUAL over EDITOR like old vipw did.
9691         [996252a4ab65]
9692
9693 2004-02-01  Todd C. Miller  <Todd.Miller@courtesan.com>
9694
9695         * sudo.man.in, sudoers.man.in:
9696         regen
9697         [a247f1c52eb9]
9698
9699         * sudoers.pod:
9700         Add a note that noexec is not a cure-all.
9701         [9e7fc535367d]
9702
9703         * sudoers.pod:
9704         Mention that disabling "root_sudo" is pretty pointless.
9705         [f38a415afba0]
9706
9707         * configure, configure.in:
9708         Substitute for root_sudo in sudoers.pod
9709         [ce483cfc86be]
9710
9711         * sudo.pod:
9712         Add sudoedit to the NAME section
9713         [51bc453ec2f6]
9714
9715         * sudoers.pod:
9716         Document that fact that setting ignore_dot in sudoers has no effect
9717         due to the fact that find_path() is called *before* sudoers is read.
9718         [6808df7e417c]
9719
9720 2004-01-30  Todd C. Miller  <Todd.Miller@courtesan.com>
9721
9722         * sudo_edit.c:
9723         Do not require _PATH_USRTMP to be set.
9724         [546f3270dd10]
9725
9726         * BUGS, CHANGES, TODO:
9727         sync
9728         [4205ddeab781]
9729
9730         * sudo.man.in:
9731         regen
9732         [e2143690a88a]
9733
9734         * sudo.pod:
9735         Clarify that when sudo is run by root with the SUDO_USER variable
9736         set, the sudoers lookup happens for root and not the SUDO_USER user.
9737         [47207bec1bdf]
9738
9739 2004-01-29  Todd C. Miller  <Todd.Miller@courtesan.com>
9740
9741         * auth/pam.c, auth/sudo_auth.c, interfaces.c, logging.c, parse.c,
9742         set_perms.c, sigaction.c, sudo.c, tgetpass.c:
9743         Use the SET, CLR and ISSET macros.
9744         [a8b0d7f1e8fd]
9745
9746         * fnmatch.c:
9747         Use the SET, CLR and ISSET macros.
9748         [1afbcba22ba6]
9749
9750         * defaults.c, env.c:
9751         Use the SET, CLR and ISSET macros.
9752         [2f39431e0a49]
9753
9754         * interfaces.h:
9755         MAIN was replaced with _SUDO_MAIN some time ago.
9756         [ea1b38f2ac9d]
9757
9758         * sudo.c:
9759         Don't look at prev_user until after we've parsed sudoers and done
9760         the password check. That way, if sudo/sudoedit is run from a root
9761         process that was invoked by sudo, we check sudoers for root, not the
9762         previous user. This makes sudoedit much more useful and means that
9763         for the sudo case, we get correct logging on who actually ran the
9764         command.
9765         [431dfbf20552]
9766
9767 2004-01-23  Todd C. Miller  <Todd.Miller@courtesan.com>
9768
9769         * sudo_edit.c:
9770         Add a comment describing why we need to be notified about our child
9771         stopping.
9772         [0bec3ce4b49d]
9773
9774 2004-01-22  Todd C. Miller  <Todd.Miller@courtesan.com>
9775
9776         * def_data.c, def_data.in:
9777         Update the noexec variable descriptions
9778         [9cb7f1aa0e57]
9779
9780         * sudoers.man.in, sudoers.pod:
9781         noexec now replaces more than just execve()
9782         [23cbdc0ee95c]
9783
9784         * sudo_noexec.c:
9785         Alas, all the world does not go through execve(2). Many systems
9786         still have an execv(2) system call, Linux 2.6 provides fexecve(2)
9787         and it is not uncommon for libc to have underscore ('_') versions of
9788         the functions to be used internally by the library. Instead of
9789         stubbing all these out by hand, define a macro and let it do the
9790         work. Extra exec functions pointed out by Reznic Valery.
9791         [9fa0cd871b0c]
9792
9793         * sudo.c, sudo_edit.c:
9794         Fix suspending the editor in -e mode. Because we do a fork() first
9795         we need to be notified when the child has been stopped and then send
9796         that same signal to ourself so the shell can do its job control
9797         thing.
9798         [773165eb6057]
9799
9800         * visudo.c:
9801         Use WIFEXITED and WEXITSTATUS macros. If there are systems out
9802         there that want to run sudo that still don't support these we can
9803         try to deal with that later.
9804         [6af68e4aff60]
9805
9806         * lex.yy.c:
9807         regen
9808         [403435317d5d]
9809
9810         * sudo.man.in, sudo.pod, sudoers.man.in, sudoers.pod:
9811         Document sudo -e / sudoedit
9812         [a80f6ea910af]
9813
9814         * configure, configure.in:
9815         fix typo
9816         [5020fcdc27f4]
9817
9818         * config.h.in, configure.in:
9819         Add SET/CLR/ISSET
9820         [03ff57286e7e]
9821
9822 2004-01-21  Todd C. Miller  <Todd.Miller@courtesan.com>
9823
9824         * sudo.c:
9825         Allow non-exclusive flags when invoked as sudoedit. Pretty print the
9826         long usage() line to not wrap (assumes 80 char display)
9827         [3941fa4004bb]
9828
9829         * Makefile.in, sudo.c:
9830         If sudo is invoked as "sudoedit" the -e flag is implied and no other
9831         flags are permitted.
9832         [929670b01293]
9833
9834         * sudo.h:
9835         Add a new flag, -e, that makes it possible to give users the ability
9836         to edit files with the editor of their choice as the invoking user,
9837         not the runas user. Temporary files are used for the actual edit
9838         and the temp file is copied over the original after the editor is
9839         done.
9840         [c4051414c1f4]
9841
9842         * Makefile.in, parse.c, parse.lex, sudo.c, sudo_edit.c:
9843         Add a new flag, -e, that makes it possible to give users the ability
9844         to edit files with the editor of their choice as the invoking user,
9845         not the runas user. Temporary files are used for the actual edit
9846         and the temp file is copied over the original after the editor is
9847         done.
9848         [37ac05c8ac3c]
9849
9850         * env.c, sudo.c:
9851         If real uid == 0 and the SUDO_USER environment variables is set, use
9852         that to determine the invoking user's true identity. That way the
9853         proper info gets logged by someone who has done "sudo su" but still
9854         uses sudo to as root. We can't do this for non-root users since
9855         that would open up a security hole, though perhaps it would be
9856         acceptable to use getlogin(2) on OSes where this a system call (and
9857         doesn't just look in the utmp file).
9858         [c2f9198708a1]
9859
9860         * pathnames.h.in:
9861         Add _PATH_TMP, _PATH_VARTMP and _PATH_USRTMP
9862         [7d9e5768df93]
9863
9864         * config.h.in, configure, configure.in:
9865         Add check for fchown(2)
9866         [a85df18798ed]
9867
9868 2004-01-20  Todd C. Miller  <Todd.Miller@courtesan.com>
9869
9870         * sudo.c:
9871         Back out portions of the -i commit that set NewArgv[0] in
9872         set_runaspw. It is far to late to set NewArgv[0] there and will have
9873         no effect anyway as cmnd and safe_cmnd have already been set.
9874         [c2d343430c1c]
9875
9876         * visudo.c, visudo.pod:
9877         Prefer VISUAL over EDITOR like old vipw did.
9878         [ae32f477cea3]
9879
9880 2004-01-19  Todd C. Miller  <Todd.Miller@courtesan.com>
9881
9882         * env.c, sudo.c:
9883         In -i mode always set new environment based on the runas user's
9884         passwd entry.
9885         [fa653b7887a8]
9886
9887 2004-01-18  Todd C. Miller  <Todd.Miller@courtesan.com>
9888
9889         * sudo.man.in, sudo.pod:
9890         Document the new -i flag and sync SYNOPSIS section with usage() in
9891         sudo.c. Also sort the flags in the OPTIONS section.
9892         [6aabc0ffc47e]
9893
9894         * sudo.c, sudo.h:
9895         o Add -i that acts similar to "su -", based on patches from David J.
9896         MacKenzie o Sort the flags in the usage message
9897         [c0fe7d6beffd]
9898
9899         * sudoers.man.in, sudoers.pod:
9900         Add a missing @runas_default@ substitution.
9901         [60516fe2d090]
9902
9903 2004-01-17  Todd C. Miller  <Todd.Miller@courtesan.com>
9904
9905         * sudo.c:
9906         Change euid to runas user before calling find_path().
9907         Unfortunately, though runas_user can be modified in sudoers we
9908         haven't parsed sudoers yet.
9909         [f469fdf2e313]
9910
9911         * sudoers.man.in, sudoers.pod:
9912         Add missing defintion of Parameter_List and use single pipes in the
9913         Defaults EBNF definition.
9914         [f7bed6e909bf]
9915
9916         * sudo.c:
9917         Fix a bug when set_runaspw() is used as a callback. We don't want
9918         to reset the contents of runas_pw if the user specified a user via
9919         the -u flag.
9920
9921         Avoid unnecessary passwd lookups in set_authpw(). In most cases we
9922         already have the info in runas_pw.
9923         [efc35623ba09]
9924
9925 2004-01-16  Todd C. Miller  <Todd.Miller@courtesan.com>
9926
9927         * check.c:
9928         Add Stan Lee / Uncle Ben quote to the lecture from RedHat
9929         [ebd5a76ccd7e]
9930
9931         * sudo.h:
9932         Update sudo_getepw() proto and add one for set_runaspw()
9933         [6ed65795c17f]
9934
9935         * parse.c:
9936         If we can't stat the command as root, try as the runas user instead.
9937         [ae713fca0e15]
9938
9939         * testsudoers.c, visudo.c:
9940         Add stub set_runaspw() function
9941         [42aa37050053]
9942
9943         * sudo.c:
9944         Add set_runaspw() function to fill in runas_pw. This will be used
9945         as a callback to update runas_pw when the runas user changes.
9946         [e570aa0088d0]
9947
9948         * env.c, sudo.c:
9949         PERM_RUNAS -> PERM_FULL_RUNAS
9950         [51eec6f9e89a]
9951
9952         * set_perms.c, sudo.h:
9953         Rename PERM_RUNAS -> PERM_FULL_RUNAS and add a PERM_RUNAS that just
9954         changes the euid.
9955         [877c6fe4d12c]
9956
9957         * getspwuid.c:
9958         Make sudo_pwdup() act like OpenBSD pw_dup() and allocate memory in
9959         one chunk for easy free()ing. Also change it from static to extern.
9960         [ab503260a7ec]
9961
9962         * defaults.c, defaults.h:
9963         Add callback support
9964         [a61c4ca983fb]
9965
9966         * mkdefaults:
9967         Add a callback field and use it for runas_default
9968         [96b69c27df5e]
9969
9970         * def_data.c, def_data.in:
9971         Add a callback field and use it for runas_default
9972         [d3e9f06872b8]
9973
9974 2004-01-15  Todd C. Miller  <Todd.Miller@courtesan.com>
9975
9976         * auth/fwtk.c:
9977         Add support for chalnecho and display server responses used by fwtk
9978         >= 2.0
9979         [b1870f7aaf0d]
9980
9981 2004-01-12  Todd C. Miller  <Todd.Miller@courtesan.com>
9982
9983         * sudoers.man.in, sudoers.pod:
9984         ld.so is ld.so.1 on solaris
9985         [2bf9a123fa4c]
9986
9987         * Makefile.in, config.h.in, configure, configure.in, sudo.c, sudo.h:
9988         Use closefrom() instead of doing the equivalent inline.
9989         [7e3ef6072884]
9990
9991         * closefrom.c:
9992         closefrom(3) for systems w/o it
9993         [35caf58bb636]
9994
9995 2004-01-09  Todd C. Miller  <Todd.Miller@courtesan.com>
9996
9997         * sudoers.man.in:
9998         Update from .pod file.
9999         [d4c94fc0e0c9]
10000
10001         * configure, configure.in:
10002         Substitute noexec_file for the sudoers man page
10003         [203d3376a551]
10004
10005         * sudo.man.in, sudo.pod:
10006         Mention noexec
10007         [014375ddbb06]
10008
10009         * sudoers.man.in, sudoers.pod:
10010         Document noexec
10011         [49a65d06201f]
10012
10013         * auth/pam.c, config.h.in, configure.in:
10014         Move PAM_CONST macro definition from config.h to pam.c where it
10015         belongs. We can't have this in config.h since that gets included too
10016         early.
10017         [e64748071637]
10018
10019         * auth/pam.c, config.h.in, configure, configure.in:
10020         Some PAM implementations put their headers in /usr/include/pam
10021         instead of /usr/include/security.
10022         [8cc749e9575c]
10023
10024         * configure.in:
10025         I missed changing the EXEC macro -> EXECV here when I changed this
10026         in config.h.in and sudo.c a while ago.
10027         [6f5afac7789f]
10028
10029         * acsite.m4:
10030         OpenBSD vax/m88k/hppa don't do shared libs
10031         [e4901d958bb7]
10032
10033         * configure, configure.in:
10034         o merge the hpux case entries into a single entry w/ its own sub-
10035         case statement. o HP-UX >= 11 support getspnam(), use it in
10036         preference to getprpwuid()
10037         [0caad428894e]
10038
10039         * configure, configure.in:
10040         eval $shrext so that it expands nicely on MacOS X
10041         [40419343eef8]
10042
10043         * Makefile.in:
10044         Don't lie about making a module, it does the wrong thing on mach
10045         [7629b28f5688]
10046
10047         * ltmain.sh:
10048         Remove requirement that libs must begin with "lib". They don't when
10049         we point directly at the lib using LD_PRELOAD or its equivalent.
10050         [d66f3de6ec85]
10051
10052         * acsite.m4:
10053         Disable support for c++, f77 and java. We don't need it, it takes a
10054         lot of time, and it hosed our check for shared lib support.
10055         [4f5749c52ce4]
10056
10057         * configure:
10058         regen
10059         [160865e9d15f]
10060
10061         * configure.in:
10062         Call AC_ENABLE_SHARED and check the status of enable_shared to know
10063         when shared libs are available.
10064         [42504c1668fc]
10065
10066         * acsite.m4:
10067         Duh, OpenBSD suports shared libs too
10068         [8e3cd9417475]
10069
10070         * config.h.in, configure.in:
10071         Only OpenPAM and Linux PAM use const qualifiers.
10072         [b2f76476e866]
10073
10074         * configure, configure.in:
10075         o No need to check for sed, libtool config does that for us o move
10076         check for --with-noexec until after libtool magic is run so we can
10077         use $can_build_shared and $shrext
10078         [668c656e89cc]
10079
10080         * ltmain.sh:
10081         Don't print a bunch of crap about library installs since we are not
10082         really installing a library.
10083         [83fbcad29fe4]
10084
10085         * env.c:
10086         Make format_env() varargs Add noexec support for Darwin, MacOS X,
10087         Irix, and Tru64
10088         [468885d75d10]
10089
10090         * acsite.m4, ltconfig, ltmain.sh:
10091         Update to libtool 1.5 with local changes: o no ldconfig in the
10092         finish step o assume no libprefix or version is needed
10093         [4961cffc3797]
10094
10095         * sudo_noexec.c:
10096         Fix compilation under K&R
10097         [8b309bf0b1b2]
10098
10099 2004-01-06  Todd C. Miller  <Todd.Miller@courtesan.com>
10100
10101         * CHANGES:
10102         checkpoint
10103         [3c368badab32]
10104
10105         * sudo_noexec.c:
10106         stub execve() that just returns EACCES; used for noexec
10107         functionality
10108         [1297acae283a]
10109
10110         * sudo.tab.h:
10111         Regen w/ updated byacc from OpenBSD; fixes a gcc 3.2 issue with
10112         generated code.
10113         [dcab78c49273]
10114
10115         * sudo.tab.c:
10116         Regen w/ updated byacc from OpenBSD; fixes a gcc 3.2 issue with
10117         generated code.
10118         [0a61c735eabe]
10119
10120 2004-01-05  Todd C. Miller  <Todd.Miller@courtesan.com>
10121
10122         * def_data.c, def_data.h, def_data.in:
10123         Move the environment defaults to the end and shorten a few of the
10124         descriptions.
10125         [66787b9c612c]
10126
10127         * configure, configure.in:
10128         no shared libs on ultris or convexos
10129         [2c5f3c456e32]
10130
10131         * Makefile.in, configure, configure.in:
10132         Build sudo_noexec shared object using libtool; could use some
10133         cleanup.
10134         [373f483555dd]
10135
10136         * acsite.m4, ltconfig, ltmain.sh:
10137         libtool scaffolding
10138         [c903a42e3d90]
10139
10140         * parse.yacc, sudo.tab.c:
10141         Merge the NOPASSWD/PASSWD and NOEXEC/EXEC rules so that order is not
10142         important.
10143         [c6e8a34639a4]
10144
10145         * defaults.c, env.c, lex.yy.c, parse.c, parse.h, parse.lex,
10146         parse.yacc, pathnames.h.in, sudo.c, sudo.h, sudo.tab.c:
10147         update copyright year
10148         [a16372ae1711]
10149
10150         * configure, configure.in, defaults.c, env.c, pathnames.h.in:
10151         Add _PATH_SUDO_NOEXEC and corresponding --with-noexec configure
10152         option. The default value of noexec_file is set to this.
10153         [7d88e1d3c494]
10154
10155         * def_data.c, def_data.h, def_data.in, env.c, lex.yy.c, parse.c,
10156         parse.h, parse.lex, parse.yacc, sudo.c, sudo.h, sudo.tab.c,
10157         sudo.tab.h:
10158         Add support for preloading a shared object containing a dummy
10159         execve() function that just sets error and returns -1. This adds a
10160         "noexec_file" option to load the filename as well as a "noexec" flag
10161         to enable it unconditionally. There is also a NOEXEC tag that can
10162         be attached to specific commands and an EXEC tag to disable it.
10163         [c8b6712feb91]
10164
10165         * mkdefaults:
10166         add missing newline to usage statement
10167         [e84746618362]
10168
10169         * config.h.in, sudo.c:
10170         Rename EXEC macro -> EXECV
10171         [ddaa0c027299]
10172
10173         * logging.c:
10174         Don't truncate usernames to 8 characters in the log message.
10175         [f62a20f27075]
10176
10177         * check.c, sudoers.man.in, sudoers.pod:
10178         Update copyright year
10179         [ca9964054085]
10180
10181         * check.c, def_data.c, def_data.h, def_data.in, sudoers.man.in,
10182         sudoers.pod:
10183         Add a new option, lecture_file, that can be used to point to a
10184         custom sudo lecture.
10185         [940133231216]
10186
10187 2003-12-31  Todd C. Miller  <Todd.Miller@courtesan.com>
10188
10189         * auth/aix_auth.c, auth/bsdauth.c, auth/fwtk.c, auth/pam.c,
10190         auth/sudo_auth.c:
10191         Add a zero_bytes() function to do the equivalent of bzero in such a
10192         way that will heopfully not be optimized away by sneaky compilers.
10193         [161b6d74bfb4]
10194
10195         * zero_bytes.c:
10196         Add a zero_bytes() function to do the equivalent of bzero in such a
10197         way that will heopfully not be optimized away by sneaky compilers.
10198         [d035abf0af94]
10199
10200         * Makefile.in, sudo.h:
10201         Add a zero_bytes() function to do the equivalent of bzero in such a
10202         way that will heopfully not be optimized away by sneaky compilers.
10203         [ff136de3e255]
10204
10205         * err.c:
10206         Use #ifdef __STDC__, not #if __STDC__.
10207         [6889dd6bc51a]
10208
10209 2003-12-30  Todd C. Miller  <Todd.Miller@courtesan.com>
10210
10211         * mkdefaults:
10212         Always put at least one space between the def_* macro name and its
10213         definition.
10214         [6b3ad0e6619a]
10215
10216         * configure, configure.in:
10217         Adjust code for --without-lecture to match new values.
10218         [062aa788a6b9]
10219
10220         * visudo.man.in:
10221         regen after pasto fix
10222         [3deec16906c0]
10223
10224         * sudoers.man.in, sudoers.pod:
10225         Document that "lecture" has changed from a flag to a tuple.
10226         [e2c03062b533]
10227
10228         * check.c, def_data.c, def_data.h, def_data.in, defaults.c,
10229         defaults.h, logging.c, mkdefaults, parse.c, sudo.c, sudo.h:
10230         Add support for tuples in def_data.in; these are implemented as an
10231         enum type. Currently there is only a single tuple enum but in the
10232         future we may have one tuple enum per T_TUPLE entry in def_data.in.
10233         Currently listpw, verifypw and lecture are tuples. This avoids the
10234         need to have two entries (one ival, one str) for pwflags and syslog
10235         values.
10236
10237         lecture is now a tuple with the following values: never, once,
10238         always
10239
10240         We no longer use both an int and string entry for syslog facilities
10241         and priorities. Instead, there are logfac2str() and logpri2str()
10242         functions that get used when we need to print the string values.
10243         [5293f946c836]
10244
10245         * auth/aix_auth.c, auth/bsdauth.c, auth/fwtk.c, auth/pam.c,
10246         auth/rfc1938.c, auth/securid5.c, auth/sia.c, auth/sudo_auth.c,
10247         check.c, def_data.h, defaults.c, defaults.h, env.c, find_path.c,
10248         logging.c, mkdefaults, parse.c, parse.yacc, set_perms.c, sudo.c,
10249         sudo.tab.c, visudo.c:
10250         Create def_* macros for each defaults value so we no longer need the
10251         def_{flag,ival,str,list,mode} macros (which have been removed). This
10252         is a step toward more flexible data types in def_data.in.
10253         [009c02934106]
10254
10255         * TODO:
10256         checkpoint
10257         [0a99a4bb5d15]
10258
10259 2003-12-23  Todd C. Miller  <Todd.Miller@courtesan.com>
10260
10261         * sudo.c:
10262         If we are in -k/-K mode, just spew to stderr. It is not unusual for
10263         users to place "sudo -k" in a .logout file which can cause sudo to
10264         be run during reboot after the YP/NIS/NIS+/LDAP/etc daemon has died.
10265         Previously, this would result in useless mail and logging.
10266         [d282e7ed63af]
10267
10268 2003-12-16  Todd C. Miller  <Todd.Miller@courtesan.com>
10269
10270         * visudo.pod:
10271         fix pasto in VISUAL description
10272         [1c6a6148b5f9]
10273
10274 2003-12-10  Todd C. Miller  <Todd.Miller@courtesan.com>
10275
10276         * configure:
10277         regen
10278         [f44312c63799]
10279
10280         * CHANGES:
10281         checkpoint
10282         [0c42e38f78d5]
10283
10284         * TROUBLESHOOTING:
10285         Some OSes (like Solaris) allow export w/ nosuid too
10286         [973ce85ffa12]
10287
10288 2003-08-12  Todd C. Miller  <Todd.Miller@courtesan.com>
10289
10290         * compat.h:
10291         We don't use FD_ZERO anymore so just define FD_SET (if not already
10292         there).
10293         [d1c8c11905cd]
10294
10295 2003-06-29  Todd C. Miller  <Todd.Miller@courtesan.com>
10296
10297         * auth/pam.c:
10298         Fix a core dump on Solaris by preserving the pam_handle_t we used
10299         during authentication for pam_prep_user(). If we didn't
10300         authenticate (ie: ticket still valid), we call pam_init() from
10301         pam_prep_user(). This is something of a hack; it may be better to
10302         change the auth API and add an auth_final() function that acts like
10303         pam_prep_user().
10304         [f787de49b175]
10305
10306 2003-06-21  Todd C. Miller  <Todd.Miller@courtesan.com>
10307
10308         * set_perms.c:
10309         Add explicit declaration of printerr variable in function header
10310         (was defaulting to int which is OK but oh so K&R :-). From Theo.
10311         [492c2358783f]
10312
10313 2003-06-09  Todd C. Miller  <Todd.Miller@courtesan.com>
10314
10315         * config.h.in, configure.in:
10316         s/HAVE_STOW/USE_STOW/
10317         [4b99e1824ece]
10318
10319         * logging.c:
10320         Also exit waitpid() loop when pid == 0. Fixes a problem where the
10321         sudo process would spin eating up CPU until sendmail finished when
10322         it has to send mail.
10323         [ec3d5792b9b4]
10324
10325 2003-05-30  Todd C. Miller  <Todd.Miller@courtesan.com>
10326
10327         * fnmatch.c:
10328         Remove advertising clause, UCB has disavowed it
10329         [43a26bbd6628]
10330
10331         * fnmatch.3:
10332         Remove advertising clause, UCB has disavowed it
10333         [3ff24291bcfa]
10334
10335 2003-05-22  Todd C. Miller  <Todd.Miller@courtesan.com>
10336
10337         * parse.c:
10338         Don't assume that getgrnam() calls don't modify contents of struct
10339         passwd returned by getpwnam(). On FreeBSD w/ NIS this can happen.
10340         Based on a patch from Kirk Webb.
10341         [5574c68f60f3]
10342
10343 2003-05-06  Todd C. Miller  <Todd.Miller@courtesan.com>
10344
10345         * configure.in:
10346         missing ;;
10347         [22378f2a9d31]
10348
10349         * configure.in:
10350         darwin has a broken setreuid() in at least some versions
10351         [d572aed930d2]
10352
10353         * env.c:
10354         Fix an off by one error when reallocating the environment; Kevin Pye
10355         [3d98e7cf097a]
10356
10357 2003-04-30  Todd C. Miller  <Todd.Miller@courtesan.com>
10358
10359         * sudoers.pod:
10360         Fix User_Spec definition; SEKINE Tatsuo
10361         [49b0da65e090]
10362
10363 2003-04-28  Todd C. Miller  <Todd.Miller@courtesan.com>
10364
10365         * HISTORY:
10366         More info on the early days from Coggs.
10367         [9381ca10b06b]
10368
10369 2003-04-21  Todd C. Miller  <Todd.Miller@courtesan.com>
10370
10371         * auth/kerb5.c:
10372         remove errant semicolon that prevented compilation under heimdal
10373         [d2f2bb73a598]
10374
10375 2003-04-16  Todd C. Miller  <Todd.Miller@courtesan.com>
10376
10377         * testsudoers.c, tgetpass.c, visudo.c, visudo.man.in, visudo.pod:
10378         add DARPA credit on affected files
10379         [7020785ee50d]
10380
10381         * sudoers.pod:
10382         add DARPA credit on affected files
10383         [83b46318750b]
10384
10385         * sigaction.c, strerror.c, sudo.c, sudo.h, sudo.man.in, sudo.pod,
10386         sudoers.man.in:
10387         add DARPA credit on affected files
10388         [d8adf1c2ba22]
10389
10390         * set_perms.c:
10391         add DARPA credit on affected files
10392         [3d79fdabb582]
10393
10394         * pathnames.h.in:
10395         add DARPA credit on affected files
10396         [e334cdda422f]
10397
10398         * logging.c, parse.c:
10399         add DARPA credit on affected files
10400         [8f75f822755b]
10401
10402         * auth/passwd.c, auth/rfc1938.c, auth/secureware.c, auth/securid.c,
10403         auth/securid5.c, auth/sia.c, auth/sudo_auth.c, fileops.c,
10404         find_path.c, getprogname.c, getspwuid.c, goodpath.c, interfaces.c,
10405         interfaces.h:
10406         add DARPA credit on affected files
10407         [da66e28fb3f5]
10408
10409         * auth/kerb5.c, auth/pam.c:
10410         add DARPA credit on affected files
10411         [15da3021b49c]
10412
10413         * auth/afs.c, auth/aix_auth.c, auth/bsdauth.c, auth/dce.c,
10414         auth/fwtk.c, auth/kerb4.c, parse.lex, parse.yacc, utime.c,
10415         version.h:
10416         add DARPA credit on affected files
10417         [868d54cbddea]
10418
10419         * env.c:
10420         add DARPA credit on affected files
10421         [90239f51ef0a]
10422
10423         * defaults.c, defaults.h:
10424         add DARPA credit on affected files
10425         [6a64205fd1eb]
10426
10427         * compat.h:
10428         add DARPA credit on affected files
10429         [316a735783c4]
10430
10431         * Makefile.in, alloc.c, check.c:
10432         add DARPA credit on affected files
10433         [cd939e05c810]
10434
10435         * LICENSE:
10436         slightly different wording for the darpa credit
10437         [e468909c4a21]
10438
10439 2003-04-15  Todd C. Miller  <Todd.Miller@courtesan.com>
10440
10441         * LICENSE:
10442         Add DARPA credit
10443         [8eb20e2cd63e]
10444
10445 2003-04-14  Todd C. Miller  <Todd.Miller@courtesan.com>
10446
10447         * auth/kerb5.c:
10448         Use krb5_princ_component() instead of krb5_princ_realm() for MIT
10449         Kerberos like we did before I messed things up ;-)
10450
10451         Use krb5_principal_get_comp_string() to do the same thing w/
10452         Heimdal. I'm not sure if the component should be 0 or 1 in this
10453         case.
10454
10455         #define ENCTYPE_DES_CBC_MD5 ETYPE_DES_CBC_MD5 for Heimdal since
10456         older versions lack ENCTYPE_DES_CBC_MD5. This is gross and there
10457         should be a configure check for this I guess.
10458         [74919a3933fe]
10459
10460 2003-04-13  Todd C. Miller  <Todd.Miller@courtesan.com>
10461
10462         * sample.sudoers:
10463         builtin -> built-in; Jason McIntyre
10464         [027f2187923e]
10465
10466         * TROUBLESHOOTING, config.h.in, configure, configure.in:
10467         builtin -> built-in; Jason McIntyre
10468         [70b81ac48943]
10469
10470         * sudoers.pod:
10471         built in -> built-in; Jason McIntyre
10472         [da658ef5138d]
10473
10474 2003-04-09  Todd C. Miller  <Todd.Miller@courtesan.com>
10475
10476         * CHANGES:
10477         checkpoint for 1.6.7p3
10478         [da85f989fadf]
10479
10480         * HISTORY:
10481         Update info on the early years @ SUNY-Buffalo from Cliff Spencer.
10482         Amazingly, sudo source from 1985 is available via groups.google.com
10483         [39e0fc85b89f]
10484
10485         * sudo.c:
10486         Don't change rl.rlim_max for RLIMIT_CORE. We need only set
10487         rl.rlim_cur to 0 to turn off core dumps. This may be needed for the
10488         RLIMIT_CORE restoration on some OSes.
10489         [7e2c1a7adfd8]
10490
10491 2003-04-04  Todd C. Miller  <Todd.Miller@courtesan.com>
10492
10493         * auth/kerb5.c:
10494         Make this compile on Heimdal and MIT Kerberos 5
10495         [44c07d615868]
10496
10497         * config.h.in, configure, configure.in:
10498         Check for heimdal even if we found krb5-config and define
10499         HAVE_HEIMDAL.
10500         [aba0126f0059]
10501
10502         * auth/kerb5.c:
10503         Replace ETYPE_DES_CBC_MD5 with ENCTYPE_DES_CBC_MD5. The former is
10504         no longer defined by MIT kerb5 (though it used to be and indeed
10505         remains so in Heimdal).
10506         [e5a6c64d7cd5]
10507
10508 2003-04-03  Todd C. Miller  <Todd.Miller@courtesan.com>
10509
10510         * mkinstalldirs:
10511         Remove newer stuff that passes multiple (possibly duplicate)
10512         directories to "mkdir -p" since that seems to break on Tru64 Unix at
10513         least. This basically brings back what shipped with sudo 1.6.6.
10514         [f2a1abd872b3]
10515
10516 2003-04-02  Todd C. Miller  <Todd.Miller@courtesan.com>
10517
10518         * auth/kerb5.c:
10519         Correct number of args to krb5_principal_get_realm() and fix an
10520         unclosed comment that hid the bug.
10521         [0b37f8ce7824]
10522
10523         * configure:
10524         regen
10525         [1876cb840fe0]
10526
10527         * configure.in:
10528         ++version
10529         [480aff7c048e]
10530
10531         * README:
10532         ++version
10533         [488e0bbff613]
10534
10535         * Makefile.in:
10536         ++version
10537         [97ef63cedc38]
10538
10539         * INSTALL.binary:
10540         ++version
10541         [a506204e77d0]
10542
10543         * INSTALL:
10544         ++version
10545         [555aeba5c2bf]
10546
10547         * CHANGES, version.h:
10548         ++version
10549         [f66985a64063]
10550
10551         * BUGS:
10552         ++version
10553         [ea3573432412]
10554
10555         * configure.in:
10556         use krb5-config to determine Kerberos V details if it exists
10557         [7b46bbdaf774]
10558
10559         * alloc.c, auth/fwtk.c, auth/rfc1938.c, auth/securid.c,
10560         auth/securid5.c, auth/sia.c, check.c, compat.h, defaults.c, env.c,
10561         find_path.c, interfaces.c, logging.c, parse.c, sudo.c, sudo.h,
10562         testsudoers.c, visudo.c:
10563         Use warn/err and getprogname() throughout. The main exception is
10564         openlog(). Since the admin may be filtering logs based on the
10565         program name in the log files, hard code this to "sudo".
10566         [9f180d015cfa]
10567
10568         * Makefile.in:
10569         Add getprogname.c and err.c
10570         [d411c54a07dc]
10571
10572         * configure:
10573         regen
10574         [6d585d391acc]
10575
10576         * config.h.in, configure.in:
10577         Add checks for getprognam(), __progname and err.h
10578         [bcbccf61d34a]
10579
10580         * emul/err.h:
10581         For systems withour err/warn functions.
10582         [1b33118884d9]
10583
10584         * err.c:
10585         For systems withour err/warn functions.
10586         [26721f6b041f]
10587
10588         * getprogname.c:
10589         For systems neither getprogname() nor __progname; uses Argv[0].
10590         [841cf42af1eb]
10591
10592 2003-04-01  Todd C. Miller  <Todd.Miller@courtesan.com>
10593
10594         * CHANGES:
10595         checkpoint for 1.6.7p1
10596         [5bfdaf441dce]
10597
10598         * sudo.c, testsudoers.c:
10599         fix strlcpy() rval check (innocuous)
10600         [e05ac7e0d1f3]
10601
10602         * check.c:
10603         oflow detection in expand_prompt() was faulty (false positives). The
10604         count was based on strlcat() return value which includes the length
10605         of the entire string.
10606         [086c5a0acb25]
10607
10608 2003-03-31  Todd C. Miller  <Todd.Miller@courtesan.com>
10609
10610         * RUNSON, TODO:
10611         checkpoint for the sudo 1.6.7 release
10612         [096bab4da29a] [SUDO_1_6_7]
10613
10614         * CHANGES:
10615         checkpoint for the sudo 1.6.7 release
10616         [87322187ed78]
10617
10618 2003-03-24  Todd C. Miller  <Todd.Miller@courtesan.com>
10619
10620         * logging.c:
10621         g/c unused variable
10622         [c57cd4a17765]
10623
10624         * configure:
10625         regen
10626         [e7c1f581dfac]
10627
10628         * configure.in:
10629         use man sections 8 and 5 for csops
10630         [87de581bda88]
10631
10632 2003-03-21  Todd C. Miller  <Todd.Miller@courtesan.com>
10633
10634         * configure:
10635         regen
10636         [cb1433a9c7a1]
10637
10638         * configure.in:
10639         Add -lskey or -lopie directly to SUDO_LIBS instead of having
10640         AC_CHECK_LIB() add them to LIBS. Fixes visudo linkage.
10641         [ac5667978939]
10642
10643         * configure:
10644         regen
10645         [638459118a2a]
10646
10647         * configure.in:
10648         Add --with-blibpath for AIX. An alternate libpath may be specified
10649         or
10650         -blibpath support can be disabled. Also change conifgure such that
10651         -blibpath is not specified if no -L libpaths were added to
10652         SUDO_LDFLAGS.
10653         [c7d17b480cad]
10654
10655         * aclocal.m4:
10656         Add --with-blibpath for AIX. An alternate libpath may be specified
10657         or
10658         -blibpath support can be disabled. Also change conifgure such that
10659         -blibpath is not specified if no -L libpaths were added to
10660         SUDO_LDFLAGS.
10661         [37022e991575]
10662
10663         * INSTALL:
10664         Add --with-blibpath for AIX. An alternate libpath may be specified
10665         or
10666         -blibpath support can be disabled. Also change conifgure such that
10667         -blibpath is not specified if no -L libpaths were added to
10668         SUDO_LDFLAGS.
10669         [4b4bbe5bbe1b]
10670
10671         * configure.in:
10672         add AIX blibpath support
10673         [16ba788bf086]
10674
10675         * INSTALL, configure.in:
10676         --with-skey and --with-opie now take an option directory argument
10677         This obsoletes a --with-csops hack (/tools/cs/skey)
10678
10679         Also remove the remaining direct uses of "echo"
10680         [5b4986a90c03]
10681
10682 2003-03-20  Todd C. Miller  <Todd.Miller@courtesan.com>
10683
10684         * configure.in:
10685         Detect KTH Kerberos IV and deal with it. Also make -lroken optional
10686         for KTH Kerberos IV and V.
10687         [119f97b48e18]
10688
10689         * aclocal.m4:
10690         Add SUDO_APPEND_LIBPATH function that add -L/path/to/dir (and
10691         -R/path/to/dir if $with_rpath) to the specified variable.
10692         [e55e49d076ce]
10693
10694         * INSTALL, configure.in:
10695         Add -R/path/to/libs for Solaris and SVR4. There is a new configure
10696         option, --with-rpath to control this behavior.
10697         [d4730c5399ab]
10698
10699         * configure.in:
10700         for kerb4 put libdes after libkrb on the link line
10701         [5c566100eab6]
10702
10703         * auth/kerb4.c:
10704         typo
10705         [6541b72b64a3]
10706
10707         * configure.in:
10708         fix kerberos lib check when a path is specified
10709         [ae833a914c6f]
10710
10711         * logging.c:
10712         Fix boolean thinko in SIGCHLD reaper and call reapchild after
10713         sending mail instead of doing a conditional sudo_waitpid.
10714         [86fa9a35df5a]
10715
10716 2003-03-19  Todd C. Miller  <Todd.Miller@courtesan.com>
10717
10718         * configure:
10719         regen
10720         [e6275cf528ba]
10721
10722         * configure.in:
10723         replace =DIR with [=DIR] where sensible
10724         [c39a59173b38]
10725
10726         * configure.in:
10727         o Use AC_MSG_* instead of "echo" o New Kerberos include/lib
10728         detection based on openssh's configure.in
10729         [5b7a340912df]
10730
10731         * INSTALL:
10732         --with-kerb4 and --with-kerb5 now take an optional argument.
10733         [71ed87fc9c64]
10734
10735 2003-03-16  Todd C. Miller  <Todd.Miller@courtesan.com>
10736
10737         * auth/securid.c:
10738         Kill remaining strcpy(), the programmer's guide says username is 32
10739         bytes.
10740         [bdba70fcd08d]
10741
10742         * auth/kerb4.c:
10743         trat uid_t as unsigned long for printf and use snprintf, not sprintf
10744         [8072f5f8966d]
10745
10746         * auth/rfc1938.c:
10747         use snprintf
10748         [fc0c70c665fe]
10749
10750 2003-03-15  Todd C. Miller  <Todd.Miller@courtesan.com>
10751
10752         * auth/afs.c, auth/aix_auth.c, auth/bsdauth.c, auth/dce.c,
10753         auth/fwtk.c, auth/kerb4.c, auth/kerb5.c, auth/pam.c, auth/passwd.c,
10754         auth/rfc1938.c, auth/sudo_auth.c:
10755         update copyright year
10756         [b0a10ccb1d0e]
10757
10758         * sudo.man.in, sudoers.man.in, visudo.man.in:
10759         update copyright year
10760         [8fce0034eb51]
10761
10762         * LICENSE, Makefile.in, aclocal.m4, alloc.c, check.c, compat.h,
10763         configure.in, env.c, find_path.c, interfaces.c, logging.c, parse.c,
10764         parse.lex, parse.yacc, set_perms.c, sudo.c, sudo.h, sudo.pod,
10765         sudoers.pod, testsudoers.c, version.h, visudo.c, visudo.pod:
10766         update copyright year
10767         [d541e75fe520]
10768
10769         * check.c, env.c, sudo.c:
10770         Cast [ug]ids to unsigned long and printf with %lu
10771         [2ede64d3592b]
10772
10773         * configure:
10774         regen
10775         [c7c3245bdf3e]
10776
10777         * configure.in:
10778         correct error messages for --with-sudoers-{mode,uid,gid}
10779         [77fc15b1c9db]
10780
10781         * alloc.c:
10782         make the malloc(0) error specific to each function to aid tracking
10783         down bugs.
10784         [a58c34374b4b]
10785
10786         * alloc.c:
10787         deal with platforms where size_t is signed and there is no SIZE_MAX
10788         or SIZE_T_MAX
10789         [7192abb4ab4e]
10790
10791         * auth/kerb5.c:
10792         Make this compile w/ Heimdal and fix some gcc warnings.
10793         [f52f026f31c2]
10794
10795         * sudo.c:
10796         Use stat_sudoers macro so --with-stow can work
10797         [c3674735c139]
10798
10799         * INSTALL, config.h.in, configure, configure.in:
10800         Add support for --with-stow based on patches from Robert Uhl
10801         [b274cc1dd52c]
10802
10803         * env.c:
10804         fix indentation
10805         [110d9f1721b1]
10806
10807         * configure.in:
10808         back out rev 1.352
10809         [1eee91c83f11]
10810
10811         * lex.yy.c:
10812         regen
10813         [72fba1c9590b]
10814
10815         * parse.lex:
10816         use strlcpy, not strncpy
10817         [4faccbaeccef]
10818
10819         * set_perms.c:
10820         Fix typo; check pw_uid, not pw_gid after setusercontext() failure.
10821         [33bf0d18fdc1]
10822
10823         * logging.c:
10824         use pid_t
10825         [3e0536993d2c]
10826
10827 2003-03-14  Todd C. Miller  <Todd.Miller@courtesan.com>
10828
10829         * strlcat.c, strlcpy.c:
10830         Make gcc shutup about unused rcsid
10831         [1669a0c74e9e]
10832
10833         * interfaces.c:
10834         Move the n == 0 check for the non-getifaddrs cas
10835         [2460be061b2a]
10836
10837         * auth/rfc1938.c:
10838         skeychallenge() on NetBSD take a size parameter
10839         [05acc2012801]
10840
10841         * configure:
10842         regen
10843         [24bccf4749e8]
10844
10845         * configure.in:
10846         put -ldl after -lpam, not before; fixes static linking on Linux
10847         [7f06b7b2b4d8]
10848
10849         * interfaces.c:
10850         Avoid malloc(0) and fix the loop invariant for the getifaddrs()
10851         case.
10852         [239a55068646]
10853
10854         * sudo.cat, sudoers.cat, visudo.cat:
10855         regen
10856         [4a2eed3981ca]
10857
10858         * sudo.man.in, sudoers.man.in, visudo.man.in:
10859         regen
10860         [2c96ea2cf930]
10861
10862         * Makefile.in:
10863         Preserve copyright notice from .pod file in .man.in file
10864         [519fbd09aebc]
10865
10866         * visudo.pod:
10867         Add sudoers(5) to SEE ALSO
10868         [77ecfe3aedf1]
10869
10870 2003-03-13  Todd C. Miller  <Todd.Miller@courtesan.com>
10871
10872         * lex.yy.c:
10873         regen
10874         [6f5751ce0b74]
10875
10876         * parse.lex:
10877         Don't assume libc can realloc() a NULL string. If malloc/realloc
10878         fails, make sure we just return; yyerror() is not terminal.
10879         [1b8618623708]
10880
10881         * lex.yy.c:
10882         regen
10883         [5d31b46191c6]
10884
10885         * parse.lex:
10886         simplify fill_args a little and use strlcpy for paranoia
10887         [0ea35a55542b]
10888
10889         * sudo.tab.c:
10890         regen
10891         [5a8d508d708b]
10892
10893         * check.c, env.c, find_path.c, parse.c, parse.yacc, sudo.c,
10894         testsudoers.c:
10895         Use strlc{at,py} for paranoia's sake and exit on overflow. In all
10896         cases the strings were either pre-allocated to the correct size of
10897         length checks were done before the copy but a little paranoia can go
10898         a long way.
10899         [e73d28f1d14e]
10900
10901         * sudo.h:
10902         Add strlc{at,py} protos
10903         [748ffc7fc7f4]
10904
10905         * env.c, interfaces.c:
10906         Use erealloc3()
10907         [47f2cb46aba8]
10908
10909         * configure:
10910         regen
10911         [e7e2fb79f935]
10912
10913         * alloc.c:
10914         Oflow test of nmemb > SIZE_MAX / size is fine (don't need >=). Use
10915         memcpy() instead of strcpy() in estrdup() so this is strcpy()-free.
10916         [7e0fa4d6fc1d]
10917
10918         * sudo.c:
10919         snprintf() a uid as %lu, not %ld to match the MAX_UID_T_LEN test in
10920         configure.
10921         [09ea4d3959e9]
10922
10923         * aclocal.m4:
10924         In MAX_UID_T_LEN test cast uid_t to unsigned long, just unsigned.
10925         [31b4fdfdb8bf]
10926
10927 2003-03-12  Todd C. Miller  <Todd.Miller@courtesan.com>
10928
10929         * sudo.c:
10930         Use snprintf() for paranoia
10931         [a2659ceb46de]
10932
10933         * parse.yacc:
10934         Use emalloc2 and erealloc3
10935         [90a069842401]
10936
10937         * Makefile.in:
10938         strlc{at,py} for those w/o it
10939         [bac82dc916ee]
10940
10941         * strlcat.c, strlcpy.c:
10942         stlc{at,py} for those w/o it.
10943         [ce7254f5db09]
10944
10945         * config.h.in, configure, configure.in:
10946         Add stlc{at,py} for those w/o it.
10947         [00f08219657a]
10948
10949         * alloc.c, sudo.h:
10950         Add erealloc3(), a realloc() version of emalloc2().
10951         [c96eaf08bbed]
10952
10953         * interfaces.c, sudo.c:
10954         Use emalloc2() to allocate N things of a certain size.
10955         [1e0aba365555]
10956
10957         * alloc.c, sudo.h:
10958         Add emalloc2() -- like calloc() but w/o the bzero and with
10959         error/oflow checking.
10960         [292150bc4153]
10961
10962         * alloc.c:
10963         Error out on malloc(0); suggested by theo
10964         [995279e81326]
10965
10966 2003-03-10  Todd C. Miller  <Todd.Miller@courtesan.com>
10967
10968         * configure, configure.in:
10969         fix a typo; David Krause
10970         [f161213a17ab]
10971
10972 2003-03-07  Todd C. Miller  <Todd.Miller@courtesan.com>
10973
10974         * sudo.pod:
10975         fix typo
10976         [3ae5ad9a351a]
10977
10978 2003-03-04  Todd C. Miller  <Todd.Miller@courtesan.com>
10979
10980         * env.c:
10981         Remove DYLD_ from the environment for MacOS X; from bbraun
10982         [38caad5a3935]
10983
10984 2003-03-01  Todd C. Miller  <Todd.Miller@courtesan.com>
10985
10986         * config.h.in, configure.in:
10987         not not; Anil Madhavapeddy
10988         [d4f4f0bfc66b]
10989
10990 2003-01-23  Todd C. Miller  <Todd.Miller@courtesan.com>
10991
10992         * sudo.pod, sudoers.pod, visudo.pod:
10993         typos; jmc@openbsd.org
10994         [868c0f09bf9e]
10995
10996 2003-01-20  Todd C. Miller  <Todd.Miller@courtesan.com>
10997
10998         * parse.yacc:
10999         Add some missing ';' rule terminators that bison warns about.
11000         [535b0b8dcce5]
11001
11002         * config.sub:
11003         fix typo I introduced in last merge
11004         [81db4e4f43fe]
11005
11006         * configure:
11007         regenerate with autoconf 2.57
11008         [ca0c1e9564f8]
11009
11010         * config.h.in:
11011         Add missing "$HOME"
11012         [209186197ad1]
11013
11014         * configure.in:
11015         Add some more square backets to make autoconf 2.57 happy
11016         [b5639c14faf7]
11017
11018         * config.sub, mkinstalldirs:
11019         Updates from autoconf-2.57
11020         [36be35eb331b]
11021
11022         * config.guess:
11023         Updates from autoconf-2.57
11024         [ea0f8ca622af]
11025
11026 2003-01-17  Todd C. Miller  <Todd.Miller@courtesan.com>
11027
11028         * sudo.tab.h:
11029         regen
11030         [13a65a421567]
11031
11032         * lex.yy.c, sudo.tab.c:
11033         regen
11034         [0b529db7cb6d]
11035
11036         * parse.lex, parse.yacc, sudoers.pod:
11037         Add support for Defaults>RunasUser
11038         [20d726373175]
11039
11040 2003-01-07  Todd C. Miller  <Todd.Miller@courtesan.com>
11041
11042         * visudo.c:
11043         fclose() yyin after each yyparse() is done and use fopen() instead
11044         of using freopen().
11045         [587f8a2df857]
11046
11047         * parse.lex:
11048         Better fix for sudoers files w/o a newline before EOF. It looks
11049         like the issue is that yyrestart() does not reset the start
11050         condition to INITIAL which is an issue since we parse sudoers
11051         multiple times.
11052         [920f8326968a]
11053
11054 2003-01-06  Todd C. Miller  <Todd.Miller@courtesan.com>
11055
11056         * parse.lex:
11057         Work around what appears to be a flex bug when dealing with files
11058         that lack a final newline before EOF. This adds a rule to match EOF
11059         in the non-initial states which resets the state to INITIAL and
11060         throws an error.
11061         [b94943bb1f81]
11062
11063         * visudo.c:
11064         o The parser needs sudoers to end with a newline but some editors
11065         (emacs) may not add one. Check for a missing newline at EOF and
11066         add one if needed. o Set quiet flag during initial sudoers parse (to
11067         get options) o Move yyrestart() call and always use freopen() to
11068         open yyin after initial sudoers parse.
11069         [12d12f9b07aa]
11070
11071 2002-12-15  Todd C. Miller  <Todd.Miller@courtesan.com>
11072
11073         * set_perms.c:
11074         Fix pasto/thinko in setresgid()/setregid() usage. Want to set
11075         effective gid, not real gid, when reading sudoers.
11076         [c7d18b810fcd]
11077
11078         * set_perms.c:
11079         don't compile set_perms_posix if we have setreuid or setresuid
11080         [b9cea7a81a29]
11081
11082 2002-12-14  Todd C. Miller  <Todd.Miller@courtesan.com>
11083
11084         * sudo.pod, sudoers.pod:
11085         document new prompt escapes
11086         [2f088076b640]
11087
11088         * check.c:
11089         Add %U and %H escapes and redo prompt rewriting. "%%" now gets
11090         collapsed to "%" as was originally intended. This also gets rid of
11091         lastchar (does lookahead instead of lookback) which should simplify
11092         the logic slightly.
11093         [4b707b77b3c7]
11094
11095 2002-12-13  Todd C. Miller  <Todd.Miller@courtesan.com>
11096
11097         * tgetpass.c:
11098         Write the prompt *after* turning off echo to avoid some password
11099         characters being echoed on heavily-loaded machines with fast
11100         typists.
11101         [d38c57775915]
11102
11103         * config.sub:
11104         Add support for mipseb; wiz@danbala.tuwien.ac.at
11105         [cfdac87ed5c8]
11106
11107         * configure.in:
11108         Fix IRIX fallout from name changes in man dir/sect Makefile
11109         variables. Patch from erici AT motown DOT cc DOT utexas DOT edu
11110         [9a7618755c23]
11111
11112         * auth/pam.c:
11113         Keep a local copy of tgetpass_flags so we don't add in TGP_ECHO to
11114         the global copy. Problem noted by Peter Pentchev.
11115         [d0a3e189cb06]
11116
11117 2002-11-28  Todd C. Miller  <Todd.Miller@courtesan.com>
11118
11119         * sudo.tab.c:
11120         regen
11121         [23b931359087]
11122
11123         * parse.yacc:
11124         Add missing yyerror() calls; YYERROR does not seem to call this for
11125         us.
11126         [0be7aeb3ac57]
11127
11128 2002-11-26  Todd C. Miller  <Todd.Miller@courtesan.com>
11129
11130         * sudo.c:
11131         fix typo in comment; Pedro Bastos
11132         [d7406c460e99]
11133
11134 2002-11-22  Todd C. Miller  <Todd.Miller@courtesan.com>
11135
11136         * INSTALL:
11137         document --disable-setresuid
11138         [fbd03d03a027]
11139
11140         * auth/aix_auth.c, auth/bsdauth.c, auth/fwtk.c, auth/pam.c,
11141         auth/sudo_auth.c:
11142         Sprinkle some volatile qualifiers to prevent over-enthusiastic
11143         optimizers from removing memset() calls.
11144         [5370ac0e6129]
11145
11146         * logging.c, parse.yacc:
11147         minor sign fixes pointed out by gcc -Wsign-compare
11148         [db872438337f]
11149
11150         * set_perms.c, sudo.c, sudo.h:
11151         Revamp set_perms. We now use a version based on setresuid() or
11152         setreuid() when possible since that allows us to support the
11153         stay_setuid option and we always know exactly what the semantics
11154         will be (various Linux kernels have broken POSIX saved uid support).
11155         [523bc212396c]
11156
11157         * config.h.in, configure:
11158         regen from configure.in
11159         [351877ea2624]
11160
11161         * configure.in:
11162         Add checks for setresuid() and a way to disable using it
11163         [a5b21653d169]
11164
11165         * compat.h:
11166         No long need to emulate set*[ug]id() via setres[ug]id() or
11167         setre[ug]id(). The new set_perms stuff only uses things it knows are
11168         there.
11169         [47884bd5d1d9]
11170
11171         * sudo.c:
11172         Before exec, restore state of signal handlers to be the same as when
11173         we were initialy invoked instead of just reseting to SIG_DFL. Fixes
11174         a problem when using sudo with nohup. Based on a patch from Paul
11175         Markham.
11176         [f8f5a1484faa]
11177
11178         * sudo.c:
11179         o timestamp_uid should be uid_t, not int o clarify error message
11180         when sudo is run by root and no_root_sudo is set
11181         [19dda0734264]
11182
11183 2002-09-19  Todd C. Miller  <Todd.Miller@courtesan.com>
11184
11185         * README:
11186         update ftp link for bison
11187         [98bc191016e3]
11188
11189 2002-07-20  Todd C. Miller  <Todd.Miller@courtesan.com>
11190
11191         * set_perms.c:
11192         Error out if setusercontext() fails and the runas user is not root.
11193         [089f9ade4686]
11194
11195 2002-05-20  Todd C. Miller  <Todd.Miller@courtesan.com>
11196
11197         * auth/securid5.c:
11198         Fix rcsid
11199         [07e9e85dcc2f]
11200
11201         * configure.in:
11202         Fix SecurID API test
11203         [5ec201f454a5]
11204
11205 2002-05-17  Todd C. Miller  <Todd.Miller@courtesan.com>
11206
11207         * env.c:
11208         typo in comment
11209         [9d385c9ac533]
11210
11211         * configure.in:
11212         securid5 stuff needs pthreads. Just adding -lpthread is suboptimal
11213         but I don't see a better way at the moment.
11214         [f89e55cbb313]
11215
11216         * Makefile.in, auth/securid5.c:
11217         SecurID API version 5 support from Michael Stroucken
11218         [68500ac7e531]
11219
11220         * configure.in:
11221         Add check for SecurID 5.0 API
11222         [1ee242e6de6b]
11223
11224 2002-05-08  Todd C. Miller  <Todd.Miller@courtesan.com>
11225
11226         * strerror.c:
11227         We actually do still need config.h to get the 'const' definition for
11228         K&R C.
11229         [d9c982032d85]
11230
11231 2002-05-05  Todd C. Miller  <Todd.Miller@courtesan.com>
11232
11233         * configure:
11234         regen with autoconf 2.5.3
11235         [c71fc086eef5]
11236
11237         * configure.in:
11238         Don't set sysconfdir to '/etc' if the user has specified a --prefix.
11239         [d90da1efafd9]
11240
11241         * configure.in:
11242         Some fixes for autoconf 2.53 from Robert Uhl o don't AC_SUBST
11243         LIBOBJS o force a 4th arg for AC_CHECK_HEADER() to workaround a bug
11244         [dd67afefa90d]
11245
11246         * env.c, sudo.c, sudo.h:
11247         No need for dump_badenv() now that dump_defaults() knows how to dump
11248         lists.
11249         [6bcda468501d]
11250
11251         * BUGS, INSTALL, INSTALL.binary, Makefile.in, README, configure.in,
11252         version.h:
11253         ++version
11254         [44e3b8f95f0b]
11255
11256         * sudoers.pod:
11257         document timestampowner
11258         [37ebd69e9dd1]
11259
11260         * check.c:
11261         Don't call set_perms() when doing timestamp stuff unless
11262         timestamp_uid != 0.
11263         [63a63d41d18c]
11264
11265         * auth/sudo_auth.c, check.c, logging.c, parse.c, set_perms.c, sudo.c,
11266         sudo.h, testsudoers.c:
11267         g/c second arg to set_perms--it is no longer used
11268         [7ac4ce50c612]
11269
11270 2002-05-03  Todd C. Miller  <Todd.Miller@courtesan.com>
11271
11272         * check.c, set_perms.c, sudo.c, sudo.h:
11273         Add support for non-root timestamp dirs. This allows the timestamp
11274         dir to be shared via NFS (though this is not recommended).
11275         [faa83dd2b7fb]
11276
11277         * def_data.c, def_data.h, def_data.in:
11278         Add timestampowner, "Owner of the authentication timestamp dir"
11279         [d47640d4c86a]
11280
11281 2002-05-02  Todd C. Miller  <Todd.Miller@courtesan.com>
11282
11283         * env.c:
11284         Don't try to pre-compute the size of the new envp, just allocate
11285         space up front and realloc as needed. Changes to the new env
11286         pointer must all be made through insert_env() which now keeps track
11287         of spaced used and allocates as needed.
11288         [39bc934a9f2c]
11289
11290 2002-04-26  Todd C. Miller  <Todd.Miller@courtesan.com>
11291
11292         * configure:
11293         regen
11294         [0e12c09bb790]
11295
11296         * configure.in:
11297         Fix two typo/pastos; from jrj@purdue.edu
11298         [b718a4bf1181]
11299
11300 2002-04-25  Todd C. Miller  <Todd.Miller@courtesan.com>
11301
11302         * INSTALL.binary, README:
11303         ++version
11304         [a1e33027278c] [SUDO_1_6_6]
11305
11306         * configure, sudo.cat, sudo.man.in, sudoers.cat, sudoers.man.in,
11307         visudo.cat, visudo.man.in:
11308         regen
11309         [19eb2be283ef]
11310
11311         * CHANGES, RUNSON, TODO:
11312         Sync with 1.6.6
11313         [2ff9a9087f63]
11314
11315         * check.c:
11316         The the loop used to expand %h and %u, the lastchar variable was not
11317         being initialized. This means that if the last char in the prompt
11318         is '%' and the first char is 'h' or 'u' a extra copy of the host or
11319         user name would be copied, for which space had not been allocated.
11320         [b2e27197857d]
11321
11322 2002-04-18  Todd C. Miller  <Todd.Miller@courtesan.com>
11323
11324         * BUGS, INSTALL, Makefile.in, configure.in, version.h:
11325         crank version to 1.6.6
11326         [cfd08689e597]
11327
11328         * auth/afs.c:
11329         #undef VOID to get rid of an AFS warning
11330         [b40760564dc1]
11331
11332         * env.c:
11333         Use easprintf instead of emalloc + sprintf for some things.
11334         [e7bfe2e69a03]
11335
11336 2002-03-16  Todd C. Miller  <Todd.Miller@courtesan.com>
11337
11338         * lex.yy.c, sudo.tab.c:
11339         regen
11340         [35327104383d]
11341
11342         * parse.c, parse.lex, parse.yacc, testsudoers.c:
11343         Remove Chris Jepeway's email address so people don't bug him ;-)
11344         [c03410747a69]
11345
11346 2002-03-12  Todd C. Miller  <Todd.Miller@courtesan.com>
11347
11348         * sudo.c:
11349         Move endpwent() to be after set_perms(PERM_RUNAS, ...) and also call
11350         endgrent() at the same time.
11351         [28b6097d5d1a]
11352
11353 2002-02-22  Todd C. Miller  <Todd.Miller@courtesan.com>
11354
11355         * INSTALL:
11356         Make it clear which configure options take arguments.
11357         [38529e7efad0]
11358
11359 2002-01-25  Todd C. Miller  <Todd.Miller@courtesan.com>
11360
11361         * compat.h:
11362         HP-UX 9.x has RLIMIT_* but no RLIM_INFINITY. If there is no
11363         RLIM_INFINITY, just pretend it is -1. This works because we only
11364         check for RLIM_INFINITY and do not set anything to that value.
11365         [53173d34e6eb]
11366
11367 2002-01-22  Todd C. Miller  <Todd.Miller@courtesan.com>
11368
11369         * auth/pam.c:
11370         Zero and free allocated memory when there is a conversation error.
11371         [e342133db579]
11372
11373         * auth/bsdauth.c:
11374         Use sigaction() not signal()
11375         [126c2790561f]
11376
11377         * INSTALL:
11378         Mention that some linux kernels have broken POSIX saved ID support
11379         [571ef1a893d3]
11380
11381         * CHANGES:
11382         checkpoint for 1.6.5p2
11383         [9e9e456f7f43]
11384
11385         * configure:
11386         regen
11387         [d53703a46708]
11388
11389         * configure.in:
11390         Add --disable-setreuid flag
11391         [3b9f2679cb55]
11392
11393         * INSTALL:
11394         Document new --disable-setreuid option and change description for
11395         --disable-saved-ids to match new error message.
11396         [14fd3e5f60a5]
11397
11398         * set_perms.c:
11399         fatal() now takes an argument that determines whether or not to call
11400         perror().
11401         [d826b25e62ff]
11402
11403         * TROUBLESHOOTING:
11404         Update for new error messages from set_perms()
11405         [78007c3f76a9]
11406
11407         * PORTING:
11408         Update for new error messages from set_perms()
11409         [60c545a6bcff]
11410
11411 2002-01-21  Todd C. Miller  <Todd.Miller@courtesan.com>
11412
11413         * auth/pam.c:
11414         Make this compile w/o warnings
11415         [b90843a29af5]
11416
11417         * auth/pam.c:
11418         Mention that we can't use pam_acct_mgmt()
11419         [1dfc5a6e0479]
11420
11421         * auth/aix_auth.c, auth/bsdauth.c, auth/fwtk.c, auth/pam.c:
11422         The user's password was not zeroed after use when AIX
11423         authentication, BSD authentication, FWTK or PAM was in use.
11424         [b18fff30b1e7]
11425
11426 2002-01-20  Todd C. Miller  <Todd.Miller@courtesan.com>
11427
11428         * auth/pam.c:
11429         Avoid giving PAM a NULL password response, use the empty string
11430         instead. This avoids a log warning when the user hits ^C at the
11431         password prompt when PAM is in use.
11432         [c3315805e4e4]
11433
11434         * auth/pam.c:
11435         Don't check the return value of pam_setcred(). In Linux-PAM 0.75
11436         pam_setcred() returns the last saved return code, not the return
11437         code for the setcred module. Because we haven't called
11438         pam_authenticate(), this is not set and so pam_setcred() returns
11439         PAM_PERM_DENIED.
11440         [73db145fa179]
11441
11442         * Makefile.in:
11443         Don't need a '/' between $(DESTDIR) and a directory.
11444         [0901ca618176]
11445
11446         * Makefile.binary:
11447         Don't need a '/' between $(DESTDIR) and a directory.
11448         [cd7eb6098b87]
11449
11450 2002-01-18  Todd C. Miller  <Todd.Miller@courtesan.com>
11451
11452         * configure:
11453         regen
11454         [41b12c039282]
11455
11456         * configure.in:
11457         o BSDi also has a bogus setreuid() o Old FreeBSD has a bogus
11458         setreuid() o new NetBSD has a real setreuid() o add check for
11459         freeifaddrs() if getifaddrs() exists.
11460         [a82ee3b01733]
11461
11462         * config.h.in, interfaces.c:
11463         Older BSDi releases lack freeifaddrs() so add a test for that and if
11464         it is not present just use free().
11465         [6270671ea9d5]
11466
11467 2002-01-17  Todd C. Miller  <Todd.Miller@courtesan.com>
11468
11469         * CHANGES, RUNSON:
11470         Checkpoint for 1.6.5p1
11471         [26134ecf9b36]
11472
11473         * auth/passwd.c:
11474         Return AUTH_FAILURE in passwd_init() if skeyaccess() denies access
11475         to normal passwords, not AUTH_FATAL (which just causes an exit).
11476         [785e0f4bc0e2]
11477
11478         * visudo.c:
11479         Don't use memory after it has been freed.
11480         [c60492739fdb]
11481
11482         * auth/passwd.c:
11483         skeyaccess() wants a struct passwd * not a char *; Patch from
11484         Phillip E. Lobbes
11485         [65a1d3806fcd] [SUDO_1_6_5]
11486
11487         * BUGS:
11488         ++version
11489         [b2e1825e692e]
11490
11491         * CHANGES, RUNSON, TODO:
11492         checkpoint for sudo 1.6.5
11493         [d730945622e7]
11494
11495 2002-01-16  Todd C. Miller  <Todd.Miller@courtesan.com>
11496
11497         * configure:
11498         regen
11499         [49744c403ac9]
11500
11501         * INSTALL, INSTALL.binary, Makefile.in, README, configure.in:
11502         version 1.6.5
11503         [ec30a5f7fc45]
11504
11505         * sudo.cat, sudo.man.in, sudoers.cat, sudoers.man.in, visudo.cat,
11506         visudo.man.in:
11507         sudo version 1.6.5
11508         [458a3bed535d]
11509
11510         * logging.c:
11511         o when invoking the mailer as root use a hard-coded environment that
11512         doesn't include any info from the user's environment. Basically
11513         paranoia.
11514
11515         o Add support for the NO_ROOT_MAILER compile-time option and run the
11516         mailer as the user and not root if NO_ROOT_MAILER is defined.
11517         [4df351ec92ce]
11518
11519         * set_perms.c, sudo.h:
11520         Bring back PERM_FULL_USER
11521         [edb6039bb284]
11522
11523         * configure:
11524         regen
11525         [3eb2943afa03]
11526
11527         * version.h:
11528         version 1.6.5
11529         [044fc9a0c72b]
11530
11531         * INSTALL, config.h.in, configure.in:
11532         Add --disable-root-mailer option to run the mailer as the user and
11533         not root.
11534         [e9f805397963]
11535
11536         * CHANGES:
11537         checkpoint for 1.6.4p2
11538         [b58aae5aa98a]
11539
11540         * PORTING:
11541         Mention the "seteuid(0): Operation not permitted" problem here too
11542         just for good measure.
11543         [90135b37a691]
11544
11545 2002-01-15  Todd C. Miller  <Todd.Miller@courtesan.com>
11546
11547         * env.c, getspwuid.c, sudo.c:
11548         The SHELL environment variable was preserved from the user's
11549         environment instead of being reset based on the passwd database when
11550         the "env_reset" option was used. Now it is reset as it should be.
11551         [300066ef3c71]
11552
11553         * configure:
11554         regen
11555         [a47d779e6552]
11556
11557         * INSTALL, TROUBLESHOOTING, config.h.in, configure.in, set_perms.c,
11558         sudo.c:
11559         Add a configure option to turn off use of POSIX saved IDs
11560         [fb18cc8e94d0]
11561
11562         * configure:
11563         regen
11564         [d4f2f20025b6]
11565
11566         * configure.in:
11567         add --with-efence option
11568         [45c4f33a8e88]
11569
11570         * sudo.c:
11571         Only OR in MODE_RESET_HOME if MODE_RUN is set. Fixes a problem where
11572         "sudo -l" would not work if always_set_home was set.
11573         [c3a6de6c4800]
11574
11575         * lex.yy.c:
11576         regen
11577         [417424452998]
11578
11579         * parse.lex:
11580         Quoted commas were not being treated correctly in command line
11581         arguments.
11582         [753415541b37]
11583
11584         * sudo.c:
11585         o Move the call to rebuild_env() until after MODE_RESET_HOME is set.
11586         Otherwise, the set_home option has no effect.
11587
11588         o Fix use of freed memory when the "fqdn" flag is set. This was
11589         introduced by the fix for the "segv when gethostbynam() fails" bug.
11590         Also, we no longer call set_fqdn() if the "fqdn" flag is not set so
11591         there is no need to check the "fqdn" flag in set_fqdn() itself.
11592         [4b6a4245c04e]
11593
11594         * env.c:
11595         Add 'continue' statements to optimize the switch statement. From
11596         Solar.
11597         [a82c76975ae5]
11598
11599 2002-01-13  Todd C. Miller  <Todd.Miller@courtesan.com>
11600
11601         * sudoers.cat, sudoers.man.in:
11602         Regen from new sudoers.pod
11603         [6ecc07b3d0e1] [SUDO_1_6_4]
11604
11605         * sudoers.pod:
11606         Add caveat about stay_setuid flag
11607         [9d228a7bea1b]
11608
11609         * sudo.c:
11610         If set_perms == set_perms_posix and the stay_setuid flag is not set,
11611         set all uids to 0 and use set_perms_fallback().
11612         [c4e54d1ec86f]
11613
11614         * set_perms.c, sudo.h:
11615         Remove PERM_FULL_USER (which is no longer used) and add
11616         PERM_FULL_ROOT (used when exec'ing the mailer).
11617         [15406c522ea2]
11618
11619         * logging.c:
11620         Use set_perms(PERM_FULL_ROOT, 0) before exec'ing the mailer since we
11621         never want to run the mailer setuid.
11622         [2294853e0666]
11623
11624 2002-01-12  Todd C. Miller  <Todd.Miller@courtesan.com>
11625
11626         * sudo.cat, sudo.man.in, sudo.pod, visudo.cat, visudo.man.in,
11627         visudo.pod:
11628         Use sudo.ws instead of courtesan.com in URLs
11629         [55204002a308]
11630
11631         * Makefile.binary, Makefile.in:
11632         Fix mansect substitution
11633         [b7b5cbc3aa91]
11634
11635         * Makefile.in:
11636         Substitute man sections in Makefile.binary
11637         [040deb785e56]
11638
11639         * Makefile.binary:
11640         Sync install targets with Makefile.in and substitute in man
11641         sections.
11642         [77882a275281]
11643
11644         * INSTALL, INSTALL.binary:
11645         version is 1.6.4
11646         [0f87aabbcb70]
11647
11648         * Makefile.in:
11649         Repair bindist target
11650         [8d43bfe7e2d1]
11651
11652         * CHANGES:
11653         sync for 1.6.4
11654         [13ca3d4a0a72]
11655
11656 2002-01-10  Todd C. Miller  <Todd.Miller@courtesan.com>
11657
11658         * install-sh:
11659         Fix case where neither whoami nor id are found
11660         [424dd270bc47]
11661
11662 2002-01-09  Todd C. Miller  <Todd.Miller@courtesan.com>
11663
11664         * install-sh:
11665         If neither whoami nor id exists, just assume we are root.
11666         [2d2644e42c53]
11667
11668         * alloc.c:
11669         Add explicit cast to (VOID *) on malloc/realloc. Seems to be needed
11670         on AIX which for some reason isn't pulling in the malloc prototype.
11671         [231440d2ee3b]
11672
11673 2002-01-08  Todd C. Miller  <Todd.Miller@courtesan.com>
11674
11675         * Makefile.in, aclocal.m4, compat.h, parse.c, sudo.c:
11676         (c) 2002
11677         [700e3b41a68e]
11678
11679         * CHANGES:
11680         checkpoint
11681         [33e604bd8d5b]
11682
11683         * sudo.c:
11684         Defer assigning new environment until right before the exec.
11685         [f13c49e75c1c]
11686
11687         * parse.c:
11688         kill extra blank line
11689         [12ef22e9dae3]
11690
11691 2002-01-07  Todd C. Miller  <Todd.Miller@courtesan.com>
11692
11693         * configure:
11694         regen
11695         [a6cd2d788f74]
11696
11697         * configure.in:
11698         Use -O not -O2 for m88k-motorola-sysv* since motorola gcc-derived
11699         compiler doesn't recognise -O2.
11700         [5234aa543692]
11701
11702         * HISTORY:
11703         Clarify origins of Root Group sudo a bit based on info from
11704         billp@rootgroup.com
11705         [4deef01c4208]
11706
11707 2002-01-03  Todd C. Miller  <Todd.Miller@courtesan.com>
11708
11709         * LICENSE:
11710         2002
11711         [6c8e089dbd1a]
11712
11713         * CHANGES:
11714         checkpoint for 1.6.4rc1
11715         [3349eb87a49f]
11716
11717 2002-01-02  Todd C. Miller  <Todd.Miller@courtesan.com>
11718
11719         * config.h.in:
11720         now generated via autoheader
11721         [84657d303cb9]
11722
11723         * configure:
11724         regen
11725         [207bfa6a13f6]
11726
11727         * compat.h:
11728         Move in some stuff that was previously in config.h.
11729         [e576d8b6480f]
11730
11731         * aclocal.m4, configure.in:
11732         Add info for autoheader.
11733         [0549cd5da27c]
11734
11735 2002-01-01  Todd C. Miller  <Todd.Miller@courtesan.com>
11736
11737         * Makefile.in:
11738         o Add DESTDIR support o Use -M, -O, and -G instead of -m, -o, and
11739         -g to facilitate non-root installs
11740         [619216038f56]
11741
11742         * install-sh:
11743         Add -M option (like -m but only for root) If we can't find "whoami",
11744         use "id" w/ some sed.
11745         [b39121c8b792]
11746
11747         * configure:
11748         regen
11749         [b39b93ff9804]
11750
11751         * configure.in:
11752         allow user to always override mansectsu and mansectform
11753         [0fca5e63bd90]
11754
11755 2001-12-31  Todd C. Miller  <Todd.Miller@courtesan.com>
11756
11757         * mkinstalldirs:
11758         update from autoconf 2.52
11759         [07bd75a508c3]
11760
11761         * config.guess, config.sub:
11762         Update from autoconf 2.52
11763         [857b90fe31b7]
11764
11765         * configure:
11766         regen with autoconf 2.52
11767         [08e7d1ea2aeb]
11768
11769         * configure.in:
11770         o Call AC_PROG_CC_STDC to find out how to run the compiler in ANSI
11771         mode o Remove compiler-specific checks for HP-UX now that we use
11772         AC_PROG_CC_STDC
11773         [d433a70b6208]
11774
11775         * RUNSON:
11776         Checkpoint
11777         [babf6d2235d1]
11778
11779         * auth/pam.c:
11780         o Add pam_prep_user function to call pam_setcred() for the target
11781         user; on Linux this often sets resource limits. o When calling
11782         pam_end(), try to convert the auth->result to a PAM_FOO value.
11783         This is a hack--we really need to stash the last PAM_FOO value
11784         received and use that instead.
11785         [6ad6f340dd2a]
11786
11787         * set_perms.c, sudo.h:
11788         o Add pam_prep_user function to call pam_setcred() for the target
11789         user; on Linux this often sets resource limits.
11790         [67795421ac82]
11791
11792         * env.c:
11793         Fix off by one error in number of bytes allocated via malloc (does
11794         not affected any released version of sudo).
11795         [5f5915360111]
11796
11797 2001-12-30  Todd C. Miller  <Todd.Miller@courtesan.com>
11798
11799         * lex.yy.c:
11800         regen
11801         [8208c0277775]
11802
11803         * parse.lex:
11804         Allow '@', '(', ')', ':' in arguments to a defaults variable w/o
11805         requiring that they be quoted.
11806         [ae59bc8f68dd]
11807
11808         * sudoers.cat, sudoers.man.in, sudoers.pod:
11809         Mention that no double quotes are needed when
11810         adding/deleting/assigning a single value to a list.
11811         [25efc940a1f0]
11812
11813         * Makefile.in:
11814         Don't rely on mkdefaults being executable, call perl explicitly.
11815         [6edc97ba5f1d]
11816
11817         * sudo.tab.c:
11818         regen
11819         [49130b2e7e4d]
11820
11821         * parse.yacc:
11822         Remove some XXX that are no longer relevant.
11823         [d460ac0d3767]
11824
11825         * defaults.c:
11826         o Roll our own loop instead of using strpbrk() for better
11827         grokability o When adding to a list we must malloc() and use
11828         memcpy(), not strdup() since we must only copy len bytes from str.
11829         [649bef08e1f0]
11830
11831 2001-12-21  Todd C. Miller  <Todd.Miller@courtesan.com>
11832
11833         * sudo.tab.c:
11834         regen
11835         [f0bbf2c38c0e]
11836
11837         * parse.yacc:
11838         typo in comment
11839         [2563711ff593]
11840
11841 2001-12-19  Todd C. Miller  <Todd.Miller@courtesan.com>
11842
11843         * CHANGES:
11844         checkpoint
11845         [a6d8a29fb30e]
11846
11847         * configure:
11848         regen
11849         [bdfcaaf3bd13]
11850
11851         * configure.in:
11852         avoid the -g flag unless --with-devel was specified
11853         [a976707bef30]
11854
11855         * Makefile.in:
11856         mkdefaults, def_data.in and sigaction.c were missing from the
11857         tarball
11858         [6917ffbaa412]
11859
11860         * Makefile.in:
11861         def_data.c was missing
11862         [87c78b11453d]
11863
11864 2001-12-18  Todd C. Miller  <Todd.Miller@courtesan.com>
11865
11866         * env.c:
11867         Fix setting of $USER and $LOGNAME in the non-reset_env case. Also
11868         allow HOME, SHELL, LOGNAME, and USER to be specified in keep_env
11869         [fc8698e6a45e]
11870
11871         * TODO:
11872         Another TODO item
11873         [6f251d6cd466]
11874
11875         * sudoers:
11876         Add comment for Default section so folks know where it should go.
11877         [7edba626f392]
11878
11879 2001-12-17  Todd C. Miller  <Todd.Miller@courtesan.com>
11880
11881         * tgetpass.c:
11882         Use TCSETAF, not TCSETA to set terminal in termio case
11883         [fbd172f6c5d3]
11884
11885         * sudoers.cat, sudoers.man.in:
11886         regen from sudoers.pod
11887         [64edd2de816e]
11888
11889         * sudoers.pod:
11890         o Typo, Runas_User_List should be Runas_List o a User_List can not
11891         contain a uid o mention that the Defaults section should come after
11892         Alias definitions but before the user specifications
11893         [54070ba2092b]
11894
11895 2001-12-15  Todd C. Miller  <Todd.Miller@courtesan.com>
11896
11897         * sudoers.cat, sudoers.man.in:
11898         regen
11899         [e62d1d97693c]
11900
11901         * sudoers.pod:
11902         Fix listpw and verifypw sections, they were not being formatted
11903         properly.
11904         [123868c2f3e9]
11905
11906         * sudoers.cat, sudoers.man.in:
11907         regen
11908         [f94841f8b374]
11909
11910         * sudoers.pod:
11911         fix typos
11912         [f278f1c1184e]
11913
11914         * configure:
11915         regen
11916         [d2270049ba9f]
11917
11918         * config.h.in, configure.in:
11919         use AC_SYS_POSIX_TERMIOS instead of rolling our own
11920         [c1a13f1354b9]
11921
11922         * README:
11923         Reference sudo.ws not courtesan.com
11924         [ca13be67ebd7]
11925
11926         * PORTING:
11927         Add notes on shadow passwords
11928         [aa13863f2314]
11929
11930         * BUGS:
11931         In list mode (sudo -l), characters escaped with a backslash are
11932         shown verbatim with the backslash.
11933         [1a75a2858be2]
11934
11935         * sudoers:
11936         Add simple examples from OpenBSD (Marc Espie)
11937         [3ae9a9ae4125]
11938
11939         * tgetpass.c:
11940         Catch SIGTTIN and SIGTTOU too and treat them like SIGTSTP.
11941         [f8817699ee10]
11942
11943         * CHANGES:
11944         minor prettyification
11945         [f523587929b9]
11946
11947         * CHANGES:
11948         Updated change log
11949         [39d9010ee7a8]
11950
11951         * testsudoers.c:
11952         Fix CIDR handling here too.
11953         [c91db8344c32]
11954
11955         * auth/pam.c:
11956         Apparently a NULL response is OK
11957         [83bae61078d9]
11958
11959         * TODO:
11960         Checkpoint for upcoming beta release
11961         [efb95c09df2a]
11962
11963         * TROUBLESHOOTING:
11964         Many people believe that adding a runas spec should obviate the need
11965         for the -u flag. It does not.
11966         [c698bad85b0e]
11967
11968         * RUNSON:
11969         checkpoint update for upcoming 1.6.4 beta
11970         [009e465a0a45]
11971
11972         * config.h.in:
11973         o Add HAVE_STDLIB_H and HAVE_MEMORY_H o Define HAVE_STRINGS_H even
11974         if HAVE_STRING_H is defined -- this is safe now
11975         [d27c035f4e14]
11976
11977         * PORTING:
11978         Add signals section
11979         [2d24c13cb3c8]
11980
11981         * configure:
11982         regen
11983         [2b80a939e2ed]
11984
11985         * configure.in:
11986         Fix check for sigaction_t
11987         [6fa41c89ab20]
11988
11989         * sudo.c:
11990         XXX - should call find_path() as runas user, not root. Can't do
11991         that until the parser changes though.
11992         [f0b4f85651bd]
11993
11994         * sudo.c:
11995         If find_path() fails as root, try again as the invoking user (useful
11996         for NFS). Idea from Chip Capelik.
11997         [e03fa7872692]
11998
11999         * sudo.cat, sudo.man.in, sudoers.cat, sudoers.man.in:
12000         Regenerate after pod file changes
12001         [48e4bd75ec21]
12002
12003         * def_data.c, def_data.h, def_data.in, set_perms.c, sudo.c, sudo.h,
12004         sudo.pod, sudoers.pod:
12005         Add new sudoers option "preserve_groups". Previously sudo would not
12006         call initgroups() if the target user was root. Now it always calls
12007         initgroups() unless the -P command line option or the
12008         "preserve_groups" sudoers option is set. Idea from TJ Saunders.
12009         [4f730359f101]
12010
12011 2001-12-14  Todd C. Miller  <Todd.Miller@courtesan.com>
12012
12013         * compat.h, config.h.in:
12014         Use new HAVE_SIGACTION_T define
12015         [dfb25f3cae5b]
12016
12017         * logging.c:
12018         Fix compilation on K&C
12019         [7355e3275e34]
12020
12021         * configure:
12022         regen
12023         [a710584f92f0]
12024
12025         * configure.in:
12026         Add check for sigaction_t -- IRIX already defines this so don't
12027         redefine it.
12028         [df9c5737f6da]
12029
12030         * snprintf.c:
12031         fix typo
12032         [3d782b8134c8]
12033
12034         * interfaces.c:
12035         need stdlib.h here too
12036         [c789d8973ab2]
12037
12038         * configure:
12039         regen
12040         [44822856bf46]
12041
12042         * configure.in:
12043         Remove redundant checks for string.h, strings.h and unistd.h
12044         [933c94f8bbf4]
12045
12046         * sudo.cat, sudo.man.in, sudoers.cat, sudoers.man.in, visudo.cat,
12047         visudo.man.in:
12048         Regen from pod files
12049         [ad18c590f638]
12050
12051         * BUGS:
12052         Update for 1.6.4
12053         [26bc88b69d22]
12054
12055         * configure, lex.yy.c, sudo.tab.c:
12056         regen
12057         [bef89fd6fa2d]
12058
12059         * strerror.c:
12060         Return EINVAL if errnum > sys_nerr
12061         [0512374e6661]
12062
12063         * auth/sudo_auth.h:
12064         o Update copyright year
12065         [a877016db6e2]
12066
12067         * LICENSE, Makefile.binary, Makefile.in, aclocal.m4, compat.h,
12068         config.h.in, defaults.h, interfaces.h, pathnames.h.in, sudo.h,
12069         sudo.pod:
12070         o Update copyright year
12071         [e15a1b39039f]
12072
12073         * configure.in:
12074         o Don't define STDC_HEADERS unconditionally for IRIX o Update
12075         copyright year
12076         [82a8cb819e07]
12077
12078         * README:
12079         update version
12080         [d82e523a16b4]
12081
12082         * auth/afs.c, auth/aix_auth.c, auth/bsdauth.c, auth/dce.c,
12083         auth/fwtk.c, auth/kerb4.c, auth/kerb5.c, auth/pam.c, auth/passwd.c,
12084         auth/rfc1938.c, auth/secureware.c, auth/securid.c, auth/sia.c,
12085         auth/sudo_auth.c, logging.c, parse.c, parse.lex, parse.yacc,
12086         set_perms.c, snprintf.c, sudo.c, testsudoers.c, tgetpass.c, utime.c,
12087         visudo.c:
12088         o Reorder some headers and use STDC_HEADERS define properly o Update
12089         copyright year
12090         [fe39f76b3795]
12091
12092         * lsearch.c:
12093         o Reorder some headers and use STDC_HEADERS define properly o Update
12094         copyright year
12095         [764ba3d4fa13]
12096
12097         * getspwuid.c, goodpath.c, interfaces.c:
12098         o Reorder some headers and use STDC_HEADERS define properly o Update
12099         copyright year
12100         [fb46d46140d4]
12101
12102         * getcwd.c:
12103         o Reorder some headers and use STDC_HEADERS define properly o Update
12104         copyright year
12105         [b199d70ac7ab]
12106
12107         * alloc.c, check.c, defaults.c, env.c, fileops.c, find_path.c,
12108         fnmatch.c:
12109         o Reorder some headers and use STDC_HEADERS define properly o Update
12110         copyright year
12111         [dab8f192a3ed]
12112
12113         * configure:
12114         regen
12115         [156658f25cea]
12116
12117         * tgetpass.c:
12118         flags set in signal handlers should be volatile sig_atomic_t
12119         [c22931a5535e]
12120
12121         * config.h.in, configure.in:
12122         Add checks for volatile and sig_atomic_t
12123         [b03b3341381d]
12124
12125         * configure, lex.yy.c:
12126         regen
12127         [ed9daba88217]
12128
12129         * def_data.c, def_data.h, def_data.in, defaults.c, env.c, find_path.c,
12130         sudo.c, sudoers.pod:
12131         Remove "secure_path" Defaults option since it cannot work with the
12132         existing parser.
12133         [c9e54a0f5971]
12134
12135         * find_path.c, sudo.c:
12136         Unset "secure_path" if user_is_exempt()
12137         [fb7544565ae8]
12138
12139         * env.c, pathnames.h.in:
12140         o Remove assumption that PATH and TERM are not listed in env_keep o
12141         If no PATH is in the environment use a default value o If TERM is
12142         not set in the non-reset case also give it a default value.
12143         [c987eb7df268]
12144
12145         * aclocal.m4, configure.in, defaults.c, pathnames.h.in:
12146         _PATH_SENDMAIL -> _PATH_SUDO_SENDMAIL so --without-sendmail works on
12147         systems that define in paths.h
12148         [51865b0cdebf]
12149
12150         * auth/passwd.c, auth/sudo_auth.c, auth/sudo_auth.h:
12151         Add support for skeyaccess(3) if it is present in libskey.
12152         [8add77c7d3e7]
12153
12154 2001-12-13  Todd C. Miller  <Todd.Miller@courtesan.com>
12155
12156         * sudo.c:
12157         Only need to do 'lc = login_getclass(NULL)' if lc == NULL
12158         [5a3d3cbf2c6d]
12159
12160         * parse.lex:
12161         '\\' is a perfectly legal character to have in a command line
12162         argument.
12163         [c15a466ef00e]
12164
12165         * sudo.c:
12166         o Defer call to set_fqdn() until it is safe to use log_error() o
12167         Don't print errno string value if gethostbyname fails, it is not
12168         relevant
12169         [c0c6bcf08bcb]
12170
12171         * parse.c:
12172         Fix CIDR -> in_addr_t conversion.
12173         [2f307ebeb63f]
12174
12175 2001-12-12  Todd C. Miller  <Todd.Miller@courtesan.com>
12176
12177         * sudoers.pod:
12178         Remove an extra "User_List" in the User_Spec definition From
12179         ybertrand AT snoopymail.com
12180         [97bde59ea280]
12181
12182         * parse.c:
12183         Make 'listpw=never' work for users who are not explicitly mentioned
12184         in sudoers.
12185         [258f0f30a428]
12186
12187         * sudoers.pod:
12188         Remove gratuitous '=' in EBNF grammar; era AT iki.fi
12189         [4b0f03872ee1]
12190
12191         * sudoers.pod:
12192         Document new list Defaults type and convert env_keep and env_delete
12193         to lists. Document new env_check option.
12194         [a07f1f079fe3]
12195
12196         * lex.yy.c, sudo.tab.c, sudo.tab.h:
12197         regen parser
12198         [e39ac6c6581b]
12199
12200         * parse.lex:
12201         Don't let '#' appear in a {WORD} and restrict #foo in a Runas spec
12202         to #[0-9-]+.
12203         [69c5388908f3]
12204
12205         * configure:
12206         regen
12207         [0f1877b88cb3]
12208
12209         * aclocal.m4:
12210         Simpler SUDO_FUNC_ISBLANK that uses AC_TRY_LINK
12211         [6545503ae361]
12212
12213         * config.h.in, configure.in:
12214         Add check for skeyaccess(3)
12215         [6caf69fe6359]
12216
12217         * visudo.pod:
12218         Document new -c, -f, and -q options
12219         [13d0203c21d3]
12220
12221         * visudo.c:
12222         o Add -f option (alternate sudoers file) o Convert to use getopt(3)
12223         [4c2b664d617d]
12224
12225         * configure:
12226         regen
12227         [6d5bd932e7b5]
12228
12229         * aclocal.m4, config.h.in, configure.in:
12230         Add check for isblank and a replacement macro if it doesn't exist.
12231         [b524f5e4f953]
12232
12233 2001-12-11  Todd C. Miller  <Todd.Miller@courtesan.com>
12234
12235         * visudo.c:
12236         In check-only mode, don't create sudoers if it does not already
12237         exist.
12238         [c748a2d5acad]
12239
12240         * parse.yacc:
12241         o Add a new token, DEFVAR, to indicate a Defaults variable name o
12242         Add support for "+=" and "-=" list operators o replace some 1 and 0
12243         with TRUE and FALSE for greater legibility.
12244         [554cb174b37e]
12245
12246         * parse.lex:
12247         o Use exclusive start conditions to remove some ambiguity in the
12248         lexer. Also reorder some things for clarity. o Add support for
12249         "+=" and "-=" list operators. o Use the new DEFVAR token to denote
12250         a Defaults variable name.
12251         [3a2cf8323e26]
12252
12253         * sudo.h:
12254         Prototype init_envtables()
12255         [b74916469dab]
12256
12257         * env.c:
12258         o Convert environment handling to use lists instead of strings.
12259         This greatly simplifies routines that need to do "foreach" type
12260         operations. o Add new init_envtables() function to set env_check
12261         and env_delete defaults based on initial_badenv_table and
12262         initial_checkenv_table (formerly sudo_badenv_table).
12263         [0a8b404658b6]
12264
12265         * defaults.c, defaults.h:
12266         o Add a new LIST type and functions to manipulate it. o This is for
12267         use with environment handling variables. o Call new
12268         init_envtables() routine inside init_defaults() to initialize the
12269         environment lists.
12270         [ae73e64f0902]
12271
12272         * def_data.c, def_data.h, def_data.in:
12273         Convert environment options to use the new LIST type and add a new
12274         one, env_check that only deletes if the sanity check fails.
12275         [3019503936de]
12276
12277         * testsudoers.c:
12278         Add dummy version of init_envtables()
12279         [9d9e3ee609d9]
12280
12281         * parse.yacc:
12282         honor quiet mode
12283         [8330fba6167c]
12284
12285         * visudo.c:
12286         Add check-only mode
12287         [dab411bc8c35]
12288
12289         * mkdefaults:
12290         Fix generation of entries with NULL descriptions.
12291         [ea75b9fed02e]
12292
12293 2001-12-09  Todd C. Miller  <Todd.Miller@courtesan.com>
12294
12295         * tgetpass.c:
12296         Use sigaction_t and quiet a gcc warning.
12297         [6f67d719c452]
12298
12299         * sudo.c:
12300         Must reset signal handlers before we exec
12301         [300418120e1a]
12302
12303         * auth/aix_auth.c, auth/bsdauth.c, auth/fwtk.c, auth/pam.c,
12304         auth/sudo_auth.c:
12305         Be carefule now that tgetpass() can return NULL (user hit ^C). PAM
12306         version needs testing. Set SIGTSTP to SIG_DFL during password entry
12307         so user can suspend us.
12308         [00304aa58747]
12309
12310         * tgetpass.c:
12311         Add support for interrupting/suspending tgetpass via keyboard input.
12312         If you suspend sudo from the password prompt and resume it will re-
12313         prompt you.
12314         [4af2b5101d32]
12315
12316         * sudo.c:
12317         Don't block keyboard interrupt signals, just set them to SIG_IGN.
12318         [d46d7f67ef6b]
12319
12320 2001-12-08  Todd C. Miller  <Todd.Miller@courtesan.com>
12321
12322         * config.h.in:
12323         add back HAVE_SIGACTION
12324         [c9c7702c603e]
12325
12326         * configure:
12327         regen
12328         [09fe669d337f]
12329
12330         * config.h.in, configure.in, logging.c, sudo.c, visudo.c:
12331         Kill POSIX_SIGNALS define and old signal support now that we emulate
12332         POSIX ones Also be sure to correctly initialize struct sigaction.
12333         [4bc2a6dbb2be]
12334
12335         * strerror.c:
12336         Don't need config.h or "#ifndef HAVE_STRERROR" wrapper.
12337         [1ad64a19f328]
12338
12339         * compat.h:
12340         Add scaffolding for POSIX signal emulation
12341         [945861d4c93b]
12342
12343         * sigaction.c:
12344         o Add missing ';' so this compiles o Can't use NULL since we don't
12345         include stdio.h
12346         [04d0cac7438f]
12347
12348         * sigaction.c:
12349         Emulate sigaction() using sigvec()
12350         [d0b54a989875]
12351
12352 2001-11-13  Todd C. Miller  <Todd.Miller@courtesan.com>
12353
12354         * sudoers.pod:
12355         Document new behavior of negative values of timestamp_timeout Fix a
12356         typo
12357         [4c0716570d01]
12358
12359         * sudo.pod:
12360         Add security note about command not being logged after 'sudo su' and
12361         friends.
12362         [43294851a33c]
12363
12364         * sudo.pod:
12365         Mention that -V prints default values when run as root, including
12366         the list of environment variables to clear.
12367         [d9e5e550a8c3]
12368
12369         * Makefile.in:
12370         Run pod2man with --quotes=none to avoid stupid quoting of C<>
12371         entries.
12372         [997b23c35dbe]
12373
12374 2001-11-12  Todd C. Miller  <Todd.Miller@courtesan.com>
12375
12376         * auth/sudo_auth.c, def_data.c, def_data.h, def_data.in, sudoers.pod:
12377         Add mail_badpass option Also modify mail_always behavior to also
12378         send mail when the password is wrong
12379         [838d40ccafce]
12380
12381         * env.c, sudo.c, sudo.h:
12382         Dump default bad env table when 'sudo -V' is run by root.
12383         [f67f1b8048b0]
12384
12385         * sudoers.pod:
12386         document env_delete
12387         [d74f893663a2]
12388
12389         * env.c:
12390         Add support for '*' in env_keep when not resetting the environment
12391         (ie: the normal case).
12392         [fd4fb62ea8fd]
12393
12394         * env.c:
12395         Add env_delete variable that lets the user replace/add to the
12396         bad_env_table. Allow '*' wildcard in env_keep entries.
12397         [aa728bc35e29]
12398
12399 2001-11-06  Todd C. Miller  <Todd.Miller@courtesan.com>
12400
12401         * mkinstalldirs:
12402         Force umask to 022 to guarantee sane directory permissions.
12403         [9ab3cfe70569]
12404
12405 2001-11-02  Todd C. Miller  <Todd.Miller@courtesan.com>
12406
12407         * Makefile.in:
12408         add sudo.tab.h and sudo.tab.c to sudo.tab.o dependency
12409         [671010465e6f]
12410
12411         * mkdefaults:
12412         fix breakage in last commit
12413         [8318f8851e56]
12414
12415         * Makefile.in:
12416         acsite.m4 -> aclocal.m4
12417         [30c146873a01]
12418
12419         * check.c:
12420         fix I_TS_TIMEOUT vs. I_TIMESTAMP_TIMEOUT pasto in previous commit
12421         [4dc8b39954da]
12422
12423         * def_data.c:
12424         regenerated from def_data.in
12425         [915ea16ce1eb]
12426
12427         * check.c, defaults.c, defaults.h:
12428         Add new T_UINT type that most things use instead of T_INT If
12429         timestamp_timeout is < 0 then treat the ticket as never expiring (to
12430         be expired manually by the user).
12431         [3a3a636a2a5d]
12432
12433         * def_data.in:
12434         change most T_INT -> T_UINT
12435         [a2228d2457af]
12436
12437         * mkdefaults:
12438         fix warning when no args
12439         [ca70a5394af5]
12440
12441         * visudo.c:
12442         Change 2 Exit() -> exit() Avoid stdio in Exit() and call _exit() if
12443         we are a signal handler. We no longer print the signal number but
12444         the user can just check the exit value for that.
12445         [dc424f631fef]
12446
12447 2001-10-16  Todd C. Miller  <Todd.Miller@courtesan.com>
12448
12449         * logging.c:
12450         when setting up pipes in child process check for case where stdin ==
12451         pipe fd 0
12452         [518112d76184]
12453
12454 2001-10-11  Todd C. Miller  <Todd.Miller@courtesan.com>
12455
12456         * visudo.c:
12457         Ignore editor exit value since XPG4 says vi's exit value is the
12458         count of editing errors made (failed searches, etc).
12459         [b9d952284865]
12460
12461 2001-10-05  Todd C. Miller  <Todd.Miller@courtesan.com>
12462
12463         * configure:
12464         regen
12465         [cb3aa586f03b]
12466
12467         * configure.in:
12468         sco now is identified by config.guess as *-sco-*
12469         [46664bbdea61]
12470
12471         * configure.in:
12472         Check for getspnam() in -lgen if not in -lc for UnixWare.
12473         [0f152ad1ba93]
12474
12475 2001-09-18  Todd C. Miller  <Todd.Miller@courtesan.com>
12476
12477         * sudoers.pod, visudo.pod:
12478         "upper case" -> "uppercase"
12479         [f9151f232326]
12480
12481         * sudoers.pod:
12482         fix typos and grammar; pjanzen@foatdi.harvard.edu
12483         [2855d73d0237]
12484
12485 2001-08-28  Todd C. Miller  <Todd.Miller@courtesan.com>
12486
12487         * sudoers.pod:
12488         Missing word (specify); krapht@secureops.com
12489         [65523eb37a2c]
12490
12491 2001-08-23  Todd C. Miller  <Todd.Miller@courtesan.com>
12492
12493         * sudo.c:
12494         If we fail to lookup a login class, apply the default one.
12495         [d4869faa6816]
12496
12497         * logging.c:
12498         In log_error() free message, not logline unconditionally, then free
12499         logline if it is not the same as message. No function change but
12500         this mirrors how they are allocated.
12501         [565e5f6cc643]
12502
12503 2001-07-17  Todd C. Miller  <Todd.Miller@courtesan.com>
12504
12505         * configure:
12506         regenerate
12507         [834a48f548a2]
12508
12509         * configure.in:
12510         remove some backslash quotes that are unneeded
12511         [50d401d6e2ca]
12512
12513         * configure.in:
12514         o Tweaks to make this work with autoconf-2.50 o Use AC_LIBOBJ
12515         instead of changing LIBOBJS directly o Use AC_REPLACE_FUNCS where we
12516         can o Use AC_CHECK_FUNCS instead of AC_CHECK_FUNC so we don't have
12517         to AC_DEFINE things manually.
12518         [f502c5f15f92]
12519
12520         * config.guess, config.sub:
12521         Updated from autoconf-2.50
12522         [6140205915ef]
12523
12524 2001-05-22  Todd C. Miller  <Todd.Miller@courtesan.com>
12525
12526         * README:
12527         Update mailing list section. We use mailman now, not majordomo.
12528         [b9a8ca45e6dc]
12529
12530 2001-05-10  Todd C. Miller  <Todd.Miller@courtesan.com>
12531
12532         * getspwuid.c, logging.c, sudo.c:
12533         Use setpwent()/endpwent() + all the shadow variants to make sure we
12534         don't inadvertantly leak an fd to the child. Apparently Linux's
12535         shadow routines leave the fd open even if you don't call setspent().
12536         Reported by mike@gistnet.com; different patch used.
12537         [d33792ef6c01]
12538
12539 2001-04-13  Todd C. Miller  <Todd.Miller@courtesan.com>
12540
12541         * sudoers.pod:
12542         s/eg./e.g./
12543         [bd32a0acaf93]
12544
12545         * tgetpass.c:
12546         select() may return EAGAIN. If so, continue like we do for EINTR.
12547         [5f202c943818]
12548
12549         * logging.c:
12550         Fix a non-exploitable buffer overflow in the word splitting code.
12551         This should really be rewritten.
12552         [4c724363863a]
12553
12554         * Makefile.in:
12555         FAQ link goes away
12556         [1d26dd6c8972]
12557
12558         * INSTALL:
12559         Tell people to look in sample.syslog.conf for examples, not FAQ
12560         [affcae3f43ca]
12561
12562         * TROUBLESHOOTING:
12563         Update list of env vars that are cleared
12564         [234e56f1435a]
12565
12566         * sudo.c:
12567         remove struct env_table decl since that stuff has all moved to env.c
12568         [5dd923148777]
12569
12570 2001-04-04  Todd C. Miller  <Todd.Miller@courtesan.com>
12571
12572         * fileops.c:
12573         Fix a pasto in flock-style unlocking and include <sys/file.h> for
12574         flock on older systems; twetzel@gwdg.de
12575         [d5420d9d2861]
12576
12577         * configure:
12578         regen to get NeXT lockf/flock fix
12579         [d3ba6ed70e15]
12580
12581         * configure.in:
12582         force NeXT to use flock since lockf is broken
12583         [bd5391dca1bb]
12584
12585 2001-03-30  Todd C. Miller  <Todd.Miller@courtesan.com>
12586
12587         * check.c:
12588         Use stashed user_gid when checking against exempt gid since sudo
12589         sets its gid to a a value that makes sudoers readable. Previously
12590         if you used gid 0 as the exempt group everyone would be exempt. From
12591         Paul Kranenburg <pk@cs.few.eur.nl>
12592         [0b140cc3a817]
12593
12594 2001-03-29  Todd C. Miller  <Todd.Miller@courtesan.com>
12595
12596         * configure:
12597         regen
12598         [cc455408f32b]
12599
12600         * aclocal.m4:
12601         #include stdio.h in SUDO_CHECK_TYPE since IRIX 6 aparently defines
12602         some types (such as ssize_t) therein.
12603         [b6aee85ca331]
12604
12605 2001-03-02  Todd C. Miller  <Todd.Miller@courtesan.com>
12606
12607         * defaults.c:
12608         Fix negation of paths in a boolean context. Problem found by
12609         apt@UH.EDU
12610         [8aee217a7cdf]
12611
12612 2001-02-23  Todd C. Miller  <Todd.Miller@courtesan.com>
12613
12614         * visudo.c:
12615         pasto
12616         [ad32b277bf68]
12617
12618 2001-02-17  Todd C. Miller  <Todd.Miller@courtesan.com>
12619
12620         * visudo.c:
12621         SA_RESETHAND means the opposite of what I was thinking--oops To
12622         block all signals in old-style signals use ~0, not 0xffffffff
12623         [6ecdd793590a]
12624
12625 2001-02-04  Todd C. Miller  <Todd.Miller@courtesan.com>
12626
12627         * defaults.c:
12628         coerce difference of pointers to int when used in a string length
12629         printf format; deraadt@openbsd.org
12630         [a9d10f07180d]
12631
12632 2001-01-17  Todd C. Miller  <Todd.Miller@courtesan.com>
12633
12634         * visudo.c:
12635         Block all signals in Exit() to avoid a signal race. There is still
12636         a tiny window but I'm not going to worry about it.
12637         [6661805c0458]
12638
12639 2001-01-07  Todd C. Miller  <Todd.Miller@courtesan.com>
12640
12641         * env.c:
12642         glibc uses the LANGUAGE env var so clear that too; Solar Designer
12643         [d4ba95628afb]
12644
12645         * lex.yy.c:
12646         Regenerate with a fix to flex.skl that preserves errno from
12647         clobbering by isatty().
12648         [607eec736e19]
12649
12650 2000-12-31  Todd C. Miller  <Todd.Miller@courtesan.com>
12651
12652         * auth/aix_auth.c, auth/bsdauth.c, auth/fwtk.c, auth/pam.c,
12653         auth/sia.c, auth/sudo_auth.c:
12654         Some defaults I_ defines got renamed.
12655         [ec19b23caaf3]
12656
12657         * Makefile.in, check.c, def_data.c, def_data.h, def_data.in,
12658         defaults.c, defaults.h, env.c, logging.c, mkdefaults, parse.yacc,
12659         set_perms.c, sudo.c, sudo.tab.c:
12660         Move defaults info into its own files from which we generate .h and
12661         .c files. This makes adding or rearranging variables much simpler.
12662         [e91b880b5043]
12663
12664 2000-12-30  Todd C. Miller  <Todd.Miller@courtesan.com>
12665
12666         * configure, configure.in:
12667         fix typo in last commit
12668         [10a6ee2bae71]
12669
12670         * compat.h, config.h.in, configure, configure.in:
12671         Add check + emulation for setegid (like seteuid).
12672         [29492092bd2f]
12673
12674         * env.c:
12675         Make env_keep override badenv_table as documented Fix traversal of
12676         badenv_table (broken in last commit)
12677         [37c9f0d22673]
12678
12679         * set_perms.c, sudo.c, sudo.h:
12680         Don't try and build saved uid version of set_perms on systems w/o
12681         them. Rename set_perms_saved_uid() -> set_perms_posix() Make
12682         set_perms_setreuid simply be set_perms_fallback() and simply include
12683         the appropriate function at compile time (setreuid() vs. setuid()).
12684         [3107333c062c]
12685
12686         * sudoers.cat, sudoers.man.in, sudoers.pod:
12687         PATH is also preserved when env_reset is in effect
12688         [90e45c5711ff]
12689
12690         * CHANGES, Makefile.in, check.c, compat.h, config.h.in, configure,
12691         configure.in, defaults.c, defaults.h, env.c, find_path.c,
12692         getspwuid.c, set_perms.c, sudo.c, sudo.cat, sudo.h, sudo.man.in,
12693         sudo.pod, sudoers.cat, sudoers.man.in, sudoers.pod, testsudoers.c,
12694         visudo.c, visudo.cat, visudo.man.in:
12695         New Defaults options: o stay_setuid - sudo will remain setuid if
12696         system has saved uids or setreuid(2) o env_reset - reset the
12697         environment to a sane default o env_keep - preserve environment
12698         variables that would otherwise be cleared
12699
12700         No longer use getenv/putenv/setenv functions--do environment munging
12701         by hand. Potentially dangerous environment variables can be cleared
12702         only if they contain '/' pr '%' characters to protect buggy
12703         programs. Moved environment routines into env.c (new file)
12704         [c2f97651db4c]
12705
12706         * INSTALL:
12707         Clear up --without-passwd description
12708         [2f336dab6733]
12709
12710         * putenv.c, sudo_setenv.c:
12711         We now build up a new environment from scratch and assign it to
12712         "environ".
12713         [6ae6152f2238]
12714
12715 2000-12-19  Todd C. Miller  <Todd.Miller@courtesan.com>
12716
12717         * sudo.pod, visudo.pod:
12718         Grammatical fixes from Paul Janzen
12719         [e03ead2e56f8]
12720
12721 2000-12-15  Todd C. Miller  <Todd.Miller@courtesan.com>
12722
12723         * visudo.c:
12724         If there was a syntax error and the user just wants to quit, unlink
12725         sudoers if it is zero length.
12726         [74ba7921f520]
12727
12728         * visudo.c:
12729         'Q' means ignore parse error, not 'q'
12730         [e8d0e4491fe6]
12731
12732         * visudo.c:
12733         Open sudoers for writing with mode SUDOERS_MODE From Dimitry Andric
12734         <dim@xs4all.nl>
12735         [b24990a72491]
12736
12737 2000-12-13  Todd C. Miller  <Todd.Miller@courtesan.com>
12738
12739         * set_perms.c:
12740         Add missing #ifdef HAVE_LOGIN_CAP_H; ayamura@ayamura.org
12741         [41a8db10e076]
12742
12743 2000-12-09  Todd C. Miller  <Todd.Miller@courtesan.com>
12744
12745         * config.guess, config.sub:
12746         Darwin / Mac OS X support from Wilfredo Sanchez <wsanchez@apple.com>
12747         [6052da895d2e]
12748
12749 2000-11-03  Todd C. Miller  <Todd.Miller@courtesan.com>
12750
12751         * sudo.c, visudo.c:
12752         Use exit(127), not exit(-1)
12753         [9ff0c3eada34]
12754
12755         * Makefile.in, defaults.c, defaults.h, set_perms.c, sudo.c:
12756         Move set_perms() to its own file and use POSIX saved uid or
12757         setreuid() if available.
12758
12759         Added stay_setuid option for systems that have libraries that
12760         perform extra paranoia checks in system libraries for setuid
12761         programs (ie: anything with issetugid(2)).
12762         [28960f842698]
12763
12764         * sudo.c:
12765         strip more bits from the environment and add a facility for
12766         stripping things only if they contain '/' or '%' to address printf
12767         format string vulnerabilities in other programs.
12768         [b98d6375f299]
12769
12770 2000-11-02  Todd C. Miller  <Todd.Miller@courtesan.com>
12771
12772         * configure:
12773         regen
12774         [7e74e5c91049]
12775
12776         * configure.in:
12777         For NCR, add -lc89 to LIBS, not SUDO_LIBS and cache the existence of
12778         strcasecmp().
12779         [a418e9e70442]
12780
12781         * configure:
12782         regen
12783         [bbff244a52bc]
12784
12785         * configure.in:
12786         Check for strcasecmp(3) in -lc89 for NCR Unix
12787         [361c99576681]
12788
12789 2000-11-01  Todd C. Miller  <Todd.Miller@courtesan.com>
12790
12791         * config.h.in:
12792         Define HAVE_INNETGR #ifdef HAVE__INNETGR
12793         [473cdb92b6db]
12794
12795         * configure:
12796         regen
12797         [4e6364a195e0]
12798
12799         * compat.h, config.h.in, configure.in:
12800         Add check for _innetgr(3) since NCR systems have that instead of
12801         innetgr(3).
12802         [25e6852e7494]
12803
12804 2000-10-31  Todd C. Miller  <Todd.Miller@courtesan.com>
12805
12806         * auth/securid.c:
12807         check return value of creadcfg() call sd_close() after sd_auth()
12808         store username in sd->username so we don't rely on the USER env
12809         variable
12810         [d106b4f42722]
12811
12812 2000-10-30  Todd C. Miller  <Todd.Miller@courtesan.com>
12813
12814         * INSTALL:
12815         document --with-bsdauth
12816         [f1518ecc2ee9]
12817
12818         * configure:
12819         regen
12820         [dceb35071ea8]
12821
12822         * configure.in:
12823         --with-bsdauth assumes --with-logincap
12824         [4200778083fd]
12825
12826         * auth/bsdauth.c, auth/fwtk.c:
12827         When prompting for a response to a challenge, if the user just hits
12828         return then reprompt with echo turned on.
12829         [a539b6474a97]
12830
12831 2000-10-29  Todd C. Miller  <Todd.Miller@courtesan.com>
12832
12833         * sudo.c:
12834         Remove debugging code that should not have been committed, oops.
12835         [9862607b77a7]
12836
12837         * auth/bsdauth.c:
12838         Use lower-level routines and get the password ourselves. Checks for
12839         a challenge and if there is one echo is not turned off.
12840         [2d8fcd166baa]
12841
12842         * auth/pam.c, auth/sudo_auth.h:
12843         minor housekeeping, no real code changes
12844         [d0074a277fb4]
12845
12846 2000-10-27  Todd C. Miller  <Todd.Miller@courtesan.com>
12847
12848         * sudo.c:
12849         Fix a coredump in the logging functions if gethostname(2) fails by
12850         deferring the call to log_error() until things are better setup.
12851
12852         Fix return value of set_loginclass() in non-BSD-auth case.
12853
12854         Hard-code 'sudo' in the usage message so we can fit more options on
12855         a line
12856         [d9d1b7579818]
12857
12858         * logging.c:
12859         Fix errant ';' (typo) that broken MSG_ONLY
12860         [849b2276a470]
12861
12862 2000-10-26  Todd C. Miller  <Todd.Miller@courtesan.com>
12863
12864         * sudo.cat, sudo.man.in:
12865         regen
12866         [bb3c8c6704d1]
12867
12868         * sudo.pod:
12869         Document -a flag
12870         [e18316cebaac]
12871
12872         * Makefile.in, auth/bsdauth.c, auth/sudo_auth.h, config.h.in,
12873         configure, configure.in, getspwuid.c, sudo.c:
12874         Add support for BSD authentication.
12875         [f374cfd9ca0d]
12876
12877 2000-10-19  Todd C. Miller  <Todd.Miller@courtesan.com>
12878
12879         * sudoers.pod:
12880         Fix typo; from sato@complex.eng.hokudai.ac.jp
12881         [3085fee9766e]
12882
12883 2000-10-12  Todd C. Miller  <Todd.Miller@courtesan.com>
12884
12885         * sudoers.pod:
12886         Mention negating umask
12887         [c9e410294dae]
12888
12889         * defaults.c:
12890         Allow user to specify umask of 0777 (same as !umask)
12891         [bb771daa96fe]
12892
12893 2000-10-09  Todd C. Miller  <Todd.Miller@courtesan.com>
12894
12895         * sudo.pod, visudo.pod:
12896         Fix a typo and give a URL for the sudo history.
12897         [77f73199aedb]
12898
12899 2000-10-08  Todd C. Miller  <Todd.Miller@courtesan.com>
12900
12901         * defaults.c, sudo.pod:
12902         fix typos; pepper@reppep.com
12903         [5532c7421340]
12904
12905 2000-09-14  Todd C. Miller  <Todd.Miller@courtesan.com>
12906
12907         * sudo.c, sudo.h, sudo_setenv.c:
12908         sudo_setenv() now exits on memory alloc failure instead of returning
12909         -1.
12910         [71f1cf18f47b]
12911
12912 2000-09-07  Todd C. Miller  <Todd.Miller@courtesan.com>
12913
12914         * sudo.c:
12915         Strip out NLSPATH and PATH_LOCALE from the environment for FreeBSD
12916         and possibly others.
12917         [b69d985b0d22]
12918
12919         * logging.c:
12920         Don't use vsyslog(3) since HP-UX (and others?) lack it. This means
12921         that "%m" won't be expanded but we don't use that anyway since the
12922         logging routines may splat to stderr as well.
12923         [8d37a544d0c0]
12924
12925         * defaults.c, defaults.h, sudo.c, sudoers.cat, sudoers.man.in,
12926         sudoers.pod:
12927         Add always_set_home variable
12928         [dbcaff646e07]
12929
12930         * configure, configure.in:
12931         Have to hard code default values in help since the defaults are set
12932         _after_ the help stuff.
12933         [7b5d6d72f55c]
12934
12935 2000-08-31  Todd C. Miller  <Todd.Miller@courtesan.com>
12936
12937         * lex.yy.c, parse.lex:
12938         Allow special characters (including '#') to be embedded in pathnames
12939         if quoted by a '\\'. The quoted chars will be dealt with by
12940         fnmatch(). Unfortunately, 'sudo -l' still prints the '\\'.
12941         [3ed33cf09977]
12942
12943 2000-08-13  Todd C. Miller  <Todd.Miller@courtesan.com>
12944
12945         * install-sh:
12946         Better path searching for programs we need.
12947         [60517cb1f0d6]
12948
12949         * TROUBLESHOOTING:
12950         Add section on "C compiler cannot create executables" errors.
12951         [e4ada6eaee59]
12952
12953         * Makefile.binary, Makefile.in, version.h:
12954         Crank version
12955         [93d1bd5b7f5e]
12956
12957         * aclocal.m4, configure, configure.in, sudo.cat, sudo.man.in,
12958         sudo.pod, sudoers.cat, sudoers.man.in, sudoers.pod, visudo.cat,
12959         visudo.man.in, visudo.pod:
12960         Substitute values from configure into man pages.
12961         [619854c356c1]
12962
12963 2000-08-12  Todd C. Miller  <Todd.Miller@courtesan.com>
12964
12965         * parse.c, sudo.c:
12966         The listpw and verifypw sudoers options would not take effect
12967         because the value of the default was checked *before* sudoers was
12968         parsed. Instead of passing in the value of PWCHECK_* to
12969         sudoers_lookup(), pass in the arg for def_ival() so the check can be
12970         deferred until after sudoers is parsed.
12971         [4f596e358f72]
12972
12973 2000-08-11  Todd C. Miller  <Todd.Miller@courtesan.com>
12974
12975         * tgetpass.c:
12976         When writing prompt, no need to write the NUL as well;
12977         hag@linnaean.org
12978         [fbcdd7b431ee]
12979
12980 2000-06-09  Todd C. Miller  <Todd.Miller@courtesan.com>
12981
12982         * install-sh:
12983         When looking for chown, check in /sbin too
12984         [657ba6653f8c]
12985
12986 2000-06-05  Todd C. Miller  <Todd.Miller@courtesan.com>
12987
12988         * visudo.c:
12989         Remove extraneous call to init_defaults() and set runas_user to NULL
12990         betweem parses so init_defaults will reset it each time, thus
12991         avoiding a reference to free()d data.
12992         [7421fcd692af]
12993
12994 2000-06-04  Todd C. Miller  <Todd.Miller@courtesan.com>
12995
12996         * config.h.in, interfaces.c, interfaces.h, sudo.c:
12997         Add support for using getifaddrs() to get the list of ip addr /
12998         netmask pairs. Currently IPv4-only.
12999         [a35bc4f7306d]
13000
13001         * visudo.c:
13002         Add a missing check for UserEditor == NULL Add missing '+' before
13003         line number when invoking editor to fix a syntax error
13004         [f0d4635f6082]
13005
13006 2000-05-12  Todd C. Miller  <Todd.Miller@courtesan.com>
13007
13008         * sudo.c:
13009         Call clean_env very early in main() for paranoia's sake. Idea from
13010         Marc Esipovich.
13011         [f8d72ebd0115]
13012
13013 2000-05-10  Todd C. Miller  <Todd.Miller@courtesan.com>
13014
13015         * sudo.h:
13016         Update proto for evasprintf and easprintf
13017         [d147d6e58419]
13018
13019         * alloc.c:
13020         Make easprintf() and evasprintf() return an int.
13021         [b2ca5d089667]
13022
13023         * check.c:
13024         If the targetpw flag is set, use target username as part of the
13025         timestamp path. If tty tickets are in effect cat the tty and the
13026         target username with a ':' as the separator.
13027         [de11abc693c2]
13028
13029 2000-05-09  Todd C. Miller  <Todd.Miller@courtesan.com>
13030
13031         * auth/pam.c:
13032         Backout part of last change; setting PAM_USER to the invoking user
13033         breaks things like targetpw.
13034         [427218a7387f]
13035
13036         * auth/pam.c:
13037         set tty and username via pam_set_item
13038         [85d1922dbcc9]
13039
13040         * auth/sudo_auth.c, check.c, getspwuid.c, sudo.c, sudo.h:
13041         Fix root, runas, and target authentication for non-passwd file auth
13042         methods.
13043         [a14535e7b30c]
13044
13045 2000-04-22  Todd C. Miller  <Todd.Miller@courtesan.com>
13046
13047         * sudo.cat, sudo.man.in, sudo.pod, sudoers.cat, sudoers.man.in,
13048         sudoers.pod, visudo.cat, visudo.man.in, visudo.pod:
13049         Use B<-Z> not C<-Z> for command line flags in all places. This is
13050         more consistent and works around a bug in Pod::Man.
13051         [64b5a05f30c5]
13052
13053         * sudoers.cat, sudoers.man.in, sudoers.pod:
13054         Fix an occurence of 'semicolon' that should be 'colon'
13055         [4ea5aacae3fb]
13056
13057 2000-04-19  Todd C. Miller  <Todd.Miller@courtesan.com>
13058
13059         * configure, configure.in:
13060         Fix --with-badpri help line
13061         [3cc40977c043]
13062
13063 2000-04-17  Todd C. Miller  <Todd.Miller@courtesan.com>
13064
13065         * defaults.c, logging.c, sudo.c:
13066         Bracket calls to syslog with an openlog() and closelog() since some
13067         authentication methods (like PAM) may do their own logging via
13068         syslog. Since we don't use syslog much (usually just once per
13069         session) this doesn't really incur a performance penalty. It also
13070         Fixes a SEGV with pam_kafs.
13071         [fe1cc28529f6]
13072
13073 2000-04-15  Todd C. Miller  <Todd.Miller@courtesan.com>
13074
13075         * sudo.c:
13076         Fix -H flag. runas_homedir is only valid after
13077         set_perms(PERM_RUNAS, mode)
13078         [ce9b1c6f68a6]
13079
13080 2000-04-12  Todd C. Miller  <Todd.Miller@courtesan.com>
13081
13082         * INSTALL:
13083         Clarify the fact that insults are not enabled just by including them
13084         in the binary.
13085         [d5a31d48320c]
13086
13087 2000-04-07  Todd C. Miller  <Todd.Miller@courtesan.com>
13088
13089         * sudo.cat, sudo.man.in, sudoers.cat, sudoers.man.in, visudo.cat,
13090         visudo.man.in:
13091         Regenerated with perl 5.6.0 pod2man
13092         [21751433768b]
13093
13094         * Makefile.in:
13095         Give date string to pod2man since its default is ugly and it ain't
13096         got no alibi.
13097         [0080b2f6298f]
13098
13099         * Makefile.in:
13100         Do section substitution on the output of pod2man and remove hack
13101         needed for old pod2man.
13102         [1ef843d5c78b]
13103
13104         * sudo.pod, sudoers.pod, visudo.pod:
13105         Put back real man sections, we will do the substitution later.
13106         [f728c1abad7e]
13107
13108 2000-04-02  Todd C. Miller  <Todd.Miller@courtesan.com>
13109
13110         * configure, configure.in:
13111         Don't bother checking for the path to vi if user specified --with-
13112         editor
13113         [bf698487e0d5]
13114
13115 2000-04-01  Todd C. Miller  <Todd.Miller@courtesan.com>
13116
13117         * CHANGES, visudo.c:
13118         Visudo now does its own fork/exec instead of calling system(3).
13119         [99bbcd88863b]
13120
13121         * CHANGES, INSTALL, Makefile.in, sudoers.cat, sudoers.man.in,
13122         sudoers.pod, visudo.c:
13123         Visudo now checks for the existence of an editor and gives a
13124         sensible error if it does not exist.
13125
13126         The path to the editor for visudo is now a colon-separated list of
13127         allowable editors. If the user has $EDITOR set and it matches one
13128         of the allowed editors that editor will be used. If not, the first
13129         editor in the list that actually exists is used.
13130         [cc86eb9f5440]
13131
13132         * sudo.cat, sudo.man.in, sudo.pod:
13133         Clear up confusion wrt sudo's return value.
13134         [9385b12d8e79]
13135
13136 2000-03-27  Todd C. Miller  <Todd.Miller@courtesan.com>
13137
13138         * Makefile.in:
13139         Strip sudo and visudo for bindist target
13140         [a995ddd79177]
13141
13142         * sudo.cat, sudo.man.in, sudo.pod, sudoers.cat, sudoers.man.in,
13143         sudoers.pod, visudo.cat, visudo.man.in, visudo.pod:
13144         Use @mansectsu@ and @mansectform@ in the man page bodies as well.
13145         [5eb9e60a726f] [SUDO_1_6_3]
13146
13147         * visudo.cat, visudo.man.in, visudo.pod:
13148         Typo: @sysconf@ -> @sysconfdir@
13149         [f07f52fcd099]
13150
13151         * Makefile.in:
13152         'make dist' should not cause any files to be modified so remove its
13153         dependencies.
13154         [7f44a2666a9c]
13155
13156         * CHANGES:
13157         Whoops, forgot to add release marker
13158         [16c0f16b35b8]
13159
13160 2000-03-26  Todd C. Miller  <Todd.Miller@courtesan.com>
13161
13162         * CHANGES:
13163         Final change for 1.6.3 (or so I hope)
13164         [473c89da6123]
13165
13166         * sudo.cat, sudoers.cat, visudo.cat:
13167         Use SYSV man sections since BSD systems will have nroff...
13168         [0a6bd154324e]
13169
13170 2000-03-24  Todd C. Miller  <Todd.Miller@courtesan.com>
13171
13172         * parse.yacc, sudo.tab.c:
13173         When checking to see if the host/user matches in a defaults spec,
13174         check against TRUE, not just non-zero since it might be -1.
13175         [41f2b7ad3fdd]
13176
13177         * configure, configure.in:
13178         OSF/1 puts file formats in section 4, not 5.
13179         [d77c1301afa9]
13180
13181         * CHANGES, INSTALL, sudo.c:
13182         Make login class support work on BSD/OS
13183         [e9bbe3c08ade]
13184
13185         * RUNSON:
13186         Update for 1.6.3
13187         [c40ce1d76c4d]
13188
13189         * configure, configure.in:
13190         If there is no inet_addr but there *is* an __inet_addr that's ok
13191         since inet_addr is probably just a macro then. The better thing to
13192         do would be to look for the macro, but this is fine for now.
13193         [1b8865ae4d68]
13194
13195         * configure, configure.in:
13196         Don't use shlicc for BSD/OS 4.x
13197         [83fbf6dedd2c]
13198
13199         * Makefile.in, configure, configure.in:
13200         *.man lives in cwd, *.cat lives in $(srcdir), add a @mansrcdir@
13201         configure variable so we can deal with this. Also, only remove *.man
13202         for 'distclean' not 'clean'.
13203         [30d56e6de214]
13204
13205         * sudo.c:
13206         set_loginclass() should be static like the proto says
13207         [d570a2d55fb8]
13208
13209 2000-03-23  Todd C. Miller  <Todd.Miller@courtesan.com>
13210
13211         * fnmatch.c:
13212         Add #ifdef __STDC__ around the rangematch function header to avoid
13213         promotion of test to int, thus violating the prototype. Gcc handles
13214         this gracefully but more std ANSI compilers will complain.
13215         [7d98c3e332b2]
13216
13217         * emul/fnmatch.h:
13218         Pull in newer fnmatch(3) that supports FNM_CASEFOLD
13219         [4e1320852f8b]
13220
13221         * aclocal.m4, configure, fnmatch.3, fnmatch.c:
13222         Pull in newer fnmatch(3) that supports FNM_CASEFOLD Check for
13223         FNM_CASEFOLD in configure
13224         [9ef952bf1896]
13225
13226         * CHANGES, TODO:
13227         update for 1.6.3
13228         [e4ba6368a0c5]
13229
13230         * sudo.tab.c, sudo.tab.h, testsudoers.c, visudo.c:
13231         Fully qualified hosts w/ wildcards were not matching the FQHOST
13232         token type. There's really no need for a separate token for fully-
13233         qualified vs. unqualified anymore so FQHOST is now history and
13234         hostname_matches now decides which hostname (short or long) to check
13235         based on whether or not the pattern contains a '.'.
13236         [fbd2887d9811]
13237
13238         * parse.h:
13239         Fully qualified hosts w/ wildcards were not matching the FQHOST
13240         token type. There's really no need for a separate token for fully-
13241         qualified vs. unqualified anymore so FQHOST is now history and
13242         hostname_matches now decides which hostname (short or long) to check
13243         based on whether or not the pattern contains a '.'.
13244         [dd7bbe223461]
13245
13246         * lex.yy.c, parse.c, parse.lex, parse.yacc:
13247         Fully qualified hosts w/ wildcards were not matching the FQHOST
13248         token type. There's really no need for a separate token for fully-
13249         qualified vs. unqualified anymore so FQHOST is now history and
13250         hostname_matches now decides which hostname (short or long) to check
13251         based on whether or not the pattern contains a '.'.
13252         [630d9d205397]
13253
13254         * parse.c, parse.h, parse.yacc, sudo.tab.c, sudoers.cat,
13255         sudoers.man.in, sudoers.pod, testsudoers.c, visudo.c:
13256         Add support for wildcards in the hostname.
13257         [d8d821ed4238]
13258
13259         * Makefile.in:
13260         Add targets for *.man.in, using config.status to generate *.man from
13261         *.man.in
13262         [640e50ede485]
13263
13264         * sudoers.cat, sudoers.man.in, sudoers.pod:
13265         Document set_logname option and enbolden refs to sudo and visudo.
13266         [9622b3a48707]
13267
13268         * INSTALL, Makefile.in, aclocal.m4, configure, configure.in, sudo.cat,
13269         sudo.man.in, sudo.pod, sudoers.cat, sudoers.man.in, sudoers.pod,
13270         visudo.cat, visudo.man.in, visudo.pod:
13271         Add FreeBSD login.conf support (untested on BSD/OS) based on a patch
13272         from Michael D. Marchionna. configure now does substitution on the
13273         man pages, allowing us to fix up the paths and set the section
13274         correctly. Based on an idea from Michael D. Marchionna.
13275         [463e928a0a2f]
13276
13277         * auth/passwd.c:
13278         Better fix for handling HP-UX aging info.
13279         [3950f42d8549]
13280
13281         * sudo.c:
13282         Add support for set_logname run-time default
13283         [c6a7cc76b8b4]
13284
13285         * sudo.man.in, sudoers.man.in, visudo.man.in:
13286         configure does substitution on these to produce *.man
13287         [b83fc3c1bfc9]
13288
13289         * sudo.man, sudoers.man, visudo.man:
13290         These files now get generated from *.man.in at configure time.
13291         [c499061f79e0]
13292
13293 2000-03-22  Todd C. Miller  <Todd.Miller@courtesan.com>
13294
13295         * defaults.c, defaults.h:
13296         Add set_logname option so users can turn off setting of LOGNAME/USER
13297         environment variables.
13298         [6316869180b8]
13299
13300         * lsearch.c, parse.c, testsudoers.c:
13301         kill register
13302         [6e104e653748]
13303
13304 2000-03-13  Todd C. Miller  <Todd.Miller@courtesan.com>
13305
13306         * auth/passwd.c:
13307         HP-UX adds extra info at the end for password aging so when
13308         comparing the result of crypt to pw_passwd we only compare the first
13309         len(epass) bytes *unless* the user entered an empty string for a
13310         password.
13311         [3d24d4e4e889]
13312
13313         * logging.c:
13314         Get rid of grandchild hack, it was causing problems and there is
13315         really no need for it. This fixes a bug where we spin eating up CPU
13316         when the user runs a long-running process like a shell.
13317         [5743b10b1e81]
13318
13319 2000-03-07  Todd C. Miller  <Todd.Miller@courtesan.com>
13320
13321         * sudo.c:
13322         User can always specify a login class if he/she is already root.
13323         [710d160cef9f]
13324
13325         * config.h.in, configure, configure.in, defaults.c, defaults.h,
13326         sudo.c, sudo.h:
13327         FreeBSD login class (login.conf) support.
13328         [026b981d6328]
13329
13330 2000-03-06  Todd C. Miller  <Todd.Miller@courtesan.com>
13331
13332         * auth/sudo_auth.c:
13333         HAVE_SECUREWARE -> HAVE_GETPRPWNAM; fixes secureware support
13334         [9cd4929f1a78]
13335
13336 2000-03-03  Todd C. Miller  <Todd.Miller@courtesan.com>
13337
13338         * auth/passwd.c:
13339         Truncate unencrypted password to 8 chars if encrypted password is
13340         exactly 13 characters (indicateing standard a DES password). Many
13341         versions of crypt() do this for you, but not all (like HP-UX's).
13342         [a9d0259cb193]
13343
13344 2000-03-02  Todd C. Miller  <Todd.Miller@courtesan.com>
13345
13346         * INSTALL, RUNSON:
13347         Mention that gcc on dynix may have problems
13348         [77b97fa5bf1b]
13349
13350 2000-02-29  Todd C. Miller  <Todd.Miller@courtesan.com>
13351
13352         * Makefile.in:
13353         Link visudo with NET_LIBS since we now call syslog via defaults.c
13354         [9e3830b277cc]
13355
13356         * defaults.c:
13357         Use Argv[0] as the first arg to openlog() since visudo uses this
13358         too.
13359         [e61078f328ec]
13360
13361 2000-02-28  Todd C. Miller  <Todd.Miller@courtesan.com>
13362
13363         * sudo.c:
13364         Stash coredumpsize resource limit and retsore it before the exec()
13365         Otherwise the child ends up with a coredumpsize of 0.
13366         [f6a4783835a3]
13367
13368 2000-02-27  Todd C. Miller  <Todd.Miller@courtesan.com>
13369
13370         * sudo.cat, sudo.man, sudo.pod:
13371         document -S flag
13372         [3ebd805b7142]
13373
13374         * sudo.c:
13375         fix usage string
13376         [66b2dfa47fe8]
13377
13378         * CHANGES, RUNSON, TODO, auth/aix_auth.c, auth/fwtk.c, auth/pam.c,
13379         auth/sudo_auth.c, sudo.c, sudo.h, tgetpass.c:
13380         Added -S flag (read passwd from stdin) and tgetpass_flags global
13381         that holds flags to be passed in to tgetpass(). Change echo_off
13382         param to tgetpass() into a flags field. There are currently 2
13383         possible flags for tgetpass(): TGP_ECHO and TGP_STDIN. In
13384         tgetpass(), abstract the echo set/clear via macros and if (flags &
13385         TGP_ECHO) but echo is not set on the terminal, but sure to set it.
13386         [a4fcbb712cd0]
13387
13388         * tgetpass.c:
13389         Fixed a bug that caused an infinite loop when the password timeout
13390         was disabled.
13391         [2be1ffc5a39f]
13392
13393 2000-02-18  Todd C. Miller  <Todd.Miller@courtesan.com>
13394
13395         * CHANGES, defaults.c, defaults.h, getspwuid.c, sudo.c, sudo.h,
13396         sudoers.cat, sudoers.man, sudoers.pod, visudo.c:
13397         Add rootpw, runaspw, and targetpw options.
13398         [2d4563e46df7]
13399
13400         * CHANGES, defaults.c, sudoers.cat, sudoers.man, sudoers.pod,
13401         visudo.c:
13402         enveditor -> env_editor
13403         [ddc5f856e583]
13404
13405 2000-02-16  Todd C. Miller  <Todd.Miller@courtesan.com>
13406
13407         * BUGS, INSTALL, Makefile.in, README, configure, configure.in,
13408         sudo.cat, sudo.man, sudoers.cat, sudoers.man, version.h, visudo.cat,
13409         visudo.man:
13410         crank versino to 1.6.3
13411         [a5f7d3e74360]
13412
13413         * INSTALL, TODO, defaults.c, defaults.h, sudoers.cat, sudoers.man,
13414         sudoers.pod, visudo.c:
13415         Add 'editor' and 'enveditor' sudoers defaults and make visudo honor
13416         them. This means that visudo will now parse the sudoers file
13417         *before* it is edited so a bogus sudoers file will cause a warning
13418         to go to stderr. Also, visudo checks the variables once--it does not
13419         check them after each editor run since that could be confusing.
13420         [9f5af18e9212]
13421
13422 2000-02-15  Todd C. Miller  <Todd.Miller@courtesan.com>
13423
13424         * RUNSON:
13425         1.6.2 -> 1.6.2p1
13426         [e25b74f1d1af]
13427
13428         * check.c, sudo.c, sudo.h:
13429         Move user_is_exempt prototype into sudo.h
13430         [daf26a6ded8a]
13431
13432 2000-02-13  Todd C. Miller  <Todd.Miller@courtesan.com>
13433
13434         * configure, configure.in:
13435         Fix thinko, some && should have been || in the last commit
13436         [4b9b2d487ded]
13437
13438         * configure, configure.in:
13439         Don't initialized Makefile variables to be NULL since the user may
13440         want to import variables from their environment.
13441         [7be019f4422c]
13442
13443 2000-02-04  Todd C. Miller  <Todd.Miller@courtesan.com>
13444
13445         * configure, configure.in:
13446         typo
13447         [38f4d8971f0a]
13448
13449 2000-01-28  Todd C. Miller  <Todd.Miller@courtesan.com>
13450
13451         * sudo.tab.c:
13452         fix a yacc (skeleton.c) warning
13453         [a2da228a937b]
13454
13455 2000-01-27  Todd C. Miller  <Todd.Miller@courtesan.com>
13456
13457         * INSTALL, RUNSON, configure, configure.in:
13458         Make pam work on HP-UX 11.0;jaearick@colby.edu
13459         [b94de0ff6f42]
13460
13461         * CHANGES:
13462         recent changes; prepare for 1.6.2p1
13463         [b291635ea141]
13464
13465         * find_path.c:
13466         Don't apply SECURE_PATH if user is example; jmknoble@pobox.com
13467         [4306285c4f6e]
13468
13469 2000-01-26  Todd C. Miller  <Todd.Miller@courtesan.com>
13470
13471         * sudo.tab.c:
13472         Regen with yacc that has a memory leak plugged.
13473         [e26383a04eb7]
13474
13475         * sudoers.cat, sudoers.man, sudoers.pod:
13476         Expanded docs on sudoers 'defaults' options based on INSTALL file
13477         info.
13478         [54c3d62d6c74]
13479
13480         * INSTALL:
13481         Fix some while lies
13482         [d15311782150]
13483
13484 2000-01-24  Todd C. Miller  <Todd.Miller@courtesan.com>
13485
13486         * Makefile.in:
13487         When making a bindist, link FAQ to TROUBLESHOOTING instead of
13488         copying.
13489         [2d88a6ac88cf]
13490
13491         * sudoers.cat, sudoers.man, sudoers.pod:
13492         Add netgroup caveat
13493         [28d119f466e3] [SUDO_1_6_2]
13494
13495         * RUNSON:
13496         Last minute updates
13497         [89fb4ed22d52]
13498
13499         * TROUBLESHOOTING:
13500         PAM entry
13501         [a9fd59f39457]
13502
13503         * auth/pam.c:
13504         correct a comment
13505         [a29627225ba9]
13506
13507         * CHANGES, RUNSON:
13508         update for 1.6.2
13509         [b7f1c40ea732]
13510
13511         * auth/pam.c:
13512         Better detection of PAM errors and fix custom prompts with PAM.
13513         Based on patches from "Cloyce D. Spradling" <cloyce@headgear.org>
13514         [ff69234b94a5]
13515
13516 2000-01-20  Todd C. Miller  <Todd.Miller@courtesan.com>
13517
13518         * snprintf.c:
13519         Cast ULONG_MAX to unsigned long long when comparing to an unsigned
13520         long long value.
13521         [9d918c3a2ecd]
13522
13523 2000-01-19  Todd C. Miller  <Todd.Miller@courtesan.com>
13524
13525         * CHANGES, config.h.in, configure, configure.in, visudo.c:
13526         Fix sudoers locking in visudo. We now lock the sudoers file itself,
13527         not the temp file (since locking the temp file can foul up editors).
13528         The previous locking scheme didn't work because the fd was closed
13529         too early.
13530         [de2011bb11ed]
13531
13532         * config.h.in, configure, configure.in:
13533         Don't need test for ftruncate() any more.
13534         [e5f71c848104]
13535
13536         * configure, configure.in:
13537         Add a test for the -Aa flag w/ HP-UX's cc. Fixes compilation with
13538         the unbundled HP-UX cc.
13539         [2c373612c644]
13540
13541 2000-01-18  Todd C. Miller  <Todd.Miller@courtesan.com>
13542
13543         * sudoers.cat, sudoers.man, sudoers.pod:
13544         "a a" -> "a"; Aaron Campbell <aaron@cs.dal.ca>
13545         [05360d2c314e]
13546
13547 2000-01-17  Todd C. Miller  <Todd.Miller@courtesan.com>
13548
13549         * LICENSE, Makefile.in, defaults.c, defaults.h, parse.c, parse.h,
13550         parse.yacc, sudo.c, sudo.h, sudoers.pod, testsudoers.c, tgetpass.c,
13551         version.h, visudo.c:
13552         update copyright year on changed files
13553         [5792a2a28a4c]
13554
13555         * RUNSON:
13556         updates
13557         [edf8f19aa403]
13558
13559         * CHANGES:
13560         aix fix
13561         [4d4a243b31e2]
13562
13563         * INSTALL:
13564         Crank version to 1.6.2
13565         [bcb5cb411624]
13566
13567         * configure:
13568         Crank version to 1.6.2
13569         [32a19f33427f]
13570
13571         * sudo.c:
13572         When using rlimit check for RLIM_INFINITY When computing the value
13573         of maxfd, use min(getdtablesize(), RLIMIT_NOFILE)
13574         [8c16166802e5]
13575
13576         * CHANGES:
13577         recent changes
13578         [09fc7112e44d]
13579
13580         * BUGS, Makefile.in, README, configure.in, sudo.cat, sudo.man,
13581         sudoers.cat, sudoers.man, version.h, visudo.cat, visudo.man:
13582         Crank version to 1.6.2
13583         [055fa61a7c61]
13584
13585         * INSTALL, defaults.c, defaults.h, sudo.c, sudo.h, sudoers.pod:
13586         Add 'shell_noargs' runtime option back in. We have to defer
13587         checking until after the sudoers file has been parsed but since
13588         there are now other options that operate that way this one can too.
13589         Based on a patch from bguillory@email.com.
13590         [231db7a007a6]
13591
13592         * defaults.c, defaults.h, parse.c, sudo.c, sudo.h:
13593         Add "listpw" and "verifypw" options.
13594         [190683bac878]
13595
13596         * sudoers.cat, sudoers.man, sudoers.pod:
13597         o Fix some typos/omissions o Add section on verifypw and listpw o
13598         Define how NOPASSWD interacts with the -v and -l flags
13599         [6feb7350eb79]
13600
13601 2000-01-14  Todd C. Miller  <Todd.Miller@courtesan.com>
13602
13603         * configure, configure.in:
13604         For HP-UX cc, add -Aa to CPPFLAGS. For HP-UX always add
13605         -D_HPUX_SOURCE to CPPFLAGS.
13606         [06cc35d89dc8]
13607
13608         * defaults.c, defaults.h:
13609         In struct sudo_defs_types, move the union to the end and don't
13610         initialize the union member since that only works with an ANSI
13611         compiler. We set the value of the union by hand in init_defaults()
13612         anyway. This allows sudo to compile on a K&R compiler again.
13613         [623487e1fcfa]
13614
13615 2000-01-11  Todd C. Miller  <Todd.Miller@courtesan.com>
13616
13617         * parse.c, parse.h, parse.yacc, sudo.tab.c, testsudoers.c, visudo.c:
13618         netgr_matches needs to check shost as well as host since they may be
13619         different.
13620         [3f43ace23d3e]
13621
13622         * tgetpass.c:
13623         End on \r as well as \n
13624         [cb7c6e6f4202]
13625
13626 2000-01-03  Todd C. Miller  <Todd.Miller@courtesan.com>
13627
13628         * sudo.c:
13629         Update statbuf.st_mode based on SUDOERS_MODE when we are chaning
13630         from 0400 to whatever SUDOERS_MODE is (converting from the old
13631         sudoers mode). Assumes that SUDOERS_MODE is less restrictive than
13632         0400 which should always be the case.
13633         [34cd83d49d20]
13634
13635         * parse.c, parse.yacc, sudo.c, sudo.h, sudo.tab.c:
13636         Make treatment of -l and -v sane wrt NOPASSWD flags. Now allow -l
13637         w/o a passwd if there is *any* entry for the user on the host with a
13638         NOPASSWD flag. For -v, only allow w/o a passwd if *all* entries for
13639         the user on the host w/ the specified runas user have the NOPASSWD
13640         flag set.
13641         [4b3b85697653]
13642
13643         * Makefile.in:
13644         add check target
13645         [3d24d34a76fd]
13646
13647 1999-12-16  Todd C. Miller  <Todd.Miller@courtesan.com>
13648
13649         * visudo.c:
13650         Treat EOF at whatnow prompt like 'x' instead of looping.
13651         [5deffc27114c]
13652
13653 1999-12-10  Todd C. Miller  <Todd.Miller@courtesan.com>
13654
13655         * CHANGES:
13656         recent changes
13657         [5836a9452568] [SUDO_1_6_1]
13658
13659 1999-12-09  Todd C. Miller  <Todd.Miller@courtesan.com>
13660
13661         * config.h.in, configure, configure.in, sudo.c:
13662         Add check for initgroups() since old SYSV lacks this.
13663         [657a6005a569]
13664
13665         * CHANGES, RUNSON, aclocal.m4, config.h.in, configure, configure.in,
13666         parse.c, testsudoers.c:
13667         o Kill HAVE_FNMATCH_H o Only define HAVE_FNMATCH if <fnmatch.h>
13668         exists.
13669         [17d081e917d6]
13670
13671 1999-12-06  Todd C. Miller  <Todd.Miller@courtesan.com>
13672
13673         * auth/sudo_auth.c:
13674         Don't allow insults to be enabled if the insults[] array is empty.
13675         Otherwise there would be division by zero.
13676         [b20c14db6029]
13677
13678         * insults.h:
13679         Don't allow insults to be enabled if the insults[] array is empty.
13680         Otherwise there would be division by zero.
13681         [028f130204b0]
13682
13683         * CHANGES, RUNSON:
13684         Don't allow insults to be enabled if the insults[] array is empty.
13685         Otherwise there would be division by zero.
13686         [974f4780254b]
13687
13688         * insults.h:
13689         Don't care about USE_INSULTS #define since the insult stuff may be
13690         overridden at runtime.
13691         [b873df8b299c]
13692
13693         * auth/sudo_auth.c:
13694         Honor insults flag.
13695         [756111640fdc]
13696
13697         * CHANGES, parse.c:
13698         Don't ask the user for a password if the user is not allowed to run
13699         the command and the authenticate flag (in sudoers) is false.
13700         [cea9fdc09c76]
13701
13702         * CHANGES, RUNSON, lex.yy.c, parse.lex:
13703         o Whenever we get a bare newline we change to the INITIAL state. o
13704         Enter GOTRUNAS when we see Runas_Alias
13705
13706         This allows #uid to work in a RunasAlias.
13707         [a475513e7c7a]
13708
13709 1999-12-05  Todd C. Miller  <Todd.Miller@courtesan.com>
13710
13711         * CHANGES, parse.yacc, sudo.tab.c:
13712         fix parsing of runas lists: o oprunasuser and runaslist now return a
13713         value o in a runasspec, if a runaslist does not return TRUE, set
13714         runas_matches to FALSE. Normally, a runaslist only returns FALSE
13715         for explicitly denied users. o since runaslist does not modify the
13716         stack there is no need for a push/pop in runasalias.
13717         [82b305b34a8c]
13718
13719         * check.c, sudo.c:
13720         Don't kill the user's tickets until after sudoers has been parsed
13721         since tty_tickets and ticket_dir could be set in sudoers.
13722         [f43e25367f3a]
13723
13724         * BUGS, CHANGES, Makefile.binary, Makefile.in, README, RUNSON,
13725         configure, configure.in, sudo.cat, sudo.man, sudoers.cat,
13726         sudoers.man, tgetpass.c, version.h, visudo.cat, visudo.man:
13727         crank version to 1.6
13728         [95f8bdcf9bb2]
13729
13730         * testsudoers.c:
13731         add set_fqdn() stub
13732         [bbc81af5b41a]
13733
13734 1999-12-02  Todd C. Miller  <Todd.Miller@courtesan.com>
13735
13736         * INSTALL, defaults.c, defaults.h, sudo.c, sudo.h, sudoers.cat,
13737         sudoers.man, sudoers.pod, visudo.c:
13738         o Kill shell_noargs option, it cannot work since the command needs
13739         to be set before sudoers is parsed. o Fix the "set_home" sudoers
13740         option (only worked at compile time). o Fix "fqdn" sudoers option.
13741         We now set host/shost via set_fqdn which gets called when the
13742         "fqdn" option is set in sudoers. o Move the openlog() to
13743         store_syslogfac() so this gets overridden correctly from the
13744         sudoers file.
13745         [3dca861f0f5d]
13746
13747         * auth/securid.c:
13748         SecurID support should compile now.
13749         [a544e5c6ea34]
13750
13751 1999-11-29  Todd C. Miller  <Todd.Miller@courtesan.com>
13752
13753         * sudo.cat, sudo.man, sudo.pod, sudoers.cat, sudoers.man, visudo.cat,
13754         visudo.man, visudo.pod:
13755         fix some syntactic goofs
13756         [b3451f0d5239]
13757
13758 1999-11-28  Todd C. Miller  <Todd.Miller@courtesan.com>
13759
13760         * Makefile.in, sudo.html, sudoers.html, visudo.html:
13761         No longer need the .html files as they are generated automatically
13762         on the web site.
13763         [1b4aa4204584]
13764
13765         * CHANGES, LICENSE:
13766         kill characters that made wml unhappy
13767         [b988fbc6da56]
13768
13769         * HISTORY:
13770         typo
13771         [a418963f7fce]
13772
13773 1999-11-25  Todd C. Miller  <Todd.Miller@courtesan.com>
13774
13775         * README:
13776         majordomo@cs.colorado.edu -> majordomo@courtesan.com
13777         [5d151e8ffd3b]
13778
13779         * Makefile.in, configure:
13780         Wrap script execution w/ /bin/sh for the benefit of ctm
13781         [3a9c4766b2c3]
13782
13783 1999-11-24  Todd C. Miller  <Todd.Miller@courtesan.com>
13784
13785         * sudo.c:
13786         Make the -s flag be exclusive too. Also reorder the flags in the
13787         exclusive usage message so they are alphabetical.
13788         [4c7af200db34]
13789
13790 1999-11-23  Todd C. Miller  <Todd.Miller@courtesan.com>
13791
13792         * auth/pam.c:
13793         make pam errors other than PAM_PERM_DENIED fatal
13794         [64bcb3fd2baf]
13795
13796         * auth/API:
13797         fix typo
13798         [f3134c88b12e]
13799
13800         * INSTALL:
13801         make it clear that /etc/pam.d/sudo is required on linux
13802         [213cc3eaad82]
13803
13804         * auth/pam.c:
13805         fix a warning on redhat and spew an error if pam_authenticate()
13806         returns an error other than AUTH_SUCCESS or PAM_PERM_DENIED
13807         [7e46dd19da89]
13808
13809         * sudo.cat, sudo.html, sudo.man, sudo.pod:
13810         Be very clear that the password required is the user's not root's
13811         [a6da127347e5]
13812
13813 1999-11-20  Todd C. Miller  <Todd.Miller@courtesan.com>
13814
13815         * Makefile.in:
13816         add sample.syslog.conf to DISTFILES and BINFILES
13817         [8661c27c007e]
13818
13819 1999-11-19  Todd C. Miller  <Todd.Miller@courtesan.com>
13820
13821         * RUNSON:
13822         updates from Brian Jackson + some formatting
13823         [6d31c6fa63f8]
13824
13825 1999-11-18  Todd C. Miller  <Todd.Miller@courtesan.com>
13826
13827         * INSTALL.binary, Makefile.binary, README, RUNSON:
13828         o One RUNSon update o Changes for automating real binary releases
13829         [dd9585f4406c]
13830
13831         * Makefile.in:
13832         Add bindist target
13833         [546ed3fa94bb]
13834
13835 1999-11-16  Todd C. Miller  <Todd.Miller@courtesan.com>
13836
13837         * TROUBLESHOOTING:
13838         talk about run-time options in addition to compile-time options
13839         [1eb813ff0a9a] [SUDO_1_6_0]
13840
13841         * CHANGES:
13842         fix typos
13843         [65e92bb70a7b]
13844
13845         * sudo.c:
13846         need sys/time.h if HAVE_SETRLIMIT
13847         [ce31655a8a60]
13848
13849         * PORTING, README, RUNSON, sudo.c, sudo.cat, sudo.html, sudo.man,
13850         sudo.pod, visudo.cat, visudo.html, visudo.man, visudo.pod:
13851         get rid of references to sudo-bugs. Now mention the web site or the
13852         sudo@ alias
13853         [a9db861fd8c6]
13854
13855         * sudoers.html:
13856         repair pod2html damage
13857         [62ece4277f1f]
13858
13859         * RUNSON, TODO:
13860         Update for 1.6 release
13861         [98569c57ba2a]
13862
13863         * sudoers.cat, sudoers.html, sudoers.man, sudoers.pod:
13864         Add warning about using ALL in a command context.
13865         [6c77685ab280]
13866
13867 1999-11-09  Todd C. Miller  <Todd.Miller@courtesan.com>
13868
13869         * visudo.c:
13870         Call yyrestart() on a parse error to reset the lexer state.
13871         [1370a27acdb2]
13872
13873         * lex.yy.c, parse.lex:
13874         Don't need YY_FLUSH_BUFFER after all Move yyrestart() into visudo.c
13875         since it might not get called in yywrap if we get a parse error
13876         (and we only reread the file on error anyway).
13877         [37f4b449e28e]
13878
13879         * lex.yy.c, parse.lex:
13880         Call YY_FLUSH_BUFFER macro in yywrap() to clean up any buffers that
13881         might still exist. Call yyrestart() instead of using the deprecated
13882         YY_NEW_FILE macro.
13883         [7d0d873046c6]
13884
13885         * lex.yy.c, parse.lex:
13886         flex doesn't need %N table size declarations
13887         [268b020fd60a]
13888
13889         * sudoers.cat, sudoers.html, sudoers.man, sudoers.pod:
13890         Mention what characters need to be escaped in names.
13891         [72ccbb6b0f31]
13892
13893 1999-11-08  Todd C. Miller  <Todd.Miller@courtesan.com>
13894
13895         * configure:
13896         regen
13897         [65827abb5c7b]
13898
13899         * INSTALL:
13900         clarify Mac OS X entry
13901         [8da1549a71f5]
13902
13903         * RUNSON:
13904         update
13905         [0cff8df7459f]
13906
13907         * configure.in:
13908         o Use AC_MSG_ERROR throughout o Check syslog configure options for
13909         danity
13910         [4cb81e642e5c]
13911
13912 1999-11-05  Todd C. Miller  <Todd.Miller@courtesan.com>
13913
13914         * defaults.c:
13915         Fix printing of type T_MODE in dump_defaults()
13916         [a868bb6f5515]
13917
13918         * strcasecmp.c:
13919         missing sys/types.h
13920         [ca694ca325b6]
13921
13922         * INSTALL:
13923         Break out options that may be overridden at run time into their own
13924         section. Add a not about Max OS X and correct some lies.
13925         [d8bcfd120593]
13926
13927 1999-11-04  Todd C. Miller  <Todd.Miller@courtesan.com>
13928
13929         * CHANGES, config.h.in, configure, configure.in, sudo.c:
13930         o Now use getrlimit to find the highest fd when closing all non-std
13931         fd's o Turn off core dumps via setrlimit for the sake of paranoia
13932         [dd9f651b6def]
13933
13934         * RUNSON:
13935         updates
13936         [f581841fe615]
13937
13938 1999-11-01  Todd C. Miller  <Todd.Miller@courtesan.com>
13939
13940         * CHANGES:
13941         updates
13942         [553baa1d44c7]
13943
13944         * tgetpass.c:
13945         When read()'ing, do a single character at a time to be sure we don't
13946         go oast the newline.
13947         [907d33f55bb4]
13948
13949         * sudo.c:
13950         For the sudo_root option, check against user_uid, not getuid() since
13951         at this point, ruid == euid == 0.
13952         [92d5c51939b4]
13953
13954         * RUNSON:
13955         some updates
13956         [e3ed0c1f312b]
13957
13958         * logging.h:
13959         Fix compilation problem when --with-logging=file was specified.
13960         This means that syslog is now required to build sudo but that should
13961         not be a problem. If it is it can be fixed trivially with a
13962         configure check for syslog() or syslog.h.
13963         [839a4b069190]
13964
13965         * tgetpass.c:
13966         Make this work again for things like "sudo echo hi | more" where the
13967         tty gets put into character at a time mode. We read until we read
13968         end of line or we run out of space (similar to fgets(3)).
13969         [c8f746df2e63]
13970
13971 1999-10-20  Todd C. Miller  <Todd.Miller@courtesan.com>
13972
13973         * sudoers.cat, sudoers.html, sudoers.man, sudoers.pod:
13974         change ital to bold
13975         [f860978e530a]
13976
13977         * RUNSON:
13978         update
13979         [9bcfbb405568]
13980
13981 1999-10-16  Todd C. Miller  <Todd.Miller@courtesan.com>
13982
13983         * defaults.c:
13984         Error out if syslog parameters are given without a value. For
13985         Ultrix or 4.2BSD "syslog" is allowed without a value since there are
13986         no facilities in the 4.2BSD syslog.
13987         [69e7a686f5f0]
13988
13989 1999-10-15  Todd C. Miller  <Todd.Miller@courtesan.com>
13990
13991         * defaults.c:
13992         Ignore the syslog facility for systems w/ old syslog like Ultrix.
13993         [5c250adbbb84]
13994
13995         * TROUBLESHOOTING:
13996         people with "." early in their path can have problems running sudo
13997         from the build dir ;-)
13998         [20a1744a24a4]
13999
14000 1999-10-13  Todd C. Miller  <Todd.Miller@courtesan.com>
14001
14002         * sudo.cat, sudo.html, sudo.man, sudo.pod:
14003         Remove -r realm option
14004         [127caa537f95]
14005
14006         * auth/kerb5.c, auth/sudo_auth.c, auth/sudo_auth.h, configure,
14007         configure.in, sudo.c:
14008         New krb5 code from Frank Cusack <fcusack@iconnet.net>.
14009         [7177a3893a62]
14010
14011         * CHANGES:
14012         update to reality
14013         [766cfbb512d6]
14014
14015 1999-10-12  Todd C. Miller  <Todd.Miller@courtesan.com>
14016
14017         * auth/fwtk.c:
14018         include <auth.h> to get function prototypes.
14019         [d6c7c12d09fe]
14020
14021         * sudo.cat, sudo.html, sudo.man, sudo.pod:
14022         document -L flag
14023         [dc803e1ce0d7]
14024
14025 1999-10-11  Todd C. Miller  <Todd.Miller@courtesan.com>
14026
14027         * sudo.c:
14028         in set_perms(), always call setuid(0) before changing the ruid/euid
14029         so we always know it will succeed.
14030         [8cced1b862bf]
14031
14032         * defaults.h:
14033         #undef T_FOO to avoid conflicts with system defines (like on
14034         ULTRIX).
14035         [d9f0aac092b0]
14036
14037         * TODO, sample.sudoers, sudoers.cat, sudoers.html, sudoers.man,
14038         sudoers.pod:
14039         Docuement "Defaults" lines in /etc/sudoers. Still needs some
14040         fleshing out but this is a start.
14041         [521a1e629bbc]
14042
14043 1999-10-10  Todd C. Miller  <Todd.Miller@courtesan.com>
14044
14045         * use strtol, not strtoul since not everyone has not strtoul
14046         [988462f093cc]
14047
14048         * defaults.c:
14049         use strtol, not strtoul since not everyone has not strtoul
14050         [fce835ce62e3]
14051
14052         * lex.yy.c, parse.lex:
14053         last {WORD} rule should only apply in the INITIAL state
14054         [9b57570bfa83]
14055
14056         * lex.yy.c, parse.lex:
14057         o Add support for escaped characters in the WORD macro o Modify
14058         fill() to squash escape chars
14059         [87572d59e4e0]
14060
14061         * defaults.c, defaults.h:
14062         o Add T_PATH flag to allow simple sanity checks for default values
14063         that are supposed to be pathnames. o Fix a duplicate free when
14064         visudo finds an error.
14065         [bdc6855a6c6d]
14066
14067 1999-10-09  Todd C. Miller  <Todd.Miller@courtesan.com>
14068
14069         * defaults.c, defaults.h, logging.c:
14070         mail_if_foo -> mail_foo
14071         [cbee9415875d]
14072
14073 1999-10-08  Todd C. Miller  <Todd.Miller@courtesan.com>
14074
14075         * compat.h, defaults.c, defaults.h, sudo.c, tgetpass.c:
14076         o Add requiretty option o Move O_NOCTTY to compat.h
14077         [65b8bf0e1795]
14078
14079         * logging.c:
14080         The exit() in log_error() was mistakenly removed in a previous
14081         version. Put it back...
14082         [9473449130a4]
14083
14084 1999-10-07  Todd C. Miller  <Todd.Miller@courtesan.com>
14085
14086         * INSTALL, TODO, auth/aix_auth.c, auth/fwtk.c, auth/pam.c,
14087         auth/rfc1938.c, auth/sia.c, auth/sudo_auth.c, check.c, config.h.in,
14088         configure, configure.in, defaults.c, defaults.h, find_path.c,
14089         getspwuid.c, logging.c, parse.yacc, sudo.c, sudo.tab.c:
14090         o Change defaults stuff to put the value right in the struct. o
14091         Implement mailer_flags o Store syslog stuff both in int and string
14092         form. Setting the string form magically updates the int version.
14093         o Add boolean attribute to strings where it makes sense to say !foo
14094         [4698953f9a36]
14095
14096         * tgetpass.c:
14097         add O_NOCTTY when opening /dev/tty just in case
14098         [4c6d1d1bb300]
14099
14100 1999-10-06  Todd C. Miller  <Todd.Miller@courtesan.com>
14101
14102         * auth/API:
14103         cleanup function no longer takes a status arg
14104         [0819edbfe7f8]
14105
14106         * INSTALL:
14107         the the
14108         [19aadb65ea28]
14109
14110 1999-09-15  Todd C. Miller  <Todd.Miller@courtesan.com>
14111
14112         * TODO, config.h.in, configure, configure.in, logging.c:
14113         Use strftime() instead of ctime() if it is available.
14114         [fb60ea63b514]
14115
14116 1999-09-14  Todd C. Miller  <Todd.Miller@courtesan.com>
14117
14118         * defaults.c:
14119         fix copyright date
14120         [4a53b54aa72f]
14121
14122         * RUNSON:
14123         update ReliantUNIX entry
14124         [de618a4f67d9]
14125
14126         * defaults.c, defaults.h, logging.c:
14127         add log_year option
14128         [251a9e20568a]
14129
14130         * configure, configure.in:
14131         add --without-sendmail to help output
14132         [93162f199902]
14133
14134         * configure, configure.in:
14135         enforce an otctal arg for --with-suoders-mode
14136         [45e1b04ccad3]
14137
14138 1999-09-08  Todd C. Miller  <Todd.Miller@courtesan.com>
14139
14140         * BUGS, INSTALL, Makefile.in, TODO, aclocal.m4, auth/aix_auth.c,
14141         auth/fwtk.c, auth/kerb5.c, auth/pam.c, auth/rfc1938.c, auth/sia.c,
14142         auth/sudo_auth.c, check.c, config.h.in, configure, configure.in,
14143         defaults.c, defaults.h, find_path.c, lex.yy.c, logging.c, parse.h,
14144         parse.lex, parse.yacc, sudo.c, sudo.h, sudo.tab.c, sudo.tab.h,
14145         testsudoers.c, version.c, visudo.c:
14146         Add support for "Defaults" line in sudoers to make configuration
14147         variables changable at runtime (and on a global, per-host and per-
14148         user basis). Both the names and the internal representation are
14149         still subject to change. It was necessary to make sudo_user.runas
14150         but a char ** instead of a char * since this value can be changed by
14151         a Defaults line. There is a similar (but more complicated) issue
14152         with sudo_user.prompt but it is handled differently at the moment.
14153
14154         Add a "-L" flag to list the name of options with their descriptions.
14155         This may only be temporary.
14156
14157         Move some prototypes to parse.h
14158
14159         Be much less restrictive on what is allowed for a username.
14160         [f71abf7ba80c]
14161
14162         * sample.syslog.conf:
14163         Add more info
14164         [e952e6f42d4d]
14165
14166 1999-09-04  Todd C. Miller  <Todd.Miller@courtesan.com>
14167
14168         * LICENSE, fnmatch.3, fnmatch.c, getcwd.c, lsearch.c, snprintf.c,
14169         strcasecmp.c:
14170         UCB has dropped the advertising clause from their license.
14171         [a5602b36a341]
14172
14173 1999-08-31  Todd C. Miller  <Todd.Miller@courtesan.com>
14174
14175         * auth/sudo_auth.h:
14176         move dce_verofy proto to correct section
14177         [972c815af558]
14178
14179         * auth/dce.c:
14180         remove XXX
14181         [820631855be0]
14182
14183 1999-08-28  Todd C. Miller  <Todd.Miller@courtesan.com>
14184
14185         * emul/fnmatch.h:
14186         Add fnmatch() prototype
14187         [79e84576d92a]
14188
14189         * fnmatch.c, parse.c, testsudoers.c:
14190         Move inclusion of emul/fnmatch.h to be after sudo.h for __P
14191         [1182c89fa811]
14192
14193         * sudo.h:
14194         add strcasecmp proto
14195         [512d1d8a6a0c]
14196
14197         * auth/sudo_auth.c:
14198         add check for case where there are no auth methods
14199         [e4af2b91b43e]
14200
14201         * configure, configure.in:
14202         Define _XOPEN_EXTENDED_SOURCE on AIX and __USE_FIXED_PROTOTYPES__ on
14203         SunOS4 w/ gcc
14204         [746ce8bcec23]
14205
14206         * getspwuid.c, lex.yy.c, parse.lex, parse.yacc, sudo.tab.c:
14207         include strings.h everywhere we include string.h
14208         [6f7d5d437e7b]
14209
14210         * version.c:
14211         nicer output when showing auth methods
14212         [0eac4b977f9d]
14213
14214         * version.c:
14215         Add support for SEND_MAIL_WHEN_NO_HOST
14216         [9f20a3a3fae6]
14217
14218         * config.h.in, configure, configure.in:
14219         Add _GNU_SOURCE for Linux
14220         [c7bd8c511847]
14221
14222         * lex.yy.c, parse.lex:
14223         fix definition of OCTECT
14224         [4af30e63244d]
14225
14226         * configure, configure.in:
14227         aix_auth.o not authenticate.o
14228         [fe95dfb08df4]
14229
14230 1999-08-27  Todd C. Miller  <Todd.Miller@courtesan.com>
14231
14232         * sudo.c:
14233         Only block SIGINT, SIGQUIT, SIGTSTP (which can be generated from the
14234         keyboard). Since we run with ruid/euid == 0 the user can't really
14235         signal us in nasty ways.
14236         [a7f6487c0f48]
14237
14238         * visudo.c:
14239         Don't need to worry about catching too many signals since we do
14240         locking on the tmp file. If a lockfile is really stale, it will be
14241         detected and overwritten.
14242         [28983db3e749]
14243
14244         * INSTALL, Makefile.in:
14245         include auth/API in tarball
14246         [014991600252]
14247
14248         * auth/sudo_auth.c:
14249         move memset() of plaintext pw outside of verify loop and only do the
14250         memset if we are *not* in standalone mode.
14251         [66f8e87567e2]
14252
14253         * auth/sudo_auth.c, auth/sudo_auth.h:
14254         DCE is not a standalone method
14255         [34963e2d8a1b]
14256
14257         * sudo.c:
14258         fix --enable-noargs-shell
14259         [4234062abbb0]
14260
14261         * snprintf.c:
14262         "#ifdef __STDC__" not "#if __STDC__" (I missed one)
14263         [c430b80454c6]
14264
14265         * auth/fwtk.c, auth/sia.c:
14266         _cleanup() function returns an int.
14267         [d1a1cc071ec1]
14268
14269         * auth/dce.c:
14270         there were still some return(0)'s hanging around, make them
14271         AUTH_FAILURE
14272         [1002aa1962c3]
14273
14274         * parse.c:
14275         typo in comment
14276         [5abc410dbfd2]
14277
14278         * version.c:
14279         add missing semicolon
14280         [a262283b52a5]
14281
14282         * auth/sudo_auth.h:
14283         missing backslash
14284         [bf89f6bd2900]
14285
14286 1999-08-26  Todd C. Miller  <Todd.Miller@courtesan.com>
14287
14288         * CHANGES, config.h.in, configure, configure.in:
14289         Kill _XOPEN_EXTENDED_SOURCE -- causes problems on some OSes
14290         [f1a9bca0cf67]
14291
14292         * Makefile.in:
14293         add parse.h to HDRS
14294         [a3d054987766]
14295
14296         * Makefile.in, configure, configure.in:
14297         Kill VISUDO_LIBS and VISUDO_LDFLAGS. Add LIBS, NET_LIBS, and
14298         LDFLAGS. Common libs go in LIBS, commong ld flags go in LDFLAGS and
14299         network libs like -lsocket, -lnsl go in NET_LIBS. This allows
14300         testsudoers to build on Solaris and is a bit cleaner in general.
14301         [4e6239e97002]
14302
14303         * UPGRADE:
14304         mention ptmp -> sudoers.tmp
14305         [ec3baa0fe8a1]
14306
14307         * config.h.in, configure, configure.in:
14308         Define _XOPEN_SOURCE_EXTENDED not _XOPEN_SOURCE
14309         [6f93dc7f39f5]
14310
14311         * RUNSON:
14312         add 2 reports
14313         [ce0fcc00ee4e]
14314
14315         * auth/kerb5.c:
14316         Minor changes, mostly cosmetic. verify_krb_v5_tgt() changed to
14317         return a value more like a system function
14318         [0dd56aa21424]
14319
14320         * auth/dce.c:
14321         Add an XXX
14322         [58fc8562c212]
14323
14324         * TODO:
14325         more things todo!
14326         [5a459d0cf339]
14327
14328         * sample.sudoers:
14329         update based on what is in the man page
14330         [1a0477db96fa]
14331
14332         * parse.yacc, sudo.tab.c:
14333         minor change to first line printed in -l mode
14334         [69eb57d96952]
14335
14336         * sudo.cat, sudo.html, sudo.man, sudo.pod:
14337         rename "ENVIRONMENT VARIABLES" section to "ENVIRONMENT" to be more
14338         standard and add "EXAMPLES" section
14339         [7e543335ebe1]
14340
14341         * visudo.cat, visudo.html, visudo.man, visudo.pod:
14342         rename "ENVIRONMENT VARIABLES" section to "ENVIRONMENT" to be more
14343         standard
14344         [f82d87ed65c2]
14345
14346         * logging.c, parse.c, sudo.h:
14347         add FLAG_NO_CHECK
14348         [c7d69176a2d7]
14349
14350         * lex.yy.c, parse.lex:
14351         make an OCTET really be limited to 0-255
14352         [6ee568dd6a02]
14353
14354         * UPGRADE:
14355         mention timestamp changes
14356         [e44d5302bf60]
14357
14358         * PORTING:
14359         cosmetic cleanup
14360         [36fa3a2664dd]
14361
14362         * sudoers.cat, sudoers.html, sudoers.man, sudoers.pod:
14363         new sudoers(8) man page
14364         [e674d06283d0]
14365
14366 1999-08-24  Todd C. Miller  <Todd.Miller@courtesan.com>
14367
14368         * version.c:
14369         Update comments about syslog name tables
14370         [63830a782dcb]
14371
14372         * CHANGES, LICENSE, Makefile.in, configure, configure.in, parse.yacc,
14373         strcasecmp.c, sudo.tab.c:
14374         include strcasecmp() for those without it
14375         [a0d8e2488bbc]
14376
14377         * sample.sudoers:
14378         Use the : operator some more and fix a typo
14379         [18804c70da86]
14380
14381         * HISTORY:
14382         update the history of sudo
14383         [9d9b3d5279b3]
14384
14385         * parse.c, parse.lex, testsudoers.c:
14386         CIDR-style netmask support
14387         [768644467353]
14388
14389         * CHANGES:
14390         recent changes
14391         [a4319e9d07cb]
14392
14393         * sudo.tab.c, sudo.tab.h:
14394         these should be generated with byacc, not bison
14395         [f57b9489b752]
14396
14397         * lex.yy.c:
14398         regen
14399         [522461f95dfa]
14400
14401         * parse.h, parse.yacc, sudo.tab.c, sudo.tab.h:
14402         In "sudo -l" mode, the type of the stored (expanded) alias was not
14403         stored with the contents. This could lead to incorrect output if
14404         the sudoers file had different alias types with the same name.
14405         Normal parsing (ie: not in '-l' mode) is unaffected.
14406         [823fe2bc4b79]
14407
14408 1999-08-23  Todd C. Miller  <Todd.Miller@courtesan.com>
14409
14410         * configure, configure.in:
14411         define _XOPEN_SOURCE to get at crypt() proto on some systems
14412         [1b3769b86fb9]
14413
14414 1999-08-22  Todd C. Miller  <Todd.Miller@courtesan.com>
14415
14416         * snprintf.c:
14417         fix comment
14418         [fc1264df00f7]
14419
14420         * tgetpass.c:
14421         don't need limits.h
14422         [f1631829af45]
14423
14424         * snprintf.c:
14425         kill bogus reference to vfprintf
14426         [a0b99b25d389]
14427
14428         * sample.sudoers, sudoers:
14429         better examples
14430         [b4d87ea64cc8]
14431
14432         * snprintf.c:
14433         Add some const in the K&R defs. This is safe since we define const
14434         away if the compiler doesn't grok it.
14435         [614d6e83d45e]
14436
14437         * aclocal.m4, configure:
14438         Better test for working long long support. Ultrix compiler supports
14439         basic long long but not all operations on them.
14440         [5da1508710ed]
14441
14442         * aclocal.m4, auth/secureware.c, config.h.in, configure, getspwuid.c,
14443         snprintf.c, sudo.c:
14444         Add check for LONG_IS_QUAD #undef MAXINT before including
14445         hpsecurity.h to silence an HP-UX warning Check for U?LONG_LONG_MAX
14446         in snprintf.c and use LONG_IS_QUAD
14447         [a1f7993367fc]
14448
14449 1999-08-21  Todd C. Miller  <Todd.Miller@courtesan.com>
14450
14451         * LICENSE, aclocal.m4, config.h.in, configure, configure.in,
14452         snprintf.c:
14453         UCB-derived snprintf + asprintf support. Supports quads if the
14454         compiler does. No floating point yet, perhaps later...
14455         [0caf05aba945]
14456
14457 1999-08-20  Todd C. Miller  <Todd.Miller@courtesan.com>
14458
14459         * auth/API, auth/sudo_auth.c, auth/sudo_auth.h, check.c, find_path.c,
14460         goodpath.c, logging.c, parse.c, sudo.c:
14461         Run most of the code as root, not the invoking user. It doesn't
14462         really gain us anything to run as the user since an attacker can
14463         just have an setuid(0) in their egg. Running as root solves
14464         potential problems wrt signalling.
14465         [408e530dda01]
14466
14467         * sudo.tab.c:
14468         regen
14469         [f8cfb37e37de]
14470
14471 1999-08-19  Todd C. Miller  <Todd.Miller@courtesan.com>
14472
14473         * logging.c, sudo.c:
14474         Don't wait for child to finish in log_error(), let the signal
14475         handler get it if we are still running, else let init reap it for
14476         us. The extra time it takes to wait lets the user know that mail is
14477         being sent.
14478
14479         Install SIGCHLD handler in main() and for POSIX signals, block
14480         everything
14481         *except* SIGCHLD.
14482         [d2b6ab0ef3be]
14483
14484         * INSTALL, config.h.in, configure, configure.in, logging.c, parse.c,
14485         parse.yacc, sudo.c, sudo.h:
14486         sudoers_lookup() now returns a bitmap instead of an int. This makes
14487         it possible to express things like "failed to validate because user
14488         not listed for this host". Some thigns that were previously
14489         VALIDATE_FOO are now FLAG_FOO. This may change later on.
14490
14491         Reorganized code in log_auth() and sudo.c to deal with above
14492         changes.
14493
14494         Safer versions of push/pushcp with in the do { ... } while (0) style
14495
14496         parse.yacc now saves info on the stack to allow parse.c to determine
14497         if a user was listed, but not for the host he/she tried to run on.
14498
14499         Added --with-mail-if-no-host option
14500         [63326cb01efc]
14501
14502 1999-08-17  Todd C. Miller  <Todd.Miller@courtesan.com>
14503
14504         * parse.yacc, sudo.h, sudo.tab.c, visudo.c, visudo.cat, visudo.html,
14505         visudo.man, visudo.pod:
14506         o NewArgv and NewArgc don't need to be externally visible. o If
14507         pedantic > 1, it is a parse error. o Add -s (strict) option to
14508         visudo which sets pedantic to 2.
14509         [5d7d81b55cd5]
14510
14511         * HISTORY, INSTALL:
14512         Just have sudo-bugs contact info in one place
14513         [e7f6588ea683]
14514
14515         * sudo.cat, sudo.html, sudo.man, sudo.pod:
14516         Add BUGS section
14517         [6607d96ea510]
14518
14519         * Makefile.in, configure, configure.in:
14520         Add testsudoers to default build target if --with-devel Don't clean
14521         generated parser files unless "distclean".
14522         [5827b769dc57]
14523
14524         * parse.yacc, sudo.tab.c:
14525         In pedantic mode we need to save *all* the aliases, not just those
14526         that match, or we get spurious warnings.
14527         [24f5b1f0e1de]
14528
14529         * TROUBLESHOOTING:
14530         reference samples.sylog.conf
14531         [11841668380a]
14532
14533 1999-08-14  Todd C. Miller  <Todd.Miller@courtesan.com>
14534
14535         * sample.syslog.conf:
14536         Sample entries for syslog.conf
14537         [0f7697d878a1]
14538
14539         * CHANGES:
14540         recent changes
14541         [8bca8810c6bd]
14542
14543         * auth/API, auth/afs.c, auth/aix_auth.c, auth/dce.c, auth/fwtk.c,
14544         auth/kerb4.c, auth/kerb5.c, auth/pam.c, auth/passwd.c,
14545         auth/rfc1938.c, auth/secureware.c, auth/securid.c, auth/sia.c,
14546         auth/sudo_auth.c, auth/sudo_auth.h:
14547         In struct sudo_auth, turn need_root and configured into flags and
14548         add a flag to specify an auth method is running alone (the only
14549         one). Pass auth methods their sudo_auth pointer, not the data
14550         pointer. This allows us to get at the flags and tell if we are the
14551         only auth method. That, in turn, allows the method to be able to
14552         decide what should/should not be a fatal error. Currently only
14553         rfc1938 uses it this way, which allows us to kill the OTP_ONLY
14554         define and te hackery that went with it. With access to the
14555         sudo_auth struct, methods can also get at a string holding their
14556         cannonical name (useful in error messages).
14557         [b7e320fc6511]
14558
14559         * INSTALL, Makefile.in, README, config.h.in, configure, configure.in,
14560         getspwuid.c, lex.yy.c, parse.lex, parse.yacc, sudo.tab.c,
14561         sudo.tab.h:
14562         o --with-otp deprecated, use --without-passwd instead o real
14563         dependencies in the Makefile o --with-devel option to enable yacc,
14564         lex, and -Wall o style -- "foo -> bar" becomes "foo->bar" o ALL goes
14565         back to being a token, not a string but don't leak memory o rename
14566         hsotspec -> host in parse.yacc
14567         [912c45226cb2]
14568
14569 1999-08-12  Todd C. Miller  <Todd.Miller@courtesan.com>
14570
14571         * BUGS, CHANGES:
14572         recent changes
14573         [801fa6e55687]
14574
14575         * auth/sudo_auth.c, configure, configure.in, interfaces.c, snprintf.c,
14576         sudo.c, sudo.h:
14577         o Digital UNIX needs to check for *snprintf() before -ldb is added
14578         to LIBS since -ldb includes a bogus snprintf(). o Add forward refs
14579         for struct mbuf and struct rtentry for Digital UNIX. o Reorder some
14580         functions in snprintf.c to fix -Wall o Add missing includes to fix
14581         more -Wall
14582         [8d207203e126]
14583
14584         * INSTALL, auth/sudo_auth.c, check.c, config.h.in, configure,
14585         configure.in, parse.yacc, sudo.tab.c, testsudoers.c, version.c,
14586         visudo.c:
14587         o Add a "pedentic" flag to the parser. This makes sudo warn in
14588         cases where an alias may be used before it is defined. Only turned
14589         on for visudo and testsudoers. o Add --disable-authentication option
14590         that makes sudo not require authentication by default. The PASSWD
14591         tag can be used to require authentication for an entry. We no
14592         longer overload --without-passwd.
14593         [f307e09adf98]
14594
14595         * lex.yy.c, parse.lex:
14596         Break 'WORD' regexp def into HOSTNAME and USERNAME. These days a
14597         username can contain just about anything so be very permissive. Also
14598         drop the unused \. punctuation.
14599         [06a50614ff89]
14600
14601 1999-08-09  Todd C. Miller  <Todd.Miller@courtesan.com>
14602
14603         * parse.yacc, sudo.tab.c:
14604         o add a 'val' element to aliasinfo struct and move -> parse.h o
14605         find_alias() now returns an aliasinfo * instead of boolean o
14606         add_alias() now takes a value parameter to store in the
14607         aliasinfo.val o The cmnd, hostspec, runasuser, and user rules now
14608         return: 1) positive match 0) negative match (due to '!')
14609         -1) no match This means setting $$ explicitly in all cases, which I
14610         should have done in the first place. It also means that we always
14611         store a value that is != -1 and when we see a '!' we can set
14612         *_matches to !rv if rv != -1. The upshot of all of this is that '!'
14613         now works the way it should in lists and some of the rules are more
14614         uniform and sensible.
14615         [ad8e73b5d581]
14616
14617         * Makefile.in:
14618         add parse.h dependency
14619         [4ccccd464d30]
14620
14621         * parse.h:
14622         kill unused *_matched macros
14623         [02cba6dcb732]
14624
14625         * parse.yacc:
14626         Allow a list of users as the first thing in a user spec, not just a
14627         single entry. This makes things more uniform, though it does allow
14628         you to write user specs that are hard to read.
14629         [3c4c91c508ca]
14630
14631         * sudo.tab.c:
14632         parse.yacc
14633         [feca81881bb6]
14634
14635         * configure:
14636         regen
14637         [6f247010bb3b]
14638
14639         * configure.in:
14640         fix check for crypt() in libufc
14641         [82770736f4b0]
14642
14643 1999-08-07  Todd C. Miller  <Todd.Miller@courtesan.com>
14644
14645         * README:
14646         sudo-users list now exists
14647         [4716d2bb0bbf]
14648
14649         * INSTALL, PORTING, README, TODO, TROUBLESHOOTING:
14650         Update to reality.
14651         [1eda2d57e42a]
14652
14653         * CHANGES, Makefile.in, TODO, TROUBLESHOOTING, check.c, compat.h,
14654         config.h.in, configure, configure.in, fileops.c, logging.c, sudo.h,
14655         version.c, visudo.c:
14656         o Move lock_file() and touch() into fileops.c so visudo can use them
14657         o Visudo now locks the sudoers temp file instead of bailing when the
14658         temp file already exists. This fixes the problem of stale temp
14659         files but it does *require* that you not try to put the temp file in
14660         a world-writable directory. This shoud not be an issue as the temp
14661         file should live in the same dir as sudoers. o Visudo now only
14662         installs the temp file as sudoers if it changed.
14663         [2517cd06c070]
14664
14665 1999-08-06  Todd C. Miller  <Todd.Miller@courtesan.com>
14666
14667         * logging.c:
14668         add fcntl locking
14669         [c304adeaf515]
14670
14671         * config.h.in, configure, configure.in, logging.c:
14672         Lock the log file.
14673         [d8652704fbdf]
14674
14675         * Makefile.in, TROUBLESHOOTING, parse.c, pathnames.h.in, sudo.c,
14676         visudo.c, visudo.cat, visudo.html, visudo.man, visudo.pod:
14677         o /etc/stmp -> /etc/sudoers.tmp since solaris uses stmp as shadow
14678         temp file o _PATH_SUDO_SUDOERS -> _PATH_SUDOERS and _PATH_SUDO_STMP
14679         -> _PATH_SUDOERS_TMP
14680         [68cad8975807]
14681
14682 1999-08-05  Todd C. Miller  <Todd.Miller@courtesan.com>
14683
14684         * INSTALL, check.c, config.h.in, configure, configure.in, version.c:
14685         o Kill *_MESSAGE and replace with NO_LECTURE o Add more things to
14686         root sudo -V config reporting
14687         [cdd2613a9dcf]
14688
14689         * configure, configure.in:
14690         aix_auth.o not authenticate.o
14691         [d972e35f6730]
14692
14693         * config.h.in:
14694         Add --with-goodpri and --with-badpri configure options to specify
14695         the syslog priority to use.
14696         [2595ae50ab86]
14697
14698         * INSTALL, configure, configure.in, logging.h:
14699         Add --with-goodpri and --with-badpri configure options to specify
14700         the syslog priority to use.
14701         [8276ee9b2b49]
14702
14703         * compat.h:
14704         kill crufty AIX stuff
14705         [a4f35ef9854e]
14706
14707         * Makefile.in:
14708         Sigh, some versions of make (like Solaris's) don't deal with $< like
14709         I would expect. Both GNU and BSD makes get this right but... So, we
14710         just expand $< inline at the cost of some ugliness.
14711         [b1b456f8801f]
14712
14713         * version.c:
14714         If the invoking user is root, sudo will now print configure info in
14715         -V mode. Currently just prints logging info, to be expanded later.
14716         [392f7ed99267]
14717
14718         * logging.c, logging.h, sudo.c, sudo.h:
14719         o new defines for syslog facility and priority o use new
14720         print_version() functino for -V mode
14721         [78abc5142985]
14722
14723         * check.c:
14724         Don't need version.c
14725         [db9a830ad893]
14726
14727         * aclocal.m4, config.h.in, configure, configure.in:
14728         Add check for syslog facilities and priorities tables in syslog.h
14729         [b86213e5fc5c]
14730
14731         * Makefile.in:
14732         o authenticate -> aix_auth o add version.c
14733         [44b6b9a8d0f5]
14734
14735         * auth/sudo_auth.c:
14736         Missed a prompt -> user_prompt conversion
14737         [e4c60b1f210c]
14738
14739 1999-08-04  Todd C. Miller  <Todd.Miller@courtesan.com>
14740
14741         * TODO:
14742         sudo should lock its logfile
14743         [6d2830b28b07]
14744
14745         * parse.yacc, sudo.tab.c:
14746         o Add '!' correctly when expanding Aliases. o Add shortcut macros
14747         for append() to make things more readable. o The separator in
14748         append() is now a string instead of a char. o In append(), only
14749         prepend the separator if the last char is not a '!'. This is a
14750         hack but it greatly simplifies '!' handling. o In -l mode, Runas
14751         lists and NOPASSWD/PASSWD tags are now inherited across entries in
14752         a list (matches current behavior). o Fix formatting in -l mode such
14753         that items in a list are separated by a space. Greatlt improves
14754         readability. o Space for name field in struct aliasinfo is now
14755         allocated dyanically instead of using a (big) buffer. o In
14756         add_alias(), only search the list once (lsearch instead of lfind +
14757         lsearch)
14758         [51f7e07addb9]
14759
14760         * lex.yy.c, sudo.tab.c, sudo.tab.h:
14761         regen
14762         [5c19bb05dc21]
14763
14764         * configure, configure.in:
14765         Solais pam doesn't require anye xtra setup
14766         [a25ba03d91d1]
14767
14768         * parse.yacc:
14769         o Simpler '!' support now that the lexer deals with multiple !'s for
14770         us. o In the case of opFOO, have FOO give a boolean return value and
14771         set foo_matches in opFOO, not FOO. o Treat 'ALL' as a string since
14772         it gets fill()'d in parse.lex--fixes a small memory leak. In the
14773         long run it may be better to just fix parse.lex and make ALL back
14774         into a token. However, having it be a string is useful since it
14775         can be easily passed back to the parent rule if we so desire.
14776         [b3c64b443018]
14777
14778         * parse.lex:
14779         o Remove some unnecessary backslashes o collapse multiple !'s by
14780         using !+ and checking if yyleng is even or odd. this allows us to
14781         simplify ! handling in parse.yacc
14782         [76330e8da8e3]
14783
14784         * sudo.c:
14785         -u flag was being ignored
14786         [e30283207585]
14787
14788 1999-08-01  Todd C. Miller  <Todd.Miller@courtesan.com>
14789
14790         * Makefile.in:
14791         correct fix
14792         [a0e2377dec8f]
14793
14794         * Makefile.in:
14795         work around pod2man stupididy
14796         [7c755640b67f]
14797
14798         * Makefile.in:
14799         correct dependencies for .cat
14800         [5ed7b0653b68]
14801
14802         * sudo.cat, sudo.man, visudo.cat, visudo.man:
14803         regen
14804         [b74510dd6a0a]
14805
14806         * sudo.pod, visudo.pod:
14807         Add copyright Update to reality
14808         [188e9b046c15]
14809
14810         * parse.c, sudo.c, sudo.h:
14811         rename validate() to the more descriptive sudoers_lookup()
14812         [7a1cb652f379]
14813
14814         * auth/aix_auth.c:
14815         use tgetpass
14816         [b8ba5daec40a]
14817
14818 1999-07-31  Todd C. Miller  <Todd.Miller@courtesan.com>
14819
14820         * CHANGES:
14821         updates
14822         [e61460cdf4a0]
14823
14824         * HISTORY, INSTALL, Makefile.in, README, RUNSON, TROUBLESHOOTING,
14825         configure, configure.in, sudo.c:
14826         Sudo, not CU Sudo
14827         [9061b3573c0c]
14828
14829         * LICENSE:
14830         add 4th term to license similar to term 5 in the apache license
14831         [92712e895afb]
14832
14833         * emul/search.h, emul/utime.h:
14834         add 4th term to license similar to term 5 in the apache license
14835         [4f93a8b9396e]
14836
14837         * auth/afs.c, auth/aix_auth.c, auth/dce.c, auth/fwtk.c, auth/kerb4.c,
14838         auth/kerb5.c, auth/pam.c, auth/passwd.c, auth/rfc1938.c,
14839         auth/secureware.c, auth/securid.c, auth/sia.c, auth/sudo_auth.c,
14840         auth/sudo_auth.h, insults.h, interfaces.c, interfaces.h, lex.yy.c,
14841         logging.c, logging.h, parse.c, parse.h, parse.lex, parse.yacc,
14842         pathnames.h.in, putenv.c, strerror.c, sudo.c, sudo.h, sudo.tab.c,
14843         sudo_setenv.c, testsudoers.c, tgetpass.c, utime.c, version.h,
14844         visudo.c:
14845         add 4th term to license similar to term 5 in the apache license
14846         [afae9f2bf9ec]
14847
14848         * ins_2001.h, ins_classic.h, ins_csops.h, ins_goons.h:
14849         add 4th term to license similar to term 5 in the apache license
14850         [c389d3fdafac]
14851
14852         * Makefile.in, alloc.c, check.c, compat.h, config.h.in, find_path.c,
14853         getspwuid.c, goodpath.c:
14854         add 4th term to license similar to term 5 in the apache license
14855         [969e63dbd38e]
14856
14857         * LICENSE, aclocal.m4, auth/rfc1938.c, check.c, configure.in,
14858         insults.h, logging.c, sudo.c, sudo.h:
14859         there was a 1995 release too
14860         [5963fd89457a]
14861
14862 1999-07-28  Todd C. Miller  <Todd.Miller@courtesan.com>
14863
14864         * CHANGES:
14865         updates
14866         [254b794f16ab]
14867
14868         * check.c:
14869         Use dirs instead of files for timestamp. This allows tty and non-
14870         tty schemes to coexist reasonably. Note, however, that when you
14871         update a tty ticket, the mtime on the user dir gets updated as well.
14872         [44bfac32f799]
14873
14874         * configure, configure.in:
14875         Fix getprpwnam() checking on SCO. Need to link with "-lprot -lx"
14876         when linking test program, not just -lprot. Also add check for
14877         getspnam(). The SCO docs indicate that /etc/shadow can be used but
14878         this may be a lie.
14879         [2ba21d36cc1e]
14880
14881 1999-07-24  Todd C. Miller  <Todd.Miller@courtesan.com>
14882
14883         * auth/API:
14884         first cut at auth API description
14885         [3d10df021eb8]
14886
14887 1999-07-22  Todd C. Miller  <Todd.Miller@courtesan.com>
14888
14889         * auth/fwtk.c, auth/kerb4.c, auth/kerb5.c, auth/pam.c, auth/rfc1938.c,
14890         auth/secureware.c, auth/securid.c, auth/sudo_auth.c,
14891         auth/sudo_auth.h:
14892         auth API change. There is now an init method that gets run before
14893         the main loop. This allows auth routines to differentiate between
14894         initialization that happens once vs. setup that needs to run each
14895         time through the loop.
14896         [76df1c0d3478]
14897
14898         * auth/kerb5.c, logging.c:
14899         use easprintf() and evasprintf()
14900         [fd97d96dc12f]
14901
14902         * alloc.c, sudo.h:
14903         add easprintf() and evasprintf(), error checking versions of
14904         asprintf() and vasprintf()
14905         [f54385de20b7]
14906
14907         * TODO:
14908         remove 2 items. One done, one won't do.
14909         [64513b47bc7a]
14910
14911         * lex.yy.c, sudo.tab.c:
14912         regen
14913         [4aa299de2752]
14914
14915         * configure, sudo.cat, sudo.html, sudo.man, sudoers.html, visudo.cat,
14916         visudo.html, visudo.man:
14917         regen
14918         [553c0d1209be]
14919
14920         * CHANGES:
14921         new changes
14922         [d7be00b7e36b]
14923
14924         * sudo.pod:
14925         o Document -K flag and update meaning of -k flag. o BSD-style
14926         copyright o Document clearing of BIND resolver environment variables
14927         o Clarify bit about shared libs o suggest rc files create /tmp/.odus
14928         if your OS gives away files
14929         [4a4092be1455]
14930
14931         * visudo.pod:
14932         BSD license
14933         [ad0bfd0a4630]
14934
14935         * version.h:
14936         BSD-style copyright
14937         [ecc6479325be]
14938
14939         * tgetpass.c:
14940         o BSD copyright o no need to block signals, we now do that in main()
14941         o cosmetic changes
14942         [61958beda7ab]
14943
14944         * testsudoers.c, visudo.c:
14945         o BSD-style copyright o Use "struct sudo_user" instead of old
14946         globals. o some cometic cleanup
14947         [88c0c6924082]
14948
14949         * sudo_setenv.c:
14950         BSD-style copyright
14951         [df20290129a0]
14952
14953         * sudo.h:
14954         o BSD copyright o logging and parser bits moved to their own .h
14955         files o new "struct sudo_user" to encapsulate many of the old
14956         globals.
14957         [50fc86bf25cb]
14958
14959         * sudo.c:
14960         o no longer contains sudo 1.1/1.2 code o BSD copyright o use new
14961         logging routines o simplified flow of control o BIND resolver
14962         additions to badenv_table
14963         [8c53f15bfcb0]
14964
14965         * strerror.c:
14966         BSD-style copyright
14967         [7c906c3a82ac]
14968
14969         * snprintf.c:
14970         Now compiles on more K&R compilers
14971         [07ab1d3231c7]
14972
14973         * putenv.c:
14974         BSD-style copyright, cosmetic changes
14975         [c42371295881]
14976
14977         * pathnames.h.in:
14978         BSD-style copyright
14979         [e5c34ebd4cf1]
14980
14981         * parse.c, parse.h, parse.lex, parse.yacc:
14982         BSD-style copyright. Move parser-specific defines and structs into
14983         parse.h + other cosmetic changes
14984         [d3088efb6228]
14985
14986         * logging.h:
14987         defines for logging routines
14988         [13147941c02d]
14989
14990         * find_path.c, getspwuid.c, goodpath.c, interfaces.c:
14991         BSD-style copyright, cosmetic changes
14992         [e8205e91a4fa]
14993
14994         * ins_2001.h, ins_classic.h, ins_csops.h, ins_goons.h, insults.h,
14995         interfaces.h:
14996         BSD-style copyright
14997         [b9499da7cdce]
14998
14999         * configure.in:
15000         o tgetpass.c is no longer optional o kill DCE_OBJS, add AUTH_OBJS o
15001         kill --disable-tgetpass o add --without-passwd o changes to fill in
15002         AUTH_OBJS for new auth api o check for strerror(), v?snprintf() and
15003         v?asprintf() o replace --with-AuthSRV with --with-fwtk
15004         [9a3f39b9c128]
15005
15006         * config.h.in:
15007         BSD-style copyright. Remove USE_GETPASS and HAVE_UTIME_NULL. Add
15008         HAVE_FWTK, HAVE_STRERROR, HAVE_SNPRINTF, HAVE_VSNPRINTF,
15009         HAVE_ASPRINTF, HAVE_VASPRINTF, WITHOUT_PASSWD and NO_PASSWD
15010         [9a09054db53a]
15011
15012         * compat.h:
15013         BSD-style copyright; Add S_IFLNK and MIN/MAX id they are missing.
15014         [25509c566975]
15015
15016         * alloc.c:
15017         BSD-style copyright
15018         [4967be892363]
15019
15020         * TROUBLESHOOTING:
15021         no more --with-getpass
15022         [afd5b670c196]
15023
15024         * TODO:
15025         Take out things I've done...
15026         [375420c8270e]
15027
15028         * README:
15029         Refer to LICENSE
15030         [c486c8db30f6]
15031
15032         * PORTING:
15033         --with-getpass no longer exists
15034         [db48202df1bb]
15035
15036         * Makefile.in:
15037         BSD-style copyright. Update to reflect reality wrt new files and
15038         new auth modules.
15039         [61a2ca7940fb]
15040
15041         * INSTALL:
15042         Remove --with-AuthSRV and --disable-tgetpass. Add --with-fwtk and
15043         --without-passwd.
15044         [64e8f9e1c05e]
15045
15046         * HISTORY:
15047         Update history a bit
15048         [df60c0a871b8]
15049
15050         * COPYING, LICENSE:
15051         Now distributed under a BSD-style license
15052         [d1a184ccabe1]
15053
15054         * auth/sudo_auth.c:
15055         o BSD-style copyright o Add support for NO_PASSWD/WITHOUT_PASSWD
15056         options. o skey/opie replaced by rfc1938 code o new struct sudo_user
15057         global
15058         [891b57060868]
15059
15060         * auth/pam.c, auth/sia.c:
15061         BSD-style copyright and use new log functions
15062         [65c44445ea84]
15063
15064         * auth/kerb5.c:
15065         o BSD-style copyright o Use new log functiongs o Use asprintf() and
15066         snprintf() where sensible.
15067         [1ff0feaacf95]
15068
15069         * check.c:
15070         Rewrote all the old sudo 1.1/1.2 code. Timestamp handling is now
15071         done more reasonably--better sanity checks and tty-based stamps are
15072         now done as files in a directory with the same name as the invoking
15073         user, eg. /var/run/sudo/millert/ttyp1. It is not currently possible
15074         to mix tty and non-tty based ticket schemes but this may change in
15075         the future (it requires sudo to use a directory instead of a file in
15076         the non-tty case). Also, ``sudo -k'' now sets the ticket back to
15077         the epoch and ``sudo -K'' really deletes the file. That way you
15078         don't get the lecture again just because you killed your ticket in
15079         .logout. BSD-style copyright now.
15080         [ec3460f85be8]
15081
15082         * logging.c:
15083         o rewritten logging routines. log_error() now takes printf-style
15084         varargs and log_auth() for the return value of validate(). o BSD-
15085         style copyright
15086         [438292025c4e]
15087
15088         * auth.c, check_sia.c, dce_pwent.c, secureware.c:
15089         superceded by new auth API
15090         [412060590da7]
15091
15092         * auth/kerb4.c:
15093         BSD-style copyright
15094         [cc4e800833c7]
15095
15096         * auth/fwtk.c:
15097         Use snprintf() where it makes sense and add a BSD-style copyright
15098         [1b7502388a74]
15099
15100         * auth/afs.c, auth/aix_auth.c, auth/dce.c, auth/passwd.c,
15101         auth/rfc1938.c, auth/secureware.c, auth/securid.c, auth/sudo_auth.h:
15102         BSD-style copyright
15103         [42583bedae5c]
15104
15105         * emul/utime.h, utime.c:
15106         BSD-style copyright
15107         [3985c90aba47]
15108
15109         * emul/search.h:
15110         this has been rewritten so use my BSD-style copyright
15111         [176df1b0de6f]
15112
15113 1999-07-15  Todd C. Miller  <Todd.Miller@courtesan.com>
15114
15115         * snprintf.c:
15116         include malloc.h if no stdlib.h
15117         [7b123f1d1d03]
15118
15119         * snprintf.c:
15120         KTH snprintf()/asprintf() for systems w/o them
15121         [3ca9aefb9d01]
15122
15123         * strerror.c:
15124         strerror() for systems w/o it
15125         [7f0bd8a1c1b4]
15126
15127 1999-07-12  Todd C. Miller  <Todd.Miller@courtesan.com>
15128
15129         * visudo.c:
15130         stylistic changes
15131         [6f99aceb7170]
15132
15133         * parse.c, parse.lex, parse.yacc:
15134         Add contribution info in the main comment
15135         [e50cec10acd6]
15136
15137 1999-07-11  Todd C. Miller  <Todd.Miller@courtesan.com>
15138
15139         * auth/pam.c:
15140         remove missed ref to PAM_nullpw
15141         [a43e59692cdb]
15142
15143         * auth/sudo_auth.h:
15144         pasto
15145         [891ff138ab89]
15146
15147         * auth/kerb5.c:
15148         more or less complete now--still untested
15149         [21036732faa0]
15150
15151         * auth/afs.c, auth/pam.c:
15152         don't use user_name macro, it will go away
15153         [def7cf727349]
15154
15155         * auth/opie.c, auth/rfc1938.c, auth/skey.c, auth/sudo_auth.h:
15156         combine skey/opie code into rfc1938.c
15157         [44d88ca93d3e]
15158
15159         * auth/dce.c, auth/sudo_auth.h:
15160         DCE authentication method; basically unchanged from dce_pwent.c
15161         [4d468473dd6f]
15162
15163         * auth/aix_auth.c, auth/sudo_auth.h:
15164         AIX authenticate() support. Could probably be much better
15165         [000013321a33]
15166
15167         * auth/sia.c:
15168         Fix an uninitialized variable and some cleanup. Now works (tested)
15169         [fd6ad88ff055]
15170
15171         * auth/sia.c, auth/sudo_auth.h:
15172         SIA support for digital unix
15173         [5335f3e70eab]
15174
15175         * auth/pam.c:
15176         don't use prompt global, it will go away
15177         [fadd22dd6ce4]
15178
15179         * auth/secureware.c:
15180         correct copyright years
15181         [6aa07c49f51b]
15182
15183         * auth/afs.c, auth/fwtk.c, auth/kerb4.c, auth/kerb5.c, auth/opie.c,
15184         auth/pam.c, auth/passwd.c, auth/secureware.c, auth/securid.c,
15185         auth/skey.c, auth/sudo_auth.c, auth/sudo_auth.h:
15186         New authentication API and methods
15187         [9debe9b59c79]
15188
15189 1999-07-08  Todd C. Miller  <Todd.Miller@courtesan.com>
15190
15191         * sudo.tab.c:
15192         regen
15193         [84578e82c1a6]
15194
15195         * parse.yacc:
15196         only save an entry if user_matches && host_matches, even if the
15197         stack is empty (fix for previous commit)
15198         [00984b078d8a]
15199
15200         * sudo.tab.c:
15201         regen
15202         [66acf160b4b7]
15203
15204         * parse.yacc:
15205         1) Always save an entry on the stack if it is empty. This fixes the
15206         -l and -v flags that were broken by earlier parser changes.
15207
15208         2) In a Runas list, don't negate FALSE -> TRUE since that would make
15209         !foo match any time the user specified a runas user (via -u) other
15210         than foo.
15211         [f322eb54b015]
15212
15213         * testsudoers.c:
15214         interfaces and num_interfaces are now auto, not extern
15215         [113add5c6518]
15216
15217 1999-07-07  Todd C. Miller  <Todd.Miller@courtesan.com>
15218
15219         * auth.c:
15220         use a static global to keep stae about empty passwords
15221         [bc02e30807d8]
15222
15223         * check_sia.c:
15224         make PASSWORD_NOT_CORRECT logging consistent with other modules
15225         [21962549d5fd]
15226
15227 1999-07-05  Todd C. Miller  <Todd.Miller@courtesan.com>
15228
15229         * auth.c:
15230         PAM prompt code was wrong, looks like we have to kludge it after
15231         all.
15232         [91f246155ead]
15233
15234         * auth.c:
15235         In the PAM code, when a user hits return at the first password
15236         prompt, exit without a warning just like the normal auth code
15237         [918f59bacdb7]
15238
15239         * configure, configure.in:
15240         kludge around cross-compiler false positives
15241         [5e5fc8356400]
15242
15243         * auth.c, check.c, check_sia.c, logging.c, sudo.h, tgetpass.c:
15244         New (correct) PAM code Tgetpass now takes an echo flag for use with
15245         PAM_PROMPT_ECHO_ON Block SIGINT and SIGTSTP during auth remove a
15246         useless umask setting Change error from BAD_ALLOCATION ->
15247         BAD_AUTH_INIT (for use with sia/PAM) Some cosmetic changes to auth.c
15248         for consistency
15249         [e71397f09dd8]
15250
15251         * sudo.c:
15252         Some -Wall and kill some trailing spaces
15253         [8229b43d5c4e]
15254
15255         * configure.in:
15256         define -D__EXTENSIONS__ for solaris so we get crypt() proto
15257         [7533e4436cab]
15258
15259 1999-06-22  Todd C. Miller  <Todd.Miller@courtesan.com>
15260
15261         * RUNSON:
15262         add Dynix 4.4.4
15263         [b69f773efbce]
15264
15265         * INSTALL, config.h.in, configure, configure.in:
15266         for kerberos V < version, fall back on old kerb4 auth code
15267         [d685ed3a1d8e]
15268
15269         * INSTALL:
15270         clarify some things
15271         [2f5ba2e8e53a]
15272
15273         * UPGRADE, sudoers.cat, sudoers.man, sudoers.pod:
15274         typos
15275         [8925a109c093]
15276
15277 1999-06-14  Todd C. Miller  <Todd.Miller@courtesan.com>
15278
15279         * sudo.c:
15280         mention why DONT_LEAK_PATH_INFO is not the default
15281         [0346260cb4ec]
15282
15283 1999-06-03  Todd C. Miller  <Todd.Miller@courtesan.com>
15284
15285         * tgetpass.c:
15286         Fix open(2) return value checking, was NULL for fopen, should be -1
15287         for open
15288         [355878bf6d8a]
15289
15290         * configure:
15291         regen
15292         [68bf82871862]
15293
15294         * configure.in:
15295         better wording for solaris pam notice
15296         [04e88c7a6c42]
15297
15298         * CHANGES:
15299         document recent changes
15300         [7c922c5622ef]
15301
15302         * TROUBLESHOOTING:
15303         Update shadow password section
15304         [e8448bae7d66]
15305
15306         * auth.c:
15307         move authentication code from check.c to auth.c
15308         [e9f6ecae2399]
15309
15310         * Makefile.in, check.c, sudo.h:
15311         move authentication code to auth.c
15312         [124cded85f46]
15313
15314 1999-05-17  Todd C. Miller  <Todd.Miller@courtesan.com>
15315
15316         * Makefile.in, check.c, check_sia.c, compat.h, find_path.c,
15317         getspwuid.c, goodpath.c, interfaces.c, interfaces.h, lex.yy.c,
15318         logging.c, parse.c, parse.lex, parse.yacc, secureware.c, sudo.c,
15319         sudo.h, sudo.tab.c, sudo_setenv.c, testsudoers.c, tgetpass.c,
15320         visudo.c:
15321         Move interface-related defines to interfaces.h so we don't have to
15322         include <netinet/in.h> everywhere.
15323         [e7599d8ea0bf]
15324
15325 1999-05-14  Todd C. Miller  <Todd.Miller@courtesan.com>
15326
15327         * CHANGES, INSTALL, TODO, check.c, compat.h, getspwuid.c, logging.c,
15328         parse.yacc, sudo.c, sudo.tab.c, tgetpass.c:
15329         o Replace _PASSWD_LEN braindeath with our own SUDO_MAX_PASS. It
15330         turns out the old DES crypt does the right thing with passwords
15331         longert than 8 characters. o Fix common typo (necesary ->
15332         necessary) o Update TODO list
15333         [ad75007a6f13]
15334
15335 1999-05-03  Todd C. Miller  <Todd.Miller@courtesan.com>
15336
15337         * sudo.c:
15338         set $LOGNAME when we set $USER
15339         [391596210fd7]
15340
15341 1999-04-27  Todd C. Miller  <Todd.Miller@courtesan.com>
15342
15343         * INSTALL:
15344         add comment about digital unix and interfaces.c warning with gcc
15345         [e20f815901cc]
15346
15347 1999-04-15  Todd C. Miller  <Todd.Miller@courtesan.com>
15348
15349         * sample.sudoers:
15350         use modern paths and give examples for some of the new parser
15351         features
15352         [e7b2e507c695]
15353
15354 1999-04-10  Todd C. Miller  <Todd.Miller@courtesan.com>
15355
15356         * parse.c:
15357         fix comment
15358         [5eb0d005a65f]
15359
15360         * alloc.c, check.c, check_sia.c, dce_pwent.c, find_path.c,
15361         getspwuid.c, goodpath.c, interfaces.c, lex.yy.c, logging.c, parse.c,
15362         parse.lex, parse.yacc, putenv.c, secureware.c, sudo.c, sudo.tab.c,
15363         sudo_setenv.c, testsudoers.c, tgetpass.c, utime.c, visudo.c:
15364         Function names should be flush with the start of the line so they
15365         can be found trivially in an editor and with grep
15366         [3c400abde574]
15367
15368         * find_path.c, interfaces.c, lex.yy.c, parse.c, parse.lex, parse.yacc,
15369         sudo.c, sudo.tab.c, testsudoers.c, tgetpass.c, visudo.c:
15370         free(3) is already void, no need to cast it
15371         [6981e1ebda0f]
15372
15373         * logging.c, sudo.c, sudo.h:
15374         catch case where cmnd_safe is not set (this should not be possible)
15375         [3e1e3038546c]
15376
15377         * CHANGES, logging.c, parse.c, parse.yacc, sudo.c, sudo.h, sudo.tab.c,
15378         testsudoers.c, visudo.c:
15379         Stash the "safe" path (ie: the one listed in sudoers) to the command
15380         instead of stashing the struct stat. Should be safer.
15381         [aa2883fcf57e]
15382
15383 1999-04-08  Todd C. Miller  <Todd.Miller@courtesan.com>
15384
15385         * INSTALL, Makefile.in, UPGRADE:
15386         notes on updating from an earlier release
15387         [df9fffa4ab2c]
15388
15389         * CHANGES:
15390         updated
15391         [574f5065d15a]
15392
15393 1999-04-07  Todd C. Miller  <Todd.Miller@courtesan.com>
15394
15395         * parse.yacc, sudo.tab.c, sudo.tab.h, sudoers.cat, sudoers.html,
15396         sudoers.man, sudoers.pod:
15397         You can now specifiy a host list instead of just a host or alias.
15398         Ie: user = host1,host2,ALIAS,!host3 my_command now works.
15399         [e3942bb78021]
15400
15401         * testsudoers.c:
15402         Quiet -Wall
15403         [a3edc8b08c3a]
15404
15405         * parse.yacc, sudo.tab.c:
15406         Move the push from the beginning of cmndspec to the end. This means
15407         we no longer have to do a push at the end of privilege, just reset
15408         some values.
15409         [8ea66e5860c6]
15410
15411         * sudoers.cat, sudoers.html, sudoers.man, sudoers.pod:
15412         runas-lists and NOPASSWD/PASSWD modifiers are now sticky and you can
15413         use "!" most everywhere
15414         [aadae4d1c9d5]
15415
15416 1999-04-06  Todd C. Miller  <Todd.Miller@courtesan.com>
15417
15418         * sudoers.pod:
15419         modernize paths and update su example based on sample.sudoers one
15420         [3f6a37e16c83]
15421
15422         * sample.sudoers:
15423         New runas semantics
15424         [756ee92865b7]
15425
15426         * CHANGES, Makefile.in, alloc.c, config.h.in, configure, configure.in,
15427         strdup.c, sudo.h:
15428         In estrdup(), do the malloc ourselves so we don't need to rely on
15429         the system strdup(3) which may or may not exist. There is now no
15430         need to provide strdup() for those w/o it. Also, the prototype for
15431         estrdup() was wrong, it returns char * and its param is const.
15432         [5f1f984da8e3]
15433
15434         * getcwd.c:
15435         $Sudo tag
15436         [e4188a35e68c]
15437
15438         * check.c:
15439         buf should be prompt; Michael Robokoff <mrobo@networkcs.com>
15440         [2aec87c86cde]
15441
15442         * CHANGES, TODO, parse.yacc, sudo.tab.c:
15443         It is now possible to use the '!' operator in a runas list as well
15444         as in a Cmnd_Alias, Host_Alias and User_Alias.
15445         [a4fdaabda990]
15446
15447         * logging.c, sudo.h:
15448         Kill GLOBAL_NO_SPW_ENT (not used) and crank GLOBAL_PROBLEM
15449         [73d0376785ae]
15450
15451         * sudo.h:
15452         Definitions of *_matched were wrong--user top, not top-2 as
15453         subscript.
15454         [5f8350a57362]
15455
15456         * logging.c, parse.c, parse.yacc, sudo.c, sudo.h, sudo.tab.c:
15457         Add VALIDATE_NOT_OK_NOPASS for when user is not allowed to run a
15458         command but the NOPASSWD flag was set. Make runasspec, runaslist,
15459         runasuser, and nopasswd typeless in parse.yacc Add support for '!'
15460         in the runas list Fix double printing of '%' and '+' for groups and
15461         netgroups respectively Add *_matched macros (no need for local stack
15462         variable). Should only be used directly after a pop (since top must
15463         be >= 2).
15464         [392b1400c4e6]
15465
15466         * aclocal.m4, configure.in:
15467         Add copyright, somewhat silly
15468         [55c2cdd82dca]
15469
15470 1999-04-05  Todd C. Miller  <Todd.Miller@courtesan.com>
15471
15472         * BUGS, INSTALL, Makefile.in, README, alloc.c, check.c, check_sia.c,
15473         compat.h, config.h.in, configure, configure.in, dce_pwent.c,
15474         emul/utime.h, find_path.c, getspwuid.c, goodpath.c, ins_2001.h,
15475         ins_classic.h, ins_csops.h, ins_goons.h, insults.h, interfaces.c,
15476         lex.yy.c, logging.c, parse.c, parse.lex, parse.yacc, pathnames.h.in,
15477         putenv.c, secureware.c, strdup.c, sudo.c, sudo.cat, sudo.h,
15478         sudo.man, sudo.tab.c, sudo_setenv.c, sudoers.cat, sudoers.man,
15479         testsudoers.c, tgetpass.c, utime.c, version.h, visudo.c, visudo.cat,
15480         visudo.man:
15481         Crank version to 1.6 and combine copyright statements
15482         [0e1c791658ae]
15483
15484         * sample.sudoers:
15485         Use ! not ^ to do negation
15486         [1480a0761730]
15487
15488         * lex.yy.c, sudo.tab.c:
15489         regen
15490         [89ca5a46684b]
15491
15492         * parse.lex, parse.yacc:
15493         Make runas and NOPASSWD tags persistent across entris in a command
15494         list. Add a PASSWD tag to reverse NOPASSWD. When you override a
15495         runas or *PASSWD tag the value given becomes the new default for the
15496         rest of the command list.
15497         [f1bbb4066542]
15498
15499 1999-04-02  Todd C. Miller  <Todd.Miller@courtesan.com>
15500
15501         * CHANGES, RUNSON:
15502         update for 1.5.9
15503         [a1ae9d4a7d54] [SUDO_1_5_9]
15504
15505         * visudo.c:
15506         Shift return value of system(3) by 8 to get real exit value and if
15507         it is not 1 or 0 print the retval along with the error message.
15508         [c1ff50d743fb]
15509
15510 1999-03-30  Todd C. Miller  <Todd.Miller@courtesan.com>
15511
15512         * Makefile.in:
15513         testsudoers needs LIBOBJS too
15514         [972571b4e4bf]
15515
15516         * parse.c, parse.yacc, sudo.tab.c:
15517         Fix another parser bug. For a sudoers entry like this: millert
15518         ALL=/bin/ls,(daemon) !/bin/ls sudo would not allow millert to run ls
15519         as root.
15520         [51968e1eb33d]
15521
15522         * CHANGES:
15523         new change
15524         [271c6110bb62]
15525
15526         * parse.yacc, sudo.tab.c:
15527         Save entries that match a ! command on the matching stack too
15528         [5afb5107116c]
15529
15530         * sudo.c:
15531         Make sudo's usage info better when mutually exclusive args are given
15532         and don't rely on argument order to detect this; nick@zeta.org.au
15533         [2422753c88fd]
15534
15535 1999-03-29  Todd C. Miller  <Todd.Miller@courtesan.com>
15536
15537         * CHANGES, Makefile.in, RUNSON:
15538         updates from CU
15539         [b37381e3dafb]
15540
15541         * Makefile.in:
15542         use gzip
15543         [94a64e52a166]
15544
15545         * parse.yacc, sudo.tab.c:
15546         Fix off by one error introduced in *alloc changes
15547         [95ede581153a]
15548
15549         * BUGS, CHANGES, INSTALL, Makefile.in, README, alloc.c, check.c,
15550         check_sia.c, compat.h, config.h.in, configure, configure.in,
15551         dce_pwent.c, emul/utime.h, find_path.c, getspwuid.c, goodpath.c,
15552         ins_2001.h, ins_classic.h, ins_csops.h, ins_goons.h, insults.h,
15553         interfaces.c, lex.yy.c, logging.c, parse.c, parse.lex, parse.yacc,
15554         pathnames.h.in, putenv.c, secureware.c, strdup.c, sudo.c, sudo.cat,
15555         sudo.h, sudo.man, sudo.tab.c, sudo_setenv.c, sudoers.cat,
15556         sudoers.man, testsudoers.c, tgetpass.c, utime.c, version.h,
15557         visudo.c, visudo.cat, visudo.html, visudo.man, visudo.pod:
15558         ++version
15559         [c6d88f024e37]
15560
15561         * Makefile.in, check.c, find_path.c, getspwuid.c, goodpath.c,
15562         interfaces.c, lex.yy.c, logging.c, parse.c, parse.lex, parse.yacc,
15563         putenv.c, secureware.c, strdup.c, sudo.c, sudo.h, sudo.tab.c,
15564         sudo_setenv.c, testsudoers.c, utime.c, visudo.c:
15565         Use emalloc/erealloc/estrdup
15566         [44221d97361a]
15567
15568         * alloc.c:
15569         error checking memory allocation routines
15570         [5f8c1e7bbc71]
15571
15572         * parse.yacc, sudo.tab.c:
15573         Still not right, this fixes it for real
15574         [ad553b6f5339]
15575
15576         * parse.yacc, sudo.tab.c:
15577         Fix for previous commit
15578         [4d6f989f9bf2]
15579
15580         * CHANGES, INSTALL, parse.yacc:
15581         Fix a parser bug that was exposed when mixing different runas specs
15582         and ! commands. For example: millert ALL=(daemon)
15583         /usr/bin/whoami,!/bin/ls would allow millert to run whoami as root
15584         as well as daemon when it should just allow daemon. The problem was
15585         that comma-separated commands in a list shared the same entry on the
15586         matching stack. Now they get their own entry iff there is a full
15587         match. It may be better to just make the runas spec persistent
15588         across all commands in a list like the user and host entries of the
15589         matching stack. However, since that is a fairly major change it
15590         should gets its own minor rev increase.
15591         [c4b939cdcc8e]
15592
15593 1999-03-28  Todd C. Miller  <Todd.Miller@courtesan.com>
15594
15595         * check.c, config.h.in:
15596         Simplify PAM code and fix a PAM-related warning on Linux
15597         [2468399523b6]
15598
15599 1999-03-26  Todd C. Miller  <Todd.Miller@courtesan.com>
15600
15601         * CHANGES:
15602         updates
15603         [29d4a997769c]
15604
15605         * sample.sudoers:
15606         better su entry
15607         [76d8285a72ba]
15608
15609         * configure:
15610         regen
15611         [b7450cc6975d]
15612
15613         * check.c, configure.in:
15614         new pam code that works on solaris, should work on linux too;
15615         aelberg@home.com
15616         [84c16c0ff259]
15617
15618 1999-03-19  Todd C. Miller  <Todd.Miller@courtesan.com>
15619
15620         * RUNSON:
15621         more entries
15622         [b6bef8660759]
15623
15624         * config.h.in:
15625         only include strings.h if there is no string.h
15626         [b66054a32b00]
15627
15628 1999-03-17  Todd C. Miller  <Todd.Miller@courtesan.com>
15629
15630         * config.guess:
15631         Sinix is now being called ReliantUNIX; bjjackso@us.oracle.com
15632         [c086d2fe63af]
15633
15634 1999-03-13  Todd C. Miller  <Todd.Miller@courtesan.com>
15635
15636         * sudo.c:
15637         shost must be set before log functions are called #ifdef HOST_IN_LOG
15638         [d49a7944358f]
15639
15640 1999-03-07  Todd C. Miller  <Todd.Miller@courtesan.com>
15641
15642         * CHANGES, lex.yy.c, parse.lex:
15643         Fix a bug wrt quoting characters in command args. Stop processing
15644         an arg when you hit a backslash so the quoted-character detection
15645         can catch it.
15646         [2281438d7f41]
15647
15648 1999-02-26  Todd C. Miller  <Todd.Miller@courtesan.com>
15649
15650         * interfaces.c:
15651         include sys/time.h; aparently AIX needs it. ppz@cdu.elektra.ru
15652         [31118a9e9916]
15653
15654 1999-02-24  Todd C. Miller  <Todd.Miller@courtesan.com>
15655
15656         * configure, configure.in:
15657         add missing case statement so --without-sendmail works
15658         [ca25614f7dd9]
15659
15660 1999-02-23  Todd C. Miller  <Todd.Miller@courtesan.com>
15661
15662         * CHANGES:
15663         more
15664         [4d70e44f7f93]
15665
15666 1999-02-22  Todd C. Miller  <Todd.Miller@courtesan.com>
15667
15668         * configure, configure.in:
15669         only search for -lsun in irix <= 4.x
15670         [e604238317b1]
15671
15672         * configure, configure.in:
15673         back out last configure.in change now that I've hacked autoconf to
15674         fix the real problem and add a missing newline
15675         [2dabf59a79b5]
15676
15677         * CHANGES:
15678         updated
15679         [bb35d526552f]
15680
15681         * getcwd.c:
15682         add def of dirfd() for those without it
15683         [95f0173d8441]
15684
15685         * configure, configure.in:
15686         When falling back to checking for socket() when linking with
15687         "-lsocket -lnsl" check for main() instead since autoconf has already
15688         cached the results of checking for socket() in -lsocket. This is
15689         really an autoconf bug as it should use the extra libs as part of
15690         the cache variable name.
15691         [a845f8b710ad]
15692
15693         * configure.in:
15694         typo
15695         [a7d62f62a478]
15696
15697 1999-02-21  Todd C. Miller  <Todd.Miller@courtesan.com>
15698
15699         * configure.in:
15700         fix occurrence of $with_timeout that should be
15701         $with_password_timeout; Michael.Neef@neuroinformatik.ruhr-uni-
15702         bochum.de
15703         [8c4da2cf73d1]
15704
15705 1999-02-17  Todd C. Miller  <Todd.Miller@courtesan.com>
15706
15707         * sudo.cat, sudo.html, sudo.man, sudo.pod:
15708         fix grammar; espie@openbsd.org
15709         [7031d9dfbc3e] [SUDO_1_5_8]
15710
15711 1999-02-11  Todd C. Miller  <Todd.Miller@courtesan.com>
15712
15713         * parse.yacc, sudo.c, testsudoers.c:
15714         add cast for strdup in places it does not have it
15715         [7ce4478d3b0f]
15716
15717 1999-02-09  Todd C. Miller  <Todd.Miller@courtesan.com>
15718
15719         * configure, configure.in:
15720         define for_BSD_TYPES irix
15721         [858337ff4af8]
15722
15723 1999-02-07  Todd C. Miller  <Todd.Miller@courtesan.com>
15724
15725         * Makefile.in, sudo.cat, sudo.html, sudo.man, sudo.pod:
15726         Make it clear that it is the user's password, not root's, that we
15727         want.
15728         [ae0f51b35ee4]
15729
15730         * check.c, sudo.h:
15731         If the user enters an empty password and really has no password,
15732         accept the empty password they entered. Perviously, they could
15733         enter anything
15734         *but* an empty password. Also, add GETPASS macro that calls either
15735         tgetpass() or getpass() depending on how sudo was configured.
15736         Problem noted by jdg@maths.qmw.ac.uk
15737         [2fde21ce94c1]
15738
15739 1999-02-03  Todd C. Miller  <Todd.Miller@courtesan.com>
15740
15741         * Makefile.in, check.c, check_sia.c, compat.h, config.h.in,
15742         dce_pwent.c, emul/utime.h, find_path.c, getspwuid.c, goodpath.c,
15743         ins_2001.h, ins_classic.h, ins_csops.h, ins_goons.h, insults.h,
15744         interfaces.c, logging.c, parse.c, parse.lex, parse.yacc,
15745         pathnames.h.in, putenv.c, secureware.c, strdup.c, sudo.c, sudo.h,
15746         sudo_setenv.c, testsudoers.c, tgetpass.c, utime.c, version.h,
15747         visudo.c:
15748         add explicate copyright
15749         [d3b4449834a5]
15750
15751         * CHANGES:
15752         mention -lsocket, -lnsl configure changes
15753         [9140af4ad8ae]
15754
15755 1999-02-02  Todd C. Miller  <Todd.Miller@courtesan.com>
15756
15757         * sudo.c:
15758         Don't clobber errno after calling check_sudoers().
15759         [59bd581b2654]
15760
15761 1999-02-01  Todd C. Miller  <Todd.Miller@courtesan.com>
15762
15763         * configure, configure.in:
15764         When linking with both -lsocket and -lnsl be sure to do so in that
15765         order. Also, when we can't find socket() or inet_addr() and have to
15766         try linking with both libs, issue a warning.
15767         [0ee547163067]
15768
15769         * sudo.cat, sudo.man, sudo.pod:
15770         clarify bad timestamp and fmt
15771         [70e42cf56c75]
15772
15773 1999-01-23  Todd C. Miller  <Todd.Miller@courtesan.com>
15774
15775         * INSTALL, RUNSON:
15776         be clear that pam is linux-only and add a RUNSON entry
15777         [7fdeab875e0d]
15778
15779 1999-01-22  Todd C. Miller  <Todd.Miller@courtesan.com>
15780
15781         * CHANGES, INSTALL, configure, configure.in:
15782         fix and correctly document --with-umask; problem noted by
15783         adap@adap.org
15784         [11cd0481d63a]
15785
15786 1999-01-20  Todd C. Miller  <Todd.Miller@courtesan.com>
15787
15788         * configure, configure.in:
15789         only use /usr/{man,catman}/local to store man pages if suer didn't
15790         override prefix or mandir
15791         [781ad2cbe9be]
15792
15793         * INSTALL, configure, configure.in:
15794         fix typo, make --with-SecurID take an arg
15795         [026a9b4014fc]
15796
15797 1999-01-19  Todd C. Miller  <Todd.Miller@courtesan.com>
15798
15799         * RUNSON:
15800         updates from users
15801         [2286982b31e6]
15802
15803         * CHANGES, INSTALL, check.c, configure, configure.in:
15804         FWTK 'authsrv' support from Kevin Kadow <kadow@MSG.NET>
15805         [23aa4e5c6b02]
15806
15807         * configure, configure.in:
15808         better fix for the problem of unresolved symbols in -lnsl or
15809         -lsocket
15810         [82fe70fc287f]
15811
15812         * configure, configure.in:
15813         when checking for functions in -lnsl and -lsocket link with both of
15814         them to avoid unresolved symbols on some weirdo systems
15815         [1734a591808e]
15816
15817 1999-01-18  Todd C. Miller  <Todd.Miller@courtesan.com>
15818
15819         * BUGS, CHANGES, RUNSON, TODO:
15820         old changes that didn't make it into RCS before the RCS->CVS switch
15821         [846eb2b8f9aa]
15822
15823 1999-01-17  Todd C. Miller  <Todd.Miller@courtesan.com>
15824
15825         * Makefile.in, check.c, check_sia.c, compat.h, config.h.in,
15826         configure.in, dce_pwent.c, emul/search.h, emul/utime.h, find_path.c,
15827         getspwuid.c, goodpath.c, ins_2001.h, ins_classic.h, ins_csops.h,
15828         ins_goons.h, insults.h, interfaces.c, lex.yy.c, logging.c,
15829         lsearch.c, parse.c, parse.lex, parse.yacc, pathnames.h.in, putenv.c,
15830         secureware.c, strdup.c, sudo.c, sudo.pod, sudo_setenv.c,
15831         sudoers.pod, testsudoers.c, tgetpass.c, utime.c, visudo.c,
15832         visudo.pod:
15833         add sudo tags
15834         [962f81eaa5ab]
15835
15836         * sudo.h:
15837         testing Sudo tag
15838         [e84cbc521129]
15839
15840         * version.h:
15841         testing Sudo tag
15842         [a8c3a3998b88]
15843
15844         * BUGS, INSTALL, Makefile.in, README, check.c, check_sia.c, compat.h,
15845         config.h.in, configure, configure.in, dce_pwent.c, emul/utime.h,
15846         find_path.c, getspwuid.c, goodpath.c, ins_2001.h, ins_classic.h,
15847         ins_csops.h, ins_goons.h, insults.h, interfaces.c, lex.yy.c,
15848         logging.c, parse.c, parse.lex, parse.yacc, pathnames.h.in, putenv.c,
15849         secureware.c, strdup.c, sudo.c, sudo.cat, sudo.h, sudo.man,
15850         sudo_setenv.c, sudoers.cat, sudoers.man, testsudoers.c, tgetpass.c,
15851         utime.c, version.h, visudo.c, visudo.cat, visudo.man:
15852         crank version and regen files
15853         [23eacf00a1a4]
15854
15855         * Makefile.in:
15856         kill rcs goop in update_version and fix now that version is a const
15857         [e6e50bd8d1e1]
15858
15859         * INSTALL, check.c, config.h.in, configure, configure.in, logging.c,
15860         sudo.c, sudo.h, sudo.pod:
15861         kerb5 support from fcusack@iconnet.net
15862         [8134027986e2]
15863
15864         * realpath.c, sudo_realpath.c:
15865         we no longer use realpath
15866         [0f5f64abc646]
15867
15868         * qualify.c:
15869         replaced by find_path.c
15870         [9e32a87e09c4]
15871
15872         * options.h:
15873         all options are now configure flags
15874         [ee6bd9610102]
15875
15876         * lex.yy.c:
15877         regen
15878         [bdbf8a18161f]
15879
15880         * getwd.c:
15881         superceded by getcwd.c
15882         [1e54ee0990b4]
15883
15884         * getpass.c:
15885         superceded by tgetpass.c
15886         [4e0d1edc30e3]
15887
15888         * SUPPORTED:
15889         superceded by RUNSON
15890         [854c5a21cb53]
15891
15892         * OPTIONS:
15893         No longer used now that we have configure options for everything.
15894         [9b1ae1c89259]
15895
15896         * configure:
15897         regen based on configure.in
15898         [3a4d73936973]
15899
15900         * sudo.cat, sudo.html, sudo.man, sudoers.cat, sudoers.html,
15901         sudoers.man, visudo.cat, visudo.html, visudo.man:
15902         regen based on sudo.pod, sudoers.pod, and visudo.pod
15903         [c267beb90778]
15904
15905 1998-12-11  Todd C. Miller  <Todd.Miller@courtesan.com>
15906
15907         * check.c:
15908         fix tty tickets in remove_timestamp (didn't use ':')
15909         [fd964a74a32b]
15910
15911 1998-12-07  Todd C. Miller  <Todd.Miller@courtesan.com>
15912
15913         * interfaces.c:
15914         close sock when we are done with it
15915         [95de0380f8a4]
15916
15917 1998-11-28  Todd C. Miller  <Todd.Miller@courtesan.com>
15918
15919         * parse.yacc:
15920         never say "error on line -1"
15921         [361db1491121]
15922
15923 1998-11-24  Todd C. Miller  <Todd.Miller@courtesan.com>
15924
15925         * configure.in:
15926         check for -lnsl before -lsocket
15927         [8e966d6bbcb5]
15928
15929         * configure.in:
15930         quote '[', ']' used in ranges correctly
15931         [fa4f9c6ff651]
15932
15933 1998-11-21  Todd C. Miller  <Todd.Miller@courtesan.com>
15934
15935         * config.h.in:
15936         add missing NO_ROOT_SUDO noted by drno@tsd.edu
15937         [c969f25d1667]
15938
15939 1998-11-20  Todd C. Miller  <Todd.Miller@courtesan.com>
15940
15941         * version.h:
15942         1.5.7
15943         [7a22de0bc148]
15944
15945         * INSTALL:
15946         more info for 1.5.7
15947         [30ad9e784799]
15948
15949         * README:
15950         update for 1.5.7
15951         [cd03a0a27cd2]
15952
15953         * parse.yacc:
15954         make increases of cm_list_size and ga_list_size be similar to
15955         increases of stacksize (ie: >= not > in initial compare).
15956         [6bd450a896c7]
15957
15958         * parse.yacc:
15959         when we get a syntax error, report it for the previous line since
15960         that's generally where the error occurred.
15961         [c4ac84058f0b]
15962
15963 1998-11-18  Todd C. Miller  <Todd.Miller@courtesan.com>
15964
15965         * config.h.in, configure.in, interfaces.c:
15966         add back check for sys/sockio.h but only use it if SIOCGIFCONF is
15967         not defined
15968         [d197f31fd1e4] [SUDO_1_5_7]
15969
15970         * config.h.in:
15971         define BSD_COMP for svr4
15972         [87ac1147ff79]
15973
15974         * check.c, check_sia.c, find_path.c, getcwd.c, getspwuid.c,
15975         goodpath.c, interfaces.c, logging.c, lsearch.c, parse.c, parse.lex,
15976         parse.yacc, putenv.c, secureware.c, strdup.c, sudo.c, sudo_setenv.c,
15977         testsudoers.c, tgetpass.c, utime.c, visudo.c:
15978         more -Wall
15979         [d98e2d32db2a]
15980
15981         * configure.in:
15982         kill check for sockio,h
15983         [4399779014c1]
15984
15985         * config.h.in:
15986         no more HAVE_SYS_SOCKIO_H
15987         [67484528e347]
15988
15989         * check.c, check_sia.c, find_path.c, getcwd.c, getspwuid.c,
15990         goodpath.c, interfaces.c, logging.c, lsearch.c, parse.c, parse.lex,
15991         parse.yacc, putenv.c, secureware.c, strdup.c, sudo.c, sudo_setenv.c,
15992         testsudoers.c, tgetpass.c, utime.c, visudo.c:
15993         -Wall
15994         [2b7e83976788]
15995
15996 1998-11-16  Todd C. Miller  <Todd.Miller@courtesan.com>
15997
15998         * sudo.c:
15999         add missing inform_user()
16000         [8689528c6d55]
16001
16002 1998-11-14  Todd C. Miller  <Todd.Miller@courtesan.com>
16003
16004         * find_path.c:
16005         return NOT_FOUND if given fully qualified path and it does not exist
16006         previously it would perror(ENOENT) which bypasses the option to not
16007         leak path info
16008         [ccbc3d0130ae]
16009
16010         * configure.in:
16011         for kerb5, check for -lkerb4, fall back on -lkrb for kerb, check for
16012         -ldes
16013         [c77d3b484ece]
16014
16015 1998-11-13  Todd C. Miller  <Todd.Miller@courtesan.com>
16016
16017         * INSTALL:
16018         tty tickets are user:tty now
16019         [a53a303a614d]
16020
16021         * check.c:
16022         when using tty tickets make it user:tty not user.tty as a username
16023         could have a '.' in it
16024         [3160b3f5c890]
16025
16026 1998-11-10  Todd C. Miller  <Todd.Miller@courtesan.com>
16027
16028         * sudo.c:
16029         add "ignoring foo found in ." for auth successful case
16030         [24257169e0bd]
16031
16032 1998-11-09  Todd C. Miller  <Todd.Miller@courtesan.com>
16033
16034         * sudo.c:
16035         add missing printf param
16036         [8c905124f777]
16037
16038 1998-11-08  Todd C. Miller  <Todd.Miller@courtesan.com>
16039
16040         * INSTALL, config.h.in, configure.in, find_path.c, sudo.c, sudo.h:
16041         go back to printing "command not found" unless --disable-path-info
16042         specified. Also, tell user when we ignore '.' in their path and it
16043         would have been used but for --with-ignore-dot.
16044         [066e118c11e4]
16045
16046         * check.c, sudo.c:
16047         Only one space after a colon, not two, in printf's
16048         [38452f4c8007]
16049
16050 1998-11-05  Todd C. Miller  <Todd.Miller@courtesan.com>
16051
16052         * sudo.pod:
16053         document setting $USER
16054         [80557fe6aede]
16055
16056         * check.c:
16057         fix bugs with prompt expansion
16058         [44c4fca5f009]
16059
16060         * sudo.c:
16061         set $USER for root too
16062         [4b525e1c6269]
16063
16064 1998-11-04  Todd C. Miller  <Todd.Miller@courtesan.com>
16065
16066         * getspwuid.c:
16067         typo
16068         [5107446f43e0]
16069
16070         * configure.in:
16071         HP-UX's iscomsec is in -lsec, not libc
16072         [03c9f700b795]
16073
16074         * configure.in:
16075         remove some entries in the OS case statement that did nothing
16076         [ea96e7e0f624]
16077
16078         * TROUBLESHOOTING:
16079         add "cd" section and flush out syslog section
16080         [5107f7363b78]
16081
16082         * Makefile.in:
16083         no more sudo-lex.yy.c
16084         [ed50826efbbc]
16085
16086         * check_sia.c:
16087         add custom prompt support
16088         [6a285cea10b7]
16089
16090         * testsudoers.c:
16091         kill perror("malloc") since we already have a good error messages
16092         pw_ent -> pw for brevity
16093         [eee31052921e]
16094
16095         * sudo.c:
16096         kill perror("malloc") since we already have a good error messages
16097         pw_ent -> pw for brevity set $USER if -u specified
16098         [9f3753461f8a]
16099
16100         * parse.yacc:
16101         kill perror("malloc") since we already have a good error messages
16102         [849459088ac3]
16103
16104         * parse.c:
16105         kill perror("malloc") since we already have a good error messages
16106         pw_ent -> pw for brevity when checking if %group matches, look up
16107         user in password file so that %groups works in a RunAs spec.
16108         [0489b4ecc59a]
16109
16110         * logging.c:
16111         kill perror("malloc") since we already have a good error messages
16112         [3191a18b3526]
16113
16114         * check.c, getspwuid.c, interfaces.c:
16115         kill perror("malloc") since we already have a good error messages
16116         pw_ent -> pw for brevity
16117         [7193fdb38cf9]
16118
16119 1998-11-03  Todd C. Miller  <Todd.Miller@courtesan.com>
16120
16121         * tgetpass.c:
16122         the prompt is expanded before tgetpass is called
16123         [0f408f508041]
16124
16125         * sudo.h:
16126         tgetpass now has the same args as getpass again
16127         [b6778cd9d79f]
16128
16129         * getspwuid.c:
16130         add iscomsec, issecure support
16131         [007be7ec7ae7]
16132
16133         * check.c:
16134         we now expand any %h or %u in the prompt before passing to tgetpass
16135         [f3db8c9ee387]
16136
16137         * configure.in:
16138         add check for syslog(3) in -lsocket, -lnsl, -linet
16139         [5a96f902ce00]
16140
16141         * config.h.in:
16142         add HAVE_ISCOMSEC and HAVE_ISSECURE
16143         [f640b0d4cf05]
16144
16145         * configure.in:
16146         add check for iscomsec in HP-UX
16147         [b28b249040f0]
16148
16149         * configure.in:
16150         check for issecure if we have getpwanam on SunOS some options are
16151         incompatible with DUNIX SIA check for dispcrypt on DUNIX
16152         [a49d05d9c913]
16153
16154 1998-10-25  Todd C. Miller  <Todd.Miller@courtesan.com>
16155
16156         * config.h.in:
16157         add HAVE_DISPCRYPT
16158         [7376d543d8d6]
16159
16160         * secureware.c:
16161         add back support for non-dispcrypt based checking for older DUNIX
16162         [977b98e936be]
16163
16164         * INSTALL:
16165         sia changes
16166         [c5387c06e30f]
16167
16168         * configure.in:
16169         SIA becomes the default on Digital UNIX now havbe --disable-sia to
16170         turn it off...
16171         [3b647558ea13]
16172
16173         * check.c:
16174         move local includes after system ones
16175         [b2abad4c4aef]
16176
16177 1998-10-24  Todd C. Miller  <Todd.Miller@courtesan.com>
16178
16179         * check.c, check_sia.c, sudo.h:
16180         add pass_warn() which prints out INCORRECT_PASSWORD or an insult to
16181         stderr
16182         [547cbf299661]
16183
16184         * check_sia.c:
16185         fix while loop in sia_attempt_auth() that checks the password. Only
16186         the first iteration was working.
16187         [1886fd1ac831]
16188
16189 1998-10-22  Todd C. Miller  <Todd.Miller@courtesan.com>
16190
16191         * aclocal.m4:
16192         don't trust UID_MAX or MAXUID
16193         [2aeddb1654d8]
16194
16195         * configure.in:
16196         fix two pastos
16197         [c18f0a10b75d]
16198
16199         * configure.in:
16200         fix typo
16201         [1eb3190ef12d]
16202
16203         * getspwuid.c, secureware.c:
16204         init crypt_type to INT_MAX since it is legal to be negative in DUNX
16205         5.0
16206         [cefbde04822d]
16207
16208         * configure.in:
16209         for secureware on dunix, use -lsecurity -ldb -laud -lm but check for
16210         -ldb since DUNX < 4.0 lacks it
16211         [e6b11d971068]
16212
16213 1998-10-21  Todd C. Miller  <Todd.Miller@courtesan.com>
16214
16215         * check.c, compat.h, config.h.in, configure.in, getspwuid.c,
16216         secureware.c, sudo.c, tgetpass.c:
16217         getprpwuid is broken in HP-UX 10.20 at least (it sleeps for 2
16218         minutes if the shadow files don't exist).
16219         [2f297d095004]
16220
16221 1998-10-20  Todd C. Miller  <Todd.Miller@courtesan.com>
16222
16223         * INSTALL:
16224         updated --with-editor blurb
16225         [77d8a3ea7328]
16226
16227         * TROUBLESHOOTING:
16228         tell how to put sudoers in a different dir
16229         [456cd20eb1d0]
16230
16231         * configure.in:
16232         add missing quotes around $with_editor
16233         [22881748ab1b]
16234
16235         * configure.in:
16236         typo in --with-editor bits
16237         [ab6964580681]
16238
16239         * INSTALL:
16240         I don't expect it to work on Solaris
16241         [1c2fceaaf56e]
16242
16243         * check.c:
16244         add back security/pam_misc.h
16245         [6ffd30033c1e]
16246
16247 1998-10-19  Todd C. Miller  <Todd.Miller@courtesan.com>
16248
16249         * INSTALL:
16250         remove dunix note since configure checks for this now
16251         [e9904512b8e8]
16252
16253         * configure.in:
16254         add check for broken dunix prot.h (4.0 < 4.0D is bad)
16255         [8a4c1e6aef3b]
16256
16257         * getspwuid.c, secureware.c, tgetpass.c:
16258         new dunix shadow code, use dispcrypt(3)
16259         [1b936bc7268c]
16260
16261         * config.h.in:
16262         add HAVE_INITPRIVS
16263         [4369f4c4f914]
16264
16265         * sudo.c:
16266         call initprivs() if we have it for getprpwuid later on
16267         [11cf5915d826]
16268
16269         * Makefile.in:
16270         clean pathnames.h too
16271         [5f1df3262613]
16272
16273         * configure.in:
16274         quote "Sorry, try again." with [] since it has a comma in it set
16275         LIBS when we add stuff to SUDO_LIBS set SECUREWARE when we find
16276         getprpwuid() so we can check for bigcrypt, set_auth_parameters, and
16277         initprivs later.
16278         [e226b0a3f250]
16279
16280         * INSTALL:
16281         update Digital UNIX note about acl.h
16282         [80132b71d73a]
16283
16284         * INSTALL:
16285         add --with-sia
16286         --without-root-sudo -> --disable-root-sudo some reordering
16287         [198386358818]
16288
16289         * secureware.c:
16290         add whitespace
16291         [4aadaf1a54b0]
16292
16293         * Makefile.in, check.c, config.h.in, configure.in, logging.c, sudo.h:
16294         add SIA support
16295         [fa3ddbb9cc51]
16296
16297         * check_sia.c:
16298         Initial revision
16299         [2968551d40e4]
16300
16301 1998-10-18  Todd C. Miller  <Todd.Miller@courtesan.com>
16302
16303         * configure.in:
16304         when checking for -lsocket, -lnsl, and -linet, check for the
16305         specific functions we need from them.
16306         [8d33e64362a3]
16307
16308         * config.h.in, sudo.h:
16309         move Syslog_* defs into sudo.h
16310         [03d1774f25c7]
16311
16312         * Makefile.in, sudo.h:
16313         added check_secureware
16314         [e46e3cbb9a97]
16315
16316         * configure.in:
16317         finished adding AC_MSG_CHECKING and AC_MSG_RESULT bits
16318         [dbefe1856503]
16319
16320         * insults.h:
16321         don't define CLASSIC_INSULTS and CSOPS_INSULTS if no other sets
16322         defined. configure now does that for us
16323         [e4520ea0581f]
16324
16325         * configure.in:
16326         move some --with options around change a bunch of echo's to
16327         AC_MSG_CHECKING, AC_MSG_RESULT pairs
16328         [ffdf6869fdd7]
16329
16330         * configure.in:
16331         change $with_foo-bar -> $with_foo_bar kill extra " that caused a
16332         syntax error add some echo verbage
16333         [3278c49bf74b]
16334
16335 1998-10-17  Todd C. Miller  <Todd.Miller@courtesan.com>
16336
16337         * check.c:
16338         moved SecureWare stuff into secureware.c
16339         [42d3d3ac35dc]
16340
16341         * secureware.c:
16342         Initial revision
16343         [aa7f72a249cf]
16344
16345         * INSTALL:
16346         update url to solaris gcc bins
16347         [36a3eb668777]
16348
16349         * INSTALL:
16350         change option formatter and flesh out someentries
16351         [6fbd1db4a8ad]
16352
16353         * TROUBLESHOOTING, sudo.pod, visudo.pod:
16354         environmental variable -> environment variable
16355         [6f14d708e32d]
16356
16357         * BUGS:
16358         everything is now done via configure
16359         [c217858f58ab]
16360
16361         * README:
16362         prev rev was 1.5.6
16363         [7b4177103c35]
16364
16365         * Makefile.in:
16366         passing SUDOERS_MODE, SUDOERS_UID, SUDOERS_GID correctly
16367         [31c6b0a5e0e2]
16368
16369         * config.h.in:
16370         SUDOERS_MODE, SUDOERS_UID, SUDOERS_GID now come from the Makefile
16371         [d406a1ef6d25]
16372
16373         * Makefile.in:
16374         merge OSDEFS and OPTIONS into DEFS get sudoers_uid, sudoers_gid,
16375         sudoers_mode from configure
16376         [1c509500655a]
16377
16378         * configure.in:
16379         SUDOERS_MODE, SUDOERS_UID, and SUDOERS_GID now get substituted into
16380         the Makefile, not config.h
16381         [d4482f1492fe]
16382
16383         * INSTALL:
16384         document all --with/--enable options
16385         [22d81b312d7f]
16386
16387 1998-10-15  Todd C. Miller  <Todd.Miller@courtesan.com>
16388
16389         * insults.h:
16390         options.h is no more
16391         [560946a33f7f]
16392
16393         * config.h.in:
16394         assimilated options.h
16395         [dd8ce74613c1]
16396
16397         * configure.in:
16398         moved options from options.h to configure
16399         [d39662f71b4e]
16400
16401         * check.c, find_path.c, getspwuid.c, goodpath.c, interfaces.c,
16402         logging.c, parse.c, parse.lex, parse.yacc, sudo.c, sudo.pod,
16403         sudo_setenv.c, visudo.c:
16404         no more options.h
16405         [43924bf0858d]
16406
16407         * INSTALL, Makefile.in, PORTING, TROUBLESHOOTING:
16408         remove references to options.h
16409         [ef3474295395]
16410
16411         * dce_pwent.c, interfaces.c, sudo.c:
16412         kill sys/time.h
16413         [4d833f0034e4]
16414
16415         * tgetpass.c:
16416         if select return < -1 still prompt for pw
16417         [e0009e5c93a2]
16418
16419         * options.h:
16420         convert LOGGING, LOGFAC, MAXLOGFILELEN, IGNORE_DOT_PATH into
16421         configure options
16422         [e60a1e546516]
16423
16424         * parse.c:
16425         FAST_MATCH is no longer an optino
16426         [c448dbb3464b]
16427
16428         * check.c:
16429         remove_timestamp() if timestamp is preposterous
16430         [70d9a86c6ecd]
16431
16432         * options.h:
16433         convert more options to --with/--enable
16434         [34646d9b09dc]
16435
16436         * INSTALL, aclocal.m4:
16437         logfile -> logpath
16438         [42de502bc637]
16439
16440         * configure.in:
16441         convert more options into --with and --enable
16442         [92d0898c9844]
16443
16444         * tgetpass.c:
16445         catch EINTR in select and restart
16446         [f045d2f234d7]
16447
16448         * logging.c:
16449         sys/errno -> errno
16450         [7f0c5beab6f2]
16451
16452 1998-09-24  Todd C. Miller  <Todd.Miller@courtesan.com>
16453
16454         * sudo.c:
16455         UMASK -> SUDO_UMASK.
16456         [48f308661514]
16457
16458         * check.c, logging.c:
16459         time.h, not sys/time.h
16460         [91de049c79e4]
16461
16462 1998-09-21  Todd C. Miller  <Todd.Miller@courtesan.com>
16463
16464         * logging.c:
16465         MAILER -> _PATH_SENDMAIL
16466         [df65d6896639]
16467
16468         * INSTALL, configure.in:
16469         no more --with-C2, now it is --disable-shadow
16470         [18bfcab3b9ab]
16471
16472         * aclocal.m4, check.c, compat.h, config.h.in, configure.in,
16473         getspwuid.c, sudo.c, tgetpass.c:
16474         new shadow password scheme. Always include shadow support if the
16475         platform supports it and the user did not disable it via configure
16476         [2135d93bb4a9]
16477
16478 1998-09-20  Todd C. Miller  <Todd.Miller@courtesan.com>
16479
16480         * configure.in:
16481         --with-getpass -> --{enable,disable}-tgetpass
16482         [451b33fdd4c7]
16483
16484         * Makefile.in:
16485         pathnames.h -> pathnames.h.in
16486         [b109022eca69]
16487
16488         * check.c:
16489         fix version string
16490         [761b25c314ea]
16491
16492         * check.c:
16493         move pam_conv to be static to auth function remove pam_misc.h
16494         (solaris doesn't have one)
16495         [a682e4da987a]
16496
16497         * aclocal.m4:
16498         _CONFIG_PATH_* -> _PATH_* or _PATH_SUDO_* kill SUDO_PROG_PWD
16499         [e6005d0599b5]
16500
16501         * configure.in:
16502         munge pathnames.h.in -> pathnames.h kill SUDO_PROG_PWD
16503         [24c0ac2155ef]
16504
16505         * pathnames.h.in:
16506         convert to pathnames.h.in
16507         [013bddf7f684]
16508
16509 1998-09-19  Todd C. Miller  <Todd.Miller@courtesan.com>
16510
16511         * configure.in:
16512         fix typo in sysv4 matching case /.
16513         [2994c4f88cf5]
16514
16515 1998-09-18  Todd C. Miller  <Todd.Miller@courtesan.com>
16516
16517         * check.c:
16518         pam stuff needs to run as root, not user, for shadow passwords
16519         [d94ff75de503]
16520
16521 1998-09-17  Todd C. Miller  <Todd.Miller@courtesan.com>
16522
16523         * BUGS, INSTALL, README, configure.in:
16524         updated version
16525         [775adc7de7ac]
16526
16527         * Makefile.in, check.c, compat.h, config.h.in, dce_pwent.c,
16528         emul/utime.h, find_path.c, getspwuid.c, goodpath.c, ins_2001.h,
16529         ins_classic.h, ins_csops.h, ins_goons.h, insults.h, interfaces.c,
16530         logging.c, options.h, parse.c, parse.lex, parse.yacc,
16531         pathnames.h.in, putenv.c, strdup.c, sudo.c, sudo.h, sudo_setenv.c,
16532         testsudoers.c, tgetpass.c, utime.c, visudo.c:
16533         updated version
16534         [5ca599fb6b93]
16535
16536         * check.c:
16537         user version.h for long message
16538         [47a52ac7e542]
16539
16540         * check.c:
16541         this is version 1.5.6
16542         [8451ac79eee2]
16543
16544 1998-09-16  Todd C. Miller  <Todd.Miller@courtesan.com>
16545
16546         * Makefile.in:
16547         remove errant backslash
16548         [0222a8a650ff]
16549
16550 1998-09-15  Todd C. Miller  <Todd.Miller@courtesan.com>
16551
16552         * options.h, parse.yacc, pathnames.h.in:
16553         fix version string
16554         [fdee73255d64] [SUDO_1_5_6]
16555
16556         * BUGS, CHANGES, TODO:
16557         updtaed for 1.5.6
16558         [752443bf7f26]
16559
16560         * RUNSON:
16561         updated for 1.5.6
16562         [0f878123fe6a]
16563
16564 1998-09-14  Todd C. Miller  <Todd.Miller@courtesan.com>
16565
16566         * interfaces.c:
16567         kill unused localhost_mask var copy if name to ifr_tmp after we zero
16568         it
16569         [8e89c364cef2]
16570
16571 1998-09-13  Todd C. Miller  <Todd.Miller@courtesan.com>
16572
16573         * INSTALL:
16574         Better description of new vs. old sudoers modes fix some typos
16575         better description of /usr/ucb/cc gotchas on slowaris
16576         [c00b2a6fc1e8]
16577
16578         * Makefile.in:
16579         add sample.pam
16580         [ec7f6cc19b00]
16581
16582         * sudo.c:
16583         set NewArgv[0] to user_shell, not basename(user_shell)
16584         [1e907cbc9f7b]
16585
16586 1998-09-12  Todd C. Miller  <Todd.Miller@courtesan.com>
16587
16588         * README:
16589         mention TROUBLESHOOTING more fix some typos
16590         [2c2e6907d4a4]
16591
16592         * configure.in:
16593         move --enable/--disable to be after --with
16594         [9b30097f76c1]
16595
16596         * INSTALL:
16597         document --enable/--disable
16598         [c522362e38a8]
16599
16600         * INSTALL:
16601         document --with-pam
16602         [7e38932c78ac]
16603
16604 1998-09-11  Todd C. Miller  <Todd.Miller@courtesan.com>
16605
16606         * configure.in:
16607         Add message for pam users
16608         [d224f277e3cd]
16609
16610         * sample.pam:
16611         Initial revision
16612         [3a84d7045f54]
16613
16614         * config.h.in:
16615         fix HAVE_PAM
16616         [2f0f303ebd88]
16617
16618         * check.c, config.h.in, configure.in:
16619         pam support, from Gary Calvin <GCalvin@kenwoodusa.com>
16620         [ea3e0a72d707]
16621
16622 1998-09-10  Todd C. Miller  <Todd.Miller@courtesan.com>
16623
16624         * config.h.in:
16625         add HOST_IN_LOG and WRAP_LOG
16626         [822c36eeb6a8]
16627
16628         * logging.c:
16629         add WRAP_LOG and HOST_IN_LOG
16630         [3cf6052bd27e]
16631
16632         * configure.in:
16633         add --enable-log-host and --enable-log-wrap
16634         [c968cc12b353]
16635
16636         * aclocal.m4:
16637         use AC_DEFINE_UNQUOTED for --with-logfile and --with-timedir
16638         [915fef7e11a1]
16639
16640 1998-09-09  Todd C. Miller  <Todd.Miller@courtesan.com>
16641
16642         * compat.h:
16643         add howmany macro
16644         [9107a057a7c8]
16645
16646         * tgetpass.c:
16647         include sys/param.h to get howmany macro
16648         [7e908b5e1f32]
16649
16650 1998-09-08  Todd C. Miller  <Todd.Miller@courtesan.com>
16651
16652         * OPTIONS, options.h, parse.yacc, sudo.c, testsudoers.c, visudo.c:
16653         add RUNAS_DEFAULT
16654         [1e76398ea3fd]
16655
16656 1998-09-07  Todd C. Miller  <Todd.Miller@courtesan.com>
16657
16658         * fnmatch.c:
16659         bring in stdio.h for NULL
16660         [69c016610cbb]
16661
16662         * aclocal.m4:
16663         allow /bin/{ksh,bach} and /usr/bin/{ksh,bash} as sh
16664         [15ab2972f8d0]
16665
16666         * sudo.c:
16667         use HAVE_SET_AUTH_PARAMETERS
16668         [8abfdc8c80f7]
16669
16670         * config.h.in:
16671         add HAVE_SET_AUTH_PARAMETERS
16672         [673a5ebd5539]
16673
16674         * configure.in:
16675         add *-*-hiuxmpp* add test for set_auth_parameters() if secureware
16676         [a401f5a7469a]
16677
16678         * config.sub:
16679         add support for HI-UX/MPP SR220001 02-03 0 SR2201
16680         [cb657b7acaae]
16681
16682         * interfaces.c:
16683         initialize previfname
16684         [26a1902f56dc]
16685
16686         * interfaces.c:
16687         Don't use SIOCGIFADDR, we don't need it Use SIOCGIFFLAGS if we have
16688         it check ifr_flags against IFF_UP and IFF_LOOPBACK instead of
16689         kludging it
16690         [fa5c890c313b]
16691
16692         * configure.in:
16693         typo
16694         [bff579fbe95c]
16695
16696         * Makefile.in:
16697         don't need special build line for sudo.tab.o
16698         [10c0a0a912e4]
16699
16700         * Makefile.in:
16701         don't clean sudo.tab.[ch]
16702         [c40d5968efbb]
16703
16704         * sudo.c:
16705         Sudo should prompt for a password before telling the user that a
16706         command could not be found.
16707         [d718c85a0047]
16708
16709         * BUGS:
16710         for 1.5.6
16711         [0cc1fe5b9129]
16712
16713         * INSTALL, README:
16714         no longer require yacc
16715         [d9096fc5b8b6]
16716
16717         * Makefile.in:
16718         typo
16719         [70feb1aefbd5]
16720
16721         * Makefile.in:
16722         y.tab -> sudo.tab include pre-yacc'd parse.yacc
16723         [cc802025fd44]
16724
16725         * parse.lex:
16726         include sudo.tab.h, not y.tab.h don't break out of command args if
16727         you get a '='
16728         [728ad26dbda5]
16729
16730         * insults.h:
16731         fix version ,
16732         [242bbce1b2d4]
16733
16734         * ins_2001.h, ins_classic.h, ins_csops.h, ins_goons.h:
16735         fix version
16736         [2bb9086fea1e]
16737
16738         * compat.h:
16739         fix version
16740         [7e634d498ce6]
16741
16742         * getcwd.c:
16743         getcwd(3) from OpenBSD for those without it.
16744         [6c68d0df8f6c]
16745
16746         * sudo.h:
16747         HAVE_GETWD -> HAVE_GETCWD
16748         [2ad1e64d60c0]
16749
16750         * configure.in:
16751         pretend sunos doesn't have getcwd(3) since it opens a pipe to
16752         getpwd!
16753         [677992ba5a6a]
16754
16755         * parse.c:
16756         use NAMLEN() macro
16757         [8f5685aa3165]
16758
16759         * fnmatch.c:
16760         remove duplicate include of string.h
16761         [6024f3051ac3]
16762
16763         * configure.in:
16764         call SUDO_TYPE_DEV_T and SUDO_TYPE_INO_T
16765         [3d82a9c22cc2]
16766
16767         * aclocal.m4:
16768         add SUDO_TYPE_DEV_T and SUDO_TYPE_INO_T
16769         [53fbc47282f9]
16770
16771         * config.h.in:
16772         add dev_t and ino_t
16773         [5929bb0c7e1a]
16774
16775 1998-07-28  Todd C. Miller  <Todd.Miller@courtesan.com>
16776
16777         * check.c:
16778         fix OTP_ONLY for opie
16779         [7edcfa78f2ec]
16780
16781 1998-06-24  Todd C. Miller  <Todd.Miller@courtesan.com>
16782
16783         * testsudoers.c, tgetpass.c:
16784         include stdlib.h for malloc proto
16785         [c9f4b99a2fe9]
16786
16787 1998-05-19  Todd C. Miller  <Todd.Miller@courtesan.com>
16788
16789         * Makefile.in:
16790         make update_version saner
16791         [d522f93ee04a]
16792
16793         * config.h.in:
16794         add HAVE_WAITPID, HAVE_WAIT3, and sudo_waitpid()
16795         [c9a2d21dc608]
16796
16797         * configure.in:
16798         check for waitpid and wait3 or no waitpid
16799         [1f18c3224184]
16800
16801         * logging.c:
16802         used waitpid or wait3 if we have 'em
16803         [391c3279ee65]
16804
16805 1998-05-02  Todd C. Miller  <Todd.Miller@courtesan.com>
16806
16807         * visudo.c:
16808         fix some fprintf args, ariel@oz.engr.sgi.com (Ariel Faigon)
16809         [fbf53b18178f]
16810
16811 1998-04-28  Todd C. Miller  <Todd.Miller@courtesan.com>
16812
16813         * configure.in:
16814         don't need to explicately mention -lsocket -lnsl for sequent
16815         [1898dc055352]
16816
16817 1998-04-25  Todd C. Miller  <Todd.Miller@courtesan.com>
16818
16819         * configure.in:
16820         dynix should not link with -linet
16821         [278a4b9cfe2a]
16822
16823 1998-04-10  Todd C. Miller  <Todd.Miller@courtesan.com>
16824
16825         * INSTALL:
16826         mention that HP-UX doesn't ship with yacc
16827         [bde5147198c0]
16828
16829 1998-04-07  Todd C. Miller  <Todd.Miller@courtesan.com>
16830
16831         * check.c:
16832         ignore kerberos if we can't get the local realm
16833         [1e311a091a27]
16834
16835 1998-04-06  Todd C. Miller  <Todd.Miller@courtesan.com>
16836
16837         * BUGS, INSTALL, README, configure.in:
16838         ++version
16839         [499ffc746018]
16840
16841         * version.h:
16842         ++
16843         [35ba1ee01bd3]
16844
16845         * Makefile.in, check.c, config.h.in, dce_pwent.c, emul/utime.h,
16846         find_path.c, getcwd.c, getspwuid.c, goodpath.c, interfaces.c,
16847         logging.c, parse.c, parse.lex, putenv.c, strdup.c, sudo.c, sudo.h,
16848         sudo_setenv.c, testsudoers.c, tgetpass.c, utime.c, visudo.c:
16849         updated version
16850         [b4990a513f31]
16851
16852         * check.c, sudo.h:
16853         fix version
16854         [5710795834e8]
16855
16856         * getcwd.c:
16857         don't use popen/pclose. Do it inline.
16858         [29e57b0646a4]
16859
16860         * lsearch.c:
16861         add rcsid
16862         [b2b55c39858d]
16863
16864         * sudo.c:
16865         typo
16866         [d381ac39ed0f]
16867
16868         * check.c, compat.h, ins_2001.h, ins_classic.h, ins_csops.h,
16869         ins_goons.h, insults.h, options.h, parse.yacc, pathnames.h.in,
16870         sudo.h:
16871         updated version
16872         [462d6e1a2d75]
16873
16874         * check.c, find_path.c, parse.c, sudo.c, testsudoers.c:
16875         MAX* + 1 -> MAX*
16876         [2c2eeb78d34f]
16877
16878         * Makefile.in:
16879         getwd.c -> getcwd.c
16880         [7d718c32fc02]
16881
16882         * config.h.in:
16883         kill HAVE_GETWD
16884         [6ad3d702343f]
16885
16886         * configure.in:
16887         getcwd, not getwd
16888         [33e5b9841f58]
16889
16890         * getcwd.c:
16891         use MAX* not MAX* + 1 always run pwd as using getwd() defeats the
16892         purpose
16893         [24e58d340161]
16894
16895 1998-03-31  Todd C. Miller  <Todd.Miller@courtesan.com>
16896
16897         * OPTIONS, options.h:
16898         add STUB_LOAD_INTERFACES
16899         [d747cb23ca83]
16900
16901         * Makefile.in, check.c, compat.h, config.h.in, dce_pwent.c,
16902         emul/utime.h, find_path.c, getspwuid.c, getwd.c, goodpath.c,
16903         ins_2001.h, ins_classic.h, ins_csops.h, ins_goons.h, insults.h,
16904         interfaces.c, logging.c, options.h, parse.c, parse.lex, parse.yacc,
16905         pathnames.h.in, putenv.c, strdup.c, sudo.c, sudo.h, sudo_setenv.c,
16906         testsudoers.c, tgetpass.c, utime.c, visudo.c:
16907         updated version
16908         [0798229312cc]
16909
16910         * configure.in:
16911         support *-ccur-sysv4 and fix two typos
16912         [24a823ad7cc9]
16913
16914 1998-03-28  Todd C. Miller  <Todd.Miller@courtesan.com>
16915
16916         * configure.in:
16917         don't echo about with_logfile and with_timedir
16918         [31e4a1e2d9ad]
16919
16920         * INSTALL:
16921         document --with-logfile and --with-timedir
16922         [674f811a40e0]
16923
16924         * aclocal.m4:
16925         support --with-logfile and --with-timedir
16926         [2fc36b35db12]
16927
16928         * configure.in:
16929         Add --with-logfile and --with-timedir
16930         [09045bf07e29]
16931
16932         * sudo.c:
16933         change size computation of NewArgv for UNICOS
16934         [b50df07da3a1]
16935
16936 1998-02-19  Todd C. Miller  <Todd.Miller@courtesan.com>
16937
16938         * configure.in:
16939         treate -*-sysv4* like *-*-svr4
16940         [471b7ef4dbf2]
16941
16942 1998-02-18  Todd C. Miller  <Todd.Miller@courtesan.com>
16943
16944         * configure.in:
16945         fix spacing for --with-authenticate help
16946         [8321cb37c410]
16947
16948         * Makefile.in, check.c, compat.h, config.h.in, dce_pwent.c,
16949         emul/utime.h, find_path.c, getspwuid.c, getwd.c, goodpath.c,
16950         ins_2001.h, ins_classic.h, ins_csops.h, ins_goons.h, insults.h,
16951         interfaces.c, logging.c, options.h, parse.c, parse.lex, parse.yacc,
16952         pathnames.h.in, putenv.c, strdup.c, sudo.c, sudo.h, sudo_setenv.c,
16953         testsudoers.c, tgetpass.c, utime.c, visudo.c:
16954         updated version
16955         [dc1ab97312eb]
16956
16957         * parse.yacc:
16958         fix off by one error in push macro
16959         [bece59c8c3a9]
16960
16961 1998-02-17  Todd C. Miller  <Todd.Miller@courtesan.com>
16962
16963         * configure.in:
16964         removed bogus alloca hack
16965         [a68dd720462d]
16966
16967         * check.c:
16968         added AIX 4.x authenticate() support
16969         [12985eb448a0]
16970
16971         * parse.yacc:
16972         include alloca.h if using bison and not gcc and it exists. fixes an
16973         alloca problem on hpux 10.x
16974         [e3b5c4f26072]
16975
16976         * INSTALL:
16977         mention --with-authenticate
16978         [78a1c96820e7]
16979
16980         * configure.in:
16981         added AIX authenticate() support
16982         [c983193ec252]
16983
16984         * config.h.in:
16985         add HAVE_AUTHENTICATE
16986         [7b0e5f5db5d9]
16987
16988         * interfaces.c:
16989         dynamically size ifconf buffer
16990         [10afb0e9b2f9]
16991
16992         * configure.in:
16993         quote '[' and ']'
16994         [8fc38a4defad]
16995
16996         * Makefile.in, check.c, compat.h, config.h.in, dce_pwent.c,
16997         emul/utime.h, find_path.c, getspwuid.c, getwd.c, goodpath.c,
16998         ins_2001.h, ins_classic.h, ins_csops.h, ins_goons.h, insults.h,
16999         logging.c, options.h, parse.c, parse.lex, parse.yacc,
17000         pathnames.h.in, putenv.c, strdup.c, sudo.c, sudo.h, sudo_setenv.c,
17001         testsudoers.c, tgetpass.c, utime.c, visudo.c:
17002         updated version
17003         [5f66de71ec61]
17004
17005         * visudo.pod:
17006         add ERRORS section
17007         [3df3edb73cf6]
17008
17009 1998-02-16  Todd C. Miller  <Todd.Miller@courtesan.com>
17010
17011         * TROUBLESHOOTING:
17012         add busy stmp file explanation
17013         [6c555d469b6f]
17014
17015 1998-02-15  Todd C. Miller  <Todd.Miller@courtesan.com>
17016
17017         * configure.in:
17018         the name of the cached var that signals whether or not you are cross
17019         compiling changed. It is now ac_cv_prog_cc_cross
17020         [123911c0658c]
17021
17022 1998-02-11  Todd C. Miller  <Todd.Miller@courtesan.com>
17023
17024         * INSTALL:
17025         mention glibc 2.07 is fixed wrt lsearch()\.
17026         [ded758524582]
17027
17028 1998-02-07  Todd C. Miller  <Todd.Miller@courtesan.com>
17029
17030         * sample.sudoers, sudoers.pod:
17031         better example of su but not root su
17032         [b3199610be21]
17033
17034 1998-02-06  Todd C. Miller  <Todd.Miller@courtesan.com>
17035
17036         * Makefile.in, check.c, compat.h, config.h.in, dce_pwent.c,
17037         emul/utime.h, find_path.c, getspwuid.c, getwd.c, goodpath.c,
17038         ins_2001.h, ins_classic.h, ins_csops.h, ins_goons.h, insults.h,
17039         interfaces.c, logging.c, options.h, parse.c, parse.lex, parse.yacc,
17040         pathnames.h.in, putenv.c, strdup.c, sudo.c, sudo.h, sudo_setenv.c,
17041         testsudoers.c, tgetpass.c, utime.c, visudo.c:
17042         updated version
17043         [46922b84e86b]
17044
17045         * Makefile.in:
17046         correct regexp for updating version
17047         [8032728b2a8a]
17048
17049         * tgetpass.c:
17050         remove bogus flush of stderr spew prompt before turning off echo.
17051         Seems to fix a weird problem where if sudo complained about a bogus
17052         stamp file the user would sometimes not have a chance to enter a
17053         password
17054         [7aa1493cc141]
17055
17056         * check.c:
17057         fix bogus flush of stderr
17058         [6d047871c5e8]
17059
17060         * sudo.c:
17061         close fd's <=2 not <=3 and move that chunk of code up
17062         [553e4faac195]
17063
17064         * configure.in:
17065         support hpux1[0-9] not just hpux10
17066         [5a34a000ff8a]
17067
17068 1998-01-30  Todd C. Miller  <Todd.Miller@courtesan.com>
17069
17070         * parse.c:
17071         set sudoers_fp to nil after closing
17072         [221a8b4bbf34]
17073
17074 1998-01-24  Todd C. Miller  <Todd.Miller@courtesan.com>
17075
17076         * config.guess, config.sub:
17077         updated from autoconf 2.12
17078         [6fc86a0fc61b]
17079
17080         * configure.in:
17081         add *-*-svr4 rule
17082         [38f0427f7c9d]
17083
17084 1998-01-23  Todd C. Miller  <Todd.Miller@courtesan.com>
17085
17086         * tgetpass.c:
17087         fix select usage for high fd's (dynamically allocate readfds)
17088         [c2d1f76e0321]
17089
17090         * check.c:
17091         kill extra whitespace
17092         [d784b6c9c514]
17093
17094         * sudo.c:
17095         do an initgroups() before running a command, unless the target user
17096         is root.
17097         [4ca561287480]
17098
17099 1998-01-22  Todd C. Miller  <Todd.Miller@courtesan.com>
17100
17101         * TROUBLESHOOTING:
17102         tell people to use tabs, not spaces, in syslog.conf
17103         [8ae90a205134]
17104
17105 1998-01-21  Todd C. Miller  <Todd.Miller@courtesan.com>
17106
17107         * Makefile.in, config.h.in, dce_pwent.c, emul/utime.h, getwd.c,
17108         parse.lex, putenv.c, strdup.c, testsudoers.c, utime.c:
17109         updated version
17110         [4d855ff5de26]
17111
17112         * check.c, find_path.c, getspwuid.c, goodpath.c, interfaces.c,
17113         logging.c, parse.c, sudo.c, sudo_setenv.c, tgetpass.c, visudo.c:
17114         updated version
17115         [8e007e178b33]
17116
17117         * compat.h, ins_2001.h, ins_classic.h, ins_csops.h, ins_goons.h,
17118         insults.h, options.h, parse.yacc, pathnames.h.in, sudo.h:
17119         updated version
17120         [9ddea5c8814d]
17121
17122         * Makefile.in:
17123         more tweaks to update_version
17124         [047698752855]
17125
17126         * Makefile.in:
17127         fixed up update_version rule
17128         [47b6fa34b77f]
17129
17130         * configure.in:
17131         ++version
17132         [c1ca664e30b7]
17133
17134         * Makefile.in:
17135         removed supe of check.c
17136         [8f340a05296a]
17137
17138         * INSTALL:
17139         ++version I missed
17140         [a298e6c17491]
17141
17142         * RUNSON:
17143         updated
17144         [a14f6057bc15]
17145
17146         * BUGS, INSTALL, Makefile.in, README, check.c, compat.h, config.h.in,
17147         dce_pwent.c, emul/utime.h, find_path.c, getspwuid.c, getwd.c,
17148         goodpath.c, ins_2001.h, ins_classic.h, ins_csops.h, ins_goons.h,
17149         insults.h, interfaces.c, logging.c, options.h, parse.c, parse.lex,
17150         parse.yacc, pathnames.h.in, putenv.c, strdup.c, sudo.c, sudo.h,
17151         sudo_setenv.c, testsudoers.c, tgetpass.c, utime.c, version.h,
17152         visudo.c:
17153         updated version
17154         [02231b1a3ab3]
17155
17156         * CHANGES:
17157         updated for 1.5.5
17158         [634e5fcaf40b]
17159
17160         * Makefile.in:
17161         add rules to update version stuff in files so I don't need to do it
17162         by hand
17163         [3620ad60485a]
17164
17165         * sudo.h:
17166         sudoers_fp is now extern
17167         [88c6e9b9ea84]
17168
17169         * sudo.c:
17170         in check_sudoers, cache the sudoers file handle in sudoers_fp so we
17171         don't have to open it again in the parse. This may help with weird
17172         solaris problems where EAGAIN sometime occurrs.
17173         [d3c26451ed1d]
17174
17175         * parse.c:
17176         sudoers file open is now done only in check_sudoers() so we just do
17177         a rewind() instead of an open. May help people on solaris who were
17178         getting EAGAIN.
17179         [c8b8c7722fa5]
17180
17181 1998-01-16  Todd C. Miller  <Todd.Miller@courtesan.com>
17182
17183         * INSTALL:
17184         mention that newer glibc is fixed
17185         [20f06f5d3ef3]
17186
17187 1998-01-13  Todd C. Miller  <Todd.Miller@courtesan.com>
17188
17189         * sudo.c:
17190         newer irix uses _RLDN32_* envariables for 32-bit binaries so ignore
17191         _RLD* instead of _RLD_*
17192         [1e22c588d602]
17193
17194         * parse.c:
17195         typo
17196         [d0b7cb85f08a]
17197
17198         * parse.c:
17199         fix that bug for real
17200         [5a6eeca6d04b]
17201
17202         * INSTALL:
17203         document Linux's libc6 brokenness.
17204         [0246c1aa64ee]
17205
17206         * parse.yacc:
17207         -Wall
17208         [d0e452fb1e2d]
17209
17210         * RUNSON:
17211         updated
17212         [4949a1bbd0a9] [SUDO_1_5_4]
17213
17214         * TROUBLESHOOTING:
17215         remind people to HUP syslogd
17216         [590962faa4f0]
17217
17218         * Makefile.in:
17219         add -O flag to tar
17220         [622d02de339d]
17221
17222         * RUNSON:
17223         updated
17224         [a72930d6e615]
17225
17226         * TODO:
17227         updated
17228         [4a51bd458390]
17229
17230         * sudo.pod:
17231         remove author's email addr. people should mail sudo-bugs
17232         [9b6bbdb3a6d9]
17233
17234         * INSTALL:
17235         fix version
17236         [246274c6c8af]
17237
17238         * README, check.c, compat.h, config.h.in, configure.in, dce_pwent.c,
17239         find_path.c, getspwuid.c, getwd.c, goodpath.c, ins_2001.h,
17240         ins_classic.h, ins_csops.h, ins_goons.h, insults.h, interfaces.c,
17241         logging.c, options.h, parse.c, parse.lex, parse.yacc,
17242         pathnames.h.in, putenv.c, strdup.c, sudo.c, sudo.h, sudo_setenv.c,
17243         testsudoers.c, tgetpass.c, utime.c, version.h, visudo.c:
17244         ++version
17245         [f532ff4ee766]
17246
17247         * RUNSON:
17248         updated
17249         [62d5c71358b5]
17250
17251         * INSTALL, Makefile.in:
17252         ++version
17253         [1a7c7628edfc]
17254
17255         * CHANGES:
17256         updated fort 1.5.4
17257         [7e4873508c99]
17258
17259         * check.c:
17260         exit(1) if user enters no passwd
17261         [f382c0e35e4e]
17262
17263         * BUGS:
17264         ++version
17265         [fab6a867ab67]
17266
17267         * parse.c:
17268         commands can start with ./* not just /* -- fixes a serious security
17269         hole.
17270         [244d2fe35ee3]
17271
17272 1997-12-21  Todd C. Miller  <Todd.Miller@courtesan.com>
17273
17274         * sudo.c:
17275         Don't set the tty variable to NULL when we lack a tty, leave it as
17276         "unknown".
17277         [193b26daba03]
17278
17279 1997-11-23  Todd C. Miller  <Todd.Miller@courtesan.com>
17280
17281         * sample.sudoers:
17282         fix usage of (username) in conjunction with , and !
17283         [7ae68607f68f]
17284
17285         * visudo.c:
17286         catch the case where the user is not in the passwd file
17287         [31650258deb0]
17288
17289         * tgetpass.c:
17290         use fileno(input) + 1 instead of getdtablesize() as the nfds arg to
17291         select(2)
17292         [60ab2d9a9ee8]
17293
17294         * sudo.c:
17295         define tty global to an initial value to avoid dumping core in
17296         logging functions when passwd file is unavailable.
17297         [77056c7bc908]
17298
17299         * sudo.c:
17300         do the set_perms(PERM_USER, sudo_mode) after we have gotten the
17301         passwd entry
17302         [1fdb8e579a5a]
17303
17304         * sudo.pod:
17305         talk about problem of ALL
17306         [1cd1905c9f6f]
17307
17308 1997-10-10  Todd C. Miller  <Todd.Miller@courtesan.com>
17309
17310         * README:
17311         new web location
17312         [d24dc26f6da5]
17313
17314         * INSTALL:
17315         fdesc bug is fixed in Open/Net BSD
17316         [7d4d81b08ac3]
17317
17318         * HISTORY:
17319         updates from Nieusma
17320         [3a43769a1b78]
17321
17322 1997-10-09  Todd C. Miller  <Todd.Miller@courtesan.com>
17323
17324         * dce_pwent.c:
17325         move compat.h after the system includes
17326         [5ea43a5968ac]
17327
17328 1997-08-06  Todd C. Miller  <Todd.Miller@courtesan.com>
17329
17330         * logging.c:
17331         save errno from being clobbered by wait(). From Theo
17332         [f2d1c48cd592]
17333
17334 1997-05-21  Todd C. Miller  <Todd.Miller@courtesan.com>
17335
17336         * compat.h:
17337         fix an occurence of setresuid -> setreuid (typo)
17338         [394de35c9b1c]
17339
17340 1997-03-19  Todd C. Miller  <Todd.Miller@courtesan.com>
17341
17342         * install-sh:
17343         check for path to strip
17344         [2b7ef824bd55]
17345
17346 1997-01-16  Todd C. Miller  <Todd.Miller@courtesan.com>
17347
17348         * logging.c:
17349         deal with maxfilelen < 0 case
17350         [f0af095178d7]
17351
17352         * OPTIONS:
17353         fixed descriptin
17354         [629f60bd4b5f]
17355
17356 1996-12-12  Todd C. Miller  <Todd.Miller@courtesan.com>
17357
17358         * sudo.c:
17359         correct error message if mode/owner wrong and not statable by owner
17360         but is statable by root.
17361         [cb631ce2e85e]
17362
17363 1996-11-23  Todd C. Miller  <Todd.Miller@courtesan.com>
17364
17365         * config.guess, config.sub:
17366         autoconf 2.11
17367         [f3cbe59e0756]
17368
17369 1996-11-16  Todd C. Miller  <Todd.Miller@courtesan.com>
17370
17371         * CHANGES, RUNSON, TODO:
17372         sudo 1.5.3.
17373         [2be3229b8626]
17374
17375 1996-11-14  Todd C. Miller  <Todd.Miller@courtesan.com>
17376
17377         * parse.yacc, sudo.h:
17378         command_alias -> generic_alias
17379         [c404ca8c510d] [SUDO_1_5_3]
17380
17381         * sample.sudoers:
17382         added Runas_Alias example and fixed syntax errors
17383         [c304053f4a8a]
17384
17385         * OPTIONS, options.h:
17386         updated MAILSUBJECT
17387         [18d1573fcd2a]
17388
17389         * logging.c:
17390         added %h expansion
17391         [a4bff9b284fd]
17392
17393         * INSTALL, Makefile.in, README, check.c, compat.h, config.h.in,
17394         configure.in, dce_pwent.c, find_path.c, getspwuid.c, getwd.c,
17395         goodpath.c, ins_2001.h, ins_classic.h, ins_csops.h, ins_goons.h,
17396         insults.h, interfaces.c, logging.c, options.h, parse.c, parse.lex,
17397         parse.yacc, pathnames.h.in, putenv.c, strdup.c, sudo.c, sudo.h,
17398         sudo_setenv.c, testsudoers.c, tgetpass.c, utime.c, version.h,
17399         visudo.c:
17400         ++version
17401         [211ff20f956f]
17402
17403         * BUGS, emul/utime.h:
17404         ++version
17405         [cde5376579e3]
17406
17407         * sudoers.pod:
17408         document Runas_Alias
17409         [b1a58f28fb2c]
17410
17411         * visudo.pod:
17412         q (uid) -> Q
17413         [d256649a0e6b]
17414
17415         * visudo.c:
17416         buffer oflow checking q (uit) -> Q if yyparse() fails drop into
17417         whatnow
17418         [1cb183d15626]
17419
17420         * parse.yacc:
17421         add size params to sprintf
17422         [9228f698921f]
17423
17424         * parse.lex:
17425         allow trailing space after '\\' but before '\n'
17426         [f51dbbf69fdf]
17427
17428         * find_path.c:
17429         off by one error in path size check
17430         [a6d75ccd7632]
17431
17432         * check.c:
17433         sprintf paranoia
17434         [3ffb12d198dd]
17435
17436 1996-11-12  Todd C. Miller  <Todd.Miller@courtesan.com>
17437
17438         * parse.yacc:
17439         fixed more_aliases
17440         [aab12f2a50af]
17441
17442         * visudo.c:
17443         now warns if killed by signal ./
17444         [310c186a0fd7]
17445
17446 1996-11-11  Todd C. Miller  <Todd.Miller@courtesan.com>
17447
17448         * parse.yacc:
17449         fix Runas_Alias stuff Alias's in runas list now get expanded (but it
17450         is gross)
17451         [45590b83120f]
17452
17453         * sudo.c:
17454         Can now deal with SUDOERS_UID == 0 and SUDOERS_MODE == 0400
17455         [d53e01c14c58]
17456
17457         * parse.yacc:
17458         add Runas_Alias support change FOO to FOO_ALIAS (ie: USER_ALIAS)
17459         [7a4a040aae2d]
17460
17461         * parse.lex:
17462         Add Runas_Alias and simplify a rule.
17463         [6f794a769a37]
17464
17465         * parse.yacc:
17466         always store User_Alias's since they can be used inside of a runas
17467         list. Sigh. Really need a Runas_Alias instead.
17468         [3bab058a873e]
17469
17470 1996-10-30  Todd C. Miller  <Todd.Miller@courtesan.com>
17471
17472         * visudo.c:
17473         deal with case where there is no sudoers file
17474         [fa38b3bb244d]
17475
17476 1996-10-12  Todd C. Miller  <Todd.Miller@courtesan.com>
17477
17478         * TROUBLESHOOTING:
17479         added one
17480         [e61346d06725]
17481
17482 1996-10-11  Todd C. Miller  <Todd.Miller@courtesan.com>
17483
17484         * HISTORY, testsudoers.c:
17485         developement -> development
17486         [4df55e293941]
17487
17488         * INSTALL:
17489         added a note
17490         [3845fb83dbc0]
17491
17492         * RUNSON:
17493         for 1.5.2
17494         [5489b7298942]
17495
17496         * CHANGES:
17497         updated
17498         [0741834929e6]
17499
17500 1996-10-10  Todd C. Miller  <Todd.Miller@courtesan.com>
17501
17502         * PORTING:
17503         removed seteuid() notes
17504         [1010a60f281d] [SUDO_1_5_2]
17505
17506 1996-10-09  Todd C. Miller  <Todd.Miller@courtesan.com>
17507
17508         * compat.h:
17509         better seteuid() emulatino
17510         [e807623b662c]
17511
17512         * configure.in:
17513         added check for seteuid
17514         [8cf9fabc6f4f]
17515
17516         * config.h.in:
17517         added HAVE_SETEUID
17518         [596db46aa828]
17519
17520 1996-10-08  Todd C. Miller  <Todd.Miller@courtesan.com>
17521
17522         * configure.in:
17523         first stab at sequent support
17524         [b85a7bfcac76]
17525
17526         * config.h.in:
17527         added HAVE_SYS_SELECT_H
17528         [93ecdd042463]
17529
17530         * compat.h:
17531         sequent -> _SEQUENT_
17532         [63a38b6da98c]
17533
17534         * compat.h:
17535         added seteuid() macro for DYNIX
17536         [695bd63c5ea6]
17537
17538         * tgetpass.c:
17539         _AIX -> HAVE_SYS_SELECT_H
17540         [b31221211bc2]
17541
17542 1996-10-07  Todd C. Miller  <Todd.Miller@courtesan.com>
17543
17544         * BUGS, INSTALL, Makefile.in, OPTIONS, README, config.h.in, logging.c,
17545         parse.c, parse.lex, parse.yacc, putenv.c, strdup.c, sudo_setenv.c,
17546         testsudoers.c, tgetpass.c, utime.c, visudo.c:
17547         ++version
17548         [8052992fd453]
17549
17550         * check.c, compat.h, dce_pwent.c, emul/utime.h, find_path.c,
17551         getspwuid.c, getwd.c, goodpath.c, ins_2001.h, ins_classic.h,
17552         ins_csops.h, ins_goons.h, insults.h, interfaces.c, options.h,
17553         pathnames.h.in, version.h:
17554         ++version
17555         [f7ad15e1598a]
17556
17557         * sudo.pod:
17558         added -H and SUDO_PS1
17559         [bb965241e30c]
17560
17561         * configure.in:
17562         use SUDO_FUNC_FNMATCH
17563         [6a8350d85fb2]
17564
17565         * aclocal.m4:
17566         added SUDO_FUNC_FNMATCH
17567         [45b32c91c4ba]
17568
17569         * sudo.c:
17570         added -H flag
17571         [11ebc6872fd6]
17572
17573         * sudo.h:
17574         added MODE_RESET_HOME /
17575         [67a7f8bcbbd6]
17576
17577 1996-10-05  Todd C. Miller  <Todd.Miller@courtesan.com>
17578
17579         * INSTALL:
17580         mention OPIE
17581         [5723515d5bbd]
17582
17583         * options.h:
17584         SKEY -> OTP
17585         [c1d268130bc4]
17586
17587         * configure.in:
17588         added opie support
17589         [123872b41b20]
17590
17591         * compat.h, config.h.in:
17592         added HAVE_OPIE
17593         [528c71afc1e5]
17594
17595         * check.c:
17596         added HAVE_OPIE and changed to *_OTP_*
17597         [4c62f5db872a]
17598
17599         * OPTIONS:
17600         SKEY -> OTP
17601         [bd858e5e9652]
17602
17603 1996-10-04  Todd C. Miller  <Todd.Miller@courtesan.com>
17604
17605         * check.c:
17606         moved fclose() in skey stuff.
17607         [11f7dc8431a6]
17608
17609 1996-10-03  Todd C. Miller  <Todd.Miller@courtesan.com>
17610
17611         * putenv.c:
17612         index -> strchr remove unnecesary stuff
17613         [af2d05238062]
17614
17615         * check.c:
17616         now call skeychallenge() to get challenge instead of making one up
17617         ourselves. this way, we get extra goodies in the prompt.
17618         [49b770d98d3a]
17619
17620 1996-09-10  Todd C. Miller  <Todd.Miller@courtesan.com>
17621
17622         * CHANGES:
17623         added one
17624         [3f5149357e2a] [SUDO_1_5_1]
17625
17626         * parse.lex:
17627         allow logins to start with a number (YUCK!)
17628         [7ed7ef324741]
17629
17630 1996-09-08  Todd C. Miller  <Todd.Miller@courtesan.com>
17631
17632         * TROUBLESHOOTING:
17633         added soalris 2.5 vs 2.4 note
17634         [16160a251aae]
17635
17636         * configure.in:
17637         DUNIX doesn't need -lnsl
17638         [be924cc322c3]
17639
17640         * CHANGES:
17641         *** empty log message ***
17642         [1b2937521981]
17643
17644         * check.c, compat.h, config.h.in, dce_pwent.c, find_path.c,
17645         getspwuid.c, getwd.c, goodpath.c, ins_2001.h, ins_classic.h,
17646         ins_csops.h, ins_goons.h, insults.h, interfaces.c, logging.c,
17647         options.h, parse.c, parse.lex, parse.yacc, pathnames.h.in, putenv.c,
17648         strdup.c, sudo.c, sudo.h, sudo_setenv.c, testsudoers.c, tgetpass.c,
17649         utime.c, version.h, visudo.c:
17650         courtesan
17651         [5f203589bbfe]
17652
17653         * PORTING, README, RUNSON:
17654         courtesan
17655         [d72517f4937e]
17656
17657         * INSTALL, Makefile.in, TROUBLESHOOTING:
17658         courtesan
17659         [5c007e3c7a71]
17660
17661         * visudo.pod:
17662         *** empty log message ***
17663         [37ebe85bd4e1]
17664
17665         * sudo.pod, visudo.pod:
17666         courtesan
17667         [37f02e2130ea]
17668
17669 1996-09-07  Todd C. Miller  <Todd.Miller@courtesan.com>
17670
17671         * HISTORY:
17672         added courtesan ./
17673         [b01435226276]
17674
17675 1996-09-06  Todd C. Miller  <Todd.Miller@courtesan.com>
17676
17677         * sudo.c:
17678         added $SUDO_PROMPT support
17679         [cb1fa72c093d]
17680
17681 1996-09-04  Todd C. Miller  <Todd.Miller@courtesan.com>
17682
17683         * check.c:
17684         print long skey challemged to stderr, not stdout
17685         [750fc775b3b2]
17686
17687 1996-09-01  Todd C. Miller  <Todd.Miller@courtesan.com>
17688
17689         * CHANGES:
17690         updated for 1.5.1
17691         [9b615f393057]
17692
17693         * emul/utime.h:
17694         ++version
17695         [a94de18deafb]
17696
17697 1996-08-31  Todd C. Miller  <Todd.Miller@courtesan.com>
17698
17699         * RUNSON:
17700         updated for 1.5.1
17701         [4092f20ab634]
17702
17703 1996-08-30  Todd C. Miller  <Todd.Miller@courtesan.com>
17704
17705         * check.c:
17706         use shost, not host for tgetpass
17707         [6061c49ff9be]
17708
17709         * sudo.pod:
17710         documented %u and %h
17711         [6d2922d29897]
17712
17713         * OPTIONS:
17714         documented %u and %h
17715         [1a71da13a864]
17716
17717         * configure.in:
17718         fixed typo
17719         [1230dec2b062]
17720
17721         * INSTALL, Makefile.in, README, check.c, compat.h, config.h.in,
17722         dce_pwent.c, find_path.c, getspwuid.c, getwd.c, goodpath.c,
17723         ins_2001.h, ins_classic.h, ins_csops.h, ins_goons.h, insults.h,
17724         interfaces.c, logging.c, options.h, parse.c, parse.lex, parse.yacc,
17725         pathnames.h.in, putenv.c, strdup.c, sudo.c, sudo.h, sudo_setenv.c,
17726         testsudoers.c, tgetpass.c, utime.c, version.h, visudo.c:
17727         ++version
17728         [65ce8eabf77a]
17729
17730         * BUGS:
17731         ++version
17732         [afecab53aab7]
17733
17734 1996-08-29  Todd C. Miller  <Todd.Miller@courtesan.com>
17735
17736         * Makefile.in, configure.in, version.h:
17737         ++version
17738         [fb3ff940d672]
17739
17740         * sudo.h:
17741         new tgetpass() params
17742         [9eccc5b0f8ae]
17743
17744         * check.c:
17745         pass use and host to tgetpass
17746         [c56d9d13c401]
17747
17748         * tgetpass.c:
17749         added %u and %h escapes
17750         [04ae775d3e5d]
17751
17752         * OPTIONS, check.c, options.h:
17753         added NO_MESSAGE
17754         [3927dad19057]
17755
17756         * configure.in:
17757         added cray (unicos) support
17758         [1122210c5fb1]
17759
17760 1996-08-27  Todd C. Miller  <Todd.Miller@courtesan.com>
17761
17762         * OPTIONS, options.h, sudo.c:
17763         added SHELL_SETS_HOME
17764         [0b26909b0929]
17765
17766 1996-08-25  Todd C. Miller  <Todd.Miller@courtesan.com>
17767
17768         * INSTALL:
17769         added note about "make install"
17770         [7e56ea76d4b4]
17771
17772         * parse.yacc:
17773         changed length/size params from int to size_t
17774         [5654e5ceb1b3]
17775
17776         * OPTIONS:
17777         now get CSOPS insults as well by default
17778         [297323d0179a]
17779
17780         * insults.h:
17781         use csops insults too by default
17782         [07fafc136169]
17783
17784         * INSTALL, Makefile.in, README, config.h.in, configure.in, version.h:
17785         version = 1.5
17786         [4b8772b11e3b]
17787
17788         * sudo.c:
17789         added runas_homedir
17790         [b0e0d4417a15]
17791
17792         * TODO:
17793         updated for 1.5
17794         [66259df825d5]
17795
17796         * RUNSON:
17797         updated for 1.5
17798         [e08bc9ebfe95]
17799
17800         * CHANGES:
17801         1.5 release
17802         [8c16942fea41]
17803
17804         * INSTALL:
17805         added "upgrading" notes
17806         [210d968964ff]
17807
17808 1996-08-22  Todd C. Miller  <Todd.Miller@courtesan.com>
17809
17810         * visudo.c:
17811         now do chmod and chown after edit of temp file and before rename
17812         [de174e34faa7] [SUDO_1_5_0]
17813
17814 1996-08-18  Todd C. Miller  <Todd.Miller@courtesan.com>
17815
17816         * Makefile.in:
17817         ++version added INSTALL.configure
17818         [c9e9214f52ae]
17819
17820         * configure.in, version.h:
17821         ++version
17822         [5985abed3eb2]
17823
17824         * TROUBLESHOOTING:
17825         *** empty log message ***
17826         [d65c540ec52e]
17827
17828         * parse.yacc:
17829         added missing cast
17830         [e7247319a7d5]
17831
17832         * sudo.c:
17833         sets $HOME to pw_dir of runas user
17834         [d3f7f4d05752]
17835
17836         * sudo.pod:
17837         document $HOME change
17838         [854454d458c4]
17839
17840 1996-08-17  Todd C. Miller  <Todd.Miller@courtesan.com>
17841
17842         * sudo.pod:
17843         fixed up some wording
17844         [b0c8582f2c97]
17845
17846         * check.c, dce_pwent.c, find_path.c, getspwuid.c, getwd.c, goodpath.c,
17847         interfaces.c, logging.c, parse.c, parse.lex, parse.yacc, putenv.c,
17848         strdup.c, sudo.c, sudo_setenv.c, testsudoers.c, tgetpass.c, utime.c,
17849         visudo.c:
17850         ++version
17851         [748be723fd8b]
17852
17853         * compat.h, ins_2001.h, ins_classic.h, ins_csops.h, ins_goons.h,
17854         insults.h, options.h, pathnames.h.in, sudo.h:
17855         ++version
17856         [acdf8b1b2a1b]
17857
17858         * emul/utime.h:
17859         ++version
17860         [b3f35298ab8d]
17861
17862         * sudo.h:
17863         name nad type changes
17864         [db24ab3da141]
17865
17866         * testsudoers.c:
17867         now works with new sudo
17868         [379346c42cc2]
17869
17870         * parse.yacc:
17871         fixed some XXX
17872         [f5fe4c990052]
17873
17874         * parse.yacc:
17875         some variable name changes + comment headers for functions.
17876         [3dc3bd9aa73d]
17877
17878         * tgetpass.c:
17879         added extra paren's to make compilers happy
17880         [9e4968a34d56]
17881
17882         * sudo.c:
17883         *** empty log message ***
17884         [70c924c1ed69]
17885
17886         * parse.c:
17887         now uses init_parser() if not in sudoers and tries "list" or
17888         "validate" scold but don't be nasty.
17889         [c0d8fb3f8c9e]
17890
17891         * TROUBLESHOOTING:
17892         now can use upper case login names
17893         [c772fffcefe5]
17894
17895         * visudo.c:
17896         now uses init_parser()
17897         [b9efae7243fd]
17898
17899         * INSTALL, README:
17900         updated
17901         [27dc8283fdc8]
17902
17903         * PORTING:
17904         added info about PASSWORD_TIMEOUT
17905         [980e15d892f8]
17906
17907         * INSTALL.configure:
17908         Initial revision
17909         [8292e89a08d3]
17910
17911         * BUGS:
17912         fixed a bug ,
17913         [c6e46f5624f9]
17914
17915         * parse.yacc:
17916         now dynamically allocates memory for the stacks -- no more
17917         overflows!
17918         [8615c35b6ad3]
17919
17920         * sudo.pod:
17921         -l now explands command aliases
17922         [39f45605935d]
17923
17924         * parse.yacc:
17925         hacks to expand command aliases for `sudo -l'
17926         [e4eb752608f9]
17927
17928         * sudo.c:
17929         remove $ENV and $BASH_ENV (dangerous in ksh, posix sh, and bash)
17930         [01327ca5084b]
17931
17932         * sudo.h:
17933         added struct command_alias
17934         [dd2f32764082]
17935
17936         * sudo.pod:
17937         fixed a bug
17938         [e708ff08d2eb]
17939
17940         * lsearch.c:
17941         in compar() key should be first arg
17942         [fc14c3fa62ee]
17943
17944 1996-08-15  Todd C. Miller  <Todd.Miller@courtesan.com>
17945
17946         * BUGS:
17947         fixed some bugs
17948         [639dfe425bd5]
17949
17950         * parse.yacc:
17951         can now deal with upcase HOST and USER names
17952         [c6aa7bcfb00d]
17953
17954         * sudo.c:
17955         don't yell too loudly at non-sudoers if they do "sudo -l"
17956         [4ef146128d89]
17957
17958         * sudo.pod:
17959         fixed thinko
17960         [830f2f0f22e7]
17961
17962         * parse.c:
17963         fix comment
17964         [d20ce9e17ddc]
17965
17966 1996-08-09  Todd C. Miller  <Todd.Miller@courtesan.com>
17967
17968         * parse.c, parse.yacc:
17969         added support for new `sudo -l' stuff
17970         [7dceaef3c733]
17971
17972         * sudo.c:
17973         now uses list_matches()
17974         [293364821b61]
17975
17976         * sudo.h:
17977         added struct sudo_match
17978         [b2684179d179]
17979
17980         * configure.in:
17981         now more -lgnumalloc
17982         [4f8ae42617d8]
17983
17984 1996-08-01  Todd C. Miller  <Todd.Miller@courtesan.com>
17985
17986         * install-sh:
17987         added more paths for chown and whoami
17988         [6e685a19426c]
17989
17990 1996-07-31  Todd C. Miller  <Todd.Miller@courtesan.com>
17991
17992         * check.c:
17993         typo
17994         [3adfa01c04bc]
17995
17996 1996-07-30  Todd C. Miller  <Todd.Miller@courtesan.com>
17997
17998         * aclocal.m4:
17999         fixed DUNIX check for shadow pw
18000         [c25324bcd27b]
18001
18002         * tgetpass.c:
18003         now only turn off echo if it is already on. this fixes a race when
18004         you use sudo in a pipelin
18005         [28388c2de21c]
18006
18007         * INSTALL:
18008         updated
18009         [b45ac9366b7e]
18010
18011         * configure.in:
18012         changed "test -z $foo && do_this" to if; then construct
18013         [2183c4426bca]
18014
18015 1996-07-29  Todd C. Miller  <Todd.Miller@courtesan.com>
18016
18017         * configure.in:
18018         added missing defines of SHADOW_TYPE
18019         [be89ea68a7f3]
18020
18021 1996-07-26  Todd C. Miller  <Todd.Miller@courtesan.com>
18022
18023         * check.c:
18024         protect AUTH_CRYPT_OLDCRYPT and AUTH_CRYPT_C1CRYPT since they are
18025         only in dunix 4.x
18026         [1e7c1c677263]
18027
18028         * getspwuid.c:
18029         added AUTH_CRYPT_C1CRYPT support
18030         [88d6b0058b20]
18031
18032         * parse.c:
18033         no longer return VALIDATE_NOT_OK if there was a runas that didn't
18034         match. Now we can have runas stuff on more than one line.
18035         [52b68920d7b7]
18036
18037         * getspwuid.c, sudo.c, tgetpass.c:
18038         use SHADOW_TYPE instead of HAVE_C2_SECURITY
18039         [cf401dfcbc06]
18040
18041         * configure.in:
18042         got rid of HAVE_C2_SECURITY SHADOW_TYPE is always defined to
18043         something
18044         [c7a233c4dd93]
18045
18046         * config.h.in:
18047         removed HAVE_C2_SECURITY added SPW_BSD
18048         [8314405e9754]
18049
18050         * compat.h:
18051         use SHADOW_TYPE instead of HAVE_C2_SECURITY
18052         [6f94870df17f]
18053
18054         * check.c:
18055         SHADOW_TYPE is always defined so just against its value
18056         [72c69a55d02f]
18057
18058         * aclocal.m4:
18059         added SUDO_CHECK_SHADOW_DUNIX
18060         [ef025ae9d496]
18061
18062 1996-07-25  Todd C. Miller  <Todd.Miller@courtesan.com>
18063
18064         * sudoers.pod:
18065         * -> ?* in one example added another instance of (runas) and one of
18066         NOPASSWD:
18067         [d74fe1dcbe7d]
18068
18069 1996-07-24  Todd C. Miller  <Todd.Miller@courtesan.com>
18070
18071         * configure.in:
18072         added back check for config.cache from other host type
18073         [0ba87871f585]
18074
18075         * parse.lex:
18076         removed an instance of \"
18077         [1e008d3709f6]
18078
18079         * sample.sudoers:
18080         added an example
18081         [dbfcf68ee330]
18082
18083         * sudoers.pod:
18084         updated wrt new wildcard matching
18085         [193fa44a475b]
18086
18087         * configure.in:
18088         new check for shadow passwords if we don't know anything
18089         [67465df7dc9a]
18090
18091         * aclocal.m4:
18092         new SUDO_CHECK_SHADOW_GENERIC
18093         [3563b16a41b8]
18094
18095         * configure.in:
18096         added back check for -lsocket (oops)
18097         [a80882ee1cb6]
18098
18099         * configure.in:
18100         better (working) check for shadow passwd type if we know to use C2.
18101         [3cdd2a59a641]
18102
18103         * configure.in:
18104         now uses AC_CANONICAL_HOST to figure out os type
18105         [80db7fe6e704]
18106
18107         * Makefile.in:
18108         added config.{guess,sub}
18109         [c6be7e3ca384]
18110
18111         * aclocal.m4:
18112         removed unused stuff to figure out os type
18113         [c9a0f3b57123]
18114
18115         * config.sub:
18116         added openbsd
18117         [bfc6bfec3668]
18118
18119         * config.sub:
18120         Initial revision
18121         [e6e06ce0d17d]
18122
18123         * config.guess:
18124         Initial revision
18125         [99dd06f79199]
18126
18127         * testsudoers.c:
18128         don't call fnmatch() with FNM_PATHNAME flag unless it can only be a
18129         pathname. need to check against sudoers_args even if user_args is
18130         nil
18131         [66e6cf77f5d6]
18132
18133         * parse.c:
18134         don't call fnmatch() with FNM_PATHNAME flag unless it can only be a
18135         pathname need to check against sudoers_args even if user_args is nil
18136         [74374df17311]
18137
18138 1996-07-23  Todd C. Miller  <Todd.Miller@courtesan.com>
18139
18140         * check.c:
18141         added support for AUTH_CRYPT_OLDCRYPT w/ DUNIX C2
18142         [cbb00261c415]
18143
18144         * testsudoers.c:
18145         now takes command line args and uses cmnd_args
18146         [f0c2fd35a527]
18147
18148         * parse.lex:
18149         fill_args was adding an extra leading space
18150         [692fc999b2e8]
18151
18152 1996-07-22  Todd C. Miller  <Todd.Miller@courtesan.com>
18153
18154         * visudo.c:
18155         fixed dummy command_matches()
18156         [93d9543db6e2]
18157
18158         * parse.yacc:
18159         fixed prototype
18160         [7b0addfbd429]
18161
18162         * sudo.h:
18163         added cmnd_args
18164         [8f47c4ae65ef]
18165
18166         * parse.yacc:
18167         now uses flat args string
18168         [016e65877da3]
18169
18170         * parse.c, parse.lex:
18171         now uses flat arg string
18172         [5b5f2e3f4c09]
18173
18174         * visudo.c:
18175         added cmnd_args def
18176         [876867134775]
18177
18178         * sudo.c:
18179         now sets cmnd_args global
18180         [e6fee70cb59b]
18181
18182         * logging.c:
18183         cmnd_args is now exported from sudo.[ch]
18184         [7a9cd36e356f]
18185
18186 1996-07-21  Todd C. Miller  <Todd.Miller@courtesan.com>
18187
18188         * parse.yacc:
18189         can't rely on cmnd_matches as much as I thought -- added some $$
18190         stuff back in to prevent namespace pollution problems.
18191         [3c45fedb5af3]
18192
18193         * parse.yacc:
18194         Simplified parse rules wrt runas and NOPASSWD (more consistent).
18195         [e6d838c8a4c7]
18196
18197 1996-07-20  Todd C. Miller  <Todd.Miller@courtesan.com>
18198
18199         * parse.lex:
18200         NOPASSWD may now have blanks before the ':' '(' only starts a
18201         'runas' if in the initial state to avoid collision with command args
18202         [c5c01172f499]
18203
18204         * configure.in:
18205         added checks for specific shadow passwd schemes
18206         [b7e3d1f7b84f]
18207
18208         * aclocal.m4:
18209         added routines to check for specific shadow passwd types
18210         [e5e1d19960a6]
18211
18212 1996-07-18  Todd C. Miller  <Todd.Miller@courtesan.com>
18213
18214         * configure.in:
18215         added support for ncr boxen
18216         [bea9dc5aae7f]
18217
18218         * aclocal.m4:
18219         added support for detecting ncr boxen
18220         [8653a158a924]
18221
18222 1996-07-16  Todd C. Miller  <Todd.Miller@courtesan.com>
18223
18224         * configure.in:
18225         added sinix support
18226         [5de2b2173ee1]
18227
18228 1996-07-14  Todd C. Miller  <Todd.Miller@courtesan.com>
18229
18230         * TROUBLESHOOTING:
18231         added info about "config.cache from other other" error.
18232         [845b10198e0b]
18233
18234         * aclocal.m4:
18235         now makes sure you don't have a config.cache file from another OS
18236         [4fe32571c021]
18237
18238         * configure.in:
18239         now sets $LIBS when needed to configure links with libs when doing
18240         tests hpux10 now uses SPW_SECUREWARE for C2 added check for
18241         bigcrypt(3) if SPW_SECUREWARE
18242         [2df6b8ca538f]
18243
18244         * getspwuid.c:
18245         fixed typo
18246         [fe1cb1d792d6]
18247
18248         * tgetpass.c:
18249         now include stuff for SPW_SECUREWARE to get AUTH_MAX_PASSWD_LENGTH
18250         [f71138372c07]
18251
18252         * getspwuid.c:
18253         no more SPW_HPUX10
18254         [cfdeb18bc16b]
18255
18256         * config.h.in:
18257         no more SPW_HPUX10 added HAVE_BIGCRYPT
18258         [00d296479a61]
18259
18260         * compat.h:
18261         now uses AUTH_MAX_PASSWD_LENGTH if SPW_SECUREWARE
18262         [6c6d9e680417]
18263
18264         * check.c:
18265         SPW_SECUREWARE now uses bigcrypt
18266         [be71fc66690f]
18267
18268 1996-07-13  Todd C. Miller  <Todd.Miller@courtesan.com>
18269
18270         * sample.sudoers:
18271         fixed 2 syntax errors
18272         [45eee19ef4ac]
18273
18274         * sudoers:
18275         root may now run ALL as ALL
18276         [1b54c6b9b212]
18277
18278 1996-07-12  Todd C. Miller  <Todd.Miller@courtesan.com>
18279
18280         * interfaces.c:
18281         fixed a typo/thinko that broke BSD's with sa_len
18282         [603438360126]
18283
18284 1996-07-08  Todd C. Miller  <Todd.Miller@courtesan.com>
18285
18286         * check.c, configure.in:
18287         updated AFS support
18288         [e572eb8d177a]
18289
18290         * TROUBLESHOOTING:
18291         added entry about /usr/ucb/cc
18292         [025b353aa9d3]
18293
18294         * INSTALL:
18295         prep no longer holds gcc binaries
18296         [8b0942958049]
18297
18298         * INSTALL:
18299         updated AFS note
18300         [7af6efd5abe4]
18301
18302         * Makefile.in:
18303         added @AFS_LIBS@
18304         [97b6fe6ad7d6]
18305
18306         * compat.h:
18307         AFS allows long passwords
18308         [5fb17122c302]
18309
18310         * testsudoers.c:
18311         fixed -u user support
18312         [b1a0c1648639]
18313
18314         * parse.c:
18315         sudo -v now groks VALIDATE_OK_NOPASS
18316         [74fc03fffe7e]
18317
18318         * parse.yacc:
18319         fixed no_passwd vs. runas_matched
18320         [549a9b791a6a]
18321
18322         * TROUBLESHOOTING:
18323         took out stuff about NFS-mounting since it is no longer an issue
18324         [d95ab7fbbc61]
18325
18326         * INSTALL:
18327         added --with-libraries > --with-libpath --with-incpath
18328         [d5d15a7a0f4c]
18329
18330         * parse.yacc:
18331         was setting runas_matches to -1 in wrong place
18332         [db2b1deb8d33]
18333
18334         * check.c:
18335         removed usersec.h which is not present in new AFS versions
18336         [618b016dd17f]
18337
18338         * tgetpass.c:
18339         now deals with timeout <= 0
18340         [ba53a1257255]
18341
18342         * OPTIONS:
18343         updated
18344         [75093bd8fdca]
18345
18346         * configure.in:
18347         BSD/OS >= 2.0 now uses shlicc instead of just gcc
18348         [ff6dbf7825c2]
18349
18350         * sudo.c:
18351         fixed backwards compatibility with sudo 1.4 sudoers mode for root
18352         readable/writable filesystems
18353         [2694ed627221]
18354
18355         * Makefile.in:
18356         now gives INSTALL -c flag
18357         [63db055a2fd1]
18358
18359         * parse.yacc:
18360         slightly simpler initialization of no_passwd and runas_matches
18361         [463a1b5fa323]
18362
18363         * testsudoers.c:
18364         added -u username support
18365         [38b072fcd6b3]
18366
18367         * configure.in:
18368         improved --with-libraries support
18369         [047dbc5f0af2]
18370
18371 1996-07-07  Todd C. Miller  <Todd.Miller@courtesan.com>
18372
18373         * configure.in:
18374         added --with-incpath, --with-libpath, --with-libraries
18375         [20f20d6c718c]
18376
18377         * parse.yacc:
18378         now initializes some fields that weren't getting set to -1 pretty
18379         gross -- need a rewrite.
18380         [021c160390c6]
18381
18382 1996-06-26  Todd C. Miller  <Todd.Miller@courtesan.com>
18383
18384         * alloca.c:
18385         removed emacs'isms
18386         [9d4ec2efe057]
18387
18388         * configure.in:
18389         no longer add -lPW to *_LIBS since we include alloca.c
18390         [a626d1bbea80]
18391
18392         * config.h.in:
18393         added HAVE_ALLOCA_H
18394         [15491e2a6cff]
18395
18396         * Makefile.in:
18397         added alloca.c
18398         [0400f25e1fe4]
18399
18400         * alloca.c:
18401         Initial revision
18402         [06d033aa4882]
18403
18404         * configure.in:
18405         ++version
18406         [f52c0fb98f90]
18407
18408 1996-06-25  Todd C. Miller  <Todd.Miller@courtesan.com>
18409
18410         * sudo.c:
18411         now set uid to 1 instead of nobody for PERM_SUDOERS since nobody is
18412         not always set to a valid uid.
18413         [c2669f77704d]
18414
18415         * OPTIONS:
18416         fixed entry for SUDO_MODE
18417         [d7272f6035b8]
18418
18419         * sudo.c:
18420         Fixed NFS-mounted sudoers file under solaris both uid *and* gid were
18421         being set to -2. Now beat NFS to the punch and set uid to "nobody"
18422         ourselves, preserving group 0 to read sudoers.
18423         [b1fbc5dd1e34]
18424
18425         * parse.c:
18426         moved set_perms(PERM_ROOT) to be before yyparse()
18427         [7619d8080735]
18428
18429         * logging.c:
18430         fixed a typo
18431         [318acc48cde0]
18432
18433         * configure.in:
18434         no longer need AC_PROG_INSTALL
18435         [de01b1336dc8]
18436
18437         * Makefile.in:
18438         always use install-sh to avoid install(1)'s that use get{pw,gr}nam
18439         [ea2351986406]
18440
18441         * INSTALL:
18442         make clean -> make distclean
18443         [704a98e8ba10]
18444
18445 1996-06-20  Todd C. Miller  <Todd.Miller@courtesan.com>
18446
18447         * parse.yacc:
18448         removed some unnecsary if's
18449         [f00db6508132]
18450
18451         * Makefile.in, version.h:
18452         ++version
18453         [bdb6740b24c8]
18454
18455         * parse.c, testsudoers.c:
18456         now includes netgroup.h
18457         [93f5a06352bc]
18458
18459         * interfaces.c:
18460         removed cats of ioctl to int since they didn't shut up -Wall
18461         [83e9f912cd7a]
18462
18463         * interfaces.c:
18464         explicately cast ioctl() to int since it it not always declared
18465         [2ff9294e469e]
18466
18467         * sudo.h:
18468         added declarations for yyparse() and yylex()
18469         [6071321ab771]
18470
18471         * parse.yacc:
18472         fixed an occurence of '==' -> '='
18473         [2c46d2e11d57]
18474
18475         * config.h.in, configure.in:
18476         added check for netgroup.h
18477         [73403050f4e3]
18478
18479         * sudo.c:
18480         fixed 2 compiler warnings
18481         [680929b0bd97]
18482
18483         * sudo.c:
18484         SHELL_IF_NO_ARGS caused core dump since NewArg[cv] weren't being
18485         initialized
18486         [18707ecd07c2]
18487
18488 1996-06-19  Todd C. Miller  <Todd.Miller@courtesan.com>
18489
18490         * sudo.pod:
18491         fixed a typo
18492         [e4b5c12aa130]
18493
18494 1996-06-17  Todd C. Miller  <Todd.Miller@courtesan.com>
18495
18496         * parse.yacc:
18497         fixed a formatting thingie
18498         [c79327b6f19b]
18499
18500         * parse.c, parse.yacc:
18501         fixed -u support with multiple user lists on a line
18502         [e4d1066adca2]
18503
18504         * configure.in:
18505         unixware needs -lgen
18506         [b5bf9bca63cc]
18507
18508         * README:
18509         updated ftp location
18510         [b25a033f7921]
18511
18512         * sudoers.pod:
18513         add net_addr/netmask support
18514         [674e83516d1e]
18515
18516         * sample.sudoers:
18517         added net_addr/mask example
18518         [774878e89b28]
18519
18520         * parse.c, parse.lex:
18521         added support for net_addr/netmask
18522         [e33de27325d8]
18523
18524 1996-06-16  Todd C. Miller  <Todd.Miller@courtesan.com>
18525
18526         * sudoers.pod:
18527         ^ -> !
18528         [1a084950d6ef]
18529
18530 1996-06-15  Todd C. Miller  <Todd.Miller@courtesan.com>
18531
18532         * RUNSON:
18533         updated for 1.4.3
18534         [c82019025d09]
18535
18536         * CHANGES:
18537         udpated for 1.4.3
18538         [ceaa81adb8f0]
18539
18540         * BUGS, TODO, TROUBLESHOOTING:
18541         updated
18542         [ff94fae4b853]
18543
18544         * sample.sudoers:
18545         updated with examples of new stuff
18546         [99d0b4cb4c9c]
18547
18548         * INSTALL, README:
18549         ++version
18550         [b763b80fe836]
18551
18552         * sudoers.pod:
18553         updated wrt -u and NOPASSWD
18554         [0b5b722ea0f4]
18555
18556         * sudo.pod:
18557         updated wrt -u and CAVEATS
18558         [71d5d53b5d18]
18559
18560 1996-06-09  Todd C. Miller  <Todd.Miller@courtesan.com>
18561
18562         * sudo.c:
18563         fixed usage()
18564         [114c7d09b550]
18565
18566         * parse.lex:
18567         now use :foo: character classes (makes no diff for generated lexer)
18568         [7b0aeb737a02]
18569
18570 1996-06-07  Todd C. Miller  <Todd.Miller@courtesan.com>
18571
18572         * check.c:
18573         fixed LONG_SKEY_PROMPT stuff
18574         [0efe78b4bdda]
18575
18576 1996-06-06  Todd C. Miller  <Todd.Miller@courtesan.com>
18577
18578         * visudo.c:
18579         fixed a comment
18580         [3d289017104b]
18581
18582         * lsearch.c:
18583         make more like NetBSD one -- now compiles w/o warnings
18584         [932206296a54]
18585
18586         * emul/search.h:
18587         fixed decls of lsearch()
18588         [c58cf4584c45]
18589
18590         * config.h.in, configure.in, getspwuid.c:
18591         added SPW_HPUX10
18592         [d74e5eaa5f17]
18593
18594         * check.c:
18595         hpux 10 uses bigcrypt() if C2
18596         [359eb63f4021]
18597
18598 1996-06-04  Todd C. Miller  <Todd.Miller@courtesan.com>
18599
18600         * parse.c:
18601         now always uses fnmatch to match args
18602         [a9d91f35256a]
18603
18604         * tgetpass.c:
18605         back to using stdio instead of raw i/o since that caused some
18606         problems
18607         [e7ce2bc92974]
18608
18609 1996-05-29  Todd C. Miller  <Todd.Miller@courtesan.com>
18610
18611         * sudo.c:
18612         now give usage warning if use -l,-v,-k with args
18613         [6b48180c4fea]
18614
18615 1996-05-28  Todd C. Miller  <Todd.Miller@courtesan.com>
18616
18617         * sudo.c:
18618         NewArgc is now set to 1 for -l, -v, -k
18619         [7497cb1416a8]
18620
18621         * sudo.c:
18622         now sets sudoers to correct group if mode is 0400
18623         [484c43d99718]
18624
18625         * install-sh:
18626         updated to version used by inn and bind
18627         [28683ad8725a]
18628
18629         * configure.in:
18630         now uses -lgnumalloc if it exists
18631         [3651ca4415a2]
18632
18633         * Makefile.in:
18634         "make install" now sets uid/gid and mode on sudoers if it exists
18635         [1f5216191ae9]
18636
18637         * sudo.c:
18638         rmeoved debugging statements
18639         [aeda278e2c26]
18640
18641         * parse.yacc:
18642         added a missing free()
18643         [592c9482a159]
18644
18645         * sudo.c:
18646         now uses user_gid instead of getegid (which was wrong anyway) to set
18647         SUDO_GID Now sets command line args in SUDO_COMMAND envariabled
18648         (logging.c depends on args being in the environment)
18649         [9f5328a3b942]
18650
18651         * logging.c:
18652         now uses SUDO_COMMAND envariable to get command args rather than
18653         building it up again.
18654         [7f8edc5bccb7]
18655
18656         * parse.c:
18657         now uses user_gid
18658         [4b9303ae45fe]
18659
18660         * sudo.c:
18661         fixed off by one error in allocation NewArgv
18662         [921ea1a4e7c6]
18663
18664         * parse.c:
18665         in sudoers, 'command ""' now means command with no args
18666         [a5273648ace2]
18667
18668         * configure.in:
18669         added check for fnmatch(3) and fnmatch.h
18670         [258916a7866f]
18671
18672         * config.h.in:
18673         added HAVE_FNMATCH
18674         [b9860d361e93]
18675
18676         * Makefile.in:
18677         replaced wildcat.* with fnmatch.*
18678         [03ad9ee21a1c]
18679
18680         * testsudoers.c:
18681         now uses fnmatch()
18682         [5a7f7de987a9]
18683
18684 1996-05-27  Todd C. Miller  <Todd.Miller@courtesan.com>
18685
18686         * parse.c:
18687         now uses fnmatch() instead of wildmat a trailing star (*) by itself
18688         now matches multiple args added support for wildcards in the
18689         pathname in sudoers
18690         [1f7fb950b868]
18691
18692 1996-05-25  Todd C. Miller  <Todd.Miller@courtesan.com>
18693
18694         * fnmatch.c:
18695         now includes compat.h and config.h
18696         [090206b95cf8]
18697
18698         * config.h.in:
18699         added HAVE_FNMATCH_H
18700         [90eb42150173]
18701
18702         * configure.in:
18703         now checks for alloca() (if needed by bison or dce) and links with
18704         -lPW if it contains alloca() and libv and compiler do not.
18705         [cfa2b3cef49a]
18706
18707         * emul/fnmatch.h, fnmatch.3, fnmatch.c:
18708         Initial revision
18709         [20b1f762a32a]
18710
18711 1996-04-29  Todd C. Miller  <Todd.Miller@courtesan.com>
18712
18713         * sudo.c:
18714         now fixes mode on sudoers if set to 0400 to aid in upgrade
18715         [d4bdfd521820]
18716
18717 1996-04-28  Todd C. Miller  <Todd.Miller@courtesan.com>
18718
18719         * Makefile.in:
18720         fixed pod2man usage
18721         [5adf2ec77b27]
18722
18723         * Makefile.in, configure.in, version.h:
18724         ++version
18725         [b4029de876d0]
18726
18727         * testsudoers.c, visudo.c:
18728         runas_user is now initialized to "root"
18729         [8537d97bff39]
18730
18731         * sudo.h:
18732         removed PERM_FULL_ROOT
18733         [241f8bbf647f]
18734
18735         * sudo.c:
18736         runas_user defaults to "root" so no more need to PERM_RUNAS
18737         [fc0c0dfc72ba]
18738
18739         * parse.c:
18740         will now only running commands as root if there was no runas list
18741         (or if root is in the runas list)
18742         [40c587666c81]
18743
18744         * logging.c:
18745         now logs "USER=%s"
18746         [b733504c87fd]
18747
18748         * parse.yacc:
18749         runas_matches is now set to false if we get a negative match
18750         [5495b150b300]
18751
18752         * parse.lex:
18753         make #uid work + some minor cleanup
18754         [07851bbce03a]
18755
18756         * sample.sudoers:
18757         added support for NOPASSWD and "runas" from garp@opustel.com /
18758         [7a9c67b51fa5]
18759
18760         * visudo.c:
18761         added support for "runas" from garp@opustel.com replaced
18762         SUDOERS_OWNER with SUDOERS_UID, SUDOERS_GID added support for
18763         SUDOERS_MODE
18764         [e714209b9885]
18765
18766         * testsudoers.c:
18767         added support for "runas" from garp@opustel.com
18768         [b837f856da10]
18769
18770         * sudo.h:
18771         added support for NO_PASSWD and runas from garp@opustel.com replaced
18772         SUDOERS_OWNER with SUDOERS_UID and SUDOERS_GID and added support
18773         fro SUDOERS_MODE
18774         [cea6f26679b7]
18775
18776         * sudo.c:
18777         added support for NO_PASSWD and runas from garp@opustel.com replaced
18778         SUDOERS_OWNER with SUDOERS_UID and SUDOERS_GID and added support fro
18779         SUDOERS_MODE
18780         [61b5434237c5]
18781
18782         * parse.yacc:
18783         added support for NO_PASSWD and runas from garp@opustel.com
18784         [72ebd3056f22]
18785
18786         * parse.c, parse.lex:
18787         added support for NO_PASSWD and runas from garp@opustel.com
18788         [fef6dbdd114d]
18789
18790         * logging.c:
18791         added support for SUDOERS_WRONG_MODE and "runas"
18792         [e794efc2b443]
18793
18794         * configure.in:
18795         added --with-CC only link with -lshadow on linux (with shadow pw) if
18796         libc lacks getspnam()
18797         [3ecf4ae21002]
18798
18799         * OPTIONS, options.h:
18800         removed NO_PASSWD since it is not possible to do this in the sudoers
18801         file itself. Replaced SUDOERS_OWNER with SUDOERS_UID and
18802         SUDOERS_GID. Added SUDOERS_MODE.
18803         [2eaa4891ef48]
18804
18805         * Makefile.in:
18806         now uses SUDOERS_UID and SUDOERS_GID
18807         [8d615f0fdb2a]
18808
18809 1996-04-27  Todd C. Miller  <Todd.Miller@courtesan.com>
18810
18811         * INSTALL:
18812         added --with-CC
18813         [a1b8286a81b8]
18814
18815 1996-04-06  Todd C. Miller  <Todd.Miller@courtesan.com>
18816
18817         * parse.lex:
18818         added double quote support
18819         [a5e4fc7e3a2b]
18820
18821         * sudoers.pod:
18822         documented double quoting
18823         [c6ea47969a44]
18824
18825 1996-04-05  Todd C. Miller  <Todd.Miller@courtesan.com>
18826
18827         * mkinstalldirs:
18828         Initial revision
18829         [dcb86d65ad8f]
18830
18831         * check.c:
18832         fixed some indentation
18833         [4d1c5ab8072b]
18834
18835         * Makefile.in:
18836         fixed a typo
18837         [0d27eebc7227]
18838
18839         * Makefile.in:
18840         added install-dirs .
18841         [f499b99b8be7]
18842
18843 1996-04-04  Todd C. Miller  <Todd.Miller@courtesan.com>
18844
18845         * dce_pwent.c:
18846         new version from "Jeff A. Earickson" <jaearick@colby.edu>
18847         [422481be5fbd]
18848
18849 1996-04-03  Todd C. Miller  <Todd.Miller@courtesan.com>
18850
18851         * configure.in:
18852         $CSOPS -> $with_csops (whoops, missed one)
18853         [b04c6948130e]
18854
18855         * BUGS:
18856         updated
18857         [c4d5713e227d]
18858
18859         * parse.lex:
18860         FQHOST now has same constraints as non-FQHOST
18861         [e1c3bf2381d1]
18862
18863         * INSTALL:
18864         added note about OS's w/ shadow passwords turned on by default
18865         [166257f43be4]
18866
18867 1996-04-02  Todd C. Miller  <Todd.Miller@courtesan.com>
18868
18869         * configure.in:
18870         fixed a typo
18871         [e5c3e2e9a359]
18872
18873         * configure.in:
18874         added support for --without-THING sanitized shadow pw situtation by
18875         adding support for
18876         --without-C2
18877         [65dc6bf64cce]
18878
18879         * tgetpass.c:
18880         fixed a typo wrt placement of an end paren
18881         [a8780f818231]
18882
18883         * check.c:
18884         was closing an fd that may not have been opened
18885         [760271c7bdc9]
18886
18887 1996-03-22  Todd C. Miller  <Todd.Miller@courtesan.com>
18888
18889         * OPTIONS, options.h, sudo.c:
18890         added NO_PASSWD
18891         [28ff1dc93d7a]
18892
18893 1996-03-20  Todd C. Miller  <Todd.Miller@courtesan.com>
18894
18895         * configure.in:
18896         now always use shadow pw on some arches
18897         [069161ccffda]
18898
18899 1996-03-19  Todd C. Miller  <Todd.Miller@courtesan.com>
18900
18901         * configure.in:
18902         added pyramid support
18903         [a0eb57a3a531]
18904
18905         * configure.in:
18906         no longer check for C2 if alternate passwd method is used no longer
18907         check for some libs twice
18908         [2d0c3c902b40]
18909
18910         * parse.yacc:
18911         moved fqdn stuff into parse.lex (FQHOST)
18912         [d9c9abd481d8]
18913
18914         * parse.lex:
18915         added FQHOST rules
18916         [4a1695acff6d]
18917
18918         * tgetpass.c:
18919         now define TCSASOFT in necesary
18920         [3fac2e21c9ab]
18921
18922         * tgetpass.c:
18923         now uses read/write instead of stdio string goop to avoid problems
18924         with select(2)
18925         [67fd174e518c]
18926
18927         * OPTIONS, find_path.c, options.h:
18928         -DNO_DOT_PATH -> -DIGNORE_DOT_PATH
18929         [d05ba5100d28]
18930
18931 1996-03-17  Todd C. Miller  <Todd.Miller@courtesan.com>
18932
18933         * INSTALL:
18934         added note about no shadow auto-detect if using alternate auth
18935         schemes
18936         [b425592232a3]
18937
18938         * configure.in:
18939         don't check for C2 if AFS or DCE (unless they said --with-C2)
18940         [61342962171a]
18941
18942         * testsudoers.c:
18943         now groks shost
18944         [85dda17303f6]
18945
18946         * OPTIONS, find_path.c, options.h:
18947         added NO_DOT_PATH
18948         [c261ca1fb196]
18949
18950 1996-03-16  Todd C. Miller  <Todd.Miller@courtesan.com>
18951
18952         * find_path.c:
18953         checkdot now works correctly
18954         [3bc4835bb3e9]
18955
18956 1996-03-12  Todd C. Miller  <Todd.Miller@courtesan.com>
18957
18958         * configure.in:
18959         can't have DCE and C2 passwords both...
18960         [fb9a8ab7ca66]
18961
18962 1996-03-11  Todd C. Miller  <Todd.Miller@courtesan.com>
18963
18964         * parse.yacc, sudo.c, sudo.h, visudo.c:
18965         now uses shost even if not FQDN
18966         [87f7498b3a1f]
18967
18968         * configure.in:
18969         now looks for skey in /usr/lib and doesn't require libskey to be in
18970         /usr/local/lib just because skey.h is (for my netbsd box :-)
18971         [ceb1763e37d2]
18972
18973         * aclocal.m4, config.h.in, pathnames.h.in:
18974         _SUDO_PATH_ -> _CONFIG_PATH_
18975         [84d97ad13d75]
18976
18977         * aclocal.m4, sudo.pod:
18978         /var/run/.odus -> /var/run/sudo
18979         [922da220b8f5]
18980
18981         * pathnames.h.in:
18982         now uses _SUDO_PATH_TIMEDIR
18983         [5ecab0155fdf]
18984
18985         * OPTIONS:
18986         udpated FQDN
18987         [361b6f7440c0]
18988
18989         * aclocal.m4, configure.in:
18990         added SUDO_TIMEDIR
18991         [368c95c8c950]
18992
18993         * config.h.in:
18994         added _SUDO_PATH_TIMEDIR
18995         [3879864d808c]
18996
18997         * sudo.pod:
18998         updated wrt /var/run/sudo
18999         [9e14f2a429d3]
19000
19001         * sudo.c, sudo.h:
19002         added support for shost if FQDN
19003         [51a3f51a09a1]
19004
19005         * parse.yacc, visudo.c:
19006         now uses shost if FQDN
19007         [d19da2e92b42]
19008
19009         * check.c:
19010         Now use skeylookup() instead off skeychallenge()
19011         [4c7438bb2ae0]
19012
19013 1996-02-28  Todd C. Miller  <Todd.Miller@courtesan.com>
19014
19015         * logging.c:
19016         mail_argv should not contain ALERTMAIL as it includes "-t"
19017         [67ffaaa8f843]
19018
19019 1996-02-22  Todd C. Miller  <Todd.Miller@courtesan.com>
19020
19021         * INSTALL, Makefile.in, README, configure.in, version.h:
19022         ++version
19023         [e08fd4a809fc]
19024
19025         * compat.h:
19026         added more _PASSWD_LEN stuff -- now uses PASS_MAX too
19027         [2f20c3153689]
19028
19029         * tgetpass.c:
19030         now includes limits.h moved _PASSWD_LEN -> compat.h
19031         [b1ca3cafdacc]
19032
19033 1996-02-06  Todd C. Miller  <Todd.Miller@courtesan.com>
19034
19035         * INSTALL, README:
19036         ++version
19037         [3eacf32803f5]
19038
19039         * Makefile.in:
19040         ++versoin
19041         [3b91c317630a]
19042
19043         * Makefile.in:
19044         fixed a typo
19045         [3661ac4a7803]
19046
19047         * configure.in:
19048         ++version
19049         [60e842973745]
19050
19051 1996-02-05  Todd C. Miller  <Todd.Miller@courtesan.com>
19052
19053         * RUNSON:
19054         updated
19055         [def2c3c24195]
19056
19057         * CHANGES:
19058         done for 1.4.1 (I hope)
19059         [2ab543769a40]
19060
19061         * sudoers.pod:
19062         added info on wildcards
19063         [ce3bd41bc063]
19064
19065         * sample.sudoers:
19066         added wildcard example
19067         [762feb0577bd]
19068
19069         * Makefile.in:
19070         now uses *.pod to build *.man and *.cat & *.html
19071         [3ec14962028b]
19072
19073         * configure.in:
19074         addedSUDO_PROG_BSHELL !ll
19075         [3c80b320bf16]
19076
19077         * visudo.pod:
19078         fixed up some formatting
19079         [12166c434526]
19080
19081         * sudoers.pod:
19082         redid section describing sample sudoers stuff
19083         [b8065cceec71]
19084
19085         * sudo.pod:
19086         fixed some formatting
19087         [aa9a681add0f]
19088
19089         * getspwuid.c:
19090         now treats "" as bourne shell
19091         [30194a72ad56]
19092
19093         * Makefile.in:
19094         TESTOBJS nwo includes wildmat.o
19095         [86cc6500f84d]
19096
19097         * testsudoers.c:
19098         now works with NewArg[cv]
19099         [2f72674ce942]
19100
19101         * sudo.c:
19102         removed an XXX (fixed it in getspwuid.c)
19103         [e791ee0d1a68]
19104
19105         * aclocal.m4:
19106         added check for bourne shell
19107         [a2fd51676b8a]
19108
19109         * pathnames.h.in:
19110         added _PATH_BSHELL
19111         [e7c10011d47b]
19112
19113         * config.h.in:
19114         added _SUDO_PATH_BSHELL
19115         [6a1182898de9]
19116
19117 1996-02-04  Todd C. Miller  <Todd.Miller@courtesan.com>
19118
19119         * visudo.c:
19120         unixware vi returns 256 instead of 0
19121         [234ffc7c6786]
19122
19123         * INSTALL:
19124         added Linux note
19125         [5f85efcd2b58]
19126
19127         * logging.c:
19128         fixed up some XXX's. file log format now looks a little more like
19129         real syslog(3) format.
19130         [6df55707bfc3]
19131
19132         * README, TROUBLESHOOTING:
19133         updated wrt lex/flex
19134         [eb787d69156b]
19135
19136         * Makefile.in:
19137         commented out rule to build lex.yy.c from parse.lex since we ship
19138         with a pre-flex'd parser
19139         [7507e2ce4a95]
19140
19141         * parse.c, parse.yacc, visudo.c:
19142         path_matches -> command_matches
19143         [0bd469424f86]
19144
19145         * logging.c:
19146         eliminated some strcat()'s
19147         [9878a79bc374]
19148
19149         * configure.in:
19150         no longer checks for lex/flex (now assumes flex)
19151         [a086ccc73798]
19152
19153         * configure.in:
19154         now checks for $kerb_dir_candidate/krb.h instead of just
19155         kerb_dir_candidate
19156         [9133bc3c5208]
19157
19158 1996-02-03  Todd C. Miller  <Todd.Miller@courtesan.com>
19159
19160         * parse.yacc:
19161         now use a 'hook' expression instead of an iffy one :-)
19162         [9560df01b8c0]
19163
19164 1996-02-02  Todd C. Miller  <Todd.Miller@courtesan.com>
19165
19166         * visudo.c:
19167         now works with new sudo arg stuff
19168         [310a0d43ddad]
19169
19170         * parse.yacc:
19171         fixed dereferencing deadbeef
19172         [474ef8a8006b]
19173
19174         * sudo.c:
19175         changed an occurrence of Argv to NewArgv
19176         [205b012b7691]
19177
19178         * parse.lex:
19179         took out support for quoted commands since there is no need...
19180         [5c5036d353b1]
19181
19182         * parse.c:
19183         fixed a typo in a for() loop
19184         [7e8d5283c43b]
19185
19186         * logging.c:
19187         protected against dereferencing rogue pointers
19188         [56debd517717]
19189
19190         * sudo.c:
19191         now uses NewArgv amd NewArgc so cmnd_aegs is no longer needed this
19192         also allows us to eliminate some kludges in parse_args() and
19193         eliminate superfluous code.
19194         [5122f66ad150]
19195
19196         * logging.c:
19197         no longer uses cmnd_args, now uses NewArgv instead.
19198         [abddd23cf068]
19199
19200         * sudo.h:
19201         added struct sudo_command, NewArgc, and NewArgv removed cmnd_args
19202         (no longer used)
19203         [78410984fb05]
19204
19205         * Makefile.in:
19206         added wildmat.c to SRCS & SUDOBJS
19207         [3800efb41794]
19208
19209         * parse.yacc:
19210         COMMAND is now a struct containing the path and args
19211         [5c32822c5b94]
19212
19213         * parse.lex:
19214         replaced append() with fill_cmnd() and fill_args. command args from
19215         a sudoers entry are now stored in an arrary for easy matching.
19216         [a981d7f4eb0d]
19217
19218         * parse.c:
19219         command line args from sudoers file are now in an array like ones
19220         passed in from the command line
19221         [1d9e37e84519]
19222
19223 1996-02-01  Todd C. Miller  <Todd.Miller@courtesan.com>
19224
19225         * parse.c:
19226         wildwat stuff now works
19227         [49d16488531f]
19228
19229 1996-01-29  Todd C. Miller  <Todd.Miller@courtesan.com>
19230
19231         * version.h:
19232         ++version
19233         [53e55463ef89]
19234
19235         * Makefile.in:
19236         ++version added wildmat.*
19237         [0508297a4711]
19238
19239 1996-01-28  Todd C. Miller  <Todd.Miller@courtesan.com>
19240
19241         * parse.lex:
19242         added support for quoted commands (w/ or w/o args)
19243         [b9a637155673]
19244
19245 1996-01-22  Todd C. Miller  <Todd.Miller@courtesan.com>
19246
19247         * sudo.pod, visudo.pod:
19248         cleaned up formatting
19249         [4591d4195437]
19250
19251         * sudo.pod, visudo.pod:
19252         Initial revision
19253         [7564a8242750]
19254
19255 1996-01-21  Todd C. Miller  <Todd.Miller@courtesan.com>
19256
19257         * sudoers.pod:
19258         looks reasonable, could be mroe readable
19259         [a5be2d19d9e0]
19260
19261         * sudoers.pod:
19262         Initial revision
19263         [957888be31a6]
19264
19265 1996-01-16  Todd C. Miller  <Todd.Miller@courtesan.com>
19266
19267         * RUNSON:
19268         updated
19269         [633743aa924b]
19270
19271         * OPTIONS:
19272         updated NO_ROOT_SUDO entry
19273         [f1c15b1dec9e]
19274
19275 1996-01-15  Todd C. Miller  <Todd.Miller@courtesan.com>
19276
19277         * RUNSON:
19278         *** empty log message ***
19279         [5b63de579ff7] [SUDO_1_4_0]
19280
19281         * sudo.c:
19282         fixed SECURE_PATH
19283         [6002889f606d]
19284
19285         * RUNSON:
19286         udpa`ted for 1.4
19287         [6014a8592815]
19288
19289         * configure.in:
19290         AIX aixcrypt.exp now uses $(srcdir)
19291         [b0d57674fef4]
19292
19293         * TROUBLESHOOTING:
19294         added entry for anal ansi compilers
19295         [4193cec1c6b1]
19296
19297 1996-01-14  Todd C. Miller  <Todd.Miller@courtesan.com>
19298
19299         * INSTALL:
19300         added info on libcrypt_i for SCO
19301         [575497d56698]
19302
19303         * TODO:
19304         *** empty log message ***
19305         [d0aaf67b9913]
19306
19307         * sample.sudoers:
19308         added comments
19309         [a7773f7eda8d]
19310
19311         * TODO:
19312         1.4 release
19313         [1dade29e9fd9]
19314
19315         * CHANGES:
19316         ++version
19317         [67241be40780]
19318
19319         * INSTALL, OPTIONS, README, config.h.in, configure.in:
19320         ++version
19321         [2e0a37897f68]
19322
19323         * BUGS:
19324         ++version and fixed ISC
19325         [78963f01a0e3]
19326
19327         * check.c, compat.h, dce_pwent.c, find_path.c, getspwuid.c, getwd.c,
19328         goodpath.c, ins_2001.h, ins_classic.h, ins_csops.h, ins_goons.h,
19329         insults.h, logging.c, options.h, pathnames.h.in, putenv.c, strdup.c,
19330         sudo.c, sudo.h, sudo_setenv.c, testsudoers.c, tgetpass.c, utime.c,
19331         visudo.c:
19332         ++version
19333         [b6227f29b3d9]
19334
19335         * interfaces.c:
19336         added STUB_LOAD_INTERFACES ++version
19337         [d8150a3fd577]
19338
19339         * Makefile.in, emul/utime.h, parse.c, parse.lex, parse.yacc,
19340         version.h:
19341         ++version
19342         [da9e90e69bdc]
19343
19344         * PORTING:
19345         added info about fd_set in tgetpass added info on interfaces.c
19346         [a39902febd17]
19347
19348 1996-01-11  Todd C. Miller  <Todd.Miller@courtesan.com>
19349
19350         * dce_pwent.c:
19351         added sudo header
19352         [fc0f2c48682e]
19353
19354         * tgetpass.c:
19355         fixed a typo
19356         [43d40b72ee8f]
19357
19358         * Makefile.in:
19359         tgetpass.o is now only linked in with sudo (not visudo)
19360         [7407c5ff11f8]
19361
19362 1996-01-09  Todd C. Miller  <Todd.Miller@courtesan.com>
19363
19364         * BUGS, INSTALL, Makefile.in, OPTIONS, README, config.h.in,
19365         configure.in:
19366         ++version
19367         [9b82ad805d6b]
19368
19369         * emul/utime.h:
19370         added copyright notice
19371         [4380f16cd075]
19372
19373         * check.c, compat.h, find_path.c, getspwuid.c, getwd.c, goodpath.c,
19374         ins_2001.h, ins_classic.h, ins_csops.h, ins_goons.h, insults.h,
19375         interfaces.c, logging.c, options.h, parse.c, parse.lex, parse.yacc,
19376         pathnames.h.in, putenv.c, strdup.c, sudo.c, sudo.h, sudo_setenv.c,
19377         testsudoers.c, tgetpass.c, utime.c, version.h, visudo.c:
19378         ++version
19379         [32717fdb5d05]
19380
19381         * tgetpass.c:
19382         minor cleanup and now includes sys/bsdtypes for svr4'ish boxen
19383         [326864428da2]
19384
19385         * configure.in:
19386         ISC now gets -lcrypt now check for sys/bsdtypes.h
19387         [e064799c054b]
19388
19389         * config.h.in:
19390         added check for sys/bsdtypes.h
19391         [9adb9533c363]
19392
19393 1996-01-07  Todd C. Miller  <Todd.Miller@courtesan.com>
19394
19395         * parse.yacc:
19396         removed debugging stuff (setting freed ptr to NULL)
19397         [02fe8eec63a0]
19398
19399         * TROUBLESHOOTING:
19400         added 2 entries
19401         [02884e2733e2]
19402
19403         * Makefile.in:
19404         added FAQ
19405         [074d8dfcf28d]
19406
19407         * TROUBLESHOOTING:
19408         added section on syslog
19409         [e6bc02a22b86]
19410
19411         * configure.in:
19412         added AC_ISC_POSIX for better ISC support
19413         [8436b3e12af2]
19414
19415         * config.h.in:
19416         fixed typo
19417         [f1b3922babf4]
19418
19419         * config.h.in:
19420         added define for _POSIX_SOURCE
19421         [ded6d92b34f9]
19422
19423 1996-01-04  Todd C. Miller  <Todd.Miller@courtesan.com>
19424
19425         * configure.in:
19426         fixed check for lsearch()
19427         [75baa5bc28a3]
19428
19429 1995-12-22  Todd C. Miller  <Todd.Miller@courtesan.com>
19430
19431         * interfaces.c:
19432         fixed for AIX now deal if num_interfaces == 0 (should not happen)
19433         [ae450e859227]
19434
19435 1995-12-20  Todd C. Miller  <Todd.Miller@courtesan.com>
19436
19437         * configure.in:
19438         now only define HAVE_LSEARCH if there is a corresponding search.h
19439         [8ce645c5d17f]
19440
19441         * interfaces.c:
19442         works on ISC again
19443         [ccac920d424c]
19444
19445 1995-12-18  Todd C. Miller  <Todd.Miller@courtesan.com>
19446
19447         * configure.in:
19448         now define HAVE_LSEARCH if we find lsearch() in libcompat
19449         [7343e4313a87]
19450
19451         * lsearch.c:
19452         char * -> const char *
19453         [1c0b11c2300a]
19454
19455         * configure.in:
19456         now looks in -lcompat for lsearch()
19457         [a1cc1d6fcd09]
19458
19459         * Makefile.in:
19460         remove sudo.core visudo.core for clan target
19461         [b523456a85df]
19462
19463         * aclocal.m4:
19464         added UID_MAX support in check for MAX_UID_T_LEN
19465         [7ab262b1173f]
19466
19467         * Makefile.in:
19468         fixed another occurence of sudo_getpwuid.*
19469         [fb5809c07da2]
19470
19471         * Makefile.in, getspwuid.c:
19472         sudo_getpwuid.c -> getspwuid.c
19473         [875f2ef808b4]
19474
19475         * configure.in:
19476         moved the "echo"
19477         [ad7b8f966076]
19478
19479         * BUGS, CHANGES, INSTALL, Makefile.in, OPTIONS, README, check.c,
19480         compat.h, config.h.in, configure.in, find_path.c, getspwuid.c,
19481         getwd.c, goodpath.c, ins_2001.h, ins_classic.h, ins_csops.h,
19482         ins_goons.h, insults.h, interfaces.c, logging.c, options.h, parse.c,
19483         parse.lex, parse.yacc, pathnames.h.in, putenv.c, strdup.c, sudo.c,
19484         sudo.h, sudo_setenv.c, testsudoers.c, tgetpass.c, utime.c,
19485         version.h, visudo.c:
19486         ++version
19487         [ee57c6410ffa]
19488
19489         * testsudoers.c:
19490         added group support
19491         [54d8097df8bd]
19492
19493         * sample.sudoers:
19494         added group entry
19495         [50994d31fd49]
19496
19497         * sudoers.man:
19498         documented group support
19499         [0a16707f8fed]
19500
19501         * parse.c, parse.lex, parse.yacc, visudo.c:
19502         added group support
19503         [427218c879c8]
19504
19505 1995-12-15  Todd C. Miller  <Todd.Miller@courtesan.com>
19506
19507         * check.c:
19508         tkfile was too short and overflowed the kerberos realm
19509         [53823a1ff5af]
19510
19511 1995-12-11  Todd C. Miller  <Todd.Miller@courtesan.com>
19512
19513         * sudo.c:
19514         now copy command args directly from Argv
19515         [77408278b6fd]
19516
19517         * sudo.c:
19518         replaced code to copy cmnd_args so that is does not use realloc
19519         since most realloc()'s really stink
19520         [b29a0ff73fb6]
19521
19522 1995-12-08  Todd C. Miller  <Todd.Miller@courtesan.com>
19523
19524         * configure.in:
19525         syslog() fixed in hpux 10.01
19526         [2648e6f0cdb0]
19527
19528 1995-12-06  Todd C. Miller  <Todd.Miller@courtesan.com>
19529
19530         * configure.in:
19531         AC_CHECK_LIB() now sets SUDO_LIBS (and VISUDO_LIBS if appropriate)
19532         [8f108b8d8711]
19533
19534         * configure.in:
19535         better error if cannot find skey incs or libs
19536         [5887662ee9d3]
19537
19538         * aclocal.m4:
19539         now use a temp file for determining max len of uid_t in string form.
19540         the old hacky way broke on netbsd
19541         [b68f470fa9f8]
19542
19543         * sudo.c:
19544         added set of parens and a space
19545         [8a3d4826d022]
19546
19547 1995-12-05  Todd C. Miller  <Todd.Miller@courtesan.com>
19548
19549         * dce_pwent.c:
19550         fixes from Jeff Earickson <jaearick@colby.edu> ,
19551         [bde0f0b756ec]
19552
19553         * check.c:
19554         modified a comment
19555         [e2a97f1afbbe]
19556
19557         * Makefile.in:
19558         fixed up testsudoers target
19559         [d39c4e7bb609]
19560
19561         * configure.in:
19562         DCE changes from Jeff Earickson <jaearick@colby.edu> LIBS ->
19563         SUDO_LIBS and VISUDO_LIBS LDFLAGS -> SUDO_FDFLAGS and VISUDO_LDFLAGS
19564         [da7a1c433828]
19565
19566         * Makefile.in:
19567         LIBS -> SUDO_LIBS , VISUDO_LIBS LDFLAGS -> SUDO_LDFLAGS,
19568         VISUDO_LDFLAGS
19569         [4b69503e8487]
19570
19571 1995-11-28  Todd C. Miller  <Todd.Miller@courtesan.com>
19572
19573         * configure.in:
19574         fix for C2 on hpux 10 now uses -linet if it exists
19575         [8d300112263d]
19576
19577         * check.c:
19578         LONG_SKEY_PROMPT is less of a klusge /
19579         [dcc144abaac3]
19580
19581         * configure.in:
19582         fixed typos w/ dce stuff
19583         [f7dfd6d4e149]
19584
19585         * Makefile.in:
19586         added dce_pwent.c
19587         [79047acdc516]
19588
19589 1995-11-26  Todd C. Miller  <Todd.Miller@courtesan.com>
19590
19591         * INSTALL:
19592         amended section on combining authentication mechanisms
19593         [dc5138c7c716]
19594
19595         * PORTING:
19596         minor updates for 1.3.6
19597         [fe80c13bd994]
19598
19599         * TROUBLESHOOTING:
19600         added 2 more entries
19601         [c7201439a0f5]
19602
19603         * BUGS:
19604         updated for 1.3.6
19605         [979b414d2a2d]
19606
19607         * README:
19608         overhauled
19609         [3af8b60eb594]
19610
19611         * INSTALL:
19612         rewrote for sudo 1.3.6
19613         [b16027b9c726]
19614
19615         * TROUBLESHOOTING:
19616         added 3 entries
19617         [934c9ee3f153]
19618
19619 1995-11-25  Todd C. Miller  <Todd.Miller@courtesan.com>
19620
19621         * find_path.c, getspwuid.c, sudo.c:
19622         added explict casts for strdup since many includes don't prototype
19623         it. gag me.
19624         [3e19a11f2fcc]
19625
19626         * sudo.h:
19627         removed prototype for sudo_getpwuid() since convex C compiler choked
19628         on it.
19629         [c3ea74ca67b0]
19630
19631         * sudo.c:
19632         added prototype for sudo_getpwuid()
19633         [4a8e3cdc2b98]
19634
19635         * lsearch.c:
19636         now compiles on strict ANSI compilers
19637         [3ce5d72d0b08]
19638
19639         * check.c:
19640         added LONG_SKEY_PROMPT support
19641         [48a18b8a2332]
19642
19643         * Makefile.in:
19644         added extra $'s for make to eat up, yum.
19645         [2995b214e12b]
19646
19647         * OPTIONS, options.h:
19648         added LONG_SKEY_PROMPT
19649         [f23ae799b5a4]
19650
19651 1995-11-24  Todd C. Miller  <Todd.Miller@courtesan.com>
19652
19653         * check.c:
19654         s/key support now works with normal s/key as well as logdaemon
19655         [d67573f523bf]
19656
19657         * OPTIONS, options.h:
19658         added SKEY_ONLY
19659         [bbf07654e0de]
19660
19661         * compat.h:
19662         set _PASSWD_LEN to 256 for any of KERB4, DCE, SKEY
19663         [205895b96a36]
19664
19665         * INSTALL:
19666         added DCE note added more AIX notes
19667         [6345403b3522]
19668
19669         * sudo.c:
19670         now include pthread.h for DCE support
19671         [6fe02865f679]
19672
19673         * check.c:
19674         dce_pwent() is ok after all .,
19675         [d26a8746a55d]
19676
19677         * logging.c:
19678         now uses SYSLOG() macro that equates to either syslog() or
19679         syslog_wrapper
19680         [42ac4cff8045]
19681
19682         * dce_pwent.c:
19683         minor formatting changes. renamed check() to somthing less generic
19684         [71859f217be1]
19685
19686         * check.c, logging.c, parse.yacc, sudo.c, sudo.h, testsudoers.c,
19687         visudo.c:
19688         now uses user_pw_ent and simple macros to get at the contents
19689         [f4cbf3e7145a]
19690
19691 1995-11-23  Todd C. Miller  <Todd.Miller@courtesan.com>
19692
19693         * check.c:
19694         simpler dec unix C2 support
19695         [86bc8f75250e]
19696
19697         * getspwuid.c:
19698         now sets crypt_type for DEC unix C2
19699         [99aeadd18266]
19700
19701 1995-11-21  Todd C. Miller  <Todd.Miller@courtesan.com>
19702
19703         * configure.in:
19704         added csops paths for skey
19705         [b8ca672e2117]
19706
19707         * getspwuid.c:
19708         now includes string.h for strdup() prototype
19709         [3605259c3620]
19710
19711         * getspwuid.c:
19712         fixed a few typos
19713         [46c97e4ea417]
19714
19715         * check.c:
19716         now includes skey.h
19717         [11e611ce1b61]
19718
19719         * getspwuid.c:
19720         fixed up comments
19721         [223dac56f0c8]
19722
19723         * check.c:
19724         moved a lot of the shadow passwd crap to sudo_getpwuid()
19725         [97d8887fb7d3]
19726
19727         * sudo.c:
19728         now uses sudo_pw_ent
19729         [d014dadbef48]
19730
19731         * testsudoers.c:
19732         now uses sudo_pw_ent
19733         [d92936ed7e34]
19734
19735         * visudo.c:
19736         now sets sudo_pw_ent
19737         [ff75cdfcf8b3]
19738
19739         * getspwuid.c:
19740         Initial revision
19741         [6deb6df9d7bc]
19742
19743         * tgetpass.c:
19744         moved dce stuff into compat.h
19745         [1124284396e7]
19746
19747         * logging.c, sudo.h:
19748         now uses sudo_pw_ent
19749         [404ff20a5067]
19750
19751         * Makefile.in:
19752         added sudo_getpwuid.c
19753         [6666d0644512]
19754
19755         * compat.h:
19756         added dce support
19757         [3c3b36a7ce0e]
19758
19759         * parse.yacc:
19760         now uses sudo_pw_ent
19761         [9f5e8d11bd68]
19762
19763 1995-11-20  Todd C. Miller  <Todd.Miller@courtesan.com>
19764
19765         * check.c:
19766         fixed exempt_group stuff for OS's that don't put base gid in group
19767         vector
19768         [003f153bd396]
19769
19770         * check.c:
19771         S/Key support now works with sunos4 shadow passwords
19772         [1eb64a5efff1]
19773
19774         * Makefile.in:
19775         fixed clean rule
19776         [5695a2c62816]
19777
19778         * config.h.in, configure.in:
19779         added DCE support
19780         [f53c766c1947]
19781
19782         * tgetpass.c:
19783         DCE & KERB support
19784         [904cf436506a]
19785
19786         * check.c:
19787         first stab at dce support
19788         [aea5ca07b1e3]
19789
19790         * dce_pwent.c:
19791         now smells like sudo
19792         [8b3d609b49cd]
19793
19794         * dce_pwent.c:
19795         Initial revision
19796         [b573555f2399]
19797
19798         * check.c:
19799         skey'd sudo now works w/ normal password as well
19800         [8d038f9f6e94]
19801
19802 1995-11-19  Todd C. Miller  <Todd.Miller@courtesan.com>
19803
19804         * Makefile.in, OPTIONS, check.c, compat.h, config.h.in, find_path.c,
19805         getwd.c, goodpath.c, ins_2001.h, ins_classic.h, ins_csops.h,
19806         ins_goons.h, insults.h, interfaces.c, logging.c, options.h, parse.c,
19807         parse.lex, parse.yacc, pathnames.h.in, putenv.c, strdup.c, sudo.c,
19808         sudo.h, sudo_setenv.c, testsudoers.c, tgetpass.c, utime.c,
19809         version.h, visudo.c:
19810         updated version number
19811         [ba7e346d7904]
19812
19813         * README:
19814         updated to reflect version change
19815         [1d15cf1d8cc8]
19816
19817         * configure.in:
19818         --with options now line up ++version
19819         [08ebf625fbca]
19820
19821         * sudo.h:
19822         removed unecesary S/Key stuff
19823         [68188cba90af]
19824
19825         * configure.in:
19826         fixed S/Key support
19827         [f6d9cbc36618]
19828
19829         * Makefile.in:
19830         -I stuff now goes in CPPFLAGS
19831         [7b8e53c5b046]
19832
19833         * check.c:
19834         fixed SKey support
19835         [52c1a5cf4435]
19836
19837         * README:
19838         updated version
19839         [bed6498a10bb]
19840
19841         * OPTIONS:
19842         fixed description of EXEMPTGROUP
19843         [cfeead55edc2]
19844
19845         * sudo.c:
19846         more people use _RLD_ than just alphas...
19847         [6a3c7090a6f6]
19848
19849         * Makefile.in:
19850         replaced $man_prefix with $mandir
19851         [dc4b36a550e2]
19852
19853         * configure.in:
19854         fixed a typo
19855         [a38a4acddcaf]
19856
19857         * Makefile.in:
19858         now use more GNU'ish dir names
19859         [c5498391a520]
19860
19861         * configure.in:
19862         now set *dir correctly (can override from command line)
19863         [523ff98fd438]
19864
19865         * sudo.c:
19866         now deal with situations where we getwd() fails
19867         [88a9e61dccbb]
19868
19869 1995-11-17  Todd C. Miller  <Todd.Miller@courtesan.com>
19870
19871         * Makefile.in:
19872         added etc_dir, bin_dir, sbin_dir
19873         [75fd08d92842]
19874
19875         * configure.in:
19876         added sbin_dir
19877         [3cb318c0d8d1]
19878
19879         * Makefile.in:
19880         now ship a flex-generated lex.yy.c
19881         [4d083ed70dce]
19882
19883         * Makefile.in:
19884         now sets _PATH_SUDO_SUDOERS, _PATH_SUDO_STMP, SUDOERS_OWNER
19885         [4d51dc9c3780]
19886
19887         * pathnames.h.in:
19888         _PATH_SUDO_SUDOERS & _PATH_SUDO_STMP are now overridden via Makefile
19889         [773fd163d52f]
19890
19891         * options.h:
19892         no more error for redefining SUDOERS_OWNER
19893         [4ba336644c6a]
19894
19895         * OPTIONS:
19896         expanded SUDOERS_OWNER section
19897         [12fae405759e]
19898
19899 1995-11-16  Todd C. Miller  <Todd.Miller@courtesan.com>
19900
19901         * visudo.c:
19902         now warn if chown(2) failed
19903         [d0d1db6e3a1f]
19904
19905         * logging.c:
19906         better default warning for NO_SUDOERS_FILE
19907         [5260b458ac64]
19908
19909         * sudo.c:
19910         added missing set_perms() no more cryptic message if the sudoers
19911         file is zero length, now just give a parse error
19912         [b81ea724838a]
19913
19914         * logging.c:
19915         better diagnostics if NO_SUDOERS_FILE
19916         [877e878663c5]
19917
19918         * sudo.c:
19919         check_sudoers() now catches sudoers files that are not readable (but
19920         are stat'able).
19921         [fea05663b3de]
19922
19923 1995-11-13  Todd C. Miller  <Todd.Miller@courtesan.com>
19924
19925         * configure.in:
19926         now add -D__STDC__ for convex cc (not gcc)
19927         [c80fc53ff51b]
19928
19929         * configure.in:
19930         MAN_PREFIX -> man_prefix now sets prefix and exec_prefix
19931         [fe238226a057]
19932
19933         * Makefile.in:
19934         now uses exec_prefix & prefix from configure
19935         [f62fca5f56bd]
19936
19937         * find_path.c, getwd.c, goodpath.c, interfaces.c, logging.c, parse.c,
19938         parse.lex, parse.yacc, sudo.c, sudo.h, sudo_setenv.c, tgetpass.c,
19939         utime.c, visudo.c:
19940         options.h is now <> instead of "" so shadow build trees can have a
19941         custom copy of options.h
19942         [e6782676099c]
19943
19944         * check.c:
19945         user_is_exempt() is no longer a hack, it now uses getgrnam()
19946         [287f8d5356f7]
19947
19948         * options.h:
19949         EXEMPTGROUP is now "sudo"
19950         [61487304dbe1]
19951
19952         * configure.in:
19953         MAN_POSTINSTALL now contains a leading space
19954         [eaad4ac34012]
19955
19956         * Makefile.in:
19957         removed leading tab if @MAN_POSTINSTALL@ not defined now removes
19958         testsudoers in clean:
19959         [e01711baceb8]
19960
19961         * tgetpass.c:
19962         includes pwd.h to get _PASSWD_LEN definition
19963         [8ec174f263f1]
19964
19965 1995-10-30  Todd C. Miller  <Todd.Miller@courtesan.com>
19966
19967         * sudo.c:
19968         unset the KRB_CONF envariable if using kerberos so we don't get
19969         spoofed into using a bogus server
19970         [2561a0274fca]
19971
19972 1995-09-29  Todd C. Miller  <Todd.Miller@courtesan.com>
19973
19974         * parse.yacc:
19975         now explicately initialize match[] tp be FALSE
19976         [0e45e5c47766]
19977
19978 1995-09-23  Todd C. Miller  <Todd.Miller@courtesan.com>
19979
19980         * sudo.c:
19981         removed unused variable now passes -Wall
19982         [3452508bc16d]
19983
19984         * parse.yacc:
19985         yyerror and dumpaliases are now void's now passes -Wall
19986         [2769dfb51993]
19987
19988         * parse.lex:
19989         added prototype for yyerror
19990         [1f3f0c1b4ab4]
19991
19992         * check.c, logging.c, parse.c:
19993         now passes -Wall
19994         [eab57e5e81d2]
19995
19996         * interfaces.c:
19997         rmeoved unused cruft now passes -Wall
19998         [7a47e1866f4b]
19999
20000         * Makefile.in:
20001         fixed headers that moved to emul dir
20002         [e680c1e5049b]
20003
20004         * logging.c:
20005         fixed deref of nil pointer if no args
20006         [973b9bea432f]
20007
20008 1995-09-15  Todd C. Miller  <Todd.Miller@courtesan.com>
20009
20010         * OPTIONS:
20011         added a caveat to FQDN section
20012         [dcf6e2a5fff4]
20013
20014 1995-09-13  Todd C. Miller  <Todd.Miller@courtesan.com>
20015
20016         * Makefile.in:
20017         more $srcdir support for install targets
20018         [f6eac78436dd]
20019
20020         * find_path.c, interfaces.c, parse.c, parse.lex, parse.yacc, putenv.c,
20021         strdup.c, sudo.c, sudo_setenv.c, testsudoers.c, visudo.c:
20022         don't include malloc.h if we include stdlib.h
20023         [fca2ff307cd8]
20024
20025         * parse.yacc:
20026         local search.h now lives in emul
20027         [51c458904424]
20028
20029         * check.c, utime.c:
20030         local utime.h now lives in emul dir
20031         [f92fc9e8c8de]
20032
20033         * lsearch.c:
20034         local search.h now lives in emul
20035         [579efc407439]
20036
20037         * Makefile.in:
20038         added support for building in other than the sourcedir
20039         [2ab53a43f7d4]
20040
20041 1995-09-10  Todd C. Miller  <Todd.Miller@courtesan.com>
20042
20043         * OPTIONS:
20044         annotated CSOPS_INSULTS option
20045         [9e57d45a0afa]
20046
20047         * TROUBLESHOOTING:
20048         updated shadow passwords blurb
20049         [39b785bc7253]
20050
20051         * sudo.c:
20052         if SHELL_IF_NO_ARGS is set, "sudo -- foo" now runs a shell and
20053         passes along foo as the arguments
20054         [a91077aa8fc5]
20055
20056 1995-09-09  Todd C. Miller  <Todd.Miller@courtesan.com>
20057
20058         * parse.lex:
20059         collapsed pathname and dir sections into one -- its now less
20060         expensive
20061         [89caa03bec25]
20062
20063         * parse.lex:
20064         fixed spacing quoting [,:\\=] now works correctly append() and
20065         fill() now take args to make the above work
20066         [09d023d9ef3a]
20067
20068         * sudo.c:
20069         fixed a typo that caused commands with no tty on fd 0 but a tty on
20070         fd 1 to erroneously have "none" as their tty
20071         [07d2c0e7977c]
20072
20073 1995-09-04  Todd C. Miller  <Todd.Miller@courtesan.com>
20074
20075         * check.c:
20076         timestampfile is now a global static removed decl of timestampfile
20077         in remove_timestamp since we can just use the global one
20078         [f0cbdc6aab1c]
20079
20080         * check.c:
20081         created touch() to update timestamps added USE_TTY_TICKETS support
20082         (bit of a kludge)
20083         [cee1dd0318f8]
20084
20085         * compat.h:
20086         added _S_IFDIR and S_ISDIR
20087         [b4a51cc9628e]
20088
20089         * OPTIONS, options.h:
20090         added USE_TTY_TICKETS
20091         [b4e22f81f25e]
20092
20093         * parse.yacc:
20094         removed const from casts for lsearch() & lfind() to placate irix 4.x
20095         C compiler
20096         [5003081f76ea]
20097
20098 1995-09-03  Todd C. Miller  <Todd.Miller@courtesan.com>
20099
20100         * sudo.c:
20101         now only strip '/dev/' off of a tty if it starts with '/dev/'
20102         [7f62bcd24039]
20103
20104         * pathnames.h.in:
20105         added _PATH_DEV
20106         [6375f44d1910]
20107
20108         * configure.in:
20109         AC_HAVE_HEADERS -> AC_CHECK_HEADERS now check for tcgetattr only if
20110         have termios.h
20111         [9c60391235fd]
20112
20113         * tgetpass.c:
20114         fixed incorrect #ifdef termio uses "unsigned short" not int for
20115         c_?flag
20116         [d032e6a29845]
20117
20118         * parse.lex, parse.yacc:
20119         fixed a spelling error
20120         [cad6a944c7b1]
20121
20122         * Makefile.in:
20123         fixed typo
20124         [204a65403e7c]
20125
20126 1995-09-02  Todd C. Miller  <Todd.Miller@courtesan.com>
20127
20128         * Makefile.in:
20129         fixed a comment
20130         [268f760e57ad]
20131
20132         * parse.yacc:
20133         added dotcat() to cat 2 strings w/ a dot effeciently now that we
20134         dynamically allocate strings they need to be free()'d
20135         [ec2e2152f415]
20136
20137         * parse.lex:
20138         dynamically allocates space for strings
20139         [d10ac3533d66]
20140
20141         * sudo.h:
20142         no more MAXCOMMANDLENGTH
20143         [e2e1219bff8a]
20144
20145         * sudo.h:
20146         added decl of tty
20147         [c8ae81303ee5]
20148
20149         * logging.c, sudo.c:
20150         moved tty stuff into sudo.c
20151         [e028abefeb07]
20152
20153 1995-09-01  Todd C. Miller  <Todd.Miller@courtesan.com>
20154
20155         * parse.c:
20156         fixed a logic bug. Was denying a command if user gave command line
20157         args but there were none in the sudoers file which is wrong.
20158         [7489a99b8e8a]
20159
20160         * sudo.h:
20161         MAXCOMMMANDLEN dropped down to 1K
20162         [38ef54ba290b]
20163
20164         * parse.lex:
20165         return foo; -> return(foo);
20166         [0e8be1b57001]
20167
20168         * parse.yacc:
20169         fixed netgr_matches() prototype
20170         [e69f15910464]
20171
20172         * parse.lex:
20173         added support for escaping "termination" characters
20174         [8bd4ef50f35c]
20175
20176         * parse.c:
20177         buf is now of size MAXPATHLEN+1 since it never holds command args
20178         [2ce4b763058c]
20179
20180         * sudo.c:
20181         fixed comments
20182         [0c74a3d2ebb0]
20183
20184         * goodpath.c:
20185         fixed negation problem (doh!)
20186         [782814e3a2d1]
20187
20188         * parse.yacc:
20189         fixed 2nd parameter to lfind()
20190         [63d7b1623c08]
20191
20192         * parse.lex:
20193         now do bounds checking in fill() and append()
20194         [54381b563251]
20195
20196         * sudo.c:
20197         include netdb.h as we should added a missing void cast added
20198         SHELL_IF_NO_ARGS support now use realloc() properly. would fail if
20199         realloc actually moved the string instead of shrinking it
20200         [897ccdec9c06]
20201
20202         * sample.sudoers:
20203         updated with examples of new features
20204         [9b3ed00e8aa6]
20205
20206         * goodpath.c:
20207         now set errno to EACCES if not a regular file or not executable
20208         [2d069548a5ea]
20209
20210         * find_path.c:
20211         if given a fully-qualified or relative path we now check it with
20212         sudo_goodpath() and error out with the appropriate error message if
20213         the file does not exist or is not executable
20214         [590f89dd8dec]
20215
20216         * emul/search.h, lsearch.c:
20217         now use correct args for lfind
20218         [fccdcdbf020e]
20219
20220         * logging.c:
20221         added a comment
20222         [fab9f49708ea]
20223
20224         * insults.h:
20225         added in CSOps insults
20226         [ad8eb1862adc]
20227
20228         * ins_csops.h:
20229         Initial revision
20230         [de5a475ec018]
20231
20232         * tgetpass.c:
20233         added RCS id
20234         [c3ffd550a482]
20235
20236         * sudo.h:
20237         increased MAXCOMMANDLENGTH to 8k HAVE_GETCWD -> HAVE_GETWD
20238         [aba25c90d08a]
20239
20240         * OPTIONS:
20241         added CLASSIC_INSULTS, CSOPS_INSULTS, SHELL_IF_NO_ARGS
20242         [e27bd62e9ccf]
20243
20244         * sudo.c:
20245         fixed -k load_interfaces() now gets called if FQDN is set
20246         -p now works with -s
20247         [07ca2a34bae8]
20248
20249         * parse.c:
20250         don't try to stat() "pseudo commands" like "validate"
20251         [75527045984b]
20252
20253         * options.h:
20254         added CLASSIC_INSULTS added CSOPS_INSULTS added SHELL_IF_NO_ARGS
20255         [07b157a0eafd]
20256
20257         * configure.in:
20258         added SecurID support added other insults to --with-csops
20259         [6c992ceb244c]
20260
20261         * config.h.in:
20262         added HAVE_SECURID
20263         [e734ff617fe8]
20264
20265         * Makefile.in:
20266         added clobber target added ins_csops.h now gets CFLAGS from
20267         configure
20268         [d1e29c7cec25]
20269
20270         * aclocal.m4:
20271         relaxed SUDO_FULL_VOID
20272         [fb4084f27406]
20273
20274         * visudo.c:
20275         function comment blocks are now in same style as rest of code
20276         [04a2931354c5]
20277
20278         * testsudoers.c:
20279         added support for command line args in /etc/sudoers
20280         [bfe4e1bcc655]
20281
20282         * sudoers.man:
20283         updated to have command args in the sudoers file
20284         [1cd34355e9ea]
20285
20286         * sudo.man:
20287         added -s and -- flags added SHELL to ENVIRONMENT VARIABLES section
20288         [930b48023b68]
20289
20290 1995-08-19  Todd C. Miller  <Todd.Miller@courtesan.com>
20291
20292         * parse.yacc:
20293         PATH renamed to COMMAND
20294         [4e109a6de3cd]
20295
20296         * parse.lex:
20297         it is now a parse error for directories to have args attached to
20298         them
20299         [2ab10a146b54]
20300
20301         * logging.c:
20302         now say command args if telling user to buzz off
20303         [933de26ded8b]
20304
20305         * sudo.c:
20306         -s no longer indicates end of args sped up loading on cmnd_args in
20307         load_cmnd()
20308         [eac99a4da862]
20309
20310         * parse.c:
20311         removed an unreachable statement
20312         [634302623c49]
20313
20314         * parse.lex:
20315         made more efficient by pulling out the terminators when in GOTCMND
20316         state and making them their own rule
20317         [80798f1e1166]
20318
20319 1995-08-14  Todd C. Miller  <Todd.Miller@courtesan.com>
20320
20321         * sudo.h:
20322         removed MAXLOGLEN since it is no longer used
20323         [102824196b71]
20324
20325         * parse.lex:
20326         now allows command args
20327         [d29dfa1e5254]
20328
20329         * parse.c:
20330         now groks command arguments
20331         [6c414cb7f105]
20332
20333         * logging.c:
20334         now sets tty correctly when piped input
20335         [de46a30c0406]
20336
20337         * sudo.c:
20338         fixed loading of cmnd_args (was including command name too)
20339         [15319a425ea6]
20340
20341         * logging.c:
20342         fixed a core dump due to incorrect if construct
20343         [582363c7d7fa]
20344
20345 1995-08-13  Todd C. Miller  <Todd.Miller@courtesan.com>
20346
20347         * configure.in:
20348         only add -lsun is irix < 5 don't look for -lnsl or -lsocket if irix
20349         [da591fe9b931]
20350
20351         * aclocal.m4:
20352         fixed check for ISC
20353         [52e59f2082a7]
20354
20355         * sudo.c:
20356         now sets cmnd_args used by log_error() and that will be used by the
20357         parse to check against command args
20358         [c6804389723b]
20359
20360         * sudo.h:
20361         added cmnd_args
20362         [4d00446b4a8d]
20363
20364         * logging.c:
20365         now dynamically allocate logline since we can guess at its size
20366         [4bed8c8446aa]
20367
20368 1995-08-05  Todd C. Miller  <Todd.Miller@courtesan.com>
20369
20370         * logging.c:
20371         cleaned up a bunch of unnecesary #ifdef's eliminated a buffer remove
20372         "register" since the compiler knows more than I do now do a
20373         "basename" of the tty
20374         [3b1bbf0b3da1]
20375
20376 1995-07-31  Todd C. Miller  <Todd.Miller@courtesan.com>
20377
20378         * configure.in:
20379         ++version
20380         [5ce552f9a5f1]
20381
20382         * sudo.h:
20383         added shell extern changed MODE_* to be bit masks to allow for
20384         several options together
20385         [06f9dc4f400c]
20386
20387         * sudo.c:
20388         added -s (shell) option made MODE_* masks so we can do bitwise & and
20389         | to see if multiple flags are set.
20390         [01f8143010ad]
20391
20392         * check.c:
20393         added securid support
20394         [909e078005fe]
20395
20396 1995-07-30  Todd C. Miller  <Todd.Miller@courtesan.com>
20397
20398         * logging.c:
20399         removed a bunch of unnecesary strncpy()'s and replaced with strcat()
20400         [644506b57d61]
20401
20402 1995-07-29  Todd C. Miller  <Todd.Miller@courtesan.com>
20403
20404         * Makefile.in, version.h:
20405         ++version
20406         [3cd6f1fbc3d9]
20407
20408 1995-07-27  Todd C. Miller  <Todd.Miller@courtesan.com>
20409
20410         * parse.yacc:
20411         fixed free() of an uninitialized pointer (yuck)
20412         [8c404ee502ee]
20413
20414         * testsudoers.c:
20415         added netgr_matches
20416         [e7c9fa2f774c]
20417
20418         * parse.c:
20419         cleaned up netgr_matches
20420         [8108f00b810e]
20421
20422 1995-07-26  Todd C. Miller  <Todd.Miller@courtesan.com>
20423
20424         * RUNSON:
20425         updated for 1.3.4
20426         [4741704310a1]
20427
20428 1995-07-25  Todd C. Miller  <Todd.Miller@courtesan.com>
20429
20430         * Makefile.in:
20431         now installs sudoers.man -- really should clean this up though.
20432         [455631d45a1d]
20433
20434         * Makefile.in:
20435         added sudoers.cat and sudoers.man
20436         [0bdedd6c7363]
20437
20438         * sudo.man:
20439         pulled out stuff on the sudoers file format into a separate man page
20440         [de215d999cb9]
20441
20442         * sudoers.man:
20443         Initial revision
20444         [f25eafbb7095]
20445
20446         * HISTORY:
20447         fixed up my email address
20448         [254fbf80be74]
20449
20450         * configure.in:
20451         added checks for innetgr and getdomainname
20452         [24a99cb7e97e]
20453
20454         * visudo.c:
20455         added dummy netgr_matches function
20456         [1841ff2c01da]
20457
20458         * parse.c:
20459         added netgr_matches
20460         [ec90db6a97b8]
20461
20462         * parse.lex, parse.yacc:
20463         added NETGROUP support
20464         [c9dd93e3bc4b]
20465
20466         * config.h.in:
20467         added HAVE_INNETGR & HAVE_GETDOMAINNAME
20468         [14abd494d875]
20469
20470 1995-07-24  Todd C. Miller  <Todd.Miller@courtesan.com>
20471
20472         * sudo.c:
20473         rewrote clean_env() that has rm_env() builtin
20474         [55cb43818a95]
20475
20476 1995-07-23  Todd C. Miller  <Todd.Miller@courtesan.com>
20477
20478         * check.c:
20479         now cast uid to long in sprintf
20480         [b549eea40aeb]
20481
20482         * OPTIONS:
20483         added _INSULTS suffix to HAL & GOONS end
20484         [ed620d0aad30]
20485
20486         * options.h:
20487         added _INSULTS suffix to HAL & GOONS
20488         [9f72e9b83afd]
20489
20490         * ins_2001.h, ins_classic.h, ins_goons.h, insults.h:
20491         converted to new scheme of insult "unions" end
20492         [2f6d2b412132]
20493
20494         * sudo.c:
20495         now uses MAX_UID_T_LEN
20496         [c1df79e0f389]
20497
20498         * configure.in:
20499         added SUDO_UID_T_LEN !l
20500         [195f0b9f5f84]
20501
20502         * config.h.in:
20503         added MAX_UID_T_LEN
20504         [73f42ae4f14d]
20505
20506         * check.c:
20507         now use MAX_UID_T_LEN
20508         [df9c063234cb]
20509
20510         * aclocal.m4:
20511         added check for max len of uid_t fixed sco vs. isc check
20512         [d558f36d2223]
20513
20514 1995-07-19  Todd C. Miller  <Todd.Miller@courtesan.com>
20515
20516         * configure.in:
20517         corrected version
20518         [828dd1571e86]
20519
20520         * configure.in:
20521         added sco support
20522         [af1e2f616638]
20523
20524         * aclocal.m4:
20525         hack to check for sco
20526         [549ab99a9a43]
20527
20528         * interfaces.c:
20529         removed #include <net/route.h> since it was hosing some OS's
20530         [ac78a7c04005]
20531
20532 1995-07-18  Todd C. Miller  <Todd.Miller@courtesan.com>
20533
20534         * find_path.c:
20535         fixed prreadlink() prototype
20536         [b380fe1f2b11]
20537
20538         * check.c:
20539         added parens in #if's
20540         [e96ade691b82]
20541
20542         * configure.in:
20543         added SPW_ prefix
20544         [a302683a1483]
20545
20546         * sudo.h:
20547         moved SPW_* to config.h.in
20548         [6b3be70e34cf]
20549
20550         * sudo.c:
20551         added a set of parens
20552         [8188d735d695]
20553
20554         * config.h.in:
20555         added SPW_*
20556         [5ead6371cf60]
20557
20558         * sudo.h:
20559         added SPW_* reordered error codes
20560         [dead25b4ed0a]
20561
20562         * check.c:
20563         moved SPW_* to sudo.h
20564         [ca51fb04caf4]
20565
20566 1995-07-17  Todd C. Miller  <Todd.Miller@courtesan.com>
20567
20568         * sudo.c:
20569         SPW_AUTH -> SPW_SECUREWARE
20570         [6b512b2bc5dc]
20571
20572         * logging.c:
20573         GLOBAL_NO_AUTH_ENT -> GLOBAL_NO_SPW_ENT
20574         [defdd0944e2f]
20575
20576         * configure.in:
20577         AUTH -> SECUREWARE
20578         [d1f8a17001dd]
20579
20580         * check.c:
20581         SPW_AUTH -> SPW_SECUREWARE
20582         [af0e8d8b89b2]
20583
20584         * check.c:
20585         now uses SHADOW_TYPE to make shadow pw support more readable and
20586         modular. It's a start...
20587         [8c2a59667014]
20588
20589         * configure.in:
20590         added autodetection of shadow passwords
20591         [85f81fa54b1b]
20592
20593         * sudo.c:
20594         now uses SHADOW_TYPE define
20595         [355e5dc09b07]
20596
20597         * config.h.in:
20598         added SHADOW_TYPE which replaces SUNOS4 & __svr4__ defines
20599         [c0c06e83e483]
20600
20601         * aclocal.m4:
20602         added SUDO_CHECK_SHADOW
20603         [464301301639]
20604
20605 1995-07-12  Todd C. Miller  <Todd.Miller@courtesan.com>
20606
20607         * configure.in:
20608         define SVR4 for ISC define BROKEN_SYSLOG for hpux took out test for
20609         memmove() since we dno longer use it...
20610         [8aefa87d7d31]
20611
20612         * CHANGES:
20613         updated
20614         [ce97b3fd7182]
20615
20616         * logging.c:
20617         added BROKEN_SYSLOG support
20618         [a45c3bca36f6]
20619
20620         * config.h.in:
20621         added BROKEN_SYSLOG
20622         [6f6abf0a6268]
20623
20624         * check.c:
20625         now only bitch it timestamp > time_now + 2 * timeout to allow for a
20626         machine udpating its time from a server
20627         [546bc8d35325]
20628
20629         * sudo.man:
20630         added 2 security notes updated Nieusma's email addr
20631         [616756c56977]
20632
20633         * lsearch.c:
20634         changed a memmove() to memcpy() since we don't have to worry about
20635         overlapping segments.
20636         [30baa478526b]
20637
20638 1995-07-11  Todd C. Miller  <Todd.Miller@courtesan.com>
20639
20640         * interfaces.c:
20641         cleanup up the loop when interfaces are groped in so that it is
20642         readable
20643         [1fa39446bd69]
20644
20645         * Makefile.in, version.h:
20646         ++version
20647         [b46bd2b1770f]
20648
20649 1995-07-09  Todd C. Miller  <Todd.Miller@courtesan.com>
20650
20651         * CHANGES:
20652         annotated 124-126
20653         [b82a2b3ec7ce]
20654
20655 1995-07-07  Todd C. Miller  <Todd.Miller@courtesan.com>
20656
20657         * check.c:
20658         fixed permissions check on /tmp/.odus
20659         [cc2431a65468]
20660
20661 1995-07-06  Todd C. Miller  <Todd.Miller@courtesan.com>
20662
20663         * check.c:
20664         fixed some comments
20665         [8896d09b4fda]
20666
20667         * check.c:
20668         now checks owner & mode of timedir also checks for bogus dates on
20669         timestamp file
20670         [a0fad5df5b0a]
20671
20672         * OPTIONS:
20673         updated TIMEOUT info
20674         [033cc22d9e04]
20675
20676         * logging.c, sudo.h:
20677         added BAD_STAMPDIR and BAD_STAMPFILE
20678         [31d9ce691101]
20679
20680         * compat.h:
20681         added definition of S_IRWXU
20682         [ff2dab091a9b]
20683
20684         * CHANGES:
20685         updated
20686         [a40df90284f1]
20687
20688 1995-07-03  Todd C. Miller  <Todd.Miller@courtesan.com>
20689
20690         * interfaces.c:
20691         added #ifdef to make it compile on strange arches
20692         [4a127f12afce]
20693
20694 1995-07-02  Todd C. Miller  <Todd.Miller@courtesan.com>
20695
20696         * aclocal.m4:
20697         fixed check for fulkl void impl.
20698         [b6f2a4a361d8]
20699
20700         * check.c:
20701         added mssing "static"
20702         [520552f2772b]
20703
20704         * insults.h:
20705         replaced #elif with #else #if constructs for ancient C compilers
20706         [39ab2d365b57]
20707
20708         * INSTALL:
20709         updated irix c2 & kerb5 info
20710         [ae79b99b4905]
20711
20712         * configure.in:
20713         added shadow pw support for irix
20714         [632469d9c528]
20715
20716 1995-07-01  Todd C. Miller  <Todd.Miller@courtesan.com>
20717
20718         * BUGS, TODO:
20719         updated
20720         [2a96bb18ac30]
20721
20722         * CHANGES:
20723         last changes for sudo 1.3.3
20724         [c1c0cd1034b8]
20725
20726         * configure.in:
20727         now calls SUDO_SOCK_SA_LEN
20728         [14ea78159d45]
20729
20730         * config.h.in:
20731         added HAVE_SA_LEN
20732         [cc2a346aa905]
20733
20734         * aclocal.m4:
20735         added SUDO_SOCK_SA_LEN
20736         [456a2025644a]
20737
20738         * interfaces.c:
20739         now works with ip implementations that use sa_len in sockaddr
20740         [90be6e028077]
20741
20742         * INSTALL:
20743         added note about buggy AIX compiler
20744         [c0f6d427e4e4]
20745
20746         * interfaces.c:
20747         now include sys/time.h for AIX
20748         [2510858ab38b]
20749
20750 1995-06-28  Todd C. Miller  <Todd.Miller@courtesan.com>
20751
20752         * Makefile.in:
20753         getcwd -> getwd
20754         [66085ebca98e]
20755
20756         * interfaces.c:
20757         now works for ISC and others. yay.
20758         [f336d4ffc927]
20759
20760 1995-06-26  Todd C. Miller  <Todd.Miller@courtesan.com>
20761
20762         * Makefile.in, version.h:
20763         version++
20764         [836cffc2078d]
20765
20766 1995-06-23  Todd C. Miller  <Todd.Miller@courtesan.com>
20767
20768         * aclocal.m4:
20769         fixed test for full void impl
20770         [fb004107e7b9]
20771
20772         * sudo.c:
20773         now check to see that st_dev is non-zero before assuming that we are
20774         being spoofed
20775         [1b0e1c30c506]
20776
20777 1995-06-20  Todd C. Miller  <Todd.Miller@courtesan.com>
20778
20779         * aclocal.m4, configure.in:
20780         SUDO_FUNC_UTIME_NULL -> AC_FUNC_UTIME_NULL
20781         [4953379bfb01]
20782
20783 1995-06-19  Todd C. Miller  <Todd.Miller@courtesan.com>
20784
20785         * aclocal.m4:
20786         fixed include file order for SUDO_FUNC_UTIME_POSIX
20787         [ff64ab7df44f]
20788
20789         * logging.c:
20790         added cast for ttyname()
20791         [444f05f56758]
20792
20793         * configure.in:
20794         fixed typo
20795         [de068e748431]
20796
20797         * check.c:
20798         now deal correctly with all known variation of utime() -- yippe
20799         [b778a4195a89]
20800
20801         * configure.in:
20802         added SUDO_FUNC_UTIME_POSIX
20803         [cf635f2269d6]
20804
20805         * aclocal.m4:
20806         added SUDO_FUNC_UTIME_NULL and SUDO_FUNC_UTIME_POSIX
20807         [d79593be4b73]
20808
20809         * config.h.in:
20810         added HAVE_UTIME_POSIX
20811         [c67b4ac0dca5]
20812
20813         * check.c:
20814         fixed a typo
20815         [b14df5680f59]
20816
20817         * check.c:
20818         no longer assume !HAVE_UTIME_NULL means old BSD utime()
20819         [0aeaf4b2f38b]
20820
20821         * check.c:
20822         fixed fascist C compiler warning
20823         [c61ddf2f1f93]
20824
20825         * interfaces.c:
20826         now set strioctl.ic_timout in STRSET() now initialize num_interfaces
20827         to 0 (just to be anal)
20828         [c54cc2ba0052]
20829
20830 1995-06-18  Todd C. Miller  <Todd.Miller@courtesan.com>
20831
20832         * sudo.h:
20833         increaed MAXLOGLEN by MAXPATHLEN to account for ttyname
20834         [74cf585a54fb]
20835
20836         * logging.c:
20837         added tty logging
20838         [e27d8dcfbd78]
20839
20840         * interfaces.c:
20841         reworked the ISC code
20842         [bcf57ce8ae69]
20843
20844         * Makefile.in, version.h:
20845         updated version
20846         [032941c9b94d]
20847
20848         * check.c:
20849         now expect old-style utime(3) if utime() can't take NULL as an arg
20850         [018dd4a73030]
20851
20852         * configure.in:
20853         added check for utime.h
20854         [0b76e8feb618]
20855
20856         * config.h.in:
20857         added HAVE_UTIME_H
20858         [62ee42feda46]
20859
20860         * Makefile.in:
20861         added CPPFLAGS STATIC_FLAGS -> LDFLAGS
20862         [fa3201d294e1]
20863
20864         * configure.in:
20865         now search for kerb libs and includes
20866         [cc332401e571]
20867
20868         * check.c:
20869         added support for utime(2)'s that can't take a NULL parameter
20870         [98797fedf69f]
20871
20872         * utime.c:
20873         moved HAVE_UTIME_NULL stuff to update_timestamp() where t belongs
20874         [6ce6d825fb44]
20875
20876         * configure.in:
20877         added utime(s) stuff
20878         [a2afb744403e]
20879
20880         * check.c:
20881         now use utime()
20882         [48902240a51e]
20883
20884         * config.h.in:
20885         added HAVE_UTIME and HAVE_UTIME_NULL
20886         [9a56ab65d4f4]
20887
20888 1995-06-17  Todd C. Miller  <Todd.Miller@courtesan.com>
20889
20890         * utime.c:
20891         now use HAVE_UTIME_NULL
20892         [e3944de09a92]
20893
20894         * emul/utime.h, utime.c:
20895         Initial revision
20896         [a2cbf2ef3427]
20897
20898         * check.c:
20899         need to setuid(0) to make kerb4 stuff work.
20900         [c6cfda4039d7]
20901
20902         * tgetpass.c:
20903         no more special case for kerberos
20904         [4a5c33145be9]
20905
20906         * config.h.in:
20907         took out setreuid and setresuid stuff added kerb5 stuff (use kerb4
20908         emulation)
20909         [a607ee43e650]
20910
20911         * compat.h:
20912         no longer need setreuid() emulation now set _PASSWD_LEN to 128 if
20913         kerberos
20914         [02fb274cc136]
20915
20916         * check.c:
20917         now use private ticket file for kerberos support to avoid trouncing
20918         on system one
20919         [28d8b6b812c7]
20920
20921 1995-06-15  Todd C. Miller  <Todd.Miller@courtesan.com>
20922
20923         * sudo.h:
20924         added SPOOF_ATTEMPT & cmnd_st
20925         [d3b42a1f4d0d]
20926
20927         * sudo.c:
20928         added anti-spoofing support
20929         [ab1e2aa44a57]
20930
20931         * parse.c:
20932         now use global cmnd_st
20933         [47018265a1a6]
20934
20935         * logging.c:
20936         added SPOOF_ATTEMPT suypport
20937         [7bbe9dd2a021]
20938
20939         * testsudoers.c, visudo.c:
20940         added void casts where appropriate
20941         [f191441ba333]
20942
20943         * parse.yacc:
20944         fixed up spacing and added void casts where appropriate
20945         [15d886fc809c]
20946
20947         * sudo.c:
20948         fixed problem with "-p prompt" but no args
20949         [6fc048261a3e]
20950
20951 1995-06-14  Todd C. Miller  <Todd.Miller@courtesan.com>
20952
20953         * sudo.man:
20954         added BUGS and annotated -l description
20955         [e5c506de2603]
20956
20957         * sudo.h:
20958         validate() now takes a flag
20959         [26627becc60a]
20960
20961         * sudo.c:
20962         validate() now takes a flag added -l
20963         [a4f7bb97fe54]
20964
20965         * parse.yacc:
20966         added support for -l
20967         [e7a9b10b0ad3]
20968
20969         * parse.c:
20970         validate() now takes a flag that says whether or not to check the
20971         command
20972         [9e1e67f4e281]
20973
20974 1995-06-08  Todd C. Miller  <Todd.Miller@courtesan.com>
20975
20976         * logging.c:
20977         now deals with Argv == 1
20978         [0acb637ab635]
20979
20980         * sudo.man:
20981         added -p option
20982         [e60382fc0561]
20983
20984         * sudo.c:
20985         added prompt support reworked parse_args()
20986         [2f605267ed4a]
20987
20988         * sudo.h:
20989         added prompt
20990         [5ab021bdb419]
20991
20992         * options.h:
20993         added PASSPROMPT
20994         [614727ff44a2]
20995
20996         * check.c:
20997         now use BUFSIZ as length of kerb password added kpass so pass is
20998         always a char * now use prompt global when asking for a password
20999         [76be09af784f]
21000
21001         * tgetpass.c:
21002         now use BUFSIZ as _PASSWD_LEN if using kerberos
21003         [1e907eed312b]
21004
21005         * OPTIONS:
21006         added PASSPROMPT
21007         [ddb2f405ce40]
21008
21009 1995-06-07  Todd C. Miller  <Todd.Miller@courtesan.com>
21010
21011         * configure.in:
21012         only look for -lufc or -lcrypt if crypt() not in libc
21013         [9717d315661f]
21014
21015         * check.c:
21016         don't exit on kerb error, just warn if k_errno == KDC_PR_UNKNOWN
21017         (unknown user) silently fail
21018         [2b48693d4ee9]
21019
21020         * INSTALL:
21021         added kerb4 note
21022         [986e393f740c]
21023
21024         * tgetpass.c:
21025         HAVE_KERBEROS -> HAVE_KERB4
21026         [e438bfb5e6aa]
21027
21028         * check.c:
21029         removed debugging printf
21030         [1cf9f5cbffa5]
21031
21032         * configure.in:
21033         KERBEROS -> KERB4 added checks for setreuid & setresuid
21034         [01e9945beb1e]
21035
21036         * config.h.in:
21037         HAVE_KERBEROS -> HAVE_KERB4 added HAVE_SETREUID and HAVE_SETRESUID
21038         [0e0bb5b8ac3e]
21039
21040         * compat.h:
21041         added deif of UID_NO_CHANGE & GID_NO_CHANGE added setreuid emulation
21042         with setresuid if applic
21043         [9dae24c47696]
21044
21045         * check.c:
21046         HAVE_KERBEROS -> HAVE_KERB4 now only do the stupid chown() hack if
21047         no setreuid() or a broken one
21048         [1fca642bdb8e]
21049
21050 1995-06-06  Todd C. Miller  <Todd.Miller@courtesan.com>
21051
21052         * configure.in:
21053         added kerberos support
21054         [da5639b9b8e7]
21055
21056         * config.h.in:
21057         added HAVE_KERBEROS
21058         [fcc5be550e65]
21059
21060         * tgetpass.c:
21061         added KERBEROS support (long passwords)
21062         [303ba6924dd2]
21063
21064         * check.c:
21065         added kerberos support
21066         [e40afe98fc1d]
21067
21068 1995-06-03  Todd C. Miller  <Todd.Miller@courtesan.com>
21069
21070         * sudo.h:
21071         added MODE_BACKGROUND
21072         [9b483c932016]
21073
21074         * sudo.man:
21075         escaped dashes added -b option
21076         [62e84f1a7714]
21077
21078         * sudo.c:
21079         added -b option
21080         [7e78aaefeb95]
21081
21082         * check.c:
21083         added crypt() for osf/1 3.x enhanced secuiry
21084         [e9aa5abdb7d5]
21085
21086         * configure.in:
21087         now check for -lcrypt
21088         [5cb9c67e9fa2]
21089
21090         * interfaces.c:
21091         added ENXIO like EADDRNOTAVAIL
21092         [74223bb1ba75]
21093
21094 1995-05-08  Todd C. Miller  <Todd.Miller@courtesan.com>
21095
21096         * configure.in:
21097         now emulate getwd(), not getcwd()
21098         [3e5439d9a5f4]
21099
21100         * sudo.c:
21101         getcwd() -> getwd()
21102         [6392a96a658e]
21103
21104         * getwd.c:
21105         getcwd -> getwd
21106         [1b0ab9bae11e]
21107
21108 1995-05-02  Todd C. Miller  <Todd.Miller@courtesan.com>
21109
21110         * ins_2001.h, ins_classic.h, ins_goons.h:
21111         Initial revision
21112         [86db60d8cf00]
21113
21114         * insults.h:
21115         broke out insults into separate include files
21116         [0a01993bd38a]
21117
21118         * OPTIONS, options.h:
21119         added GOONS
21120         [e283203c6515]
21121
21122         * Makefile.in:
21123         added ins_2001.h ins_classic.h ins_goons.h
21124         [2a39cd6a4cd2]
21125
21126         * Makefile.in, version.h:
21127         ++version
21128         [05ebf4f5e41a]
21129
21130         * visudo.c:
21131         moved signal handler setup to setup_signals()
21132         [3dd976c04540]
21133
21134         * sudo.h:
21135         added load_interfaces()
21136         [af2d473b09e2]
21137
21138         * sudo.c:
21139         moved load_interfaces to interfaces.c
21140         [5c8c138e5d4c]
21141
21142         * parse.yacc:
21143         added clearaliases
21144         [aeb4ff301daa]
21145
21146         * OPTIONS, options.h:
21147         added FAST_MATCH
21148         [f49ea3d1b525]
21149
21150         * parse.lex:
21151         now uses clearaliases variable
21152         [a2dda415bf61]
21153
21154         * interfaces.c:
21155         Initial revision
21156         [a1990e3f5c69]
21157
21158         * Makefile.in:
21159         added interfaces.[co]
21160         [1e8e5984de97]
21161
21162         * testsudoers.c:
21163         now uses ip addrs and netmasks via load_interfaces()
21164         [54b8f7a6835e]
21165
21166         * sudo.c:
21167         now remove IFS instead of setting to "sane" value
21168         [ce7eec9f115e]
21169
21170 1995-05-01  Todd C. Miller  <Todd.Miller@courtesan.com>
21171
21172         * parse.c:
21173         added FAST_MATCH
21174         [816d4f5fe81a]
21175
21176 1995-04-30  Todd C. Miller  <Todd.Miller@courtesan.com>
21177
21178         * Makefile.in:
21179         sudo_goodpath.c-> goodpath.c
21180         [a5072c4e1de2]
21181
21182         * sudo.c:
21183         added Andy's new ISC changes
21184         [caa6bbee358e]
21185
21186 1995-04-14  Todd C. Miller  <Todd.Miller@courtesan.com>
21187
21188         * OPTIONS:
21189         added a sentence to SECURE_PATH info
21190         [cad6e1569d15]
21191
21192         * BUGS:
21193         added one
21194         [4b35cf699a83]
21195
21196         * CHANGES:
21197         updated
21198         [5fded9dc62f0]
21199
21200         * RUNSON:
21201         updated
21202         [33cb993cfd39]
21203
21204 1995-04-13  Todd C. Miller  <Todd.Miller@courtesan.com>
21205
21206         * RUNSON:
21207         updated for beta3
21208         [a05dc6a91995]
21209
21210         * Makefile.in, version.h:
21211         ++version
21212         [54aaf3fadc75]
21213
21214         * aclocal.m4:
21215         sendmail is now looked for in \17/usr/ucblib
21216         [231ac1a4662f]
21217
21218         * sudo.c:
21219         fixed indentation
21220         [fb137400c8c2]
21221
21222         * aclocal.m4:
21223         fixed a typo
21224         [e03f1acc468b]
21225
21226         * sudo.c:
21227         updated ISC mods
21228         [070290d4754b]
21229
21230         * configure.in:
21231         added unixware case
21232         [e90250bae0d9]
21233
21234         * check.c:
21235         user_is_exempt is no longer hidden
21236         [1a341765b8af]
21237
21238         * RUNSON:
21239         updated
21240         [a9c4898b26dd]
21241
21242         * aclocal.m4:
21243         isc and riscos changes
21244         [98b5d86585d1]
21245
21246         * OPTIONS:
21247         added NOTE about new interaction of EXEMPTGROUP and SECURE_PATH
21248         [e1ecc464ce4b]
21249
21250         * Makefile.in:
21251         fixed a typo and added testsudoers stuff
21252         [435d60e163dc]
21253
21254         * testsudoers.c:
21255         Initial revision
21256         [6ce14a448662]
21257
21258 1995-04-12  Todd C. Miller  <Todd.Miller@courtesan.com>
21259
21260         * parse.yacc:
21261         applied fixed patch from Chris
21262         [cd6144203d13]
21263
21264 1995-04-11  Todd C. Miller  <Todd.Miller@courtesan.com>
21265
21266         * Makefile.in:
21267         fixed a typo
21268         [34f8a54ba041]
21269
21270         * parse.yacc:
21271         added a set of braces for bison
21272         [f0e43b938914]
21273
21274         * parse.yacc:
21275         merged in Chris' changes to dekludge the parser.
21276         [82d6e373ab1c]
21277
21278         * logging.c:
21279         send_mail() was calling find_path() which is wrong since find_path()
21280         stores cmnd in a static var. Anyhow, it doesn't make much sense
21281         since MAILER should always be fully qualified
21282         [6eae6a0b8098]
21283
21284 1995-04-10  Todd C. Miller  <Todd.Miller@courtesan.com>
21285
21286         * sample.sudoers:
21287         added User_Alias stuff
21288         [aaba8c8e918d]
21289
21290         * aclocal.m4:
21291         SUDO_NEXT now looks for /usr/lib/NextStep/software_version
21292         [52bd81f34b32]
21293
21294         * RUNSON:
21295         added DEC UNIX 3.0 w/ gcc
21296         [7daf570775b5]
21297
21298         * visudo.c:
21299         Exit was being used in places where exit should be used
21300         [6026a89c07ed]
21301
21302         * sudoers:
21303         added "User alias specification"
21304         [a487b6e234f8]
21305
21306         * parse.yacc:
21307         fixed probs caused by making nslots and naliases a size_t
21308         [0be919384f3f]
21309
21310         * RUNSON:
21311         added KSR, upped rev to 1.3.1b2
21312         [ce04ee6faadf]
21313
21314         * logging.c, parse.yacc:
21315         1024 -> BUFSIZ
21316         [cd6dda45fa11]
21317
21318         * parse.yacc:
21319         void * -> VOID * naliases and nslots are now size_t to appease
21320         lsearch on 64-bit machines
21321         [bf2f807c0dc1]
21322
21323 1995-04-09  Todd C. Miller  <Todd.Miller@courtesan.com>
21324
21325         * TODO:
21326         did a bunch of things and added a bunch :-)
21327         [42afd957b829]
21328
21329         * PORTING:
21330         updated
21331         [972f95c85776]
21332
21333         * visudo.man:
21334         closer to BSD manpage style
21335         [07ae88f50325]
21336
21337         * sudo.man:
21338         closer to standard BSD man format
21339         [372c28dcc135]
21340
21341         * compat.h, config.h.in, emul/search.h, insults.h, options.h,
21342         pathnames.h.in, sudo.h, version.h:
21343         added RCS id
21344         [c0ec90b81002]
21345
21346         * sudo.h:
21347         removed crufty #defines that are no longer used
21348         [35e2b4b477f0]
21349
21350         * BUGS:
21351         fixed a bug
21352         [5bb3e1bee85e]
21353
21354         * sudo.man:
21355         updated based on sudo changes
21356         [e65de1cae438]
21357
21358         * parse.yacc:
21359         now allow ALL keyword in User_Aliases now allow ALL keyword as well
21360         as a NAME or ALIAS
21361         [1fb31404dd0f]
21362
21363         * CHANGES:
21364         updated
21365         [b24018ac610b]
21366
21367         * sudo.c:
21368         now sets SUDO_COMMAND and SUDO_GID envariables.
21369         [e9d791557fb7]
21370
21371         * aclocal.m4:
21372         fixed bug with full void impl check
21373         [35715301023c]
21374
21375         * parse.yacc:
21376         fixed User_Alias supoprt
21377         [4c30dfbaaa07]
21378
21379         * parse.yacc:
21380         added stubs for User_Alias support
21381         [f4afbd247edf]
21382
21383         * sudo.c:
21384         now sets removes # bogus interfaces from num_interfaces
21385         [6f077fac9ab1]
21386
21387         * parse.lex:
21388         added User_Alias support
21389         [bc7997e5df85]
21390
21391 1995-04-08  Todd C. Miller  <Todd.Miller@courtesan.com>
21392
21393         * Makefile.in:
21394         removed extraneous TODO
21395         [bc87a3b14d6d]
21396
21397 1995-04-07  Todd C. Miller  <Todd.Miller@courtesan.com>
21398
21399         * visudo.c:
21400         ntwk_matches -> addr_matches
21401         [475044e288b8]
21402
21403         * parse.yacc:
21404         ntwk_matches -> addr_matches
21405         [dd1f4093fd2d]
21406
21407         * parse.c:
21408         ntwk_matches -> addr_matches now use inet_addr() not inet_network()
21409         (which expects octet boundaries) fixes for OSF (sizeof(int) !=
21410         sizeof(long))
21411         [acd2f556940f]
21412
21413         * sudo.c:
21414         took out debugging info
21415         [044023063eca]
21416
21417         * aclocal.m4:
21418         OS was being set to unknown before non-uname based host checks.
21419         This caused no checks to happen since $OS was not zero-length.
21420         [335a7267479d]
21421
21422         * sudo.c:
21423         fixed loading of interfaces struct still has debugging info in
21424         though
21425         [2d1a18998c1e]
21426
21427         * parse.c:
21428         fixed typo
21429         [175674a3a9fa]
21430
21431 1995-04-06  Todd C. Miller  <Todd.Miller@courtesan.com>
21432
21433         * Makefile.in:
21434         ++version
21435         [55d191b5daa3]
21436
21437         * version.h:
21438         ++
21439         [d7d1f115696a]
21440
21441         * visudo.c:
21442         removed extraneous extern decl of "top
21443         [50355621047d]
21444
21445         * visudo.c:
21446         now zeros "top"
21447         [4e683210345b]
21448
21449         * parse.yacc:
21450         removed parser_cleanup (no need for it now)
21451         [afa59f222b6c]
21452
21453         * parse.lex:
21454         now calls reset_aliases() directly
21455         [3a23cbd60fc0]
21456
21457 1995-04-04  Todd C. Miller  <Todd.Miller@courtesan.com>
21458
21459         * OPTIONS:
21460         added a sentence to SECURE_PATH description
21461         [c5bf75b85af0]
21462
21463         * parse.c:
21464         fixed my stupid bug where I used NAMLEN on something I wanted to
21465         just get the name from. argh.
21466         [111f460f6540]
21467
21468 1995-04-03  Todd C. Miller  <Todd.Miller@courtesan.com>
21469
21470         * lsearch.c:
21471         fixed argument order of memmove() that i hosed when converting from
21472         bcopy(). arghh.
21473         [2f5336045c8b]
21474
21475         * Makefile.in:
21476         finally fixed DISTFILES line
21477         [a1b419e73a63]
21478
21479         * Makefile.in:
21480         tabs -> spaces
21481         [280fb03e5764]
21482
21483         * Makefile.in:
21484         added missing files to DISTFILES
21485         [991fc1cd2263]
21486
21487         * Makefile.in:
21488         SUPPORTED -> RUNSON
21489         [7580e65b05fb]
21490
21491 1995-04-01  Todd C. Miller  <Todd.Miller@courtesan.com>
21492
21493         * TODO:
21494         updated
21495         [fe764a29c1cc]
21496
21497         * RUNSON:
21498         updated for pl5b1 release
21499         [aefc35bd2291]
21500
21501         * BUGS, TODO:
21502         updated
21503         [8f0ea249b687]
21504
21505         * check.c:
21506         fixed bug where if you hit return at first sudo prompt it would
21507         still log as a failure
21508         [24539c854692]
21509
21510         * CHANGES:
21511         updated
21512         [251cc7b3ede4]
21513
21514         * aclocal.m4:
21515         better test for bogus void * implementation
21516         [efe23180cb88]
21517
21518         * logging.c:
21519         added PASSWORDS_NOT_CORRECT
21520         [bd12c73f83f7]
21521
21522         * check.c:
21523         added PASSWORDS_NOT_CORRECT stuff]
21524         [90de391a979f]
21525
21526         * sudo.h:
21527         added PASSWORDS_NOT_CORRECT
21528         [727fbeb76fc5]
21529
21530         * tgetpass.c:
21531         moved pathnames.h
21532         [4f910e5a8df7]
21533
21534         * sudo.c:
21535         removed some unused vars and fixed up uid2str
21536         [70e92c7f9076]
21537
21538         * putenv.c:
21539         moved compat.h
21540         [b271091586f6]
21541
21542         * getcwd.c, getwd.c:
21543         added pathnames.h
21544         [6f25218f133f]
21545
21546 1995-03-31  Todd C. Miller  <Todd.Miller@courtesan.com>
21547
21548         * parse.yacc:
21549         fixed a typo I introduced in the last checkin :-(
21550         [62c3af75c4fe]
21551
21552         * parse.lex:
21553         can't have #ifdef's where N is defined so just do this the broken
21554         way for AIX
21555         [c5648a5594e4]
21556
21557         * parse.yacc:
21558         better hack from Chris (but still a hack)
21559         [6b6d8aed93f3]
21560
21561         * parse.lex:
21562         stupid hack for broken aix lex
21563         [efc3f9e5280e]
21564
21565         * tgetpass.c:
21566         now includes compat.h \ 6
21567         [401822173f77]
21568
21569         * visudo.c:
21570         now includes fcntl.h
21571         [63865c2f8ac6]
21572
21573         * compat.h:
21574         added FD_SET and FD_ZERO for 4.2BSD
21575         [00c5597c0bb0]
21576
21577         * parse.yacc:
21578         dirty hack to fix parser bug. i don't really like this but it works
21579         for now...
21580         [5b8bbdc81569]
21581
21582         * sudo.c:
21583         uid2str is now static like the prototype says
21584         [f2a97b5cb870]
21585
21586 1995-03-30  Todd C. Miller  <Todd.Miller@courtesan.com>
21587
21588         * CHANGES, SUPPORTED, TODO, TROUBLESHOOTING:
21589         updated
21590         [6f79c3e92716]
21591
21592         * RUNSON:
21593         Initial revision
21594         [12a09ef9e884]
21595
21596         * sudo.c:
21597         check_sudoers now returns an error code and sudo calls inform_user
21598         and log_error based on the return value.
21599         [340eca188d9a]
21600
21601         * logging.c, sudo.h:
21602         added entries for new errors
21603         [6050d8542e1f]
21604
21605         * parse.c:
21606         now set uid to that of SUDOERS_OWNER while parsing sudoers file
21607         [3683c42bc9b0]
21608
21609         * Makefile.in:
21610         took out testsudoers \ 6
21611         [65317d49db48]
21612
21613         * sudo.c:
21614         now explicately checks that it is setuid root
21615         [2fe1be60ef6a]
21616
21617         * sudo.c:
21618         If a user has no passwd entry sudo would segv (writing to a garbage
21619         pointer). Now allocate space before writing :-)
21620         [d08e7eb5e5ef]
21621
21622         * configure.in:
21623         reordered AC_CHECK_FUNCS
21624         [4c82e56c6f4f]
21625
21626         * config.h.in:
21627         fixed memset macro
21628         [77ede6b714ab]
21629
21630         * tgetpass.c, visudo.c:
21631         bzero -> memset
21632         [1a005bb322c8]
21633
21634         * logging.c:
21635         bzero -> memset when a parse error is logged the line number of the
21636         error is now logged too
21637         [a42d68047723]
21638
21639         * INSTALL:
21640         added Sunos to blurb about c2 security
21641         [af750a1d131e]
21642
21643         * configure.in:
21644         added a SUN4 define for C2 security
21645         [6ad5b23a3eb0]
21646
21647         * config.h.in:
21648         bcopy -> memmove bzero -> memset
21649         [5494460c8464]
21650
21651         * lsearch.c:
21652         bcopy -> memmove char * -> VOID *
21653         [a15f5c316e16]
21654
21655         * check.c:
21656         added support for sunos with C2 security
21657         [03fea5bb21e6]
21658
21659         * OPTIONS, options.h:
21660         reordered
21661         [1686265af3e1]
21662
21663         * pathnames.h.in:
21664         _PATH_SUDO_LOGFILE now set based on configure
21665         [5867b58e4a04]
21666
21667         * configure.in:
21668         added SUDO_LOGFILE and SUDO_TYPE_SIZE_T
21669         [1984d9fd1b5c]
21670
21671         * config.h.in:
21672         added _SUDO_PATH_LOGFILE
21673         [dd3eebe62580]
21674
21675         * aclocal.m4:
21676         added SUDO_LOGFILE to find where to put sudo.log added
21677         SUDO_CHECK_TYPE (just AC_CHECK_TYPE but checks unistd.h too) added
21678         SUDO_TYPE_SIZE_T (calls SUDO_CHECK_TYPE)
21679         [c589a515a99a]
21680
21681 1995-03-29  Todd C. Miller  <Todd.Miller@courtesan.com>
21682
21683         * TROUBLESHOOTING:
21684         Initial revision
21685         [f42f1baba3a8]
21686
21687         * sudo.c:
21688         now do set_perms(PERM_ROOT) before the getpwuid() in load_global()
21689         to work around a problem is trusted hpux shadow passwords. yuck.
21690         [ae1f13b54687]
21691
21692         * parse.yacc:
21693         backed out a change in malloc/realloc
21694         [ab868db0ad69]
21695
21696         * parse.yacc:
21697         now include stdlib.h
21698         [957eef0631eb]
21699
21700         * visudo.c:
21701         now do an freopen() of the stmp file so that yyin will always point
21702         to the same thing. This is important for flex since we are doing a
21703         YY_NEWFILE
21704         [44558922fd3e]
21705
21706         * parse.yacc:
21707         replaced yywrap() with parser_cleanup() since yywrap() needs to be
21708         in parse.lex to be able to use YY_NEW_FILE. sigh.
21709         [12dd09921074]
21710
21711         * parse.lex:
21712         now have a rule that matches anything that doesn't match an
21713         explicite rule. well, you know what i mean (. matches anything not
21714         yet matched). However, this means that there is input still queued
21715         up so we need to do a YY_NEW_FILE; in yywrap. So, yywrap has moved
21716         into parse.lex and it calls parser_cleanup() which is most of the
21717         old yywrap() sigh.
21718         [7f4042bc48d6]
21719
21720         * SUPPORTED:
21721         no longer used
21722         [8f220be4da94]
21723
21724         * getcwd.c, getwd.c:
21725         moved compat.h to be the last include file
21726         [9f3a65e2d485]
21727
21728         * parse.yacc:
21729         fixed type of aliascmp() args
21730         [1c27eb989bdf]
21731
21732         * find_path.c:
21733         NULL -> '\0'
21734         [5c8d8cf1692e]
21735
21736         * parse.yacc:
21737         added casts to lfind and lsearch args for irix
21738         [61027ddeecf8]
21739
21740         * Makefile.in:
21741         bsdinstall -> install-sh
21742         [61de6612c5a5]
21743
21744         * INSTALL:
21745         added info about make realclean
21746         [29c6324d727f]
21747
21748         * Makefile.in:
21749         updated VERSION added dependencies for visudo.cat
21750         [09077d7229d4]
21751
21752         * version.h:
21753         -> pl5b1
21754         [5d21c7ad1a41]
21755
21756         * sudo.c:
21757         took out -l
21758         [fc1478d81b38]
21759
21760         * Makefile.in:
21761         now there is a real visudo.man and visudo.cat
21762         [58aeac43a6dd]
21763
21764         * sudo.man:
21765         took out visudo stuff
21766         [4a6ac4393343]
21767
21768         * visudo.man:
21769         Initial revision
21770         [cba348843db8]
21771
21772         * parse.c, parse.lex, parse.yacc:
21773         updated copyright
21774         [ffa16b70944a]
21775
21776         * README:
21777         updated for pl5
21778         [a26e423e9e5f]
21779
21780         * sudo.man:
21781         updated Nieusma & Hieb email addresses
21782         [f0083e71989d]
21783
21784         * INSTALL:
21785         updated to include options.h and OPTIONS
21786         [ee59e2b76c94]
21787
21788         * CHANGES, TODO:
21789         updated
21790         [51e011ad5220]
21791
21792         * BUGS:
21793         eliminated bug #1 (yay)
21794         [e7e88515494e]
21795
21796         * configure.in:
21797         sunos no longer gets linked statically
21798         [2e5b3ff3108f]
21799
21800 1995-03-28  Todd C. Miller  <Todd.Miller@courtesan.com>
21801
21802         * parse.lex:
21803         prototype now uses __P()
21804         [68ecdcab4c70]
21805
21806         * parse.lex:
21807         make fill() non-ansi
21808         [d6509972260b]
21809
21810         * parse.c:
21811         made -v (validate) work
21812         [13c9d520638c]
21813
21814         * logging.c:
21815         now gives host
21816         [f04859cdba5a]
21817
21818         * find_path.c:
21819         don't check for execute/statable if fq or relative path given
21820         [4bbe851f3973]
21821
21822         * parse.c:
21823         added a cast
21824         [345c308f72f3]
21825
21826         * visudo.c:
21827         now include ctype.h for islower and tolower macros
21828         [582c0aa332d5]
21829
21830         * goodpath.c:
21831         moved _S_IFMT & _S_ISREG to compat.h
21832         [828e4ca4e7b4]
21833
21834         * sudo.c:
21835         moved a set of parens
21836         [5783474ecf37]
21837
21838         * strdup.c:
21839         now include compat.h
21840         [75e2036b94af]
21841
21842         * emul/search.h:
21843         void * -> VOID *
21844         [cedcfaf04161]
21845
21846         * parse.yacc:
21847         now cast malloc & realloc return vals added search for HAVE_LSEARCH
21848         now use strcmp if no strcasecmp available
21849         [d6a42bc3d4ae]
21850
21851         * lsearch.c:
21852         void * -> VOID *
21853         [886adc44f607]
21854
21855         * config.h.in:
21856         removed HAVE_FLEX added VOID added HAVE_DIRENT_H, HAVE_SYS_NDIR_H,
21857         HAVE_SYS_DIR_H, HAVE_NDIR_H added HAVE_LSEARCH
21858         [3b50d7fb4349]
21859
21860         * compat.h:
21861         added _S_IFMT, _S_IFREG, and S_ISREG
21862         [73d506c7d53c]
21863
21864         * aclocal.m4:
21865         took out SUDO_PROG_INSTALL 1.x to 2.x changes added echo and results
21866         to most SUDO_* macros
21867         [8442155f5936]
21868
21869         * Makefile.in:
21870         no more -I.
21871         [63462f195bd4]
21872
21873         * configure.in:
21874         various 1.x ro 2.x autoconf changes now check for strcasecmp now use
21875         AC_INSTALL_PROG instead of custom one added check for fully woorking
21876         void implementation
21877         [5ac6b6e6230f]
21878
21879         * Makefile.in:
21880         added lsearch & search.h visudo links into $(LIBOBJS)
21881         [bc119cda4598]
21882
21883         * aclocal.m4:
21884         partial 1.x to 2.x changes added SUDO_FULL_VOID
21885         [1194d01fa5c5]
21886
21887         * visudo.c:
21888         whatnow_help was prototyped to be static be was not declared as
21889         such
21890         [0f85489dd426]
21891
21892         * configure.in:
21893         autoconf 2.x changes took out HAVE_FLEX (no longer used) added check
21894         for dirent/dir/ndir.h
21895         [7408f3854948]
21896
21897         * parse.c:
21898         now use groovy gnu autoconf macro AC_HEADER_DIRENT
21899         [e465db9f5dfa]
21900
21901         * getcwd.c, getwd.c:
21902         MAXPATHLEN -> MAXPATHLEN+1
21903         [714d87424e21]
21904
21905         * emul/search.h, lsearch.c:
21906         Initial revision
21907         [55d79482c535]
21908
21909 1995-03-27  Todd C. Miller  <Todd.Miller@courtesan.com>
21910
21911         * parse.yacc:
21912         eliminated bison warnings
21913         [61ca0a96da22]
21914
21915         * parse.lex:
21916         added missing case
21917         [6be0f849747c]
21918
21919         * visudo.c:
21920         now iincludes signal.h
21921         [221e0fcc144f]
21922
21923         * parse.yacc:
21924         only clear data structures on a parse error
21925         [7b1c0f1a4527]
21926
21927         * visudo.c:
21928         whatnow() now gives help on invalid input
21929         [e5a4cd88c587]
21930
21931         * visudo.c:
21932         added a whatnow() function (sort of like mh)
21933         [932d9b145f1c]
21934
21935         * parse.yacc:
21936         kill_aliases -> reset_aliases yywrap() now cleans up by calling
21937         reset_aliases() and clearing top took reset stuff out of yyerror()
21938         since it doesn't beling there (and doesn't work anyway). errorlineno
21939         is now initially set to -1 so we can set it to the first error that
21940         occurrs (it was getting set to the last)
21941         [2f71f95a974c]
21942
21943         * parse.lex:
21944         added a void cast
21945         [18ae6042dce4]
21946
21947         * visudo.c:
21948         rewrote from scratch based on 4.3BSD vipw.c
21949         [2f6814f18576]
21950
21951 1995-03-26  Todd C. Miller  <Todd.Miller@courtesan.com>
21952
21953         * sudo.c, sudo.h:
21954         removed ocmnd
21955         [a31735f41ad4]
21956
21957         * sudo.h:
21958         no more sudo_realpath() and find_path() changed params
21959         [8e85c3b39159]
21960
21961         * sudo.c:
21962         find_path() changed since no more realpath()
21963         [b25366c7f2ee]
21964
21965         * parse.yacc:
21966         on error, errorlineno is set to the line where the error occurred
21967         added kill_aliases() to free the aliases struct now clean up in
21968         yyerror() so we can reparse cleanly
21969         [2342f578c27a]
21970
21971         * options.h, parse.c:
21972         no more USE_REALPATH
21973         [cfc59babeaff]
21974
21975         * logging.c:
21976         changed to use new find_path()
21977         [91c7a38e7751]
21978
21979         * find_path.c:
21980         removed all the realpath() stuff
21981         [cc21a43a8562]
21982
21983         * Makefile.in:
21984         sudo_realpath.c -> sudo_goodpath.c
21985         [03a9b1ddec2f]
21986
21987         * visudo.c:
21988         now works correctly with utk parser
21989         [08aa554a0ce8]
21990
21991         * goodpath.c:
21992         Initial revision
21993         [1ea607e1ffb2]
21994
21995         * sudo_realpath.c:
21996         eliminated a compiler warning
21997         [198bcccc55b6]
21998
21999         * sudo.c:
22000         elinated compiler warning
22001         [e2384f9a878b]
22002
22003         * sudo_realpath.c:
22004         added sudo_goodpath()
22005         [43878c4cc540]
22006
22007         * sudo.h:
22008         added prototype for sudo_goodpath
22009         [23e8627a2265]
22010
22011         * parse.c:
22012         added support for /sys/dir.h
22013         [eca897087741]
22014
22015         * options.h:
22016         USE_REALPATH turned off
22017         [620ac8b63d85]
22018
22019         * find_path.c:
22020         added calls to sudo_goodpath()
22021         [ad170904fbcd]
22022
22023         * configure.in:
22024         added check for dirent.h
22025         [7964a8c26855]
22026
22027         * config.h.in:
22028         added HAVE_DIRENT_H
22029         [1f785fec7e19]
22030
22031         * configure.in:
22032         added in linux shadow pass stuff \ 6
22033         [e585a5785f50]
22034
22035 1995-03-24  Todd C. Miller  <Todd.Miller@courtesan.com>
22036
22037         * visudo.c:
22038         added back host, user, cmnd, parse_error
22039         [0ec19f3d64f4]
22040
22041         * visudo.c:
22042         added in utk changes plus some minor cosmetic changes
22043         [c5c1921c8a58]
22044
22045         * sudo.c, sudo_realpath.c:
22046         added void casts for printf's
22047         [9c6ff11c0082]
22048
22049         * options.h:
22050         added a define of USE_REALPATH
22051         [db3711c9efc5]
22052
22053         * configure.in:
22054         there is no more visudoers/Makefile
22055         [36e1bc1f78d0]
22056
22057         * Makefile.in:
22058         added in utk changes (visudo is now built from the toplevel)
22059         [76203d4b345d]
22060
22061         * find_path.c:
22062         added (void) casts to printf's
22063         [dd5cb1e060ac]
22064
22065         * parse.c, parse.lex, parse.yacc, sudo.h, sudo_realpath.c:
22066         merged in utk changes
22067         [35563307fd8e]
22068
22069 1995-03-23  Todd C. Miller  <Todd.Miller@courtesan.com>
22070
22071         * find_path.c:
22072         now check to see that what we are trying to run is a file (or a link
22073         to a file, we do a stat(2) so there is no diff)
22074         [05889c4bcace]
22075
22076 1995-03-13  Todd C. Miller  <Todd.Miller@courtesan.com>
22077
22078         * CHANGES:
22079         updated
22080         [3e8047bb26fb]
22081
22082         * Makefile.in:
22083         aclocal.m4 -> acsite.m4 make realclean updated for new autoconf \ 6
22084         [0bdbaa7c4c7d]
22085
22086         * sudo.man:
22087         added myself as maintainer
22088         [77a9d75aab84]
22089
22090 1995-02-17  Todd C. Miller  <Todd.Miller@courtesan.com>
22091
22092         * sudo.c:
22093         changed setegid -> setgid
22094         [7f4788d73b6f]
22095
22096 1995-02-06  Todd C. Miller  <Todd.Miller@courtesan.com>
22097
22098         * configure.in:
22099         fixed the test for irix 5.x to skip bad libs
22100         [bfef896de013]
22101
22102         * aclocal.m4:
22103         now initialize OS and OSREV
22104         [cc302756e440]
22105
22106 1995-01-27  Todd C. Miller  <Todd.Miller@courtesan.com>
22107
22108         * configure.in:
22109         irix5 changes
22110         [ac985b23f5f2]
22111
22112         * configure.in:
22113         AC_WITH -> AC_ARG_WITH changes other misc changes for autoconf 2.1
22114         compatibility
22115         [0cf8c92a06d7]
22116
22117 1995-01-19  Todd C. Miller  <Todd.Miller@courtesan.com>
22118
22119         * visudo.c:
22120         use YY_NEW_FILE, not yyrestart since OSF flex doesn't do the righ
22121         thing wrt yyrestart (grrrr)
22122         [18e8eabfbb82]
22123
22124 1995-01-16  Todd C. Miller  <Todd.Miller@courtesan.com>
22125
22126         * Makefile.in:
22127         added visudoers/compat.h to DISTFILES
22128         [db23b574b034]
22129
22130         * configure.in:
22131         fixed an echo
22132         [7cbc0462b89d]
22133
22134         * sudo.c:
22135         added ocmnd declaration adjusted for find_path()'s new parameters
22136         [d929cd156474]
22137
22138         * sudo.h:
22139         added ocmnd extern adjusted find_path() prototype
22140         [e0004daf5d3c]
22141
22142         * parse.c:
22143         cmndcmp() now takes 3 arguments and checks against the qualified as
22144         well as the unqualified pathname. more code that should use
22145         cmndcmp() but did not, now does
22146         [6f70a8c17bee]
22147
22148         * options.h:
22149         added to a comment
22150         [7a78680426b2]
22151
22152         * logging.c:
22153         changed to use new find_path() parameter passing
22154         [840981d30db4]
22155
22156         * find_path.c:
22157         find_path() now takes 2 copyout parameters (one for the qualified
22158         pathname and one for the unqualified pathname). The third parameter
22159         may be NULL.
22160         [851503b005e9]
22161
22162         * configure.in:
22163         no longer munge pathnames.h
22164         [427d8796c5a9]
22165
22166         * pathnames.h.in:
22167         changed _PATH_* to use _SUDO_PATH_* (which are defined in config.h)
22168         as a result, pathnames.h does not need to be run through configure
22169         and the user can override the configured values easily.
22170         [2e378f2ebe88]
22171
22172         * config.h.in:
22173         added _SUDO_PATH_* entries
22174         [0857de7cebab]
22175
22176         * aclocal.m4:
22177         _PATH* -> _SUDO_PATH_*
22178         [7601193f56cc]
22179
22180         * Makefile.in:
22181         updated DISTFILES and HDRS .o's now depend on config.h
22182         [39d8601965cf]
22183
22184 1995-01-13  Todd C. Miller  <Todd.Miller@courtesan.com>
22185
22186         * compat.h:
22187         removed extraneous #endif
22188         [27d4c5f2ce7e]
22189
22190         * aclocal.m4:
22191         added SUDO_PROG_MV
22192         [76dda3bdd816]
22193
22194         * configure.in:
22195         added SUDO_PROG_MV added riscos and isc os types took out
22196         -DSHORT_MESSAGE from --with-csops since it is now the default
22197         [68c206ad976e]
22198
22199         * sudo.c:
22200         move the include of id.h to compat.h now includes options.h
22201         [45a1eaafb3a8]
22202
22203         * sudo.h:
22204         moved compatibility #defines to compat.h
22205         [0eee27057698]
22206
22207         * pathnames.h.in:
22208         added _PATH_MV
22209         [e830797ab320]
22210
22211         * config.h.in:
22212         move __P to compat.h
22213         [188e12e0ba93]
22214
22215         * getcwd.c, getwd.c, putenv.c:
22216         now includes compat.h
22217         [c72cb6d73981]
22218
22219         * compat.h:
22220         Initial revision
22221         [d4d2f359ae03]
22222
22223 1995-01-12  Todd C. Miller  <Todd.Miller@courtesan.com>
22224
22225         * sudo.h:
22226         pull user-configurable stuff out and put in options.h
22227         [ef929467b070]
22228
22229 1995-01-11  Todd C. Miller  <Todd.Miller@courtesan.com>
22230
22231         * parse.lex, parse.yacc, visudo.c:
22232         now includes options.h
22233         [e36d7c82add1]
22234
22235         * check.c, find_path.c, logging.c, parse.c, sudo_realpath.c,
22236         sudo_setenv.c:
22237         now includes options.h
22238         [f186ba03de07]
22239
22240         * Makefile.in:
22241         added visudoers/options.h
22242         [e5350c476494]
22243
22244         * OPTIONS, options.h:
22245         Initial revision
22246         [9b6b5001e318]
22247
22248         * Makefile.in:
22249         added OPTIONS and options.h
22250         [25448341e16a]
22251
22252         * logging.c:
22253         changed #ifdef's to use LOGGING and SLOG_SYSLOG/SLOG_FILE
22254         [5dd6385dd1d3]
22255
22256         * check.c, sudo.h:
22257         changed PASSWORD_TIMEOUT to minutes
22258         [0ec6aab98738]
22259
22260 1994-12-17  Todd C. Miller  <Todd.Miller@courtesan.com>
22261
22262         * visudo.c:
22263         now only do Editor +line_num if line_num != 0
22264         [b69f04b5e3c7]
22265
22266 1994-12-16  Todd C. Miller  <Todd.Miller@courtesan.com>
22267
22268         * visudo.c:
22269         now use mv if rename(2) fails
22270         [83210dca1bab]
22271
22272         * BUGS:
22273         added a visudo bug
22274         [d61a806f9aa7]
22275
22276         * check.c:
22277         expanded comment
22278         [641f2cba94cb]
22279
22280 1994-11-12  Todd C. Miller  <Todd.Miller@courtesan.com>
22281
22282         * check.c:
22283         fixed user_is_exempt to return 0 if EXEMPTGROUP is not set
22284         [7a11135039a8]
22285
22286 1994-11-10  Todd C. Miller  <Todd.Miller@courtesan.com>
22287
22288         * sudo.c:
22289         added mips & isc support
22290         [e258dc053119]
22291
22292         * parse.c:
22293         added support for non-root owned sudoers file
22294         [fea07e65a0fc]
22295
22296         * check.c:
22297         added exempt group support
22298         [928fb4bd9ad5]
22299
22300         * sudo.h:
22301         added set_perms() support added SUDOERS_OWNER so can have non-root
22302         own sudoers file added exempt group support added isc support
22303         [61c578d31fc1]
22304
22305         * visudo.c:
22306         now copy sudoers to temp file via read/write (not stdio) now chown
22307         new sudoers file to SUDOERS_OWNER
22308         [a5176c59df70]
22309
22310 1994-11-08  Todd C. Miller  <Todd.Miller@courtesan.com>
22311
22312         * configure.in:
22313         added skey support
22314         [35a8d2fabdb7]
22315
22316         * sudo_realpath.c:
22317         be_* -> setperms()
22318         [a1631d686e1c]
22319
22320         * sudo.h:
22321         fixed typo added set_perms support added skey support added
22322         seteuid()/setegid() emulation for AIX
22323         [c0c8d6771406]
22324
22325         * sudo.c:
22326         be_* -> setperms() now check to make sure sudoers file is owned by
22327         root nread/write by only root
22328         [13ab1e261f1a]
22329
22330         * logging.c, parse.c:
22331         be_* -> setperms()
22332         [21499d845c8f]
22333
22334         * check.c:
22335         be_* -> set_perms() added skey support
22336         [df51b56871c1]
22337
22338 1994-11-06  Todd C. Miller  <Todd.Miller@courtesan.com>
22339
22340         * Makefile.in:
22341         ++version
22342         [3c1abbe4e43c]
22343
22344         * version.h:
22345         ++
22346         [1d2f9b540a95]
22347
22348 1994-10-21  Todd C. Miller  <Todd.Miller@courtesan.com>
22349
22350         * sudo.c:
22351         now sets IFS
22352         [eabbb41b9f08]
22353
22354         * insults.h:
22355         fixed typo
22356         [c7997f19216e]
22357
22358 1994-10-15  Todd C. Miller  <Todd.Miller@courtesan.com>
22359
22360         * config.h.in:
22361         added HAVE_SKEY
22362         [da948ec4186b]
22363
22364 1994-10-04  Todd C. Miller  <Todd.Miller@courtesan.com>
22365
22366         * CHANGES:
22367         updated
22368         [f4b55ab007ea]
22369
22370         * Makefile.in:
22371         ++version
22372         [0489068b8c95]
22373
22374         * version.h:
22375         ++
22376         [d189faedf423]
22377
22378         * sudo.c:
22379         now bail if ARgv[1] > MAXPATHLEN
22380         [0cea8ecc9dc2]
22381
22382         * configure.in:
22383         added function check for tcgetattr(3)
22384         [e03289b22c2f]
22385
22386         * config.h.in:
22387         only define HAVE_TERMIOS_H if you have tcgetattr(3)
22388         [757eab83d1a2]
22389
22390         * config.h.in:
22391         added check for tcgetattr
22392         [c5ae92715930]
22393
22394 1994-09-26  Todd C. Miller  <Todd.Miller@courtesan.com>
22395
22396         * CHANGES:
22397         updated
22398         [cbc419883108]
22399
22400 1994-09-22  Todd C. Miller  <Todd.Miller@courtesan.com>
22401
22402         * parse.lex:
22403         now only include unistd.h for linux
22404         [e9adeab95ef0]
22405
22406 1994-09-21  Todd C. Miller  <Todd.Miller@courtesan.com>
22407
22408         * Makefile.in:
22409         added visudo.8 generation
22410         [d6a3f0f887f8]
22411
22412         * configure.in:
22413         added -Wl,-bI:./aixcrypt.exp to aix flags
22414         [72594a21edcf]
22415
22416 1994-09-20  Todd C. Miller  <Todd.Miller@courtesan.com>
22417
22418         * BUGS:
22419         added one
22420         [9993a349e096]
22421
22422         * CHANGES:
22423         updated
22424         [297b31ec4cdd]
22425
22426         * README:
22427         added mailing list info
22428         [10372f94a2b2]
22429
22430         * parse.yacc:
22431         now use sudolineno instead of yylineno fixed bison warnings
22432         [25a83e62057b]
22433
22434         * configure.in:
22435         now use -no_library_replacement for osf don't make a static binary
22436         for hpux >= 9.0
22437         [1fa7b892f1a3]
22438
22439         * tgetpass.c:
22440         added string.h/strings.h inclusion
22441         [71faa98fc0a1]
22442
22443         * config.h.in:
22444         added ssize_t def
22445         [406284bd1ac0]
22446
22447         * parse.lex:
22448         added inclusion of string.h/strings.h
22449         [6985b1df5d09]
22450
22451         * aclocal.m4:
22452         fixed uname | sed (needed to quote the '[')
22453         [4cd2d3415c1a]
22454
22455         * parse.lex:
22456         replaced yylineno with sudolineno fixed bison syntax errors
22457         [0bd31a5fab26]
22458
22459         * visudo.c:
22460         changed yylineno to sudolineno since yylineno cannot be counted
22461         upon.
22462         [38c30104d0ae]
22463
22464         * TODO:
22465         updated
22466         [5d4746f1a752]
22467
22468         * parse.c:
22469         added code to support command listings
22470         [030172e133fd]
22471
22472         * sudo.c:
22473         added code for -l flag
22474         [801dbbc82778]
22475
22476         * sudo.man:
22477         fixed typo added info for -l flag
22478         [8916ca945d65]
22479
22480         * configure.in:
22481         AC_SSIZE_T -> SUDO_SSIZE_T
22482         [c61f7f47013f]
22483
22484         * aclocal.m4:
22485         added SUDO_SSIZE_T
22486         [0ccdb77be84d]
22487
22488         * sudo.h:
22489         added MODE_LIST
22490         [9b2bd844c76c]
22491
22492         * configure.in:
22493         added AC_SSIZE_T
22494         [35cca208f9b5]
22495
22496         * find_path.c, sudo_realpath.c:
22497         readlink() is now declared as returning ssize~_t
22498         [0640a08d1407]
22499
22500         * configure.in:
22501         added -laud for OSF c2
22502         [b7539c905efc]
22503
22504 1994-09-02  Todd C. Miller  <Todd.Miller@courtesan.com>
22505
22506         * Makefile.in, visudo.c:
22507         changed sudo-bugs.cs.colorado.edu -> sudo-bugs@cs.colorado.edu
22508         [067fd9bcb5e1]
22509
22510         * config.h.in, parse.lex, parse.yacc, pathnames.h.in:
22511         changed sudo-bugs.cs.colorado.edu -> sudo-bugs@cs.colorado.edu
22512         [fc46e7c7110a]
22513
22514         * check.c, find_path.c, getcwd.c, getwd.c, insults.h, logging.c,
22515         parse.c, putenv.c, strdup.c, sudo.c, sudo.h, sudo_realpath.c,
22516         sudo_setenv.c, tgetpass.c, version.h:
22517         changed sudo-bugs.cs.colorado.edu -> sudo-bugs@cs.colorado.ed
22518         [d1d4fbc53a98]
22519
22520 1994-09-01  Todd C. Miller  <Todd.Miller@courtesan.com>
22521
22522         * Makefile.in:
22523         ++version
22524         [b7066d97633f]
22525
22526         * version.h:
22527         ++
22528         [65ec69d88110]
22529
22530         * logging.c:
22531         added host to alertmail messages
22532         [d973c19ce777]
22533
22534         * CHANGES, TODO:
22535         udpated
22536         [5a65eb16faeb]
22537
22538         * logging.c:
22539         fixed logging problem where mail would not say which user it was
22540         [35723edcc5d2]
22541
22542         * configure.in:
22543         added -laud for gcc if osf & c2
22544         [18f1e0ae5548]
22545
22546         * check.c:
22547         moved set_auth_parameters to sudo.c
22548         [d23112fe01db]
22549
22550         * sudo.c:
22551         added set_auth_parameters for osf
22552         [eb70f65214ac]
22553
22554         * configure.in:
22555         cleaned up -static stuff
22556         [01e9575f0422]
22557
22558         * Makefile.in:
22559         ++version
22560         [7ac3bff5c770]
22561
22562         * version.h:
22563         ++
22564         [10a4ff478469]
22565
22566         * sudo.c:
22567         changed setenv() to sudo_setenv()
22568         [40a78abb9946]
22569
22570         * check.c:
22571         fixed osf problem
22572         [3d69b118efb8]
22573
22574         * configure.in:
22575         added OSF C2 stuff
22576         [38cff3ad4093]
22577
22578         * CHANGES:
22579         updated
22580         [cd341dd0581a]
22581
22582         * check.c:
22583         added osf auth support & removed some extra spaces
22584         [a448cdd81514]
22585
22586         * INSTALL, SUPPORTED:
22587         added osf C2 stuff
22588         [f70484796146]
22589
22590 1994-08-31  Todd C. Miller  <Todd.Miller@courtesan.com>
22591
22592         * TODO:
22593         added 2 suggestions
22594         [695fbdbd86e6]
22595
22596         * Makefile.in:
22597         removed README.v1.3.1 and added VERSION stuff
22598         [f69403eb04c6]
22599
22600         * version.h:
22601         pl1
22602         [21580c0f8cb1]
22603
22604 1994-08-30  Todd C. Miller  <Todd.Miller@courtesan.com>
22605
22606         * version.h:
22607         1.3.1final
22608         [630114970298]
22609
22610         * Makefile.in:
22611         added HISTORY
22612         [901bff251614]
22613
22614         * sudo.man:
22615         mention HISTPRY file
22616         [86dbcfd4326e]
22617
22618         * sudo.c:
22619         use sizeof instead of a constant in 1 place
22620         [d819604c68ca]
22621
22622         * parse.yacc:
22623         added unistd.h
22624         [6f9500f9fe7e]
22625
22626         * parse.lex:
22627         added unistd.h
22628         [468b81a276eb]
22629
22630         * README:
22631         udpated
22632         [7e275618923a]
22633
22634         * HISTORY:
22635         Initial revision
22636         [5db1b0a3939b]
22637
22638 1994-08-17  Todd C. Miller  <Todd.Miller@courtesan.com>
22639
22640         * version.h:
22641         ++
22642         [7dfbb4a810bb] [SUDO_1_3_1]
22643
22644         * CHANGES:
22645         updated
22646         [7820ee610bf8]
22647
22648         * sudo_setenv.c:
22649         added unistd.h include
22650         [30cf2b654525]
22651
22652 1994-08-16  Todd C. Miller  <Todd.Miller@courtesan.com>
22653
22654         * sudo.c:
22655         added sys/time.h for AIX
22656         [199fc8caf3a3]
22657
22658 1994-08-15  Todd C. Miller  <Todd.Miller@courtesan.com>
22659
22660         * configure.in:
22661         added check for -lsocket and sys/sockio.h
22662         [f9abfbb31031]
22663
22664         * config.h.in:
22665         took out libshadow check and added in sys/sockio.h check
22666         [0c4b0393ac80]
22667
22668         * sudo.c:
22669         now include sockio.h instead of ioctl.h if it exists "sudo -" now
22670         gets a better error message
22671         [53041bea5483]
22672
22673         * sample.sudoers:
22674         now has a dir and subnet entry
22675         [56b820f65438]
22676
22677 1994-08-13  Todd C. Miller  <Todd.Miller@courtesan.com>
22678
22679         * sudo.c:
22680         removed if_ether.h
22681         [b4f64507493e]
22682
22683         * TODO:
22684         added an item
22685         [ea2a1bb6922a]
22686
22687         * sudo.man:
22688         added network and ip addresses to man page
22689         [01c85016511f]
22690
22691         * sudo.c:
22692         no error if can't get interfaces or netmask since networking may not
22693         be in the kernel.
22694         [50b8890e2134]
22695
22696         * parse.c:
22697         nwo check for interfaces == NULL
22698         [dc1b3eef0db2]
22699
22700         * parse.c:
22701         fixed a bug that caused directory specs in a Cmnd_Alias to fail if
22702         the last entry in the spec failed (ie: it was only looking at the
22703         last entry). CLeaned things up by adding the cmndcmp() function--all
22704         neat & tidy
22705         [007e93578e5e]
22706
22707         * CHANGES:
22708         added one
22709         [40e8a2cef497]
22710
22711 1994-08-12  Todd C. Miller  <Todd.Miller@courtesan.com>
22712
22713         * sudo.c:
22714         now do two passes to skip bogus interfaces (lo0, etc)
22715         [465e30aecaf7]
22716
22717         * parse.lex, parse.yacc, visudo.c:
22718         added include of netinet/in.h
22719         [11e3816ed362]
22720
22721         * logging.c, sudo_realpath.c, sudo_setenv.c:
22722         added ninclude of netinet/in.h
22723         [daccfa40fe1e]
22724
22725         * check.c, find_path.c, getcwd.c, getwd.c:
22726         added include of netinet/in.h
22727         [0222f95e06ad]
22728
22729         * version.h:
22730         ++
22731         [d6b0cfa35a38]
22732
22733         * sudo.h:
22734         added interfaces global
22735         [ba52fa8ad75e]
22736
22737         * parse.c:
22738         now uses new interfaces global
22739         [17473ad5ecba]
22740
22741         * sudo.c:
22742         now ip addresses are gleaned fw/o dns
22743         [8828bb2007e0]
22744
22745 1994-08-10  Todd C. Miller  <Todd.Miller@courtesan.com>
22746
22747         * sudo.c:
22748         added load_ip_addrs() to load the ip_addrs global var
22749         [60c825f04238]
22750
22751         * parse.c:
22752         added hostcmp() to compare hostnames, ip addrs, and network addrs
22753         [ab0e40e37537]
22754
22755         * sudo.h:
22756         added ip_addrs def added load_ip_addrs prototype
22757         [c41c565d0777]
22758
22759 1994-08-08  Todd C. Miller  <Todd.Miller@courtesan.com>
22760
22761         * CHANGES:
22762         updated
22763         [2a128dbe9bcb]
22764
22765         * Makefile.in:
22766         removed multiple entries in DISTFILES
22767         [2490f4f371e6]
22768
22769         * visudo.c:
22770         ansified the !STDC_HEADERS decls
22771         [646ba06d17ae]
22772
22773         * find_path.c, getcwd.c, getwd.c, putenv.c, strdup.c:
22774         don't do malloc decl if gnuc
22775         [f1bad1925f98]
22776
22777         * sudo.c:
22778         can't use getopt(3) since it munges args to the command to be run as
22779         root don't do malloc decl if gnuc
22780         [38e78f6da14e]
22781
22782         * find_path.c, getcwd.c, getwd.c, putenv.c, strdup.c, sudo.c,
22783         sudo_realpath.c, sudo_setenv.c:
22784         ansi-fied !STDC_HEADER function prottypes
22785         [51d8cad89976]
22786
22787         * getcwd.c, getwd.c:
22788         added missing paren
22789         [6a1fae70e27e]
22790
22791         * Makefile.in:
22792         added putenv.c to DISTFILES
22793         [a5e4523eabbb]
22794
22795         * sudo_setenv.c:
22796         added params to func decls when STDC_HEADERS is not defined now can
22797         count on putenv() being there
22798         [fd587796189b]
22799
22800         * sudo_realpath.c:
22801         took out errno decl since sudo.h does it for us fixed up a next cc
22802         warning added params to func decls when STDC_HEADERS is not defined
22803         [70fa5152ace6]
22804
22805         * sudo.h:
22806         took out environ extern added local declaratio of putenv() if local
22807         version is needed
22808         [a84bae6c020d]
22809
22810         * find_path.c, getcwd.c, getwd.c, strdup.c, sudo.c:
22811         added params to func decls when STDC_HEADERS is not defined
22812         [f406f0e47ac0]
22813
22814         * config.h.in:
22815         added memcpy check check to see that ansi vs bsd macros are ntot
22816         already defiend before defining (ie: avoid redefinition)
22817         [879ae026e19f]
22818
22819         * configure.in:
22820         removed fluff setenv check plus check w/ replace for putenv if also
22821         no setenv
22822         [e3c03814ad4b]
22823
22824         * putenv.c:
22825         Initial revision
22826         [3cff63e2dc1b]
22827
22828 1994-08-06  Todd C. Miller  <Todd.Miller@courtesan.com>
22829
22830         * sudo_setenv.c:
22831         Initial revision
22832         [4d637631fa6b]
22833
22834         * sudo.h:
22835         rm'd s realp[ath added sudo_realpath and sudo_setenv
22836         [07ba001ff57e]
22837
22838         * sudo.c:
22839         now use sudo_setenvc
22840         [fd81e04d5ef0]
22841
22842         * configure.in:
22843         added puteenv and setenv, removed realpath
22844         [27bfacfb513b]
22845
22846         * config.h.in:
22847         added putenv & setenv
22848         [515f14eaf6e4]
22849
22850         * Makefile.in:
22851         added sudo_setenv
22852         [217731a717c5]
22853
22854         * version.h:
22855         ++
22856         [eadb346d7129]
22857
22858 1994-08-05  Todd C. Miller  <Todd.Miller@courtesan.com>
22859
22860         * configure.in:
22861         added MAN_POSTINSTALL and /usr/share/catman for irix
22862         [2a9496c1bdba]
22863
22864         * Makefile.in:
22865         added MAN_POSTINSTALL
22866         [89b0d4695529]
22867
22868         * CHANGES:
22869         added
22870         [48c021ba8a70]
22871
22872         * sudo.man:
22873         added SUDO_* plus new options
22874         [c0759cff5683]
22875
22876         * CHANGES:
22877         added one
22878         [7d44a3922d56]
22879
22880         * configure.in:
22881         took out shadow lib
22882         [07cf3de18701]
22883
22884         * TODO:
22885         adde done
22886         [a27a578e8afe]
22887
22888         * visudo.c:
22889         now use yyrestart() if flex now reset yylineno to 0
22890         [77d67ce0b677]
22891
22892         * Makefile.in:
22893         support for installing a cat page instead of a man page if no nroff
22894         [44671c0fc0fa]
22895
22896         * configure.in:
22897         now defines HAVE_FLEX fixed up man stuff so that it looks for nroff
22898         to determine whether or not to install a cat or man page
22899         [0562d069c135]
22900
22901         * config.h.in:
22902         added HAVE_FLEX
22903         [c5490bae39d3]
22904
22905         * sudo.c:
22906         not set ret to MODE_RUN initially
22907         [88b4983c195b]
22908
22909         * find_path.c:
22910         made command (and therefor cmnd dynamically allocated)
22911         [95b82e32b6de]
22912
22913         * TODO:
22914         did #8
22915         [fb6f41308cdf]
22916
22917         * version.h:
22918         ++
22919         [14112ecab5ae]
22920
22921         * sudo_realpath.c:
22922         changed bufs from MAXPATHLEN to MAXPATHLEN+1
22923         [0ad4f34e55c0]
22924
22925         * sudo.h:
22926         added MODE_ removed validate_only and added remove_timestamp()
22927         [dd5f99c57728]
22928
22929         * sudo.c:
22930         usage() now takes an int (exit value) added parse_args() to parse
22931         command line arguments moved call to find_path() from load_globals
22932         to new function load_cmnd() removed validate_only global -- now use
22933         the concept of "modes" added -h and -k options
22934         [c3887090b28a]
22935
22936         * parse.c:
22937         no longer use global validate_only now checks for command called
22938         "validate" removed check for non-fully qualified commands since that
22939         is done by find_path
22940         [7d56fbd26369]
22941
22942         * find_path.c:
22943         changed MAXPATHLEN r to MAXPATHLEN+1
22944         [a86e8664d971]
22945
22946         * find_path.c:
22947         fixed off by one error with MAXPATHLEN and fixed a comment
22948         [58adcef8c981]
22949
22950         * check.c:
22951         check_timestamp no longer runs reminder(), it is implied in the
22952         return val added remove_timestamp()
22953         [42ab5a77066f]
22954
22955         * CHANGES:
22956         updated
22957         [8e69b31df024]
22958
22959 1994-08-04  Todd C. Miller  <Todd.Miller@courtesan.com>
22960
22961         * BUGS:
22962         fixed on
22963         [bc34f1ac4280]
22964
22965         * sudo_realpath.c:
22966         took out old_errno
22967         [a168d00a0768]
22968
22969         * CHANGES:
22970         updated
22971         [04ba80922df7]
22972
22973 1994-08-03  Todd C. Miller  <Todd.Miller@courtesan.com>
22974
22975         * logging.c:
22976         moved send_mail to after syslog
22977         [4d4188087834]
22978
22979         * sudo.c:
22980         now set SUDO_ envariables
22981         [e5963f1bd3bb]
22982
22983 1994-08-01  Todd C. Miller  <Todd.Miller@courtesan.com>
22984
22985         * version.h:
22986         ++
22987         [2a4534845d8c]
22988
22989         * sudo_realpath.c:
22990         now print error if chdir fails
22991         [0d75c8973d49]
22992
22993         * find_path.c:
22994         removed an XXX
22995         [e2077bcb35aa]
22996
22997 1994-07-26  Todd C. Miller  <Todd.Miller@courtesan.com>
22998
22999         * CHANGES:
23000         updated
23001         [e30a2b39b41a]
23002
23003         * configure.in:
23004         no more static binaries for aix
23005         [77a0beb6bd80]
23006
23007 1994-07-25  Todd C. Miller  <Todd.Miller@courtesan.com>
23008
23009         * INSTALL:
23010         fixed typo
23011         [ba5e0d391bc4]
23012
23013         * sudo_realpath.c:
23014         took out stuff not needed for sudo now does be_root/be_user itself
23015         now uses cwd global
23016         [4f6d4641d793]
23017
23018         * version.h:
23019         +=2
23020         [97da927b297c]
23021
23022         * logging.c, sudo.c:
23023         be_root/be_user is now down in sudo_realpath()
23024         [f331662fa50f]
23025
23026         * logging.c, sudo.h:
23027         now works with 4.2BSD syslog (blech)
23028         [98e39d89dd36]
23029
23030         * find_path.c:
23031         now use sudo_realpath()
23032         [ab436a8ebd02]
23033
23034         * config.h.in:
23035         took out realpth() stuff since we now use sudo_realpath()
23036         [8de5ef9f6044]
23037
23038         * configure.in:
23039         ultrix enhanced sec
23040         [815fb7fffcc0]
23041
23042         * SUPPORTED:
23043         added ultrix enhanced sec.
23044         [6466766c8062]
23045
23046         * INSTALL:
23047         updated
23048         [d681a634297a]
23049
23050         * check.c:
23051         ultrix enhanced security suport
23052         [f10c8decbcc2]
23053
23054         * Makefile.in:
23055         added sudo_realpath.c
23056         [6b9bcd3be022]
23057
23058         * CHANGES:
23059         updated
23060         [2fa8084c1b53]
23061
23062         * tgetpass.c:
23063         increased passwd len to 24 for c2 security
23064         [ec64838be62d]
23065
23066         * BUGS:
23067         updated BUGS
23068         [ca00d8fec2ce]
23069
23070 1994-07-15  Todd C. Miller  <Todd.Miller@courtesan.com>
23071
23072         * check.c:
23073         now use user global var
23074         [568769719013]
23075
23076         * configure.in:
23077         took out -ls
23078         [490a44180d5f]
23079
23080 1994-07-14  Todd C. Miller  <Todd.Miller@courtesan.com>
23081
23082         * configure.in:
23083         added AFS libs
23084         [4fb40c8c01ba]
23085
23086         * sudo.h:
23087         user is now a char * added epasswd
23088         [27a919fafdfb]
23089
23090         * sudo.c:
23091         added tzset() to load_globals added epasswd (encrypted password)
23092         global made user dynamically allocated
23093         [b99ef9bdbfce]
23094
23095         * configure.in:
23096         added tzset test
23097         [27592dd1214b]
23098
23099         * config.h.in:
23100         added HAVE_TZSET
23101         [b13f4213f3d0]
23102
23103         * check.c:
23104         cleaned up encrypted passwd grab somewhat
23105         [c8ba9a4db38a]
23106
23107         * configure.in:
23108         fixed AFS typo
23109         [2bfcbce237b6]
23110
23111         * INSTALL:
23112         added AFS not
23113         [80c67329393c]
23114
23115         * CHANGES:
23116         udpated
23117         [2f09ecdd5d31]
23118
23119         * logging.c:
23120         can now log to both syslog & a file
23121         [4d5c0932bc01]
23122
23123         * sudo.h:
23124         added BOTH_LOGS
23125         [623c539be824]
23126
23127         * CHANGES:
23128         updated
23129         [a1c7f5ef3616]
23130
23131         * configure.in:
23132         --with-AFS
23133         [28718d8f5daf]
23134
23135         * config.h.in:
23136         added HAVE_AFS
23137         [2e32bb4e63e4]
23138
23139         * check.c:
23140         added afs changes
23141         [fe4d0ff320a2]
23142
23143         * sudo.h:
23144         removed AFS stuff :-)
23145         [a40387e6fa27]
23146
23147         * tgetpass.c:
23148         include sys/select for AIX
23149         [f32c5a8f2c84]
23150
23151         * sudo.h:
23152         added AFS
23153         [da2ab3dd0348]
23154
23155         * version.h:
23156         ++
23157         [452d4dfe25af]
23158
23159 1994-07-07  Todd C. Miller  <Todd.Miller@courtesan.com>
23160
23161         * CHANGES, SUPPORTED:
23162         updated
23163         [e7dfe6f23a37]
23164
23165         * logging.c:
23166         can now have MAILER undefined
23167         [1d33b98b35e1]
23168
23169         * INSTALL:
23170         new sub-note about MAILER
23171         [d35c636a0574]
23172
23173         * sudo.man:
23174         added blurb about password timeout
23175         [70c2ee50de20]
23176
23177         * configure.in:
23178         convex c2 changes
23179         [367138a6232e]
23180
23181         * aclocal.m4:
23182         took out duplicate define of _CONVEX_SOURCE
23183         [647182138450]
23184
23185         * Makefile.in:
23186         added OSDEFS
23187         [7fdcd50602d1]
23188
23189         * config.h.in:
23190         added spaces
23191         [f2b8a05e48f3]
23192
23193         * tgetpass.c:
23194         added a goto if fgets fails
23195         [68a6586d9c45]
23196
23197         * sudo.h:
23198         use __hpux not hpux convex c2 stuff
23199         [5c377a8d5f34]
23200
23201         * sudo.c:
23202         use __hpux not hpux
23203         [9363bc0f9f9e]
23204
23205         * logging.c:
23206         convex c2 stuff
23207         [ea5630975ac4]
23208
23209         * config.h.in:
23210         define ansi-ish cpp os defines if non-ansi are defined for hpux &
23211         convex
23212         [664f53a5e786]
23213
23214         * INSTALL:
23215         updated to say we support sonvex C2
23216         [5f2f8b87013e]
23217
23218         * check.c:
23219         added convex c2 support
23220         [9a665d4918fa]
23221
23222 1994-07-01  Todd C. Miller  <Todd.Miller@courtesan.com>
23223
23224         * tgetpass.c:
23225         no more ioctl never returns NULL uses fgets() and select() to
23226         timeout
23227         [b333e6d63e97]
23228
23229 1994-06-29  Todd C. Miller  <Todd.Miller@courtesan.com>
23230
23231         * configure.in:
23232         things were testing -n "$GCC" instead of -z "$GCC"
23233         [059a9b15ede2]
23234
23235         * tgetpass.c:
23236         now works + uses fgets()
23237         [353d7ebcb7bb]
23238
23239 1994-06-28  Todd C. Miller  <Todd.Miller@courtesan.com>
23240
23241         * tgetpass.c:
23242         select doesn't seem to recognize a single '\n' as input waiting so
23243         we can;t use it, sigh.
23244         [f76e3218b835]
23245
23246 1994-06-26  Todd C. Miller  <Todd.Miller@courtesan.com>
23247
23248         * PORTING:
23249         updated tgetpass() blurb
23250         [95baac736b49]
23251
23252         * configure.in:
23253         added --with-getpass
23254         [42ac0bdf58ed]
23255
23256         * Makefile.in:
23257         added tgetpass stuff
23258         [e2b38c635663]
23259
23260         * tgetpass.c:
23261         now uses stdio
23262         [36af8ff66e35]
23263
23264         * version.h:
23265         ++
23266         [4e81c9db19bd]
23267
23268 1994-06-24  Todd C. Miller  <Todd.Miller@courtesan.com>
23269
23270         * PORTING:
23271         updated ,.
23272         [54f523770a05]
23273
23274         * config.h.in:
23275         added USE_GETPASS && HAVE_C2_SECURITY
23276         [86b355cb2953]
23277
23278         * configure.in:
23279         fixed a test aded --with-C2 and --with-tgetpass
23280         [abf6181588ef]
23281
23282         * check.c:
23283         added hpux C2 shit
23284         [20d4177ffa88]
23285
23286         * Makefile.in:
23287         took out tgetpass.*
23288         [cc82fd9984b4]
23289
23290         * INSTALL:
23291         added C2 blurb
23292         [1d2bfc35e4b6]
23293
23294 1994-06-13  Todd C. Miller  <Todd.Miller@courtesan.com>
23295
23296         * configure.in:
23297         no termio(s) for ultrix since it is broken
23298         [d3e82e835350]
23299
23300         * check.c:
23301         added a space (yeah, anal)
23302         [05e4b31ca68c]
23303
23304         * realpath.c, sudo_realpath.c:
23305         fixed it (duh, rtfm)
23306         [f13097cb8cb6]
23307
23308 1994-06-08  Todd C. Miller  <Todd.Miller@courtesan.com>
23309
23310         * config.h.in:
23311         took out bsd signal stuff for irix
23312         [e179cdafc97a]
23313
23314         * visudo.c:
23315         comments in #endif
23316         [e3a629190f5e]
23317
23318         * configure.in:
23319         don't define BSD signals for irix
23320         [3ce57bffb7f0]
23321
23322         * TODO:
23323         did some...
23324         [274241cd0f74]
23325
23326         * CHANGES:
23327         updated
23328         [8f29fc755faf]
23329
23330         * realpath.c, sudo_realpath.c:
23331         took out unneeded code by changing where a strings was terminated
23332         [b5564d62d30e]
23333
23334 1994-06-07  Todd C. Miller  <Todd.Miller@courtesan.com>
23335
23336         * realpath.c, sudo_realpath.c:
23337         fix bug where /dirname would return NULL
23338         [b85f470daf26]
23339
23340         * sudo.h:
23341         move __P to config.h
23342         [7763c0ff3f28]
23343
23344         * getcwd.c, getwd.c, realpath.c, sudo_realpath.c:
23345         added errno definition
23346         [4cc9d2d9782a]
23347
23348         * config.h.in:
23349         added __P
23350         [ca06f5aa58f3]
23351
23352         * config.h.in:
23353         added HAVE_FCHDIR
23354         [206d714641e0]
23355
23356         * strdup.c:
23357         now include stdio
23358         [0d8458da0e1d]
23359
23360         * realpath.c, sudo_realpath.c:
23361         now works if no fchdir
23362         [e035911b6722]
23363
23364         * visudo.c:
23365         define SA_RESETHAND to null if not defined
23366         [afec03e84342]
23367
23368         * configure.in:
23369         added check & replace
23370         [c1a65481441c]
23371
23372         * configure.in:
23373         took out -static for nextstep -- it doesn't work
23374         [fa1a1a611743]
23375
23376 1994-06-06  Todd C. Miller  <Todd.Miller@courtesan.com>
23377
23378         * logging.c:
23379         moved #endif to where it belongs
23380         [07d3a8972097]
23381
23382         * SUPPORTED:
23383         correction
23384         [0c1ecba3e5a3]
23385
23386         * configure.in:
23387         now checks for strdup realpath getcwd bzero
23388         [f029a1917515]
23389
23390         * config.h.in:
23391         emulate bzero
23392         [d792352e44a3]
23393
23394         * visudo.c:
23395         added posic signals
23396         [2ed0005f90fc]
23397
23398         * tgetpass.c:
23399         bzero cast
23400         [6d91b1a1526f]
23401
23402         * logging.c:
23403         added posix signals
23404         [67ede9c22a05]
23405
23406         * configure.in:
23407         removed BROKEN_GETPASS added new srcs toreplace missing functions
23408         [cf44274bb1c8]
23409
23410         * config.h.in:
23411         added posix signal stuff
23412         [a3c1c98fe8ef]
23413
23414         * Makefile.in:
23415         added new srcs
23416         [b6a079afee47]
23417
23418         * visudo.c:
23419         updated useag
23420         [589ed091c44f]
23421
23422         * tgetpass.c:
23423         now uses posix signals
23424         [30f74964074f]
23425
23426         * PORTING:
23427         updated sto reflect major changes
23428         [bcfc309e017b]
23429
23430         * CHANGES, TODO:
23431         updated
23432         [23aacbd54278]
23433
23434         * tgetpass.c:
23435         uses sysconf() if available
23436         [a27431c90bab]
23437
23438         * sudo.h:
23439         added PASSWORD_TIMEOUT + prototypes for new functions
23440         [d7473c2f77c4]
23441
23442         * realpath.c, sudo_realpath.c:
23443         for those w/o this in libc
23444         [1e47aa7a9d46]
23445
23446         * getcwd.c, getwd.c:
23447         Initial revision
23448         [c90dea57a84f]
23449
23450         * find_path.c:
23451         rewrote to use realpath(3) - nis now all my code
23452         [d2c3bb8fb37d]
23453
23454         * config.h.in:
23455         added HAVE_REALPATH
23456         [02c10352a8c7]
23457
23458         * check.c:
23459         now use tgetpass
23460         [b5c021fc179f]
23461
23462         * Makefile.in:
23463         added LIBOBJS use tgetpass.c
23464         [230a7b3eeaa3]
23465
23466 1994-06-05  Todd C. Miller  <Todd.Miller@courtesan.com>
23467
23468         * tgetpass.c:
23469         works now :-)
23470         [025e7a3875ba]
23471
23472         * tgetpass.c:
23473         Initial revision
23474         [3316ab33b230]
23475
23476         * pathnames.h.in:
23477         added /dev/tty
23478         [29242585e53f]
23479
23480 1994-06-04  Todd C. Miller  <Todd.Miller@courtesan.com>
23481
23482         * version.h:
23483         incremented
23484         [f2e54b48280f]
23485
23486         * sudo.c:
23487         always use getcwd
23488         [c6068e8a4029]
23489
23490         * config.h.in:
23491         added check for getwd
23492         [ab1e102ad673]
23493
23494         * configure.in:
23495         replace strdup & realpath & getcwd if missing
23496         [b0eb14f2a1c3]
23497
23498         * pathnames.h.in:
23499         added _PATH_PWD
23500         [309d2388f69a]
23501
23502         * aclocal.m4:
23503         added SUDO_PROG_PWD
23504         [e16e85deb96c]
23505
23506         * strdup.c:
23507         Initial revision
23508         [810efdc15007]
23509
23510         * realpath.c, sudo_realpath.c:
23511         Initial revision
23512         [d85eee438e09]
23513
23514 1994-06-03  Todd C. Miller  <Todd.Miller@courtesan.com>
23515
23516         * configure.in:
23517         quoted quare brackets
23518         [d0e7ca111d98]
23519
23520 1994-06-02  Todd C. Miller  <Todd.Miller@courtesan.com>
23521
23522         * sudo.c:
23523         no need to strdup() a constant
23524         [a8c44712df9a]
23525
23526         * CHANGES:
23527         updated
23528         [71364129cca0]
23529
23530         * sudo.man:
23531         added validate
23532         [0bb198095a26]
23533
23534         * sudo.c:
23535         added -v to usage
23536         [31ea71f11dbb]
23537
23538         * parse.c, sudo.c, sudo.h:
23539         added validate_only stuff
23540         [9bcd853d3c90]
23541
23542 1994-05-30  Todd C. Miller  <Todd.Miller@courtesan.com>
23543
23544         * configure.in:
23545         now finds sed
23546         [6374bb0d3f28]
23547
23548         * aclocal.m4:
23549         $OSREV is now an int
23550         [ace0666d66cf]
23551
23552 1994-05-29  Todd C. Miller  <Todd.Miller@courtesan.com>
23553
23554         * configure.in:
23555         added mtxinu to caser
23556         [73a776887b16]
23557
23558         * sudo.h:
23559         added EXEC macro
23560         [2e8eb28b710a]
23561
23562         * sudo.c:
23563         now use the EXEC nmacro now only do a gethostbyname() if FQDN is set
23564         [56afb4f658d5]
23565
23566         * logging.c:
23567         changed mail_argv[] def now use EXEC() macro
23568         [ddcabd28edb1]
23569
23570         * check.c:
23571         took out crypt() definition
23572         [0e657724cf5f]
23573
23574         * version.h:
23575         upped the version
23576         [62c5d66119fc]
23577
23578         * configure.in:
23579         always look for -lnsl
23580         [d7b594f0313b]
23581
23582         * aclocal.m4:
23583         added an echo
23584         [1caae3491dc5]
23585
23586         * sudo.h:
23587         SHORT_MESSAGE is now the default
23588         [cfce35c3119a]
23589
23590         * config.h.in:
23591         fixed typo
23592         [6499a564bf75]
23593
23594         * configure.in:
23595         added missing AC_DEFINE(SVR4) for solaris
23596         [feef0b17b94f]
23597
23598         * sudo.man:
23599         documented the -v flag
23600         [a6429f2bc2cf]
23601
23602         * SUPPORTED:
23603         updated
23604         [088886e79540]
23605
23606         * check.c:
23607         proto-ized crypt()
23608         [801e4ff5b121]
23609
23610         * config.h.in:
23611         added LIBSHADOW undef
23612         [8df588e9ee2b]
23613
23614         * configure.in:
23615         nwo set OS to be lowercase
23616         [561ebed833e4]
23617
23618 1994-05-28  Todd C. Miller  <Todd.Miller@courtesan.com>
23619
23620         * configure.in:
23621         now use SUDO_OSTYPE to set $OS
23622         [0e60aee23098]
23623
23624         * aclocal.m4:
23625         now use uname to determine os
23626         [99705e58d400]
23627
23628         * visudo.c:
23629         added prototypes & moved sig handler around
23630         [1f0bc8d23b51]
23631
23632         * sudo.h:
23633         added prototyppes
23634         [be3935a2b163]
23635
23636         * check.c, logging.c, sudo.c:
23637         added prototypes
23638         [2079b4605ab8]
23639
23640         * parse.c:
23641         added comment
23642         [a34d147d8399]
23643
23644         * config.h.in:
23645         nwo use _BSD_SIGNALS not _BSD_COMPAT
23646         [63663195f047]
23647
23648         * aixcrypt.exp:
23649         Initial revision
23650         [890aed08357e]
23651
23652         * Makefile.in:
23653         added aixcrypt.exp
23654         [1005a183105f]
23655
23656         * parse.lex, parse.yacc:
23657         moved config.h to top of includes
23658         [9569c49aa5f3]
23659
23660 1994-05-25  Todd C. Miller  <Todd.Miller@courtesan.com>
23661
23662         * find_path.c:
23663         now don't bitch if get EACCESS (treat like EPERM)
23664         [dbeffb638de4]
23665
23666         * visudo.c:
23667         added -v flag and usage()
23668         [4d44ed60ed75]
23669
23670         * version.h:
23671         fixed a typo
23672         [cf3f9347ae41]
23673
23674         * sudo.c:
23675         cast Argv to a const for exec added -v flag
23676         [d11b6efc0e45]
23677
23678         * logging.c:
23679         mail_argv is now a const
23680         [93bb5d90bb6f]
23681
23682         * configure.in:
23683         only set RETSIGTYPE if it is not set already
23684         [c97aac260b77]
23685
23686         * aclocal.m4:
23687         now defines & STDC_HEADERS for Irix
23688         [9c2b24ad1fc5]
23689
23690         * Makefile.in:
23691         added version.h
23692         [9f79e880229a]
23693
23694         * insults.h, sudo.h:
23695         prevent multiple inclusion
23696         [d68c8a9243ce]
23697
23698         * version.h:
23699         Initial revision
23700         [dbb39c5ef8d9]
23701
23702         * parse.lex, parse.yacc:
23703         now includes config.h
23704         [f117e036a56b]
23705
23706         * aclocal.m4:
23707         now talks about sunos 4.x
23708         [c9054aa92d4e]
23709
23710         * visudo.c:
23711         calls to Exit now pass an arg
23712         [a92104670551]
23713
23714 1994-05-24  Todd C. Miller  <Todd.Miller@courtesan.com>
23715
23716         * visudo.c:
23717         signal handler now takes an int argument
23718         [26f480c41523]
23719
23720         * CHANGES:
23721         updated
23722         [8c166a9d796b]
23723
23724         * sudo.c:
23725         ok, the getcwd() is now *really* done as the user
23726         [ab86cf85134a]
23727
23728         * configure.in:
23729         changed AIX STATIC_FLAGS
23730         [b9c0a3ba5663]
23731
23732         * aclocal.m4:
23733         solaris now defines SVR4
23734         [c3e20cac96f5]
23735
23736         * sudo.h:
23737         added cwd and fixed stupid core dump that makes no sense. sigh.
23738         [7a9755436dbb]
23739
23740         * sudo.c:
23741         moved getcwd stuff into load_globals
23742         [ec2bc90df1f3]
23743
23744         * parse.c:
23745         took out externs that are in suod.h
23746         [93c4b3f856d7]
23747
23748         * logging.c:
23749         moved cwd into load_globals
23750         [050de754d228]
23751
23752         * find_path.c:
23753         moved cwd stuff
23754         [22f3f3b4c34d]
23755
23756         * Makefile.in:
23757         fixed make distclean & realclean
23758         [c9964d89bcef]
23759
23760         * TODO:
23761         updated .,
23762         [e513581ef0e3]
23763
23764         * CHANGES:
23765         added solaris changes
23766         [505d930daf27]
23767
23768         * aclocal.m4:
23769         added solaris changes, need to rework
23770         [33f20fb16c49]
23771
23772         * configure.in:
23773         cleaned up for solaris
23774         [2fb8cfa05d0f]
23775
23776         * logging.c:
23777         reinstall reapchild signal handler for non-bsd signals
23778         [3d1dc545113d]
23779
23780         * sudo.h:
23781         took out getdtablesize() emulation for HP-UX (no longer needed)
23782         [1fc83d170f34]
23783
23784         * sudo.c:
23785         support for HAVE_SYSCONF
23786         [50ca2a7a224a]
23787
23788         * visudo.c:
23789         added <fcntl.h> for solaris & reorg'd the includes + minor prettying
23790         up /
23791         [0a570e826dd4]
23792
23793         * config.h.in:
23794         added HAVE_SYSCONF
23795         [2b9a9f3a4e94]
23796
23797 1994-05-16  Todd C. Miller  <Todd.Miller@courtesan.com>
23798
23799         * configure.in:
23800         now tells you what os you are running /.
23801         [06c6332a895b]
23802
23803         * aclocal.m4:
23804         took out extra ','
23805         [e8c75ce59f4a]
23806
23807 1994-05-14  Todd C. Miller  <Todd.Miller@courtesan.com>
23808
23809         * config.h.in:
23810         added _BSD_COMPAT
23811         [73c5099806c2]
23812
23813         * aclocal.m4:
23814         fixed for irix5
23815         [1047d1f6c0eb]
23816
23817         * CHANGES:
23818         updated
23819         [1bc4969fee96]
23820
23821         * sudo.c:
23822         uid seinitialized to -2
23823         [8d7812b1878b]
23824
23825 1994-04-28  Todd C. Miller  <Todd.Miller@courtesan.com>
23826
23827         * sudo.c:
23828         now removes LIBPATH for AIX
23829         [075392eb1dd9]
23830
23831 1994-03-13  Todd C. Miller  <Todd.Miller@courtesan.com>
23832
23833         * configure.in:
23834         now uses ufc if it finds it
23835         [ab6ce30a5958]
23836
23837 1994-03-12  Todd C. Miller  <Todd.Miller@courtesan.com>
23838
23839         * sudo.h:
23840         no longer define yyval & yylval since yacc does it
23841         [09d250aea50a]
23842
23843         * parse.lex:
23844         now defines yylval as extenr
23845         [8ec2b88952bc]
23846
23847         * configure.in:
23848         BROKEN_GETPASS is now an OPTION
23849         [3714f4bb8312]
23850
23851         * config.h.in:
23852         took out BROKEN_GETPASS
23853         [9c4f6aa50137]
23854
23855         * Makefile.in:
23856         took out big comment
23857         [4c13cff0e556]
23858
23859         * README:
23860         updated
23861         [b8b9902b620d]
23862
23863         * Makefile.in:
23864         took out README.beta
23865         [ed2cd861e82b]
23866
23867         * SUPPORTED:
23868         Initial revision
23869         [2fffc51e6606]
23870
23871         * INSTALL:
23872         now reference SUPPORTED .,
23873         [d112c30be1f2]
23874
23875         * config.h.in:
23876         now check for convex OR __convex__
23877         [a0e5701a3069]
23878
23879         * aclocal.m4:
23880         now check for convex or __convex__
23881         [5dae2bfbe3bc]
23882
23883         * Makefile.in:
23884         added dist target
23885         [400a54de57db]
23886
23887         * aclocal.m4:
23888         use __convex__
23889         [58a19470ed0b]
23890
23891         * find_path.c:
23892         now use _S_* stat stuff to be ansi-like
23893         [28cce560e048]
23894
23895         * INSTALL:
23896         updated for configure directions
23897         [a034ccc7c30a]
23898
23899         * Makefile.in:
23900         distclean now removes config.h and pathnames.h
23901         [300f2349b4ab]
23902
23903         * CHANGES:
23904         updated
23905         [646f7e9430c1]
23906
23907         * TODO:
23908         fixed typoe
23909         [70fd6361b2bc]
23910
23911         * visudo.c:
23912         updated version
23913         [cf13d87d789f]
23914
23915         * Makefile.in:
23916         updated version
23917         [8c5dacc27a7a]
23918
23919         * config.h.in, pathnames.h.in:
23920         added copyright header
23921         [747ce3d3d6b7]
23922
23923         * check.c, find_path.c, insults.h, logging.c, parse.c, parse.lex,
23924         parse.yacc, sudo.c, sudo.h:
23925         udpated version
23926         [4751c39bad18]
23927
23928         * visudo.c:
23929         udpated to use configure + pathnames.h
23930         [d45dff76a1cd]
23931
23932         * aclocal.m4:
23933         updated
23934         [f05a367a55be]
23935
23936         * Makefile.in, config.h.in, configure.in:
23937         updated
23938         [524778598879]
23939
23940         * sudo.h:
23941         now works with configure
23942         [83fc40e533f4]
23943
23944         * check.c, find_path.c, getpass.c, logging.c, parse.c, sudo.c:
23945         updated to work with configure + pathnames.h
23946         [cb67fa6ab52d]
23947
23948         * Makefile.in:
23949         added LEXLIB
23950         [f43cad4ab0a2]
23951
23952 1994-03-10  Todd C. Miller  <Todd.Miller@courtesan.com>
23953
23954         * COPYING:
23955         updated gnu general licence to versio 2
23956         [2b0b56112ddc]
23957
23958         * config.h.in, pathnames.h.in:
23959         Initial revision
23960         [4b586f39ec2d]
23961
23962         * sudo.h:
23963         changed to work with configure
23964         [13f3506ddf16]
23965
23966 1994-03-09  Todd C. Miller  <Todd.Miller@courtesan.com>
23967
23968         * Makefile.in, aclocal.m4, configure.in:
23969         Initial revision
23970         [a8636ae77371]
23971
23972         * visudo.c:
23973         now uses defines used by configure
23974         [de438d118993]
23975
23976 1994-03-01  Todd C. Miller  <Todd.Miller@courtesan.com>
23977
23978         * find_path.c:
23979         sudo won't bitch about EPERM now, for real
23980         [ce26d9ef7e3f]
23981
23982 1994-02-28  Todd C. Miller  <Todd.Miller@courtesan.com>
23983
23984         * logging.c:
23985         renamed exec_argv to eliminate a libc name clash with ksros
23986         [bcb4350d8411]
23987
23988         * CHANGES:
23989         corrected
23990         [dae68d422efd]
23991
23992         * logging.c, sudo.c, sudo.h:
23993         execve -> execv
23994         [40cc2c4bdb15]
23995
23996         * TODO:
23997         upated
23998         [9275a8b8fc45]
23999
24000         * PORTING:
24001         added 2 mroe items
24002         [6cbb5c56993c]
24003
24004         * CHANGES:
24005         updated
24006         [73f34f8e571a]
24007
24008         * sudo.h:
24009         added UMASK and mode_t declaration
24010         [7c2015e1d171]
24011
24012         * sudo.c:
24013         added UMASK
24014         [d37be7523680]
24015
24016         * logging.c:
24017         now opens log file with mode 077
24018         [0825cc3ee841]
24019
24020         * check.c:
24021         saved current umask ans restores it
24022         [659c1aaae8e8]
24023
24024         * sudo.h:
24025         added MAXLOGFILELEN
24026         [34331c7dee90]
24027
24028         * logging.c:
24029         split long log lines. FOr syslog, split into multiple entries, for
24030         a log file, indent the extra for readability
24031         [72c9e4cdba6e]
24032
24033 1994-02-27  Todd C. Miller  <Todd.Miller@courtesan.com>
24034
24035         * CHANGES:
24036         added changes
24037         [81196833673d]
24038
24039         * sudo.h:
24040         MAXLOGLEN & MAXSYSLOGLEN are now different (as they should be)
24041         [1aa69e903840]
24042
24043 1994-02-25  Todd C. Miller  <Todd.Miller@courtesan.com>
24044
24045         * TODO:
24046         added input from Brett M Hogden <hogden@rge.com>
24047         [80f01fc88ce9]
24048
24049 1994-02-16  Todd C. Miller  <Todd.Miller@courtesan.com>
24050
24051         * sudo.c:
24052         added rmenv() to remove stuff from environ. can now uses execvp()
24053         OR execve() becuase of this.
24054         [e7fc2535bd67]
24055
24056         * logging.c:
24057         now uses execvp() OR execve()
24058         [56391aa1f99d]
24059
24060         * sudo.h:
24061         added USE_EXECVE
24062         [f21f38050b95]
24063
24064         * sudo.h:
24065         added environ
24066         [6b805e23c6f6]
24067
24068         * find_path.c:
24069         now ignore EPERM
24070         [c8fd7117a1d7]
24071
24072         * sudo.h:
24073         moved some func decls out of sudo.h and into sudo.c as statics /.
24074         [5f555c267d27]
24075
24076         * CHANGES:
24077         updated
24078         [431f478af320]
24079
24080         * sudo.h:
24081         took out Envp
24082         [6f722be7793d]
24083
24084 1994-02-14  Todd C. Miller  <Todd.Miller@courtesan.com>
24085
24086         * BUGS:
24087         Initial revision
24088         [4a8ecf0da95c]
24089
24090 1994-02-10  Todd C. Miller  <Todd.Miller@courtesan.com>
24091
24092         * CHANGES:
24093         added SECURE_PATH
24094         [1c72cb222609]
24095
24096         * sudo.c, sudo.h:
24097         added SECURE_PATH
24098         [5bf5357a63c5]
24099
24100         * sudo.h:
24101         added SECURE_PATH
24102         [3976a74405ac]
24103
24104         * INSTALL:
24105         added sample.sudoers note
24106         [1b395d29aaeb]
24107
24108         * sudoers:
24109         Initial revision
24110         [485888d07477]
24111
24112 1994-02-09  Todd C. Miller  <Todd.Miller@courtesan.com>
24113
24114         * find_path.c:
24115         fixed typo
24116         [bfc3cc4d41ca]
24117
24118         * PORTING:
24119         took out SAVED_UID garbage
24120         [b7c2d3469661] [SUDO_1_3_0]
24121
24122         * INSTALL:
24123         mentioned HAL
24124         [253d6695df90]
24125
24126         * sudo.h:
24127         added HAL line
24128         [29ec1a4ac6de]
24129
24130         * insults.h:
24131         added HAL insults
24132         [7d7c96d77c74]
24133
24134         * TODO:
24135         updated
24136         [aa2ed9790586]
24137
24138         * logging.c:
24139         more verbose error if mailer not found
24140         [fca47fd00cb6]
24141
24142         * check.c:
24143         now do getpwent as root for soem shadow password systems (bsdi)
24144         [e0339e110d46]
24145
24146 1994-02-08  Todd C. Miller  <Todd.Miller@courtesan.com>
24147
24148         * sudo.h:
24149         took out SAVED_UID garbade
24150         [fcb0e81dcdb5]
24151
24152         * sudo.c:
24153         took out SAVED_UID garbage since it don't work
24154         [507e9513e9c2]
24155
24156 1994-02-06  Todd C. Miller  <Todd.Miller@courtesan.com>
24157
24158         * README:
24159         updated
24160         [d2b6b253dae5]
24161
24162         * insults.h:
24163         added a missing space :-)
24164         [8940ea991f87]
24165
24166         * sudo.c, sudo.h:
24167         took out multimax cruft
24168         [c2606b365181]
24169
24170         * INSTALL:
24171         minor update
24172         [05fb6ee73131]
24173
24174         * PORTING:
24175         finished
24176         [c4ac47c84dc5]
24177
24178         * sudo.c:
24179         fixed a typo + indentation
24180         [7eab40aae8fa]
24181
24182 1994-02-05  Todd C. Miller  <Todd.Miller@courtesan.com>
24183
24184         * sudo.h:
24185         took outumoved some defines to the config file ,. ,.
24186         [defff05beb52]
24187
24188         * PORTING:
24189         Initial revision
24190         [c803e9127959]
24191
24192         * TODO:
24193         did #6
24194         [c6fa1c946c31]
24195
24196         * sudo.h:
24197         added HAS_SAVED_UID
24198         [6a88a39c0a07]
24199
24200         * sudo.c:
24201         put back AIX cruft
24202         [a24d2507ddd4]
24203
24204 1994-02-03  Todd C. Miller  <Todd.Miller@courtesan.com>
24205
24206         * sudo.c:
24207         aix changes
24208         [1663915f754a]
24209
24210 1994-02-02  Todd C. Miller  <Todd.Miller@courtesan.com>
24211
24212         * CHANGES:
24213         updated
24214         [a8cc73747cae]
24215
24216         * check.c, logging.c, parse.c, sudo.c, sudo.h:
24217         now is only root when abs necesary
24218         [3c9d12c5cdfe]
24219
24220         * check.c:
24221         added missing %s\n
24222         [609320b72d89]
24223
24224 1994-01-31  Todd C. Miller  <Todd.Miller@courtesan.com>
24225
24226         * install-sh:
24227         Initial revision
24228         [b5bba140a175]
24229
24230         * TODO:
24231         updated
24232         [c9d2eba602af]
24233
24234         * CHANGES:
24235         updated
24236         [932f1fc3bb14]
24237
24238         * sudo.c:
24239         now removed _RLD_* for alphas
24240         [54a36e648158]
24241
24242         * INSTALL:
24243         updated for new config scheme
24244         [61c8ae800444]
24245
24246         * find_path.c:
24247         more verbose eror messages
24248         [b4fd123db42d]
24249
24250 1994-01-27  Todd C. Miller  <Todd.Miller@courtesan.com>
24251
24252         * TODO:
24253         now have solaris
24254         [371002fbf266]
24255
24256         * sudo.h:
24257         define __svr4__ for SOLARIS
24258         [0b5cf5ed936d]
24259
24260         * check.c:
24261         added svr4 junk for shadow pws for solaris 2.x
24262         [91ed58f21618]
24263
24264         * check.c, sudo.c:
24265         took out setuid(0) and setreuid(udi) garbage. Its not needed since
24266         we start out setuid with the correct perms.
24267         [07689e782b0b]
24268
24269         * check.c, sudo.c, sudo.h:
24270         now use setreuid()
24271         [7d64d685d78e]
24272
24273 1994-01-26  Todd C. Miller  <Todd.Miller@courtesan.com>
24274
24275         * sudo.man:
24276         revised AUTHORS secrtion & added ENV_EDITOR stuff to VARIABLES
24277         sectoin
24278         [b26967b1e19b]
24279
24280         * visudo.c:
24281         now uses ENV_EDITOR if you want to use the EDITOR envar
24282         [a4f8fcb9bd1d]
24283
24284         * sudo.h:
24285         now uses ENV_EDITOR if you want to use the EDITOR envar >> .
24286         [028cc55c4328]
24287
24288 1993-12-07  Todd C. Miller  <Todd.Miller@courtesan.com>
24289
24290         * INSTALL:
24291         rewrote most of this
24292         [a6750923f9c9]
24293
24294         * README:
24295         minor update + spell fix
24296         [a411717a7249]
24297
24298         * sudo.h:
24299         added all options that are in the Makefile
24300         [6db3b3b841b3]
24301
24302         * getpass.c:
24303         now use USE_TERMIO #define for sgi & hpux
24304         [b91f89ae6be1]
24305
24306         * TODO:
24307         todo: posix sigs
24308         [4548a56eb2ef]
24309
24310 1993-12-06  Todd C. Miller  <Todd.Miller@courtesan.com>
24311
24312         * check.c, find_path.c:
24313         always include strings.h
24314         [1fc20bda92c0]
24315
24316         * visudo.c:
24317         added STATICEDITOR
24318         [0596f820716e]
24319
24320         * sudo.h:
24321         sgi has vi in /usr/bin too
24322         [94203b62bfd9]
24323
24324         * sudo.man:
24325         added VISUAL
24326         [87c2844c4cac]
24327
24328 1993-12-03  Todd C. Miller  <Todd.Miller@courtesan.com>
24329
24330         * sudo.h:
24331         sue /usr/bin/vi on some systems
24332         [e3ad9190f35e]
24333
24334         * sudo.c:
24335         fixed warning (include strings.h)
24336         [0b896de4d8a0]
24337
24338         * sudo.man:
24339         added John_Rouillard@dl5000.bc.edu's changes (new features)
24340         [f41b4205a8cf]
24341
24342         * CHANGES:
24343         changes from John_Rouillard@dl5000.bc.edu
24344         [6bdef8e948d5]
24345
24346         * visudo.c:
24347         added EDITOR envar
24348         [5c4bf716de21]
24349
24350         * check.c, find_path.c, parse.c, sudo.c:
24351         added patches from John_Rouillard directory spec
24352         uses EDITOR
24353         [f62a435f8c41]
24354
24355 1993-12-02  Todd C. Miller  <Todd.Miller@courtesan.com>
24356
24357         * getpass.c:
24358         added flush for hpux
24359         [07cfdd6a7b55]
24360
24361 1993-11-30  Todd C. Miller  <Todd.Miller@courtesan.com>
24362
24363         * sudo.c:
24364         no longer assume malloc returns a char *
24365         [7480bd2756f3]
24366
24367         * sudo.c:
24368         alpha change to remove LD_-like thing fixed SHLIB_PATH stuff -- now
24369         gets removed correctly
24370         [8587166c6ac8]
24371
24372         * sudo.h:
24373         added STD_HEADERS macro
24374         [480f5a9a516c]
24375
24376         * sudo.c:
24377         now uses STD_HEADERS macor for ansi
24378         [c5018806fd59]
24379
24380         * find_path.c:
24381         now uses STD_HEADERS macro
24382         [ad821e0788ea]
24383
24384         * check.c:
24385         niceties for C compiler bitches -- no real change
24386         [0fc0b1a5fb64]
24387
24388 1993-11-29  Todd C. Miller  <Todd.Miller@courtesan.com>
24389
24390         * visudo.c:
24391         now doesn't fclose a file never opened.
24392         [ee888ec9427d]
24393
24394 1993-11-28  Todd C. Miller  <Todd.Miller@courtesan.com>
24395
24396         * sudo.man:
24397         added visudo line
24398         [698d51c66407]
24399
24400         * sudo.man:
24401         added error stuff added me in there...
24402         [d202fd34b906]
24403
24404         * CHANGES:
24405         noted insults
24406         [998a22c2230c]
24407
24408         * INSTALL:
24409         added blurb about reading stuff
24410         [e71db100798f]
24411
24412         * sudo.h:
24413         added insults
24414         [c110431cec56]
24415
24416         * insults.h:
24417         corrected somments and removed newlines
24418         [493706fd488c]
24419
24420         * check.c:
24421         now uses insults
24422         [6d23cf06a0ef]
24423
24424         * insults.h:
24425         Initial revision
24426         [83153c26b4a3]
24427
24428         * INSTALL:
24429         added dec syslog note
24430         [555437273237]
24431
24432         * sample.sudoers:
24433         added real stuff in there
24434         [53442a7fba78]
24435
24436         * TODO:
24437         added a todo
24438         [c630472bd4dc]
24439
24440         * TODO:
24441         added one
24442         [806464453284]
24443
24444 1993-11-27  Todd C. Miller  <Todd.Miller@courtesan.com>
24445
24446         * sample.sudoers:
24447         Initial revision
24448         [7db0a9f1ca8f]
24449
24450         * sudo.man:
24451         updated with changes
24452         [d9bf254c6c08]
24453
24454         * sudo.man:
24455         Initial revision
24456         [dd6f11174ac6]
24457
24458         * indent.pro:
24459         Initial revision
24460         [dbfbb494fad9]
24461
24462         * CHANGES, COPYING, INSTALL, README, TODO:
24463         Initial revision
24464         [6d98f489a079]
24465
24466         * visudo.c:
24467         updated version number and took out jeff's old addr since it is no
24468         good
24469         [ee47c24818cb]
24470
24471         * check.c, find_path.c, logging.c, parse.c, parse.lex, parse.yacc,
24472         sudo.c, sudo.h:
24473         updated version number and took out jeff's email (since it is
24474         invalid)
24475         [54616458a52e]
24476
24477 1993-10-28  Todd C. Miller  <Todd.Miller@courtesan.com>
24478
24479         * check.c:
24480         added fflush()
24481         [145c881f4fb4]
24482
24483 1993-10-23  Todd C. Miller  <Todd.Miller@courtesan.com>
24484
24485         * find_path.c:
24486         now return NULL instead pf\b\bof exiting for nopn\b\bn-fatal errors
24487         [8bc74f8cb1ae]
24488
24489 1993-10-21  Todd C. Miller  <Todd.Miller@courtesan.com>
24490
24491         * check.c:
24492         new banner
24493         [5387ab2af516]
24494
24495         * parse.lex:
24496         now sudo.h gets included first
24497         [2acb01c18e18]
24498
24499 1993-10-18  Todd C. Miller  <Todd.Miller@courtesan.com>
24500
24501         * parse.lex:
24502         now can use flex
24503         [164d3839adf0]
24504
24505         * sudo.h:
24506         linux patch
24507         [f1b6b1b1a2ca]
24508
24509         * sudo.c:
24510         hpux 9 fix, removes SHLIB_PATH linux patch
24511         [67611dc1737f]
24512
24513         * check.c:
24514         linux diff
24515         [c24536682397]
24516
24517 1993-10-15  Todd C. Miller  <Todd.Miller@courtesan.com>
24518
24519         * find_path.c:
24520         stat now ignores EINVAL
24521         [c7761a5dc642]
24522
24523 1993-10-06  Todd C. Miller  <Todd.Miller@courtesan.com>
24524
24525         * find_path.c, sudo.c:
24526         now declare strdup as extern
24527         [6b7d6f8784b5]
24528
24529 1993-10-04  Todd C. Miller  <Todd.Miller@courtesan.com>
24530
24531         * visudo.c:
24532         reformatted with indent + by hand
24533         [9d43084e4990]
24534
24535         * check.c, find_path.c, getpass.c, logging.c, parse.c, sudo.c, sudo.h:
24536         used indent to "fix" coding style
24537         [489ffacbdc70]
24538
24539         * find_path.c:
24540         now checks '.' or '.' or '' in PATH -- but does it LAST should maybe
24541         move the code that does this into the loop body. makes it messier
24542         tho. hmmm.
24543         [c4d22b48da9a]
24544
24545 1993-09-08  Todd C. Miller  <Todd.Miller@courtesan.com>
24546
24547         * find_path.c:
24548         redid the fix for non-executable files in an easier to read way plus
24549         some minor aethetic changes
24550         [84fe337f1426]
24551
24552         * find_path.c:
24553         fixed bug with non-executable tings of same name in path introduced
24554         by checkig errno after stat(2).
24555         [c2a812cfcbc1]
24556
24557 1993-09-05  Todd C. Miller  <Todd.Miller@courtesan.com>
24558
24559         * sudo.c:
24560         fixed off by one error
24561         [fabb7cee0041]
24562
24563         * find_path.c:
24564         now handles decending below '/' correctly
24565         [5d2ddfc0b220]
24566
24567         * sudo.c:
24568         now actually builds Envp instead of munging envp
24569         [bdc4b08f6898]
24570
24571 1993-09-04  Todd C. Miller  <Todd.Miller@courtesan.com>
24572
24573         * parse.yacc:
24574         now includes sys/param.h
24575         [efbb494ab4de]
24576
24577         * visudo.c:
24578         now includes sys/param.h
24579         [ad6c91d59958]
24580
24581         * sudo.h:
24582         fixed ifndef -> ifdef
24583         [7aebe822d863]
24584
24585         * qualify.c:
24586         make more like find_path.c
24587         [853b2dab2e03]
24588
24589         * find_path.c:
24590         rewritten by millert
24591         [c6a043cc11b3]
24592
24593         * sudo.h:
24594         fixed MAXCOMMANDLENGTH now uses USE_CWD and NEED_STRDUP added info
24595         about new defines in the comment
24596         [39ffefce3aec]
24597
24598         * logging.c:
24599         now uses USE_CWD
24600         [fa0f3b118bb3]
24601
24602         * sudo.h:
24603         added delc for clean_envp() and Envp
24604         [a12034e300c2]
24605
24606         * sudo.c:
24607         now rips LD_* env vars out of envp and passed sanitized Envp to exec
24608         [d201a218e056]
24609
24610         * logging.c:
24611         now uses execve()
24612         [f3e01032cd33]
24613
24614         * find_path.c:
24615         ENOTDIR is ok now too (in case part of the path is bogus)
24616         [b5cbbb201bb5]
24617
24618         * qualify.c:
24619         now works correctly (ttaltotal rewrite)
24620         [0c25d64a5c68]
24621
24622         * parse.lex:
24623         now includes sys/param.h didn't match trailing / -- fix from
24624         rouilj@cs.umb.edu
24625         [b6363ba110af]
24626
24627 1993-06-11  Todd C. Miller  <Todd.Miller@courtesan.com>
24628
24629         * sudo.c:
24630         moved around the #ifndef _AIX
24631         [7d4330950c20]
24632
24633         * check.c, logging.c, parse.c:
24634         Initial revision
24635         [c101e9572d7f]
24636
24637 1993-03-20  Todd C. Miller  <Todd.Miller@courtesan.com>
24638
24639         * qualify.c:
24640         Initial revision
24641         [5a5f21d0e0bf]
24642
24643 1993-03-13  Todd C. Miller  <Todd.Miller@courtesan.com>
24644
24645         * find_path.c:
24646         now works if you do sudo bin/test
24647         [07835120ce43]
24648
24649         * find_path.c:
24650         works
24651         [c3da8b5efa20]
24652
24653 1993-03-02  Todd C. Miller  <Todd.Miller@courtesan.com>
24654
24655         * sudo.h:
24656         Initial revision
24657         [28a1caa38b72]
24658
24659         * visudo.c:
24660         Initial revision
24661         [0e5cd7c3cdbe]
24662
24663         * parse.lex, parse.yacc:
24664         Initial revision
24665         [5f2d0cccb06b]
24666
24667 1993-02-16  Todd C. Miller  <Todd.Miller@courtesan.com>
24668
24669         * sudo.c:
24670         took out errno.h
24671         [7466431a2655]
24672
24673         * sudo.c:
24674         now spews error if exec fails and exits with -1
24675         [e5c41ea725c1]
24676
24677         * sudo.c:
24678         Initial revision
24679         [8aeabe39a0c2]
24680
24681         * find_path.c:
24682         now only execs files with (an) executable bit set.
24683         [0a451f9c0e58]
24684
24685         * find_path.c:
24686         Initial revision
24687         [02a534891a35]
24688
24689 1993-02-15  Todd C. Miller  <Todd.Miller@courtesan.com>
24690
24691         * getpass.c:
24692         added nice comment
24693         [ea8b2aaa9389]
24694
24695         * getpass.c:
24696         now works on sgi's
24697         [bf2b7c6d0960]
24698
24699         * getpass.c:
24700         Initial revision
24701         [9f4de251c1b5]
24702