Imported Upstream version 1.7.4p5
[debian/sudo] / ChangeLog
1 2011-01-11  Todd C. Miller  <Todd.Miller@courtesan.com>
2
3         * check.c:
4         If the user is running sudo as himself but as a different group we
5         need to prompt for a password.
6         [fe8a94f96542]
7
8 2011-01-10  Todd C. Miller  <Todd.Miller@courtesan.com>
9
10         * pwutil.c:
11         If user has no supplementary groups, fall back on checking the group
12         file explicitly.
13         [c536ddb16bb6]
14
15 2011-01-04  Todd C. Miller  <Todd.Miller@courtesan.com>
16
17         * match.c:
18         Fix NULL dereference with "sudo -g group" when the sudoers rule has
19         no runas user or group listed. Fixes RedHat bug Bug 667103.
20         [c51e2be737b2]
21
22 2010-12-21  Todd C. Miller  <Todd.Miller@courtesan.com>
23
24         * term.c:
25         Clear OPOST from c_oflag like we used to. Fixes screen-based
26         editors such as vi.
27         [e26055d17b72]
28
29         * sudoers.pod:
30         Clarify umask option description. From Reuben Thomas.
31         [fb8bdcb54feb]
32
33 2010-11-24  Todd C. Miller  <Todd.Miller@courtesan.com>
34
35         * pp:
36         Add support for RHEL 6 file modes that include a trailing dot on
37         files with an SELinux security context
38         [fcc1daaf4df0]
39
40 2010-11-22  Todd C. Miller  <Todd.Miller@courtesan.com>
41
42         * sudoers.pod:
43         fix typo; from Michael T Hunter
44         [46e70e2063af]
45
46 2010-10-07  Todd C. Miller  <Todd.Miller@courtesan.com>
47
48         * check.c:
49         Having a timestamp file defined is no longer indicative of tty
50         tickets being enabled. Check def_tty_tickets directly.
51         [6c3803c239d9]
52
53 2010-10-01  Todd C. Miller  <Todd.Miller@courtesan.com>
54
55         * set_perms.c:
56         Sync set_project() with trunk.
57         [646fd9bc0537]
58
59         * set_perms.c, sudo.c:
60         Move set_project() into runas_setup(). Fixes a NULL deref when
61         project support is enabled and sudo's -g flag is used without the
62         -u flag.
63         [6ffd892243ab]
64
65 2010-09-21  Todd C. Miller  <Todd.Miller@courtesan.com>
66
67         * linux_audit.c:
68         Ignore ECONNREFUSED from audit_log_user_command() which will occur
69         if auditd is not running.
70         [a686884684ca]
71
72 2010-09-13  Todd C. Miller  <Todd.Miller@courtesan.com>
73
74         * install-sh:
75         Use sed instead of expr to split a flag from its argument. Fixes a
76         problem with expr interpreting its arguments as a flag when they
77         start with a dash.
78         [16372da8a286]
79
80 2010-09-08  Todd C. Miller  <Todd.Miller@courtesan.com>
81
82         * bsm_audit.c:
83         Solaris BSM audit return EINVAL when auditing is not enabled,
84         whereas OpenBSM returns ENOSYS.
85         [bb9c94a8fa7d]
86
87 2010-09-07  Todd C. Miller  <Todd.Miller@courtesan.com>
88
89         * toke.c, toke.l:
90         Add missing LOG_INPUT/LOG_OUTPUT support in the lexer.
91         [0a5519756bf1]
92
93         * sudo.c:
94         Set NewArgv[0] to the name of the pseudo-command we are running.
95         Fixes a problem with "sudo -l" when auditing is enabled and the user
96         is not allowed to run any commands on the host. Adapted from a patch
97         from Daniel Kopecek.
98         [694ed1a75a4a]
99
100 2010-09-06  Todd C. Miller  <Todd.Miller@courtesan.com>
101
102         * match.c:
103         When matching the runas user and runas group (-u and -g command line
104         options), keep track of runas group and runas user matches
105         separately. Only return a positive match if we have a match for
106         both runas user and runas group (if specified).
107         [68d30216c13a]
108
109 2010-09-04  Todd C. Miller  <Todd.Miller@courtesan.com>
110
111         * ldap.c, parse.c:
112         Do not return -1 on error from the display functions; the call
113         expects a return value >= 0.
114         [e50e6ae4d06d]
115
116         * ldap.c:
117         display_bound_defaults now returns a count so make the stub return
118         0, not 1.
119         [97293ced4908]
120
121 2010-09-03  Todd C. Miller  <Todd.Miller@courtesan.com>
122
123         * get_pty.c:
124         It looks like AIX doesn't need to push STREAMS modules for ptys.
125         [62c281fcd4ad]
126
127 2010-08-30  Todd C. Miller  <Todd.Miller@courtesan.com>
128
129         * Makefile.in:
130         Install sudoers file from the build dir not hte src dir.
131         [a26afd8db531]
132
133 2010-08-26  Todd C. Miller  <Todd.Miller@courtesan.com>
134
135         * set_perms.c:
136         If runas_pw changes, reset the stashed runas aux group vector.
137         Otherwise, if runas_default is set in a per-command Defaults
138         statement, the command runs with root's aux group vector (i.e. the
139         one that was used when locating the command).
140         [24a695707b67]
141
142         * Makefile.in:
143         Add target to generate sudoers file Remove generated sudoers file as
144         part of distclean
145         [448627fc35b6]
146
147 2010-08-23  millert  <millert@rh4-x86.home.courtesan.com>
148
149         * exec.c:
150         When not logging I/O install a handler for SIGCONT and deliver it to
151         the command upon resume. Fixes bugzilla #431
152         [e84690aa67bd]
153
154 2010-08-21  Todd C. Miller  <Todd.Miller@courtesan.com>
155
156         * sudo.c:
157         Don't need to fork and wait when compiled with --disable-pam-session
158         [2ae1bbe4437a]
159
160 2010-08-20  Todd C. Miller  <Todd.Miller@courtesan.com>
161
162         * lbuf.c:
163         Convert a remaining puts() and putchar() to use the output function.
164         [d68c213feb0f]
165
166 2010-08-18  Todd C. Miller  <Todd.Miller@courtesan.com>
167
168         * Makefile.in:
169         Replace sudoers with sudoers.in in DISTFILES
170         [616509f85d6c]
171
172         * env.c:
173         Set dupcheck to TRUE when setting new HOME value if !env_reset but
174         always_set_home is true. Prevents a duplicate HOME in the
175         environment (old value plus the new one) introduced in 9f97e4b43a4b.
176         [2672ae047984]
177
178         * configure, configure.in, sudoers, sudoers.in:
179         Substitute sysconfdir in the installed sudoers file to get the
180         correct path for sudoers.d.
181         [ab14a68e546f]
182
183 2010-08-17  Todd C. Miller  <Todd.Miller@courtesan.com>
184
185         * boottime.c, get_pty.c:
186         Fix typos that prevented compilation on Irix; Friedrich Haubensak
187         [a3e6c5a66890]
188
189 2010-08-14  Todd C. Miller  <Todd.Miller@courtesan.com>
190
191         * auth/pam.c:
192         If the user hits ^C while a password is being read, error out before
193         reading any further passwords in the pam conversation function.
194         Otherwise, if multiple PAM auth methods are required, the user will
195         have to hit ^C for each one.
196         [c8f6bc58fd86]
197
198 2010-08-09  Todd C. Miller  <Todd.Miller@courtesan.com>
199
200         * exec.c:
201         Fix waitpid() loop termination condition.
202         [97719b3259f2]
203
204         * exec_pty.c:
205         Use sudo_waitpid() instead of bare waitpid()
206         [624a40269189]
207
208 2010-08-07  Todd C. Miller  <Todd.Miller@courtesan.com>
209
210         * sudo.pp:
211         Set pp_kit_version and strip off patchlevel
212         [814c87778567]
213
214         * sudo.pp:
215         Better handling of versions with a patchlevel. For rpm and deb, use
216         the patchlevel+1 as the release. For AIX, use the patchlevel as the
217         4th version number. For the rest, just leave the patchlevel in the
218         version string.
219         [d18ef30f0a72]
220
221 2010-08-06  Todd C. Miller  <Todd.Miller@courtesan.com>
222
223         * auth/sudo_auth.c:
224         For non-standalone auth methods, stop reading the password if the
225         user enters ^C at the prompt.
226         [59d2b1328d1e]
227
228         * check.c:
229         When removing/resetting the timestamp file ignore the tty ticket
230         contents.
231         [8b285f601ec0]
232
233 2010-08-04  Todd C. Miller  <Todd.Miller@courtesan.com>
234
235         * UPGRADE:
236         Fix typo
237         [0f443aa22e96]
238
239 2010-08-03  Todd C. Miller  <Todd.Miller@courtesan.com>
240
241         * check.c:
242         Do not produce a warning for "sudo -k" if the ticket file does not
243         exist.
244         [eeaaa73d7f5b]
245
246 2010-08-02  Todd C. Miller  <Todd.Miller@courtesan.com>
247
248         * aclocal.m4, configure:
249         Add cross-compile defaults for remaining AC_TRY_RUN usage.
250         [fb88d22eabc6]
251
252 2010-07-31  Todd C. Miller  <Todd.Miller@courtesan.com>
253
254         * aclocal.m4, config.h.in, configure, configure.in, snprintf.c:
255         Use AC_CHECK_MEMBER in SUDO_SOCK_SA_LEN Use AC_TYPE_LONG_LONG_INT
256         and AC_CHECK_SIZEOF([long int]) instead of rolling our own.
257         [5e7cc557a46e]
258
259 2010-07-30  Todd C. Miller  <Todd.Miller@courtesan.com>
260
261         * .hgtags:
262         Added tag SUDO_1_7_4 for changeset 2920a3b9d568
263         [e929004d5102]
264
265         * pp:
266         Debian: Remove dots from decoded release number AIX: looser matching
267         of file command output for AIX 5.1
268         [2920a3b9d568] [SUDO_1_7_4]
269
270         * .hgtags:
271         Added tag SUDO_1_7_4 for changeset 0d844aa34c1d
272         [cf65ddcec602]
273
274 2010-07-29  Todd C. Miller  <Todd.Miller@courtesan.com>
275
276         * exec_pty.c:
277         exec_monitor is static
278         [0d844aa34c1d]
279
280         * pp:
281         Update to latest version
282         [7b8a00defbd6]
283
284 2010-07-28  Todd C. Miller  <Todd.Miller@courtesan.com>
285
286         * sudo.pp:
287         Let pp determine pp_aix_version itself.
288         [c5ee7944af03]
289
290         * INSTALL, config.h.in, configure, configure.in, mkpkg, sudo.c:
291         Add support for Ubuntu admin flag file and enable it when building
292         Ubuntu packages.
293         [2d97501cda0c]
294
295         * sudo.pp, sudoers:
296         Add commented out SuSE-like targetpw settings
297         [f4ad331ace46]
298
299         * configure, configure.in:
300         Only try to use +DAportable for non-GCC on hppa Check the value of
301         $pic_flag insteaf of whether the compiler is ANSI C when detecting
302         the HP-UX bundled C compiler.
303         [654da0091c16]
304
305         * configure, configure.in:
306         Prevent configure from adding the -g flag unless in devel mode
307         [e3c11f228c56]
308
309 2010-07-27  Todd C. Miller  <Todd.Miller@courtesan.com>
310
311         * sudo.pp:
312         Go back to sudo-flavor to match existing packages and only use an
313         underscore for those that need it.
314         [1f78ecf3b990]
315
316         * sudo.pp:
317         Use sudo_$flavor instead of sudo-$flavor since that causes the least
318         amount of trouble for the various package managers.
319         [7e1e07115788]
320
321         * mkpkg:
322         Fix handling of the ldap flavor Remove destdir unless --debug was
323         specified Make distclean before running configure if there is a
324         Makefile present
325         [2bde3925346d]
326
327         * configure, configure.in:
328         Back out version change in 5baf2187a138
329         [bbc3a81afbba]
330
331         * mkpkg:
332         Pass extra args on to configure on HP-UX, if we don't have the HP C
333         compiler, disable zlib to prevent gcc from finding it in
334         /usr/local/lib.
335         [87201c7f1116]
336
337         * configure, configure.in, mkpkg:
338         Use the HP ANSI C compiler on HP-UX if possible
339         [5baf2187a138]
340
341         * sudoreplay.c:
342         Some getline() implementations (FreeBSD 8.0) do not ignore the
343         length pointer when the line pointer is NULL as they should.
344         [8652300785ed]
345
346         * sudoreplay.c:
347         Don't need to check for *cp being non-zero, isdigit() will do that.
348         [107301a99b6a]
349
350         * sudoreplay.c:
351         Add setlocale() so the command line arguments that use floating
352         point work in different locales. Since sudo now logs the timing
353         data in the C locale we must Parse the seconds in the timing file
354         manually instead of using strtod(). Furthermore, sudo 1.7.3 logged
355         the number of seconds with the user's locale so if the decimal point
356         is not '.' try using the locale-specific version.
357         [2b8ed181e37c]
358
359         * exec.c:
360         Do I/O logging in the C locale so the floating point numbers in the
361         timing file are not locale-dependent.
362         [18abbca14078]
363
364         * sudoreplay.c:
365         Use errorx() not error() for thingsthat don't set errno.
366         [a2e7c6793d26]
367
368 2010-07-26  Todd C. Miller  <Todd.Miller@courtesan.com>
369
370         * sudo.pp:
371         Add Tru64 kit support
372         [40e2d21aa17f]
373
374         * pp:
375         Better support for 1.2.3 style versions in Tru64 kits
376         [f7133199a711]
377
378         * pp:
379         Remove apparently unnecessary use of sudo
380         [a667a69eeab0]
381
382         * Makefile.in:
383         Create timedir as part of install-dirs target.
384         [a2e394d694dd]
385
386         * exec_pty.c:
387         Handle ENXIO from read/write which can occur when reading/writing a
388         pty that has gone away. Fixes bugzilla 422
389         [142f4c2efa17]
390
391         * pwutil.c:
392         sudo_pwdup() was not expanding an empty pw_shell to _PATH_BSHELL
393         [82e5e46bf458]
394
395         * mkpkg:
396         platform is a pp flag not a variable
397         [9d0ab9b9bf0c]
398
399         * Makefile.in, mkpkg, sudo.pp:
400         Add simple arg parsing for mkpkg so we can set debug, flavor or
401         platform.
402         [8142ab01ccd9]
403
404         * pp:
405         Make rpm backend work on AIX 5.x
406         [2467a79d0b4d]
407
408 2010-07-25  Todd C. Miller  <Todd.Miller@courtesan.com>
409
410         * sudoers:
411         Add commented out Defaults entry for log_output
412         [b3fe97e59ae0]
413
414 2010-07-23  Todd C. Miller  <Todd.Miller@courtesan.com>
415
416         * Makefile.in:
417         Install binary files with -b~ to make a backup. Fixes "text file
418         busy" error on HP-UX during install.
419         [3563e3e0163a]
420
421         * install-sh:
422         "mv -f" on HP-UX doesn't unlink the destination first so add an
423         explicit rm before moving the temporary into place.
424         [3994af813c88]
425
426         * configure, configure.in:
427         Some more ${foo} -> $(foo) conversion for consistent Makefiles.
428         [c214d50c32ec]
429
430 2010-07-22  Todd C. Miller  <Todd.Miller@courtesan.com>
431
432         * pathnames.h.in:
433         Add missing include of maillock.h for Solaris
434         [343f04b7a581]
435
436         * NEWS, TROUBLESHOOTING, UPGRADE, configure, configure.in,
437         sample.syslog.conf, sudoers.cat:
438         Change the default syslog facility from local2 to authpriv (or auth
439         if the operating system doesn't support authpriv).
440         [949f39cf4a59]
441
442         * Makefile.in, configure, configure.in, sudo.pp:
443         Install sudoers as /etc/sudoers on RPM and debian systems where the
444         package manager will not replace a user-modified configuration file.
445         This fixes upgrades from the vendor sudo packages.
446         [74c7ff01e880]
447
448         * pp:
449         RPM: use %config(noreplace) instead of %config for volatile This
450         results in the new file being installed with a .rpmnew suffix
451         instead of the file being replaced and the old one renamed with a
452         .rpmsave suffix.
453         [166133a4fb9e]
454
455 2010-07-21  Todd C. Miller  <Todd.Miller@courtesan.com>
456
457         * boottime.c, mkstemps.c:
458         Include time.h for struct timeval.
459         [50446e0b8398]
460
461         * exec_pty.c:
462         The return value of strsignal() may be const and should be treated
463         as const regardless.
464         [c035b17b50e3]
465
466         * sudoers.cat, sudoers.man.in, sudoers.pod:
467         Mention that 127.0.0.1 will not match, nor will localhost unless
468         that is the actual host name.
469         [e9977ec7ac4f]
470
471         * Makefile.in:
472         fix typo
473         [f216d653404d]
474
475         * Makefile.in, NEWS, README, UPGRADE, WHATSNEW:
476         Rename WHATSNEW -> NEWS
477         [f3ce0a462ca0]
478
479         * pp:
480         Updated pp with latest patches
481         [cded68af5ba0]
482
483         * WHATSNEW, exec.c, exec_pty.c, set_perms.c, sudo.c, sudo.h:
484         If pam is in use, wait until the process has finished before calling
485         pam_close_session().
486         [fb3d7de50a05]
487
488         * sudoers.cat, sudoers.man.in:
489         regen sudoers manual
490         [7498a058eeb1]
491
492         * UPGRADE, sudoers, sudoers.pod:
493         Add commented out line to add HOME to env_keep and add a warning to
494         the note about the HOME change in UPGRADE.
495         [0f7e08f09b9f]
496
497 2010-07-20  Todd C. Miller  <Todd.Miller@courtesan.com>
498
499         * sudoreplay.c:
500         Add LINE_MAX define for those without it.
501         [6248dd44573c]
502
503         * WHATSNEW:
504         Mention that tty_tickets is now the default.
505         [4cf26eaee5ba]
506
507         * INSTALL, UPGRADE, config.h.in, configure, configure.in, defaults.c,
508         sudoers.cat, sudoers.man.in, sudoers.pod:
509         The tty_tickets option is now on by default.
510         [73dd2b82a3a9]
511
512         * WHATSNEW:
513         Mention that AIX authdb support has been fixed.
514         [9331829dc276]
515
516         * aix.c:
517         setauthdb() only sets the "old" registry if it was set by a previous
518         call to setauthdb(). To restore the original value, passing NULL
519         (or an empty string) to setauthdb() is sufficient.
520         [d956fd763521]
521
522 2010-07-19  Todd C. Miller  <Todd.Miller@courtesan.com>
523
524         * sudoers.cat, sudoers.man.in, sudoers.pod:
525         Mention new handling of HOME in always_set_home and set_home
526         descriptions.
527         [a69c9bed3164]
528
529         * sudo.cat, sudo.man.in, sudo.pod:
530         fix typo
531         [9b90bb3e9187]
532
533         * UPGRADE, WHATSNEW, env.c, sudo.cat, sudo.man.in, sudo.pod:
534         Reset HOME when env_reset is enabled unless it is in env_keep
535         [18223dfd1ac3]
536
537         * sudoers.cat, sudoers.man.in, sudoers.pod:
538         The default for set_logname has been "true" for some time now.
539         [9f97e4b43a4b]
540
541         * sudoers.cat, sudoers.man.in, sudoers.pod:
542         Document that MAIL it set in env_reset mode.
543         [dcf9ad98079e]
544
545         * boottime.c:
546         Add missing include of time.h
547         [57bee414982d]
548
549         * defaults.c, sudo.c:
550         Check return value of setdefs() but don't stop setting defaults if
551         we hit an unknown one.
552         [a42cb2d6b7ed]
553
554         * logging.c:
555         Fix check for dup2() return value.
556         [916cd7fdeba7]
557
558         * visudo.c:
559         Treat an unknown defaults entry as a parse error.
560         [1f94675835d9]
561
562         * env.c:
563         Check KEPT_MAIL not DID_MAIL when determining whether to set MAIL in
564         -i and env_reset mode.
565         [aa6657ccfe01]
566
567         * env.c:
568         Add PYTHONUSERBASE to initial_badenv_table
569         [93058374f0d9]
570
571         * WHATSNEW, aclocal.m4, config.h.in, configure, configure.in, env.c,
572         pathnames.h.in, sudo.cat, sudo.man.in, sudo.pod:
573         If env_reset is enabled, set the MAIL environment variable based on
574         the target user unless MAIL is explicitly preserved in sudoers.
575         [d903c904dcd4]
576
577 2010-07-17  Todd C. Miller  <Todd.Miller@courtesan.com>
578
579         * pp:
580         decode debian code names
581         [2df0ecbc23b4]
582
583         * WHATSNEW:
584         fix typo
585         [b66a95fa1869]
586
587 2010-07-16  Todd C. Miller  <Todd.Miller@courtesan.com>
588
589         * WHATSNEW:
590         Add entry about SuSE bash script fix.
591         [04af78fa281c]
592
593         * sudo.c:
594         Restore RLIMIT_NPROC after the uid switch if it appears that
595         runas_setup() did not do it for us. Fixes a bash script problem on
596         SuSE with RLIMIT_NPROC set to RLIM_INFINITY.
597         [bb14802d48b1]
598
599 2010-07-15  Todd C. Miller  <Todd.Miller@courtesan.com>
600
601         * mkpkg, pp, sudo.pp:
602         Restore the dot removal in the os version reported by polypkg. Adapt
603         mkpkg and sudo.pp to the change.
604         [83c7870130fe]
605
606 2010-07-16  Todd C. Miller  <Todd.Miller@courtesan.com>
607
608         * WHATSNEW:
609         Mention polypkg
610         [c5f6e40bbb58]
611
612         * README, WHATSNEW:
613         Update for sudo 1.7.4
614         [0c688f1f8160]
615
616         * INSTALL:
617         document --with-pam-login
618         [33ca3f6308ae]
619
620         * sudoers.cat, sudoers.man.in, sudoers.pod:
621         The tag is NOSETENV, not UNSETENV. From Petr Uzel.
622         [95f37e63ca15]
623
624 2010-07-15  Todd C. Miller  <Todd.Miller@courtesan.com>
625
626         * sudo.pp:
627         Include flavor in solaris package name
628         [b6d56ccf367e]
629
630         * mkpkg:
631         Older shells don't support IFS= so set explictly to space, tab,
632         newline.
633         [336925525e17]
634
635         * mkpkg:
636         Use '=' not '==' in test
637         [98c692271cfd]
638
639         * mkpkg:
640         Fix typo that prevented debian from matching
641         [af4deec35e37]
642
643         * mkpkg:
644         Add missing prefix setting for debian
645         [d0c1941cb6ec]
646
647         * sudo.pp:
648         Use tab indents to reduce the chance of problem with <<- Uncomment
649         some env_keep lines for RHEL, SLES and Debian to more closely match
650         the vendor sudoers files.
651         [74ba26566cdc]
652
653         * sudo.pp:
654         Fix indentation Fix the debian %set section, pp does not set
655         pp_deb_distro Uncomment %sudo line in sudoers for debian Add pam.d
656         to %files for debian Remove the /etc/sudo-ldap.conf symlink on
657         debian for ldap flavor
658         [f15ff41b5afd]
659
660         * sudoers:
661         Add commented out env_keep entries, sample Aliases and a %sudo line
662         for debian.
663         [8264e4ed42dc]
664
665         * configure, configure.in:
666         Remove check for egrep; configure has its own
667         [27b3d85ebf4f]
668
669         * configure.in:
670         Use enable_zlib instead of enableval for consistency
671         [4a15cfd43d3e]
672
673 2010-07-14  Todd C. Miller  <Todd.Miller@courtesan.com>
674
675         * mkpkg:
676         Enable zlib for linux distros
677         [fcab91448bb0]
678
679         * mkpkg:
680         Add ldap flavor to default build
681         [e35a577c8994]
682
683         * mkpkg, sudo.pp:
684         Simplify rpm linux distro settings
685         [f30547765636]
686
687         * UPGRADE, aclocal.m4, configure, configure.in, sudo.cat, sudo.man.in,
688         sudoers.cat:
689         Move time stamp files from /var/run/sudo to /var/{db,lib,adm}/sudo.
690         [8c9440423d98]
691
692         * Makefile.in, mkpkg, sudo.pp:
693         Add ldap "flavor" for debian, controlled by the SUDO_FLAVOR
694         environment variable.
695         [9f418defc08a]
696
697         * sudo.pp:
698         Create sudo group on debian
699         [4b0cc7b8b0b5]
700
701         * mkpkg, sudo.pp:
702         Add debian 4/5/6 and use the dot when doing version matches
703         [d5184f0a1efc]
704
705         * sudoers.cat, sudoers.man.in, sudoers.pod:
706         Remove spurious "and"; from debian
707         [8b9f2a5937bc]
708
709         * aclocal.m4, configure:
710         Use a loop when searching for mv, sendmail and sh
711         [a1c7d19721a4]
712
713         * aclocal.m4, configure, configure.in, sudoers.cat, sudoers.man.in,
714         sudoers.pod, visudo.cat, visudo.man.in, visudo.pod:
715         Substitute the value of EDITOR into the sudoers and visudo manuals.
716         [f00dc9343f94]
717
718 2010-07-13  Todd C. Miller  <Todd.Miller@courtesan.com>
719
720         * mkpkg, pp, sudo.pp:
721         Initial debian 4.0 support
722         [6d73c000723f]
723
724         * mkpkg:
725         Some platforms need -fPIE instead of -fpie
726         [8533a29633e8]
727
728         * Makefile.in:
729         Add packaging bits to DISTFILES
730         [dea9f374f28b]
731
732         * auth/pam.c:
733         Only set PAM_RHOST for Solaris, where it is needed to avoid a bug.
734         On Linux it causes a DNS lookup via libaudit.
735         [22e04d2f5f0f]
736
737         * sudo.psf:
738         We now use pp to generate HP-UX packages
739         [6c9f8ae6bc11]
740
741 2010-07-12  Todd C. Miller  <Todd.Miller@courtesan.com>
742
743         * auth/pam.c:
744         Fix indentation
745         [e52e9e6338d5]
746
747         * INSTALL, Makefile.in:
748         isntall-man -> install-doc
749         [02cc8198ea7a]
750
751         * configure, configure.in, sudo.cat, sudo.man.in, sudoers.cat,
752         sudoers.ldap.cat, sudoers.ldap.man.in, sudoers.man.in,
753         sudoreplay.cat, sudoreplay.man.in, visudo.cat, visudo.man.in:
754         Bump version to 1.7.4
755         [df6ce4ea908a]
756
757         * INSTALL.binary, Makefile.binary.in, Makefile.in:
758         Remove remaining bits of the old binary package
759         [8d4f82c23c22]
760
761         * sudo.pp:
762         Use http://rc.quest.com/topics/polypkg/ for packaging
763         [d71793085629]
764
765         * Makefile.in, mkpkg, pp:
766         Use http://rc.quest.com/topics/polypkg/ for packaging
767         [675e505758c5]
768
769         * install-sh:
770         Just ignore the -c option, it is the default Add support for -d
771         option
772         [2adfb3a63231]
773
774         * env.c, logging.c, pathnames.h.in:
775         Use _PATH_STDPATH instead of _PATH_DEFPATH
776         [2c22d54a1f02]
777
778         * Makefile.in:
779         Do not strip binaries.
780         [bc84682b372c]
781
782         * INSTALL, configure, configure.in:
783         Add --insults=disabled configure option to allow people to build in
784         insult support but have the insults disabled unless explicitly
785         enabled in sudoers.
786         [6d9f40db9cca]
787
788 2010-07-10  Todd C. Miller  <Todd.Miller@courtesan.com>
789
790         * env.c, sudoreplay.c:
791         Fix K&R compilation
792         [e44d3be7ab85]
793
794 2010-07-09  Todd C. Miller  <Todd.Miller@courtesan.com>
795
796         * auth/pam.c, config.h.in, configure, configure.in, env.c, sudo.c,
797         sudo.h:
798         Add support for a sudo-i pam.d file to be used for "sudo -i".
799         Adapted from a RedHat patch.
800         [2984c3831d88]
801
802         * Makefile.in:
803         Fix installation of sudo_noexec.so
804         [d1f7ca8331b6]
805
806         * Makefile.in, config.h.in, configure, configure.in, missing.h,
807         mkstemp.c, mkstemps.c, sudo_edit.c:
808         Use mkstemps() instead of mkstemp() in sudoedit. This allows
809         sudoedit to preserve the file extension (if any) which may be used
810         by the editor (like emacs) to choose the editing mode.
811         [46399679d9ae]
812
813 2010-07-08  Todd C. Miller  <Todd.Miller@courtesan.com>
814
815         * ldap.c, sudoers.ldap.cat, sudoers.ldap.man.in, sudoers.ldap.pod:
816         TLS_CACERT is now an alias for TLS_CACERTFILE. OpenLDAP uses
817         TLS_CACERT, not TLS_CACERTFILE in its ldap.conf. Other LDAP client
818         code, such as nss_ldap, uses TLS_CACERTFILE. Also document why you
819         should avoid disabling TLS_CHECKPEER is possible.
820         [1d626a5cf8c0]
821
822 2010-07-07  Todd C. Miller  <Todd.Miller@courtesan.com>
823
824         * toke.c, toke.l:
825         Add suport for negated user/host/command lists in a Defaults entry.
826         E.g. Defaults:!baduser noexec
827         [24f07a805dce]
828
829 2010-07-01  Todd C. Miller  <Todd.Miller@courtesan.com>
830
831         * sudoers.ldap.pod:
832         fix typo.
833         [d5f2922cecf2]
834
835 2010-06-29  Todd C. Miller  <Todd.Miller@courtesan.com>
836
837         * .hgtags:
838         Added tag SUDO_1_7_3 for changeset 72fd1f510a08
839         [cc8b2277e17e]
840
841         * configure, configure.in, sudo.cat, sudo.man.in, sudoers.cat,
842         sudoers.ldap.cat, sudoers.ldap.man.in, sudoers.man.in,
843         sudoreplay.cat, sudoreplay.man.in, visudo.cat, visudo.man.in:
844         Sudo 1.7.3 GA
845         [72fd1f510a08] [SUDO_1_7_3]
846
847         * alias.c, alloc.c, auth/afs.c, auth/aix_auth.c, auth/bsdauth.c,
848         auth/dce.c, auth/fwtk.c, auth/kerb4.c, auth/kerb5.c, auth/pam.c,
849         auth/passwd.c, auth/rfc1938.c, auth/secureware.c, auth/securid.c,
850         auth/securid5.c, auth/sia.c, auth/sudo_auth.c, boottime.c, check.c,
851         defaults.c, env.c, exec.c, exec_pty.c, fileops.c, find_path.c,
852         fnmatch.c, get_pty.c, getcwd.c, getdate.c, getdate.y, getline.c,
853         getspwuid.c, glob.c, goodpath.c, gram.c, gram.y, interfaces.c,
854         iolog.c, lbuf.c, ldap.c, logging.c, match.c, parse.c, parse_args.c,
855         pwutil.c, set_perms.c, snprintf.c, sudo.c, sudo_edit.c, sudo_nss.c,
856         sudoreplay.c, term.c, testsudoers.c, tgetpass.c, toke.c, toke.l,
857         tsgetgrpw.c, visudo.c:
858         Include strings.h even if string.h exists since they may define
859         different things. Fixes warnings on AIX and others.
860         [7c6de7fb5dba]
861
862         * env.c:
863         Do not rely on env.env_len when unsetting a variable, just use the
864         NULL terminator.
865         [faf088613ce5]
866
867         * env.c:
868         In unsetenv() check for NULL or empty name as per POSIX 1003.1-2008
869         [47f8dfcc7a48]
870
871 2010-06-28  Todd C. Miller  <Todd.Miller@courtesan.com>
872
873         * sudoers.ldap.cat, sudoers.ldap.man.in, sudoers.ldap.pod:
874         Mention that multiple URI lines are merged into a single one.
875         [1dc0ac5929bf]
876
877         * WHATSNEW:
878         Document AIX fixes
879         [be36e8a6dddd]
880
881 2010-06-26  Todd C. Miller  <Todd.Miller@courtesan.com>
882
883         * env.c, sudo.c, sudo.h:
884         For env_init() just use environ not the envp from main().
885         [d4f3e374caeb]
886
887 2010-06-25  Todd C. Miller  <Todd.Miller@courtesan.com>
888
889         * configure, configure.in, sudo.cat, sudo.man.in, sudoers.cat,
890         sudoers.ldap.cat, sudoers.ldap.man.in, sudoers.man.in,
891         sudoreplay.cat, sudoreplay.man.in, visudo.cat, visudo.man.in:
892         Update version to 1.7.3rc1
893         [fe43fe79070d]
894
895         * TODO:
896         fqdn issue is resolved
897         [f35cb63eb74b]
898
899         * env.c:
900         In unsetenv(), assign ep in the for loop instead of doing it
901         earlier. This version of the code does not change env.envp in
902         between when ep is assigned and when it is used but older versions
903         (e.g. 1.7.2) do.
904         [a4cd29c862c9]
905
906         * aix.c:
907         Use S_REGISTRY instead of S_AUTHSYSTEM as the argument to
908         getuserattr() when fetching the administrative domain to be used by
909         setauthdb(). This was suggested by AIX support and is consistent
910         with what OpenSSH does.
911         [d3109706ec85]
912
913         * vasgroups.c:
914         Use warningx() instead of log_error() since the latter is not
915         available to visudo or testsudoers. This does mean that they don't
916         end up in syslog.
917         [0174e89f983b]
918
919         * sudo.c:
920         Defer call to sudo_nonunix_groupcheck_cleanup() until after we have
921         closed the sudoers sources. From Quest sudo.
922         [c1b33e3e0f9e]
923
924         * pwutil.c:
925         Ignore case when matching user/group names in the cache. From Quest
926         sudo.
927         [72df368a8a0e]
928
929 2010-06-24  Todd C. Miller  <Todd.Miller@courtesan.com>
930
931         * config.h.in, configure, configure.in, selinux.c:
932         Add check for setkeycreatecon() when --with-selinux is specified.
933         [24144c52c0cc]
934
935         * configure, configure.in:
936         Bump version to 1.7.3b5 Error out if libaudit.h is missing or
937         ununable when --with-linux-audit was specified
938         [215c7653d9bc]
939
940         * aix.c:
941         K&R function declaration for aix_setauthdb()
942         [82da12d222a6]
943
944         * env.c, sudo.c, sudo.h:
945         If env_init() was called implicitly via getenv(), setenv() or
946         putenv() just use the specified envp instead of mallocing a new
947         copy. This prevents an infinite loop on OpenBSD which calls
948         getenv() from malloc() to get MALLOC_OPTIONS.
949         [8e82ce63f774]
950
951         * ldap.c:
952         Add support for multiple URI lines by joining the contents and
953         passing the result to ldap_initialize.
954         [b4e10b2ffdb1]
955
956 2010-06-23  Todd C. Miller  <Todd.Miller@courtesan.com>
957
958         * pwutil.c, set_perms.c, sudo_nss.c:
959         Bracket initgroups with calls to aix_setauthdb() and
960         aix_restoreauthdb()
961         [363dbe449f1c]
962
963         * aix.c:
964         Include compat.h before alloc.h to get __P
965         [819a2667ffd7]
966
967         * auth/aix_auth.c:
968         Include usersec.h for authenticate() prototype
969         [2b8dd2b67131]
970
971         * aix.c:
972         Add missing includes Add missing trailing NUL in userinfo string
973         [8deaedf44943]
974
975 2010-06-22  Todd C. Miller  <Todd.Miller@courtesan.com>
976
977         * HISTORY, history.pod:
978         Mention when LDAP was incorporated.
979         [4e6c8ec4f67c]
980
981 2010-06-21  Todd C. Miller  <Todd.Miller@courtesan.com>
982
983         * configure:
984         Define _LINUX_SOURCE_COMPAT on AIX for strsignal() prototype, it is
985         not covered by _ALL_SOURCE.
986         [3657f1b181b9]
987
988         * pwutil.c:
989         Include usersec.h on AIX to get IDtouser() prototype.
990         [11483bbe15c7]
991
992         * configure.in:
993         Define _LINUX_SOURCE_COMPAT on AIX for strsignal() prototype, it is
994         not covered by _ALL_SOURCE.
995         [fd48e6e2136b]
996
997 2010-06-18  Todd C. Miller  <Todd.Miller@courtesan.com>
998
999         * iolog.c:
1000         Add a cast to quiet a compiler warning.
1001         [51e9d419bd83]
1002
1003         * boottime.c:
1004         Use memset() instead of zero_bytes() since we don't include sudo.h
1005         [f310b2123ba9]
1006
1007         * Makefile.in:
1008         getline.o is already in LIB_OBJS, do not need it in COMMON_OBJS
1009         [c8750c2d75ab]
1010
1011         * getdate.c, getdate.y:
1012         Quiet a compiler warning.
1013         [9f231be15958]
1014
1015         * defaults.c, sudo.c:
1016         Call set_fqdn() after sudoers has parsed instead of inline as a
1017         callback.
1018         [26d413ddb6dd]
1019
1020         * WHATSNEW:
1021         Do not call set_fqdn() until sudoers parses (where is gets run as a
1022         callback).
1023         [582453a993a1]
1024
1025         * sudo.c:
1026         Do not call set_fqdn() until sudoers parses (where is gets run as a
1027         callback). Otherwise, if sudo is built --with-fqdn the fqdn will be
1028         set even if !fqdn is set in sudoers.
1029         [aa01e867d1bb]
1030
1031         * configure, configure.in, sudo.cat, sudo.man.in, sudoers.cat,
1032         sudoers.ldap.cat, sudoers.ldap.man.in, sudoers.man.in,
1033         sudoreplay.cat, sudoreplay.man.in, visudo.cat, visudo.man.in:
1034         Bump version to 1.7.3b4
1035         [c1c5a73766b6]
1036
1037         * WHATSNEW:
1038         mention the change in tty ticket behavior when there is no tty
1039         [93ddde63e453]
1040
1041         * TODO:
1042         remove done items
1043         [9601b2e8dcef]
1044
1045         * aix.c:
1046         Remove comment; NAME in usrinfo should be user name.
1047         [eb46f1e8ea08]
1048
1049         * check.c:
1050         Do not update tty ticket if there is no tty.
1051         [e64e8c8f2286]
1052
1053         * sudo.cat, sudo.man.in, sudo.pod:
1054         No longer need to use -- with the -s flag
1055         [e45c18dd79dc]
1056
1057         * Makefile.in:
1058         Add missing $(srcdir) to sudo.man.in target
1059         [2bd89f6ca9f3]
1060
1061         * Makefile.in:
1062         Do not rely on BSD make's $>
1063         [cb328b82cb92]
1064
1065         * configure, configure.in:
1066         Set timedir to /var/db/sudo for darwin to match Apple sudo's
1067         location
1068         [860c7f1b001f]
1069
1070 2010-06-16  Todd C. Miller  <Todd.Miller@courtesan.com>
1071
1072         * Makefile.in, configure, configure.in:
1073         Move aix.o from SUDO_OBJS to COMMON_OBJS
1074         [f8a9bdf346c1]
1075
1076         * config.h.in, configure, configure.in, defaults.c, iolog.c,
1077         sudoreplay.c:
1078         Check for zlib.h in addition to libz.
1079         [fb77e44d5196]
1080
1081         * Makefile.in, exec.c, exec_pty.c, sudo.h, sudo_exec.h:
1082         Move functions and symbols shared between exec.c and exec_pty.c into
1083         sudo_exec.h.
1084         [e798d945424e]
1085
1086         * sudo.h:
1087         Add missing prototypes for aix_setauthdb and aix_restoreauthdb
1088         [8bc2af6d4e17]
1089
1090         * Makefile.in:
1091         Comment out rules to build .man.in and .cat files unless --with-
1092         devel
1093         [81d6726a19ab]
1094
1095         * aix.c, pwutil.c, set_perms.c, sudo.h:
1096         Fix AIX compilation problems.
1097         [7d95f73eca42]
1098
1099         * sudo.c:
1100         Cast isalnum() arg to unsigned char.
1101         [5fff9a81af00]
1102
1103         * WHATSNEW:
1104         Add Linux audit support.
1105         [e59e0670ba79]
1106
1107         * sudo.c:
1108         Quote any non-alphanumeric characters other than '_' or '-' when
1109         passing a command to be run via the shell for the -s and -i options.
1110         [d35a3f4cb3c0]
1111
1112         * sudo.c:
1113         Add missing braces that broke -i mode.
1114         [7fe124b078ec]
1115
1116         * linux_audit.c:
1117         Fix linux_audit_command() return value
1118         [0c582476181c]
1119
1120 2010-06-15  Todd C. Miller  <Todd.Miller@courtesan.com>
1121
1122         * Makefile.in, linux_audit.c, linux_audit.h:
1123         Add Linux audit support.
1124         [b207dc9960de]
1125
1126 2010-06-16  Todd C. Miller  <Todd.Miller@courtesan.com>
1127
1128         * INSTALL, audit.c, bsm_audit.c, config.h.in, configure, configure.in,
1129         logging.h, selinux.c:
1130         Add Linux audit support.
1131         [26ae31d7ff93]
1132
1133 2010-06-15  Todd C. Miller  <Todd.Miller@courtesan.com>
1134
1135         * sudoreplay.c, sudoreplay.cat, sudoreplay.man.in, sudoreplay.pod:
1136         Sync sudoreplay with trunk
1137         [65b780cccfa5]
1138
1139         * exec_pty.c:
1140         Remove an XXX
1141         [8304ac649241]
1142
1143         * aix.c, configure, configure.in, pwutil.c, set_perms.c, sudo.h:
1144         Set usrinfo for AIX Set adminstrative domain for the process when
1145         looking up user's password info and when preparing for execve().
1146         [52b48cbe97fd]
1147
1148         * ldap.c, parse.c:
1149         Better prefix determination now that we can't rely on len==0 to tell
1150         the beginning on an entry.
1151         [32f1875d9605]
1152
1153         * WHATSNEW, ldap.c, sudoers.ldap.cat, sudoers.ldap.man.in,
1154         sudoers.ldap.pod:
1155         Add support for multiple sudoers_base entries in ldap.conf. From
1156         Joachim Henke
1157         [3c0b59fce7b4]
1158
1159         * configure, configure.in:
1160         Remove duplicate setsid check
1161         [7712d6d52da1]
1162
1163         * Makefile.in, config.h.in, configure, configure.in, exec_pty.c,
1164         logging.c, missing.h, setsid.c:
1165         Move setsid emulation into setsid.c
1166         [f24743c9e4e9]
1167
1168         * exec_pty.c, logging.c, selinux.c, sudo.c, tgetpass.c:
1169         Check for dup2() failure.
1170         [b1b6ba761b61]
1171
1172         * config.h.in, configure, configure.in:
1173         Remove dup2 check, it is not optional.
1174         [cfbe5f3b5956]
1175
1176 2010-06-14  Todd C. Miller  <Todd.Miller@courtesan.com>
1177
1178         * WHATSNEW:
1179         Add mbr_check_membership support and SELinux fixes
1180         [af1936a7cf2f]
1181
1182         * Makefile.in:
1183         Sync SRCS and DISTFILES with reality
1184         [0971b5dcb1be]
1185
1186         * INSTALL:
1187         Update OS specific notes. Delete some really ancient ones and move
1188         older ones to the end of the list.
1189         [872dd8b437a8]
1190
1191         * README:
1192         Bump for sudo 1.7.3 Merge some changes from trunk
1193         [a3088c75bf22]
1194
1195         * selinux.c, sudo.c:
1196         Call selinux_restore_tty() as part of cleanup() so it gets called
1197         from error()/errorx()
1198         [0197c07d4c1e]
1199
1200         * compat.h:
1201         No longer use SA_NOCLDSTOP
1202         [73ca654cd3f8]
1203
1204         * interfaces.h, match.c:
1205         Move union sudo_in_addr_un into interfaces.h
1206         [c84bda7c332a]
1207
1208         * pathnames.h.in:
1209         Update copyright year
1210         [94871f44206b]
1211
1212         * HISTORY, LICENSE, aix.c, alias.c, alloc.h, boottime.c, bsm_audit.h,
1213         compat.h, defaults.c, defaults.h, env.c, fileops.c, find_path.c,
1214         gettime.c, gram.y, history.pod, lbuf.h, license.pod, logging.c,
1215         match.c, missing.h, nanosleep.c, parse.h, set_perms.c,
1216         sudoers.ldap.cat, sudoers.ldap.man.in, sudoers.ldap.pod,
1217         sudoreplay.c, term.c, tgetpass.c, toke.l, visudo.c, visudo.cat,
1218         visudo.man.in, visudo.pod:
1219         Update copyright year
1220         [4cfb47c799b8]
1221
1222         * Makefile.in:
1223         Remove varsub as part of clean
1224         [61f04a21b0bb]
1225
1226         * match.c:
1227         Quiet a compiler warning.
1228         [06d8cfe916c8]
1229
1230         * getdate.c, getdate.y:
1231         Quiet a compiler warning.
1232         [473d2b7d44a1]
1233
1234         * ldap.c, sudo.h:
1235         Make the remaining functions in ldap.c static
1236         [ba555565b30a]
1237
1238         * ldap.c:
1239         Make private functions static. Diff from Joachim Henke
1240         [1603035b1863]
1241
1242         * schema.ActiveDirectory:
1243         Updates from Alain Roy to provide better examples for importing the
1244         schema and to fix problems caused by Windows validating attributes
1245         which have not yet been added before committing the changes.
1246         [83f11ae00f19]
1247
1248 2010-06-12  Todd C. Miller  <Todd.Miller@courtesan.com>
1249
1250         * Makefile.in, configure, configure.in, sudo.cat, sudoers.cat:
1251         Generate .cat files directly from .man.in instead of .man using
1252         default values in configure.in
1253         [0a92b41c5ce5]
1254
1255 2010-06-11  Todd C. Miller  <Todd.Miller@courtesan.com>
1256
1257         * configure, configure.in, sudo.c, sudo_usage.h.in:
1258         Print configure args with verbose version information.
1259         [ca4a5fcf0af8]
1260
1261         * visudo.c:
1262         Remove tfd from struct sudoersfile; it is not used. Add prev pointer
1263         to struct sudoersfile. Declare list of sudoersfile using TQ_DECLARE.
1264         Use tq_append to append sudoers entries to the tail queue.
1265         [344c631d0d43]
1266
1267 2010-06-10  Todd C. Miller  <Todd.Miller@courtesan.com>
1268
1269         * WHATSNEW:
1270         Describe tty timestamp improvements
1271         [136b0f832903]
1272
1273         * toke.c, toke.l:
1274         A comment character may not be part of a command line argument
1275         unless it is quoted with a backslash. Fixes parsing of:
1276         testuser ALL=NOPASSWD: /usr/bin/wl #comment foo bar closes bz #441
1277         [2a0c82ffedde]
1278
1279         * sudo.cat, sudo.man.in, sudoers.cat, sudoers.man.in:
1280         regen
1281         [c9fddd23c7e1]
1282
1283         * sudoers.pod:
1284         Make this read a little bit better when passwd_timeout is 0.
1285         [51644950823f]
1286
1287         * Makefile.in:
1288         Use the --file argument to config.status instead of setting
1289         CONFIG_FILES
1290         [fc2b42c60b5d]
1291
1292         * sudo.man.pl, sudo.pod:
1293         Attempt to handle a default password prompt timeout of zero more
1294         gracefully.
1295         [478b8e720993]
1296
1297         * toke.c, toke.l:
1298         Do not override value of keepopen global, instead restore it to the
1299         value we pushed onto the stack when popping.
1300         [dc370d57a668]
1301
1302         * exec.c, exec_pty.c, logging.c, mon_systrace.c, tgetpass.c:
1303         Use SA_INTERRUPT in sa_flags
1304         [3845c6637361]
1305
1306         * getdate.c, getdate.y, ldap.c, sudoreplay.c:
1307         Silence some compiler warnings
1308         [112ac65afd0c]
1309
1310 2010-06-09  Todd C. Miller  <Todd.Miller@courtesan.com>
1311
1312         * exec.c, exec_pty.c, sudo.c, sudo.h:
1313         Implement background mode. If I/O logging we use pipes instead of a
1314         pty.
1315         [8d448eaf2aaa]
1316
1317         * compat.h, exec.c, exec_pty.c, mksiglist.c, strsignal.c, tgetpass.c:
1318         Move compat definition of NSIG to compat.h
1319         [cae72a4c9dec]
1320
1321         * tgetpass.c:
1322         Ignore SIGPIPE for "sudo -S"
1323         [c6595c8527c4]
1324
1325         * tgetpass.c:
1326         Properly handle TGP_ECHO again. Print a newline if the user
1327         interrupted password input.
1328         [15acbe4fb535]
1329
1330         * exec_pty.c:
1331         Use POSIX tcgetpgrp() instead of BSD TIOCGPGRP ioctl
1332         [dd041fc9554c]
1333
1334 2010-06-08  Todd C. Miller  <Todd.Miller@courtesan.com>
1335
1336         * exec.c, exec_pty.c, selinux.c, sudo.c, sudo.h:
1337         Return an error from selinux_setup() instead of exiting. Call
1338         selinux_setup() from exec_setup().
1339         [b518225cafba]
1340
1341         * compat.h:
1342         Add definition of WCOREDUMP for systems without it. This is known
1343         to work on AIX and SunOS 4, but may be incorrect on other systems
1344         that lack WCOREDUMP.
1345         [365e56db7cd5]
1346
1347         * check.c, compat.h, config.h.in, configure, configure.in, iolog.c,
1348         nanosleep.c, sudo_edit.c, visudo.c:
1349         Replace timerfoo macros with timevalfoo since the timer macros are
1350         known to be busted on some systems.
1351         [4bb5228606c5]
1352
1353         * toke.c, toke.l:
1354         If a file in a #includedir has improper permissions or owner just
1355         skip it. This prevents packages that incorrectly install a file
1356         into /etc/sudoers.d from breaking sudo so easily. Syntax errors in
1357         #includedir files still result in a parse error (for now).
1358         [b7fb75eddb77]
1359
1360         * TODO, auth/pam.c, exec.c, exec_pty.c, set_perms.c, sudo.c, sudo.h:
1361         Defer call to pam_close_session() until after the command finishes
1362         if there is a monitor process.
1363         [0a39c8e6a81b]
1364
1365         * WHATSNEW, def_data.c, def_data.h, def_data.in, exec.c, sudoers.cat,
1366         sudoers.man.in, sudoers.pod:
1367         Add use_pty sudoers option to force use of a pty even when not
1368         logging I/O.
1369         [aea971f1456a]
1370
1371         * env.c, sudo.c, sudo.h:
1372         Instead of trying to keep the global environment in sync with our
1373         private copy, provide our own getenv() that returns values from the
1374         private environment and use env_get() to pass the environment in to
1375         run_command().
1376         [58c85c5695dc]
1377
1378         * set_perms.c:
1379         Fix typo
1380         [0f677fcdde04]
1381
1382 2010-06-07  Todd C. Miller  <Todd.Miller@courtesan.com>
1383
1384         * sudo.h:
1385         Rename pty.c -> get_pty.c
1386         [39137dcc4420]
1387
1388         * iolog.c:
1389         Add #define for maximum session id
1390         [2a487437f013]
1391
1392         * Makefile.in, configure, configure.in, exec.c, exec_pty.c, iolog.c,
1393         selinux.c, sudo.c, sudo.h, sudo_edit.c:
1394         Split exec.c into exec.c and exec_pty.c Pass a flag in to
1395         sudo_execve to indicate whether we need to wait for the command
1396         to finish (fork + execve vs. execve).
1397         [b197515585db]
1398
1399         * Makefile.in, configure, configure.in, get_pty.c, pty.c:
1400         Rename pty.c -> get_pty.c
1401         [c0e5270bb28a]
1402
1403         * aclocal.m4, configure, configure.in:
1404         Fix --without-iologdir
1405         [dcd6c5907b10]
1406
1407 2010-06-06  Todd C. Miller  <Todd.Miller@courtesan.com>
1408
1409         * iolog.c:
1410         Only use I/O input log file if def_log_input is set and output file
1411         if def_log_output is set.
1412         [96cdd49be996]
1413
1414 2010-06-05  Todd C. Miller  <Todd.Miller@courtesan.com>
1415
1416         * parse_args.c, sudo.c:
1417         Include sudo_usage.h after sudo.h now that it has function
1418         prototypes to guarantee that __P is defined.
1419         [c67b77f8d6b1]
1420
1421 2010-06-04  Todd C. Miller  <Todd.Miller@courtesan.com>
1422
1423         * tgetpass.c:
1424         Do signal setup after turning off echo, not before. If we are using
1425         a tty but are not the foreground pgrp this will generate SIGTTOU so
1426         we want the default action to be taken (suspend process). Use an
1427         array for signals received instead of a single variable so we don't
1428         lose any when there are multiple different signals.
1429         [de356064ea01]
1430
1431         * defaults.h, lbuf.h, sudo.h:
1432         Reorg function prototypes a bit
1433         [5c40f58bb28e]
1434
1435         * Makefile.in, parse_args.c, sudo.c, sudo.h, sudo_usage.h.in:
1436         Move argument parsing into parse_args.c
1437         [fad7b8737c12]
1438
1439         * Makefile.in, config.h.in, configure, configure.in, missing.h,
1440         mksiglist.c, mksiglist.h, siglist.in, strsignal.c:
1441         Build our own sys_siglist for systems that lack it.
1442         [3b5f671936dc]
1443
1444         * exec.c, iolog.c, missing.h, sudo_edit.c:
1445         K&R fixes
1446         [dad62986f2fe]
1447
1448         * exec.c, pty.c, sudo.c, sudo.h, sudo_edit.c:
1449         Log sudoedit sessions as well; adapted from trunk
1450         [2c5d9695022b]
1451
1452         * configure:
1453         regen
1454         [9b319e89a6c4]
1455
1456         * INSTALL, Makefile.in, WHATSNEW, aclocal.m4, configure, configure.in,
1457         def_data.c, def_data.h, def_data.in, defaults.c, exec.c, gram.c,
1458         gram.h, gram.y, iolog.c, parse.c, parse.h, pathnames.h.in, pty.c,
1459         script.c, selinux.c, sudo.c, sudo.h, sudoers.cat, sudoers.man.in,
1460         sudoers.pod, sudoreplay.c, sudoreplay.cat, sudoreplay.man.in,
1461         sudoreplay.pod, term.c:
1462         Merge I/O logging changes from trunk. Disabling I/O log support at
1463         compile time does not currently work. Sudoedit is not yet hooked up
1464         to I/O logging.
1465         [968c2c74c69b]
1466
1467 2010-06-03  Todd C. Miller  <Todd.Miller@courtesan.com>
1468
1469         * INSTALL, configure, configure.in:
1470         Add --enable-warnings configure option
1471         [19cf967c36d1]
1472
1473         * check.c, lbuf.h, script.c, sudo.c, sudo_nss.c:
1474         Fix K&R compilation issues on HP-UX.
1475         [c01a547cdcf8]
1476
1477         * lbuf.c, lbuf.h, ldap.c, parse.c, sudo.c, sudo_nss.c:
1478         Pass in output function to lbuf_init() instead of writing to stdout.
1479         A side effect is that the usage info can now go to stderr as it
1480         should. Add support for embedded newlines in lbuf and use that
1481         instead of multiple calls to lbuf_print.
1482         [596a427ff873]
1483
1484         * configure, configure.in, sudo.man.pl, sudoers.man.pl:
1485         Use numeric registers to handle conditionals instead of trying to do
1486         it all with text processing.
1487         [31570c372e0e]
1488
1489         * sudoers.pod:
1490         Document per-command SELinux settings
1491         [bbce5acad1be]
1492
1493         * sudo.pod:
1494         timestamp -> time stamp
1495         [d7335ce6286f]
1496
1497         * tsgetgrpw.c:
1498         Set close on exec flag in private versions of setpwent() and
1499         setgrent().
1500         [954814bdbd56]
1501
1502         * logging.c:
1503         Make send_mail() take a printf-style argument list
1504         [0783ad585062]
1505
1506         * Makefile.binary.in, Makefile.in, aclocal.m4, acsite.m4,
1507         config.guess, config.h.in, config.sub, configure, configure.in,
1508         ltmain.sh, m4/libtool.m4, m4/ltoptions.m4, m4/ltsugar.m4,
1509         m4/ltversion.m4, m4/lt~obsolete.m4:
1510         Update to autoconf 2.65 and libtool 2.2.6b
1511         [3544dd2f1a94]
1512
1513         * boottime.c:
1514         Don't use TRUE/FALSE which may not be defined.
1515         [8649bf22b3b2]
1516
1517         * sudo.cat, sudo.man.in, sudo.pod:
1518         Document new tty_ticket behavior
1519         [0663e0390338]
1520
1521         * find_path.c, sudo.c, sudo.h, visudo.c:
1522         Make find_path() a little more generic by not checking def_foo
1523         variables inside it. Instead, pass in ignore_dot as a function
1524         argument.
1525         [16c3f27cd9b9]
1526
1527         * check.c:
1528         Store info from stat(2)ing the tty in the tty ticket when tty
1529         tickets are in use. If the tty lives on a devpts (Linux) or devices
1530         (Solaris) filesystem, stash the ctime in the tty ticket file, as it
1531         is not updated when the tty is written to. This helps us determine
1532         when a tty has been reused without the user authenticating again
1533         with sudo.
1534         [f9aec9ab9054]
1535
1536         * boottime.c, check.c, sudo.h:
1537         get_boottime() now fills in a timeval struct
1538         [dbd2003659c0]
1539
1540 2010-06-02  Todd C. Miller  <Todd.Miller@courtesan.com>
1541
1542         * check.c, compat.h, config.h.in, configure, configure.in, fileops.c,
1543         gettime.c, sudo.h, sudo_edit.c, visudo.c:
1544         Use timeval directly instead of converting to timespec when dealing
1545         with file times and time of day.
1546         [c85bf3e41839]
1547
1548         * auth/pam.c:
1549         Fix OpenPAM detection for newer versions.
1550         [67f29a0703d0]
1551
1552         * vasgroups.c:
1553         Sync with Quest sudo git repo
1554         [2680ad9762c2]
1555
1556         * aclocal.m4, configure, configure.in:
1557         HP-UX ld uses +b instead or -R or -rpath Fix typo in libvas check
1558         libvas may need libdl for dlopen() Add missing template for
1559         ENV_DEBUG Adapted from Quest sudo
1560         [6c886eb9070a]
1561
1562         * README.LDAP:
1563         Fix typos; from Quest Sudo
1564         [cf258fc69f1a]
1565
1566         * Makefile.in, configure.in:
1567         Use value of SHELL from configure in Makefile
1568         [08aaf12221d6]
1569
1570 2010-05-28  Todd C. Miller  <Todd.Miller@courtesan.com>
1571
1572         * env.c:
1573         Handle duplicate variables in the environment. For unsetenv(), keep
1574         looking even after remove the first instance. For sudo_putenv(),
1575         check for and remove dupes after we replace an existing value.
1576         [086c6397d8cd]
1577
1578 2010-04-29  Todd C. Miller  <Todd.Miller@courtesan.com>
1579
1580         * visudo.c:
1581         Fix a crash when checking a sudoers file that has aliases that
1582         reference themselves. Based on a diff from David Wood.
1583         [5efc702a3b35]
1584
1585 2010-04-15  Todd C. Miller  <Todd.Miller@courtesan.com>
1586
1587         * alias.c:
1588         Fix use after free in error message when a duplicate alias exists.
1589         [9eaac49bd22b]
1590
1591 2010-04-14  Todd C. Miller  <Todd.Miller@courtesan.com>
1592
1593         * visudo.c:
1594         Set errorfile to the sudoers path if we set parse_error manually.
1595         This prevents a NULL dereference in printf() when checking a sudoers
1596         file in strict mode when alias errors are present.
1597         [b4eed2f0615d]
1598
1599 2010-04-12  Todd C. Miller  <Todd.Miller@courtesan.com>
1600
1601         * TODO, sudoers.cat, sudoers.man.in, sudoers.pod:
1602         Fix typo
1603         [57198cae9cf5]
1604
1605 2010-04-09  Todd C. Miller  <Todd.Miller@courtesan.com>
1606
1607         * find_path.c:
1608         Qualify the command even if it is in the current working directory,
1609         e.g. "./foo" instead of just returning "foo". This removes an
1610         ambiguity between real commands and possible pseudo-commands in
1611         command matching.
1612         [fb4d571495fa]
1613
1614 2010-04-07  Todd C. Miller  <Todd.Miller@courtesan.com>
1615
1616         * sudoers.cat, sudoers.man.in, sudoers.pod:
1617         Add a note about the security implications of the fast_glob option.
1618         [84f8097553d9]
1619
1620         * memrchr.c:
1621         Remove duplicate includes
1622         [3e8d90f4c30f]
1623
1624 2010-03-22  Todd C. Miller  <Todd.Miller@courtesan.com>
1625
1626         * configure, configure.in:
1627         Fix installation of sudoers.ldap in "make install" when --with-ldap
1628         was specified without a directory. From Prof. Dr. Andreas Mueller
1629         [5177a284b9ff]
1630
1631 2010-03-09  Todd C. Miller  <Todd.Miller@courtesan.com>
1632
1633         * match.c:
1634         When doing a glob match, short circuit if gl.gl_pathc is 0. From
1635         Mark Kettenis.
1636         [549f8f7c2463]
1637
1638 2010-03-08  Todd C. Miller  <Todd.Miller@courtesan.com>
1639
1640         * script.c:
1641         Use parent process group id instead of parent process id when
1642         checking foreground status and suspending parent. Fixes an issue
1643         when running commands under /usr/bin/time and others.
1644         [eac86126e335]
1645
1646         * env.c:
1647         In setenv(), if the var is empty, return 1 and set errno to EINVAL
1648         instead of returning EINVAL directly.
1649         [d202091ec15e]
1650
1651 2010-02-22  Todd C. Miller  <Todd.Miller@courtesan.com>
1652
1653         * match.c:
1654         Check for pseudo-command by looking at the first character of the
1655         command in sudoers instead of checking the user-supplied command for
1656         a slash.
1657         [88f3181692fe]
1658
1659 2010-02-09  Todd C. Miller  <Todd.Miller@courtesan.com>
1660
1661         * toke.l:
1662         Avoid a duplicate fclose() of the sudoers file.
1663         [164d39108dde]
1664
1665         * toke.l:
1666         Fix size arg when realloc()ing include stack. From Daniel Kopecek
1667         [8900bccef219]
1668
1669 2010-02-06  Todd C. Miller  <Todd.Miller@courtesan.com>
1670
1671         * aix.c, config.h.in, configure, configure.in:
1672         Use setrlimit64(), if available, instead of setrlimit() when setting
1673         AIX resource limits since rlim_t is 32bits.
1674         [2cbb14d98fc1]
1675
1676         * logging.c:
1677         Fix use after free when sending error messages. From Timo Juhani
1678         Lindfors
1679         [caf183fd9d94]
1680
1681 2010-01-18  Todd C. Miller  <Todd.Miller@courtesan.com>
1682
1683         * ChangeLog, Makefile.in:
1684         Generate the ChangeLog as part of "make dist" instead of having it
1685         in the repo.
1686         [836c31615859]
1687
1688 2010-01-17  Todd C. Miller  <Todd.Miller@courtesan.com>
1689
1690         * Makefile.in:
1691         Generate correct ChangeLog for 1.7 branch.
1692         [586dd90b8878]
1693
1694 2010-01-17  Todd C. Miller  <Todd.Miller@courtesan.com>
1695
1696         * Makefile.binary.in, Makefile.in, aix.c, alias.c, alloc.c, alloc.h,
1697         auth/afs.c, auth/aix_auth.c, auth/bsdauth.c, auth/dce.c,
1698         auth/fwtk.c, auth/kerb4.c, auth/kerb5.c, auth/pam.c, auth/passwd.c,
1699         auth/rfc1938.c, auth/secureware.c, auth/securid.c, auth/securid5.c,
1700         auth/sia.c, auth/sudo_auth.c, auth/sudo_auth.h, check.c,
1701         closefrom.c, compat.h, configure.in, defaults.c, defaults.h,
1702         emul/charclass.h, emul/timespec.h, env.c, error.c, error.h,
1703         fileops.c, find_path.c, getcwd.c, getprogname.c, getspwuid.c,
1704         gettime.c, goodpath.c, gram.c, gram.y, ins_2001.h, ins_classic.h,
1705         ins_csops.h, ins_goons.h, insults.h, interfaces.c, interfaces.h,
1706         isblank.c, lbuf.c, lbuf.h, ldap.c, list.c, list.h, logging.c,
1707         logging.h, match.c, memrchr.c, missing.h, mkinstalldirs, mkstemp.c,
1708         mon_systrace.c, nanosleep.c, parse.c, parse.h, pathnames.h.in,
1709         pty.c, pwutil.c, redblack.c, redblack.h, sample.pam, sample.sudoers,
1710         sample.syslog.conf, script.c, selinux.c, sesh.c, set_perms.c,
1711         sigaction.c, snprintf.c, strcasecmp.c, strerror.c, strlcat.c,
1712         strlcpy.c, strsignal.c, sudo.c, sudo.h, sudo.man.in, sudo.pod,
1713         sudo_edit.c, sudo_noexec.c, sudo_nss.c, sudo_nss.h, sudo_usage.h.in,
1714         sudoers.ldap.man.in, sudoers.ldap.pod, sudoers.man.in, sudoers.pod,
1715         sudoers2ldif, sudoreplay.c, sudoreplay.man.in, sudoreplay.pod,
1716         term.c, testsudoers.c, tgetpass.c, timestr.c, toke.c, toke.l,
1717         utimes.c, visudo.c, visudo.man.in, visudo.pod, zero_bytes.c:
1718         Remove CVS $Sudo$ tags.
1719         [de683a8b31f5]
1720
1721 2009-12-26  Todd C. Miller  <Todd.Miller@courtesan.com>
1722
1723         * sudo_usage.h.in:
1724         make this match sudoers SYNOPSIS
1725         [c74ba66944c2]
1726
1727         * lbuf.c, parse.c:
1728         Print a newline between Runas and Command-specific defaults in sudo
1729         -l.
1730         [b5bdfcc9ce4b]
1731
1732         * term.c:
1733         Use SET and CLR macros in term_raw
1734         [50ca42609d6c]
1735
1736         * sudoreplay.c:
1737         Set stdin to non-blocking mode early instead of in check_input. Use
1738         term_raw instead of term_cbreak since the data we get has already
1739         been expanded via OPOST.
1740         [51c47e803d62]
1741
1742 2009-12-23  Todd C. Miller  <Todd.Miller@courtesan.com>
1743
1744         * script.c, term.c:
1745         Enable/disable all postprocessing instead of just nl->crnl
1746         processing since things like tab expansion matter too. However, if
1747         stdout is a tty leave postprocessing on in the pty since we run into
1748         problems doing it only on the real stdout with .e.g nvi.
1749         [62666e309673]
1750
1751 2009-12-19  Todd C. Miller  <Todd.Miller@courtesan.com>
1752
1753         * check.c:
1754         If tty_tickets is enabled and there is no tty, prompt for a
1755         password. Do not lecture user for "sudo -k command" if user has a
1756         timestamp.
1757         [5880200c5f6b]
1758
1759         * INSTALL:
1760         Document missing options: --with-efence and --with-bsm-audit
1761         [d83afcdf9ff3]
1762
1763         * sudo.cat, sudo.man.in, sudo.pod, sudoers.cat, sudoers.ldap.cat,
1764         sudoers.ldap.man.in, sudoers.ldap.pod, sudoers.man.in, sudoers.pod,
1765         sudoreplay.cat, sudoreplay.man.in, sudoreplay.pod, visudo.cat,
1766         visudo.man.in, visudo.pod:
1767         username -> user name groupname -> group name hostname -> host name
1768         [10c85646f45d]
1769
1770         * INSTALL, README.LDAP, sudoers.pod:
1771         filename -> file name like the rest of the docs
1772         [1ef8ab5a9018]
1773
1774 2009-12-17  Todd C. Miller  <Todd.Miller@courtesan.com>
1775
1776         * parse.c:
1777         Fix printing of entries with multiple host entries on a single line.
1778         [226ceaf91d8d]
1779
1780 2009-12-14  Todd C. Miller  <Todd.Miller@courtesan.com>
1781
1782         * sudoers.pod:
1783         Mention that targetpw affects the timestamp file name.
1784         [a26e22e4f72e]
1785
1786         * def_data.c, def_data.h, def_data.in, defaults.c, script.c,
1787         sudoers.pod:
1788         Add compress_transcript option.
1789         [6e94f8cb9dfb]
1790
1791 2009-12-13  Todd C. Miller  <Todd.Miller@courtesan.com>
1792
1793         * configure, configure.in:
1794         bump to 1.7.3b2
1795         [906d7e347d15]
1796
1797         * pwutil.c, set_perms.c, sudo.c, sudo_nss.c:
1798         Better split of membership vs. traditional group check in
1799         user_in_group(). Allow user_ngroups to be < 0 if getgroups() fails.
1800         [6ebc55d4716b]
1801
1802 2009-12-12  Todd C. Miller  <Todd.Miller@courtesan.com>
1803
1804         * pwutil.c:
1805         Fix pasto and add default return value.
1806         [7973b5e4599c]
1807
1808         * check.c, match.c, pwutil.c, sudo.h:
1809         refactor group member checking into user_in_group()
1810         [48ca8c2eddf8]
1811
1812         * check.c, config.h.in, configure, configure.in, match.c, sudo.c,
1813         sudo.h:
1814         Add support for mbr_check_membership() as present in darwin.
1815         [5501aed02b9f]
1816
1817 2009-12-10  Todd C. Miller  <Todd.Miller@courtesan.com>
1818
1819         * match.c:
1820         Rename label to be accurate
1821         [3af17dd960f7]
1822
1823         * Makefile.in, boottime.c, check.c, config.h.in, configure,
1824         configure.in, sudo.h:
1825         Treat timestamp files from before we booted as old. Idea from and
1826         Apple patch.
1827         [5c96e484c05a]
1828
1829 2009-12-09  Todd C. Miller  <Todd.Miller@courtesan.com>
1830
1831         * sudo.c, sudo.pod, sudo_usage.h.in:
1832         Allow the -u flag to be used in conjunction with the -v flag as per
1833         older versions of sudo.
1834         [591e9fc13c1a]
1835
1836         * logging.c:
1837         fix typo in last commit
1838         [4fd0c692dcf0]
1839
1840 2009-12-08  Todd C. Miller  <Todd.Miller@courtesan.com>
1841
1842         * logging.c:
1843         Convert fmt_first and fmt_confd into macros.
1844         [32e870158b29]
1845
1846         * sudoers.pod:
1847         timeouts can be floats now
1848         [89de639a9679]
1849
1850         * WHATSNEW, def_data.c, def_data.h, def_data.in, defaults.c,
1851         defaults.h, mkdefaults:
1852         Add support for floating point timeout values (e.g. 2.5 minutes).
1853         [210ffa291733]
1854
1855 2009-12-07  Todd C. Miller  <Todd.Miller@courtesan.com>
1856
1857         * sudo.pod:
1858         The -L flag will be removed in sudo 1.7.4
1859         [ffd026084333]
1860
1861 2009-12-06  Todd C. Miller  <Todd.Miller@courtesan.com>
1862
1863         * sudoreplay.c:
1864         Fix a bug due to order of operators.
1865         [938d34464283]
1866
1867 2009-11-23  Todd C. Miller  <Todd.Miller@courtesan.com>
1868
1869         * match.c:
1870         cmnd_matches() already deals with negation so _cmndlist_matches()
1871         does not need to do so itself. Fixes a bug with negated entries in
1872         a Cmnd_List.
1873         [71c845f6ce73]
1874
1875 2009-11-22  Todd C. Miller  <Todd.Miller@courtesan.com>
1876
1877         * sudo.c:
1878         Don't exit() from open_sudoers, just return NULL for all errors.
1879         [8cfa832f972a]
1880
1881         * script.c:
1882         Can't rely on the shell sending us SIGCONT when transitioning from
1883         backgroup to foreground process.
1884         [3c6c5b6cb4b3]
1885
1886         * toke.c, toke.l:
1887         Add missing extern def for parse_error
1888         [45b7b59d03b7]
1889
1890 2009-11-21  Todd C. Miller  <Todd.Miller@courtesan.com>
1891
1892         * toke.c, toke.l:
1893         Avoid a parse error when #includedir doesn't find any files. Closes
1894         bug #375
1895         [1ce1b850e9e6]
1896
1897         * Makefile.in:
1898         Include sudo.man.pl and sudoers.man.pl in the distribution tarball.
1899         [6a22e32da108]
1900
1901 2009-11-15  Todd C. Miller  <Todd.Miller@courtesan.com>
1902
1903         * script.c:
1904         Start command out in foreground mode if stdout is a tty. Works
1905         around issues with some curses-based programs that don't handle
1906         tcsetattr getting interrupted by a signal. Still allows us to avoid
1907         hogging the tty if the command is part of a pipeline.
1908         [1c32f2b94769]
1909
1910         * script.c, sudo.c, sudo.h, sudoreplay.c, term.c, tgetpass.c:
1911         Use a socketpair to pass signals from parent to child. Child will
1912         now pass command status change info back via the socketpair. This
1913         allows the parent to distinguish between signals it has been sent
1914         directly and signals the command has received. It also means the
1915         parent can once again print the signal notifications to the tty so
1916         all writes to the pty master occur in the parent. The command is
1917         now always started in background mode with tty signals handled by
1918         the parent.
1919         [c6790b82986d]
1920
1921 2009-11-04  Todd C. Miller  <Todd.Miller@courtesan.com>
1922
1923         * configure, configure.in:
1924         Fix a few typos in the descriptions; from Jeff Makey Only do the
1925         check for krb5_get_init_creds_opt_free() taking two arguments if we
1926         find krb5_get_init_creds_opt_alloc(). Otherwise we will get a false
1927         positive when using our own krb5_get_init_creds_opt_free which takes
1928         only a single argument.
1929         [845a9ff6f93d]
1930
1931 2009-11-03  Todd C. Miller  <Todd.Miller@courtesan.com>
1932
1933         * configure, configure.in:
1934         Remove a spurious comma in the kerb5 bits.
1935         [3433eab083db]
1936
1937         * auth/kerb5.c:
1938         Call krb5_get_init_creds_opt_init() in our emulated
1939         krb5_get_init_creds_opt_alloc() for MIT kerberos.
1940         [7ffb40bf43e9]
1941
1942 2009-11-01  Todd C. Miller  <Todd.Miller@courtesan.com>
1943
1944         * config.h.in:
1945         Add HAVE_ZLIB
1946         [9297bde61ecc]
1947
1948         * script.c:
1949         Need to ignore SIGTT{IN,OU} in child when running the command in the
1950         background. Also some minor cleanup.
1951         [dc208d982319]
1952
1953 2009-10-31  Todd C. Miller  <Todd.Miller@courtesan.com>
1954
1955         * script.c:
1956         Instead of calling sigsuspend when waiting for SIGUSR[12] from
1957         parent, install the signal handlers w/o SA_RESTART and let them
1958         interrupt waitpid().
1959         [759c7d18203b]
1960
1961         * script.c:
1962         Pass along SIGHUP and SIGTERM from parent to child.
1963         [035b0e254568]
1964
1965         * script.c:
1966         Close unused bits of script_fds in processes that don't need them.
1967         Restore default SIGCONT handler in child.
1968         [e037378ab0c1]
1969
1970         * script.c:
1971         Update foreground/background status in SIGCONT handler in parent
1972         process.
1973         [3f7f91333264]
1974
1975 2009-10-25  Todd C. Miller  <Todd.Miller@courtesan.com>
1976
1977         * script.c:
1978         Defer setting terminal into raw mode until just before we fork() and
1979         only do it if sudo is the foreground process. If we get SIGTT{IN,OU}
1980         and sudo is already in the foreground be sure to set raw mode before
1981         continuing the child.
1982         [1102ef40832c]
1983
1984 2009-10-24  Todd C. Miller  <Todd.Miller@courtesan.com>
1985
1986         * script.c:
1987         Fix handling of SIGTTOU/SIGTTIN in program being run. We now only
1988         give the command the controlling tty if the main sudo process is the
1989         foreground process.
1990         [cf3a91cb5682]
1991
1992         * script.c:
1993         Don't bother with sudo_waitpid() here for now.
1994         [9086de480c2d]
1995
1996         * script.c:
1997         fix non-zlib case
1998         [a258bff0f9a6]
1999
2000 2009-10-23  Todd C. Miller  <Todd.Miller@courtesan.com>
2001
2002         * script.c:
2003         Remove non-wroking code that crept into rev 1.55
2004         [2802dd55cff5]
2005
2006 2009-10-22  Todd C. Miller  <Todd.Miller@courtesan.com>
2007
2008         * INSTALL, configure, configure.in, script.c, sudoreplay.c:
2009         First pass at zlib support for transcript data files
2010         [5d10260807da]
2011
2012         * Makefile.in:
2013         remove vestiges of ZLDFLAGS
2014         [1fa0caf1c0fb]
2015
2016         * script.c:
2017         Add missing variable declaration for when TIOCSCTTY is not defined.
2018         Need to include sys/termio.h for TIOCSCTTY on some systems.
2019         [ee7f41ac2709]
2020
2021         * script.c:
2022         when resuming command, send SIGCONT to its pgrp not just pid
2023         [5cd63c1d565b]
2024
2025         * selinux.c:
2026         remove unused variable
2027         [df67df4be228]
2028
2029         * script.c:
2030         include selinux.h for is_selinux_enabled() proto
2031         [85ebaa880cc1]
2032
2033         * script.c:
2034         Don't use log_error() in the child process.
2035         [def65fe2a433]
2036
2037         * script.c:
2038         Do I/O in parent instead of child since the parent can have both
2039         /dev/tty as well as the pty fds open. The child just sets things up
2040         and waits for its grandchild and writes the signal description to
2041         the pty master if the command was killed by a signal.
2042         [95e473208982]
2043
2044 2009-10-18  Todd C. Miller  <Todd.Miller@courtesan.com>
2045
2046         * missing.h, sudo.h:
2047         Move two struct forward declarations from sudo.h to missing.h
2048         [90ad28294a8c]
2049
2050         * script.c:
2051         Make comment at the top of script_exec() match reality.
2052         [c5042d27dbe0]
2053
2054         * sudo.c:
2055         if neither stdin nor stdout is a tty, check stderr
2056         [c532ff20c8d8]
2057
2058         * Makefile.in:
2059         Add back dependecy of gram.h on gram.y
2060         [c58382b7fcca]
2061
2062         * script.c:
2063         Make transcript mode work as long as we can figure out our tty, even
2064         if it is not stdin. We'd like to use /dev/tty but that won't be
2065         valid after the setsid().
2066         [7b8bba8d99e7]
2067
2068 2009-10-17  Todd C. Miller  <Todd.Miller@courtesan.com>
2069
2070         * config.h.in, configure, configure.in, pty.c:
2071         Add support for IRIX-style dynamic ptys
2072         [bedc9bac44c1]
2073
2074         * Makefile.in, alloc.h, getline.c, sudo.h, sudoreplay.c:
2075         Move alloc.c protos into alloc.h
2076         [b6a90649617d]
2077
2078         * missing.h:
2079         Move prototypes for missing libc functions to missing.h
2080         [dda9ae1ccaf8]
2081
2082         * Makefile.in, sudo.h, sudoreplay.c:
2083         Move prototypes for missing libc functions to missing.h
2084         [7483166b577b]
2085
2086 2009-10-16  Todd C. Miller  <Todd.Miller@courtesan.com>
2087
2088         * config.h.in, configure, configure.in:
2089         Disable transcript support if no tcsetpgrp until we support older
2090         BSD-style job control.
2091         [27ac1d8163df]
2092
2093         * configure, configure.in, pty.c, script.c:
2094         Break out pty code into pty.c
2095         [e85509b25d41]
2096
2097         * compat.h, config.h.in, configure, configure.in:
2098         add killpg macro if no killpg function
2099         [3a125f4a51f0]
2100
2101         * config.h.in, configure, configure.in, script.c:
2102         Push ptem and ldterm for STERAMS-based systems when allocating a
2103         pty.
2104         [36bb39b30ff2]
2105
2106 2009-10-15  Todd C. Miller  <Todd.Miller@courtesan.com>
2107
2108         * script.c:
2109         Sprinkle some more O_NOCTTY and call grantpt() before unlockpt()
2110         [d94bd5c9bf4e]
2111
2112         * script.c:
2113         Call tcgetpgrp() in the parent, not the child and have the child
2114         spin until it is granted. Fixes a race on darwin.
2115         [6e8d435339ce]
2116
2117         * script.c:
2118         Only use TIOCNOTTY in the non-setsid case. If no TIOCSCTTY, just
2119         reopen slave.
2120         [0bdc63c019ca]
2121
2122 2009-10-14  Todd C. Miller  <Todd.Miller@courtesan.com>
2123
2124         * script.c:
2125         In script mode, if the command is killed by a signal, print the
2126         signal description as well as a core dump notification like the
2127         shell does.
2128         [9df61738df07]
2129
2130         * Makefile.in, config.h.in, configure, configure.in, strsignal.c,
2131         sudo.h:
2132         Add check for strsignal() and a simple implementation if it is not
2133         there but sys_siglist is
2134         [61421a188ef4]
2135
2136         * script.c:
2137         Add missing WUNTRACED and store the signal that stopped the
2138         grandchild in suspended, not signo.
2139         [df65042b200e]
2140
2141         * script.c:
2142         g/c unused code
2143         [40d8cb5c9203]
2144
2145         * script.c:
2146         Associate the grandchild's pgrp with the tty instead of the child's
2147         and just get suspend notifications via SIGCHLD instead of directly.
2148         This fixes a hang with programs that try to set terminal attributes
2149         and is more consistent with how the shell handles things.
2150         [6865abff7e94]
2151
2152 2009-10-12  Todd C. Miller  <Todd.Miller@courtesan.com>
2153
2154         * script.c:
2155         Move setpgid() of child into the parent side of the fork() where it
2156         belongs.
2157         [3defa782777c]
2158
2159 2009-10-11  Todd C. Miller  <Todd.Miller@courtesan.com>
2160
2161         * script.c:
2162         fix typo
2163         [b6a612b3622c]
2164
2165         * script.c:
2166         Run command in its own pgrp (like the shell does) for easier
2167         signalling. No need to relay SIGINT or SIGQUIT to parent, just send
2168         to grandchild. Don't want grandchild stopped events in the child
2169         (only termination). Flush output after suspending grandchild before
2170         signalling parent.
2171         [db556bf2176f]
2172
2173         * script.c:
2174         Back out revision 1.34; the problem lies elsewhere.
2175         [85f590a03275]
2176
2177         * script.c:
2178         Don't set stdout to blocking mode when flushing remaining output.
2179         It can cause us to hang when trying to exit. Need to investigate
2180         why.
2181         [6f803a3e33ca]
2182
2183         * script.c:
2184         Handle SIGTTOU and remove some debugging.
2185         [52d17279053e]
2186
2187         * term.c:
2188         Back out revision 1.10 as the signal that interrupts us may be
2189         SIGTTOU or SIGTTIN which the caller must handle.
2190         [7e2fa9107975]
2191
2192         * script.c:
2193         Apparently we need to send SIGSTOP to the command as well as ourself
2194         when we get SIGTSTP, the kernel doesn't automatically stop the
2195         process for us.
2196         [1a936e9309c4]
2197
2198         * script.c:
2199         Use an extra process to act as the glue bewteen the sessions
2200         associated with the user's controlling tty (what the shell uses) and
2201         the tty that sudo is using to do its logging. Basically, this means
2202         that if we get, e.g. SIGTSTP from the process sudo is running, we
2203         relay the signal to the parent so it's shell can do the job control.
2204         [6dd296988060]
2205
2206         * term.c:
2207         Handle getting/setting terminal attributes when the fd is in non-
2208         blocking mode.
2209         [ae5ae535ea7b]
2210
2211 2009-10-07  Todd C. Miller  <Todd.Miller@courtesan.com>
2212
2213         * sudoreplay.c, sudoreplay.cat, sudoreplay.man.in, sudoreplay.pod:
2214         Add support for pausing and changing the speed in interactive mode.
2215         [72a2063780a7]
2216
2217         * script.c:
2218         Already define O_NOCTTY in compat.h, don't need it here
2219         [b5d80ed3e5ce]
2220
2221 2009-10-06  Todd C. Miller  <Todd.Miller@courtesan.com>
2222
2223         * sudoreplay.c:
2224         Add missing protos
2225         [c4cb4e7f4d8a]
2226
2227 2009-09-30  Todd C. Miller  <Todd.Miller@courtesan.com>
2228
2229         * sudo_edit.c:
2230         Always update the stashed mtime of the temp file instead of using
2231         what we have for the original because the time resolution of the
2232         filesystem the temporary is on may not match that of the filesystem
2233         that holds the original. Should fix bz #371 found by Philippe Levan.
2234         [c86ca4bec60c]
2235
2236         * sudoreplay.c:
2237         Use cbreak mode instead of raw mode and add signal handlers to
2238         restore the tty on interrupt.
2239         [84dd283da41c]
2240
2241         * script.c, sudo.h, term.c:
2242         Retain NL to NLCR conversion on the real tty and skip it on the pty
2243         we allocate. That way, if stdout is not a pty there are no extra
2244         carriage returns.
2245         [32e4f570414e]
2246
2247         * script.c:
2248         Fix log_output(); just pass in a string and a length.
2249         [ca980cc0a3fb]
2250
2251 2009-09-28  Todd C. Miller  <Todd.Miller@courtesan.com>
2252
2253         * script.c:
2254         do not use errno when complaining out lack of a tty
2255         [8f9b8c55ab8e]
2256
2257 2009-09-27  Todd C. Miller  <Todd.Miller@courtesan.com>
2258
2259         * Makefile.in, sudoreplay.c, term.c:
2260         Instead of messing with line endings, just set terminal to raw mode
2261         in sudoreplay.
2262         [90943fa87acb]
2263
2264         * term.c:
2265         When copying the terminal attributes to the pty, be sure not to set
2266         ONLCR. This prevents extra carriage returns from ending up in the
2267         script output file.
2268         [e6b5475ac2aa]
2269
2270         * script.c:
2271         Convert a do {} while into a while
2272         [e461310d2c77]
2273
2274         * Makefile.in:
2275         Use if then instead of test && when installing binaries that may not
2276         exist.
2277         [ad4f9490d971]
2278
2279         * script.c:
2280         Add O_NOCTTY when opening a tty device. Explicitly disconnect from
2281         old tty before associatng with new one.
2282         [0e0ca634b80c]
2283
2284         * script.c, selinux.c, sudo.c, sudo.h:
2285         First cut at refactoring some of the selinux code so it can be used
2286         in conjunction with sudo's transcript support.
2287         [779b0d8f9d29]
2288
2289 2009-09-26  Todd C. Miller  <Todd.Miller@courtesan.com>
2290
2291         * aclocal.m4, configure, configure.in:
2292         Fix default case of transcript_enabled being unset.
2293         [f8aa96186e6b]
2294
2295         * script.c, sudoreplay.c:
2296         Use _PATH_SUDO_TRANSCRIPT instead of _PATH_SUDO_SESSDIR
2297         [2844a7a851fa]
2298
2299         * INSTALL, Makefile.in, aclocal.m4, configure, configure.in, sudo.c:
2300         Hook up --disable-transcript and --enable-transcript=DIR
2301         [b3fa7e6b2480]
2302
2303 2009-09-25  Todd C. Miller  <Todd.Miller@courtesan.com>
2304
2305         * aclocal.m4, configure, configure.in, pathnames.h.in:
2306         _PATH_SUDO_SESSDIR -> _PATH_SUDO_TRANSCRIPT Add --enable-
2307         transcript=DIR option to specify the directory
2308         [b0bb76d43cda]
2309
2310         * sudo.cat, sudo.man.in, sudoers.cat, sudoers.man.in:
2311         regen
2312         [c7a8a0a9027c]
2313
2314         * configure, configure.in, sudoers.man.pl, sudoers.pod:
2315         Substitute in default value for secure_path
2316         [c8f9ac6dbf93]
2317
2318         * sudo.pod:
2319         Mention that the password must be followed by a newline with the -S
2320         option.
2321         [2fc589a3ee7e]
2322
2323 2009-09-20  Todd C. Miller  <Todd.Miller@courtesan.com>
2324
2325         * script.c:
2326         Go back to dropping out of the select() loop when the process dies;
2327         Linux ptys apparently don't behave the same as BSD in regards to
2328         select(). No need to flush remaining output to the transcript, only
2329         to stdout. Add back code to check the master pty for additional data
2330         when we exit the main select loop.
2331         [abed9a9cbc6b]
2332
2333 2009-09-19  Todd C. Miller  <Todd.Miller@courtesan.com>
2334
2335         * Makefile.in:
2336         Add getline.o to COMMON_OBJS
2337         [04ef7643cbc2]
2338
2339         * Makefile.in:
2340         sudoreplay depends on libsudo.a
2341         [142bd0472631]
2342
2343         * Makefile.in:
2344         More pwutil.o into COMMON_OBJS
2345         [4a016b933629]
2346
2347         * pwutil.c, testsudoers.c, tsgetgrpw.c:
2348         Remove my_* redirection in pwutil.c for testsudoers and just use the
2349         normal libc get{pw,gr}* names.
2350         [9b76d637d86b]
2351
2352         * sudoreplay.cat, sudoreplay.man.in, sudoreplay.pod:
2353         More time and date examples
2354         [c6ee0175ec56]
2355
2356         * Makefile.in, configure, configure.in, nanosleep.c, sudoreplay.c:
2357         Move nanosleep() emulation into its own file Check librt.a for
2358         nanosleep if we don't find it in libc
2359         [4da0cc26aad7]
2360
2361         * Makefile.in, configure, configure.in:
2362         Build libsudo with the common bits and link things against that.
2363         [2b53bc0b081a]
2364
2365         * script.c:
2366         Fix final flush.
2367         [6da287d833da]
2368
2369         * script.c:
2370         Keep reading from the pty master -> log file until read returns <=
2371         0. Do our best to write everything to stdout when flushing any
2372         remaining bits.
2373         [2a45d4ae280c]
2374
2375         * sudoreplay.c:
2376         Use unbuffered I/O when writing to stdout and make sure we write the
2377         entire buffer.
2378         [f39ef9844a47]
2379
2380 2009-09-18  Todd C. Miller  <Todd.Miller@courtesan.com>
2381
2382         * sudoreplay.c:
2383         Only use max_wait if it is non-zero
2384         [f6c10604d2e8]
2385
2386         * getdate.c, getdate.y, getline.c:
2387         Need compat.h here
2388         [5d6722e225a0]
2389
2390         * sudoreplay.c:
2391         Fix nanosleep emulation
2392         [34e5e5d72a76]
2393
2394         * script.c:
2395         Fix comment after #endif
2396         [bd1347718b25]
2397
2398         * sudoreplay.c:
2399         Add protos for missing libc bits
2400         [644f496427a2]
2401
2402         * configure, configure.in:
2403         add missing line continuation char
2404         [db13c0d402cd]
2405
2406         * config.h.in, configure, configure.in, getline.c:
2407         Implement getline() in terms of fgetln() if we have it.
2408         [3ab786eaadc5]
2409
2410         * sudoreplay.c:
2411         Print year when formatting log line
2412         [90be669e3443]
2413
2414         * sudoreplay.pod:
2415         Document cwd, attempt to document time/date formats.
2416         [6290fb9b65c6]
2417
2418         * sudoreplay.c:
2419         Fix getline return value check.
2420         [d696d6657261]
2421
2422         * Makefile.in, config.h.in, configure, configure.in, getline.c,
2423         sudoreplay.c:
2424         Use getline() if the system has it, else use provide our own for
2425         sudoreplay.
2426         [afca1d6fbe5e]
2427
2428         * script.c:
2429         Refactor code to update output and timing files.
2430         [361491332b1a]
2431
2432 2009-09-17  Todd C. Miller  <Todd.Miller@courtesan.com>
2433
2434         * sudoreplay.c:
2435         Make sudo_getln() behave more like glibc getline.
2436         [40c9f2ea29e6]
2437
2438         * script.c:
2439         When flushing remaining output, also update timing file.
2440         [5a9a5a627549]
2441
2442         * sudoreplay.c:
2443         Use get_timestr() and make the -l output look like the regular sudo
2444         log.
2445         [452ba9d436c9]
2446
2447         * logging.c, sudo.h, timestr.c:
2448         Make get_timestr() take a time_t so we can use it properly in
2449         sudoreplay.
2450         [82e67cc53c9c]
2451
2452         * script.c:
2453         Create session dir earlier now that we update the seq number early.
2454         [797fe8d6dc61]
2455
2456 2009-09-16  Todd C. Miller  <Todd.Miller@courtesan.com>
2457
2458         * sudoreplay.c:
2459         Use fromdate and todate as the keywords instead of from and to; the
2460         short forms will still be accepted.
2461         [d14d9b116df4]
2462
2463         * sudoreplay.c:
2464         Fix reading long liensin sudo_getln()
2465         [58dadd74118c]
2466
2467         * script.c, sudoreplay.c:
2468         Log the cwd in the script log file. Add sudo_getln() to read
2469         arbitrarily long lines.
2470         [faceb802ab8f]
2471
2472         * Makefile.in, logging.c, sudo.h, timestr.c:
2473         Move get_timestr() into its own source file so sudoreplay can use
2474         it.
2475         [99b054bfa20a]
2476
2477 2009-09-15  Todd C. Miller  <Todd.Miller@courtesan.com>
2478
2479         * sudoreplay.c:
2480         Add to and from perdicates (date ranges); needs documentation
2481         [1d629174dcf4]
2482
2483 2009-09-14  Todd C. Miller  <Todd.Miller@courtesan.com>
2484
2485         * Makefile.in, getdate.c, getdate.y:
2486         Fix warning and add generated getdate.c
2487         [b877a86b5a03]
2488
2489         * Makefile.in, getdate.y:
2490         Add getdate.y to be used for sudoreplay date parsing.
2491         [b8e26fbb7a40]
2492
2493 2009-09-13  Todd C. Miller  <Todd.Miller@courtesan.com>
2494
2495         * sudoreplay.c:
2496         Check more than just the first character of a predicate
2497         [4fe53728adb1]
2498
2499         * sudoreplay.cat, sudoreplay.man.in, sudoreplay.pod:
2500         Add examples, sort predicates
2501         [70f8075cbccc]
2502
2503         * Makefile.in, sudoreplay.c, sudoreplay.cat, sudoreplay.man.in,
2504         sudoreplay.pod:
2505         Implement search expressions in sudoreplay similar in concept to
2506         what find or tcpdump uses. TODO: date ranges
2507         [f7ce4fb4cf3a]
2508
2509 2009-09-07  Todd C. Miller  <Todd.Miller@courtesan.com>
2510
2511         * script.c:
2512         Remove vhangup as it was hanging up the wrong tty. Should really
2513         vhangup in the child after it as set its tty.
2514         [2eed9df73010]
2515
2516         * sudoers.pod:
2517         Fix cut at documenting transcript support.
2518         [e6c533a5568a]
2519
2520         * logging.c:
2521         ID= -> TSID= for transcript ID
2522         [1bf755a35333]
2523
2524 2009-09-06  Todd C. Miller  <Todd.Miller@courtesan.com>
2525
2526         * sudoers.pod:
2527         Move fast_glob description to where it belongs in sorted order
2528         [5901cfb0d25f]
2529
2530         * def_data.c, def_data.h, def_data.in, gram.c, gram.h, gram.y,
2531         parse.c, parse.h, sudo.c:
2532         Rename script -> transcript
2533         [e06cf823122c]
2534
2535 2009-09-03  Todd C. Miller  <Todd.Miller@courtesan.com>
2536
2537         * compat.h:
2538         Add timeradd and timersub for those without them
2539         [929f8aa06c2b]
2540
2541         * script.c:
2542         Sanity check sessid before using it.
2543         [aa8ca5211d43]
2544
2545         * sudo.c:
2546         Only set the session id if we are running a command or editing a
2547         file.
2548         [7205d717c098]
2549
2550         * script.c:
2551         Actually. qsort is fine since most versions fal back to a cheaper
2552         sort when the number of elements to sort is small (like in our
2553         case).
2554         [d11c7cd352fe]
2555
2556         * config.h.in, configure, configure.in, script.c:
2557         Check for dup2 and use dup instead if we don't have it.
2558         [98bd89830f8a]
2559
2560         * script.c, sudo.c, sudo.h:
2561         Move the code to dup2 the script fds to low numbered descriptors
2562         into script_duplow() and fix the fd sorting.
2563         [9453fdc5fba6]
2564
2565         * script.c, sudo.c, sudo.h:
2566         Move script_setup() back to immediately before we drop privs and
2567         call the new script_nextid() in its place, which will set
2568         sudo_user.sessid for the logging functions.
2569         [8434d0c8ff08]
2570
2571 2009-09-01  Todd C. Miller  <Todd.Miller@courtesan.com>
2572
2573         * Makefile.in:
2574         Install sudoreplay
2575         [6acf2cdb4d3f]
2576
2577         * sudoreplay.c:
2578         remove unused variable
2579         [2316360bb992]
2580
2581 2009-08-30  Todd C. Miller  <Todd.Miller@courtesan.com>
2582
2583         * logging.c, script.c, sudo.c, sudo.h:
2584         Log the session ID, if there is one. Currently logs ID=XXXXXX,
2585         perhaps should be SESSIONID or SESSID.
2586         [53976905b0a6]
2587
2588         * Makefile.in, configure, configure.in, sudoreplay.cat,
2589         sudoreplay.man.in, sudoreplay.pod:
2590         Add sudoreplay docs
2591         [da4f14f0e64c]
2592
2593         * sudoreplay.c:
2594         add -V (version) flag
2595         [b5e743639ee3]
2596
2597         * sudoreplay.c:
2598         Hook up max_wait.
2599         [2ec5697a92ba]
2600
2601         * script.c, sudoreplay.c:
2602         Use base36 number for the ID and store script files with paths like
2603         /var/log/sudo-session/00/00/00{,.tim,.scr}. This gives us 36^6
2604         (2,176,782,336) unique IDs.
2605         [6aab019d07aa]
2606
2607 2009-08-23  Todd C. Miller  <Todd.Miller@courtesan.com>
2608
2609         * config.h.in, configure.in:
2610         Add check for regcomp
2611         [44c3ebd7ff34]
2612
2613         * sudoreplay.c:
2614         Add support for selecting by pattern and tty when listing.
2615         [66189f840c52]
2616
2617 2009-08-17  Todd C. Miller  <Todd.Miller@courtesan.com>
2618
2619         * sudoreplay.c:
2620         The beginnings of a list mode.
2621         [8d0150b4a52c]
2622
2623 2009-08-16  Todd C. Miller  <Todd.Miller@courtesan.com>
2624
2625         * Makefile.in:
2626         fix pasto
2627         [616b4640b8a8]
2628
2629         * Makefile.in, config.h.in, configure.in:
2630         Add scaffolding for building sudoreplay
2631         [a32958505dbe]
2632
2633         * sudoreplay.c:
2634         include error.h first arg to nanotime is const
2635         [fe5a7bb31bc5]
2636
2637         * sudoreplay.c:
2638         Initial cut at sudoreplay; replay a sudo session.
2639         [f149fba372bd]
2640
2641 2009-08-08  Todd C. Miller  <Todd.Miller@courtesan.com>
2642
2643         * script.c:
2644         Fix wait() usage and use correct wait status.
2645         [f4745ed7ad05]
2646
2647         * sudo.c, sudo.h, tgetpass.c:
2648         Add protos for term_* to sudo.h
2649         [14fe1abd7e7b]
2650
2651         * script.c:
2652         Fix detection of the child process exiting. Since the child is in
2653         its own session we should only ever get SIGCHLD for that process but
2654         better safe than sorry.
2655         [7edfdadd8505]
2656
2657         * config.h.in:
2658         Add UNIX98 pty support.
2659         [82f4b53a0e8f]
2660
2661         * configure, configure.in, script.c:
2662         Add UNIX98 pty support.
2663         [795b8bb0a3a1]
2664
2665 2009-08-07  Todd C. Miller  <Todd.Miller@courtesan.com>
2666
2667         * term.c:
2668         For raw mode, don't bother clearing BRKINT or PARMRK and clear IUCLC
2669         if it is defined.
2670         [40f8b83baf69]
2671
2672         * auth/pam.c:
2673         Set PAM_RUSER and PAM_RHOST early so they can be used during
2674         authentication. Based on a patch from Jamie Beverly.
2675         [3d567b453a6a]
2676
2677         * match.c:
2678         Close dir before returning if strlcpy() reports overflow. From
2679         Martynas Venckus.
2680         [6a82f96473e5]
2681
2682         * config.h.in, configure, configure.in, script.c:
2683         On Linux, the openpty proto libes in pty.h
2684         [98643a018d1c]
2685
2686         * script.c:
2687         Call vhangup on exit if the system has it Use setpgrp() if no
2688         setsid()
2689         [3a9e13149829]
2690
2691 2009-08-06  Todd C. Miller  <Todd.Miller@courtesan.com>
2692
2693         * config.h.in, configure, configure.in:
2694         Add checks for revoke and vhangup if we don't have openpty
2695         [fcb04572e994]
2696
2697         * script.c:
2698         Session logging guts that got forgotten in the previous commit.
2699         [c2af08a63ea9]
2700
2701         * Makefile.in, aclocal.m4, compat.h, config.h.in, configure,
2702         configure.in, def_data.c, def_data.h, def_data.in, gram.c, gram.h,
2703         gram.y, parse.c, parse.h, pathnames.h.in, sudo.c, sudo.h, term.c,
2704         tgetpass.c:
2705         First cut at session logging for sudo. Still need to write
2706         get_pty() for Unix 98 and old-style BSD ptys. Also needs
2707         documentation and general cleanup.
2708         [77e3f5e25738]
2709
2710 2009-08-05  Todd C. Miller  <Todd.Miller@courtesan.com>
2711
2712         * sudo.c, sudo_edit.c:
2713         Fix a bug introduced with def_closefrom. The value of def_closefrom
2714         already includes the +1.
2715         [7291c136300d]
2716
2717 2009-07-29  Todd C. Miller  <Todd.Miller@courtesan.com>
2718
2719         * Makefile.in:
2720         Generate sudo distributions with pax in ustar mode. No longer need
2721         to use a temp file or have the source dir name match the version.
2722         [9778177a8272]
2723
2724 2009-07-18  Todd C. Miller  <Todd.Miller@courtesan.com>
2725
2726         * toke.c, toke.l:
2727         Fix expansion of %h in #include names. Fixes bugzilla 363
2728         [6e346879ba24]
2729
2730 2009-07-12  Todd C. Miller  <Todd.Miller@courtesan.com>
2731
2732         * mkdefaults:
2733         If no arg assume def_data.in
2734         [c1dd28c0e675]
2735
2736         * README, WHATSNEW:
2737         Update for 1.7.2
2738         [f5ad45f69f05] [SUDO_1_7_2]
2739
2740         * ChangeLog:
2741         sync
2742         [6283549396ff]
2743
2744 2009-06-30  Todd C. Miller  <Todd.Miller@courtesan.com>
2745
2746         * sudoers.cat, sudoers.man.in, sudoers.pod:
2747         Add missing single quotes around a colon in Runas_Spec definition.
2748         From Elias Benali.
2749         [ccc6ee4fca83]
2750
2751 2009-06-29  Todd C. Miller  <Todd.Miller@courtesan.com>
2752
2753         * sudo.man.in, sudoers.man.in:
2754         regen
2755         [546e75304ebf]
2756
2757         * redblack.c:
2758         In rbrepair, re-color the root or the first non-block node we find
2759         to be black. Re-coloring the root is probably not needed but won't
2760         hurt.
2761         [34d01ebe241b]
2762
2763         * sudo.cat, sudoers.cat:
2764         regen
2765         [bebf5a39f54f]
2766
2767 2009-06-26  Todd C. Miller  <Todd.Miller@courtesan.com>
2768
2769         * redblack.c:
2770         When repairing the tree, don't touch the root node.
2771         [9841f0d5d789]
2772
2773 2009-06-25  Todd C. Miller  <Todd.Miller@courtesan.com>
2774
2775         * set_perms.c:
2776         Protect call to setegid in runas_setup with #ifdef HAVE_SETEUID.
2777         Reported by Josef Schmid.
2778         [ed044b1eb879]
2779
2780 2009-06-23  Todd C. Miller  <Todd.Miller@courtesan.com>
2781
2782         * sudoers.pod:
2783         Document that we accept env_pam-style environment files
2784         [e3b545456352]
2785
2786         * env.c:
2787         Adapt to accept pam_env-style /etc/environment which allows shell-
2788         style lines such as: export EDITOR="/usr/bin/vi"
2789         [752eb75bf007]
2790
2791         * sudoers.pod:
2792         Make it clear that env_delete only works when !env_reset. From Lo??c
2793         Minier
2794         [3bd3f8e351ba]
2795
2796 2009-06-15  Todd C. Miller  <Todd.Miller@courtesan.com>
2797
2798         * sudo.pod, sudoers.pod:
2799         Add non-unix group bits, adapted from Quest
2800         [8ce427de8dea]
2801
2802         * Makefile.in:
2803         build the .cat page in the current working dir, not the src dir
2804         [00e87a307674]
2805
2806         * env.c:
2807         Return EINVAL in setenv() if var is NULL or the empty string to
2808         match glibc behavior.
2809         [23fd7c247142]
2810
2811 2009-06-13  Todd C. Miller  <Todd.Miller@courtesan.com>
2812
2813         * configure, configure.in:
2814         Use AS_HELP_STRING for AC_ARG_WITH and AC_ARG_ENABLE
2815         [fedd4a3e2a85]
2816
2817 2009-06-11  Todd C. Miller  <Todd.Miller@courtesan.com>
2818
2819         * sudo.cat, sudo.man.in, sudoers.cat, sudoers.ldap.cat,
2820         sudoers.ldap.man.in, sudoers.man.in, visudo.cat, visudo.man.in:
2821         regen
2822         [7b9f461a40b3]
2823
2824 2009-06-09  Todd C. Miller  <Todd.Miller@courtesan.com>
2825
2826         * INSTALL:
2827         Document --with-libvas and --with-libvas-rpath
2828         [a071e6d96c89]
2829
2830 2009-05-29  Todd C. Miller  <Todd.Miller@courtesan.com>
2831
2832         * ldap.c, sudoers.ldap.pod:
2833         For netscape-derived LDAP SDKs the cert and key paths may be a
2834         directory or a file. However, version 5.0 of the SDK only seems to
2835         support using a directory. If ldapssl_clientauth_init fails and the
2836         cert or key paths look like they could be files, strip off the last
2837         path element and try again.
2838         [ac4e49d83043]
2839
2840         * Makefile.in:
2841         Add non-Unix group .o to COMMON_OBJS and substitute in path to flex.
2842         [4547cc1a335f]
2843
2844 2009-05-27  Todd C. Miller  <Todd.Miller@courtesan.com>
2845
2846         * configure, configure.in, match.c, sudo.c, vasgroups.c:
2847         Update non-Unix group support from Quest, as reworked by me.
2848         [1abafce29dc6]
2849
2850         * toke.c:
2851         regen
2852         [01bfca9148b7]
2853
2854         * toke.l:
2855         Add support for escaped hex chars in names, e.g. \x20 for space.
2856         [3c7be8e58a39]
2857
2858 2009-05-25  Todd C. Miller  <Todd.Miller@courtesan.com>
2859
2860         * LICENSE, Makefile.in, aclocal.m4, alias.c, auth/aix_auth.c,
2861         auth/pam.c, auth/sudo_auth.c, auth/sudo_auth.h, check.c, env.c,
2862         fileops.c, glob.c, gram.y, interfaces.c, lbuf.c, ldap.c, logging.c,
2863         logging.h, match.c, parse.c, parse.h, pathnames.h.in, pwutil.c,
2864         set_perms.c, sudo.c, sudo.h, sudo.pod, sudo_nss.c, sudo_nss.h,
2865         sudo_usage.h.in, sudoers.ldap.pod, sudoers.pod, testsudoers.c,
2866         tgetpass.c, toke.l, visudo.c:
2867         Update copyright years.
2868         [e615f676c764]
2869
2870 2009-05-24  Todd C. Miller  <Todd.Miller@courtesan.com>
2871
2872         * interfaces.c, lbuf.c:
2873         Minor fixes for Minix-3
2874         [898c510d23f9]
2875
2876 2009-05-22  Todd C. Miller  <Todd.Miller@courtesan.com>
2877
2878         * set_perms.c:
2879         Handle getgroups() returning 0. Also add missing check for
2880         HAVE_GETGROUPS.
2881         [d73b958f9ffd]
2882
2883 2009-05-19  Todd C. Miller  <Todd.Miller@courtesan.com>
2884
2885         * Makefile.in, config.h.in, configure, configure.in, sudo.c,
2886         version.h, visudo.c:
2887         Replace version.h with PACKAGE_VERSION set via AC_INIT in configure.
2888         [5050579a264d]
2889
2890 2009-05-18  Todd C. Miller  <Todd.Miller@courtesan.com>
2891
2892         * set_perms.c:
2893         Remove group setting code in setusercontext case, we will do it
2894         ourselves later on in runas_setup. Set the gid after
2895         initgroups/setgroups is called, since on Mac OS X it seems to change
2896         the egid.
2897         [09dc21d8b42d]
2898
2899 2009-05-17  Todd C. Miller  <Todd.Miller@courtesan.com>
2900
2901         * LICENSE, Makefile.in, config.h.in, match.c, nonunix.h, sudo.c,
2902         vasgroups.c:
2903         Initial bits of non-unix group support using Quest Authentication
2904         Services
2905         [1eecab0ff27e]
2906
2907         * toke.c, toke.l:
2908         Accept %:foo as a non-Unix group
2909         [4c4b5dd899a6]
2910
2911         * toke.c, toke.l:
2912         Allow user/group to be double quoted in the case of non-Unix groups
2913         which contain spaces.
2914         [47a3d568b7e8]
2915
2916 2009-05-11  Todd C. Miller  <Todd.Miller@courtesan.com>
2917
2918         * match.c:
2919         Don't allow the user to specify the default runas user if their
2920         sudoers entry only allows them to run as a group.
2921         [4d726177227c]
2922
2923 2009-05-10  Todd C. Miller  <Todd.Miller@courtesan.com>
2924
2925         * sudo.c:
2926         Must call audit_success before we change uids.
2927         [04a9e6ce6e55]
2928
2929         * logging.c, set_perms.c, sudo.h, testsudoers.c:
2930         Add option for set_perm to not exit on failure and use this in the
2931         logging routines.
2932         [833dce7b7f42]
2933
2934         * parse.c:
2935         In -l mode, if the user is only allowed to run as a group, display
2936         the user's name, not root's before the allowed group.
2937         [ef92ff99d265]
2938
2939         * sudo.c:
2940         Fix -g mode, broken by rev 1.503 which had the side effect of
2941         setting the runas user to root unilaterally.
2942         [50a2f7df4385]
2943
2944 2009-05-08  Todd C. Miller  <Todd.Miller@courtesan.com>
2945
2946         * fileops.c:
2947         When unlocking a file with fcntl, use F_SETLK, not F_SETLKW.
2948         [30fbe832dcf3]
2949
2950         * pwutil.c:
2951         Only cache by the method we fetched for pwd and grp lookups.
2952         Previously we cached both by namd and id but this can cause problems
2953         for entries that share the same id. Also add more info in the error
2954         message in case the insert fails (which should now be impossible).
2955         [ef95a4f0bab5]
2956
2957 2009-04-30  Todd C. Miller  <Todd.Miller@courtesan.com>
2958
2959         * sudoers.pod:
2960         Add a clarification from Nick Sieger
2961         [1eadad329561]
2962
2963 2009-04-25  Todd C. Miller  <Todd.Miller@courtesan.com>
2964
2965         * env.c:
2966         Inline the setting of the environment string.
2967         [9515d11c6295]
2968
2969 2009-04-24  Todd C. Miller  <Todd.Miller@courtesan.com>
2970
2971         * env.c:
2972         setenv(3) in Linux treats a NUL value as the empty string setenv(3)
2973         in BSD doesn't return an error if the name has '=' in it, it just
2974         treats the '=' as end of string.
2975         [941260bf94d2]
2976
2977 2009-04-22  Todd C. Miller  <Todd.Miller@courtesan.com>
2978
2979         * toke.c, toke.l:
2980         Not all systems have d_namlen
2981         [e377b18d8e2d]
2982
2983 2009-04-20  Todd C. Miller  <Todd.Miller@courtesan.com>
2984
2985         * sudoers.pod:
2986         Fix up some pod2html issues.
2987         [823a1f10ab60]
2988
2989 2009-04-19  Todd C. Miller  <Todd.Miller@courtesan.com>
2990
2991         * interfaces.c:
2992         Check for NULL ifa_addr and ifa_netmask. Adapted from a diff from
2993         Quest Software.
2994         [73de36653131]
2995
2996         * sudoers.pod:
2997         Ignore files ending in '~' in sudo.d (emacs backup files)
2998         [7871fad702db]
2999
3000         * toke.c, toke.l:
3001         Ignore files ending in '~' in sudo.d (emacs backup files)
3002         [53fded2a469f]
3003
3004 2009-04-18  Todd C. Miller  <Todd.Miller@courtesan.com>
3005
3006         * sudoers.cat, sudoers.man.in, sudoers.pod, toke.c, toke.l:
3007         For #includedir, ignore any file containing a dot
3008         [a7daa1bce6c2]
3009
3010         * Makefile.in, version.h:
3011         Bump version
3012         [ef60f14ffc44]
3013
3014         * gram.c, gram.y, parse.c, parse.h, sudo.c, sudo.h, sudoers.cat,
3015         sudoers.man.in, sudoers.pod, testsudoers.c, toke.c, toke.l,
3016         visudo.c:
3017         Implement #includedir directive. Files in an includedir are not
3018         edited by visudo unless they contain a syntax error.
3019         [3923d85a6c79]
3020
3021         * ChangeLog:
3022         sync
3023         [8741ed61a78b] [SUDO_1_7_1]
3024
3025         * WHATSNEW:
3026         Forgot umask_override
3027         [7c86a21a5504]
3028
3029         * ChangeLog, TODO:
3030         sync
3031         [57339ca6bccf]
3032
3033 2009-04-16  Todd C. Miller  <Todd.Miller@courtesan.com>
3034
3035         * visudo.c:
3036         Rewind stream if we fdopen sudoers since it may not be at the
3037         beginning. Set the keepopen flag on already-open files too so the
3038         lexer doesn't close them out from under us.
3039         [61292d819aff]
3040
3041         * visudo.c:
3042         Print the proper file name when there is a parse error in an include
3043         file.
3044         [b0e85d4aedde]
3045
3046 2009-04-11  Todd C. Miller  <Todd.Miller@courtesan.com>
3047
3048         * WHATSNEW:
3049         Sync
3050         [997e5d485ea3]
3051
3052 2009-04-10  Todd C. Miller  <Todd.Miller@courtesan.com>
3053
3054         * configure, configure.in:
3055         Fix a warning when --without-ldap is specified.
3056         [d91fd9481b30]
3057
3058 2009-04-05  Todd C. Miller  <Todd.Miller@courtesan.com>
3059
3060         * alias.c, parse.h, visudo.c:
3061         Store aliases that we remove during check_aliases in a freelist and
3062         free them at the end so we don't leak memory.
3063         [805e2272f6a3]
3064
3065 2009-03-28  Todd C. Miller  <Todd.Miller@courtesan.com>
3066
3067         * visudo.c:
3068         Check aliases in -c mode too.
3069         [9199e188d9f2]
3070
3071         * alias.c, parse.h, visudo.c:
3072         Make alias_remove return the alias struct instead of freeing it
3073         directly. Fixes a use after free in alias_remove_recursive, the only
3074         consumer.
3075         [a04b61804800]
3076
3077         * alias.c, match.c, parse.c, parse.h, visudo.c:
3078         Rename find_alias -> alias_find for consistency.
3079         [48b0a82924f3]
3080
3081 2009-03-27  Todd C. Miller  <Todd.Miller@courtesan.com>
3082
3083         * visudo.c:
3084         When checking for unused aliases, recurse if the alias points to
3085         another alias.
3086         [2d4d1a7f3a41]
3087
3088 2009-03-16  Todd C. Miller  <Todd.Miller@courtesan.com>
3089
3090         * ldap.c:
3091         Back out rev 1.105 for now. Real ldapux_client.conf support will be
3092         done later after some refactoring.
3093         [8ad72e69b277]
3094
3095 2009-03-14  Todd C. Miller  <Todd.Miller@courtesan.com>
3096
3097         * ldap.c:
3098         Treat ldap_hostport the same as "host" for ldapux.
3099         [3281dcc66da8]
3100
3101         * configure, configure.in:
3102         Only check for ldap_sasl_interactive_bind_s if we can find sasl.h.
3103         Fixes compilation with ldapux.
3104         [ca1ed585ef0e]
3105
3106 2009-03-12  Todd C. Miller  <Todd.Miller@courtesan.com>
3107
3108         * fileops.c:
3109         fix char subscript
3110         [41e51f080d00]
3111
3112 2009-03-11  Todd C. Miller  <Todd.Miller@courtesan.com>
3113
3114         * Makefile.in:
3115         remove errant carriage returns
3116         [e9e258a31c7b]
3117
3118         * audit.c, env.c:
3119         fix K&R compilation
3120         [d182e8920f13]
3121
3122         * sudo.cat, sudo.man.in, sudoers.cat, sudoers.ldap.cat,
3123         sudoers.ldap.man.in, sudoers.man.in, visudo.cat, visudo.man.in:
3124         regen
3125         [791a5cbf04e5]
3126
3127 2009-03-10  Todd C. Miller  <Todd.Miller@courtesan.com>
3128
3129         * config.h.in:
3130         Add missing HAVE_BSM_AUDIT
3131         [49ad1bb96f04]
3132
3133         * WHATSNEW:
3134         Add 1.7.1 features
3135         [f107f1604c61]
3136
3137         * INSTALL:
3138         Mention --with-netsvc
3139         [d1e90d147795]
3140
3141         * sudoers.ldap.pod:
3142         Document netsvc.conf support
3143         [e78f8abce6af]
3144
3145         * configure, configure.in, pathnames.h.in, sudo.c, sudo_nss.c,
3146         sudo_nss.h:
3147         Add support for AIX netsvc.conf (like nsswitch.conf).
3148         [1df56a84dee5]
3149
3150 2009-03-08  Todd C. Miller  <Todd.Miller@courtesan.com>
3151
3152         * config.h.in, configure, configure.in, env.c:
3153         Add --enable-env-debug flag to enable environment sanity checks.
3154         [128cdd8832e7]
3155
3156         * sudoers.ldap.pod, sudoers.pod:
3157         Work around some pod2html issue.
3158         [e733b9609bd2]
3159
3160 2009-03-07  Todd C. Miller  <Todd.Miller@courtesan.com>
3161
3162         * env.c:
3163         Only sync environ for putenv, setenv, and unsetenv. We need to make
3164         sure that sudo_putenv and sudo_setenv only modify env.envp, not
3165         environ.
3166         [be3ac732243c]
3167
3168 2009-03-02  Todd C. Miller  <Todd.Miller@courtesan.com>
3169
3170         * env.c:
3171         Really fix UNSETENV_VOID
3172         [08ab7e882507]
3173
3174         * env.c:
3175         Fix unsetenv when UNSETENV_VOID
3176         [d3038b3f2f15]
3177
3178         * aclocal.m4, configure:
3179         Fix SUDO_FUNC_PUTENV_CONST
3180         [de35569c572b]
3181
3182         * ldap.c:
3183         tivoli-based ldap does not have ldapssl_err2string
3184         [c63fd90d5e99]
3185
3186         * configure:
3187         regen
3188         [f38f1ee828ad]
3189
3190 2009-03-01  Todd C. Miller  <Todd.Miller@courtesan.com>
3191
3192         * config.h.in, configure, configure.in, ldap.c:
3193         Add support for Tivoli-based LDAP start TLS as seen in AIX.
3194         Untested.
3195         [8f8771829f85]
3196
3197         * env.c:
3198         Add sanity checks for setenv/unsetenv
3199         [adbd1d95856b]
3200
3201         * Makefile.in:
3202         Include bsm_audit.h in the tarball
3203         [4a4aa02b2c32]
3204
3205         * Makefile.in, version.h:
3206         bump version for sudo 1.7.1
3207         [362c71d21595]
3208
3209         * aclocal.m4, auth/aix_auth.c, config.h.in, configure, configure.in,
3210         env.c, ldap.c, sudo.h:
3211         Replace sudo_setenv/sudo_unsetenv with calls to setenv/unsetenv and
3212         provide our own setenv/unsetenv/putenv that operates on own env
3213         pointer. Make sync_env() inline in setenv/unsetenv/putenv functions.
3214         [276edcd23032]
3215
3216 2009-02-25  Todd C. Miller  <Todd.Miller@courtesan.com>
3217
3218         * sudo.c:
3219         Make "sudoedit -h" work as expected
3220         [2bcbbb45d389]
3221
3222         * auth/pam.c:
3223         Make sure def_prompt is always defined. This is a workaround for
3224         pam configs that prompt for a password in the session but don't have
3225         an auth line. A better fix is to expand the sudo prompt earlier and
3226         set def_prompt to that when initializing.
3227         [ee073c04aec3]
3228
3229         * sudo.pod:
3230         Mention that the helper for -A may be graphical.
3231         [b64a940c4082]
3232
3233         * TROUBLESHOOTING:
3234         Document what happens if there is no tty.
3235         [313d58a856a5]
3236
3237         * sudo.c:
3238         cosmetic changes
3239         [894f5e3b0c3e]
3240
3241         * term.c:
3242         Fix term_restore
3243         [6c6315ff14bc]
3244
3245         * sudo.c:
3246         Fix "sudo -k" with no other args
3247         [59e94dc419c6]
3248
3249 2009-02-24  Todd C. Miller  <Todd.Miller@courtesan.com>
3250
3251         * check.c, sudo.c, sudo.pod, sudo_usage.h.in:
3252         Allow the -k flag to be specified in conjunction with a command or
3253         another option that may require authentication.
3254         [5960ff20355d]
3255
3256 2009-02-23  Todd C. Miller  <Todd.Miller@courtesan.com>
3257
3258         * configure, configure.in:
3259         Remove unneeded AC_CANONICAL_TARGET; from Diego E. 'Flameeyes'
3260         [e86ab69c4a57]
3261
3262         * Makefile.in:
3263         Parallel make fix. From Diego E. 'Flameeyes'
3264         [1289d7ee27db]
3265
3266 2009-02-21  Todd C. Miller  <Todd.Miller@courtesan.com>
3267
3268         * def_data.c, def_data.h, def_data.in, sudo.c, sudoers.pod:
3269         Implement umask_override
3270         [8b87a3f7c5aa]
3271
3272         * toke.c:
3273         regen
3274         [79d7ca9ac873]
3275
3276         * sudoers.pod, toke.l, visudo.c:
3277         Implement %h escape in sudoers include filenames.
3278         [a7f288dd64f0]
3279
3280         * audit.c:
3281         Need to include compat.h
3282         [c0dc07ce2f70]
3283
3284         * Makefile.in, audit.c, bsm_audit.c, bsm_audit.h, logging.h, sudo.c:
3285         Make audit_success and audit_failure generic functions in
3286         preparation for integrating linux audit support.
3287         [7df020a8fd6f]
3288
3289         * term.c:
3290         remove duplicate include
3291         [1dfcd01a7e46]
3292
3293 2009-02-20  Todd C. Miller  <Todd.Miller@courtesan.com>
3294
3295         * bsm_audit.c:
3296         Add missing include
3297         [fb56e08c37ee]
3298
3299         * sudo.c:
3300         May need to update the runas user after parsing command-based
3301         defaults.
3302         [246f130d7802]
3303
3304 2009-02-18  Todd C. Miller  <Todd.Miller@courtesan.com>
3305
3306         * glob.c:
3307         Add missing pair of braces introduced with character class support.
3308         [0e2afa2e03e9]
3309
3310 2009-02-15  Todd C. Miller  <Todd.Miller@courtesan.com>
3311
3312         * def_data.c, def_data.h, def_data.in, sudoers.pod, tgetpass.c:
3313         Rename pwstars to pwfeedback
3314         [a9f85a57ebac]
3315
3316 2009-02-11  Todd C. Miller  <Todd.Miller@courtesan.com>
3317
3318         * bsm_audit.c, bsm_audit.h:
3319         Add const to make MacOS happy.
3320         [4274432d6627]
3321
3322         * Makefile.in, auth/sudo_auth.c, bsm_audit.c, bsm_audit.h, configure,
3323         configure.in, sudo.c:
3324         Add bsm audit support from Christian S.J. Peron
3325         [bef61cd8693d]
3326
3327         * term.c:
3328         This is new code, no DARPA notice.
3329         [ec6ad09b9c23]
3330
3331 2009-02-10  Todd C. Miller  <Todd.Miller@courtesan.com>
3332
3333         * def_data.c, def_data.h, def_data.in, match.c, sudoers.pod:
3334         Rename simple_glob -> fast_glob
3335         [68d9ed803cc1]
3336
3337         * match.c:
3338         g/c unused var
3339         [693fa0464eb6]
3340
3341         * def_data.c, def_data.h, def_data.in, match.c, sudoers.pod:
3342         Add simple_glob option to use fnmatch() instead of glob(). This is
3343         useful when you need to specify patterns that reference network file
3344         systems.
3345         [77ba634f6949]
3346
3347         * tgetpass.c:
3348         add term_* proto
3349         [520f5149d073]
3350
3351         * sudoers.pod:
3352         mention glob()
3353         [ddaab8e03c52]
3354
3355 2009-02-09  Todd C. Miller  <Todd.Miller@courtesan.com>
3356
3357         * tgetpass.c:
3358         Delete any pwstars we wrote after the user hits return. That way
3359         there is no record on screen as to the user's password length.
3360         [fae25cda762b]
3361
3362 2009-02-08  Todd C. Miller  <Todd.Miller@courtesan.com>
3363
3364         * term.c:
3365         Move terminal setting bits from tgetpass.c to term.c
3366         [03d43325ee99]
3367
3368         * Makefile.in, def_data.c, def_data.h, def_data.in, sudoers.pod,
3369         tgetpass.c:
3370         Add pwstars sudoers option that causes sudo to print a star every
3371         time the user presses a key.
3372         [7aab417e184d]
3373
3374 2009-02-03  Todd C. Miller  <Todd.Miller@courtesan.com>
3375
3376         * Makefile.in:
3377         Fix up F<> brokenness for visudo.man.in and sudoers.ldap.man.in.
3378         [64f70e879816]
3379
3380 2009-01-27  Todd C. Miller  <Todd.Miller@courtesan.com>
3381
3382         * ldap.c:
3383         For ldap_search_ext_s() the sizelimit param should be 0, not -1, to
3384         indicate no limit. From Mark Janssen.
3385         [e2c5732d54f5]
3386
3387 2009-01-17  Todd C. Miller  <Todd.Miller@courtesan.com>
3388
3389         * toke.c, toke.l:
3390         Comments that begin with #- should not be parsed as uids.
3391         [a72a50f12f41]
3392
3393 2009-01-09  Todd C. Miller  <Todd.Miller@courtesan.com>
3394
3395         * sudo.c:
3396         Do not try to set the close on exec flag if we didn't actually open
3397         sudoers.
3398         [ece3ca256904]
3399
3400 2008-12-19  Todd C. Miller  <Todd.Miller@courtesan.com>
3401
3402         * ChangeLog:
3403         regen
3404         [e11f0e4c1bdd] [SUDO_1_7_0]
3405
3406 2008-12-14  Todd C. Miller  <Todd.Miller@courtesan.com>
3407
3408         * TODO:
3409         sync
3410         [5b8954462bb3]
3411
3412 2008-12-09  Todd C. Miller  <Todd.Miller@courtesan.com>
3413
3414         * auth/pam.c:
3415         Return PAM_AUTH_ERR instead of PAM_CONV_ERR if user enters ^C at the
3416         password prompt.
3417         [8563601cb3de]
3418
3419         * configure, configure.in:
3420         Don't try to build sudo_noexec.so on HP-UX with the bundled compiler
3421         as it cannot generate shared objects.
3422         [6d4262ef9669]
3423
3424         * emul/charclass.h, glob.c, lbuf.c, tgetpass.c:
3425         K&R compilation fixes
3426         [77921678d17c]
3427
3428         * parse.c:
3429         Use tq_foreach_fwd when checking pseudo-commands to make it clear
3430         that we are not short-circuiting on last match. When pwcheck is
3431         'all', initialize nopass to TRUE and override it with the first non-
3432         TRUE entry.
3433         [96b209f4778f]
3434
3435 2008-12-08  Todd C. Miller  <Todd.Miller@courtesan.com>
3436
3437         * parse.c:
3438         Do not short circuit pseudo commands when we get a match since,
3439         depending on the settings, we may need to examine all commands for
3440         tags.
3441         [fdbaf89d6f35]
3442
3443 2008-12-03  Todd C. Miller  <Todd.Miller@courtesan.com>
3444
3445         * sudoers.cat, sudoers.man.in:
3446         regen
3447         [1ecce7c1b841]
3448
3449         * sudoers.pod:
3450         hostnames may also contain wildcards
3451         [82b76695601c]
3452
3453         * Makefile.in:
3454         remove stamp-* files and linux core files in clean target
3455         [22003f091467]
3456
3457 2008-12-02  Todd C. Miller  <Todd.Miller@courtesan.com>
3458
3459         * auth/sudo_auth.h, config.h.in, configure, configure.in:
3460         Use HAVE_SIA_SES_INIT instead of HAVE_SIA for Digital UNIX
3461         [6905bede8410]
3462
3463 2008-11-26  Todd C. Miller  <Todd.Miller@courtesan.com>
3464
3465         * configure, configure.in:
3466         correctly enable SIA on Digital UNIX
3467         [a51881d13995]
3468
3469         * TODO:
3470         checkpoint
3471         [af0fe8d94d42]
3472
3473         * ChangeLog:
3474         sync
3475         [831f623cf99c]
3476
3477 2008-11-25  Todd C. Miller  <Todd.Miller@courtesan.com>
3478
3479         * check.c, sudo.h, tgetpass.c:
3480         Even if neither stdin nor stdout are ttys we may still have /dev/tty
3481         available to us.
3482         [20f306ba883b]
3483
3484 2008-11-24  Todd C. Miller  <Todd.Miller@courtesan.com>
3485
3486         * sudoers.cat, sudoers.man.in:
3487         regen
3488         [76d97c4c318f]
3489
3490         * sudoers.pod:
3491         fix typos; Markus Lude
3492         [bff8bc1e2066]
3493
3494         * ChangeLog:
3495         sync
3496         [f108552531cd]
3497
3498         * toke.c:
3499         regen
3500         [de828413c67e]
3501
3502         * toke.l:
3503         Fix matching of a line that only consists of a comment char
3504         [09c953d8d5ca]
3505
3506 2008-11-22  Todd C. Miller  <Todd.Miller@courtesan.com>
3507
3508         * auth/pam.c:
3509         MacOS pam will retry conversation function if it fails so just treat
3510         ^C as an empty password.
3511         [d056058930bc]
3512
3513         * visudo.c:
3514         When checking for alias use, also check defaults bindings.
3515         [2647f82c7dbd]
3516
3517         * redblack.c:
3518         unused var
3519         [b7ff71c17c18]
3520
3521         * redblack.c:
3522         Replace my rbdelete with Emin's version (which actually works ;-)
3523         [21b133dd0c72]
3524
3525 2008-11-19  Todd C. Miller  <Todd.Miller@courtesan.com>
3526
3527         * testsudoers.c:
3528         malloc debugging
3529         [0fb446fa3279]
3530
3531         * visudo.c:
3532         malloc options in devel mode for visudo too
3533         [98d06c6afeef]
3534
3535 2008-11-18  Todd C. Miller  <Todd.Miller@courtesan.com>
3536
3537         * sudo.c:
3538         fix compilation on non-C99; from Theo
3539         [7c304e16c536]
3540
3541         * visudo.c:
3542         fix check_aliases
3543         [83f30a3b1765]
3544
3545         * alias.c:
3546         when destroying an alias, free the correct data pointer
3547         [6e1a8bd86c01]
3548
3549         * auth/sudo_auth.h:
3550         add proto for aixauth_cleanup; from Dale King
3551         [eba94ffc8f63]
3552
3553 2008-11-15  Todd C. Miller  <Todd.Miller@courtesan.com>
3554
3555         * sudo.cat, sudo.man.in, sudoers.cat, sudoers.man.in, visudo.cat,
3556         visudo.man.in:
3557         regen
3558         [409fa57fff83]
3559
3560         * sudo.pod, sudoers.pod, visudo.pod:
3561         standardize on the term 'option' for command line options (not flag)
3562         [228caefc2e36]
3563
3564 2008-11-14  Todd C. Miller  <Todd.Miller@courtesan.com>
3565
3566         * INSTALL:
3567         Add note on configuring HP-UX pam
3568         [f7674a581baf]
3569
3570 2008-11-11  Todd C. Miller  <Todd.Miller@courtesan.com>
3571
3572         * check.c, sudo.c:
3573         Move tty checks into check_user() so we only do them if we actually
3574         need a password.
3575         [7d997d7106d6]
3576
3577         * sudo.c:
3578         Don't error out if no tty or askpass unless we actually need to
3579         authenticate.
3580         [9f23b83ed66c]
3581
3582 2008-11-10  Todd C. Miller  <Todd.Miller@courtesan.com>
3583
3584         * ChangeLog:
3585         regen
3586         [23f9aef32da6]
3587
3588         * pathnames.h.in, sudo.c:
3589         s/overriden/overridden/; from Tobias Stoeckmann
3590         [9f7459a8fac5]
3591
3592 2008-11-09  Todd C. Miller  <Todd.Miller@courtesan.com>
3593
3594         * WHATSNEW, visudo.c:
3595         check sudoers owner and mode in strict mode
3596         [a3468c5ac1c4]
3597
3598         * gram.c, toke.c:
3599         regen
3600         [7d6b515a5443]
3601
3602         * sudo.man.in, sudoers.man.in, visudo.man.in:
3603         Update copyright years.
3604         [52d340cb8cba]
3605
3606         * LICENSE, alias.c, alloc.c, auth/afs.c, auth/aix_auth.c,
3607         auth/bsdauth.c, auth/fwtk.c, auth/kerb4.c, auth/kerb5.c, auth/pam.c,
3608         auth/securid.c, auth/securid5.c, auth/sia.c, auth/sudo_auth.h,
3609         closefrom.c, compat.h, defaults.c, defaults.h, env.c, fileops.c,
3610         gettime.c, gram.y, ins_csops.h, insults.h, interfaces.c,
3611         interfaces.h, lbuf.c, license.pod, list.c, logging.c, logging.h,
3612         parse.c, parse.h, pwutil.c, redblack.c, redblack.h, snprintf.c,
3613         sudo.c, sudo.pod, sudo_edit.c, sudo_nss.h, sudoers.pod,
3614         testsudoers.c, toke.l, tsgetgrpw.c, utimes.c, version.h, visudo.c,
3615         visudo.pod, zero_bytes.c:
3616         Update copyright years.
3617         [b4e6bf2beafa]
3618
3619         * emul/charclass.h, fnmatch.c, glob.c:
3620         add my copyright
3621         [28681385014a]
3622
3623 2008-11-08  Todd C. Miller  <Todd.Miller@courtesan.com>
3624
3625         * toke.c, toke.l:
3626         The loop in fill_cmnd() was going one byte too far past the end,
3627         resulting in a NUL being written immediately after the buffer end.
3628         [a5a49d603cd7]
3629
3630         * UPGRADE, WHATSNEW:
3631         add sections on tgetpass changes
3632         [2e6929b6a102]
3633
3634         * tgetpass.c:
3635         Treat EOF w/o newline as an error.
3636         [aa02b1db9240]
3637
3638 2008-11-07  Todd C. Miller  <Todd.Miller@courtesan.com>
3639
3640         * parse.c:
3641         Fix "sudo -v" when NOPASSWD is set.
3642         [f4914711ea80]
3643
3644         * auth/bsdauth.c, auth/fwtk.c, auth/pam.c, auth/sudo_auth.c,
3645         auth/sudo_auth.h:
3646         No longer treat an empty password at the prompt as special. To quit
3647         out of sudo you now need to hit ^C at the password prompt.
3648         [980f760ad419]
3649
3650         * sudoers.cat, sudoers.man.in:
3651         regen
3652         [6ca21a2cd869]
3653
3654         * def_data.c, def_data.h, def_data.in, sudo.c, sudoers.pod:
3655         Sudo will now refuse to run if no tty is present unless the new
3656         visiblepw sudoers flag is set.
3657         [0cc56943252e]
3658
3659 2008-11-06  Todd C. Miller  <Todd.Miller@courtesan.com>
3660
3661         * aix.c:
3662         just use RLIM_INFINITY for RLIM_SAVED_MAX if RLIM_SAVED_MAX not
3663         defined
3664         [24fc6f712d5c]
3665
3666         * aix.c:
3667         fix fallback value for RLIM_SAVED_MAX
3668         [e09e04e1af89]
3669
3670         * auth/aix_auth.c, auth/sudo_auth.h:
3671         Move clearing of AUTHSTATE into aixauth_cleanup.
3672         [e14ae7bd259c]
3673
3674         * auth/aix_auth.c, env.c:
3675         Unset AUTHSTATE after calling authenticate() as it may not be
3676         correct for the user we are running the command as.
3677         [d14f68f1b0ab]
3678
3679         * isblank.c:
3680         Add isblank() function for systems without it. Needed for POSIX
3681         character class matching in fnmatch.c and glob.c.
3682         [16cba30b283f]
3683
3684 2008-11-05  Todd C. Miller  <Todd.Miller@courtesan.com>
3685
3686         * TROUBLESHOOTING:
3687         expound on sudo and cd
3688         [8e0fa9033637]
3689
3690 2008-11-04  Todd C. Miller  <Todd.Miller@courtesan.com>
3691
3692         * ChangeLog:
3693         regen
3694         [40cf320a10fc]
3695
3696         * sudoers.cat, sudoers.man.in:
3697         regen
3698         [7cac761ae2c6]
3699
3700         * sudoers.pod:
3701         mention defauts parse order
3702         [4e2ce86d1394]
3703
3704 2008-11-03  Todd C. Miller  <Todd.Miller@courtesan.com>
3705
3706         * Makefile.in, aclocal.m4, compat.h, configure:
3707         Add isblank() function for systems without it. Needed for POSIX
3708         character class matching in fnmatch.c and glob.c.
3709         [a1ab55da8424]
3710
3711         * Makefile.in:
3712         add emul/charclass.h to HDRS
3713         [7e8a019dcaa4]
3714
3715 2008-11-02  Todd C. Miller  <Todd.Miller@courtesan.com>
3716
3717         * TODO:
3718         checkpoint
3719         [afeb9bc1baed]
3720
3721         * defaults.c, parse.c, testsudoers.c, visudo.c:
3722         Move update_defaults into defaults.c and call it properly from
3723         visudo and testsudoers.
3724         [f4dbb369461f]
3725
3726         * defaults.c, interfaces.c, pwutil.c, sudo.c, sudo_edit.c, tgetpass.c,
3727         tsgetgrpw.c:
3728         use zero_bytes() instead of memset() for consistency
3729         [4cee0465f4a8]
3730
3731         * logging.c, mon_systrace.c, parse.c, sudo.c, sudo_edit.c, tgetpass.c,
3732         visudo.c:
3733         Zero out sigaction_t before use in case it has non-standard entries.
3734         [120092225459]
3735
3736         * match.c:
3737         quiet gcc
3738         [098a1df49b23]
3739
3740         * match.c:
3741         Short circuit glob() checks if basename(pattern) !=
3742         basename(command). Refactor code that checks for a command in a
3743         directory and use it in the glob case if the resolved pattern ends
3744         in a '/'.
3745         [3c46fd317acb]
3746
3747 2008-11-01  Todd C. Miller  <Todd.Miller@courtesan.com>
3748
3749         * defaults.h, parse.c, sudo.c, testsudoers.c, visudo.c:
3750         Defer setting runas defaults until after runaspw/gr is setup.
3751         [12e75ee49c0c]
3752
3753 2008-10-29  Todd C. Miller  <Todd.Miller@courtesan.com>
3754
3755         * match.c, sudo.c, testsudoers.c:
3756         Use MAXHOSTNAMELEN+1 when allocating host/domain name since some
3757         systems do not include space for the NUL in the size. Also manually
3758         NUL-terminate buffer from gethostname() since POSIX is wishy-washy
3759         on this.
3760         [7266ab3296a3]
3761
3762 2008-10-26  Todd C. Miller  <Todd.Miller@courtesan.com>
3763
3764         * sudo.c, sudoers.pod:
3765         When setting the umask, use the union of the user's umask and the
3766         default value set in sudoers so that we never lower the user's umask
3767         when running a command.
3768         [4e804b004e38]
3769
3770         * sudo.c:
3771         Don't try to read from a zero-length sudoers file. Remove the bogus
3772         Solaris work-around for EAGAIN. Since we now use fgetc() it should
3773         not be a problem.
3774         [bb8e5f68d944]
3775
3776 2008-10-25  Todd C. Miller  <Todd.Miller@courtesan.com>
3777
3778         * parse.c:
3779         In update_defaults() check the return value of user*_matches against
3780         ALLOW so we don't inadvertantly match on UNSPEC.
3781         [4e422fa1527e]
3782
3783 2008-10-24  Todd C. Miller  <Todd.Miller@courtesan.com>
3784
3785         * sudo.cat, sudo.man.in, sudoers.cat, sudoers.ldap.cat,
3786         sudoers.ldap.man.in, sudoers.man.in, visudo.cat, visudo.man.in:
3787         regen man pages; no more hyphenation
3788         [15de4fe2fe01]
3789
3790         * sudo.c:
3791         Don't error out on a zero-length sudoers file. With the advent of
3792         #include the user could create a situation where sudo is unusable.
3793         [6eb461319fa5]
3794
3795 2008-10-23  Todd C. Miller  <Todd.Miller@courtesan.com>
3796
3797         * auth/kerb5.c, config.h.in, configure, configure.in:
3798         Newer heimdal has 2-argument krb5_get_init_creds_opt_free() like MIT
3799         krb5. Really old heimdal has no krb5_get_init_creds_opt_alloc() at
3800         all. Add configure tests to handle all the cases.
3801         [4b554a98470d]
3802
3803 2008-10-08  Todd C. Miller  <Todd.Miller@courtesan.com>
3804
3805         * sudo.pod:
3806         resort ENVIRONMENT
3807         [f4f20f40653e]
3808
3809         * sudoers.pod:
3810         document sudoers_locale
3811         [0bffd2dbe806]
3812
3813         * sudo.pod, sudo_edit.c:
3814         add SUDO_EDITOR variable that sudoedit uses in preference to VISUAL
3815         or EDITOR
3816         [0ef8cb248cee]
3817
3818         * toke.c, toke.l:
3819         In fill_cmnd(), collapse any escaped sudo-specific characters.
3820         Allows character classes to be used in pathnames.
3821         [5685244c8e44]
3822
3823 2008-10-03  Todd C. Miller  <Todd.Miller@courtesan.com>
3824
3825         * lbuf.c:
3826         fix typo in non-C89 function declaration
3827         [99a7113b3a05]
3828
3829         * sudoers.pod:
3830         Mention POSIX characters classes now that out fnmatch() and glob()
3831         support them.
3832         [9c916f1230c3]
3833
3834         * sample.sudoers, sudoers.pod:
3835         Replace [A-z] (which won't match in UTF8) with [A-Za-z] which is
3836         locale agnostic.
3837         [a60a62bec244]
3838
3839         * parse.h:
3840         use __signed char if we are going to assign a negative value since
3841         on Power, char is unsigned by default
3842         [2877b319df17]
3843
3844         * config.h.in, configure, configure.in:
3845         Add tests for __signed char and signed char.
3846         [5eb874fdf1d4]
3847
3848         * aix.c:
3849         Fix AIX limit setting. getuserattr() returns values in disk blocks
3850         rather than bytes. The default hard stack size in newer AIX is
3851         RLIM_SAVED_MAX. From Dale King.
3852         [3db67415ecc3]
3853
3854 2008-09-26  Todd C. Miller  <Todd.Miller@courtesan.com>
3855
3856         * emul/charclass.h, fnmatch.c, glob.c:
3857         Add character class support to included glob(3) and fnmatch(3).
3858         [6b5b4ad77899]
3859
3860 2008-09-16  Todd C. Miller  <Todd.Miller@courtesan.com>
3861
3862         * emul/fnmatch.h:
3863         Remove UCB advertising clause and some compatibility defines.
3864         [2ade7bee74e1]
3865
3866 2008-09-14  Todd C. Miller  <Todd.Miller@courtesan.com>
3867
3868         * sudo_edit.c:
3869         Check EDITOR/VISUAL to make sure sudoedit is not re-invoking itself
3870         or sudo. This allows one to set EDITOR to sudoedit without getting
3871         into an infinite loop of sudoedit running itself until the path gets
3872         too big.
3873         [aa49ab68f82d]
3874
3875         * def_data.c, def_data.h, def_data.in, defaults.c, sudo.c:
3876         Add sudoers_locale Defaults option to override the default sudoers
3877         locale of "C".
3878         [0639886a35bf]
3879
3880 2008-09-13  Todd C. Miller  <Todd.Miller@courtesan.com>
3881
3882         * sudo.c:
3883         Set locale to system default except for during sudoers parse.
3884         [016dd2736728]
3885
3886 2008-09-12  Todd C. Miller  <Todd.Miller@courtesan.com>
3887
3888         * match.c:
3889         Redo change in 1.34 to use pointer arithmetic.
3890         [f9e7b63bb450]
3891
3892 2008-09-11  Todd C. Miller  <Todd.Miller@courtesan.com>
3893
3894         * match.c:
3895         Fix a dereference (read) of a freed pointer. Reported by Patrick
3896         Williams.
3897         [69877b633753]
3898
3899 2008-08-23  Todd C. Miller  <Todd.Miller@courtesan.com>
3900
3901         * sudo.c:
3902         Set locale to "C" to avoid interpretation issues with character
3903         ranges in sudoers. May want to make the locale a sudoers option in
3904         the future.
3905         [098a95de1746]
3906
3907 2008-08-20  Todd C. Miller  <Todd.Miller@courtesan.com>
3908
3909         * config.h.in:
3910         we no longer use setproctitle
3911         [c7f20fb747ea]
3912
3913         * sudo.h:
3914         remove #if 1
3915         [a368ee6816c6]
3916
3917         * LICENSE, mkstemp.c:
3918         Use my replacement mkstemp() from the mktemp package.
3919         [d07c2beb0f9e]
3920
3921 2008-07-12  Todd C. Miller  <Todd.Miller@courtesan.com>
3922
3923         * gram.c:
3924         regen with yacc skeleton bug fixed
3925         [24784571cbb8]
3926
3927         * sudoers.pod:
3928         Remove duplicate "as root". From Martin Toft.
3929         [97241acfee5e]
3930
3931 2008-07-02  Todd C. Miller  <Todd.Miller@courtesan.com>
3932
3933         * pwutil.c, sudo.c, sudo.h, testsudoers.c:
3934         Flesh out the fake passwd entry used for running commands as a uid
3935         not listed in the passwd database. Fixes an issue with some PAM
3936         modules.
3937         [a6648227f3f2]
3938
3939 2008-07-01  Todd C. Miller  <Todd.Miller@courtesan.com>
3940
3941         * sudo.c:
3942         Error out in -i mode if the user has no shell. This can happen when
3943         running commands as a uid with no password entry.
3944         [0c174bef36ff]
3945
3946 2008-06-26  Todd C. Miller  <Todd.Miller@courtesan.com>
3947
3948         * toke.c, toke.l:
3949         Better fix for line continuation inside double quotes. Now accepts
3950         whitespace between the backslash and the newline like the main
3951         lexer.
3952         [64efcdf86d31]
3953
3954 2008-06-25  Todd C. Miller  <Todd.Miller@courtesan.com>
3955
3956         * toke.c, toke.l:
3957         Fix line continuation in strings. It was only being honored if
3958         preceded by whitespace.
3959         [96c21271a3e4]
3960
3961 2008-06-22  Todd C. Miller  <Todd.Miller@courtesan.com>
3962
3963         * config.h.in, configure, configure.in, logging.c:
3964         Replace the double fork with a fork + daemonize.
3965         [328505441e67]
3966
3967 2008-06-21  Todd C. Miller  <Todd.Miller@courtesan.com>
3968
3969         * env.c, sudo.c:
3970         The -i flag should imply env_reset. This got broken in sudo 1.6.9.
3971         [3caedfeaec87]
3972
3973         * logging.c, sudo.c, sudo_edit.c, visudo.c:
3974         Change how the mailer is waited for. Instead of having a SIGCHLD
3975         handler, use the double fork trick to orphan the child that opens
3976         the pipe to sendmail. Fixes a problem running su on some Linux
3977         distros.
3978         [b59ce60a393d]
3979
3980 2008-06-20  Todd C. Miller  <Todd.Miller@courtesan.com>
3981
3982         * configure, configure.in:
3983         Fix configure test for dirfd() on Linux where DIR is opaque.
3984         [b8f729cdfecc]
3985
3986 2008-06-17  Todd C. Miller  <Todd.Miller@courtesan.com>
3987
3988         * tgetpass.c:
3989         Get rid of the QNX TCSAFLUSH -> TCSADRAIN hack. If QNX still has
3990         this problem we'll need to revisit this again.
3991         [c17fee8ad530]
3992
3993 2008-06-11  Todd C. Miller  <Todd.Miller@courtesan.com>
3994
3995         * logging.c:
3996         Ignore SIGPIPE instead of blocking it when piping to the mailer. If
3997         we only block the signal it may be delivered later when we unblock.
3998         Also, there is no need to block SIGCHLD since we no longer do the
3999         double fork. The normal SIGCHLD handler is sufficient.
4000         [e94a49e992e5]
4001
4002 2008-06-08  Todd C. Miller  <Todd.Miller@courtesan.com>
4003
4004         * configure, configure.in:
4005         Add description for NO_PAM_SESSION, from a redhat patch.
4006         [b9e4c939ec09]
4007
4008 2008-06-06  Todd C. Miller  <Todd.Miller@courtesan.com>
4009
4010         * sudo.cat, sudo.man.in, sudo.pod:
4011         Fix typos in -i usage
4012         [2d7ce5de0235]
4013
4014 2008-05-18  Todd C. Miller  <Todd.Miller@courtesan.com>
4015
4016         * configure, configure.in:
4017         Redo the test for dgettext() in a way that hopefully will work
4018         around the libintl_dgettext() undefined problem.
4019         [d27beb0cf85e]
4020
4021 2008-05-11  Todd C. Miller  <Todd.Miller@courtesan.com>
4022
4023         * schema.ActiveDirectory:
4024         change filename in comment
4025         [733da4ee9ac5]
4026
4027 2008-05-10  Todd C. Miller  <Todd.Miller@courtesan.com>
4028
4029         * Makefile.in, README.LDAP, sudoers.ldap.cat, sudoers.ldap.man.in,
4030         sudoers.ldap.pod:
4031         Reference schema.ActiveDirectory
4032         [d6aec537800e]
4033
4034 2008-05-09  Todd C. Miller  <Todd.Miller@courtesan.com>
4035
4036         * schema.OpenLDAP, schema.iPlanet:
4037         Mark sudoRunAs as deprecated.
4038         [00c50df807af]
4039
4040         * schema.ActiveDirectory:
4041         add sudoRunAsUser and sudoRunAsGroup
4042         [19bcce6f72fb]
4043
4044         * schema.ActiveDirectory:
4045         Active Directory schema by Chantal Paradis and Eric Paquet
4046         [06a09c92c6a5]
4047
4048 2008-05-08  Todd C. Miller  <Todd.Miller@courtesan.com>
4049
4050         * parse.c:
4051         remove an XXX that was fixed
4052         [b88038062fa2]
4053
4054         * ChangeLog:
4055         sync
4056         [8fc27c17270e]
4057
4058         * parse.c:
4059         Initialize tags to UNSPEC instead of def_* in "sudo -l" mode. This
4060         fixes a problem where the tag value printed was influenced by
4061         defaults set in the first pass through the parser.
4062         [588ccd630367]
4063
4064 2008-05-04  Todd C. Miller  <Todd.Miller@courtesan.com>
4065
4066         * Makefile.in, sudo.psf:
4067         No point in packaging the TODO file
4068         [9590248fffe1]
4069
4070         * ChangeLog:
4071         sync
4072         [152acf4c6813]
4073
4074 2008-05-03  Todd C. Miller  <Todd.Miller@courtesan.com>
4075
4076         * WHATSNEW, def_data.c, def_data.h, def_data.in, env.c, sudo.c,
4077         sudo.h, sudoers.cat, sudoers.man.in, sudoers.pod:
4078         Add env_file Defaults option that is similar to /etc/environment on
4079         some systems.
4080         [1daf53d51e18]
4081
4082 2008-05-02  Todd C. Miller  <Todd.Miller@courtesan.com>
4083
4084         * Makefile.in, README, TODO, WHATSNEW, sudo.cat, sudo.man.in,
4085         sudoers.cat, sudoers.ldap.cat, sudoers.ldap.man.in, sudoers.man.in,
4086         version.h, visudo.cat, visudo.man.in:
4087         change version to 1.7.0
4088         [d41d126b9bd8]
4089
4090         * UPGRADE:
4091         initial valgrind pass done
4092         [c59c3876d8ca]
4093
4094 2008-04-23  Todd C. Miller  <Todd.Miller@courtesan.com>
4095
4096         * ldap.c:
4097         Fix typo/think in sudo_ldap_read_secret() when storing the secret.
4098         [830d246c09b0]
4099
4100 2008-04-11  Todd C. Miller  <Todd.Miller@courtesan.com>
4101
4102         * ldap.c:
4103         define LDAPS_PORT if the system headers do not
4104         [247b12325701]
4105
4106 2008-04-10  Todd C. Miller  <Todd.Miller@courtesan.com>
4107
4108         * gram.c, gram.y:
4109         Fix another memory leak in init_parser().
4110         [7bba47deba11]
4111
4112         * configure, configure.in:
4113         There was a missing space before the ldap libs in SUDO_LIBS for some
4114         configurations.
4115         [7524cfc93759]
4116
4117         * alias.c, gram.c, gram.y, toke.c, toke.l:
4118         Clean up some memory leaks pointed out by valgrind.
4119         [a965866ece1a]
4120
4121 2008-04-07  Todd C. Miller  <Todd.Miller@courtesan.com>
4122
4123         * sudo.c:
4124         fix "sudo -s" broken by mode/flags breakout
4125         [acffe984d408]
4126
4127         * configure, configure.in:
4128         remove duplicate check for dgettext
4129         [58145529133c]
4130
4131 2008-04-05  Todd C. Miller  <Todd.Miller@courtesan.com>
4132
4133         * aix.c:
4134         Fall back to default stanza if no user-specific limit is found.
4135         [7b8cb29123ee]
4136
4137 2008-04-02  Todd C. Miller  <Todd.Miller@courtesan.com>
4138
4139         * snprintf.c:
4140         include stdint.h if present
4141         [f0ec38529306]
4142
4143         * snprintf.c:
4144         Use LLONG_MAX, not the old QUAD_MAX
4145         [01041ce508fb]
4146
4147 2008-04-01  Todd C. Miller  <Todd.Miller@courtesan.com>
4148
4149         * sudoers.ldap.pod:
4150         fix cut and pasto
4151         [34240fdef5ab]
4152
4153 2008-03-31  Todd C. Miller  <Todd.Miller@courtesan.com>
4154
4155         * pwutil.c:
4156         Add #ifdef PURITY
4157         [ce1b571ad526]
4158
4159 2008-03-30  Todd C. Miller  <Todd.Miller@courtesan.com>
4160
4161         * auth/bsdauth.c:
4162         remove useless cast
4163         [494f8a862e1d]
4164
4165 2008-03-27  Todd C. Miller  <Todd.Miller@courtesan.com>
4166
4167         * ChangeLog:
4168         sync
4169         [f5c97ffaabcc]
4170
4171         * TODO:
4172         sync
4173         [96ff1c44c182]
4174
4175         * sudo.h:
4176         Split MODE_* defines into primary and flags.
4177         [c02ee3027cb9]
4178
4179 2008-03-26  Todd C. Miller  <Todd.Miller@courtesan.com>
4180
4181         * aix.c:
4182         It turns out the logic for getting AIX limits is more convoluted
4183         than I realized and differs depending on whether the soft and/or
4184         hard limits are defined.
4185         [cf8d3f85d395]
4186
4187 2008-03-23  Todd C. Miller  <Todd.Miller@courtesan.com>
4188
4189         * Makefile.in, configure, configure.in:
4190         Back out AIX-specific change to set the sudo_noexec path to the .a
4191         file, we do really want to use the .so file. Since libtool doesn't
4192         do that correctly, just install the .so file ourselves in the
4193         Makefile.
4194         [05c6f33177d9]
4195
4196         * install-sh:
4197         If the file given to install is a path, only use the basename of the
4198         file when building the destination path.
4199         [695ba4e429ce]
4200
4201 2008-03-18  Todd C. Miller  <Todd.Miller@courtesan.com>
4202
4203         * sudo.c:
4204         parse_args() cleanup: Sort command line options in the getopt()
4205         switch The -U option requires a parameter Normalize a few ISSET
4206         calls Split mode into mode and flags and retire the now-obsolete
4207         excl variable
4208         [0d156835f861]
4209
4210         * WHATSNEW, check.c, sudo.c, sudo.cat, sudo.h, sudo.man.in, sudo.pod,
4211         sudo_usage.h.in:
4212         Add -n (non-interactive) flag.
4213         [e3e50400d32d]
4214
4215         * sudo.c:
4216         Move version printing, etc. into a separate function.
4217         [18c91b476e2c]
4218
4219         * sudo.c:
4220         Don't try to cleanup nsswitch if it has not been initialized.
4221         [aeb1ca1b399d]
4222
4223 2008-03-17  Todd C. Miller  <Todd.Miller@courtesan.com>
4224
4225         * logging.c:
4226         Block SIGPIPE in send_mail() so sudo is not killed by a problem
4227         executing the mailer.
4228         [f130e7924cca]
4229
4230 2008-03-14  Todd C. Miller  <Todd.Miller@courtesan.com>
4231
4232         * configure, configure.in:
4233         AIX shared libs end in .a, not .so.
4234         [a5deb07020d8]
4235
4236 2008-03-13  Todd C. Miller  <Todd.Miller@courtesan.com>
4237
4238         * env.c:
4239         Preserve HOME by default too. Matches documentation and previous
4240         behavior.
4241         [c16f17f1047c]
4242
4243 2008-03-12  Todd C. Miller  <Todd.Miller@courtesan.com>
4244
4245         * sudo.c:
4246         Use getopt() to parse the command line. We need to be able to
4247         intersperse env variables and options yet still honor "--"" which
4248         complicates things slightly.
4249         [60f271ce5c16]
4250
4251 2008-03-06  Todd C. Miller  <Todd.Miller@courtesan.com>
4252
4253         * ChangeLog:
4254         sync
4255         [685e67964eda]
4256
4257         * acsite.m4, configure, ltmain.sh:
4258         update to libtool-1.5.26
4259         [4c9a8c3d3b40]
4260
4261         * config.guess, config.sub:
4262         update from libtool-1.5.26 distribution
4263         [c6641aef2527]
4264
4265         * aix.c, sudo.h:
4266         attempt to fix compilation errors on AIX
4267         [edb13e5b2184]
4268
4269         * Makefile.in:
4270         fix typo in last commit
4271         [25ba7f7ceae4]
4272
4273         * Makefile.in:
4274         Add WHATSNEW file to the distribution
4275         [213f4115de8f]
4276
4277         * visudo.c:
4278         use warningx instead of fprintf(stderr, ...)
4279         [a3494b8ccb19]
4280
4281         * list.c:
4282         add DEBUG to list2tq
4283         [115d24a3000c]
4284
4285         * ChangeLog, TODO:
4286         sync
4287         [60e6f4d1fac0]
4288
4289         * WHATSNEW:
4290         mention mailfrom
4291         [e2498f9e18d6]
4292
4293         * Makefile.in, aix.c, config.h.in, configure, configure.in,
4294         set_perms.c, sudo.h:
4295         Add aix_setlimits() to set resource limits on AIX using a
4296         combination of getuserattr() and setrlimit(). Currently untested.
4297         [9b1441fd89ca]
4298
4299 2008-03-05  Todd C. Miller  <Todd.Miller@courtesan.com>
4300
4301         * def_data.c, def_data.h, def_data.in, logging.c, sudoers.cat,
4302         sudoers.man.in, sudoers.pod:
4303         Add mailfrom Defaults option that sets the value of the From: field
4304         in the warning/error mail. If unset the login name of the invoking
4305         user is used.
4306         [029b9f05d3d9]
4307
4308         * defaults.c:
4309         store a copy of _PATH_SUDO_ASKPASS in def_askpass that is freeable
4310         [a90e407d5e00]
4311
4312         * gram.c, gram.y:
4313         When adding a default, only call list2tq() once to do the list to tq
4314         conversion. It is not legal to call list2tq multiple times on the
4315         same list since list2tq consumes and modifies the list argument.
4316         [fbc25d245c4a]
4317
4318         * sudoers.ldap.cat, sudoers.ldap.man.in, sudoers.ldap.pod:
4319         comment out XXXs for now
4320         [595a1d43309d]
4321
4322         * WHATSNEW:
4323         mention askpass
4324         [b993e0837c22]
4325
4326 2008-03-04  Todd C. Miller  <Todd.Miller@courtesan.com>
4327
4328         * sudo.c:
4329         Error out if both -A and -S are specified Error out if -A is
4330         specified but no askpass is configured
4331         [24f1df2638f6]
4332
4333         * configure, configure.in:
4334         we are not going to ship a sudo-specific askpass
4335         [61949e7a3943]
4336
4337 2008-03-03  Todd C. Miller  <Todd.Miller@courtesan.com>
4338
4339         * sudo.h:
4340         fix definition of TGP_ASKPASS
4341         [0447c57ba4c3]
4342
4343         * def_data.c, def_data.in:
4344         make askpass boolean-capable
4345         [e0885893a325]
4346
4347         * INSTALL:
4348         document --with-askpass
4349         [c76e15ba97cf]
4350
4351         * sudo.cat, sudo.man.in, sudoers.cat, sudoers.ldap.cat,
4352         sudoers.man.in, visudo.cat:
4353         regen
4354         [8d16242980b7]
4355
4356 2008-03-02  Todd C. Miller  <Todd.Miller@courtesan.com>
4357
4358         * sudo.pod, sudo_usage.h.in, sudoers.pod:
4359         document -A and askpass
4360         [02c07505a78c]
4361
4362         * auth/sudo_auth.c, check.c, configure, configure.in, def_data.c,
4363         def_data.h, def_data.in, defaults.c, pathnames.h.in, sudo.c, sudo.h,
4364         sudo_usage.h.in, tgetpass.c:
4365         Add support for running a helper program to read the password when
4366         no tty is present (or when specified with the -A flag). TODO: docs.
4367         [05780f5f71fd]
4368
4369         * def_data.c, def_data.in:
4370         add missing printf format to SELinux role and type strings
4371         [2b32774715e7]
4372
4373 2008-02-27  Todd C. Miller  <Todd.Miller@courtesan.com>
4374
4375         * INSTALL, configure, configure.in:
4376         Disable use of gss_krb5_ccache_name() by default and add
4377         --enable-gss-krb5-ccache-name configure option to enable it. It
4378         seems that gss_krb5_ccache_name() doesn't work properly with some
4379         combinations of Heimdal and OpenLDAP.
4380         [f61ebd3b19bd]
4381
4382 2008-02-22  Todd C. Miller  <Todd.Miller@courtesan.com>
4383
4384         * selinux.c:
4385         Ignore setexeccon() failing in permissive mode. Also add a call to
4386         setkeycreatecon() (though this is probably insufficient). From Dan
4387         Walsh.
4388         [52564fc1c069]
4389
4390         * auth/pam.c:
4391         Only set std_prompt for the PAM_PROMPT_* cases. The conversation
4392         function may be called for non-password reading purposes so we must
4393         be careful not to use def_prompt in cases where it may not be set.
4394         [29d88ca575ba]
4395
4396 2008-02-20  Todd C. Miller  <Todd.Miller@courtesan.com>
4397
4398         * selinux.c:
4399         Don't free the new tty context, we need to keep it around when we
4400         restore the tty context after the command completes
4401         [5b4bd39b6ea8]
4402
4403 2008-02-19  Todd C. Miller  <Todd.Miller@courtesan.com>
4404
4405         * selinux.c:
4406         s/newrole/sudo/
4407         [21b8a96ff8df]
4408
4409         * sudo.man.pl, sudo.pod:
4410         Only put login_cap(3) in SEE ALSO section if we have login.conf
4411         support
4412         [05250ddff2c0]
4413
4414 2008-02-18  Todd C. Miller  <Todd.Miller@courtesan.com>
4415
4416         * sudo.cat, sudo.man.in, sudoers.cat, sudoers.ldap.cat,
4417         sudoers.ldap.man.in, sudoers.man.in, visudo.cat, visudo.man.in:
4418         regen
4419         [301e5c5ccdbe]
4420
4421         * sudoers.pod:
4422         Substitute in comment characters for lines partaining to login.conf,
4423         BSD auth and SELinux and only enable them if pertinent.
4424         [c1c98fa163ce]
4425
4426         * sudoers.man.pl:
4427         Substitute in comment characters for lines partaining to login.conf,
4428         BSD auth and SELinux and only enable them if pertinent.
4429         [6c88f30b878a]
4430
4431         * sudo.pod:
4432         Substitute in comment characters for lines partaining to login.conf,
4433         BSD auth and SELinux and only enable them if pertinent.
4434         [acdbdfd24e1d]
4435
4436         * sudo.man.pl:
4437         Substitute in comment characters for lines partaining to login.conf,
4438         BSD auth and SELinux and only enable them if pertinent.
4439         [0c56d4750ac3]
4440
4441         * Makefile.in, configure, configure.in:
4442         Substitute in comment characters for lines partaining to login.conf,
4443         BSD auth and SELinux and only enable them if pertinent.
4444         [9a02bd6a6658]
4445
4446         * Makefile.in, sudo.pod, sudoers.ldap.pod, sudoers.pod, visudo.pod:
4447         Remove the =cut on the first line (above the copyright notice) to
4448         quiet pod2man. Also remove the hackery in the FILES section and
4449         just deal with the fact that there will a newline between each
4450         pathname.
4451         [2ac1ab191835]
4452
4453 2008-02-17  Todd C. Miller  <Todd.Miller@courtesan.com>
4454
4455         * Makefile.in:
4456         run sudo.man.pl when generating sudo.man.in
4457         [859727369168]
4458
4459         * configure, configure.in, sudo.man.pl:
4460         comment out SELinux manual bits unless --with-selinux was specified
4461         [97ff4212b649]
4462
4463         * sudoers.pod:
4464         document role and type defaults for SELinux
4465         [870f303366b3]
4466
4467         * sudo.c, sudo.cat, sudo.man.in, sudo.pod, sudo_usage.h.in:
4468         Document "sudo -ll" and make "sudo -l -l" be equivalent.
4469         [3ce6dc429ea3]
4470
4471 2008-02-15  Todd C. Miller  <Todd.Miller@courtesan.com>
4472
4473         * configure, configure.in:
4474         Treat k*bsd*-gnu like Linux, not BSD. Fixes compilation problems on
4475         Debian GNU/kFreeBSD.
4476         [c4efa567a328]
4477
4478 2008-02-13  Todd C. Miller  <Todd.Miller@courtesan.com>
4479
4480         * auth/kerb5.c:
4481         Avoid Heimdal'isms introduced in the rev 1.32 rewrite of
4482         verify_krb_v5_tgt()
4483         [f80538e5a6fa]
4484
4485         * logging.c, logging.h, sudo.c:
4486         Remove dependence on VALIDATE_NOT_OK in logging functions. Split
4487         log_auth() into log_allowed() and log_denial() Replace mail_auth()
4488         with should_mail() and a call to send_mail()
4489         [58aac9997557]
4490
4491 2008-02-10  Todd C. Miller  <Todd.Miller@courtesan.com>
4492
4493         * ldap.c:
4494         Add debugging so we can tell if the krb5 ccache is accessible
4495         [c679322527bb]
4496
4497         * INSTALL:
4498         mention --with-selinux
4499         [9efbe0b52194]
4500
4501 2008-02-09  Todd C. Miller  <Todd.Miller@courtesan.com>
4502
4503         * configure:
4504         regen
4505         [467a834f867c]
4506
4507         * selinux.c:
4508         add Sudo tag
4509         [d004ee669bed]
4510
4511         * sudo.c, sudo.cat, sudo.h, sudo.man.in, sudo.pod, sudo_usage.h.in,
4512         sudoers.ldap.cat, sudoers.ldap.man.in, sudoers.ldap.pod,
4513         testsudoers.c, toke.c, toke.l:
4514         Add support for SELinux RBAC. Sudoers entries may specify a role
4515         and type. There are also role and type defaults that may be used.
4516         To make sure a transition occurs, when using RBAC commands are
4517         executed via the new sesh binary. Based on initial changes from Dan
4518         Walsh.
4519         [1d4abfe2c004]
4520
4521         * sesh.c:
4522         Add support for SELinux RBAC. Sudoers entries may specify a role
4523         and type. There are also role and type defaults that may be used.
4524         To make sure a transition occurs, when using RBAC commands are
4525         executed via the new sesh binary. Based on initial changes from Dan
4526         Walsh.
4527         [1e3b395ce049]
4528
4529         * Makefile.in, config.h.in, configure.in, def_data.c, def_data.h,
4530         def_data.in, gram.c, gram.h, gram.y, ldap.c, parse.c, parse.h,
4531         pathnames.h.in, selinux.c:
4532         Add support for SELinux RBAC. Sudoers entries may specify a role
4533         and type. There are also role and type defaults that may be used.
4534         To make sure a transition occurs, when using RBAC commands are
4535         executed via the new sesh binary. Based on initial changes from Dan
4536         Walsh.
4537         [6b421948286e]
4538
4539 2008-02-08  Todd C. Miller  <Todd.Miller@courtesan.com>
4540
4541         * lbuf.c, ldap.c, parse.c, sudo.c, sudo.h, sudo_nss.c:
4542         Add long list (sudo -ll) support for printing verbose LDAP and
4543         sudoers file entries. Still need to update manual.
4544         [2875be37935c]
4545
4546 2008-02-03  Todd C. Miller  <Todd.Miller@courtesan.com>
4547
4548         * ldap.c, parse.c, sudo.h, sudo_nss.c, sudo_nss.h:
4549         Unify the -l output for file and ldap based sudoers and use lbufs
4550         for both. The ldap output does not currently include options that
4551         cannot be represented as tags. This will be remedied in a long list
4552         output mode to come.
4553         [b2e429456596]
4554
4555 2008-01-27  Todd C. Miller  <Todd.Miller@courtesan.com>
4556
4557         * set_perms.c:
4558         Use a specific error message for errno == EAGAIN when setuid() et al
4559         fails. On Linux systems setuid() will fail with errno set to EAGAIN
4560         if changing to the new uid would result in a resource limit
4561         violation.
4562         [08d0aecd9f03]
4563
4564         * sudo.c:
4565         Unlimit nproc on Linux systems where calling the setuid() family of
4566         syscalls causes the nroc resource limit to be checked. The limits
4567         will be reset by pam_limits.so when PAM is used. In the non-PAM
4568         case the nproc limit will remain unlimited but there doesn't seem to
4569         be a way around that other than having sudo parse
4570         /etc/security/limits.conf directly.
4571         [df024b415a8d]
4572
4573         * env.c, sudo.c, sudo.pod:
4574         Only read /etc/environment on Linux and AIX
4575         [90669e2aefdb]
4576
4577 2008-01-23  Todd C. Miller  <Todd.Miller@courtesan.com>
4578
4579         * configure, configure.in:
4580         Use SUDO_DEFINE_UNQUOTED instead of AC_DEFINE_UNQUOTED to prevent
4581         ldap.conf and ldap.secret paths from going into config.h. Avoid
4582         single quotes in variable expansion when using SUDO_DEFINE_UNQUOTED
4583         since in some versions of bash they will end up literally in the
4584         resulting define.
4585         [25390f3ef10a]
4586
4587 2008-01-21  Todd C. Miller  <Todd.Miller@courtesan.com>
4588
4589         * README.LDAP:
4590         mention --with-nsswitch=no
4591         [c509df927263]
4592
4593         * configure, configure.in:
4594         ldap_ssl.h depends on ldap.h being included first
4595         [d96d90e9b21f]
4596
4597         * config.h.in, configure, configure.in, ldap.c:
4598         Include ldap_ssl.h if we can find it. Needed for the
4599         ldapssl_set_strength defines on HP-UX at least.
4600         [9e530470948a]
4601
4602         * sudoers.ldap.pod:
4603         sync
4604         [b9d101f4673a]
4605
4606         * TODO:
4607         sync
4608         [2ce951b2ecd0]
4609
4610         * sudo.cat, sudo.man.in, sudoers.cat, sudoers.ldap.cat,
4611         sudoers.ldap.man.in, sudoers.man.in, visudo.cat, visudo.man.in:
4612         regen
4613         [b61d793987e0]
4614
4615         * Makefile.in:
4616         Use 78n line length when formatting cat pages.
4617         [761bee9d5759]
4618
4619         * README.LDAP:
4620         Remove redundant info that is now in sudoers.ldap.pod
4621         [01828dcce59e]
4622
4623 2008-01-20  Todd C. Miller  <Todd.Miller@courtesan.com>
4624
4625         * sudoers.ldap.cat, sudoers.ldap.man.in, sudoers.ldap.pod:
4626         Reorganize the first section a bit. Substitute the proper path for
4627         /etc/sudoers.
4628         [11ae165e065d]
4629
4630         * sudoers.ldap.cat, sudoers.ldap.man.in, sudoers.ldap.pod:
4631         Substitute values for ldap.conf, ldap.secret and nsswitch.conf Move
4632         schema into EXAMPLES
4633         [ab6509d1dde7]
4634
4635         * configure, configure.in:
4636         Substitute values for ldap.conf, ldap.secret and nsswitch.conf into
4637         sudoers.ldap.man.
4638         [6e689972f465]
4639
4640         * configure, configure.in:
4641         substitute for sudoers.ldap.man
4642         [5a4a25766dee]
4643
4644         * Makefile.in:
4645         Fix cut & pasto introduced when adding sudoers.ldap man page.
4646         [a7b069af8894]
4647
4648         * sudoers.ldap.cat, sudoers.ldap.man.in, sudoers.ldap.pod:
4649         Fill in some of the missing pieces. Still needs some reorganization
4650         and editing.
4651         [5e7331722166]
4652
4653 2008-01-19  Todd C. Miller  <Todd.Miller@courtesan.com>
4654
4655         * Makefile.in, sudoers.ldap.cat, sudoers.ldap.man.in,
4656         sudoers.ldap.pod:
4657         Beginnings of a sudoers.ldap man page. Currently, much of the
4658         information is adapted from README.LDAP.
4659         [aad28c8a922d]
4660
4661 2008-01-18  Todd C. Miller  <Todd.Miller@courtesan.com>
4662
4663         * pwutil.c:
4664         When copying gr_mem we must guarantee that the storage space for
4665         gr_mem is properly aligned. The simplest way to do this is to
4666         simply store gr_mem directly after struct group. This is not a
4667         problem for gr_passwd or gr_name as they are simple strings.
4668         [af58fc76f1ed]
4669
4670         * ldap.c:
4671         Fix a typo/thinko in one of the calls to
4672         sudo_ldap_check_user_netgroup(). From Marco van Wieringen.
4673         [70b2eb8097f5]
4674
4675 2008-01-17  Todd C. Miller  <Todd.Miller@courtesan.com>
4676
4677         * config.h.in, configure, configure.in, ldap.c:
4678         include <mps/ldap_ssl.h> in ldap.c if available
4679         [34346206ef16]
4680
4681 2008-01-16  Todd C. Miller  <Todd.Miller@courtesan.com>
4682
4683         * gram.c, gram.y:
4684         Make sure we define SIZE_MAX for yacc's skeleton.c
4685         [d8a45c7a3c42]
4686
4687         * tgetpass.c:
4688         Use TCSAFLUSH when restoring terminal settings (and echo) to
4689         guarantee that any pending output is discarded
4690         [549a184479e5]
4691
4692 2008-01-15  Todd C. Miller  <Todd.Miller@courtesan.com>
4693
4694         * sudoers:
4695         no longer need to specify SETENV when user has sudo ALL
4696         [3051b41f8032]
4697
4698         * testsudoers.c:
4699         sync user_args size calculation with sudo.c Add -g group option,
4700         renaming old -g to -G Add set_runasgr() and set_runaspw() and use
4701         them
4702         [0850325180f0]
4703
4704         * sudo.c, sudo.h:
4705         Make set_runaspw static void
4706         [5d44d7a340ce]
4707
4708         * testsudoers.c, visudo.c:
4709         g/c set_runaspw stub
4710         [79ebb5e2cc38]
4711
4712         * configure, configure.in:
4713         Don't add -llber twice.
4714         [4356d302eef4]
4715
4716 2008-01-14  Todd C. Miller  <Todd.Miller@courtesan.com>
4717
4718         * ldap.c:
4719         fix typo
4720         [249cecc557e9]
4721
4722 2008-01-13  Todd C. Miller  <Todd.Miller@courtesan.com>
4723
4724         * gram.c:
4725         regen
4726         [2f94ea375b67]
4727
4728         * configure, configure.in:
4729         Fix check that determines whether -llber is required.
4730         [6afa99523379]
4731
4732         * README.LDAP, config.h.in, configure, configure.in, ldap.c:
4733         For netscape-based LDAP, use ldapssl_set_strength() to implement the
4734         checkpeer ldap.conf option.
4735         [16ae24d73795]
4736
4737         * auth/kerb5.c:
4738         Delay krb5_cc_initialize() until we actually need to use the cred
4739         cache, which is what krb5_verify_user() does. Better cleanup on
4740         failure.
4741         [d12e5f1695b8]
4742
4743 2008-01-12  Todd C. Miller  <Todd.Miller@courtesan.com>
4744
4745         * auth/kerb5.c:
4746         Rewrite verify_krb_v5_tgt() based on what heimdal's
4747         krb5_verify_user() does.
4748         [05b5815f86c9]
4749
4750 2008-01-09  Todd C. Miller  <Todd.Miller@courtesan.com>
4751
4752         * gram.c:
4753         The U suffix on constants is an ANSI feature
4754         [c6dfce3167f1]
4755
4756         * configure, configure.in:
4757         Add check for ber_set_option() in -llber
4758         [43d0c0566074]
4759
4760 2008-01-07  Todd C. Miller  <Todd.Miller@courtesan.com>
4761
4762         * README.LDAP:
4763         default if no nsswitch.conf is files only
4764         [c13001d9c998]
4765
4766 2008-01-06  Todd C. Miller  <Todd.Miller@courtesan.com>
4767
4768         * README.LDAP:
4769         don't tell people to mail aaron about LDAP stuff
4770         [8165ec1ef0c6]
4771
4772         * README.LDAP:
4773         timelimit and bind_timelimit
4774         [44f74cbed167]
4775
4776         * ChangeLog:
4777         sync
4778         [aba1a0ab02bd]
4779
4780         * ldap.c:
4781         Move ldap.secret reading into a separate function.
4782         [1948acc9f7a4]
4783
4784         * check.c:
4785         user_runas -> runas_pw
4786         [334490fc2bae]
4787
4788 2008-01-05  Todd C. Miller  <Todd.Miller@courtesan.com>
4789
4790         * TODO:
4791         sync
4792         [c7b165cc47c6]
4793
4794         * check.c, sudo.pod, sudoers.pod:
4795         Add and document the %p escape in the password prompt. Based on a
4796         patch from Patrick Schoenfeld.
4797         [3972d4f31ffa]
4798
4799         * ldap.c:
4800         Check strlcpy() return values.
4801         [9b42f3ae8ff1]
4802
4803         * ldap.c:
4804         refactor ldap binding code into sudo_ldap_bind_s()
4805         [cb0c66a4d955]
4806
4807         * README.LDAP:
4808         Make it clear that host and uri can take multiple parameters. URI is
4809         now supported for more than just openldap nsswitch.conf does't
4810         accept "compat"
4811         [f610dea656d6]
4812
4813         * sudo.c:
4814         comment cleanup and update (c) year
4815         [6cd69c810ca5]
4816
4817         * parse.c, sudo_nss.c:
4818         Move display_privs() and display_cmnd() from parse.c to sudo_nss.c.
4819         This should make it possible to build an LDAP-only sudo binary.
4820         [61c3f27066a0]
4821
4822         * ldap.c, parse.c, sudo.c, sudo.h, sudo_nss.h:
4823         Improve chaining of multiple sudoers sources by passing in the
4824         previous return value to the next in the chain
4825         [2c0b722b1b2d]
4826
4827         * gram.y:
4828         Free up parser data structures in sudo_file_close().
4829         [2251531d4519]
4830
4831         * gram.c, parse.c:
4832         Free up parser data structures in sudo_file_close().
4833         [8371f130f401]
4834
4835         * ldap.c:
4836         Parse uri ourself if no ldap_initialize() is present Use
4837         ldap_create() instead of deprecated ldap_init() Use
4838         ldap_sasl_bind_s() instead of deprecated ldap_simple_bind_s()
4839         [85d3825b1953]
4840
4841         * config.h.in, configure, configure.in:
4842         Add check for ldap_sasl_bind_s() Remove -DLDAP_DEPRECATED from
4843         CFLAGS
4844         [240524512bc5]
4845
4846 2008-01-04  Todd C. Miller  <Todd.Miller@courtesan.com>
4847
4848         * config.h.in, configure, configure.in:
4849         add check for ldap_create
4850         [3089badd73b8]
4851
4852 2008-01-03  Todd C. Miller  <Todd.Miller@courtesan.com>
4853
4854         * config.h.in, configure, configure.in, ldap.c:
4855         Add sudo_ldap_get_first_rdn() to return the first rdn of an entry's
4856         dn using the mechanism appropriate for the LDAP SDK in use. Use
4857         ldap_unbind_ext_s() instead of deprecated ldap_unbind_s(). Emulate
4858         ldap_unbind_ext_s() and ldap_search_ext_s() for SDK's without them.
4859         [6deeca3d00cc]
4860
4861         * lbuf.c:
4862         include unistd.h
4863         [8419ed0bae7f]
4864
4865         * config.h.in, configure.in:
4866         fix typo in mtim_getnsec
4867         [2d5f21230a60]
4868
4869 2008-01-02  Todd C. Miller  <Todd.Miller@courtesan.com>
4870
4871         * config.h.in, configure, configure.in:
4872         add check for st__tim in struct stat as used by SCO
4873         [587060ea2a89]
4874
4875         * ldap.c:
4876         use ldap_search_ext_s instead of deprecated ldap_search_s
4877         [5fc44fe3b44c]
4878
4879         * Makefile.in, TODO, sudo.cat, sudo.man.in:
4880         add sudo_nss.h to HDRS
4881         [86f01a70ff29]
4882
4883         * ldap.c:
4884         Replace deprecated ldap_explode_dn() with calls to ldap_str2dn() and
4885         ldap_rdn2str().
4886         [aa217002cfae]
4887
4888 2008-01-01  Todd C. Miller  <Todd.Miller@courtesan.com>
4889
4890         * ldap.c:
4891         Use ldap_get_values_len()/ldap_value_free_len() instead of the
4892         deprecated ldap_get_values()/ldap_value_free().
4893         [e22dceb85e57]
4894
4895         * ChangeLog:
4896         sync
4897         [adad27b36107]
4898
4899         * TODO:
4900         sync
4901         [c449eb47e0ef]
4902
4903         * gettime.c, sudo.c:
4904         Remove some already fixed XXXs
4905         [532788d0e6da]
4906
4907         * ldap.c:
4908         Same return value as non-existent sudoers if LDAP was unable to
4909         connect.
4910         [5819810e8e4e]
4911
4912         * sudo.pod:
4913         mention /etc/environment
4914         [ea8e6102f853]
4915
4916         * README.LDAP, UPGRADE, WHATSNEW:
4917         Update to reflect recent developments.
4918         [ed1fb026fe77]
4919
4920         * sudo.c:
4921         Print nsswitch.conf, ldap.conf and ldap.secret paths in -V output.
4922         [55b68a58260d]
4923
4924         * ldap.c:
4925         When building up a query don't list groups in the aux group vector
4926         that are the same as the passwd file group. On most systems the
4927         first gid in the group vector is the same as the passwd entry gid.
4928         [4bb51e297e0d]
4929
4930         * env.c, ldap.c:
4931         Define LDAPNOINIT before calling ldap_init(), etc. to disable user
4932         ldaprc and system defaults that could affect how LDAP works.
4933         [ce5036440db2]
4934
4935         * INSTALL, configure, configure.in, pathnames.h.in, sudo.c,
4936         sudo_nss.c, sudo_nss.h:
4937         Rename read_nss -> sudo_read_nss Add --with-nsswitch to allow users
4938         to specify nsswitch.conf path or disable it. If --with-nsswitch=no
4939         but --with-ldap, order is LDAP, then sudoers. Fix --with-ldap-conf-
4940         file and --with-ldap-secret-file
4941         [ea5d7704381f]
4942
4943         * parse.c:
4944         Honor def_ignore_local_sudoers
4945         [f38e1121fae1]
4946
4947 2007-12-31  Todd C. Miller  <Todd.Miller@courtesan.com>
4948
4949         * ldap.c:
4950         no longer need to check def_ignore_local_sudoers here
4951         [fce2a72f96fb]
4952
4953         * parse.c:
4954         Refactor group vector resetting into a function and also call it
4955         from display_cmnd. Stop after the first sucessful match in
4956         display_cmnd. Print a newline between each display_privs method.
4957         [981b37b5adff]
4958
4959         * parse.c:
4960         fix double free introduced in rev 1.218
4961         [c574b02d8747]
4962
4963         * ldap.c:
4964         belt and suspenders; zero out result after freeing it
4965         [7732988d4620]
4966
4967         * env.c, fileops.c, ldap.c, sudo.h, sudo_nss.c:
4968         Refactor line reading into a separate function, sudo_parseln(),
4969         which removes comments, leading/trailing whitespace and newlines.
4970         May want to rethink the use of sudo_parseln() for /etc/ldap.secret
4971         [61d9068f0645]
4972
4973         * parse.c, sudo.c:
4974         Make the inability to read the sudoers file a non-fatal error if
4975         there are other sudoers sources available. sudoers_file_lookup now
4976         returns "not OK" if sudoers was not present
4977         [643babf597a8]
4978
4979         * ldap.c:
4980         make it clear that the global options are from LDAP
4981         [9ff950349463]
4982
4983         * logging.c:
4984         allocate proper amount of space for error string
4985         [8bebb7d46d19]
4986
4987         * sudo_nss.c, sudo_nss.h:
4988         actual sudo nss code
4989         [5bd7d52d7738]
4990
4991         * ldap.c, parse.c, sudo.c, sudo.h:
4992         nss-ify display_privs and display_cmnd.
4993         [cccfdd3253f2]
4994
4995         * defaults.c, parse.c, testsudoers.c, visudo.c:
4996         move update_defaults() to parse.c
4997         [ace144b958a9]
4998
4999         * Makefile.in, ldap.c, list.c, parse.c, parse.h, sudo.c, sudo.h:
5000         Use nsswitch to hide some sudoers vs. ldap implementation details
5001         and reduce the number of #ifdef LDAP TODO: fix display routines and
5002         error handling
5003         [6225edde89a6]
5004
5005 2007-12-28  Todd C. Miller  <Todd.Miller@courtesan.com>
5006
5007         * Makefile.in, README.LDAP, ldap.c, pathnames.h.in, sudo.c, sudo.h:
5008         First cut at nsswitch.conf support. Further reorganizaton and
5009         related changes are forthcoming.
5010         [717f59d0790b]
5011
5012 2007-12-21  Todd C. Miller  <Todd.Miller@courtesan.com>
5013
5014         * env.c, pathnames.h.in, sudo.c, sudo.h:
5015         Add support for reading and /etc/environment file. Still needs to
5016         be documented and should probably only applies to OSes that have it
5017         (AIX and Linux, maybe others).
5018         [15d3edae27e4]
5019
5020         * ldap.c:
5021         include limits.h
5022         [e19875ef0f82]
5023
5024 2007-12-20  Todd C. Miller  <Todd.Miller@courtesan.com>
5025
5026         * WHATSNEW:
5027         reword LDAP SASL
5028         [7ec3c4ec31b5]
5029
5030 2007-12-19  Todd C. Miller  <Todd.Miller@courtesan.com>
5031
5032         * TODO:
5033         sync
5034         [87c5a7aea7bf]
5035
5036         * README.LDAP:
5037         Add an example sudoRole, clarify netscape vs. openldap a bit more
5038         [6f96c0ca8107]
5039
5040         * README.LDAP:
5041         Be clear on what is OpenLDAP vs. Netscape-derived
5042         [a33c8314dec5]
5043
5044         * config.h.in, configure, configure.in, ldap.c:
5045         Use ldapssl_init() for ldaps support instead of trying to do it
5046         manually with ldap_init() + ldapssl_install_routines(). Use tls_cert
5047         and tls_key for cert7.db and key3.db respectively. Don't print
5048         debugging info for options that are not set. Add warning if
5049         start_tls specified when not supported.
5050         [abb62dc7e4a3]
5051
5052         * ldap.c:
5053         fix compilation on solaris
5054         [03d449684e80]
5055
5056         * Makefile.in:
5057         add missing .h and .c files for missing lib objs
5058         [8b37825bdfc7]
5059
5060 2007-12-18  Todd C. Miller  <Todd.Miller@courtesan.com>
5061
5062         * ldap.c:
5063         fix LDAP_OPT_NETWORK_TIMEOUT setting
5064         [226eba89c0ad]
5065
5066         * ldap.c:
5067         fix compilation on Solaris
5068         [917d47639eb6]
5069
5070 2007-12-17  Todd C. Miller  <Todd.Miller@courtesan.com>
5071
5072         * configure, configure.in:
5073         fix typo
5074         [009d5c81b225]
5075
5076         * README.LDAP:
5077         try to clear up which variables are for OpenLDAP and which are for
5078         netscape-derived SDKs
5079         [f8d9823ee73c]
5080
5081         * config.h.in, configure, configure.in, ldap.c:
5082         Add support for "ssl on" in both netscape and openldap flavors. Only
5083         the OpenLDAP flavor has been tested.
5084         [952745829ec5]
5085
5086         * logging.c, sudo.c, sudo.h:
5087         Call cleanup() before exit in log_error() instead of calling
5088         sudo_ldap_close() directly. ldap_conn can now be static to sudo.c
5089         [da02d1b67a2c]
5090
5091         * sudo.c:
5092         ld -> ldap_conn
5093         [01afa6d927cc]
5094
5095 2007-12-16  Todd C. Miller  <Todd.Miller@courtesan.com>
5096
5097         * logging.c, sudo.c, sudo.h:
5098         Better ldap cleanup.
5099         [25b9abe2d617]
5100
5101         * ldap.c:
5102         Distinguish between LDAP conf settings that are connection-specific
5103         (which take an ld pointer) and those that are default settings
5104         (which do not).
5105         [d48dc6c9c3b4]
5106
5107 2007-12-14  Todd C. Miller  <Todd.Miller@courtesan.com>
5108
5109         * ldap.c:
5110         Improved warnings on error.
5111         [c8dce7b4feb4]
5112
5113         * ldap.c:
5114         Make ldap config table driven and set the config *after* we open the
5115         connection.
5116         [d9698b5a2681]
5117
5118 2007-12-13  Todd C. Miller  <Todd.Miller@courtesan.com>
5119
5120         * ldap.c:
5121         fix LDAP_OPT_X_CONNECT_TIMEOUT compat define
5122         [598c6df06660]
5123
5124         * configure, configure.in:
5125         some operating systems need to link with -lkrb5support when using
5126         krb5
5127         [8896365dde9e]
5128
5129 2007-12-10  Todd C. Miller  <Todd.Miller@courtesan.com>
5130
5131         * WHATSNEW:
5132         minor update
5133         [acfeeb7f4886]
5134
5135         * sudo.cat, sudo.man.in, sudoers.cat, sudoers.man.in:
5136         regen
5137         [a3c6699674f9]
5138
5139 2007-12-08  Todd C. Miller  <Todd.Miller@courtesan.com>
5140
5141         * ChangeLog, TODO:
5142         sync
5143         [138e99b925ee]
5144
5145         * ldap.c, schema.OpenLDAP, schema.iPlanet, sudoers2ldif:
5146         add -g support for LDAP
5147         [8fc27dbe9287]
5148
5149 2007-12-03  Todd C. Miller  <Todd.Miller@courtesan.com>
5150
5151         * WHATSNEW, sudo.c, sudo.pod, sudo_usage.h.in:
5152         The -i and -s flags can now take an optional command.
5153         [6afec104ee77]
5154
5155 2007-12-02  Todd C. Miller  <Todd.Miller@courtesan.com>
5156
5157         * auth/pam.c, def_data.c, def_data.h, def_data.in, sudo.c, sudo.pod,
5158         sudoers.pod:
5159         Add passprompt_override flag to sudoers that will cause the prompt
5160         to be overridden in all cases. This flag is also set when the user
5161         specifies the -p flag.
5162         [e4c5402131a6]
5163
5164         * sudo.c:
5165         Move setting of login class until after sudoers has been parsed. Set
5166         NewArgv[0] for -i after runas_pw has been set.
5167         [62a48c8c56fa]
5168
5169         * configure, configure.in:
5170         Move the dgettext check.
5171         [5fd8a4712d1c]
5172
5173 2007-12-01  Todd C. Miller  <Todd.Miller@courtesan.com>
5174
5175         * auth/pam.c, config.h.in, configure, configure.in:
5176         Add basic support for looking up the string "Password: " in the PAM
5177         localized text db. This allows us to determine whether the PAM
5178         prompt is the default "Password: " one even if it has been
5179         localized.
5180
5181         TODO: concatenate non-std PAM prompts and user-specified sudo
5182         prompts.
5183         [81c25a415d41]
5184
5185 2007-11-27  Todd C. Miller  <Todd.Miller@courtesan.com>
5186
5187         * Makefile.in, config.h.in, configure, configure.in, parse.c,
5188         set_perms.c, sudo.c, sudo.h:
5189         Use AC_FUNC_GETGROUPS instead of a home-grown attempt that was
5190         insufficient.
5191         [1cce6ec1a91e]
5192
5193         * acsite.m4, configure, interfaces.c, memrchr.c:
5194         Fix typos; Martynas Venckus
5195         [be1233cca11a]
5196
5197 2007-11-26  Todd C. Miller  <Todd.Miller@courtesan.com>
5198
5199         * set_perms.c:
5200         Don't assume runas_pw is set; it may not be in the -g case.
5201         [aa11bd2193ac]
5202
5203 2007-11-25  Todd C. Miller  <Todd.Miller@courtesan.com>
5204
5205         * logging.c, set_perms.c:
5206         Set aux group vector for PERM_RUNAS and restore group vector for
5207         PERM_ROOT if we previously changed it. Stash the runas group vector
5208         so we don't have to call initgroups more than once. Also add no-op
5209         check to check_perms.
5210         [53837fc755f7]
5211
5212 2007-11-21  Todd C. Miller  <Todd.Miller@courtesan.com>
5213
5214         * WHATSNEW, check.c, def_data.in, defaults.c, gram.c, gram.h, gram.y,
5215         ldap.c, logging.c, match.c, mon_systrace.c, parse.c, parse.h,
5216         pwutil.c, set_perms.c, sudo.c, sudo.cat, sudo.h, sudo.man.in,
5217         sudo.pod, sudo_usage.h.in, sudoers.cat, sudoers.man.in, sudoers.pod,
5218         testsudoers.c, visudo.c, visudo.cat, visudo.man.in:
5219         Add support for runas groups. This allows the user to run a command
5220         with a different effective group. If the -g option is specified
5221         without -u the command will be run as the current user (only the
5222         group will change). the -g and -u options may be used together.
5223         TODO: implement runas group for ldap improve runas group
5224         documentation add testsudoers support
5225         [9019309df6d0]
5226
5227         * configure, configure.in:
5228         fix setting of mandir
5229         [2c60f269399f]
5230
5231         * sudo.pod, sudoers.pod:
5232         document that ALL implies SETENV
5233         [bcc8e5b703b9]
5234
5235         * ldap.c:
5236         s/setenv_ok/setenv_implied/g
5237         [f005df2c2eea]
5238
5239         * ldap.c:
5240         hostname_matches() returns TRUE on match in sudo 1.7.
5241         [c3d4377b6e8b]
5242
5243         * ldap.c:
5244         use strcmp, not strcasecmp when comparing ALL
5245         [e486024574a1]
5246
5247         * ldap.c:
5248         Make sudo ALL imply setenv. Note that unlike with file-based
5249         sudoers this does affect all the commands in the sudoRole.
5250         [bc12f54321d1]
5251
5252         * gram.c, gram.y, parse.c, parse.h:
5253         sudo "ALL" now implies the SETENV tag but, unlike an explicit tag,
5254         it is not passed on to other commands in the list.
5255         [026e2cb40680]
5256
5257         * visudo.c:
5258         Add missing sudo_setpwent() and sudo_setgrent() calls. Also use
5259         sudo_getpwuid() instead of getpwuid().
5260         [86f30a8fbd49]
5261
5262 2007-11-15  Todd C. Miller  <Todd.Miller@courtesan.com>
5263
5264         * sudoers:
5265         Expand on the dangers of not using visudo to edit sudoers.
5266         [e434e8057d02]
5267
5268 2007-11-08  Todd C. Miller  <Todd.Miller@courtesan.com>
5269
5270         * parse.c:
5271         Don't quote *?[]! on output since the lexer does not strip off the
5272         backslash when reading those in.
5273         [561da4a13afa]
5274
5275 2007-11-07  Todd C. Miller  <Todd.Miller@courtesan.com>
5276
5277         * glob.c:
5278         expand "u_foo" types to "unsigned foo" to avoid compatibility
5279         issues.
5280         [b0d7c64d78c3]
5281
5282 2007-11-04  Todd C. Miller  <Todd.Miller@courtesan.com>
5283
5284         * logging.c:
5285         Refactor log line generation in to new_logline().
5286         [6a9b9730615d]
5287
5288 2007-10-25  Todd C. Miller  <Todd.Miller@courtesan.com>
5289
5290         * TROUBLESHOOTING:
5291         fix typo
5292         [9e19d4f86e47]
5293
5294 2007-10-24  Todd C. Miller  <Todd.Miller@courtesan.com>
5295
5296         * config.h.in, configure, configure.in, interfaces.c, interfaces.h,
5297         match.c:
5298         Add configure check for struct in6_addr instead of relying on
5299         AF_INET6 since some systems define AF_INET6 but do not include IPv6
5300         support.
5301         [e24082c416bd]
5302
5303 2007-10-21  Todd C. Miller  <Todd.Miller@courtesan.com>
5304
5305         * configure, configure.in:
5306         Fix block to add -lutil for FreeBSD and NetBSD when logincap is in
5307         use.
5308         [76a9df4a63be]
5309
5310 2007-10-20  Todd C. Miller  <Todd.Miller@courtesan.com>
5311
5312         * configure, configure.in:
5313         POSIX states that struct timespec be declared in time.h so check
5314         there regardless of the value of TIME_WITH_SYS_TIME.
5315         [e42c55ec9daf]
5316
5317 2007-10-17  Todd C. Miller  <Todd.Miller@courtesan.com>
5318
5319         * tgetpass.c:
5320         Instead of defining a macro to call the appropriate method for
5321         turning on/off echo, just define tc[gs]etattr() and the related
5322         defines that use the correct terminal ioctls if needed. Also go back
5323         to using TCSAFLUSH instead of TCSADRAIN on all but QNX.
5324         [5dfb2379d995]
5325
5326 2007-10-09  Todd C. Miller  <Todd.Miller@courtesan.com>
5327
5328         * Makefile.in:
5329         g/c @ALLOCA@
5330         [e6946c2e3820]
5331
5332         * configure:
5333         regen
5334         [9bac7159a138]
5335
5336         * INSTALL, auth/pam.c, config.h.in, configure.in:
5337         Add --disable-pam-session configure option to disable calling
5338         pam_{open,close}_session. May work around bugs in some PAM
5339         implementations.
5340         [273d0fdb4a9d]
5341
5342 2007-10-08  Todd C. Miller  <Todd.Miller@courtesan.com>
5343
5344         * tgetpass.c:
5345         quiet gcc warnings
5346         [325565c5a579]
5347
5348         * tgetpass.c:
5349         Avoid printing the prompt if we are already backgrounded. E.g. if
5350         the user runs "sudo foo &" from the shell. In this case, the call
5351         to tcsetattr() will cause SIGTTOU to be delivered.
5352         [db2139a8d8b8]
5353
5354 2007-09-15  Todd C. Miller  <Todd.Miller@courtesan.com>
5355
5356         * def_data.c, def_data.h, def_data.in:
5357         Reorder things such that the definition of env_reset come right
5358         before the env variable lists.
5359         [e0d8e22a581a]
5360
5361         * parse.h:
5362         Shrink type and seqno in struct alias from int to u_short
5363         [9425263dd565]
5364
5365         * alias.c, match.c, parse.c, parse.h:
5366         Add a sequence number in the aliases for loop detection. If we find
5367         an alias with the seqno already set to the current (global) value we
5368         know we've visited it before so ignore it.
5369         [301a0548ffff]
5370
5371 2007-09-13  Todd C. Miller  <Todd.Miller@courtesan.com>
5372
5373         * TODO, auth/pam.c, sudo.c, sudo.h:
5374         PAM wants the full tty path so add user_ttypath which holds the full
5375         path to the tty or is NULL if no tty was present.
5376         [c7c1dd4b36c8]
5377
5378         * auth/pam.c:
5379         Set PAM_RHOST to work around a bug in Solaris 7 and lower that
5380         results in a segv.
5381         [3a8865b3a357]
5382
5383 2007-09-11  Todd C. Miller  <Todd.Miller@courtesan.com>
5384
5385         * gram.c:
5386         regen
5387         [5647be127950]
5388
5389         * alias.c, defaults.c, gram.y, list.c, list.h, match.c, parse.c,
5390         parse.h, testsudoers.c, visudo.c:
5391         rename lh_ -> tq_
5392         [8f500c542c4a]
5393
5394 2007-09-10  Todd C. Miller  <Todd.Miller@courtesan.com>
5395
5396         * alloc.c:
5397         remove some useless casts
5398         [409a448b23f5]
5399
5400         * alloc.c:
5401         pull in inttypes.h for SIZE_MAX; we avoid stdint.h since inttypes.h
5402         predates the final C99 spec and the standard specifies that it shall
5403         include stdint.h anyway
5404         [ae478fdef61a]
5405
5406 2007-09-06  Todd C. Miller  <Todd.Miller@courtesan.com>
5407
5408         * Makefile.in, alloca.c, configure.in:
5409         Since we ship with a pre-generated parser there is no need to ship a
5410         bogus alloca implementation.
5411         [3f611a7cc0e5]
5412
5413         * configure:
5414         regen
5415         [771eccf5269c]
5416
5417         * configure.in:
5418         remove initial setting of CHECKSIA, we require that it be unset if
5419         not used
5420         [a2e91adc5aa2]
5421
5422         * Makefile.in:
5423         add list.c to SRCS
5424         [7db0e56cf5b9]
5425
5426         * configure:
5427         regen
5428         [3716ec30172e]
5429
5430         * configure.in:
5431         only do SIA checks on Digital Unix
5432         [6a96e1af2597]
5433
5434 2007-09-05  Todd C. Miller  <Todd.Miller@courtesan.com>
5435
5436         * sudoers.cat, sudoers.man.in:
5437         regen
5438         [ac1dc29de72b]
5439
5440         * ChangeLog, TODO:
5441         sync
5442         [781effce0a2d]
5443
5444         * auth/kerb5.c:
5445         Remove call to krb5_cc_register() as it is not needed for modern
5446         kerb5.
5447         [351b8b764f16]
5448
5449         * configure:
5450         regen
5451         [ac21dbcc9c2c]
5452
5453         * aclocal.m4, configure.in:
5454         New method for setting the default authentication type and avoiding
5455         conflicts in auth types.
5456         [5fb15be11f78]
5457
5458         * match.c, parse.c, testsudoers.c:
5459         Each entry in a cmndlist now has an associated runaslist so no need
5460         to keep track of the most recent non-NULL one.
5461         [582e015786b0]
5462
5463 2007-09-04  Todd C. Miller  <Todd.Miller@courtesan.com>
5464
5465         * ldap.c:
5466         back out partial ldaps support mistakenly committed
5467         [357703e94b2d]
5468
5469         * ldap.c:
5470         Add support for unix groups and netgroups in sudoRunas
5471         [2f04eb91c6d0]
5472
5473 2007-09-03  Todd C. Miller  <Todd.Miller@courtesan.com>
5474
5475         * sudo_edit.c:
5476         Fix sudoedit of a non-existent file. From Tilo Stritzky.
5477         [a5488a03bddd]
5478
5479 2007-09-02  Todd C. Miller  <Todd.Miller@courtesan.com>
5480
5481         * configure:
5482         regen
5483         [541177376ee1]
5484
5485         * INSTALL:
5486         update --passprompt escape info
5487         [6d57db4cd538]
5488
5489         * configure.in:
5490         remove now-bogus comment and update copyright date
5491         [6a4af45fa331]
5492
5493         * configure.in:
5494         Fix up use of with_passwd
5495         [7c79d8640f77]
5496
5497         * acsite.m4, config.guess, config.sub, configure.in, ltmain.sh:
5498         Update to autoconf-2.61 andf libtool-1.5.24
5499         [045259b0b439]
5500
5501         * Makefile.in:
5502         "cmp -s" not just cmp Add @datarootdir@ to quiet autoconf-2.61
5503         [f5b6a7afb817]
5504
5505 2007-09-01  Todd C. Miller  <Todd.Miller@courtesan.com>
5506
5507         * gram.c:
5508         regen
5509         [b5b78e71d2cb]
5510
5511         * gram.y:
5512         move tags and runaslist propagation to be earlier
5513         [94f7805f4489]
5514
5515         * visudo.c:
5516         If -f flag given use the permissions of the original file as a
5517         template
5518         [9303d22bddb0]
5519
5520         * gram.y:
5521         prevent a double free() when re-initing the parser
5522         [5b3907c4de5a]
5523
5524 2007-08-31  Todd C. Miller  <Todd.Miller@courtesan.com>
5525
5526         * configure:
5527         regen
5528         [49a90b19a17d]
5529
5530         * aclocal.m4, alias.c, alloc.c, auth/API, auth/afs.c, auth/bsdauth.c,
5531         auth/kerb4.c, auth/kerb5.c, auth/pam.c, auth/securid.c,
5532         auth/securid5.c, auth/sia.c, auth/sudo_auth.h, config.h.in,
5533         configure.in, env.c, ldap.c, list.c, list.h, memrchr.c, parse.c,
5534         parse.h, pwutil.c, redblack.c, redblack.h, snprintf.c, sudo.c,
5535         sudo.h, testsudoers.c, visudo.c, zero_bytes.c:
5536         Remove support for compilers that don't support void *
5537         [35e1d01ae197]
5538
5539         * gram.c:
5540         regen
5541         [70ce412a458a]
5542
5543         * Makefile.in, alias.c, defaults.c, gram.y, list.c, list.h, match.c,
5544         parse.c, parse.h, testsudoers.c, visudo.c:
5545         Move list manipulation macros to list.h and create C versions of the
5546         more complex ones in list.c. The names have been down-cased so they
5547         appear more like normal functions.
5548         [9cea0e281148]
5549
5550         * Makefile.in:
5551         Fix cmp command when regenerating parser. Make gram.o the first
5552         dependency for all programs so gram.h will be generated before
5553         anything that needs it.
5554         [429ea065abf1]
5555
5556         * gram.y, parse.h:
5557         Convert NEW_DEFAULT anf NEW_MEMBER into static functions.
5558         [2f3433833589]
5559
5560         * match.c, parse.c, testsudoers.c:
5561         Use LH_FOREACH_REV when checking permission and short-circuit on the
5562         first non-UNSPEC hit we get for the command. This means that
5563         instead of cycling through the all the parsed sudoers entries we
5564         start at the end and work backwards and quit after the first
5565         positive or negative match.
5566         [881474532f3e]
5567
5568         * gram.c:
5569         regen
5570         [9152a19d4188]
5571
5572         * defaults.c, gram.y, parse.c, parse.h, testsudoers.c, visudo.c:
5573         Change list head macros to take a pointer, not a struct.
5574         [054f1dcce4cc]
5575
5576         * gram.c:
5577         regen
5578         [be154aae6235]
5579
5580         * gram.y:
5581         Propagate the runasspec from one command to the next in a cmndspec.
5582         [4957b1cb03a3]
5583
5584 2007-08-30  Todd C. Miller  <Todd.Miller@courtesan.com>
5585
5586         * match.c:
5587         Replace has_meta() with a macro that calls strpbrk().
5588         [a2e58846a542]
5589
5590         * regen
5591         [5a932a5c9451]
5592
5593         * alias.c, defaults.c, gram.y, match.c, parse.c, parse.h,
5594         testsudoers.c, visudo.c:
5595         Use a list head struct when storing the semi-circular lists and
5596         convert to tail queues in the process. This will allow us to
5597         reverse foreach loops more easily and it makes it clearer which
5598         functions expect a list as opposed to a single member.
5599
5600         Add macros for manipulating lists. Some of these should become
5601         functions.
5602
5603         When freeing up a list, just pop off the last item in the queue
5604         instead of going from head to tail. This is simpler since we don't
5605         have to stash a pointer to the next member, we always just use the
5606         last one in the queue until the queue is empty.
5607
5608         Rename match functions that take a list to have list in the name.
5609         Break cmnd_matches() into cmnd_matches() and cmndlist_matches.
5610         [7c37b271607a]
5611
5612         * parse.c:
5613         Fix pasto, append "!" not negated (which is an int) for sudo -l
5614         output.
5615         [93a444c3997f]
5616
5617         * Makefile.in:
5618         Remove the dependency of gram .h on gram.y, the .c dependency is
5619         enough. Only move y.tab.h to gram.h if it is different; avoids
5620         needless rebuilding.
5621         [67bf4ea2a2e5]
5622
5623 2007-08-27  Todd C. Miller  <Todd.Miller@courtesan.com>
5624
5625         * sudoers.pod:
5626         Defaults lines may be associated with lists of users, hosts,
5627         commands and runas users, not just single entries.
5628         [795effacb6be]
5629
5630 2007-08-26  Todd C. Miller  <Todd.Miller@courtesan.com>
5631
5632         * Makefile.in:
5633         Revert the "cmp" portion of the last diff, it doesn't make sense.
5634         [26f34bf4e2e3]
5635
5636         * Makefile.in:
5637         Remove *.lo for clean: When generating the parser, only move the
5638         generated files into place if they differ from the existing ones.
5639         [84673fea371b]
5640
5641 2007-08-25  Todd C. Miller  <Todd.Miller@courtesan.com>
5642
5643         * toke.c, toke.l:
5644         Replace IPV6 regexp with a much simpler (readable) one and add an
5645         extra check when it matches to make sure we have a valid address.
5646         [592e9f690556]
5647
5648         * match.c:
5649         Fix thinko introduced when merging IPV6 support.
5650         [da38cd5eb8c7]
5651
5652 2007-08-24  Todd C. Miller  <Todd.Miller@courtesan.com>
5653
5654         * HISTORY, LICENSE:
5655         regen
5656         [0d7b27b90634]
5657
5658         * license.pod:
5659         add 2007
5660         [510e5048ae1a]
5661
5662         * UPGRADE:
5663         mention #uid vs. comment pitfall
5664         [4d2861898bcc]
5665
5666         * acsite.m4:
5667         Merge in a patch from the libtool cvs that fixes a problem with the
5668         latest autoconf. From Stepan Kasal.
5669         [0c279ae7df3e]
5670
5671         * parse.h:
5672         Back out he XOR swap trick, it is slower than a temp variable on
5673         modern CPUs.
5674         [91c4b024e317]
5675
5676         * gram.c:
5677         regen
5678         [cb6d4106fb74]
5679
5680         * gram.y, parse.h:
5681         Convert the tail queue to a semi-circle queue and use the XOR swap
5682         trick to swap the prev pointers during append.
5683         [8bf4d9fbee58]
5684
5685 2007-08-23  Todd C. Miller  <Todd.Miller@courtesan.com>
5686
5687         * parse.h:
5688         remove useless statement
5689         [421ec1dd73e6]
5690
5691         * toke.c, toke.l:
5692         Refactor #include parsing into a separate function and return
5693         unparsed chars (such as newline or comment) back to the lexer.
5694         [64166917aa3d]
5695
5696 2007-08-22  Todd C. Miller  <Todd.Miller@courtesan.com>
5697
5698         * WHATSNEW:
5699         mention better uid support
5700         [56f510e7f2ec]
5701
5702         * sudoers.pod:
5703         Users may now consist of a uid.
5704         [5fd31b2c55ed]
5705
5706         * gram.c, gram.h, toke.c:
5707         regen
5708         [599e58af6dc1]
5709
5710         * parse.c:
5711         Use lbuf_append_quoted() for sudo -l output to quote characters that
5712         would require quoting in sudoers.
5713         [3132d05c990a]
5714
5715         * lbuf.c, lbuf.h:
5716         Add lbuf_append_quoted() which takes a set of characters which
5717         should be quoted with a backslash when displayed.
5718         [ab09bebb1d65]
5719
5720         * toke.l:
5721         Require that the first character after a comment not be a digit or a
5722         dash. This allows us to remove the GOTRUNAS state and treat
5723         uid/gids similar to other words. It also means that we can now
5724         specify uids in User_Lists and a User_Spec may now contain a uid.
5725         [461fe01f8392]
5726
5727         * gram.y, toke.l:
5728         Replace RUNAS token with '(' and ')' tokens to make the runas
5729         portion of the grammar more natural.
5730         [e0c383b4684d]
5731
5732         * BUGS:
5733         The BUGS file is history
5734         [4d9a809585c7]
5735
5736         * Makefile.in, README:
5737         The BUGS file is history
5738         [d9500e261172]
5739
5740 2007-08-21  Todd C. Miller  <Todd.Miller@courtesan.com>
5741
5742         * toke.c, toke.l:
5743         Allow comments after a RunasAlias as long as the character after the
5744         pound sign isn't a digit or a dash.
5745         [d7f3bd94eeda]
5746
5747         * WHATSNEW:
5748         Glob support was back-ported to 1.6.9
5749         [d1d5cfd46228]
5750
5751 2007-08-20  Todd C. Miller  <Todd.Miller@courtesan.com>
5752
5753         * Makefile.in:
5754         remove sudo_usage.h in distclean
5755         [df05ce9c4127]
5756
5757         * parse.c:
5758         If a Defaults value contains a blank, double-quote the string.
5759         [9057a910daad]
5760
5761         * toke.c, toke.l:
5762         Properly deal with Defaults double-quoted strings that span multiple
5763         lines using the line continuation char. Previously, the entire
5764         thing, including the continuation char, newline, and spaces was
5765         stored as-is.
5766         [4a4e8eacefe6]
5767
5768         * sudo.c:
5769         Be consistent when using single quotes and backticks.
5770         [d010b83a0fa1]
5771
5772 2007-08-19  Todd C. Miller  <Todd.Miller@courtesan.com>
5773
5774         * Makefile.in, configure, configure.in, lbuf.c, lbuf.h, parse.c,
5775         sudo.c, sudo_usage.h.in:
5776         Add new linebuf code to do appends of dynamically allocated strings
5777         and word-wrapped output. Currently used for sudo's usage() and sudo
5778         -l output. Sudo usage strings are now in sudo_usage.h which is
5779         generated at configure time.
5780         [4dfd0ee8d961]
5781
5782 2007-08-18  Todd C. Miller  <Todd.Miller@courtesan.com>
5783
5784         * parse.c, sudo.c, sudo.h:
5785         Fix line wrapping in usage() and use the actual tty width instead of
5786         assuming 80.
5787         [700eab37c5a6]
5788
5789 2007-08-17  Todd C. Miller  <Todd.Miller@courtesan.com>
5790
5791         * history.pod:
5792         some more info
5793         [8140112a8ae1]
5794
5795         * history.pod:
5796         Mentioned Chris Jepeway's parser and also the new one that is in
5797         sudo 1.7.
5798         [2132d00f0597]
5799
5800 2007-08-16  Todd C. Miller  <Todd.Miller@courtesan.com>
5801
5802         * sudo.pod, visudo.pod:
5803         For the options list, add flag args where appropriate and increase
5804         the indent level so there is room for them.
5805         [2b60fb572e12]
5806
5807 2007-08-15  Todd C. Miller  <Todd.Miller@courtesan.com>
5808
5809         * parse.c:
5810         Fix some spacing in "sudo -l" and add a comment about some bogosity
5811         in the line wrapping.
5812         [b59b056f5ee2]
5813
5814         * sudo.cat, sudo.man.in, sudoers.cat, sudoers.man.in, visudo.cat,
5815         visudo.man.in:
5816         regen
5817         [5fb719f18ebc]
5818
5819         * INSTALL, Makefile.in, WHATSNEW, config.h.in, configure.in,
5820         def_data.c, def_data.h, def_data.in, gram.c, gram.h, gram.y,
5821         parse.c, parse.h, pathnames.h.in, sudo.c, sudo.h, sudoers.pod,
5822         testsudoers.c, toke.c, toke.l:
5823         Remove monitor support until there is a versino of systrace that
5824         uses a lookaside buffer (or we have a better mechanism to use).
5825         [61ff76878e4a]
5826
5827         * config.h.in, configure, configure.in, sudo.c:
5828         use getaddrinfo() instead of gethostbyname() if it is available
5829         [cc33c136aa6a]
5830
5831 2007-08-14  Todd C. Miller  <Todd.Miller@courtesan.com>
5832
5833         * parse.c, sudo.c:
5834         Deal with OSes where sizeof(gid_t) < sizeof(int).
5835         [130a89cbdfba]
5836
5837         * interfaces.c:
5838         repair non-getifaddrs() code after ipv6 integration
5839         [7ae7a89e2236]
5840
5841         * sudo.c:
5842         If we can open sudoers but fail to read the first byte, close the
5843         file stream before trying again.
5844         [6f31272fae7b]
5845
5846 2007-08-13  Todd C. Miller  <Todd.Miller@courtesan.com>
5847
5848         * toke.c:
5849         regen
5850         [4d7afe0aa6fa]
5851
5852         * gram.y, interfaces.c, interfaces.h, match.c, sudoers.pod, toke.l:
5853         Add IPv6 support; adapted from patches by YOSHIFUJI Hideaki
5854         [4e6ff2965a42]
5855
5856         * sudo.pod, sudoers.pod, visudo.pod:
5857         Add some missing markup Update copyright
5858         [7e6d3c686b5e]
5859
5860 2007-08-12  Todd C. Miller  <Todd.Miller@courtesan.com>
5861
5862         * configure, configure.in:
5863         fix sudo_noexec extension which got broken in the libtool update
5864         [3a5b447df861]
5865
5866 2007-08-10  Todd C. Miller  <Todd.Miller@courtesan.com>
5867
5868         * Makefile.in:
5869         explicitly specify -Tascii to nroff
5870         [45c8da4cbefe]
5871
5872 2007-08-08  Todd C. Miller  <Todd.Miller@courtesan.com>
5873
5874         * logging.c:
5875         remove an ANSI-ism that crept in
5876         [29086f87b2ca]
5877
5878 2007-08-07  Todd C. Miller  <Todd.Miller@courtesan.com>
5879
5880         * sudo.pod:
5881         Adjust list indents Prevent -- from being turned into an em dash Use
5882         a list for the environment instead of a literal paragraph
5883         [c3abcd8f76f4]
5884
5885         * visudo.pod:
5886         Use a list for the environment instead of an indented literal
5887         paragraph.
5888         [0ffcfcb7349f]
5889
5890         * sudoers.pod:
5891         Adjust list indentation
5892         [615c89e3123a]
5893
5894         * license.pod:
5895         add =head3
5896         [8b2e0d38c0bd]
5897
5898 2007-08-06  Todd C. Miller  <Todd.Miller@courtesan.com>
5899
5900         * sudo.pod:
5901         mention that when specifying a uid for the -u option the shell may
5902         require that the # be escaped
5903         [3e3a17bff150]
5904
5905 2007-08-02  Todd C. Miller  <Todd.Miller@courtesan.com>
5906
5907         * match.c:
5908         Fix off by one in group matching.
5909         [b529602b7fba]
5910
5911 2007-07-31  Todd C. Miller  <Todd.Miller@courtesan.com>
5912
5913         * env.c:
5914         Fix typo: PYTHONINSPEC should be PYTHONINSPECT. From David Krause.
5915         [ffbf8907c6e7]
5916
5917 2007-07-30  Todd C. Miller  <Todd.Miller@courtesan.com>
5918
5919         * configure, configure.in:
5920         Add missing define of HAVE_GSS_KRB5_CCACHE_NAME for the
5921         -lgssapi_krb5 case.
5922         [2b85a89c2252]
5923
5924         * aclocal.m4, configure, configure.in:
5925         Fix link tests such that new gcc doesn't optimize away the test.
5926         [83484ec95cba]
5927
5928 2007-07-29  Todd C. Miller  <Todd.Miller@courtesan.com>
5929
5930         * sudo.pod, sudoers.pod, visudo.pod:
5931         add missing over/back
5932         [251a12c89b91]
5933
5934         * sudo.pod, sudoers.pod, visudo.pod:
5935         Change FILES section to use =item
5936         [60b9efc3a0b2]
5937
5938         * env.c:
5939         Add back allocation of the env struct in rebuild_env but save a copy
5940         of the old pointer and free it before returning.
5941         [1100cd4fa997]
5942
5943         * env.c:
5944         Don't init the private environment in rebuild_env() since it may
5945         have already been done implicitly sudo_setenv/sudo_unsetenv.
5946
5947         Multiply length by sizeof(char *) in memcpy/memmove when copying the
5948         environment so we copy the full thing.
5949
5950         Add missing set of parens so we deref the right pointer in
5951         sudo_unsetenv when searching for a matching variable.
5952         [9086a8f756b1]
5953
5954 2007-07-26  Todd C. Miller  <Todd.Miller@courtesan.com>
5955
5956         * sudo.pod, sudoers.pod, visudo.pod:
5957         Use file markup for paths in the FILES section
5958         [940d99f731f2]
5959
5960         * sudo.pod, sudoers.pod, visudo.pod:
5961         Don't capitalize sudo/visudo
5962         [f067a455d44b]
5963
5964         * sudoers.pod:
5965         Sort sudoers options; based on a diff from Igor Sobrado.
5966         [a9b9befe85ac]
5967
5968 2007-07-25  Todd C. Miller  <Todd.Miller@courtesan.com>
5969
5970         * sudo.pod, sudoers.pod, visudo.pod:
5971         Use 8 and 5 instead of @mansectsu@ and @mansectform@ since the
5972         latter confuses pod2man. The Makefile rules for the .man.in file
5973         will add @mansectsu@ and @mansectform@ back in after pod2man is done
5974         anyway.
5975         [b50ea0db727c]
5976
5977 2007-07-22  Todd C. Miller  <Todd.Miller@courtesan.com>
5978
5979         * LICENSE, Makefile.in, license.pod:
5980         Move license info to pod format
5981         [25bdd82e592b]
5982
5983         * configure, configure.in, sudoers.pod:
5984         Substitute value of path_info into sudoers man page.
5985         [9ba661a82798]
5986
5987         * WHATSNEW:
5988         remove features that were back-ported to 1.6.9
5989         [e76d756cbe65]
5990
5991         * sudo.c, sudo.pod, visudo.c, visudo.pod:
5992         Sort SYNOPSIS and sync usage. From Igor Sobrado.
5993         [4970386c9e54]
5994
5995         * env.c:
5996         Only need sudo_setenv/sudo_unsetenv if we are going to use
5997         ldap_sasl_interactive_bind_s() but don't have
5998         gss_krb5_ccache_name().
5999         [f1a73d8b35c5]
6000
6001         * ChangeLog:
6002         rebuild without branch info
6003         [5d5a33494677]
6004
6005         * Makefile.in:
6006         Add ChangeLog target
6007         [a702034fdd89]
6008
6009         * auth/pam.c:
6010         Run cleanup code if the user hits ^C at the password prompt.
6011         [9cf87768e921]
6012
6013         * auth/pam.c:
6014         Some versions of pam_lastlog have a bug that will cause a crash if
6015         PAM_TTY is not set so if there is no tty, set PAM_TTY to the empty
6016         string.
6017         [5b63f6c88866]
6018
6019 2007-07-20  Todd C. Miller  <Todd.Miller@courtesan.com>
6020
6021         * Makefile.in:
6022         ChageLog not Changelog
6023         [1243d8473ceb]
6024
6025         * ChangeLog:
6026         sync
6027         [d887df98c6b0]
6028
6029         * Makefile.in:
6030         CHANGE -> Changelog
6031         [917738df30dd]
6032
6033         * TODO:
6034         sync
6035         [cd382f7d1948]
6036
6037 2007-07-19  Todd C. Miller  <Todd.Miller@courtesan.com>
6038
6039         * config.h.in, configure, configure.in, ldap.c:
6040         Add configure hooks for gss_krb5_ccache_name() and the gssapi
6041         headers.
6042         [139606209991]
6043
6044 2007-07-18  Todd C. Miller  <Todd.Miller@courtesan.com>
6045
6046         * env.c, sudo.c:
6047         rebuild_env() and insert_env_vars() no longer return environment
6048         pointer, they set environ directly.
6049
6050         No longer need to pass around an envp pointer since we just operate
6051         on environ now.
6052
6053         Add dosync argument to insert_env() that indicates whether it should
6054         reset environ when realloc()ing env.envp.
6055
6056         Use an initial size of 128 for the environment.
6057         [4735fd5fddb8]
6058
6059         * env.c:
6060         Split sudo_setenv() into an external version and a version only for
6061         use by rebuild_env().
6062         [fda7d655adb1]
6063
6064 2007-07-16  Todd C. Miller  <Todd.Miller@courtesan.com>
6065
6066         * ldap.c:
6067         Add support for using gss_krb5_ccache_name() instead of setting
6068         KRB5CCNAME. Also use sudo_unsetenv() in the non-
6069         gss_krb5_ccache_name() case if there was no KRB5CCNAME in the
6070         original environment. TODO: configure setup for
6071         gss_krb5_ccache_name()
6072         [fcafa5a49caf]
6073
6074         * README.LDAP:
6075         add krb5_ccname
6076         [fceb8f883886]
6077
6078         * README.LDAP, ldap.c:
6079         Add support for sasl_secprops in ldap.conf
6080         [1f06f4bf7347]
6081
6082         * env.c, sudo.h:
6083         Add sudo_unsetenv() and refactor private env syncing code into
6084         sync_env().
6085         [045ecb3fd22b]
6086
6087         * README.LDAP, ldap.c:
6088         The ldap.conf variable is sasl_auth_id not sasl_authid.
6089         [a5f98491311b]
6090
6091 2007-07-15  Todd C. Miller  <Todd.Miller@courtesan.com>
6092
6093         * ldap.c, sudo.c, sudo.h:
6094         Add support for krb5_ccname in ldap.conf. If specified, it will
6095         override the default value of KRB5CCNAME in the environment for the
6096         duration of the call to ldap_sasl_interactive_bind_s().
6097         [b08a10c3045b]
6098
6099         * env.c, sudo.h:
6100         Remove format_env() Add sudo_setenv() to replace most format_env() +
6101         insert_env() combinations. insert_env() no longer takes a struct
6102         environment *
6103         [131da52f43f3]
6104
6105         * ldap.c:
6106         Fix use_sasl vs. rootuse_sasl logic.
6107         [0c0417b6918c]
6108
6109         * README.LDAP, config.h.in, configure, configure.in, ldap.c:
6110         Add support for SASL auth when connecting to an LDAP server. Adapted
6111         from a diff by Tom McLaughlin.
6112         [a6285f1356ea]
6113
6114 2007-07-14  Todd C. Miller  <Todd.Miller@courtesan.com>
6115
6116         * configure, configure.in:
6117         Only enable AIX or BSD auth if no other exclusive auth method has
6118         been chosen. Allows people to e.g., use PAM on AIX without adding
6119         --without-aixauth. A better solution is needed to deal with default
6120         authentication since if a non-exclusive method is chosen we will
6121         still get an error.
6122         [83f7afdc0ec3]
6123
6124 2007-07-11  Todd C. Miller  <Todd.Miller@courtesan.com>
6125
6126         * HISTORY, Makefile.in, history.pod:
6127         Generate HISTORY from history.pod (which is also used for web pages)
6128         [60bcd5164931]
6129
6130 2007-07-09  Todd C. Miller  <Todd.Miller@courtesan.com>
6131
6132         * sudo.man.in, sudoers.man.in:
6133         regen
6134         [63956a366191]
6135
6136         * sudo.pod:
6137         Better explanation of environment handling in the sudo man page.
6138         [6c247742f7ee]
6139
6140         * env.c, sudo.c:
6141         Defer setting user-specified env vars until after authentication.
6142         [4750b79323ee]
6143
6144         * env.c:
6145         honor def_default_path for PATH set on the command line
6146         [6db31d9b6d65]
6147
6148         * env.c, sudo.c, sudo.pod, sudoers.pod:
6149         Allow user to set environment variables on the command line as long
6150         as they are allowed by env_keep and env_check. Ie: apply the same
6151         restrictions as normal environment variables. TODO: deal with
6152         secure_path
6153         [26c0da3840cf]
6154
6155 2007-07-08  Todd C. Miller  <Todd.Miller@courtesan.com>
6156
6157         * sudo.c, sudo_edit.c:
6158         Call rebuild_env() in call cases. Pass original envp to sudo_edit().
6159         Don't allow -E or env var setting in sudoedit mode. More accurate
6160         usage() when called as sudoedit.
6161         [a4af20658361]
6162
6163         * ldap.c:
6164         warn -> warning
6165         [d87d1192b048]
6166
6167         * sudo.pod:
6168         add -c option to sudoedit synopsis
6169         [15b596a7e2db]
6170
6171         * TODO:
6172         udpate to reality
6173         [e2f8fde89db1]
6174
6175         * parse.c:
6176         Use ALLOW/DENY instead of TRUE/FALSE when dealing with the return
6177         value from {user,host,runas,cmnd}_matches(). Rename *matches
6178         variables -> *match. Purely cosmetic.
6179         [e54a44c00a88]
6180
6181         * parse.c:
6182         Move setting of FLAG_NO_CHECK into the if(pwflag) block. No change
6183         in behavior.
6184         [c6272b4f2127]
6185
6186         * sudoers:
6187         add SETENV tag
6188         [3a3066bb6788]
6189
6190 2007-07-06  Todd C. Miller  <Todd.Miller@courtesan.com>
6191
6192         * parse.c:
6193         Make pwcheck local to the pwflag block. Use pwcheck even if user
6194         didn't match since Defaults options may still apply.
6195         [45da9efbbafd]
6196
6197         * check.c, sudo.c:
6198         Do not update timestamp if user not validated by sudoers.
6199         [a4a9d4364827]
6200
6201         * set_perms.c:
6202         for PERM_RUNAS, set the egid to the runas user's gid and restore to
6203         the user's original in PERM_ROOT
6204         [1514bfb32847]
6205
6206         * logging.c, mon_systrace.c, set_perms.c, sudo.h:
6207         PERM_FULL_ROOT is now no different than PERM_ROOT so remove
6208         PERM_FULL_ROOT
6209         [b9d047a3178c]
6210
6211         * check.c:
6212         don't check timestamp mtime if we are just going to remove it
6213         [5d2470bc6cbd]
6214
6215         * sudoers.pod:
6216         Move sudoers defaults parameters into their own section.
6217         [54701fbc0ff3]
6218
6219         * testsudoers.c:
6220         Reduce a level of indent by a few placed continue statements.
6221         [5d5a9838c8ef]
6222
6223         * parse.c:
6224         Make matching but negated commands/hosts/runas entries override a
6225         previous match as expected. Also reduce some levels of indent by a
6226         few placed continue statements.
6227         [dd59fa4b91a1]
6228
6229 2007-07-05  Todd C. Miller  <Todd.Miller@courtesan.com>
6230
6231         * parse.c:
6232         Print default runas in "sudo -l" if sudoers don't specify one.
6233         [07d408c400bd]
6234
6235         * match.c:
6236         Less hacky way of testing whether the domain was set.
6237         [a537059776e5]
6238
6239 2007-07-04  Todd C. Miller  <Todd.Miller@courtesan.com>
6240
6241         * INSTALL:
6242         Mention pam-devel and openldap-devel for Linux
6243         [9e708c54ecc3]
6244
6245 2007-07-03  Todd C. Miller  <Todd.Miller@courtesan.com>
6246
6247         * README.LDAP:
6248         or vs. are
6249         [abe8c0f3a410]
6250
6251 2007-07-01  Todd C. Miller  <Todd.Miller@courtesan.com>
6252
6253         * sudo.c:
6254         fix typo in Solaris project support
6255         [2ffeb2d80959]
6256
6257         * HISTORY:
6258         update
6259         [df162b36f120]
6260
6261         * sudo.c:
6262         Make -- on the command line match the manual page. The implied shell
6263         case has been simplified as a result.
6264         [cd217a1f6694]
6265
6266 2007-06-28  Todd C. Miller  <Todd.Miller@courtesan.com>
6267
6268         * sudoers2ldif:
6269         add simplistic support for sudoRunas; note that if a sudoers entry
6270         contains multiple Runas users, all will apply to the sudoRole
6271         [65b11421f5c8]
6272
6273         * sudoers2ldif:
6274         honor SETENV and NOSETENV tags
6275         [2c0d5ba7a09b]
6276
6277 2007-06-24  Todd C. Miller  <Todd.Miller@courtesan.com>
6278
6279         * mon_systrace.c:
6280         Redo setting of user_args. We now build up a private copy of argv
6281         first and then replace the NULs?with spaces.
6282         [ccbba72ea112]
6283
6284         * mon_systrace.c:
6285         getcwd() returns NULL on failure, not 0 on success
6286         [88cd9e66e530]
6287
6288         * mon_systrace.c:
6289         allow chunksiz to reach 1 before erroring out
6290         [619d68f14964]
6291
6292         * sudo.cat, sudo.man.in, sudoers.cat, sudoers.man.in, visudo.cat,
6293         visudo.man.in:
6294         regen
6295         [8db512d3caf0]
6296
6297 2007-06-23  Todd C. Miller  <Todd.Miller@courtesan.com>
6298
6299         * def_data.c, def_data.h, def_data.in, env.c, gram.c, gram.h, gram.y,
6300         logging.c, parse.c, parse.h, sudo.c, sudo.h, sudo.pod, sudoers.pod,
6301         toke.c, toke.l:
6302         Add support for setting environment variables on the command line.
6303         This is only allowed if the setenv sudoers options is enabled or if
6304         the command is prefixed with the SETENV tag.
6305         [5744caebd969]
6306
6307         * README.LDAP:
6308         replace Aaron's email address with the sudo-workers list
6309         [2ffce5f9afc0]
6310
6311         * configure:
6312         regen
6313         [8013dff82c0c]
6314
6315 2007-06-22  Todd C. Miller  <Todd.Miller@courtesan.com>
6316
6317         * schema.OpenLDAP, schema.iPlanet:
6318         Break schema out into separate files.
6319         [15e598e4c60b]
6320
6321         * Makefile.in, README.LDAP:
6322         Break schema out into separate files.
6323         [1a53966ca1fa]
6324
6325 2007-06-21  Todd C. Miller  <Todd.Miller@courtesan.com>
6326
6327         * auth/aix_auth.c:
6328         free message if set by authenticate()
6329         [849c220c1236]
6330
6331         * match.c:
6332         deal with NULL gr_mem
6333         [49e4d74f0bbe]
6334
6335 2007-06-20  Todd C. Miller  <Todd.Miller@courtesan.com>
6336
6337         * config.h.in:
6338         regen
6339         [fead999ad3e9]
6340
6341         * configure.in:
6342         add template for HAVE_PROJECT_H
6343         [e6c42c2eaad1]
6344
6345         * closefrom.c:
6346         include fcntl.h
6347         [54d98b382f03]
6348
6349 2007-06-19  Todd C. Miller  <Todd.Miller@courtesan.com>
6350
6351         * INSTALL:
6352         mention --with-project
6353         [d3ea3baad7c5]
6354
6355         * config.h.in, configure.in, sudo.c:
6356         Add Solaris 10 "project" support. From Michael Brantley.
6357         [f14f3c8c6554]
6358
6359         * sudoers.pod:
6360         fix typo
6361         [50db81a19787]
6362
6363         * configure:
6364         regen
6365         [ea71afd3e564]
6366
6367         * configure.in:
6368         Fix preservation of LDFLAGS in the LDAP case.
6369         [40a3a47e8059]
6370
6371         * memrchr.c:
6372         Remove dependecy on NULL
6373         [c957ae5e1733]
6374
6375         * configure:
6376         regen
6377         [4955ce0c6912]
6378
6379         * aclocal.m4, configure.in:
6380         Can't use the regular autoconf fnmatch() check since we need
6381         FNM_CASEFOLD so go back to our custom one.
6382         [f10d76237486]
6383
6384         * env.c:
6385         Fix preserving of variables in env_keep.
6386         [d040049d6b84]
6387
6388         * env.c:
6389         add XAUTHORIZATION
6390         [0d589a5fe015]
6391
6392         * UPGRADE:
6393         expand upon env resetting and mention that it began in 1.6.9 not
6394         1.7.
6395         [dba251655c76]
6396
6397         * sudoers.pod:
6398         Update descriptions of env_keep and env_check to match current
6399         reality.
6400         [dba77357954b]
6401
6402 2007-06-18  Todd C. Miller  <Todd.Miller@courtesan.com>
6403
6404         * env.c:
6405         Add LINGUAS to initial_checkenv_table. Add COLORS, HOSTNAME,
6406         LS_COLORS, MAIL, PS1, PS2, XAUTHORITY to intial_keepenv_table.
6407         [eec4632bd190]
6408
6409         * env.c, logging.c:
6410         Treat USERNAME environemnt variable like LOGNAME/USER
6411         [09f52dcfd70c]
6412
6413         * env.c:
6414         Don't need to populate keepenv table with the contents of the
6415         checkenv table.
6416         [527a14afd973]
6417
6418         * sudo.c:
6419         Don't force sudo into the C locale.
6420         [8a5bd301ef96]
6421
6422         * env.c:
6423         Make env_check apply when env_reset it true. Environment variables
6424         are passed through unless they contain '/' or '%'. There is no need
6425         to have a variable in both env_check and env_keep.
6426         [840c802721e4]
6427
6428 2007-06-16  Todd C. Miller  <Todd.Miller@courtesan.com>
6429
6430         * visudo.c:
6431         Remove an duplicate lock_file() call and add a comment.
6432         [5af9dcdf0eb6]
6433
6434         * UPGRADE:
6435         Add sudo 1.6.9 upgrade note.
6436         [1585149f2914]
6437
6438 2007-06-14  Todd C. Miller  <Todd.Miller@courtesan.com>
6439
6440         * interfaces.c:
6441         Solaris will return EINVAL if the buffer used in SIOCGIFCONF is too
6442         small. From Klaus Wagner.
6443         [d6899fc44f77]
6444
6445         * logging.c, sudo.h:
6446         Redo the long syslog line splitting based on a patch from Eygene
6447         Ryabinkin. Include memrchr() for systems without it.
6448         [66a50e8d553a]
6449
6450         * memrchr.c:
6451         Redo the long syslog line splitting based on a patch from Eygene
6452         Ryabinkin. Include memrchr() for systems without it.
6453         [2f6702b7d41b]
6454
6455         * Makefile.in, config.h.in, configure, configure.in:
6456         Redo the long syslog line splitting based on a patch from Eygene
6457         Ryabinkin. Include memrchr() for systems without it.
6458         [407a46190921]
6459
6460         * configure.in:
6461         Since we need to be able to convert timespec to timeval for utimes()
6462         the last 3 digits in the tv_nsec are not significant. This makes the
6463         sudoedit file date comparison work again.
6464         [9d0258849fa9]
6465
6466 2007-06-13  Todd C. Miller  <Todd.Miller@courtesan.com>
6467
6468         * aclocal.m4, configure, configure.in:
6469         Add SUDO_ADD_AUTH macro to deal with adding things to AUTH_OBJS.
6470         This deals with exclusive authentication methods in a simple way.
6471         [7d70072c0f35]
6472
6473 2007-06-12  Todd C. Miller  <Todd.Miller@courtesan.com>
6474
6475         * LICENSE:
6476         mkstemp.c is BSD code too.
6477         [29e236d98162]
6478
6479         * sudo.pod, sudoers.pod, visudo.pod:
6480         No commercial support for now.
6481         [7c76b3e192dd]
6482
6483 2007-06-11  Todd C. Miller  <Todd.Miller@courtesan.com>
6484
6485         * sudo.c:
6486         cleanenv() is no more.
6487         [518080514408]
6488
6489 2007-06-10  Todd C. Miller  <Todd.Miller@courtesan.com>
6490
6491         * ChangeLog:
6492         Display branch info in Changelog
6493         [44e3b27427c7]
6494
6495         * utimes.c:
6496         Include config.h early so we have it for TIME_WITH_SYS_TIME
6497         [4bf1a00d0703]
6498
6499         * ChangeLog:
6500         Fix Changelog generation and update.
6501         [6e960dbcbece]
6502
6503 2007-06-09  Todd C. Miller  <Todd.Miller@courtesan.com>
6504
6505         * closefrom.c:
6506         Use /proc/self/fd instead of /proc/$$/fd
6507
6508         Move old-style fd closing into closefrom_fallback() and call that if
6509         /proc/self/fd doesn't exist or the F_CLOSEM fcntl() fails
6510         [faa7e4810758]
6511
6512         * auth/kerb5.c, config.h.in, configure.in:
6513         o use krb5_verify_user() if available instead of doing it by hand o
6514         use krb5_init_secure_context() if we have it o pass an encryption
6515         type of 0 to krb5_kt_read_service_key() instead of
6516         ENCTYPE_DES_CBC_MD5 to let kerberos choose.
6517         [df7acf72bd7c]
6518
6519         * env.c:
6520         Check TERM and COLORTERM for '%' and '/' characters. From Debian.
6521         [f92d05197e40]
6522
6523         * configure.in:
6524         Fix closefrom() substitution in the Makefile
6525         [b642b13fcc5c]
6526
6527         * TROUBLESHOOTING:
6528         Mention alternate sudo pronunciation.
6529         [7c71dc73409f]
6530
6531 2007-06-07  Todd C. Miller  <Todd.Miller@courtesan.com>
6532
6533         * env.c:
6534         Remove KRB5_KTNAME from environment. Allow COLORTERM.
6535         [70f35a79f780]
6536
6537         * auth/kerb5.c:
6538         If we cannot get a valid service key using the default keytab it is
6539         a fatal error. Fixes a bug where sudo could be tricked into
6540         allowing access when it should not by a fake KDC. From Thor Lancelot
6541         Simon.
6542         [a3ae6a47cb23]
6543
6544 2007-05-12  Todd C. Miller  <Todd.Miller@courtesan.com>
6545
6546         * aclocal.m4, configure, configure.in:
6547         Update long long checks to use AC_CHECK_TYPES and to cache values.
6548         [047318eaaeb2]
6549
6550         * aclocal.m4, configure.in:
6551         Use AC_FUNC_FNMATCH instead of a homebrew fnmatch checker. We can't
6552         use AC_REPLACE_FNMATCH since that assumes replacing with GNU
6553         fnmatch.
6554         [80513a1003ea]
6555
6556 2007-05-11  Todd C. Miller  <Todd.Miller@courtesan.com>
6557
6558         * configure, configure.in:
6559         Add closefrom() to LIB_OBJS not SUDO_OBJS if it is missing since we
6560         need it for visudo now too.
6561         [50837c7c2b5e]
6562
6563 2007-04-24  Todd C. Miller  <Todd.Miller@courtesan.com>
6564
6565         * sudoers.pod:
6566         Attempt to clarify the bit talking about network numbers w/o
6567         netmasks.
6568         [211e68c1d034]
6569
6570         * sudo.pod:
6571         Clarify timestamp dir ownership sentence.
6572         [9178f132c7f7]
6573
6574 2007-04-20  Todd C. Miller  <Todd.Miller@courtesan.com>
6575
6576         * auth/pam.c:
6577         Linux PAM now defines __LINUX_PAM__, not __LIBPAM_VERSION. From
6578         Dmitry V. Levin.
6579         [81fce91667bc]
6580
6581 2007-04-16  Todd C. Miller  <Todd.Miller@courtesan.com>
6582
6583         * sudo.c:
6584         -i is also one of the mutually exclusive options to list it in the
6585         warning message. Noted by Chris Pepper.
6586         [7da73fb248e9]
6587
6588 2007-04-12  Todd C. Miller  <Todd.Miller@courtesan.com>
6589
6590         * visudo.pod:
6591         The sudoers variable is env_editor, not enveditor. From Jean-
6592         Francois Saucier.
6593         [2a86ec09a6db]
6594
6595 2007-03-29  Todd C. Miller  <Todd.Miller@courtesan.com>
6596
6597         * redblack.c:
6598         I tracked down the original author so credit him and include his
6599         license info.
6600         [3733553a1bba]
6601
6602 2007-02-06  Todd C. Miller  <Todd.Miller@courtesan.com>
6603
6604         * sudo.cat, sudo.man.in, sudo.pod, sudoers.cat, sudoers.man.in,
6605         sudoers.pod:
6606         Fix typos; from Jason McIntyre.
6607         [1ee4ce2512f2]
6608
6609         * logging.c:
6610         Restore signal mask before calling reapchild(). Fixes a possible
6611         race condition that could prevent sudo from properly waiting for the
6612         child.
6613         [9ee4192385dc]
6614
6615 2007-01-31  Todd C. Miller  <Todd.Miller@courtesan.com>
6616
6617         * pwutil.c:
6618         Don't declare pw_free() if we are not going to use it.
6619         [adb79a4289ca]
6620
6621         * env.c:
6622         Add NOEXEC support for AIX 5.3 which supports LDR_PRELOAD and
6623         LDR_PRELOAD64. The 64-bit version is not currently supported.
6624         Remove zero_env() prototype as it no longer exists.
6625         [b4fe65027fb6]
6626
6627 2006-12-11  Todd C. Miller  <Todd.Miller@courtesan.com>
6628
6629         * logging.c:
6630         Add "Auto-Submitted: auto-generated" line to sudo mail for rfc 3834.
6631         [78002ad90f7b]
6632
6633 2006-09-29  Todd C. Miller  <Todd.Miller@courtesan.com>
6634
6635         * auth/pam.c:
6636         If the user enters ^C at the password prompt, abort instead of
6637         trying to authenticate with an empty password (which causes an
6638         annoying delay).
6639         [da3f27b747c7]
6640
6641 2006-08-17  Todd C. Miller  <Todd.Miller@courtesan.com>
6642
6643         * closefrom.c, config.h.in, configure, configure.in:
6644         Add fcntl F_CLOSEM support to closefrom(); adapted from a diff by
6645         Darren Tucker.
6646         [0331b7780759]
6647
6648         * pwutil.c:
6649         pw_free() is only used by sudo_freepwcache() so ifdef it out too.
6650         [0014c0d9eeba]
6651
6652 2006-08-04  Todd C. Miller  <Todd.Miller@courtesan.com>
6653
6654         * config.guess, config.sub:
6655         Update to latest versions from cvs.savannah.gnu.org
6656         [aa0143101c20]
6657
6658 2006-07-31  Todd C. Miller  <Todd.Miller@courtesan.com>
6659
6660         * pwutil.c, sudo_edit.c:
6661         Move password/group cache cleaning out of sudo_end{pw,grp}ent() so
6662         we can close the passwd/group files early.
6663         [559074bd7eb7]
6664
6665         * config.h.in, configure, configure.in, set_perms.c:
6666         Add seteuid() flavor of set_perms() for systems without setreuid()
6667         or setresuid() that have a working seteuid(). Tested on Darwin.
6668         [508d8da99189]
6669
6670 2006-07-30  Todd C. Miller  <Todd.Miller@courtesan.com>
6671
6672         * mon_systrace.c:
6673         systrace_read() returns ssize_t
6674         [9f97d1d1a59d]
6675
6676         * configure, configure.in:
6677         Fix typo, -lldap vs. -ldap; from Tim Knox.
6678         [a8cc43c3bb2a]
6679
6680 2006-07-28  Todd C. Miller  <Todd.Miller@courtesan.com>
6681
6682         * HISTORY:
6683         Fix typo; Matt Ackeret
6684         [86964ee3dfbd]
6685
6686 2006-07-17  Todd C. Miller  <Todd.Miller@courtesan.com>
6687
6688         * sudo.c:
6689         Print sudoers path in -V mode for root.
6690         [dc43f2d75bd9]
6691
6692 2006-06-15  Todd C. Miller  <Todd.Miller@courtesan.com>
6693
6694         * ldap.c:
6695         Do a sub tree search instead of a base search (one level in the tree
6696         only) for sudo right objects. This allows system administrators to
6697         categorize the rights in a tree to make them easier to manage.
6698         [6d2d9abf996e]
6699
6700 2005-12-28  Todd C. Miller  <Todd.Miller@courtesan.com>
6701
6702         * sudo.pod:
6703         fix typo
6704         [1473413bcbda]
6705
6706 2005-12-04  Todd C. Miller  <Todd.Miller@courtesan.com>
6707
6708         * ldap.c:
6709         Convert GET_OPT and GET_OPTI to use just 2 args. Add timelimit and
6710         bind_timelimit support; adapted from gentoo.
6711         [afc816093026]
6712
6713 2005-11-23  Todd C. Miller  <Todd.Miller@courtesan.com>
6714
6715         * ldap.c:
6716         Support comments that start in the middle of a line
6717         [c25df6ee3db8]
6718
6719         * configure, configure.in:
6720         Define LDAP_DEPRECATED until we start using ldap_get_values_len()
6721         [ee249bfe230a]
6722
6723 2005-11-18  Todd C. Miller  <Todd.Miller@courtesan.com>
6724
6725         * closefrom.c:
6726         Silence gcc -Wsign-compare; djm@openbsd.org
6727         [28769ce6418d]
6728
6729         * error.c, sudo.c, sudo.h, testsudoers.c, visudo.c:
6730         cleanup() now takes an int as an arg so it can be used as a signal
6731         handler too.
6732         [2bb0df34d09c]
6733
6734         * sudo.c:
6735         Make a copy of the shell field in the passwd struct for NewArgv to
6736         avoid a use after free situation after sudo_endpwent() is called.
6737         [5dcc9ffd362e]
6738
6739 2005-11-17  Todd C. Miller  <Todd.Miller@courtesan.com>
6740
6741         * config.h.in, configure, configure.in:
6742         Add mkstemp() for those poor souls without it.
6743         [5fdd02e863e0]
6744
6745         * mkstemp.c:
6746         Add mkstemp() for those poor souls without it.
6747         [c99401207860]
6748
6749         * Makefile.in:
6750         Add mkstemp() for those poor souls without it.
6751         [9c1cf2678f24]
6752
6753 2005-11-15  Todd C. Miller  <Todd.Miller@courtesan.com>
6754
6755         * env.c:
6756         Add PERL5DB to list of environment variables to remove.
6757         [7375c27ecf75]
6758
6759 2005-11-13  Todd C. Miller  <Todd.Miller@courtesan.com>
6760
6761         * mon_systrace.c, mon_systrace.h:
6762         Instead of calling the check function twice with a state cookie use
6763         separate check/log functions.
6764
6765         Check more ioctl() calls for failure.
6766
6767         systrace_{read,write} now return the number of bytes read/written or
6768         -1 on error.
6769         [3dc8946d90e9]
6770
6771         * env.c:
6772         Add more environment variables to remove; from gentoo linux Add some
6773         comments about what bad env variables go to what (more to do)
6774         [6918110a6b82]
6775
6776 2005-11-11  Todd C. Miller  <Todd.Miller@courtesan.com>
6777
6778         * sudo.c, sudo_edit.c:
6779         Move sudo_end{gr,pw}ent() until just before the exec since they free
6780         up our cached copy of the passwd structs, including sudo_user and
6781         sudo_runas. Fixes a use-after-free bug.
6782         [54de3778bad0]
6783
6784         * visudo.c:
6785         Close all fd's before executing editor.
6786         [4fcc05e1bec8]
6787
6788         * sudo.c:
6789         Enable malloc debugging on OpenBSD when SUDO_DEVEL is set.
6790         [ef0e8ffa5c9f]
6791
6792         * check.c:
6793         Fix fd leak when lecture file option is enabled. From Jerry Brown
6794         [ce97f9207cd8]
6795
6796 2005-11-07  Todd C. Miller  <Todd.Miller@courtesan.com>
6797
6798         * env.c:
6799         Add PERLLIB, PERL5LIB and PERL5OPT to the default list of
6800         environment variables to remove. From Charles Morris
6801         [c96e1367d1c1]
6802
6803 2005-11-01  Todd C. Miller  <Todd.Miller@courtesan.com>
6804
6805         * env.c:
6806         add JAVA_TOOL_OPTIONS to initial_badenv_table for java 5
6807         [72a6a1571226]
6808
6809 2005-10-28  Todd C. Miller  <Todd.Miller@courtesan.com>
6810
6811         * env.c:
6812         add PS4 and SHELLOPTS to initial_badenv_table for bash
6813         [89dfb3f318f3]
6814
6815 2005-08-15  Todd C. Miller  <Todd.Miller@courtesan.com>
6816
6817         * sudoers.pod:
6818         Fix typo; Toby Peterson
6819         [b7a3222b23f4]
6820
6821 2005-08-02  Todd C. Miller  <Todd.Miller@courtesan.com>
6822
6823         * tsgetgrpw.c:
6824         Make return buffers static so they don't get clobbered
6825         [13323a39b9f5]
6826
6827 2005-07-28  Todd C. Miller  <Todd.Miller@courtesan.com>
6828
6829         * auth/securid5.c:
6830         Fix securid5 authentication, was not checking for ACM_OK. Also add
6831         default cases for the two switch()es. Problem noted by ccon at
6832         worldbank
6833         [14091e418333]
6834
6835 2005-06-27  Todd C. Miller  <Todd.Miller@courtesan.com>
6836
6837         * ldap.c:
6838         Remove ncat() in favor of just counting bytes and pre-allocating
6839         what is needed.
6840         [25b8712adb61]
6841
6842 2005-06-26  Todd C. Miller  <Todd.Miller@courtesan.com>
6843
6844         * ldap.c:
6845         Fix up some comments Add missing fclose() for the rootbinddn case
6846         [ae95c8a89711]
6847
6848         * ldap.c:
6849         align struct ldap_config
6850         [35d0d64c76f8]
6851
6852         * ldap.c:
6853         use LINE_MAX for max conf file line size
6854         [da116cb8853d]
6855
6856         * pathnames.h.in:
6857         add _PATH_LDAP_SECRET
6858         [128b04ecfab7]
6859
6860         * README.LDAP:
6861         Mention rootbinddn Give example ou=SUDOers container
6862         [852edc69bd1c]
6863
6864 2005-06-25  Todd C. Miller  <Todd.Miller@courtesan.com>
6865
6866         * INSTALL, configure, configure.in, ldap.c:
6867         Support rootbinddn in ldap.conf
6868         [1615c91522a1]
6869
6870         * env.c, sudo.pod, sudoers.pod:
6871         Preserve DISPLAY environment variable by default.
6872         [05f503d5f438]
6873
6874         * acsite.m4, configure:
6875         set need_lib_prefix=no for all cases; this is safe for LD_PRELOAD
6876         [18a04dea8d05]
6877
6878         * acsite.m4, configure:
6879         set need_version=no for all cases; this is safe for LD_PRELOAD
6880         [b542560e1a73]
6881
6882         * aclocal.m4:
6883         typo
6884         [c040df0fcd5a]
6885
6886         * configure, configure.in:
6887         Add dragonfly
6888         [f13794618636]
6889
6890         * auth/pam.c:
6891         Fix call to pam_end() when pam_open_session() fails.
6892         [0be47cdfdef1]
6893
6894         * configure:
6895         regen
6896         [7f5c13b4b800]
6897
6898         * acsite.m4:
6899         rebuild acsite.m4 from libtool 1.9f libtool.m4 ltoptions.m4
6900         ltsugar.m4 ltversion.m4
6901         [a7ba9fd1a2ab]
6902
6903         * config.guess, config.sub, ltmain.sh:
6904         merge in local changes: config.guess: o better openbsd support
6905         config.sub: o hiuxmpp support ltmain.sh o remove requirement that
6906         libs must begin with "lib" o don't print a bunch of crap about
6907         library installs o don't run ldconfig
6908         [f4149f2c720f]
6909
6910         * config.guess, config.sub, ltmain.sh:
6911         libtool 1.9f
6912         [82a534e7121f]
6913
6914         * configure.in:
6915         Update with autoupdate and make minor changes for libtool 1.9f
6916         [11b5ae5c1428]
6917
6918 2005-06-23  Todd C. Miller  <Todd.Miller@courtesan.com>
6919
6920         * parse.c:
6921         don't call sudo_ldap_display_cmnd if ldap not setup
6922         [8bcf6c094ffe]
6923
6924         * sudo_edit.c, visudo.c:
6925         Move declatation of struct timespec to its own include files for
6926         systems without it since it needs time_t defined.
6927         [b95c333299a0]
6928
6929         * gettime.c:
6930         Move declatation of struct timespec to its own include files for
6931         systems without it since it needs time_t defined.
6932         [021b4569cc0c]
6933
6934         * fileops.c:
6935         Move declatation of struct timespec to its own include files for
6936         systems without it since it needs time_t defined.
6937         [dd8573b2ee7d]
6938
6939         * emul/timespec.h:
6940         Move declatation of struct timespec to its own include files for
6941         systems without it since it needs time_t defined.
6942         [f95137771564]
6943
6944         * check.c, compat.h:
6945         Move declatation of struct timespec to its own include files for
6946         systems without it since it needs time_t defined.
6947         [2ef2ace8fe85]
6948
6949         * ldap.c:
6950         Don't set safe_cmnd for the "sudo ALL" case.
6951         [ad7fa9e07da0]
6952
6953 2005-05-27  Todd C. Miller  <Todd.Miller@courtesan.com>
6954
6955         * auth/pam.c:
6956         Call pam_open_session() and pam_close_session() to give pam_limits a
6957         chance to run. Idea from Karel Zak.
6958         [fed46d471350]
6959
6960 2005-04-24  Todd C. Miller  <Todd.Miller@courtesan.com>
6961
6962         * check.c, sudo.c:
6963         Add explicit cast from mode_t -> u_int in printf to silence warnings
6964         on Solaris
6965         [17bb961fe22d]
6966
6967         * parse.c:
6968         include grp.h to silence a warning on Solaris
6969         [14386fbab640]
6970
6971 2005-04-23  Todd C. Miller  <Todd.Miller@courtesan.com>
6972
6973         * parse.c:
6974         Fix printing of += and -= defaults.
6975         [a667604c56cd]
6976
6977 2005-04-17  Todd C. Miller  <Todd.Miller@courtesan.com>
6978
6979         * mon_systrace.c:
6980         Sanity check number of syscall args with argsize. Not really needed
6981         but a little paranoia never hurts.
6982         [6bb455a2c2d6]
6983
6984         * mon_systrace.c, mon_systrace.h:
6985         Don't do pointer arithmetic on void * Use int, not size_t/ssize_t
6986         for systrace lengths (since it uses int)
6987         [3cafccffcffd]
6988
6989 2005-04-16  Todd C. Miller  <Todd.Miller@courtesan.com>
6990
6991         * mon_systrace.c:
6992         Add some memsets for paranoia Fix namespace collsion w/ error Check
6993         rval of decode_args() and update_env() Remove improper setting of
6994         validated variable
6995         [3d385158354d]
6996
6997 2005-04-12  Todd C. Miller  <Todd.Miller@courtesan.com>
6998
6999         * parse.c, sudo.c, sudo.h:
7000         In -l mode, only check local sudoers file if def_ignore_sudoers is
7001         not set and call LDAP versions from display_privs() and
7002         display_cmnd() instead of directly from main(). Because of this we
7003         need to defer closing the ldap connection until after -l processing
7004         has ocurred and we must pass in the ldap pointer to display_privs()
7005         and display_cmnd().
7006         [1dfc2e8c9f2b]
7007
7008         * ldap.c:
7009         Reorganize LDAP code to better match normal sudoers parsing.
7010         Instead of storing strings for later printing in -l mode we do
7011         another query since the authenticating user and the user being
7012         listed may not be the same (the new -U flag). Also add support for
7013         "sudo -l command".
7014
7015         There is still a fair bit if duplicated code that can probably be
7016         refactored.
7017         [e9568f19bde5]
7018
7019 2005-04-11  Todd C. Miller  <Todd.Miller@courtesan.com>
7020
7021         * ldap.c:
7022         Replace pass variable with do_netgr for better readability.
7023         [1bba841b6e79]
7024
7025         * ldap.c:
7026         use DPRINTF macro
7027         [02b159b66bb5]
7028
7029         * ldap.c:
7030         estrdup, not strdup
7031         [22cdee7973c1]
7032
7033 2005-04-10  Todd C. Miller  <Todd.Miller@courtesan.com>
7034
7035         * parse.c:
7036         Add macro to test if the tag changed to improve readability.
7037         [4e11b4819556]
7038
7039         * parse.c:
7040         Avoid printing defaults header if there are no defaults to print...
7041         [41a28627df03]
7042
7043         * glob.c:
7044         Fix a warning on systems without strlcpy().
7045         [6814e0f0e4f4]
7046
7047         * pwutil.c:
7048         Use macros where possible for sudo_grdup() like sudo_pwdup().
7049         [30f201ff35cd]
7050
7051 2005-04-08  Todd C. Miller  <Todd.Miller@courtesan.com>
7052
7053         * utimes.c:
7054         It is possible for tv_usec to hold >= 1000000 usecs so add in
7055         tv_usec / 1000000.
7056         [794ac4d53a65]
7057
7058 2005-03-30  Todd C. Miller  <Todd.Miller@courtesan.com>
7059
7060         * auth/kerb5.c:
7061         The component in krb5_principal_get_comp_string() should be 1, not 0
7062         for Heimdal. From Alex Plotnick.
7063         [fefa351c5044]
7064
7065 2005-03-29  Todd C. Miller  <Todd.Miller@courtesan.com>
7066
7067         * alias.c, alloc.c, check.c, defaults.c, find_path.c, gram.c, gram.y,
7068         interfaces.c, ldap.c, logging.c, match.c, mon_systrace.c, pwutil.c,
7069         redblack.c, sudo.c, sudo.h, toke.c, toke.l, visudo.c:
7070         Add efree() for consistency with emalloc() et al. Allows us to rely
7071         on C89 behavior (free(NULL) is valid) even on K&R.
7072         [7876bb80d87c]
7073
7074         * parse.c, sudo.c:
7075         Move initgroups() for -U option into display_privs() so group
7076         matching in sudoers works correctly.
7077         [b074428ad2ca]
7078
7079 2005-03-27  Todd C. Miller  <Todd.Miller@courtesan.com>
7080
7081         * ldap.c:
7082         Removed duplicate call to ldap_unbind_s introduced along with
7083         sudo_ldap_close.
7084         [19acc1c20f7c]
7085
7086         * parse.c:
7087         Add missing space in Defaults printing
7088         [95d2935bf6d4]
7089
7090 2005-03-25  Todd C. Miller  <Todd.Miller@courtesan.com>
7091
7092         * pwutil.c:
7093         Sync sudo_pwdup with OpenBSD changes: use macros for size computaton
7094         and string copies.
7095         [6b6b241495e5]
7096
7097 2005-03-19  Todd C. Miller  <Todd.Miller@courtesan.com>
7098
7099         * pwutil.c:
7100         Zero old pw_passwd before replacing with version from shadow file.
7101         [3251b349dfe1]
7102
7103         * configure, configure.in:
7104         Only attempt shadow password detection if PAM is not being used Add
7105         shadow_* variables to make shadow password detection more generic.
7106         [d498a3423ac9]
7107
7108         * configure.in:
7109         Use OSDEFS for os-specific -D_FOO_BAR stuff rather than CPPFLAGS
7110         [04d55bbd5e35]
7111
7112 2005-03-13  Todd C. Miller  <Todd.Miller@courtesan.com>
7113
7114         * sudoers.pod:
7115         use a non-breaking space to avoid a double space after e.g.
7116         [11cdb54bdf7b]
7117
7118         * sudo.pod:
7119         commna, not colon after e.g.
7120         [8d5875ff72e0]
7121
7122 2005-03-12  Todd C. Miller  <Todd.Miller@courtesan.com>
7123
7124         * sudo_noexec.c:
7125         Add __ variants of the exec functions. GNU libc at least uses
7126         __execve() internally.
7127         [d1880473d790]
7128
7129         * indent.pro:
7130         Match reality a bit more.
7131         [633e3fa875a7]
7132
7133         * pwutil.c:
7134         Missed piece from rev. 1.6, fix sudo_getpwnam() too.
7135         [128f7b21c2ee]
7136
7137         * pwutil.c:
7138         Store shadow password after making a local copy of struct passwd in
7139         case normal and shadow routines use the same internal buffer in
7140         libc.
7141         [f806052a6ffc]
7142
7143 2005-03-11  Todd C. Miller  <Todd.Miller@courtesan.com>
7144
7145         * alloc.c, logging.c:
7146         Make varargs usage consistent with the rest of the code.
7147         [3d45affc9851]
7148
7149 2005-03-10  Todd C. Miller  <Todd.Miller@courtesan.com>
7150
7151         * sudo_noexec.c:
7152         Wrap more of the exec family since on Linux the others do not appear
7153         to go through the normal execve() path.
7154         [8167769b4e19]
7155
7156         * visudo.c:
7157         make print_unused static like proto says
7158         [ecf10e1bae55]
7159
7160         * glob.c:
7161         silence a warning on K&R systems
7162         [2e00425f1a5c]
7163
7164         * alias.c, error.c:
7165         make this build in K&R land
7166         [156f65f8525a]
7167
7168         * parse.c:
7169         make this build in K&R land
7170         [6fc9276889cb]
7171
7172 2005-03-08  Todd C. Miller  <Todd.Miller@courtesan.com>
7173
7174         * toke.c:
7175         regen
7176         [3b349748cd21]
7177
7178 2005-03-06  Todd C. Miller  <Todd.Miller@courtesan.com>
7179
7180         * ldap.c:
7181         return(foo) not return foo optimize _atobool() slightly
7182         [11d09d154ed5]
7183
7184         * ldap.c:
7185         Use TRUE/FALSE
7186         [53999320d98f]
7187
7188         * ldap.c:
7189         Reformat to match the rest of sudo's code.
7190         [1bd0f2afa0e7]
7191
7192         * sudo.pod:
7193         I am the primary author
7194         [5d311ecd85c6]
7195
7196 2005-02-23  Todd C. Miller  <Todd.Miller@courtesan.com>
7197
7198         * Makefile.in, README, RUNSON:
7199         The RUNSON file is toast--it confused too many people and really
7200         isn't needed in a configure-oriented world.
7201         [96a6ef7bbc08]
7202
7203         * INSTALL:
7204         alternate -> alternative
7205         [b65015c5d0a2]
7206
7207         * tgetpass.c:
7208         Use TCSADRAIN instead of TCSAFLUSH since some OSes have issues with
7209         TCSAFLUSH.
7210         [c66b4763ffdc]
7211
7212         * toke.l:
7213         Allow leading blanks before Defaults and Foo_Alias definitions
7214         [2add513d9277]
7215
7216         * Makefile.in:
7217         fix rules to build toke.o and gram.o in devel mode
7218         [96cbb414ebd3]
7219
7220 2005-02-20  Todd C. Miller  <Todd.Miller@courtesan.com>
7221
7222         * sudoers.pod:
7223         env_keep overrides set_logname
7224         [401877193a15]
7225
7226         * env.c:
7227         Fix disabling set_logname and make env_keep override set_logname.
7228         [0906e7a5ed93]
7229
7230         * compat.h, config.h.in, configure, configure.in:
7231         No longer need memmove()
7232         [43bdb6efe3f2]
7233
7234         * env.c, sudo.c:
7235         Just clean the environment once. This assumes that any further
7236         setenv/putenv will be able to handle the fact that we replaced
7237         environ with our own malloc'd copy but all the implementations I've
7238         checked do.
7239         [11658fe92ba2]
7240
7241 2005-02-16  Todd C. Miller  <Todd.Miller@courtesan.com>
7242
7243         * env.c, sudo.c:
7244         In -i mode, base the value of insert_env()'s dupcheck flag on
7245         DID_FOO flags. Move checks for $HOME resetting into rebuild_env()
7246         [8365b0bd0c71]
7247
7248 2005-02-13  Todd C. Miller  <Todd.Miller@courtesan.com>
7249
7250         * env.c, sudo.c:
7251         Move setting of user_path, user_shell, user_prompt and prev_user
7252         into init_vars() since user_shell at least is needed there.
7253         [37e22dce66e9]
7254
7255 2005-02-12  Todd C. Miller  <Todd.Miller@courtesan.com>
7256
7257         * Makefile.in:
7258         fix devel builds
7259         [9fbb15ef164c]
7260
7261         * sudo.c:
7262         Fix some printf format mismatches on error.
7263         [ffc1c3f11740]
7264
7265         * check.c:
7266         Fix some printf format mismatches on error.
7267         [7b3b508adf50]
7268
7269         * configure, gram.c, toke.c:
7270         regen
7271         [aa76f9d8b02a]
7272
7273         * Makefile.in, aclocal.m4, alias.c, alloc.c, auth/afs.c,
7274         auth/aix_auth.c, auth/bsdauth.c, auth/dce.c, auth/fwtk.c,
7275         auth/kerb4.c, auth/kerb5.c, auth/pam.c, auth/passwd.c,
7276         auth/rfc1938.c, auth/secureware.c, auth/securid.c, auth/securid5.c,
7277         auth/sia.c, auth/sudo_auth.c, auth/sudo_auth.h, check.c,
7278         closefrom.c, compat.h, configure.in, defaults.c, defaults.h,
7279         emul/utime.h, env.c, error.c, fileops.c, find_path.c, getprogname.c,
7280         getspwuid.c, gettime.c, goodpath.c, gram.y, interfaces.c,
7281         interfaces.h, ldap.c, logging.c, logging.h, match.c, mon_systrace.c,
7282         parse.c, redblack.c, redblack.h, set_perms.c, sigaction.c,
7283         snprintf.c, strcasecmp.c, strerror.c, strlcat.c, strlcpy.c, sudo.c,
7284         sudo.h, sudo.pod, sudo_edit.c, sudo_noexec.c, sudoers.pod,
7285         testsudoers.c, tgetpass.c, toke.l, utimes.c, version.h, visudo.c,
7286         visudo.pod, zero_bytes.c:
7287         Update copyright years.
7288         [0610c3654739]
7289
7290         * Makefile.binary.in:
7291         Update copyright years.
7292         [d78ffc9f2e2b]
7293
7294         * LICENSE:
7295         Update copyright years.
7296         [f60473bca4b1]
7297
7298         * BUGS, INSTALL, INSTALL.binary, Makefile.in, README, configure.in:
7299         version 1.7
7300         [aa977a544ca1]
7301
7302         * WHATSNEW:
7303         What's new in sudo 1.7, based on the 1.7 CHANGES entries.
7304         [ecfcf7269c14]
7305
7306 2005-02-11  Todd C. Miller  <Todd.Miller@courtesan.com>
7307
7308         * compat.h, logging.h, sudo.h:
7309         Add __printflike and use it with gcc to warn about printf-like
7310         format mismatches
7311         [b192ad4a0548]
7312
7313 2005-02-10  Todd C. Miller  <Todd.Miller@courtesan.com>
7314
7315         * CHANGES, ChangeLog:
7316         Replaced CHANGES file with ChangeLog generated from cvs logs
7317         [d9ace9dab98f]
7318
7319         * set_perms.c:
7320         Use warning/error instead of perror/fatal.
7321         [e33259df7738]
7322
7323         * config.guess:
7324         Update OpenBSD section
7325         [9d2c23de6801]
7326
7327         * UPGRADE:
7328         Add upgrading noted for 1.7
7329         [1fb6b6d6df07]
7330
7331         * env.c, sudo.c, sudoers.pod:
7332         Instead of zeroing out the environment, just prune out entries based
7333         on the env_delete and env_check lists. Base building up the new
7334         environment on the current environment and the variables we removed
7335         initially.
7336         [fc192df8fd15]
7337
7338         * config.h.in, configure, configure.in, sudo.c:
7339         Set locale to "C" if locales are supported, just to be safe.
7340         [91fbaa98f02e]
7341
7342         * toke.c, toke.l:
7343         Cast?argument to ctype functions to unsigned char.
7344         [e096b4d65796]
7345
7346 2005-02-08  Todd C. Miller  <Todd.Miller@courtesan.com>
7347
7348         * env.c:
7349         correct value for DID_USER
7350         [b5b05d36ec15]
7351
7352         * error.c, fnmatch.c, getcwd.c, glob.c, snprintf.c:
7353         #include <compat.h> not "compat.h"
7354         [7a0ad9a0ccd7]
7355
7356         * defaults.c:
7357         Reset the environment by default.
7358         [4ecc6423e0f0]
7359
7360         * sudo.c:
7361         Alloc an extra slot in NewArgv. Removes the need to malloc an new
7362         vector if execve() fails.
7363         [83dfb6f584a7]
7364
7365 2005-02-07  Todd C. Miller  <Todd.Miller@courtesan.com>
7366
7367         * INSTALL, config.h.in, configure, configure.in, sudo.c:
7368         Use execve(2) and wrap the command in sh if we get ENOEXEC.
7369         [c0c6af4e2a21]
7370
7371 2005-02-06  Todd C. Miller  <Todd.Miller@courtesan.com>
7372
7373         * sudo_noexec.c:
7374         Only include time.h on systems that lack struct timespec which gets
7375         defind in compat.h (using time_t).
7376         [e373e518b4cb]
7377
7378         * sudo_noexec.c:
7379         Include time.h for time_t in compat.h for systems w/o struct
7380         timespec.
7381         [a34b5637e458]
7382
7383         * compat.h, config.h.in, configure, configure.in:
7384         use bcopy on systems w/o memmove
7385         [f835eafd78c6]
7386
7387         * compat.h:
7388         __attribute__((__unused__)) doesn't work in gcc 2.7.2.1 so limit its
7389         use to gcc >= 2.8.
7390         [1cb9a4e58566]
7391
7392         * Makefile.in:
7393         Add explicit rule to build sudo_noexec.lo
7394         [df1dfcf8dd77]
7395
7396 2005-02-05  Todd C. Miller  <Todd.Miller@courtesan.com>
7397
7398         * INSTALL.configure, Makefile.in:
7399         No longer depend on VPATH; pointed out a bunch of missed
7400         dependencies.
7401         [601a45d4af6b]
7402
7403         * TROUBLESHOOTING:
7404         Help for PAM when account section is missing
7405         [9b8221256756]
7406
7407         * auth/pam.c:
7408         Give user a clue when there is a missing "account" section in the
7409         PAM config.
7410         [2529625c0495]
7411
7412         * auth/pam.c:
7413         Better error handling.
7414         [518c9bda23d8]
7415
7416         * config.h.in, configure, configure.in:
7417         Move _FOO_SOURCE to CPPFLAGS so it takes effect as early as
7418         possible. Silences a warning about isblank() on linux.
7419         [19c94d7ecdc8]
7420
7421         * auth/pam.c:
7422         Fix typo (missing comma) that caused an incorrect number of args to
7423         be passed to log_error().
7424         [0099dfec560f]
7425
7426 2005-02-01  Todd C. Miller  <Todd.Miller@courtesan.com>
7427
7428         * pwutil.c:
7429         Don't try to destroy a tree we didn't create.
7430         [d43c4fe03aa4]
7431
7432 2005-01-27  Todd C. Miller  <Todd.Miller@courtesan.com>
7433
7434         * alias.c, alloc.c, auth/afs.c, auth/aix_auth.c, auth/bsdauth.c,
7435         auth/dce.c, auth/fwtk.c, auth/kerb4.c, auth/kerb5.c, auth/pam.c,
7436         auth/passwd.c, auth/rfc1938.c, auth/secureware.c, auth/securid.c,
7437         auth/securid5.c, auth/sia.c, auth/sudo_auth.c, check.c, closefrom.c,
7438         compat.h, defaults.c, env.c, error.c, fileops.c, find_path.c,
7439         fnmatch.c, getcwd.c, getprogname.c, getspwuid.c, gettime.c,
7440         goodpath.c, gram.c, gram.y, interfaces.c, ldap.c, logging.c,
7441         match.c, mon_systrace.c, parse.c, pwutil.c, set_perms.c,
7442         sigaction.c, snprintf.c, strcasecmp.c, strerror.c, strlcat.c,
7443         strlcpy.c, sudo.c, sudo_edit.c, sudo_noexec.c, testsudoers.c,
7444         tgetpass.c, toke.c, toke.l, utimes.c, visudo.c, zero_bytes.c:
7445         Add __unused to rcsids
7446         [ad6b4ac45705]
7447
7448 2005-01-21  Todd C. Miller  <Todd.Miller@courtesan.com>
7449
7450         * configure, configure.in:
7451         Fix error message when mixing invalid auth types
7452         [68069b3ff5bc]
7453
7454         * INSTALL:
7455         PAM, AIX auth, BSD auth and login_cap are now on by default if the
7456         OS supports them.
7457         [4e44e9098cf0]
7458
7459         * auth/sudo_auth.h, config.h.in:
7460         s/HAVE_AUTHENTICATE/HAVE_AIXAUTH/g
7461         [2d569b43b23e]
7462
7463         * configure.in:
7464         Better checking for conflicting authentication methods Display the
7465         authentication methods used at the end of configure Rename --with-
7466         authenticate -> --with-aixauth Use --with-aixauth, --with-bsdauth,
7467         --with-pam, --with-logincap by default on systems that support them
7468         unless disabled. Add OSMAJOR variable that replaces old OSREV; now
7469         OSREV has full version number
7470         [a21115b6fe9f]
7471
7472 2005-01-18  Todd C. Miller  <Todd.Miller@courtesan.com>
7473
7474         * def_data.c, def_data.in, sudo.c, sudoers.pod:
7475         s/-O/-C/
7476         [ee73f1b81923]
7477
7478 2005-01-14  Todd C. Miller  <Todd.Miller@courtesan.com>
7479
7480         * configure.in:
7481         Replace: test -n "$FOO" || FOO="bar"
7482
7483         With: : ${FOO='bar'}
7484         [37552d9054fc]
7485
7486 2005-01-09  Todd C. Miller  <Todd.Miller@courtesan.com>
7487
7488         * pwutil.c, testsudoers.c, tsgetgrpw.c:
7489         Use function pointers to only call private passwd/group routines
7490         when using a nonstandard passwd/group file.
7491         [215908681dfb]
7492
7493 2005-01-06  Todd C. Miller  <Todd.Miller@courtesan.com>
7494
7495         * CHANGES:
7496         sync
7497         [2e55c03f5790]
7498
7499         * tsgetgrpw.c:
7500         Can't use strtok() since it doesn't handle empty fields so add
7501         getpwent()/getgrent() functions and call those.
7502         [bdaa5b0db70e]
7503
7504 2005-01-05  Todd C. Miller  <Todd.Miller@courtesan.com>
7505
7506         * Makefile.in:
7507         Fix dummied out toke.c and gram.c dependencies.
7508         [4b909c8b2ebe]
7509
7510         * Makefile.in:
7511         Rename PARSESRCS -> GENERATED since it is only used in the clean
7512         target Add devdir variable and use it to specify the path to parser
7513         sources
7514         [f27b3f41ca23]
7515
7516         * configure:
7517         regen
7518         [22c6435dbd46]
7519
7520         * configure.in:
7521         Add a devdir variables that defaults to $(srcdir) and is set to . if
7522         --devel was specified. Allows for proper dependecies building the
7523         parser.
7524         [a36d694c6d21]
7525
7526         * testsudoers.c:
7527         Add support for custom passwd/group files.
7528         [296549ff4b87]
7529
7530         * Makefile.in:
7531         Build private copy of pwutil.o for testsudoers with MYPW defined so
7532         it uses our own passwd/group routines.
7533         [bafa54ec78ca]
7534
7535         * visudo.c:
7536         Remove sudo_*{pw,gr}* stubs and add sudo_setspent/sudo_endspent
7537         stubs instead. We can now just use the caching sudo_*{pw,gr}*
7538         functions in pwutil.c Add comment about wanting to call
7539         sudo_endpwent/sudo_endgrent in cleanup()
7540         [7e59d6b5510d]
7541
7542         * tsgetgrpw.c:
7543         Remove caching; we will just use what is in pwutil.c Use global
7544         buffers for passwd/group structs Rename functions from sudo_* to
7545         my_*
7546         [8c1e068f574c]
7547
7548         * logging.c, sudo.c:
7549         g/c pwcache_init/pwcache_destroy
7550         [60a24909b947]
7551
7552         * sudo.h:
7553         Undo last commit and add sudo_setspent and sudo_endspent instead.
7554         [bac80db08296]
7555
7556         * getspwuid.c, pwutil.c:
7557         Move all but the shadow stuff from getspwuid.c to pwutil.c and
7558         pwcache_get and pwcache_put as they are no longer needed. Also add
7559         preprocessor magic to use private versions of the passwd and group
7560         routines if MYPW is defined (for use by testsudoers).
7561         [a16b8678a426]
7562
7563         * tsgetgrpw.c:
7564         zero out struct passwd/group before filling it in so if there are
7565         fields we don't handle they end up as 0.
7566         [274cb6a93301]
7567
7568         * logging.c, sudo.c, sudo.h, testsudoers.c, visudo.c:
7569         Adapt to pwutil.c
7570         [43ebd04c8b82]
7571
7572         * Makefile.in:
7573         Add tsgetgrpw.c and pwutil.c Rename the *OBJ variables for better
7574         readability.
7575         [7f88c6061e2d]
7576
7577         * tsgetgrpw.c:
7578         Passwd and group lookup routines for testsudoers that support
7579         alternate passwd and group files.
7580         [d7803101d34e]
7581
7582         * getspwuid.c, pwutil.c:
7583         Split off pw/gr cache and dup code into its own file. This allows
7584         visudo and testsudoers to use the pw/gr cache too.
7585         [ef333d3ffedf]
7586
7587 2005-01-02  Todd C. Miller  <Todd.Miller@courtesan.com>
7588
7589         * parse.c:
7590         Print Defaults info in "sudo -l" output and wrap lines based on the
7591         terminal width.
7592         [e559eae4250e]
7593
7594 2005-01-01  Todd C. Miller  <Todd.Miller@courtesan.com>
7595
7596         * match.c, testsudoers.c, visudo.c:
7597         Only check group vector in usergr_matches() if we are matching the
7598         invoking or list user. Always check the group members, even if
7599         there was a group vector.
7600         [d0c7ceb2a041]
7601
7602 2004-12-17  Todd C. Miller  <Todd.Miller@courtesan.com>
7603
7604         * LICENSE, Makefile.in, fnmatch.3:
7605         No longer bundle fnmatch.3
7606         [72db4a4ff4e1]
7607
7608         * CHANGES, TODO:
7609         checkpoint
7610         [e92781bfd99c]
7611
7612 2004-12-16  Todd C. Miller  <Todd.Miller@courtesan.com>
7613
7614         * sudo.c:
7615         sort usage
7616         [15e3b876ec2c]
7617
7618         * sudo.pod:
7619         Sort command line options
7620         [c1fa56584bc4]
7621
7622         * def_data.c, def_data.h, def_data.in, defaults.c, logging.c, sudo.c,
7623         sudo.pod, sudoers.pod:
7624         Add closefrom sudoers option to start closing at a point other than
7625         3. Add closefrom_override sudoers option and -C sudo flag to allow
7626         the user to specify a different closefrom starting point.
7627         [370652b099d1]
7628
7629         * pathnames.h.in:
7630         Add _PATH_DEVNULL for those without it.
7631         [0c4c3e0ceb8b]
7632
7633         * LICENSE:
7634         no more UCB strcasecmp
7635         [397a6298e07f]
7636
7637         * strcasecmp.c:
7638         replace BSD licensed one with version derived from pdksh
7639         [d7cfda8c57a2]
7640
7641 2004-12-10  Todd C. Miller  <Todd.Miller@courtesan.com>
7642
7643         * sudo.c:
7644         Fix last commit.
7645         [7afb9a180532]
7646
7647         * sudo.c:
7648         Make sure stdin, stdout and stderr are open and dup them to
7649         /dev/null if not.
7650         [590f387068bd]
7651
7652 2004-12-03  Todd C. Miller  <Todd.Miller@courtesan.com>
7653
7654         * ldap.c, mon_systrace.c, sudo.c, sudo.h:
7655         add sudo_ldap_close
7656         [4273a36765a7]
7657
7658         * fileops.c, gettime.c, sudo.c, sudo_edit.c, utimes.c, visudo.c:
7659         Use TIME_WITH_SYS_TIME
7660         [c32b59bf15fb]
7661
7662         * config.h.in, configure, configure.in:
7663         Add TIME_WITH_SYS_TIME_H
7664         [57cb146f451d]
7665
7666 2004-12-02  Todd C. Miller  <Todd.Miller@courtesan.com>
7667
7668         * env.c:
7669         Add missing braces to avoid DYLD_FORCE_FLAT_NAMESPACE being set
7670         unconditionally on darwin. From Toby Peterson.
7671         [d69959681c87]
7672
7673         * getspwuid.c:
7674         Check rbinsert() return value. In the case of faked up entries
7675         there is usually a negative response cached that we need to
7676         overwrite.
7677
7678         In pwfree() don't try to zero out a NULL pw_passwd pointer.
7679         [00b32d1a48c1]
7680
7681         * mon_systrace.c:
7682         Use the double fork trick to avoid the monitor process being waited
7683         for by the main program run through sudo.
7684         [e0ce556712ff]
7685
7686 2004-11-29  Todd C. Miller  <Todd.Miller@courtesan.com>
7687
7688         * sudo.c:
7689         Call initgroups() in -U mode so group matches work normally.
7690         [2235bea15283]
7691
7692         * def_data.h, mkdefaults:
7693         Don't print a trailing comma for the last entry in enum def_tupple
7694         [c43a96bb31df]
7695
7696 2004-11-28  Todd C. Miller  <Todd.Miller@courtesan.com>
7697
7698         * sudoers.cat, sudoers.man.in, sudoers.pod:
7699         Mention values when lecture, listpw and verifypw are used in boolean
7700         context.
7701         [a0b5c0abaccf]
7702
7703         * def_data.c, def_data.in:
7704         verifypw when used in a boolean TRUE context should be "all", not
7705         "any".
7706         [2eb076ddd5e2]
7707
7708 2004-11-26  Todd C. Miller  <Todd.Miller@courtesan.com>
7709
7710         * def_data.in, defaults.c:
7711         Allow tuples that can be used as booleans to be used as boolean
7712         TRUE. In this case the 2nd possible value of the tuple is used for
7713         TRUE.
7714         [bd99aa77e88b]
7715
7716 2004-11-25  Todd C. Miller  <Todd.Miller@courtesan.com>
7717
7718         * configure, configure.in:
7719         Correct the test for 2-parameter timespecsub
7720         [d41c9cb26b97]
7721
7722         * sudo.h:
7723         Add strub struct definitions for passwd, timeval and timespec
7724         [c4ce5c43d8c5]
7725
7726         * config.h.in, configure, configure.in, sudo_edit.c, visudo.c:
7727         Add check for 2-argument form of timespecsub (FreeBSD and BSD/OS)
7728         and fix a typo in the gettimeofday check.
7729         [8ac9893057ce]
7730
7731 2004-11-24  Todd C. Miller  <Todd.Miller@courtesan.com>
7732
7733         * match.c, testsudoers.c:
7734         Deal with user_stat being NULL as it is for visudo and testsudoers.
7735         [3605a6ff64d0]
7736
7737         * parse.c, sudo.c, sudo.cat, sudo.h, sudo.man.in, sudo.pod:
7738         Add -U option to use in conjunction with -l instead of -u. Add
7739         support for "sudo -l command" to test a specific command.
7740         [99638789d415]
7741
7742         * gram.c, gram.y, sudo.c:
7743         Set safe_cmnd after sudoers_lookup() if it has not been set.
7744         Previously it was set by sudo "ALL" in the parser but at that point
7745         the fully-qualified pathname has not yet been found.
7746         [ac30d98f8225]
7747
7748 2004-11-23  Todd C. Miller  <Todd.Miller@courtesan.com>
7749
7750         * parse.c, testsudoers.c:
7751         Correctly handle multiple privileges per userspec and runas
7752         inheritence.
7753         [a98a965181af]
7754
7755 2004-11-21  Todd C. Miller  <Todd.Miller@courtesan.com>
7756
7757         * defaults.c:
7758         Zero out sd_un for each entry in sudo_defs_table in init_defaults.
7759         [031d3cd4a848]
7760
7761 2004-11-19  Todd C. Miller  <Todd.Miller@courtesan.com>
7762
7763         * toke.c, toke.l:
7764         make per-command defaults work with sudoedit
7765         [e56fe33db916]
7766
7767         * ldap.c, parse.c, sudo.c, sudo.h:
7768         Remove the FLAG_NOPASS, FLAG_NOEXEC and FLAG_MONITOR flags.
7769         Instead, we just set the approriate defaults variable.
7770         [756eeecc1d86]
7771
7772         * sample.sudoers, sudoers.cat, sudoers.man.in, sudoers.pod:
7773         Document per-command Defaults.
7774         [92a0f84b91c1]
7775
7776         * defaults.c, defaults.h, gram.c, gram.h, gram.y, mon_systrace.c,
7777         sudo.c, testsudoers.c, toke.c, toke.l, visudo.c:
7778         Add support for command-specific Defaults entries. E.g.
7779         Defaults!/usr/bin/vi noexec
7780         [be3d52bf01cf]
7781
7782         * defaults.c, match.c, parse.c, parse.h, testsudoers.c:
7783         Change an occurence of user_matches() -> runas_matches() missed
7784         previously runas_matches(), host_matches() and cmnd_matches() only
7785         really need to pass in a list of members. user_matches() still
7786         needs to pass in a passwd struct because of "sudo -l"
7787         [833b22fc6fa0]
7788
7789         * parse.c:
7790         Check def_authenticate, def_noexec and def_monitor when setting
7791         return flags. XXX May be better to just set the defaults directly
7792         and get rid of those flags.
7793         [b6db22b59d69]
7794
7795         * alias.c, alloc.c, auth/afs.c, auth/aix_auth.c, auth/bsdauth.c,
7796         auth/dce.c, auth/fwtk.c, auth/kerb4.c, auth/kerb5.c, auth/pam.c,
7797         auth/passwd.c, auth/rfc1938.c, auth/secureware.c, auth/securid.c,
7798         auth/securid5.c, auth/sia.c, auth/sudo_auth.c, check.c, closefrom.c,
7799         defaults.c, env.c, error.c, fileops.c, find_path.c, fnmatch.c,
7800         getcwd.c, getprogname.c, getspwuid.c, gettime.c, glob.c, goodpath.c,
7801         gram.c, gram.y, interfaces.c, ldap.c, logging.c, match.c,
7802         mon_systrace.c, parse.c, redblack.c, set_perms.c, snprintf.c,
7803         strcasecmp.c, strerror.c, strlcat.c, strlcpy.c, sudo.c, sudo_edit.c,
7804         sudo_noexec.c, testsudoers.c, tgetpass.c, toke.c, toke.l, utimes.c,
7805         visudo.c, zero_bytes.c:
7806         Use: #include <config.h> Not: #include "config.h" That way we get
7807         the correct config.h when build dir != src dir
7808         [97e5670a442b]
7809
7810         * Makefile.in:
7811         Back out part of rev 1.263; fix -I order
7812         [197ea01cad5d]
7813
7814         * toke.c, toke.l:
7815         More robust parsing if #include; could be much better still.
7816         [31bc3cd8f045]
7817
7818         * sudo_edit.c, visudo.c:
7819         Make arg splitting in visudo and sudoedit consistent.
7820         [7bc74485f246]
7821
7822         * Makefile.in, alias.c, gram.c, gram.y, parse.h:
7823         Split alias routines out into their own file.
7824         [d90f633cf9ae]
7825
7826         * error.h:
7827         __attribute__ is already defined in compat.h
7828         [676ed3fe9203]
7829
7830         * visudo.c:
7831         quit() should not be __noreturn__ as it is non-void on some
7832         platforms.
7833         [e528c2b6ba10]
7834
7835         * auth/fwtk.c, auth/rfc1938.c, auth/securid.c, auth/securid5.c:
7836         Add local error/warning functions like err/warn but that call an
7837         additional cleanup routine in the error case. This means we no
7838         longer need to compile a special version of alloc.o for visudo.
7839         [e78e8aae882e]
7840
7841         * parse.h:
7842         Clarify comments about the data structures
7843         [ae894e266701]
7844
7845 2004-11-18  Todd C. Miller  <Todd.Miller@courtesan.com>
7846
7847         * visudo.c:
7848         Add support for VISUAL and EDITOR containing command line args. If
7849         env_editor is not set any args in VISUAL and EDITOR are ignored.
7850         Arguments are also now supported in def_editor.
7851         [ff7303b8e298]
7852
7853 2004-11-17  Todd C. Miller  <Todd.Miller@courtesan.com>
7854
7855         * parse.h:
7856         alias_matches() is no more
7857         [b59825e28084]
7858
7859         * CHANGES, TODO:
7860         sync
7861         [2b8f5f63c1de]
7862
7863         * Makefile.in:
7864         When regenerating the parser, don't replace gram.h unless it has
7865         changed.
7866         [819949668018]
7867
7868         * Makefile.in:
7869         remove Makefile.binary for distclean
7870         [351eec8d00b2]
7871
7872         * env.c:
7873         Preserve KRB5CCNAME in zero_env() and add a paranoia check to make
7874         sure we can't overflow new_env.
7875         [3284d17b9c6d]
7876
7877         * sudo_edit.c:
7878         paranoia when stripping trailing slashes from tempdir.
7879         [012f1aa2b81f]
7880
7881         * sudo.c:
7882         Set user_ngroups to 0 if getgroups() returns an error.
7883         [c46d43e9449a]
7884
7885 2004-11-16  Todd C. Miller  <Todd.Miller@courtesan.com>
7886
7887         * config.h.in, configure, configure.in, sudo.c:
7888         Add configure check for getgroups()
7889         [5d8a214e2cef]
7890
7891         * ldap.c:
7892         Use supplementary group vector in struct sudo_user.
7893         [3d0c463c034d]
7894
7895         * match.c:
7896         Only do string comparisons on the group members if there is no
7897         supplemental group list.
7898         [be1c8362f7ef]
7899
7900         * CHANGES, TODO:
7901         sync
7902         [db188bc5b975]
7903
7904         * sudo_edit.c:
7905         On Digital UNIX _PATH_VAR_TMP doesn't end with a trailing slash so
7906         chop off any trailing slashes we see and add an explicit one.
7907         [e1b477dafee1]
7908
7909         * match.c:
7910         remove bogus XXX comment
7911         [8aecb8a28d40]
7912
7913         * match.c:
7914         Get rid of alias_matches and correctly fall through to the non-alias
7915         cases when there is no alias with the specified name.
7916         [2cd555246f09]
7917
7918         * getspwuid.c:
7919         Cache non-existent passwd/group entries too.
7920         [8de9a467d271]
7921
7922         * gram.c:
7923         regen
7924         [9ece18c58f36]
7925
7926         * getspwuid.c:
7927         fix typo
7928         [9a7ae371eac1]
7929
7930         * check.c, getspwuid.c, glob.c, ldap.c, logging.c, match.c,
7931         mon_systrace.h, sudo.c, sudo.h, testsudoers.c, visudo.c:
7932         Implement group caching and use the passwd and group caches
7933         throughout.
7934         [f1d8c5015169]
7935
7936 2004-11-15  Todd C. Miller  <Todd.Miller@courtesan.com>
7937
7938         * match.c:
7939         Properly negate the return value of alias_matches() when
7940         appropriate.
7941         [ce59c4ce77ad]
7942
7943         * match.c:
7944         Make hostname_matches() return TRUE for a match, else FALSE like the
7945         caller expects.
7946         [1dc03902d3a2]
7947
7948         * Makefile.in:
7949         Add missing dependencies on gram.h
7950         [4f94bbb1d50c]
7951
7952         * match.c:
7953         Use runas_matches in alias_matches() now that we have it.
7954         [284d22e91178]
7955
7956         * parse.c, parse.h:
7957         Expand aliases in "sudo -l" mode
7958         [f67a38b79c44]
7959
7960         * gram.y, match.c:
7961         Use ALIAS for the member type when storing an alias instead of
7962         HOSTALIAS/RUNASALIAS/CMNDALIAS/USERALIAS since match.c relies on the
7963         more generic type. Expand runas_matches instead of calling
7964         user_matches() inside of it since user_matches() looks up
7965         USERALIASes, not RUNASALIASes.
7966         [52004d75232b]
7967
7968         * CHANGES, getspwuid.c:
7969         Paranoia; zero out pw_passwd before freeing passwd entry.
7970         [bd1b22638f00]
7971
7972         * LICENSE, Makefile.in, alloc.c, check.c, config.h.in, configure,
7973         configure.in, defaults.c, emul/err.h, env.c, err.c, error.c,
7974         error.h, find_path.c, interfaces.c, logging.c, mon_systrace.c,
7975         sudo.c, sudo.h, sudo_edit.c, testsudoers.c, visudo.c:
7976         Add local error/warning functions like err/warn but that call an
7977         additional cleanup routine in the error case. This means we no
7978         longer need to compile a special version of alloc.o for visudo.
7979         [25000b676cfe]
7980
7981         * match.c:
7982         Use userpw_matches() to compare usernames, not strcmp(), since the
7983         latter checks for "#uid".
7984         [fcbe4b859f66]
7985
7986         * getspwuid.c, mon_systrace.c, mon_systrace.h, sudo.c:
7987         Cache passwd db entries in 2 reb-black trees; one indexed by uid,
7988         the other by user name. The data returned from the cache should be
7989         considered read-only and is destroyed by sudo_endpwent().
7990         [ee2418ff3f86]
7991
7992         * match.c:
7993         add cast to uid_t
7994         [eb6415302d84]
7995
7996         * gram.y:
7997         missing free in alias_destroy
7998         [572ecb680ad8]
7999
8000         * redblack.c:
8001         Can't use rbapply() for rbdestroy since the destructor is passed a
8002         data pointer, not a node pointer.
8003         [11ce713830c0]
8004
8005         * getspwuid.c, logging.c, sudo.c, sudo.h:
8006         Create and use private versions of setpwent() and endpwent() that
8007         set/end the shadow password file too.
8008         [616bc76d23bf]
8009
8010         * gram.c, gram.h, gram.y, match.c, parse.h, testsudoers.c, visudo.c:
8011         Store aliases in a red-black tree.
8012         [ce017d540416]
8013
8014         * Makefile.in, redblack.c, redblack.h:
8015         red-black tree implementation
8016         [cd5586e8f48b]
8017
8018         * visudo.c:
8019         Edit all sudoers file if there were unused or undefined aliases and
8020         we are in strict mode.
8021         [b6d5f5bb7262]
8022
8023 2004-11-12  Todd C. Miller  <Todd.Miller@courtesan.com>
8024
8025         * CHANGES, def_data.c, def_data.h, def_data.in, defaults.c, env.c,
8026         find_path.c, sudoers.cat, sudoers.man.in, sudoers.pod, visudo.c:
8027         Bring back the "secure_path" Defaults option now that Defaults take
8028         effect before the path is searched.
8029         [2e52c0e27606]
8030
8031 2004-11-11  Todd C. Miller  <Todd.Miller@courtesan.com>
8032
8033         * logging.c, parse.c:
8034         A user can always list their own entries, even with -u. Better error
8035         message when failing to list another user's entries.
8036         [e2e24deb0071]
8037
8038         * parse.c, sudo.c, sudo.h:
8039         The syntax to list another user's entries is now "-u otheruser -l".
8040         Only root or users with sudo "ALL" may list other user's entries.
8041         [3c0657e8f5fe]
8042
8043         * sudo.cat, sudo.man.in, sudo.pod:
8044         Update env variable info in SECURITY NOTES
8045         [299716071024]
8046
8047         * env.c:
8048         strip CDPATH too
8049         [9b97643b26f9]
8050
8051         * env.c:
8052         strip exported bash functions from the environment.
8053         [9e5090c8284f]
8054
8055 2004-10-27  Todd C. Miller  <Todd.Miller@courtesan.com>
8056
8057         * sudo.c:
8058         Only reset sudo_user.pw based on SUDO_USER environment variables for
8059         real commands and sudoedit. This avoids a confusing message when a
8060         user tries "sudo -l" or "sudo -v" and is denied.
8061         [3ea6d0053274]
8062
8063         * gram.c, gram.y, parse.h:
8064         Extend LIST_APPEND to deal with appending lists too
8065         [d963e42f622f]
8066
8067 2004-10-26  Todd C. Miller  <Todd.Miller@courtesan.com>
8068
8069         * logging.c:
8070         Convert some bitwise AND to ISSET
8071         [130dc40d268e]
8072
8073         * lex.yy.c, toke.c:
8074         toke.c replaces lex.yy.c
8075         [048858df79e7]
8076
8077         * CHANGES, TODO:
8078         sync
8079         [d19e7abf251c]
8080
8081         * BUGS:
8082         new parser fixes most of the outstanding bugs
8083         [0891f66e3758]
8084
8085         * configure:
8086         regen
8087         [1a3358cc7283]
8088
8089         * visudo.c:
8090         Rework for the new parser. Now checks for unused aliases in sudoers.
8091         [ad462ede3094]
8092
8093         * testsudoers.c:
8094         Rewrite for the new parser. Now supports a -d flag (dump) and adds
8095         a -h flag (host). It now defaults to the local hostname unless
8096         otherwise specified.
8097         [1b69685cc601]
8098
8099         * sudo.h:
8100         Add new prototypes. Remove NOMATCH/UNSPEC (now in parse.h)
8101         [2e4fb3abfef0]
8102
8103         * sudo.c:
8104         Update for new parse. We now call find_path() *after* we have
8105         updated the global defaults based on sudoers. Also adds support for
8106         listing other user's privs if you are root.
8107         [cf3db9fc3024]
8108
8109         * mon_systrace.c:
8110         Working LDAP support; also remove a now-unneeded rewind().
8111         [649ecf1baf6b]
8112
8113         * logging.c, logging.h:
8114         Add NO_STDERR flag.
8115         [6cb935af94e0]
8116
8117         * ldap.c:
8118         Split sudo_ldap_check() into three pieces: sudo_ldap_open(),
8119         udo_ldap_update_defaults() and sudo_ldap_check(). This allows us to
8120         connecto to LDAP, apply the default options, find the command in the
8121         user's path, and then check whether the user is allowed to run it.
8122         The important thing here is that the default runas user may be
8123         specified as a default option and that needs to be set before we
8124         search for the command.
8125         [fc0426abc6f1]
8126
8127         * ldap.c:
8128         Add casts to unsigned char for isspace() to quiet a gcc warning.
8129         [e5358e3df439]
8130
8131         * defaults.h:
8132         Add prototype for update_defaults()
8133         [564dac3db74e]
8134
8135         * defaults.c:
8136         Don't warn about line numbers now that we operate on a set of data
8137         structures (or LDAP) and not a file.
8138         [bcd9ffb9b67c]
8139
8140         * config.h.in:
8141         No long use lsearch()
8142         [9d048c587319]
8143
8144         * Makefile.in:
8145         Update for new and changed file names.
8146         [6f424a7c4515]
8147
8148         * LICENSE:
8149         no more BSD lsearch.c
8150         [463a96d89026]
8151
8152         * match.c:
8153         foo_matches() routines now live in match.c Added user_matches(),
8154         runas_matches(), host_matches(), cmnd_matches() and alias_matches()
8155         that operate on the parsed sudoers file.
8156         [b14da8a0567e]
8157
8158         * parse.lex, toke.l:
8159         Move parse.lex -> toke.l Rename buffer_frob() -> switch_buffer()
8160         WORD no longer needs to exclude '@' kill yywrap()
8161         [a922294eb7b7]
8162
8163         * gram.c, gram.h, gram.y, parse.c, parse.h, parse.yacc, sudo.tab.c,
8164         sudo.tab.h:
8165         Rewritten parser that converts sudoers into a set of data
8166         structures. This eliminates ordering issues and makes it possible to
8167         apply sudoers Defaults entries before searching for the command.
8168         [30d2ec4d203c]
8169
8170         * configure.in, emul/search.h, lsearch.c:
8171         We won't be using lsearch() any longer.
8172         [29c4d54bfac0]
8173
8174         * ldap.c:
8175         sudo should not send mail if someone who runs 'sudo -l' has no
8176         entry.
8177         [6fc27a69fd9c]
8178
8179         * sudo.cat, sudo.man.in, sudoers.cat, sudoers.man.in, visudo.cat,
8180         visudo.man.in:
8181         regen
8182         [8166347917f3]
8183
8184         * visudo.pod:
8185         Update warnings to match new visudo
8186         [004c0766798f]
8187
8188         * sudoers.pod:
8189         The new parser doesn't have the old ordering constraints.
8190         [ffd43bd08661]
8191
8192         * sudo.pod:
8193         Document that -l now takes an optional username argument
8194         [278f9557de8b]
8195
8196 2004-10-25  Todd C. Miller  <Todd.Miller@courtesan.com>
8197
8198         * RUNSON:
8199         AIX 5.2.0.0 works
8200         [523acd29d858]
8201
8202         * ldap.c:
8203         If LDAP_OPT_SUCCESS is not defined, use LDAP_SUCCESS instead. Fixes
8204         a compilation problem with Solaris 9's native LDAP.
8205
8206         Set FLAG_MONITOR when needed.
8207         [35824ade672d]
8208
8209 2004-10-23  Todd C. Miller  <Todd.Miller@courtesan.com>
8210
8211         * mon_systrace.c:
8212         Call sudo_goodpath() *after* changing the cwd to match the traced
8213         process. Fixes relative paths.
8214         [12ee111d0ad7]
8215
8216 2004-10-21  Todd C. Miller  <Todd.Miller@courtesan.com>
8217
8218         * testsudoers.c:
8219         Kill set_perms() stub--it is no longer needed.
8220         [116ed702935d]
8221
8222 2004-10-13  Todd C. Miller  <Todd.Miller@courtesan.com>
8223
8224         * sudoers.cat, sudoers.man.in, sudoers.pod:
8225         stay_setuid now requires set_reuid() or setresuid()
8226         [8511f67e25d5]
8227
8228         * INSTALL, PORTING, TROUBLESHOOTING, config.h.in, configure,
8229         configure.in, set_perms.c, sudo.c, sudo.h:
8230         Kill use of POSIX saved uids; they aren't worth bothering with.
8231         [b3b1f19f18c1]
8232
8233 2004-10-07  Todd C. Miller  <Todd.Miller@courtesan.com>
8234
8235         * glob.c:
8236         remove call to issetugid()
8237         [63f2e492c08f]
8238
8239         * sudoers.cat, sudoers.man.in, sudoers.pod:
8240         Remove warning about wildcards. Now that we use glob() the bug is
8241         fixed.
8242         [b15729d32266]
8243
8244         * parse.c:
8245         Use glob(3) instead of fnmatch(3) for matching pathnames and stat
8246         each result that matches the basename of the user's command. This
8247         makes "cd /usr/bin ; sudo ./blah" work when sudoers allows
8248         /usr/bin/blah. Fixes bug #143.
8249         [e31eb6310340]
8250
8251         * config.h.in, configure, configure.in:
8252         Define HAVE_EXTENDED_GLOB for extended glob (GLOB_TILDE and
8253         GLOB_BRACE)
8254         [677ed6661e17]
8255
8256         * config.h.in, configure, configure.in:
8257         Check for a glob() that supports GLOB_BRACE and GLOB_TILDE
8258         [aaa2329dd266]
8259
8260         * LICENSE:
8261         reference glob
8262         [bedc9a923423]
8263
8264         * glob.c:
8265         4.4BSD glob(3) with fixes from OpenBSD and some unneeded extensions
8266         removed.
8267         [81799451473c]
8268
8269         * emul/glob.h:
8270         4.4BSD glob(3) with fixes from OpenBSD and some unneeded extensions
8271         removed.
8272         [0335cf31fb1e]
8273
8274 2004-10-05  Todd C. Miller  <Todd.Miller@courtesan.com>
8275
8276         * mon_systrace.c:
8277         Just return if STRIOCINJECT or STRIOCREPLACE fail. It probably
8278         means we are out of space in the stack gap...
8279         [5b02b702021e]
8280
8281         * CHANGES:
8282         sync
8283         [be3826273e56]
8284
8285         * mon_systrace.c:
8286         Take a stab at ldap sudoers support here.
8287         [9d023695b0de]
8288
8289         * mon_systrace.c, mon_systrace.h:
8290         Detach from tracee on SIGHUP, SIGINT and SIGTERM. Now "sudo reboot"
8291         doesn't cause reboot to inadvertanly kill itself.
8292         [d4aab2365610]
8293
8294         * mon_systrace.c:
8295         put "monitor" in the proctitle, not "systrace"
8296         [9a9025767d86]
8297
8298         * mon_systrace.c:
8299         When modifying the environment, don't replace envp when we can get
8300         away with just rewriting pointers in the traced process.
8301         [c03622f7a2e2]
8302
8303         * mon_systrace.c, mon_systrace.h:
8304         Add environment updating via STRIOCINJECT (if available).
8305         [037291016870]
8306
8307         * sudoers.cat, sudoers.man.in:
8308         regen
8309         [869acc511046]
8310
8311 2004-10-04  Todd C. Miller  <Todd.Miller@courtesan.com>
8312
8313         * lex.yy.c:
8314         regen
8315         [4e61a9bd3c97]
8316
8317         * parse.lex:
8318         Fix bug introduced in unput() removal; want yyless(0) not yyless(1)
8319         [b70d7bd6e147]
8320
8321         * mon_systrace.c:
8322         Include file is now mon_systrace.h
8323         [ead4e36d92ae]
8324
8325         * Makefile.in, configure, configure.in, def_data.c, def_data.h,
8326         def_data.in, lex.yy.c, parse.c, parse.h, parse.lex, parse.yacc,
8327         sudo.c, sudo.h, sudo.tab.c, sudo.tab.h, sudoers.pod:
8328         No longer call it tracing, it is now "monitoring" which should be
8329         more a obvious name to non-hackers.
8330         [aa811ded0789]
8331
8332 2004-10-01  Todd C. Miller  <Todd.Miller@courtesan.com>
8333
8334         * mon_systrace.c, mon_systrace.h:
8335         Fix some XXX
8336         [a271072dacc6]
8337
8338         * mon_systrace.c, mon_systrace.h:
8339         No need to include syscall.h, use 1024 as the max # of entries (the
8340         max that systrace(4) allows).
8341
8342         Only need to use SYSTR_POLICY_ASSIGN once
8343
8344         Change check_syscall() -> find_handler() and have it return the
8345         handler instead of just running it. We need this since handler now
8346         have two parts: one part that generates and answer and another that
8347         gets called after the answer is accepted (to do logging).
8348
8349         Add some missing check_exec for emul execv
8350         [a89d243f0525]
8351
8352         * sample.pam, sample.sudoers, sample.syslog.conf, sudoers:
8353         Add $Sudo$ tags.
8354         [6f3fedb0daba]
8355
8356         * config.h.in:
8357         Add missing HAVE_LINUX_SYSTRACE_H
8358         [ff75ab7bfc53]
8359
8360         * Makefile.in:
8361         add trace_systrace.o dependency
8362         [88a408668ab2]
8363
8364 2004-09-30  Todd C. Miller  <Todd.Miller@courtesan.com>
8365
8366         * configure, configure.in:
8367         Also look for systrace.h in /usr/include/linux
8368         [98b98b436cf3]
8369
8370         * mon_systrace.c, mon_systrace.h:
8371         Move all struct defs and prototypes into trace_systrace.h and mark
8372         all but systace_attach() static.
8373         [85511253b570]
8374
8375         * mon_systrace.c, mon_systrace.h:
8376         Add support for tracing emulations. At the moment, all emulations
8377         are compiled in. It might make sense to #ifdef them in the future,
8378         though this impeeds readability.
8379         [87bb50abf277]
8380
8381         * Makefile.in, configure, configure.in:
8382         rename systrace.c -> trace_systrace.c
8383         [31cfa4407d93]
8384
8385         * parse.yacc, sudo.tab.c:
8386         Allow this to build with a K&R compiler again
8387         [32876af5bb98]
8388
8389         * TODO:
8390         sync
8391         [46865bd70f7c]
8392
8393         * compat.h, sudo.c, visudo.c:
8394         Use __attribute__((__noreturn__))
8395         [65bbad71fe89]
8396
8397         * visudo.c:
8398         Exit() takes a negative value to indicate it was not called via
8399         signal.
8400         [b93032ed7b60]
8401
8402         * sudo.cat, sudo.man.in, sudoers.cat, sudoers.man.in, visudo.cat,
8403         visudo.man.in:
8404         regen
8405         [45bcf4661558]
8406
8407         * Makefile.in, visudo.c:
8408         Define Err() and Errx() that are like err() and errx() but call
8409         Exit() instead of exit(). Build private copy of alloc.o for visudo
8410         that calls Err() and Errx().
8411         [c6d02bf42edd]
8412
8413 2004-09-29  Todd C. Miller  <Todd.Miller@courtesan.com>
8414
8415         * lex.yy.c, sudo.tab.c:
8416         regen
8417         [39de7e7c59da]
8418
8419         * CHANGES:
8420         sync
8421         [ba481d9ed1aa]
8422
8423         * visudo.c:
8424         Overhaul visudo for editing multiple files: o visudo has been
8425         broken out into functions (more work needed here) o each file is
8426         now edited before sudoers is re-parsed o if a #include line is
8427         added that file will be edited too
8428
8429         TODO: o cleanup temp files when exiting via err() or errx() o
8430         continue breaking things out into separate functions
8431         [80c35cf534eb]
8432
8433         * parse.lex, sudo.c, sudo.h, testsudoers.c, visudo.c:
8434         Add keepopen arg to open_sudoers that open_sudoers can use to
8435         indicate to the caller that the fd should not be closed when it is
8436         done with it. To be used by visudo to keep locked fds from being
8437         closed prematurely (and thus losing the lock).
8438         [f330fe632470]
8439
8440         * parse.yacc, sudo.c:
8441         Add errorfile global that contains the name of the file that caused
8442         the error.
8443         [98079c7a37ed]
8444
8445         * parse.lex:
8446         return COMMENT to yacc grammar for a #include line
8447         [2024a8de4fa8]
8448
8449         * parse.lex:
8450         Remove us of unput() in favor of yyless() which is cheaper.
8451         [c61291902beb]
8452
8453         * parse.yacc:
8454         Allow an empty sudoers file.
8455         [62fb111db2e7]
8456
8457 2004-09-28  Todd C. Miller  <Todd.Miller@courtesan.com>
8458
8459         * mon_systrace.c:
8460         Rewind sudoers_fp now that sudoers_lookup() doesn't do it for us.
8461         [9e15869ef597]
8462
8463         * lex.yy.c, sudo.tab.c:
8464         regen
8465         [c29bdd43bfad]
8466
8467         * visudo.c:
8468         Do signal setup before calling edit_sudoers(). Don't shadow the
8469         "quiet" global.
8470         [74252efd09ff]
8471
8472         * visudo.c:
8473         If a sudoers file includes other files, edit those too. Does not yes
8474         deal with creating the new includes files itself.
8475         [06af7b9c173f]
8476
8477         * testsudoers.c:
8478         init_parser now takes a path
8479         [b5ee186eb192]
8480
8481         * parse.c, parse.h, parse.lex, parse.yacc:
8482         More scaffolding for dealing with multiple sudoers files: o
8483         init_parser() now takes a path used to populate the sudoers global
8484         o the sudoers global is used to print the correct file in yyerror()
8485         o when switching to a new sudoers file, perserve old file name and
8486         line number
8487         [d9be4970b8bd]
8488
8489         * Makefile.in, pathnames.h.in:
8490         Kill _PATH_SUDOERS_TMP; it is not meaningful now that we can have
8491         multiple sudoers files.
8492         [6ccc4e921c43]
8493
8494         * parse.c, sudo.c:
8495         Rewind sudoers_fp in open_sudoers() instead of sudoers_lookup() so
8496         we start at the right file position when reading include files.
8497         [91fcb961e7a4]
8498
8499         * sudoers.pod:
8500         document #include
8501         [fbb92a25a726]
8502
8503         * lex.yy.c:
8504         regen
8505         [50cd7a4c9dff]
8506
8507         * parse.lex:
8508         Add max depth of 128 for the include stack to avoid loops.
8509
8510         Since yyerror() doesn't stop parsing, pass return values back to
8511         yylex and call yyterminate() on error.
8512         [e79dbffb729d]
8513
8514 2004-09-27  Todd C. Miller  <Todd.Miller@courtesan.com>
8515
8516         * sudoers.pod:
8517         document tracing
8518         [165a467eadd8]
8519
8520         * sudo.pod:
8521         Mention PREVENTING SHELL ESCAPES section of sudoers man page
8522         [3217ccecd834]
8523
8524         * lex.yy.c, sudo.tab.c:
8525         regen
8526         [fbd58d1d3a76]
8527
8528         * parse.lex:
8529         Add support for #include in sudoers (visudo support TBD)
8530         [a78015ca81af]
8531
8532         * parse.yacc:
8533         make yyerror()'s argument const
8534         [7d8e168c019a]
8535
8536         * testsudoers.c, visudo.c:
8537         Add open_sudoers() stubs.
8538         [087466787198]
8539
8540         * sudo.c, sudo.h:
8541         Rename check_sudoers() open_sudoers() and make it return a FILE *
8542         [142fc511fc65]
8543
8544 2004-09-26  Todd C. Miller  <Todd.Miller@courtesan.com>
8545
8546         * BUGS, INSTALL, INSTALL.binary, Makefile.in, README, configure.in,
8547         version.h:
8548         Crank version
8549         [1adc3f839480]
8550
8551         * Makefile.in, sudo.psf:
8552         Better HP-UX depot construction
8553         [2d952b000e63]
8554
8555 2004-09-25  Todd C. Miller  <Todd.Miller@courtesan.com>
8556
8557         * mon_systrace.c:
8558         o Made children global so check_exec() can lookup a child. o
8559         Replaced uid in struct childinfo with struct passwd * (for runas) o
8560         new_child() now takes a parent pid so the runas info can be
8561         inherited o Added find_child() to lookup a child by its pid o
8562         update_child() now fills in a struct passwd o Converted the big
8563         if/else mess in set_policy to a switch o Syscalls that change uid
8564         are now "ask" so we get SYSTR_MSG_UGID events
8565         [29b9ea3f09a3]
8566
8567         * getspwuid.c:
8568         Add flag to sudo_pwdup that indicates whether or not to lookup the
8569         shadow password. Will be used to a struct passwd that has the
8570         shadow password already filled in.
8571         [e19d43dd7238]
8572
8573         * mon_systrace.c:
8574         add missing increment of addr in read_string()
8575         [f9eb0f060cb6]
8576
8577         * mon_systrace.c:
8578         Remove bogus call to update_child() and some cosmetic fixes
8579         [701ab0b97fef]
8580
8581         * mon_systrace.c:
8582         Don't leak /dev/systrace fd to tracee Make initialized global for
8583         simplicity If STRIOCATTACH returns EBUSY we are already being traced
8584         Check for user_args == NULL in setproctitle() call Add missing calls
8585         to STRIOCANSWER
8586         [1956edf9bc3a]
8587
8588         * sudo.c:
8589         g/c sudo_pwdup proto
8590         [b7c4d6249ecb]
8591
8592         * Makefile.in, sudo.psf:
8593         Add target for building a depot file
8594         [357019efd99b]
8595
8596         * mon_systrace.c:
8597         trim includes
8598         [501534428471]
8599
8600 2004-09-24  Todd C. Miller  <Todd.Miller@courtesan.com>
8601
8602         * lex.yy.c, sudo.tab.c, sudo.tab.h:
8603         regen
8604         [52fd250c6986]
8605
8606         * INSTALL:
8607         document --with-systrace
8608         [79623927c94e]
8609
8610         * config.h.in, configure, configure.in:
8611         Add check for setproctitle
8612         [1730cf1c26ed]
8613
8614         * mon_systrace.c:
8615         pass struct str_msg_ask in to syscall checker so it can set the
8616         error code
8617         [1703fd2fdef6]
8618
8619         * mon_systrace.c:
8620         systrace(4) support for sudo. On systems with the systrace(4)
8621         kernel facility (OpenBSD, NetBSD, Linux w/ patches) sudo can
8622         intercept exec calls and check the exec args against the sudoers
8623         file. In other words, sudo can now control subcommands and shell
8624         escapes.
8625         [928c9217c386]
8626
8627         * sudo.c, sudo.h:
8628         Call systrace_attach() if FLAG_TRACE is set.
8629         [014ba9402fa5]
8630
8631         * parse.c, parse.h, parse.lex, parse.yacc, sudo.h:
8632         Add trace Defaults option and TRACE/NOTRACE tags and set FLAG_TRACE
8633         [a99904db5e56]
8634
8635         * parse.c, sudo.c:
8636         Don't close sudoers_fp, keep it open and set close on exec flag
8637         instead.
8638         [43a9fec60bee]
8639
8640         * def_data.c, def_data.h, def_data.in:
8641         Add trace option
8642         [5b643b86730a]
8643
8644         * Makefile.in:
8645         Add systrace
8646         [47a0519c427c]
8647
8648         * INSTALL:
8649         SunOS /bin/sh blows up with configure
8650         [005a23cc5615]
8651
8652         * configure, configure.in:
8653         Include sys/param.h before systrace.h
8654         [9345bc8efecf]
8655
8656         * configure:
8657         regen
8658         [a8f53fcbb254]
8659
8660         * pathnames.h.in:
8661         _PATH_DEV_SYSTRACE
8662         [d2ad1e492a00]
8663
8664         * configure.in:
8665         line up options in --help
8666         [fa51f2821d09]
8667
8668         * config.h.in, configure.in:
8669         Add --with-systrace
8670         [a264d54bc413]
8671
8672 2004-09-23  Todd C. Miller  <Todd.Miller@courtesan.com>
8673
8674         * configure:
8675         regen
8676         [a4dad0bcc523]
8677
8678         * aclocal.m4, configure.in:
8679         make this work with autoconf-2.59
8680         [c4a92b6a684a]
8681
8682 2004-09-16  Todd C. Miller  <Todd.Miller@courtesan.com>
8683
8684         * sudo_edit.c:
8685         Simplify logic around open & stat of files and do sanity on edited
8686         file even if we lack fstat (still racable but worth doing).
8687         [adda65ade70c]
8688
8689 2004-09-15  Todd C. Miller  <Todd.Miller@courtesan.com>
8690
8691         * HISTORY:
8692         Add support url
8693         [bf6590fbde9f]
8694
8695         * Makefile.in:
8696         versino 1.6.8p1
8697         [b84ebfaf1552] [SUDO_1_6_8p1]
8698
8699         * CHANGES:
8700         more changes for 1.6.8p1
8701         [e23a9c0393b6]
8702
8703         * version.h:
8704         1.6.8p1
8705         [872f14504b5f]
8706
8707         * CHANGES, sudo_edit.c:
8708         Add sanity check so we don't try to edit something other than a
8709         regular file.
8710         [350134ec6d4e]
8711
8712 2004-09-15  Aaron Spangler  <aaron777@gmail.com>
8713
8714         * CHANGES:
8715         sync
8716         [3091ca9eae00]
8717
8718         * INSTALL:
8719         document --with-ldap-conf-file
8720         [0e2cd6b896f1]
8721
8722 2004-09-14  Todd C. Miller  <Todd.Miller@courtesan.com>
8723
8724         * CHANGES, ins_csops.h:
8725         political correctness strikes again
8726         [428e8bc77f55]
8727
8728         * RUNSON:
8729         sync
8730         [27f44bd423dc]
8731
8732 2004-09-12  Todd C. Miller  <Todd.Miller@courtesan.com>
8733
8734         * Makefile.binary.in, Makefile.in:
8735         Install sudoedit man link
8736         [19a55234fc1f]
8737
8738         * INSTALL:
8739         Update PAM note and mention where HP-UX users can download gcc
8740         binaries.
8741         [d37cdbbabfd4]
8742
8743         * Makefile.in:
8744         libtool wants to install stuff from .libs so fake one up for binary
8745         installations.
8746         [a681bc6fcfba]
8747
8748         * Makefile.binary.in:
8749         rm -f old sudoedit link instead of using ln -f set LIBTOOL correctly
8750         [3e0c4b3372cc]
8751
8752         * Makefile.in:
8753         Deal with "uname -m" having slashes in it rm -f old sudoedit link
8754         instead of using ln -f
8755         [cff33fb97e5b]
8756
8757         * Makefile.binary, Makefile.binary.in:
8758         Makefile.binary -> Makefile.binary.in for config.status substitution
8759         Add support for installing noexec bits
8760         [37d8bb3483c6]
8761
8762         * Makefile.in:
8763         Copy noexec bits into binary dists too No longer use my old arch
8764         script for making binary dists
8765         [e7058bab9e33]
8766
8767         * Makefile.binary:
8768         Install sudoedit link.
8769         [417d1e101711]
8770
8771 2004-09-11  Todd C. Miller  <Todd.Miller@courtesan.com>
8772
8773         * emul/utime.h:
8774         avoid __P so there is no need for compat.h to be included
8775         [6d8d1f1abf7d]
8776
8777         * utimes.c:
8778         Don't use HAVE_UTIME_H before including config.h.
8779         [013b7bb61181]
8780
8781 2004-09-10  Todd C. Miller  <Todd.Miller@courtesan.com>
8782
8783         * compat.h:
8784         Fix Solatis futimes macro
8785         [d4eda2ca0d29]
8786
8787 2004-09-09  Todd C. Miller  <Todd.Miller@courtesan.com>
8788
8789         * sudo_edit.c:
8790         Rename ots -> omtim for improved readability.
8791         [127ca5bb297c]
8792
8793 2004-09-08  Todd C. Miller  <Todd.Miller@courtesan.com>
8794
8795         * sudo_edit.c:
8796         Redo changes in revision 1.7. Don't really need to keep the temp
8797         file open; re-opening it with the invoking user's euid is
8798         sufficient.
8799         [55a883165a95]
8800
8801         * CHANGES:
8802         sync
8803         [9015b291170d]
8804
8805         * sudo.cat, sudo.man.in:
8806         regen
8807         [c0313f6ed783]
8808
8809         * sudo.pod:
8810         back out revision 1.70; it is no long applicable
8811         [b641d503aff6]
8812
8813         * env.c:
8814         Let the loader initialize nep
8815         [bec192139b02]
8816
8817         * config.h.in, configure, configure.in:
8818         Removed unneed check for fchown Add check for gettimeofday Move
8819         autoheader template stuff into separate AH_TEMPLATE lines
8820         [bfc0edbd43f2]
8821
8822         * check.c, compat.h, fileops.c, sudo.h, sudo_edit.c, visudo.c:
8823         Use timespec throughout.
8824         [1a178a23b69b]
8825
8826         * Makefile.in:
8827         gettime.[co]
8828         [6aeb48a7ab7f]
8829
8830         * gettime.c:
8831         function to return the current time in a struct timespec
8832         [bf8eb12cb63f]
8833
8834         * utimes.c:
8835         Not a darpa-sponsored file.
8836         [121ce5e2036c]
8837
8838 2004-09-07  Todd C. Miller  <Todd.Miller@courtesan.com>
8839
8840         * compat.h, config.h.in, configure, configure.in:
8841         Add a check for struct timespec and provide it for those without.
8842         [42124055030d]
8843
8844         * config.h.in, configure, configure.in, sudo_edit.c:
8845         Add checks for st_mtim and st_mtimespec and add macros for pulling
8846         the mtime sec and nsec out of struct stat. These are used in
8847         sudo_edit() to better tell whether or not the file has changed.
8848         [23debfbb3fab]
8849
8850         * check.c, fileops.c, sudo.h, sudo_edit.c, visudo.c:
8851         Add an extra param to touch() for nsec
8852         [56f7a4ba8ddb]
8853
8854         * sudo_edit.c:
8855         Call mkstemp() as the in invoking user so we don't have to chown the
8856         file later. Only touch() the temp file if we can do it via the file
8857         descriptor. Don't check for modification of the temp file if we lack
8858         fstat(). Catch errors read()ing the temp file.
8859         [665f52c70836]
8860
8861         * fileops.c:
8862         If path is NULL and fd == -1 return -1.
8863         [757a518a824c]
8864
8865         * sudo_edit.c:
8866         closefrom() is overkill, the only extra fds are the ones we opened
8867         so just close those in the child.
8868         [f361c9d2a1f4]
8869
8870         * Makefile.in, aclocal.m4, check.c, compat.h, config.h.in, configure,
8871         configure.in, fileops.c, sudo.h, sudo_edit.c, utime.c, utimes.c,
8872         visudo.c:
8873         Use utimes() and futimes() instead of utime() in touch(), emulating
8874         as needed. Not all systems are able to support setting the times of
8875         an fd so touch() takes both an fd and a file name as arguments.
8876         [3d9276f29717]
8877
8878 2004-09-07  Aaron Spangler  <aaron777@gmail.com>
8879
8880         * env.c:
8881         Rare SEGV
8882         [8995f828782d]
8883
8884 2004-09-06  Todd C. Miller  <Todd.Miller@courtesan.com>
8885
8886         * sudo.cat, sudo.man.in, sudoers.cat, sudoers.man.in, visudo.cat,
8887         visudo.man.in:
8888         regen
8889         [b8e9406711c5]
8890
8891         * sudo.pod, sudoers.pod, visudo.pod:
8892         Add SUPPORT section and re-order some of the sections to match the
8893         order we use in OpenBSD.
8894         [fa37bd917e2c]
8895
8896 2004-09-06  Aaron Spangler  <aaron777@gmail.com>
8897
8898         * env.c:
8899         Openldap ~/.ldaprc fix
8900         [1a37afe6850f]
8901
8902 2004-09-06  Todd C. Miller  <Todd.Miller@courtesan.com>
8903
8904         * sudo.pod:
8905         Talk about how the editor must write its changes to the original
8906         file and not just use rename(2).
8907         [c55ed91c5ee9]
8908
8909         * CHANGES:
8910         sync
8911         [62af26bd37a2]
8912
8913         * sudo_edit.c:
8914         Keep the temp file open instead of re-opening after the editor has
8915         exited.
8916         [de41eeb6dcf2]
8917
8918         * sample.pam:
8919         Update for current redhat/fedora core.
8920         [8cf083077333]
8921
8922 2004-09-03  Aaron Spangler  <aaron777@gmail.com>
8923
8924         * README.LDAP:
8925         tls_ examples
8926         [ba783d88a034]
8927
8928 2004-09-02  Aaron Spangler  <aaron777@gmail.com>
8929
8930         * ldap.c:
8931         config tls_* options
8932         [0b0e0797b3b9]
8933
8934 2004-08-29  Todd C. Miller  <Todd.Miller@courtesan.com>
8935
8936         * configure, configure.in:
8937         No need for -lcrypt when using pam.
8938         [41fff3a53e68]
8939
8940 2004-08-27  Todd C. Miller  <Todd.Miller@courtesan.com>
8941
8942         * configure:
8943         regen
8944         [75820aecce2c]
8945
8946 2004-08-27  Aaron Spangler  <aaron777@gmail.com>
8947
8948         * configure.in, ldap.c, pathnames.h.in:
8949         Allow --with-ldap-conf-file option to override LDAP_CONF
8950         [c9909bc484a5]
8951
8952         * ldap.c:
8953         cleanup debug message
8954         [1f6ca4824d8d]
8955
8956 2004-08-26  Aaron Spangler  <aaron777@gmail.com>
8957
8958         * README.LDAP:
8959         more config info
8960         [f2e7147fd507]
8961
8962 2004-08-24  Todd C. Miller  <Todd.Miller@courtesan.com>
8963
8964         * TODO, find_path.c, goodpath.c, parse.c, sudo.c, sudo.h, visudo.c:
8965         Add cmnd_base to struct sudo_user and set it in init_vars(). Add
8966         cmnd_stat to struct sudo_user and set it in sudo_goodpath(). No
8967         longer use gross statics in command_matches(). Also rename some
8968         variables for improved clarity.
8969         [7169a6c7bea4]
8970
8971 2004-08-21  Todd C. Miller  <Todd.Miller@courtesan.com>
8972
8973         * INSTALL:
8974         document HP's crippled compiler deficiency.
8975         [c405ea5a8d4c]
8976
8977         * INSTALL:
8978         Fix some thinkos in --with-editor and --with-env-editor
8979         descriptions. Noticed by Norihiko Murase.
8980         [dd781de1c985]
8981
8982         * configure, configure.in:
8983         --with-noexec takes an optional PATH argument.
8984         [8f6ab77f22cc]
8985
8986         * INSTALL:
8987         document --with-noexec
8988         [50cb1fc627ce]
8989
8990 2004-08-17  Todd C. Miller  <Todd.Miller@courtesan.com>
8991
8992         * RUNSON, TODO:
8993         sync
8994         [f2503bd13373] [SUDO_1_6_8]
8995
8996         * sudo_edit.c:
8997         Better warning message when sudoedit is unable to write to the
8998         destination file.
8999         [f78c18f2ffa8]
9000
9001         * sudo.cat, sudo.man.in:
9002         regen
9003         [7e2bf63d6d9a]
9004
9005         * sudo.pod:
9006         Don't italicize the string "sudoedit"
9007         [c691643bd269]
9008
9009 2004-08-16  Todd C. Miller  <Todd.Miller@courtesan.com>
9010
9011         * HISTORY:
9012         Mention GratiSoft.
9013         [dc53de581b2d]
9014
9015 2004-08-11  Todd C. Miller  <Todd.Miller@courtesan.com>
9016
9017         * sudo.tab.c:
9018         regen
9019         [8ae0484dfc38]
9020
9021         * parse.yacc:
9022         Reset used_runas to FALSE when re-intializing the parser.
9023         [b7403f353a02]
9024
9025 2004-08-09  Todd C. Miller  <Todd.Miller@courtesan.com>
9026
9027         * config.guess:
9028         Correct OpenBSD mips support
9029         [314fc7afc165]
9030
9031         * config.guess:
9032         Add OpenBSD/mips
9033         [ac87d0a773ef]
9034
9035 2004-08-07  Aaron Spangler  <aaron777@gmail.com>
9036
9037         * README.LDAP:
9038         More behavior notes
9039         [13be1d212b47]
9040
9041         * README.LDAP:
9042         Updates on current behavior
9043         [d498a8866d6f]
9044
9045 2004-08-06  Todd C. Miller  <Todd.Miller@courtesan.com>
9046
9047         * sudoers.pod:
9048         =back does not take an indentlevel (makes no difference to formatted
9049         files).
9050         [9c8523bb382a]
9051
9052         * sudo.pod:
9053         =back does not take an indentlevel (makes no difference to formatted
9054         files).
9055         [e5f479e24fa8]
9056
9057         * CHANGES:
9058         new
9059         [2dbd9aba8b33]
9060
9061         * sudo.c:
9062         Consistency. Use same error for bad -u #uid when targetpw is set as
9063         we do when a bad -u username is specified.
9064         [922961c4a9d6]
9065
9066         * TODO:
9067         Add checksum idea from Steve Mancini
9068         [e6ece1b766ba]
9069
9070         * sudoers.cat, sudoers.man.in:
9071         regen
9072         [370d2317829f]
9073
9074         * sudo.cat, sudo.man.in:
9075         regen
9076         [f93d41fc38b1]
9077
9078         * sudo.pod, sudoers.pod:
9079         Document the restriction on uids specified via -u when targetpw is
9080         set.
9081         [878fedb455db]
9082
9083         * sudo.c:
9084         Error out when targetpw is enabled and sudo is run with -u #uid but
9085         #uid does not exist in the passwd database. We can't do target
9086         authentication when the target is not in passwd!
9087         [27c5888c86eb]
9088
9089         * sudo.cat, sudo.man.in, sudoers.cat, sudoers.man.in:
9090         regen
9091         [ceb65711050c]
9092
9093         * TODO:
9094         Some more todo for the next release.
9095         [7b7417be7601]
9096
9097         * INSTALL:
9098         Make it clear that PAM should be used for DCE support when possible.
9099         [7502029fd385]
9100
9101         * sudoers.pod:
9102         o Document problems with wildcards and relative paths. o Make the
9103         order requirements more prominent. o Change a "set" to "reset" for
9104         clarity.
9105         [bacdd181b33f]
9106
9107 2004-08-05  Todd C. Miller  <Todd.Miller@courtesan.com>
9108
9109         * sudo.pod:
9110         Mention --with-secure-path, not SECURE_PATH.
9111         [41283ddde5e1]
9112
9113 2004-08-03  Aaron Spangler  <aaron777@gmail.com>
9114
9115         * ldap.c:
9116         reflect changes to parse.c
9117         [8880fe9b724d]
9118
9119 2004-08-02  Todd C. Miller  <Todd.Miller@courtesan.com>
9120
9121         * sudo.tab.c:
9122         regen
9123         [a57658ca9177]
9124
9125         * parse.c, parse.h, testsudoers.c, visudo.c:
9126         Don't pass user_cmnd and user_args to command_matches(), just use
9127         the globals there. Since we keep state with statics anyway it is
9128         misleading to pretend that passing in different cmnd and cmnd_args
9129         will work.
9130         [0a2544991fd6]
9131
9132         * parse.yacc:
9133         Don't pass user_cmnd and user_args to command_matches(), just use
9134         the globals there. Since we keep state with statics anyway it is
9135         misleading to pretend that passing in different cmnd and cmnd_args
9136         will work.
9137         [a4910bf6032b]
9138
9139         * parse.c:
9140         Fix a bug introduced in rev. 1.149. When checking for pseudo-
9141         commands check for a '/' anywhere in cmnd, not just the first
9142         character.
9143         [ce98142f03ca]
9144
9145 2004-07-31  Aaron Spangler  <aaron777@gmail.com>
9146
9147         * sudo.man.in, sudo.pod:
9148         Clarification thanks to Olivier Blin <oblin@mandrakesoft.com>
9149         [a91800e094b1]
9150
9151         * sudoers.man.in, sudoers.pod:
9152         Add ignore_local_sudoers
9153         [741ddcbf7083]
9154
9155         * README.LDAP:
9156         Sun One schema definition by Andreas.Bussjaeger@t-systems.com and
9157         janth@moldung.no
9158         [742c02e07cd9]
9159
9160 2004-07-29  Todd C. Miller  <Todd.Miller@courtesan.com>
9161
9162         * CHANGES:
9163         typo
9164         [e7cdefbd7a9a]
9165
9166 2004-07-23  Todd C. Miller  <Todd.Miller@courtesan.com>
9167
9168         * CHANGES:
9169         sync
9170         [734dafc4a85e]
9171
9172         * parse.c:
9173         Parse sudoers file as PERM_RUNAS not PERM_ROOT and remove a useless
9174         PERM_SUDOERS. Restore to PERM_ROOT upon exit of the parse.
9175         [151b7f593568]
9176
9177 2004-07-08  Todd C. Miller  <Todd.Miller@courtesan.com>
9178
9179         * CHANGES:
9180         PAM change
9181         [d8fb6d6a22d0]
9182
9183 2004-07-08  Aaron Spangler  <aaron777@gmail.com>
9184
9185         * ldap.c:
9186         Better debugging of ALL command
9187         [9db3e84029dc]
9188
9189 2004-07-08  Todd C. Miller  <Todd.Miller@courtesan.com>
9190
9191         * parse.c:
9192         When matching for "sudoedit" in sudoers check both the command the
9193         user typed *and* the command that is listed in the sudoers entry.
9194         [f36ca1f94095]
9195
9196 2004-07-04  Aaron Spangler  <aaron777@gmail.com>
9197
9198         * ldap.c:
9199         Added !command feature
9200         [ed539574611b]
9201
9202 2004-06-28  Todd C. Miller  <Todd.Miller@courtesan.com>
9203
9204         * auth/pam.c:
9205         Use pam_acct_mgmt() to check for disabled accounts; Brian Farrell
9206         [2be8e0e8813a]
9207
9208 2004-06-11  Todd C. Miller  <Todd.Miller@courtesan.com>
9209
9210         * LICENSE:
9211         License is ISC-style, not BSD-style
9212         [ac0589e1dd5d]
9213
9214         * CHANGES:
9215         sync
9216         [16058a30f404]
9217
9218 2004-06-10  Todd C. Miller  <Todd.Miller@courtesan.com>
9219
9220         * sudo.cat, sudo.man.in:
9221         regen
9222         [8820eb9c809b]
9223
9224         * sudo.pod:
9225         o Update some out of date bits to reality o Change the shell promt
9226         in examples to bourne-shell style o Clarify some details o Add a
9227         CAVEAT about "sudo cd /foo"
9228         [b0af373214b6]
9229
9230         * check.c:
9231         Don't ask for a password if invoking user == target user.
9232         [dd5c96141132]
9233
9234         * sudo.c:
9235         typo in comment
9236         [278d20f9b249]
9237
9238 2004-06-08  Todd C. Miller  <Todd.Miller@courtesan.com>
9239
9240         * sudoers.cat, sudoers.man.in:
9241         regen
9242         [9036c6f39eff]
9243
9244         * sudoers.pod:
9245         Expand on NOEXEC a little.
9246         [9a13756aebe4]
9247
9248         * TODO:
9249         sync
9250         [8d2c1af48de8]
9251
9252         * visudo.cat, visudo.man.in:
9253         regen
9254         [3921f01607c8]
9255
9256         * sudo.tab.c:
9257         regen
9258         [9338c3d68250]
9259
9260         * visudo.pod:
9261         Add a check in visudo for runas_default being set after it has
9262         already been used.
9263         [6700358d7ad8]
9264
9265         * CHANGES, parse.yacc, visudo.c:
9266         Add a check in visudo for runas_default being set after it has
9267         already been used.
9268         [803560986a8a]
9269
9270         * sudo.tab.c:
9271         regen
9272         [b60636e2cf63]
9273
9274         * parse.yacc:
9275         Add a MATCHED macro for testing whether foo_matches has been set to
9276         TRUE or FALSE. This is more readable than checking for >=0 or < 0.
9277         Doesn't change the actual code generated.
9278         [f376da8ccdc8]
9279
9280 2004-06-07  Todd C. Miller  <Todd.Miller@courtesan.com>
9281
9282         * sudoers.cat:
9283         regen
9284         [6cceb6d6c9bd]
9285
9286         * sudoers.man.in:
9287         regen
9288         [5acd12b730b3]
9289
9290         * sudoers.pod:
9291         Correct description of where Defaults specs should go.
9292         [6b11ff53d7ad]
9293
9294         * sudoers:
9295         Correct description of where Defaults specs should go.
9296         [868db857630d]
9297
9298         * testsudoers.c, visudo.c:
9299         update (c) year
9300         [272c8a53604c]
9301
9302         * logging.h:
9303         update (c) year
9304         [3cec76d400ce]
9305
9306         * ldap.c:
9307         update (c) year
9308         [f264632488a0]
9309
9310         * find_path.c:
9311         update (c) year
9312         [40c227af9227]
9313
9314         * auth/pam.c:
9315         update (c) year
9316         [87149e0eed50]
9317
9318         * auth/bsdauth.c, auth/kerb5.c:
9319         update (c) year
9320         [d72eb434c068]
9321
9322 2004-06-06  Todd C. Miller  <Todd.Miller@courtesan.com>
9323
9324         * sudo.tab.c:
9325         regen
9326         [83408d9e9d2e]
9327
9328         * auth/bsdauth.c, auth/kerb5.c, auth/pam.c, visudo.c:
9329         Remove trailing spaces, no actual code changes.
9330         [4c3bf2819293]
9331
9332         * tgetpass.c:
9333         Remove trailing spaces, no actual code changes.
9334         [96f6e0a24c26]
9335
9336         * ldap.c, logging.h, parse.c, parse.yacc, sudo.c, testsudoers.c:
9337         Remove trailing spaces, no actual code changes.
9338         [c7075d1cbed5]
9339
9340         * getcwd.c:
9341         Remove trailing spaces, no actual code changes.
9342         [776cc0374547]
9343
9344         * find_path.c:
9345         Remove trailing spaces, no actual code changes.
9346         [7ed7099f3c71]
9347
9348         * compat.h, defaults.c, env.c:
9349         Remove trailing spaces, no actual code changes.
9350         [893e83c33795]
9351
9352         * check.c:
9353         Remove trailing spaces, no actual code changes.
9354         [f77750f8803b]
9355
9356         * sudo.tab.c:
9357         regen
9358         [62e0ed883b31]
9359
9360         * parse.yacc:
9361         Fix a >=0 that should be <0 that was improperly converted when
9362         UNSPEC was added.
9363         [ad1531a55a49]
9364
9365         * parse.yacc:
9366         Add do {} while(0) around pop macro Set cmnd_matches to UNSPEC, not
9367         NOMATCH when resetting it.
9368         [ae017a12870a]
9369
9370         * parse.yacc:
9371         Fix pastos introduced in SETNMATCH addition.
9372         [6ea1c9d80681]
9373
9374 2004-06-05  Todd C. Miller  <Todd.Miller@courtesan.com>
9375
9376         * README.LDAP:
9377         Update for configure changes
9378         [637a635da287]
9379
9380         * sudo.tab.c:
9381         regen
9382         [4753c2788713]
9383
9384         * sudo.h:
9385         Add NOMATCH and UNSPEC defines (-1 and -2 respectively) and use
9386         these in parse.yacc. Also in parse.yacc initialize the *_matches
9387         vars to UNSPEC and add two macros, SETMATCH and SETNMATCH for use
9388         when setting *_matches to a value that may be
9389         NOMATCH/UNSPEC/TRUE/FALSE.
9390         [2ba622e15a4d]
9391
9392         * parse.yacc:
9393         Add NOMATCH and UNSPEC defines (-1 and -2 respectively) and use
9394         these in parse.yacc. Also in parse.yacc initialize the *_matches
9395         vars to UNSPEC and add two macros, SETMATCH and SETNMATCH for use
9396         when setting *_matches to a value that may be
9397         NOMATCH/UNSPEC/TRUE/FALSE.
9398         [746b519e41a6]
9399
9400         * parse.yacc:
9401         Initialize runas to -2, not -1 since we need to be able to
9402         distinguish between the initialized value and the value of a non-
9403         match when passing along the runas value to multiple commands.
9404
9405         The result of this is that an unmatched runas is now set to -1, not
9406         0. This is required now that parse.c treats a FALSE value for runas
9407         as being explicitly denied.
9408         [7791ed3621f6]
9409
9410 2004-06-03  Todd C. Miller  <Todd.Miller@courtesan.com>
9411
9412         * sudo.c, visudo.c:
9413         Error out if argc < 1.
9414         [ce6b2a9eda3c]
9415
9416         * getprogname.c:
9417         Error out if argc < 1.
9418         [c566cce8dc78]
9419
9420         * configure, configure.in:
9421         Add tests for what libs we need to link with for ldap and for
9422         whether or not lber.h needs to be explicitly included.
9423         [b2e9729cc4e7]
9424
9425 2004-06-03  Aaron Spangler  <aaron777@gmail.com>
9426
9427         * ldap.c:
9428         Solaris native LDAP build fix
9429         [39929e40eb11]
9430
9431 2004-06-01  Todd C. Miller  <Todd.Miller@courtesan.com>
9432
9433         * ldap.c:
9434         Set edn to NULL is ldap_get_dn() fails to avoid potential use of an
9435         unset variable.
9436         [6a4c20a66f98]
9437
9438         * sudo.h:
9439         Add prototype for sudo_ldap_list_matches
9440         [443b007a8dab]
9441
9442         * configure, configure.in:
9443         Better check for dirfd macro--we now set HAVE_DIRFD for the macro
9444         version too. Added check for dd_fd in `DIR' if no dirfd is found;
9445         this is now used to confitionally define the dirfd macro in
9446         compat.h.
9447         [567656978f7e]
9448
9449         * config.h.in:
9450         Better check for dirfd macro--we now set HAVE_DIRFD for the macro
9451         version too. Added check for dd_fd in `DIR' if no dirfd is found;
9452         this is now used to confitionally define the dirfd macro in
9453         compat.h.
9454         [34eace4faec8]
9455
9456         * compat.h:
9457         Better check for dirfd macro--we now set HAVE_DIRFD for the macro
9458         version too. Added check for dd_fd in `DIR' if no dirfd is found;
9459         this is now used to confitionally define the dirfd macro in
9460         compat.h.
9461         [8d50ff1bbf2a]
9462
9463         * closefrom.c:
9464         Only check /proc/$$/fd if we have the dirfd function/macro.
9465         [15e3ccce7553]
9466
9467         * compat.h, config.h.in, configure, configure.in:
9468         Add a check for a dirfd() function (like Linux) and add a dirfd
9469         macro in compat.h if there is no dirfd() function or macro.
9470         [1e95756edb50]
9471
9472         * closefrom.c, getcwd.c:
9473         dirfd() is now defined in compat.h as needed.
9474         [bb1d79271188]
9475
9476         * CHANGES:
9477         Clarify closefrom() note.
9478         [f4e4a5508dda]
9479
9480         * parse.c:
9481         When checking for a command in the directory, only copy the base dir
9482         once.
9483         [7a3276808b87]
9484
9485         * closefrom.c:
9486         If there is a /proc/$$/fd directory, behave like the Solaris
9487         closefrom() and only close the descriptors listed therein.
9488         [19de23779e84]
9489
9490         * alloc.c:
9491         compat.h guarantees INT_MAX is defined.
9492         [1bf0c79d4606]
9493
9494         * compat.h:
9495         Add definitions of OPEN_MAX and INT_MAX for those without it and
9496         remove definition of RLIM_INFINITY (now unused).
9497         [f827d1ebf96e]
9498
9499         * CHANGES, alloc.c, check.c, compat.h, find_path.c, getcwd.c, parse.c,
9500         sudo.c, sudo.h, visudo.c:
9501         Use PATH_MAX, not MAXPATHLEN since the former is standardized.
9502         [59788f211c24]
9503
9504 2004-05-31  Todd C. Miller  <Todd.Miller@courtesan.com>
9505
9506         * CHANGES:
9507         sync
9508         [d32fa124f1ad]
9509
9510         * RUNSON:
9511         Add some entries that were mailed in a while ago
9512         [ff8d5bfec54e]
9513
9514         * closefrom.c:
9515         o sysconf returns a long, not an int. o check for negative return
9516         value from sysconf/getdtablesize and use OPEN_MAX in this case. o
9517         define OPEN_MAX to 256 for those without it (a fair guess...)
9518         [ccf81ae6deb2]
9519
9520 2004-05-30  Todd C. Miller  <Todd.Miller@courtesan.com>
9521
9522         * UPGRADE:
9523         Mention change in parse order for RunAs entries.
9524         [dc73b0bca617]
9525
9526         * configure:
9527         regen
9528         [07cce8e0534e]
9529
9530 2004-05-29  Todd C. Miller  <Todd.Miller@courtesan.com>
9531
9532         * INSTALL, README.LDAP, config.h.in, configure.in:
9533         o --with-ldap now takes an optional dir as a parameter o added
9534         check for ldap_initialize() and start_tls_s()
9535         [2b846c7974c6]
9536
9537         * README.LDAP:
9538         Fix some typos, word choice and formatting issues.
9539         [00dc8ca84b10]
9540
9541 2004-05-28  Todd C. Miller  <Todd.Miller@courtesan.com>
9542
9543         * tgetpass.c:
9544         Use SA_INTERRUPT so SunOS works correctly, avoid stdio and just use
9545         read/write as it is simpler.
9546         [30f5446ee8b0]
9547
9548         * configure, configure.in:
9549         Remove hack overriding cross-compiler check. It should no longer be
9550         needed.
9551         [22a6cbd88608]
9552
9553         * compat.h:
9554         Remove select() compat bits since we no longer use select().
9555         [d7bbf7cd36f5]
9556
9557         * CHANGES, tgetpass.c:
9558         Use alarm() instead of select() for the timeout for systems that
9559         don't fully/properly implement select().
9560         [d7cc60f15800]
9561
9562 2004-05-27  Todd C. Miller  <Todd.Miller@courtesan.com>
9563
9564         * CHANGES:
9565         synbc
9566         [132a39788e07]
9567
9568         * RUNSON:
9569         update
9570         [61ef508380c6]
9571
9572         * set_perms.c:
9573         Deal with systems that have no way of setting the effective uid such
9574         as nsr-tandem-nsk.
9575         [306e00e9b5a4]
9576
9577         * configure, configure.in:
9578         Define NO_SAVED_IDS if we don't find seteuid()
9579         [8588f18345cf]
9580
9581         * config.h.in, configure, configure.in:
9582         Add back check for setreuid() since NSK doesn't have it.
9583         [43127bd703d1]
9584
9585         * sudoers.cat, sudoers.man.in:
9586         regen
9587         [af4f4b20e422]
9588
9589         * CHANGES:
9590         sync
9591         [29ca3b699c24]
9592
9593         * BUGS:
9594         sync
9595         [3593f17f72ed]
9596
9597         * parse.c:
9598         In sudoers_lookup() return VALIDATE_NOT_OK if the runas user was
9599         explicitly denied and the command matched. This fixes a long-
9600         standing bug and makes: foo machine = (ALL) /usr/bin/blah
9601         foo machine = (!bar) /usr/bin/blah
9602
9603         equivalent to: foo machine = (ALL, !bar) /usr/bin/blah
9604         [2f5ee244985a]
9605
9606         * sudoers.pod:
9607         Clarify mail_noperm
9608         [3238b2d41989]
9609
9610 2004-05-20  Aaron Spangler  <aaron777@gmail.com>
9611
9612         * Makefile.in:
9613         Missing DESTDIR in make install for sudo_noexec.la
9614         [91431e821525]
9615
9616 2004-05-17  Todd C. Miller  <Todd.Miller@courtesan.com>
9617
9618         * sudo.cat, sudo.man.in, sudoers.cat, sudoers.man.in, visudo.cat,
9619         visudo.man.in:
9620         regen
9621         [cdfde0dcb556]
9622
9623         * TODO:
9624         sync
9625         [4799b7d8b62c]
9626
9627         * sudoers.pod:
9628         Remove fastboot/fasthalt (who still remembers these?) and add a
9629         minimal sudoedit example.
9630         [19d299f233cd]
9631
9632         * sample.sudoers:
9633         Remove fastboot/fasthalt (who still remembers these?) and add a
9634         minimal sudoedit example.
9635         [b1bca73d6250]
9636
9637         * UPGRADE, sudo.c, visudo.c:
9638         filesystem -> file system
9639         [1e1afaf30469]
9640
9641         * TROUBLESHOOTING:
9642         filesystem -> file system
9643         [39fb594e9338]
9644
9645         * CHANGES, INSTALL:
9646         filesystem -> file system
9647         [85948b608ffe]
9648
9649         * sudo.pod, sudoers.pod:
9650         Fix some minor typos and formatting goofs
9651         [e94d243a0b90]
9652
9653         * lex.yy.c:
9654         regen
9655         [2eed0ab1f4c4]
9656
9657         * visudo.pod:
9658         remove my email addr
9659         [b63262c0389b]
9660
9661         * sudo.pod, sudoers.pod, visudo.pod:
9662         Use @mansectform@ and @mansectsu@ everywhere Make man page
9663         references links with L<>
9664         [f459f4b9ddb9]
9665
9666         * parse.lex:
9667         Accept quoted globbing characters and pass them verbatim for
9668         fnmatch()
9669         [8248b86e9380]
9670
9671         * UPGRADE:
9672         Document that /tmp/.odus is gone.
9673         [3667b66af5bb]
9674
9675         * pathnames.h.in:
9676         No longer use /tmp/.odus as a possible timestamp dir unless
9677         specifically configured to do so. Instead, if no /var/run exists,
9678         use /var/adm/sudo or /usr/adm/sudo.
9679         [48d94c9f9ad4]
9680
9681         * configure:
9682         No longer use /tmp/.odus as a possible timestamp dir unless
9683         specifically configured to do so. Instead, if no /var/run exists,
9684         use /var/adm/sudo or /usr/adm/sudo.
9685         [058d7b8cf07b]
9686
9687         * aclocal.m4:
9688         No longer use /tmp/.odus as a possible timestamp dir unless
9689         specifically configured to do so. Instead, if no /var/run exists,
9690         use /var/adm/sudo or /usr/adm/sudo.
9691         [cf52c4c2803f]
9692
9693         * CHANGES:
9694         No longer use /tmp/.odus as a possible timestamp dir unless
9695         specifically configured to do so. Instead, if no /var/run exists,
9696         use /var/adm/sudo or /usr/adm/sudo.
9697         [6058c4cefcec]
9698
9699         * set_perms.c, sudo.c, tgetpass.c, visudo.c:
9700         Preliminary changes to support nsr-tandem-nsk. Based on patches
9701         from Tom Bates.
9702         [2e5f81834383]
9703
9704         * logging.c:
9705         Preliminary changes to support nsr-tandem-nsk. Based on patches
9706         from Tom Bates.
9707         [934bbe6872b6]
9708
9709         * check.c, compat.h:
9710         Preliminary changes to support nsr-tandem-nsk. Based on patches
9711         from Tom Bates.
9712         [390b698b5924]
9713
9714 2004-05-16  Todd C. Miller  <Todd.Miller@courtesan.com>
9715
9716         * CHANGES:
9717         There was no 1.6.7p6.
9718         [8013d2e6b062]
9719
9720         * BUGS, CHANGES:
9721         sync
9722         [c38b41f32857]
9723
9724         * Makefile.in:
9725         add missing files to DISTFILES
9726         [e6a80ad03039]
9727
9728         * sudo.cat, sudoers.cat, visudo.cat:
9729         regen
9730         [027bc9746dd5]
9731
9732         * sudoers.man.in:
9733         regen
9734         [f5e85ef686cf]
9735
9736         * Makefile.in:
9737         Fix some line wrap and update (c) year
9738         [bad1f46aa1ca]
9739
9740 2004-04-28  Aaron Spangler  <aaron777@gmail.com>
9741
9742         * README.LDAP:
9743         Build Note
9744         [7a061248249b]
9745
9746 2004-04-07  Aaron Spangler  <aaron777@gmail.com>
9747
9748         * Makefile.in:
9749         Fix install-dirs
9750         [be0726dd92e7]
9751
9752 2004-04-05  Todd C. Miller  <Todd.Miller@courtesan.com>
9753
9754         * sudo.tab.c:
9755         regen
9756         [3f4f0d1ab8b9]
9757
9758         * visudo.c:
9759         In Exit() when used as a signal handler, emsg is a pointer so
9760         sizeof() is wrong so make it a #define instead. Also avoid using a
9761         negative exit value. Found by Aaron Campbell
9762         [78716a3a3fdc]
9763
9764 2004-03-24  Todd C. Miller  <Todd.Miller@courtesan.com>
9765
9766         * sudoers.pod:
9767         Remove bogus sentence about uids in a User_List. Document usernames
9768         vs. uid parsing in a Runas_List.
9769         [7ca510b5031c]
9770
9771         * parse.c, parse.h, parse.yacc, sudo.c, testsudoers.c, visudo.c:
9772         If the user specified a uid with the -u flag and the uid exists in
9773         the passwd file, set runas_user to the name, not the uid.
9774
9775         When comparing usernames in sudoers, if a name is really a uid
9776         (starts with '#') compare it numerically to pw_uid.
9777         [8d6935d04673]
9778
9779 2004-03-22  Todd C. Miller  <Todd.Miller@courtesan.com>
9780
9781         * auth/kerb5.c:
9782         krb5_mcc_ops should be const; Johnny C. Lam
9783         [aa8c753e426e]
9784
9785 2004-02-28  Aaron Spangler  <aaron777@gmail.com>
9786
9787         * CHANGES, config.h.in, ldap.c:
9788         Added start_tls support
9789         [7ef864c15b69]
9790
9791 2004-02-14  Todd C. Miller  <Todd.Miller@courtesan.com>
9792
9793         * Makefile.in:
9794         Clean up libtool stuff for 'make distclean' and add def_data.c,
9795         def_data.h to PARSESRCS.
9796         [bf9bb6bb06ab]
9797
9798 2004-02-14  Aaron Spangler  <aaron777@gmail.com>
9799
9800         * strlcat.c, strlcpy.c:
9801         Un-Fix last license munge
9802         [42654b77ac71]
9803
9804 2004-02-13  Todd C. Miller  <Todd.Miller@courtesan.com>
9805
9806         * configure:
9807         regen
9808         [e4de6b23a4dc]
9809
9810         * CHANGES, RUNSON, TODO:
9811         checkpoint
9812         [94e1ace84d5c]
9813
9814         * lex.yy.c, sudo.tab.c:
9815         regen
9816         [8ce784505643]
9817
9818         * auth/passwd.c, auth/rfc1938.c, auth/secureware.c, auth/securid.c,
9819         auth/securid5.c, auth/sia.c, auth/sudo_auth.c, auth/sudo_auth.h,
9820         emul/search.h, emul/utime.h:
9821         More to a less restrictive, ISC-style license.
9822         [a31b20e48003]
9823
9824         * auth/kerb5.c, auth/pam.c:
9825         More to a less restrictive, ISC-style license.
9826         [e41f92b41216]
9827
9828         * auth/dce.c, auth/fwtk.c, auth/kerb4.c:
9829         More to a less restrictive, ISC-style license.
9830         [87534c164a52]
9831
9832         * auth/bsdauth.c:
9833         More to a less restrictive, ISC-style license.
9834         [e21be6594b58]
9835
9836         * auth/afs.c, auth/aix_auth.c, zero_bytes.c:
9837         More to a less restrictive, ISC-style license.
9838         [6d234be91c5e]
9839
9840         * sudoers.man.in, sudoers.pod, testsudoers.c, tgetpass.c, visudo.c,
9841         visudo.man.in, visudo.pod:
9842         More to a less restrictive, ISC-style license.
9843         [b02aea324fd6]
9844
9845         * sudo_noexec.c:
9846         More to a less restrictive, ISC-style license.
9847         [a6da7631e0b2]
9848
9849         * strlcat.c, strlcpy.c, sudo.c, sudo.h, sudo.man.in, sudo.pod,
9850         sudo_edit.c:
9851         More to a less restrictive, ISC-style license.
9852         [71cdcc241e94]
9853
9854         * sigaction.c, strerror.c:
9855         More to a less restrictive, ISC-style license.
9856         [4bccdedca58a]
9857
9858         * ldap.c, logging.c, logging.h, parse.c, parse.h, pathnames.h.in,
9859         set_perms.c:
9860         More to a less restrictive, ISC-style license.
9861         [64d772d70ab3]
9862
9863         * getspwuid.c, goodpath.c, ins_2001.h, ins_classic.h, ins_csops.h,
9864         ins_goons.h, insults.h, interfaces.c, interfaces.h:
9865         More to a less restrictive, ISC-style license.
9866         [520381c60a54]
9867
9868         * find_path.c, getprogname.c:
9869         More to a less restrictive, ISC-style license.
9870         [f605d5eab6f1]
9871
9872         * fileops.c:
9873         More to a less restrictive, ISC-style license.
9874         [4129a8b38a67]
9875
9876         * env.c:
9877         More to a less restrictive, ISC-style license.
9878         [d5bd859757de]
9879
9880         * defaults.h:
9881         More to a less restrictive, ISC-style license.
9882         [008f5d5743f5]
9883
9884         * LICENSE, Makefile.in, alloc.c, check.c, closefrom.c, compat.h,
9885         defaults.c:
9886         More to a less restrictive, ISC-style license.
9887         [d8d7bfc8a18b]
9888
9889         * utime.c, version.h:
9890         More to a less restrictive, ISC-style license.
9891         [e2e038ad8209]
9892
9893         * parse.lex, parse.yacc:
9894         More to a less restrictive, ISC-style license.
9895         [2f5942e847a1]
9896
9897         * Makefile.binary:
9898         More to a less restrictive, ISC-style license.
9899         [1ed561734535]
9900
9901 2004-02-13  Aaron Spangler  <aaron777@gmail.com>
9902
9903         * sudoers2ldif:
9904         Merged in LDAP Support
9905         [3994c4d05947]
9906
9907         * ldap.c, sudo.c, sudo.h:
9908         Merged in LDAP Support
9909         [547eaa346fcc]
9910
9911         * def_data.c, def_data.h, def_data.in:
9912         Merged in LDAP Support
9913         [8fb255280e42]
9914
9915         * CHANGES, Makefile.in, README.LDAP, config.h.in, configure.in:
9916         Merged in LDAP Support
9917         [1038092a161e]
9918
9919 2004-02-08  Todd C. Miller  <Todd.Miller@courtesan.com>
9920
9921         * sudo.h, sudo_noexec.c:
9922         Only do "extern int errno" if errno is not a macro.
9923         [b2e02a08be8b]
9924
9925 2004-02-06  Todd C. Miller  <Todd.Miller@courtesan.com>
9926
9927         * set_perms.c:
9928         setreuid(0, 0) fails on QNX if the euid is not already 0 so set the
9929         euid first, then just call setuid(0) to set the real uid too.
9930         [f08546e2e0ee]
9931
9932         * set_perms.c:
9933         Use setresuid() and setreuid() for PERM_RUNAS when appropriate
9934         instead of seteuid() which may not exist.
9935         [ba508581befb]
9936
9937 2004-02-04  Todd C. Miller  <Todd.Miller@courtesan.com>
9938
9939         * LICENSE:
9940         2004
9941         [37425513a342]
9942
9943         * INSTALL, config.h.in, configure, configure.in, ins_classic.h:
9944         Add --with-pc-insults configure option
9945         [7daa5294c17b]
9946
9947         * visudo.man.in:
9948         Prefer VISUAL over EDITOR like old vipw did.
9949         [996252a4ab65]
9950
9951 2004-02-01  Todd C. Miller  <Todd.Miller@courtesan.com>
9952
9953         * sudo.man.in, sudoers.man.in:
9954         regen
9955         [a247f1c52eb9]
9956
9957         * sudoers.pod:
9958         Add a note that noexec is not a cure-all.
9959         [9e7fc535367d]
9960
9961         * sudoers.pod:
9962         Mention that disabling "root_sudo" is pretty pointless.
9963         [f38a415afba0]
9964
9965         * configure, configure.in:
9966         Substitute for root_sudo in sudoers.pod
9967         [ce483cfc86be]
9968
9969         * sudo.pod:
9970         Add sudoedit to the NAME section
9971         [51bc453ec2f6]
9972
9973         * sudoers.pod:
9974         Document that fact that setting ignore_dot in sudoers has no effect
9975         due to the fact that find_path() is called *before* sudoers is read.
9976         [6808df7e417c]
9977
9978 2004-01-30  Todd C. Miller  <Todd.Miller@courtesan.com>
9979
9980         * sudo_edit.c:
9981         Do not require _PATH_USRTMP to be set.
9982         [546f3270dd10]
9983
9984         * BUGS, CHANGES, TODO:
9985         sync
9986         [4205ddeab781]
9987
9988         * sudo.man.in:
9989         regen
9990         [e2143690a88a]
9991
9992         * sudo.pod:
9993         Clarify that when sudo is run by root with the SUDO_USER variable
9994         set, the sudoers lookup happens for root and not the SUDO_USER user.
9995         [47207bec1bdf]
9996
9997 2004-01-29  Todd C. Miller  <Todd.Miller@courtesan.com>
9998
9999         * auth/pam.c, auth/sudo_auth.c, interfaces.c, logging.c, parse.c,
10000         set_perms.c, sigaction.c, sudo.c, tgetpass.c:
10001         Use the SET, CLR and ISSET macros.
10002         [a8b0d7f1e8fd]
10003
10004         * fnmatch.c:
10005         Use the SET, CLR and ISSET macros.
10006         [1afbcba22ba6]
10007
10008         * defaults.c, env.c:
10009         Use the SET, CLR and ISSET macros.
10010         [2f39431e0a49]
10011
10012         * interfaces.h:
10013         MAIN was replaced with _SUDO_MAIN some time ago.
10014         [ea1b38f2ac9d]
10015
10016         * sudo.c:
10017         Don't look at prev_user until after we've parsed sudoers and done
10018         the password check. That way, if sudo/sudoedit is run from a root
10019         process that was invoked by sudo, we check sudoers for root, not the
10020         previous user. This makes sudoedit much more useful and means that
10021         for the sudo case, we get correct logging on who actually ran the
10022         command.
10023         [431dfbf20552]
10024
10025 2004-01-23  Todd C. Miller  <Todd.Miller@courtesan.com>
10026
10027         * sudo_edit.c:
10028         Add a comment describing why we need to be notified about our child
10029         stopping.
10030         [0bec3ce4b49d]
10031
10032 2004-01-22  Todd C. Miller  <Todd.Miller@courtesan.com>
10033
10034         * def_data.c, def_data.in:
10035         Update the noexec variable descriptions
10036         [9cb7f1aa0e57]
10037
10038         * sudoers.man.in, sudoers.pod:
10039         noexec now replaces more than just execve()
10040         [23cbdc0ee95c]
10041
10042         * sudo_noexec.c:
10043         Alas, all the world does not go through execve(2). Many systems
10044         still have an execv(2) system call, Linux 2.6 provides fexecve(2)
10045         and it is not uncommon for libc to have underscore ('_') versions of
10046         the functions to be used internally by the library. Instead of
10047         stubbing all these out by hand, define a macro and let it do the
10048         work. Extra exec functions pointed out by Reznic Valery.
10049         [9fa0cd871b0c]
10050
10051         * sudo.c, sudo_edit.c:
10052         Fix suspending the editor in -e mode. Because we do a fork() first
10053         we need to be notified when the child has been stopped and then send
10054         that same signal to ourself so the shell can do its job control
10055         thing.
10056         [773165eb6057]
10057
10058         * visudo.c:
10059         Use WIFEXITED and WEXITSTATUS macros. If there are systems out
10060         there that want to run sudo that still don't support these we can
10061         try to deal with that later.
10062         [6af68e4aff60]
10063
10064         * lex.yy.c:
10065         regen
10066         [403435317d5d]
10067
10068         * sudo.man.in, sudo.pod, sudoers.man.in, sudoers.pod:
10069         Document sudo -e / sudoedit
10070         [a80f6ea910af]
10071
10072         * configure, configure.in:
10073         fix typo
10074         [5020fcdc27f4]
10075
10076         * config.h.in, configure.in:
10077         Add SET/CLR/ISSET
10078         [03ff57286e7e]
10079
10080 2004-01-21  Todd C. Miller  <Todd.Miller@courtesan.com>
10081
10082         * sudo.c:
10083         Allow non-exclusive flags when invoked as sudoedit. Pretty print the
10084         long usage() line to not wrap (assumes 80 char display)
10085         [3941fa4004bb]
10086
10087         * Makefile.in, sudo.c:
10088         If sudo is invoked as "sudoedit" the -e flag is implied and no other
10089         flags are permitted.
10090         [929670b01293]
10091
10092         * sudo.h:
10093         Add a new flag, -e, that makes it possible to give users the ability
10094         to edit files with the editor of their choice as the invoking user,
10095         not the runas user. Temporary files are used for the actual edit
10096         and the temp file is copied over the original after the editor is
10097         done.
10098         [c4051414c1f4]
10099
10100         * Makefile.in, parse.c, parse.lex, sudo.c, sudo_edit.c:
10101         Add a new flag, -e, that makes it possible to give users the ability
10102         to edit files with the editor of their choice as the invoking user,
10103         not the runas user. Temporary files are used for the actual edit
10104         and the temp file is copied over the original after the editor is
10105         done.
10106         [37ac05c8ac3c]
10107
10108         * env.c, sudo.c:
10109         If real uid == 0 and the SUDO_USER environment variables is set, use
10110         that to determine the invoking user's true identity. That way the
10111         proper info gets logged by someone who has done "sudo su" but still
10112         uses sudo to as root. We can't do this for non-root users since
10113         that would open up a security hole, though perhaps it would be
10114         acceptable to use getlogin(2) on OSes where this a system call (and
10115         doesn't just look in the utmp file).
10116         [c2f9198708a1]
10117
10118         * pathnames.h.in:
10119         Add _PATH_TMP, _PATH_VARTMP and _PATH_USRTMP
10120         [7d9e5768df93]
10121
10122         * config.h.in, configure, configure.in:
10123         Add check for fchown(2)
10124         [a85df18798ed]
10125
10126 2004-01-20  Todd C. Miller  <Todd.Miller@courtesan.com>
10127
10128         * sudo.c:
10129         Back out portions of the -i commit that set NewArgv[0] in
10130         set_runaspw. It is far to late to set NewArgv[0] there and will have
10131         no effect anyway as cmnd and safe_cmnd have already been set.
10132         [c2d343430c1c]
10133
10134         * visudo.c, visudo.pod:
10135         Prefer VISUAL over EDITOR like old vipw did.
10136         [ae32f477cea3]
10137
10138 2004-01-19  Todd C. Miller  <Todd.Miller@courtesan.com>
10139
10140         * env.c, sudo.c:
10141         In -i mode always set new environment based on the runas user's
10142         passwd entry.
10143         [fa653b7887a8]
10144
10145 2004-01-18  Todd C. Miller  <Todd.Miller@courtesan.com>
10146
10147         * sudo.man.in, sudo.pod:
10148         Document the new -i flag and sync SYNOPSIS section with usage() in
10149         sudo.c. Also sort the flags in the OPTIONS section.
10150         [6aabc0ffc47e]
10151
10152         * sudo.c, sudo.h:
10153         o Add -i that acts similar to "su -", based on patches from David J.
10154         MacKenzie o Sort the flags in the usage message
10155         [c0fe7d6beffd]
10156
10157         * sudoers.man.in, sudoers.pod:
10158         Add a missing @runas_default@ substitution.
10159         [60516fe2d090]
10160
10161 2004-01-17  Todd C. Miller  <Todd.Miller@courtesan.com>
10162
10163         * sudo.c:
10164         Change euid to runas user before calling find_path().
10165         Unfortunately, though runas_user can be modified in sudoers we
10166         haven't parsed sudoers yet.
10167         [f469fdf2e313]
10168
10169         * sudoers.man.in, sudoers.pod:
10170         Add missing defintion of Parameter_List and use single pipes in the
10171         Defaults EBNF definition.
10172         [f7bed6e909bf]
10173
10174         * sudo.c:
10175         Fix a bug when set_runaspw() is used as a callback. We don't want
10176         to reset the contents of runas_pw if the user specified a user via
10177         the -u flag.
10178
10179         Avoid unnecessary passwd lookups in set_authpw(). In most cases we
10180         already have the info in runas_pw.
10181         [efc35623ba09]
10182
10183 2004-01-16  Todd C. Miller  <Todd.Miller@courtesan.com>
10184
10185         * check.c:
10186         Add Stan Lee / Uncle Ben quote to the lecture from RedHat
10187         [ebd5a76ccd7e]
10188
10189         * sudo.h:
10190         Update sudo_getepw() proto and add one for set_runaspw()
10191         [6ed65795c17f]
10192
10193         * parse.c:
10194         If we can't stat the command as root, try as the runas user instead.
10195         [ae713fca0e15]
10196
10197         * testsudoers.c, visudo.c:
10198         Add stub set_runaspw() function
10199         [42aa37050053]
10200
10201         * sudo.c:
10202         Add set_runaspw() function to fill in runas_pw. This will be used
10203         as a callback to update runas_pw when the runas user changes.
10204         [e570aa0088d0]
10205
10206         * env.c, sudo.c:
10207         PERM_RUNAS -> PERM_FULL_RUNAS
10208         [51eec6f9e89a]
10209
10210         * set_perms.c, sudo.h:
10211         Rename PERM_RUNAS -> PERM_FULL_RUNAS and add a PERM_RUNAS that just
10212         changes the euid.
10213         [877c6fe4d12c]
10214
10215         * getspwuid.c:
10216         Make sudo_pwdup() act like OpenBSD pw_dup() and allocate memory in
10217         one chunk for easy free()ing. Also change it from static to extern.
10218         [ab503260a7ec]
10219
10220         * defaults.c, defaults.h:
10221         Add callback support
10222         [a61c4ca983fb]
10223
10224         * mkdefaults:
10225         Add a callback field and use it for runas_default
10226         [96b69c27df5e]
10227
10228         * def_data.c, def_data.in:
10229         Add a callback field and use it for runas_default
10230         [d3e9f06872b8]
10231
10232 2004-01-15  Todd C. Miller  <Todd.Miller@courtesan.com>
10233
10234         * auth/fwtk.c:
10235         Add support for chalnecho and display server responses used by fwtk
10236         >= 2.0
10237         [b1870f7aaf0d]
10238
10239 2004-01-12  Todd C. Miller  <Todd.Miller@courtesan.com>
10240
10241         * sudoers.man.in, sudoers.pod:
10242         ld.so is ld.so.1 on solaris
10243         [2bf9a123fa4c]
10244
10245         * Makefile.in, config.h.in, configure, configure.in, sudo.c, sudo.h:
10246         Use closefrom() instead of doing the equivalent inline.
10247         [7e3ef6072884]
10248
10249         * closefrom.c:
10250         closefrom(3) for systems w/o it
10251         [35caf58bb636]
10252
10253 2004-01-09  Todd C. Miller  <Todd.Miller@courtesan.com>
10254
10255         * sudoers.man.in:
10256         Update from .pod file.
10257         [d4c94fc0e0c9]
10258
10259         * configure, configure.in:
10260         Substitute noexec_file for the sudoers man page
10261         [203d3376a551]
10262
10263         * sudo.man.in, sudo.pod:
10264         Mention noexec
10265         [014375ddbb06]
10266
10267         * sudoers.man.in, sudoers.pod:
10268         Document noexec
10269         [49a65d06201f]
10270
10271         * auth/pam.c, config.h.in, configure.in:
10272         Move PAM_CONST macro definition from config.h to pam.c where it
10273         belongs. We can't have this in config.h since that gets included too
10274         early.
10275         [e64748071637]
10276
10277         * auth/pam.c, config.h.in, configure, configure.in:
10278         Some PAM implementations put their headers in /usr/include/pam
10279         instead of /usr/include/security.
10280         [8cc749e9575c]
10281
10282         * configure.in:
10283         I missed changing the EXEC macro -> EXECV here when I changed this
10284         in config.h.in and sudo.c a while ago.
10285         [6f5afac7789f]
10286
10287         * acsite.m4:
10288         OpenBSD vax/m88k/hppa don't do shared libs
10289         [e4901d958bb7]
10290
10291         * configure, configure.in:
10292         o merge the hpux case entries into a single entry w/ its own sub-
10293         case statement. o HP-UX >= 11 support getspnam(), use it in
10294         preference to getprpwuid()
10295         [0caad428894e]
10296
10297         * configure, configure.in:
10298         eval $shrext so that it expands nicely on MacOS X
10299         [40419343eef8]
10300
10301         * Makefile.in:
10302         Don't lie about making a module, it does the wrong thing on mach
10303         [7629b28f5688]
10304
10305         * ltmain.sh:
10306         Remove requirement that libs must begin with "lib". They don't when
10307         we point directly at the lib using LD_PRELOAD or its equivalent.
10308         [d66f3de6ec85]
10309
10310         * acsite.m4:
10311         Disable support for c++, f77 and java. We don't need it, it takes a
10312         lot of time, and it hosed our check for shared lib support.
10313         [4f5749c52ce4]
10314
10315         * configure:
10316         regen
10317         [160865e9d15f]
10318
10319         * configure.in:
10320         Call AC_ENABLE_SHARED and check the status of enable_shared to know
10321         when shared libs are available.
10322         [42504c1668fc]
10323
10324         * acsite.m4:
10325         Duh, OpenBSD suports shared libs too
10326         [8e3cd9417475]
10327
10328         * config.h.in, configure.in:
10329         Only OpenPAM and Linux PAM use const qualifiers.
10330         [b2f76476e866]
10331
10332         * configure, configure.in:
10333         o No need to check for sed, libtool config does that for us o move
10334         check for --with-noexec until after libtool magic is run so we can
10335         use $can_build_shared and $shrext
10336         [668c656e89cc]
10337
10338         * ltmain.sh:
10339         Don't print a bunch of crap about library installs since we are not
10340         really installing a library.
10341         [83fbcad29fe4]
10342
10343         * env.c:
10344         Make format_env() varargs Add noexec support for Darwin, MacOS X,
10345         Irix, and Tru64
10346         [468885d75d10]
10347
10348         * acsite.m4, ltconfig, ltmain.sh:
10349         Update to libtool 1.5 with local changes: o no ldconfig in the
10350         finish step o assume no libprefix or version is needed
10351         [4961cffc3797]
10352
10353         * sudo_noexec.c:
10354         Fix compilation under K&R
10355         [8b309bf0b1b2]
10356
10357 2004-01-06  Todd C. Miller  <Todd.Miller@courtesan.com>
10358
10359         * CHANGES:
10360         checkpoint
10361         [3c368badab32]
10362
10363         * sudo_noexec.c:
10364         stub execve() that just returns EACCES; used for noexec
10365         functionality
10366         [1297acae283a]
10367
10368         * sudo.tab.h:
10369         Regen w/ updated byacc from OpenBSD; fixes a gcc 3.2 issue with
10370         generated code.
10371         [dcab78c49273]
10372
10373         * sudo.tab.c:
10374         Regen w/ updated byacc from OpenBSD; fixes a gcc 3.2 issue with
10375         generated code.
10376         [0a61c735eabe]
10377
10378 2004-01-05  Todd C. Miller  <Todd.Miller@courtesan.com>
10379
10380         * def_data.c, def_data.h, def_data.in:
10381         Move the environment defaults to the end and shorten a few of the
10382         descriptions.
10383         [66787b9c612c]
10384
10385         * configure, configure.in:
10386         no shared libs on ultris or convexos
10387         [2c5f3c456e32]
10388
10389         * Makefile.in, configure, configure.in:
10390         Build sudo_noexec shared object using libtool; could use some
10391         cleanup.
10392         [373f483555dd]
10393
10394         * acsite.m4, ltconfig, ltmain.sh:
10395         libtool scaffolding
10396         [c903a42e3d90]
10397
10398         * parse.yacc, sudo.tab.c:
10399         Merge the NOPASSWD/PASSWD and NOEXEC/EXEC rules so that order is not
10400         important.
10401         [c6e8a34639a4]
10402
10403         * defaults.c, env.c, lex.yy.c, parse.c, parse.h, parse.lex,
10404         parse.yacc, pathnames.h.in, sudo.c, sudo.h, sudo.tab.c:
10405         update copyright year
10406         [a16372ae1711]
10407
10408         * configure, configure.in, defaults.c, env.c, pathnames.h.in:
10409         Add _PATH_SUDO_NOEXEC and corresponding --with-noexec configure
10410         option. The default value of noexec_file is set to this.
10411         [7d88e1d3c494]
10412
10413         * def_data.c, def_data.h, def_data.in, env.c, lex.yy.c, parse.c,
10414         parse.h, parse.lex, parse.yacc, sudo.c, sudo.h, sudo.tab.c,
10415         sudo.tab.h:
10416         Add support for preloading a shared object containing a dummy
10417         execve() function that just sets error and returns -1. This adds a
10418         "noexec_file" option to load the filename as well as a "noexec" flag
10419         to enable it unconditionally. There is also a NOEXEC tag that can
10420         be attached to specific commands and an EXEC tag to disable it.
10421         [c8b6712feb91]
10422
10423         * mkdefaults:
10424         add missing newline to usage statement
10425         [e84746618362]
10426
10427         * config.h.in, sudo.c:
10428         Rename EXEC macro -> EXECV
10429         [ddaa0c027299]
10430
10431         * logging.c:
10432         Don't truncate usernames to 8 characters in the log message.
10433         [f62a20f27075]
10434
10435         * check.c, sudoers.man.in, sudoers.pod:
10436         Update copyright year
10437         [ca9964054085]
10438
10439         * check.c, def_data.c, def_data.h, def_data.in, sudoers.man.in,
10440         sudoers.pod:
10441         Add a new option, lecture_file, that can be used to point to a
10442         custom sudo lecture.
10443         [940133231216]
10444
10445 2003-12-31  Todd C. Miller  <Todd.Miller@courtesan.com>
10446
10447         * auth/aix_auth.c, auth/bsdauth.c, auth/fwtk.c, auth/pam.c,
10448         auth/sudo_auth.c:
10449         Add a zero_bytes() function to do the equivalent of bzero in such a
10450         way that will heopfully not be optimized away by sneaky compilers.
10451         [161b6d74bfb4]
10452
10453         * zero_bytes.c:
10454         Add a zero_bytes() function to do the equivalent of bzero in such a
10455         way that will heopfully not be optimized away by sneaky compilers.
10456         [d035abf0af94]
10457
10458         * Makefile.in, sudo.h:
10459         Add a zero_bytes() function to do the equivalent of bzero in such a
10460         way that will heopfully not be optimized away by sneaky compilers.
10461         [ff136de3e255]
10462
10463         * err.c:
10464         Use #ifdef __STDC__, not #if __STDC__.
10465         [6889dd6bc51a]
10466
10467 2003-12-30  Todd C. Miller  <Todd.Miller@courtesan.com>
10468
10469         * mkdefaults:
10470         Always put at least one space between the def_* macro name and its
10471         definition.
10472         [6b3ad0e6619a]
10473
10474         * configure, configure.in:
10475         Adjust code for --without-lecture to match new values.
10476         [062aa788a6b9]
10477
10478         * visudo.man.in:
10479         regen after pasto fix
10480         [3deec16906c0]
10481
10482         * sudoers.man.in, sudoers.pod:
10483         Document that "lecture" has changed from a flag to a tuple.
10484         [e2c03062b533]
10485
10486         * check.c, def_data.c, def_data.h, def_data.in, defaults.c,
10487         defaults.h, logging.c, mkdefaults, parse.c, sudo.c, sudo.h:
10488         Add support for tuples in def_data.in; these are implemented as an
10489         enum type. Currently there is only a single tuple enum but in the
10490         future we may have one tuple enum per T_TUPLE entry in def_data.in.
10491         Currently listpw, verifypw and lecture are tuples. This avoids the
10492         need to have two entries (one ival, one str) for pwflags and syslog
10493         values.
10494
10495         lecture is now a tuple with the following values: never, once,
10496         always
10497
10498         We no longer use both an int and string entry for syslog facilities
10499         and priorities. Instead, there are logfac2str() and logpri2str()
10500         functions that get used when we need to print the string values.
10501         [5293f946c836]
10502
10503         * auth/aix_auth.c, auth/bsdauth.c, auth/fwtk.c, auth/pam.c,
10504         auth/rfc1938.c, auth/securid5.c, auth/sia.c, auth/sudo_auth.c,
10505         check.c, def_data.h, defaults.c, defaults.h, env.c, find_path.c,
10506         logging.c, mkdefaults, parse.c, parse.yacc, set_perms.c, sudo.c,
10507         sudo.tab.c, visudo.c:
10508         Create def_* macros for each defaults value so we no longer need the
10509         def_{flag,ival,str,list,mode} macros (which have been removed). This
10510         is a step toward more flexible data types in def_data.in.
10511         [009c02934106]
10512
10513         * TODO:
10514         checkpoint
10515         [0a99a4bb5d15]
10516
10517 2003-12-23  Todd C. Miller  <Todd.Miller@courtesan.com>
10518
10519         * sudo.c:
10520         If we are in -k/-K mode, just spew to stderr. It is not unusual for
10521         users to place "sudo -k" in a .logout file which can cause sudo to
10522         be run during reboot after the YP/NIS/NIS+/LDAP/etc daemon has died.
10523         Previously, this would result in useless mail and logging.
10524         [d282e7ed63af]
10525
10526 2003-12-16  Todd C. Miller  <Todd.Miller@courtesan.com>
10527
10528         * visudo.pod:
10529         fix pasto in VISUAL description
10530         [1c6a6148b5f9]
10531
10532 2003-12-10  Todd C. Miller  <Todd.Miller@courtesan.com>
10533
10534         * configure:
10535         regen
10536         [f44312c63799]
10537
10538         * CHANGES:
10539         checkpoint
10540         [0c42e38f78d5]
10541
10542         * TROUBLESHOOTING:
10543         Some OSes (like Solaris) allow export w/ nosuid too
10544         [973ce85ffa12]
10545
10546 2003-08-12  Todd C. Miller  <Todd.Miller@courtesan.com>
10547
10548         * compat.h:
10549         We don't use FD_ZERO anymore so just define FD_SET (if not already
10550         there).
10551         [d1c8c11905cd]
10552
10553 2003-06-29  Todd C. Miller  <Todd.Miller@courtesan.com>
10554
10555         * auth/pam.c:
10556         Fix a core dump on Solaris by preserving the pam_handle_t we used
10557         during authentication for pam_prep_user(). If we didn't
10558         authenticate (ie: ticket still valid), we call pam_init() from
10559         pam_prep_user(). This is something of a hack; it may be better to
10560         change the auth API and add an auth_final() function that acts like
10561         pam_prep_user().
10562         [f787de49b175]
10563
10564 2003-06-21  Todd C. Miller  <Todd.Miller@courtesan.com>
10565
10566         * set_perms.c:
10567         Add explicit declaration of printerr variable in function header
10568         (was defaulting to int which is OK but oh so K&R :-). From Theo.
10569         [492c2358783f]
10570
10571 2003-06-09  Todd C. Miller  <Todd.Miller@courtesan.com>
10572
10573         * config.h.in, configure.in:
10574         s/HAVE_STOW/USE_STOW/
10575         [4b99e1824ece]
10576
10577         * logging.c:
10578         Also exit waitpid() loop when pid == 0. Fixes a problem where the
10579         sudo process would spin eating up CPU until sendmail finished when
10580         it has to send mail.
10581         [ec3d5792b9b4]
10582
10583 2003-05-30  Todd C. Miller  <Todd.Miller@courtesan.com>
10584
10585         * fnmatch.c:
10586         Remove advertising clause, UCB has disavowed it
10587         [43a26bbd6628]
10588
10589         * fnmatch.3:
10590         Remove advertising clause, UCB has disavowed it
10591         [3ff24291bcfa]
10592
10593 2003-05-22  Todd C. Miller  <Todd.Miller@courtesan.com>
10594
10595         * parse.c:
10596         Don't assume that getgrnam() calls don't modify contents of struct
10597         passwd returned by getpwnam(). On FreeBSD w/ NIS this can happen.
10598         Based on a patch from Kirk Webb.
10599         [5574c68f60f3]
10600
10601 2003-05-06  Todd C. Miller  <Todd.Miller@courtesan.com>
10602
10603         * configure.in:
10604         missing ;;
10605         [22378f2a9d31]
10606
10607         * configure.in:
10608         darwin has a broken setreuid() in at least some versions
10609         [d572aed930d2]
10610
10611         * env.c:
10612         Fix an off by one error when reallocating the environment; Kevin Pye
10613         [3d98e7cf097a]
10614
10615 2003-04-30  Todd C. Miller  <Todd.Miller@courtesan.com>
10616
10617         * sudoers.pod:
10618         Fix User_Spec definition; SEKINE Tatsuo
10619         [49b0da65e090]
10620
10621 2003-04-28  Todd C. Miller  <Todd.Miller@courtesan.com>
10622
10623         * HISTORY:
10624         More info on the early days from Coggs.
10625         [9381ca10b06b]
10626
10627 2003-04-21  Todd C. Miller  <Todd.Miller@courtesan.com>
10628
10629         * auth/kerb5.c:
10630         remove errant semicolon that prevented compilation under heimdal
10631         [d2f2bb73a598]
10632
10633 2003-04-16  Todd C. Miller  <Todd.Miller@courtesan.com>
10634
10635         * testsudoers.c, tgetpass.c, visudo.c, visudo.man.in, visudo.pod:
10636         add DARPA credit on affected files
10637         [7020785ee50d]
10638
10639         * sudoers.pod:
10640         add DARPA credit on affected files
10641         [83b46318750b]
10642
10643         * sigaction.c, strerror.c, sudo.c, sudo.h, sudo.man.in, sudo.pod,
10644         sudoers.man.in:
10645         add DARPA credit on affected files
10646         [d8adf1c2ba22]
10647
10648         * set_perms.c:
10649         add DARPA credit on affected files
10650         [3d79fdabb582]
10651
10652         * pathnames.h.in:
10653         add DARPA credit on affected files
10654         [e334cdda422f]
10655
10656         * logging.c, parse.c:
10657         add DARPA credit on affected files
10658         [8f75f822755b]
10659
10660         * auth/passwd.c, auth/rfc1938.c, auth/secureware.c, auth/securid.c,
10661         auth/securid5.c, auth/sia.c, auth/sudo_auth.c, fileops.c,
10662         find_path.c, getprogname.c, getspwuid.c, goodpath.c, interfaces.c,
10663         interfaces.h:
10664         add DARPA credit on affected files
10665         [da66e28fb3f5]
10666
10667         * auth/kerb5.c, auth/pam.c:
10668         add DARPA credit on affected files
10669         [15da3021b49c]
10670
10671         * auth/afs.c, auth/aix_auth.c, auth/bsdauth.c, auth/dce.c,
10672         auth/fwtk.c, auth/kerb4.c, parse.lex, parse.yacc, utime.c,
10673         version.h:
10674         add DARPA credit on affected files
10675         [868d54cbddea]
10676
10677         * env.c:
10678         add DARPA credit on affected files
10679         [90239f51ef0a]
10680
10681         * defaults.c, defaults.h:
10682         add DARPA credit on affected files
10683         [6a64205fd1eb]
10684
10685         * compat.h:
10686         add DARPA credit on affected files
10687         [316a735783c4]
10688
10689         * Makefile.in, alloc.c, check.c:
10690         add DARPA credit on affected files
10691         [cd939e05c810]
10692
10693         * LICENSE:
10694         slightly different wording for the darpa credit
10695         [e468909c4a21]
10696
10697 2003-04-15  Todd C. Miller  <Todd.Miller@courtesan.com>
10698
10699         * LICENSE:
10700         Add DARPA credit
10701         [8eb20e2cd63e]
10702
10703 2003-04-14  Todd C. Miller  <Todd.Miller@courtesan.com>
10704
10705         * auth/kerb5.c:
10706         Use krb5_princ_component() instead of krb5_princ_realm() for MIT
10707         Kerberos like we did before I messed things up ;-)
10708
10709         Use krb5_principal_get_comp_string() to do the same thing w/
10710         Heimdal. I'm not sure if the component should be 0 or 1 in this
10711         case.
10712
10713         #define ENCTYPE_DES_CBC_MD5 ETYPE_DES_CBC_MD5 for Heimdal since
10714         older versions lack ENCTYPE_DES_CBC_MD5. This is gross and there
10715         should be a configure check for this I guess.
10716         [74919a3933fe]
10717
10718 2003-04-13  Todd C. Miller  <Todd.Miller@courtesan.com>
10719
10720         * sample.sudoers:
10721         builtin -> built-in; Jason McIntyre
10722         [027f2187923e]
10723
10724         * TROUBLESHOOTING, config.h.in, configure, configure.in:
10725         builtin -> built-in; Jason McIntyre
10726         [70b81ac48943]
10727
10728         * sudoers.pod:
10729         built in -> built-in; Jason McIntyre
10730         [da658ef5138d]
10731
10732 2003-04-09  Todd C. Miller  <Todd.Miller@courtesan.com>
10733
10734         * CHANGES:
10735         checkpoint for 1.6.7p3
10736         [da85f989fadf]
10737
10738         * HISTORY:
10739         Update info on the early years @ SUNY-Buffalo from Cliff Spencer.
10740         Amazingly, sudo source from 1985 is available via groups.google.com
10741         [39e0fc85b89f]
10742
10743         * sudo.c:
10744         Don't change rl.rlim_max for RLIMIT_CORE. We need only set
10745         rl.rlim_cur to 0 to turn off core dumps. This may be needed for the
10746         RLIMIT_CORE restoration on some OSes.
10747         [7e2c1a7adfd8]
10748
10749 2003-04-04  Todd C. Miller  <Todd.Miller@courtesan.com>
10750
10751         * auth/kerb5.c:
10752         Make this compile on Heimdal and MIT Kerberos 5
10753         [44c07d615868]
10754
10755         * config.h.in, configure, configure.in:
10756         Check for heimdal even if we found krb5-config and define
10757         HAVE_HEIMDAL.
10758         [aba0126f0059]
10759
10760         * auth/kerb5.c:
10761         Replace ETYPE_DES_CBC_MD5 with ENCTYPE_DES_CBC_MD5. The former is
10762         no longer defined by MIT kerb5 (though it used to be and indeed
10763         remains so in Heimdal).
10764         [e5a6c64d7cd5]
10765
10766 2003-04-03  Todd C. Miller  <Todd.Miller@courtesan.com>
10767
10768         * mkinstalldirs:
10769         Remove newer stuff that passes multiple (possibly duplicate)
10770         directories to "mkdir -p" since that seems to break on Tru64 Unix at
10771         least. This basically brings back what shipped with sudo 1.6.6.
10772         [f2a1abd872b3]
10773
10774 2003-04-02  Todd C. Miller  <Todd.Miller@courtesan.com>
10775
10776         * auth/kerb5.c:
10777         Correct number of args to krb5_principal_get_realm() and fix an
10778         unclosed comment that hid the bug.
10779         [0b37f8ce7824]
10780
10781         * configure:
10782         regen
10783         [1876cb840fe0]
10784
10785         * configure.in:
10786         ++version
10787         [480aff7c048e]
10788
10789         * README:
10790         ++version
10791         [488e0bbff613]
10792
10793         * Makefile.in:
10794         ++version
10795         [97ef63cedc38]
10796
10797         * INSTALL.binary:
10798         ++version
10799         [a506204e77d0]
10800
10801         * INSTALL:
10802         ++version
10803         [555aeba5c2bf]
10804
10805         * CHANGES, version.h:
10806         ++version
10807         [f66985a64063]
10808
10809         * BUGS:
10810         ++version
10811         [ea3573432412]
10812
10813         * configure.in:
10814         use krb5-config to determine Kerberos V details if it exists
10815         [7b46bbdaf774]
10816
10817         * alloc.c, auth/fwtk.c, auth/rfc1938.c, auth/securid.c,
10818         auth/securid5.c, auth/sia.c, check.c, compat.h, defaults.c, env.c,
10819         find_path.c, interfaces.c, logging.c, parse.c, sudo.c, sudo.h,
10820         testsudoers.c, visudo.c:
10821         Use warn/err and getprogname() throughout. The main exception is
10822         openlog(). Since the admin may be filtering logs based on the
10823         program name in the log files, hard code this to "sudo".
10824         [9f180d015cfa]
10825
10826         * Makefile.in:
10827         Add getprogname.c and err.c
10828         [d411c54a07dc]
10829
10830         * configure:
10831         regen
10832         [6d585d391acc]
10833
10834         * config.h.in, configure.in:
10835         Add checks for getprognam(), __progname and err.h
10836         [bcbccf61d34a]
10837
10838         * emul/err.h:
10839         For systems withour err/warn functions.
10840         [1b33118884d9]
10841
10842         * err.c:
10843         For systems withour err/warn functions.
10844         [26721f6b041f]
10845
10846         * getprogname.c:
10847         For systems neither getprogname() nor __progname; uses Argv[0].
10848         [841cf42af1eb]
10849
10850 2003-04-01  Todd C. Miller  <Todd.Miller@courtesan.com>
10851
10852         * CHANGES:
10853         checkpoint for 1.6.7p1
10854         [5bfdaf441dce]
10855
10856         * sudo.c, testsudoers.c:
10857         fix strlcpy() rval check (innocuous)
10858         [e05ac7e0d1f3]
10859
10860         * check.c:
10861         oflow detection in expand_prompt() was faulty (false positives). The
10862         count was based on strlcat() return value which includes the length
10863         of the entire string.
10864         [086c5a0acb25]
10865
10866 2003-03-31  Todd C. Miller  <Todd.Miller@courtesan.com>
10867
10868         * RUNSON, TODO:
10869         checkpoint for the sudo 1.6.7 release
10870         [096bab4da29a] [SUDO_1_6_7]
10871
10872         * CHANGES:
10873         checkpoint for the sudo 1.6.7 release
10874         [87322187ed78]
10875
10876 2003-03-24  Todd C. Miller  <Todd.Miller@courtesan.com>
10877
10878         * logging.c:
10879         g/c unused variable
10880         [c57cd4a17765]
10881
10882         * configure:
10883         regen
10884         [e7c1f581dfac]
10885
10886         * configure.in:
10887         use man sections 8 and 5 for csops
10888         [87de581bda88]
10889
10890 2003-03-21  Todd C. Miller  <Todd.Miller@courtesan.com>
10891
10892         * configure:
10893         regen
10894         [cb1433a9c7a1]
10895
10896         * configure.in:
10897         Add -lskey or -lopie directly to SUDO_LIBS instead of having
10898         AC_CHECK_LIB() add them to LIBS. Fixes visudo linkage.
10899         [ac5667978939]
10900
10901         * configure:
10902         regen
10903         [638459118a2a]
10904
10905         * configure.in:
10906         Add --with-blibpath for AIX. An alternate libpath may be specified
10907         or
10908         -blibpath support can be disabled. Also change conifgure such that
10909         -blibpath is not specified if no -L libpaths were added to
10910         SUDO_LDFLAGS.
10911         [c7d17b480cad]
10912
10913         * aclocal.m4:
10914         Add --with-blibpath for AIX. An alternate libpath may be specified
10915         or
10916         -blibpath support can be disabled. Also change conifgure such that
10917         -blibpath is not specified if no -L libpaths were added to
10918         SUDO_LDFLAGS.
10919         [37022e991575]
10920
10921         * INSTALL:
10922         Add --with-blibpath for AIX. An alternate libpath may be specified
10923         or
10924         -blibpath support can be disabled. Also change conifgure such that
10925         -blibpath is not specified if no -L libpaths were added to
10926         SUDO_LDFLAGS.
10927         [4b4bbe5bbe1b]
10928
10929         * configure.in:
10930         add AIX blibpath support
10931         [16ba788bf086]
10932
10933         * INSTALL, configure.in:
10934         --with-skey and --with-opie now take an option directory argument
10935         This obsoletes a --with-csops hack (/tools/cs/skey)
10936
10937         Also remove the remaining direct uses of "echo"
10938         [5b4986a90c03]
10939
10940 2003-03-20  Todd C. Miller  <Todd.Miller@courtesan.com>
10941
10942         * configure.in:
10943         Detect KTH Kerberos IV and deal with it. Also make -lroken optional
10944         for KTH Kerberos IV and V.
10945         [119f97b48e18]
10946
10947         * aclocal.m4:
10948         Add SUDO_APPEND_LIBPATH function that add -L/path/to/dir (and
10949         -R/path/to/dir if $with_rpath) to the specified variable.
10950         [e55e49d076ce]
10951
10952         * INSTALL, configure.in:
10953         Add -R/path/to/libs for Solaris and SVR4. There is a new configure
10954         option, --with-rpath to control this behavior.
10955         [d4730c5399ab]
10956
10957         * configure.in:
10958         for kerb4 put libdes after libkrb on the link line
10959         [5c566100eab6]
10960
10961         * auth/kerb4.c:
10962         typo
10963         [6541b72b64a3]
10964
10965         * configure.in:
10966         fix kerberos lib check when a path is specified
10967         [ae833a914c6f]
10968
10969         * logging.c:
10970         Fix boolean thinko in SIGCHLD reaper and call reapchild after
10971         sending mail instead of doing a conditional sudo_waitpid.
10972         [86fa9a35df5a]
10973
10974 2003-03-19  Todd C. Miller  <Todd.Miller@courtesan.com>
10975
10976         * configure:
10977         regen
10978         [e6275cf528ba]
10979
10980         * configure.in:
10981         replace =DIR with [=DIR] where sensible
10982         [c39a59173b38]
10983
10984         * configure.in:
10985         o Use AC_MSG_* instead of "echo" o New Kerberos include/lib
10986         detection based on openssh's configure.in
10987         [5b7a340912df]
10988
10989         * INSTALL:
10990         --with-kerb4 and --with-kerb5 now take an optional argument.
10991         [71ed87fc9c64]
10992
10993 2003-03-16  Todd C. Miller  <Todd.Miller@courtesan.com>
10994
10995         * auth/securid.c:
10996         Kill remaining strcpy(), the programmer's guide says username is 32
10997         bytes.
10998         [bdba70fcd08d]
10999
11000         * auth/kerb4.c:
11001         trat uid_t as unsigned long for printf and use snprintf, not sprintf
11002         [8072f5f8966d]
11003
11004         * auth/rfc1938.c:
11005         use snprintf
11006         [fc0c70c665fe]
11007
11008 2003-03-15  Todd C. Miller  <Todd.Miller@courtesan.com>
11009
11010         * auth/afs.c, auth/aix_auth.c, auth/bsdauth.c, auth/dce.c,
11011         auth/fwtk.c, auth/kerb4.c, auth/kerb5.c, auth/pam.c, auth/passwd.c,
11012         auth/rfc1938.c, auth/sudo_auth.c:
11013         update copyright year
11014         [b0a10ccb1d0e]
11015
11016         * sudo.man.in, sudoers.man.in, visudo.man.in:
11017         update copyright year
11018         [8fce0034eb51]
11019
11020         * LICENSE, Makefile.in, aclocal.m4, alloc.c, check.c, compat.h,
11021         configure.in, env.c, find_path.c, interfaces.c, logging.c, parse.c,
11022         parse.lex, parse.yacc, set_perms.c, sudo.c, sudo.h, sudo.pod,
11023         sudoers.pod, testsudoers.c, version.h, visudo.c, visudo.pod:
11024         update copyright year
11025         [d541e75fe520]
11026
11027         * check.c, env.c, sudo.c:
11028         Cast [ug]ids to unsigned long and printf with %lu
11029         [2ede64d3592b]
11030
11031         * configure:
11032         regen
11033         [c7c3245bdf3e]
11034
11035         * configure.in:
11036         correct error messages for --with-sudoers-{mode,uid,gid}
11037         [77fc15b1c9db]
11038
11039         * alloc.c:
11040         make the malloc(0) error specific to each function to aid tracking
11041         down bugs.
11042         [a58c34374b4b]
11043
11044         * alloc.c:
11045         deal with platforms where size_t is signed and there is no SIZE_MAX
11046         or SIZE_T_MAX
11047         [7192abb4ab4e]
11048
11049         * auth/kerb5.c:
11050         Make this compile w/ Heimdal and fix some gcc warnings.
11051         [f52f026f31c2]
11052
11053         * sudo.c:
11054         Use stat_sudoers macro so --with-stow can work
11055         [c3674735c139]
11056
11057         * INSTALL, config.h.in, configure, configure.in:
11058         Add support for --with-stow based on patches from Robert Uhl
11059         [b274cc1dd52c]
11060
11061         * env.c:
11062         fix indentation
11063         [110d9f1721b1]
11064
11065         * configure.in:
11066         back out rev 1.352
11067         [1eee91c83f11]
11068
11069         * lex.yy.c:
11070         regen
11071         [72fba1c9590b]
11072
11073         * parse.lex:
11074         use strlcpy, not strncpy
11075         [4faccbaeccef]
11076
11077         * set_perms.c:
11078         Fix typo; check pw_uid, not pw_gid after setusercontext() failure.
11079         [33bf0d18fdc1]
11080
11081         * logging.c:
11082         use pid_t
11083         [3e0536993d2c]
11084
11085 2003-03-14  Todd C. Miller  <Todd.Miller@courtesan.com>
11086
11087         * strlcat.c, strlcpy.c:
11088         Make gcc shutup about unused rcsid
11089         [1669a0c74e9e]
11090
11091         * interfaces.c:
11092         Move the n == 0 check for the non-getifaddrs cas
11093         [2460be061b2a]
11094
11095         * auth/rfc1938.c:
11096         skeychallenge() on NetBSD take a size parameter
11097         [05acc2012801]
11098
11099         * configure:
11100         regen
11101         [24bccf4749e8]
11102
11103         * configure.in:
11104         put -ldl after -lpam, not before; fixes static linking on Linux
11105         [7f06b7b2b4d8]
11106
11107         * interfaces.c:
11108         Avoid malloc(0) and fix the loop invariant for the getifaddrs()
11109         case.
11110         [239a55068646]
11111
11112         * sudo.cat, sudoers.cat, visudo.cat:
11113         regen
11114         [4a2eed3981ca]
11115
11116         * sudo.man.in, sudoers.man.in, visudo.man.in:
11117         regen
11118         [2c96ea2cf930]
11119
11120         * Makefile.in:
11121         Preserve copyright notice from .pod file in .man.in file
11122         [519fbd09aebc]
11123
11124         * visudo.pod:
11125         Add sudoers(5) to SEE ALSO
11126         [77ecfe3aedf1]
11127
11128 2003-03-13  Todd C. Miller  <Todd.Miller@courtesan.com>
11129
11130         * lex.yy.c:
11131         regen
11132         [6f5751ce0b74]
11133
11134         * parse.lex:
11135         Don't assume libc can realloc() a NULL string. If malloc/realloc
11136         fails, make sure we just return; yyerror() is not terminal.
11137         [1b8618623708]
11138
11139         * lex.yy.c:
11140         regen
11141         [5d31b46191c6]
11142
11143         * parse.lex:
11144         simplify fill_args a little and use strlcpy for paranoia
11145         [0ea35a55542b]
11146
11147         * sudo.tab.c:
11148         regen
11149         [5a8d508d708b]
11150
11151         * check.c, env.c, find_path.c, parse.c, parse.yacc, sudo.c,
11152         testsudoers.c:
11153         Use strlc{at,py} for paranoia's sake and exit on overflow. In all
11154         cases the strings were either pre-allocated to the correct size of
11155         length checks were done before the copy but a little paranoia can go
11156         a long way.
11157         [e73d28f1d14e]
11158
11159         * sudo.h:
11160         Add strlc{at,py} protos
11161         [748ffc7fc7f4]
11162
11163         * env.c, interfaces.c:
11164         Use erealloc3()
11165         [47f2cb46aba8]
11166
11167         * configure:
11168         regen
11169         [e7e2fb79f935]
11170
11171         * alloc.c:
11172         Oflow test of nmemb > SIZE_MAX / size is fine (don't need >=). Use
11173         memcpy() instead of strcpy() in estrdup() so this is strcpy()-free.
11174         [7e0fa4d6fc1d]
11175
11176         * sudo.c:
11177         snprintf() a uid as %lu, not %ld to match the MAX_UID_T_LEN test in
11178         configure.
11179         [09ea4d3959e9]
11180
11181         * aclocal.m4:
11182         In MAX_UID_T_LEN test cast uid_t to unsigned long, just unsigned.
11183         [31b4fdfdb8bf]
11184
11185 2003-03-12  Todd C. Miller  <Todd.Miller@courtesan.com>
11186
11187         * sudo.c:
11188         Use snprintf() for paranoia
11189         [a2659ceb46de]
11190
11191         * parse.yacc:
11192         Use emalloc2 and erealloc3
11193         [90a069842401]
11194
11195         * Makefile.in:
11196         strlc{at,py} for those w/o it
11197         [bac82dc916ee]
11198
11199         * strlcat.c, strlcpy.c:
11200         stlc{at,py} for those w/o it.
11201         [ce7254f5db09]
11202
11203         * config.h.in, configure, configure.in:
11204         Add stlc{at,py} for those w/o it.
11205         [00f08219657a]
11206
11207         * alloc.c, sudo.h:
11208         Add erealloc3(), a realloc() version of emalloc2().
11209         [c96eaf08bbed]
11210
11211         * interfaces.c, sudo.c:
11212         Use emalloc2() to allocate N things of a certain size.
11213         [1e0aba365555]
11214
11215         * alloc.c, sudo.h:
11216         Add emalloc2() -- like calloc() but w/o the bzero and with
11217         error/oflow checking.
11218         [292150bc4153]
11219
11220         * alloc.c:
11221         Error out on malloc(0); suggested by theo
11222         [995279e81326]
11223
11224 2003-03-10  Todd C. Miller  <Todd.Miller@courtesan.com>
11225
11226         * configure, configure.in:
11227         fix a typo; David Krause
11228         [f161213a17ab]
11229
11230 2003-03-07  Todd C. Miller  <Todd.Miller@courtesan.com>
11231
11232         * sudo.pod:
11233         fix typo
11234         [3ae5ad9a351a]
11235
11236 2003-03-04  Todd C. Miller  <Todd.Miller@courtesan.com>
11237
11238         * env.c:
11239         Remove DYLD_ from the environment for MacOS X; from bbraun
11240         [38caad5a3935]
11241
11242 2003-03-01  Todd C. Miller  <Todd.Miller@courtesan.com>
11243
11244         * config.h.in, configure.in:
11245         not not; Anil Madhavapeddy
11246         [d4f4f0bfc66b]
11247
11248 2003-01-23  Todd C. Miller  <Todd.Miller@courtesan.com>
11249
11250         * sudo.pod, sudoers.pod, visudo.pod:
11251         typos; jmc@openbsd.org
11252         [868c0f09bf9e]
11253
11254 2003-01-20  Todd C. Miller  <Todd.Miller@courtesan.com>
11255
11256         * parse.yacc:
11257         Add some missing ';' rule terminators that bison warns about.
11258         [535b0b8dcce5]
11259
11260         * config.sub:
11261         fix typo I introduced in last merge
11262         [81db4e4f43fe]
11263
11264         * configure:
11265         regenerate with autoconf 2.57
11266         [ca0c1e9564f8]
11267
11268         * config.h.in:
11269         Add missing "$HOME"
11270         [209186197ad1]
11271
11272         * configure.in:
11273         Add some more square backets to make autoconf 2.57 happy
11274         [b5639c14faf7]
11275
11276         * config.sub, mkinstalldirs:
11277         Updates from autoconf-2.57
11278         [36be35eb331b]
11279
11280         * config.guess:
11281         Updates from autoconf-2.57
11282         [ea0f8ca622af]
11283
11284 2003-01-17  Todd C. Miller  <Todd.Miller@courtesan.com>
11285
11286         * sudo.tab.h:
11287         regen
11288         [13a65a421567]
11289
11290         * lex.yy.c, sudo.tab.c:
11291         regen
11292         [0b529db7cb6d]
11293
11294         * parse.lex, parse.yacc, sudoers.pod:
11295         Add support for Defaults>RunasUser
11296         [20d726373175]
11297
11298 2003-01-07  Todd C. Miller  <Todd.Miller@courtesan.com>
11299
11300         * visudo.c:
11301         fclose() yyin after each yyparse() is done and use fopen() instead
11302         of using freopen().
11303         [587f8a2df857]
11304
11305         * parse.lex:
11306         Better fix for sudoers files w/o a newline before EOF. It looks
11307         like the issue is that yyrestart() does not reset the start
11308         condition to INITIAL which is an issue since we parse sudoers
11309         multiple times.
11310         [920f8326968a]
11311
11312 2003-01-06  Todd C. Miller  <Todd.Miller@courtesan.com>
11313
11314         * parse.lex:
11315         Work around what appears to be a flex bug when dealing with files
11316         that lack a final newline before EOF. This adds a rule to match EOF
11317         in the non-initial states which resets the state to INITIAL and
11318         throws an error.
11319         [b94943bb1f81]
11320
11321         * visudo.c:
11322         o The parser needs sudoers to end with a newline but some editors
11323         (emacs) may not add one. Check for a missing newline at EOF and
11324         add one if needed. o Set quiet flag during initial sudoers parse (to
11325         get options) o Move yyrestart() call and always use freopen() to
11326         open yyin after initial sudoers parse.
11327         [12d12f9b07aa]
11328
11329 2002-12-15  Todd C. Miller  <Todd.Miller@courtesan.com>
11330
11331         * set_perms.c:
11332         Fix pasto/thinko in setresgid()/setregid() usage. Want to set
11333         effective gid, not real gid, when reading sudoers.
11334         [c7d18b810fcd]
11335
11336         * set_perms.c:
11337         don't compile set_perms_posix if we have setreuid or setresuid
11338         [b9cea7a81a29]
11339
11340 2002-12-14  Todd C. Miller  <Todd.Miller@courtesan.com>
11341
11342         * sudo.pod, sudoers.pod:
11343         document new prompt escapes
11344         [2f088076b640]
11345
11346         * check.c:
11347         Add %U and %H escapes and redo prompt rewriting. "%%" now gets
11348         collapsed to "%" as was originally intended. This also gets rid of
11349         lastchar (does lookahead instead of lookback) which should simplify
11350         the logic slightly.
11351         [4b707b77b3c7]
11352
11353 2002-12-13  Todd C. Miller  <Todd.Miller@courtesan.com>
11354
11355         * tgetpass.c:
11356         Write the prompt *after* turning off echo to avoid some password
11357         characters being echoed on heavily-loaded machines with fast
11358         typists.
11359         [d38c57775915]
11360
11361         * config.sub:
11362         Add support for mipseb; wiz@danbala.tuwien.ac.at
11363         [cfdac87ed5c8]
11364
11365         * configure.in:
11366         Fix IRIX fallout from name changes in man dir/sect Makefile
11367         variables. Patch from erici AT motown DOT cc DOT utexas DOT edu
11368         [9a7618755c23]
11369
11370         * auth/pam.c:
11371         Keep a local copy of tgetpass_flags so we don't add in TGP_ECHO to
11372         the global copy. Problem noted by Peter Pentchev.
11373         [d0a3e189cb06]
11374
11375 2002-11-28  Todd C. Miller  <Todd.Miller@courtesan.com>
11376
11377         * sudo.tab.c:
11378         regen
11379         [23b931359087]
11380
11381         * parse.yacc:
11382         Add missing yyerror() calls; YYERROR does not seem to call this for
11383         us.
11384         [0be7aeb3ac57]
11385
11386 2002-11-26  Todd C. Miller  <Todd.Miller@courtesan.com>
11387
11388         * sudo.c:
11389         fix typo in comment; Pedro Bastos
11390         [d7406c460e99]
11391
11392 2002-11-22  Todd C. Miller  <Todd.Miller@courtesan.com>
11393
11394         * INSTALL:
11395         document --disable-setresuid
11396         [fbd03d03a027]
11397
11398         * auth/aix_auth.c, auth/bsdauth.c, auth/fwtk.c, auth/pam.c,
11399         auth/sudo_auth.c:
11400         Sprinkle some volatile qualifiers to prevent over-enthusiastic
11401         optimizers from removing memset() calls.
11402         [5370ac0e6129]
11403
11404         * logging.c, parse.yacc:
11405         minor sign fixes pointed out by gcc -Wsign-compare
11406         [db872438337f]
11407
11408         * set_perms.c, sudo.c, sudo.h:
11409         Revamp set_perms. We now use a version based on setresuid() or
11410         setreuid() when possible since that allows us to support the
11411         stay_setuid option and we always know exactly what the semantics
11412         will be (various Linux kernels have broken POSIX saved uid support).
11413         [523bc212396c]
11414
11415         * config.h.in, configure:
11416         regen from configure.in
11417         [351877ea2624]
11418
11419         * configure.in:
11420         Add checks for setresuid() and a way to disable using it
11421         [a5b21653d169]
11422
11423         * compat.h:
11424         No long need to emulate set*[ug]id() via setres[ug]id() or
11425         setre[ug]id(). The new set_perms stuff only uses things it knows are
11426         there.
11427         [47884bd5d1d9]
11428
11429         * sudo.c:
11430         Before exec, restore state of signal handlers to be the same as when
11431         we were initialy invoked instead of just reseting to SIG_DFL. Fixes
11432         a problem when using sudo with nohup. Based on a patch from Paul
11433         Markham.
11434         [f8f5a1484faa]
11435
11436         * sudo.c:
11437         o timestamp_uid should be uid_t, not int o clarify error message
11438         when sudo is run by root and no_root_sudo is set
11439         [19dda0734264]
11440
11441 2002-09-19  Todd C. Miller  <Todd.Miller@courtesan.com>
11442
11443         * README:
11444         update ftp link for bison
11445         [98bc191016e3]
11446
11447 2002-07-20  Todd C. Miller  <Todd.Miller@courtesan.com>
11448
11449         * set_perms.c:
11450         Error out if setusercontext() fails and the runas user is not root.
11451         [089f9ade4686]
11452
11453 2002-05-20  Todd C. Miller  <Todd.Miller@courtesan.com>
11454
11455         * auth/securid5.c:
11456         Fix rcsid
11457         [07e9e85dcc2f]
11458
11459         * configure.in:
11460         Fix SecurID API test
11461         [5ec201f454a5]
11462
11463 2002-05-17  Todd C. Miller  <Todd.Miller@courtesan.com>
11464
11465         * env.c:
11466         typo in comment
11467         [9d385c9ac533]
11468
11469         * configure.in:
11470         securid5 stuff needs pthreads. Just adding -lpthread is suboptimal
11471         but I don't see a better way at the moment.
11472         [f89e55cbb313]
11473
11474         * Makefile.in, auth/securid5.c:
11475         SecurID API version 5 support from Michael Stroucken
11476         [68500ac7e531]
11477
11478         * configure.in:
11479         Add check for SecurID 5.0 API
11480         [1ee242e6de6b]
11481
11482 2002-05-08  Todd C. Miller  <Todd.Miller@courtesan.com>
11483
11484         * strerror.c:
11485         We actually do still need config.h to get the 'const' definition for
11486         K&R C.
11487         [d9c982032d85]
11488
11489 2002-05-05  Todd C. Miller  <Todd.Miller@courtesan.com>
11490
11491         * configure:
11492         regen with autoconf 2.5.3
11493         [c71fc086eef5]
11494
11495         * configure.in:
11496         Don't set sysconfdir to '/etc' if the user has specified a --prefix.
11497         [d90da1efafd9]
11498
11499         * configure.in:
11500         Some fixes for autoconf 2.53 from Robert Uhl o don't AC_SUBST
11501         LIBOBJS o force a 4th arg for AC_CHECK_HEADER() to workaround a bug
11502         [dd67afefa90d]
11503
11504         * env.c, sudo.c, sudo.h:
11505         No need for dump_badenv() now that dump_defaults() knows how to dump
11506         lists.
11507         [6bcda468501d]
11508
11509         * BUGS, INSTALL, INSTALL.binary, Makefile.in, README, configure.in,
11510         version.h:
11511         ++version
11512         [44e3b8f95f0b]
11513
11514         * sudoers.pod:
11515         document timestampowner
11516         [37ebd69e9dd1]
11517
11518         * check.c:
11519         Don't call set_perms() when doing timestamp stuff unless
11520         timestamp_uid != 0.
11521         [63a63d41d18c]
11522
11523         * auth/sudo_auth.c, check.c, logging.c, parse.c, set_perms.c, sudo.c,
11524         sudo.h, testsudoers.c:
11525         g/c second arg to set_perms--it is no longer used
11526         [7ac4ce50c612]
11527
11528 2002-05-03  Todd C. Miller  <Todd.Miller@courtesan.com>
11529
11530         * check.c, set_perms.c, sudo.c, sudo.h:
11531         Add support for non-root timestamp dirs. This allows the timestamp
11532         dir to be shared via NFS (though this is not recommended).
11533         [faa83dd2b7fb]
11534
11535         * def_data.c, def_data.h, def_data.in:
11536         Add timestampowner, "Owner of the authentication timestamp dir"
11537         [d47640d4c86a]
11538
11539 2002-05-02  Todd C. Miller  <Todd.Miller@courtesan.com>
11540
11541         * env.c:
11542         Don't try to pre-compute the size of the new envp, just allocate
11543         space up front and realloc as needed. Changes to the new env
11544         pointer must all be made through insert_env() which now keeps track
11545         of spaced used and allocates as needed.
11546         [39bc934a9f2c]
11547
11548 2002-04-26  Todd C. Miller  <Todd.Miller@courtesan.com>
11549
11550         * configure:
11551         regen
11552         [0e12c09bb790]
11553
11554         * configure.in:
11555         Fix two typo/pastos; from jrj@purdue.edu
11556         [b718a4bf1181]
11557
11558 2002-04-25  Todd C. Miller  <Todd.Miller@courtesan.com>
11559
11560         * INSTALL.binary, README:
11561         ++version
11562         [a1e33027278c] [SUDO_1_6_6]
11563
11564         * configure, sudo.cat, sudo.man.in, sudoers.cat, sudoers.man.in,
11565         visudo.cat, visudo.man.in:
11566         regen
11567         [19eb2be283ef]
11568
11569         * CHANGES, RUNSON, TODO:
11570         Sync with 1.6.6
11571         [2ff9a9087f63]
11572
11573         * check.c:
11574         The the loop used to expand %h and %u, the lastchar variable was not
11575         being initialized. This means that if the last char in the prompt
11576         is '%' and the first char is 'h' or 'u' a extra copy of the host or
11577         user name would be copied, for which space had not been allocated.
11578         [b2e27197857d]
11579
11580 2002-04-18  Todd C. Miller  <Todd.Miller@courtesan.com>
11581
11582         * BUGS, INSTALL, Makefile.in, configure.in, version.h:
11583         crank version to 1.6.6
11584         [cfd08689e597]
11585
11586         * auth/afs.c:
11587         #undef VOID to get rid of an AFS warning
11588         [b40760564dc1]
11589
11590         * env.c:
11591         Use easprintf instead of emalloc + sprintf for some things.
11592         [e7bfe2e69a03]
11593
11594 2002-03-16  Todd C. Miller  <Todd.Miller@courtesan.com>
11595
11596         * lex.yy.c, sudo.tab.c:
11597         regen
11598         [35327104383d]
11599
11600         * parse.c, parse.lex, parse.yacc, testsudoers.c:
11601         Remove Chris Jepeway's email address so people don't bug him ;-)
11602         [c03410747a69]
11603
11604 2002-03-12  Todd C. Miller  <Todd.Miller@courtesan.com>
11605
11606         * sudo.c:
11607         Move endpwent() to be after set_perms(PERM_RUNAS, ...) and also call
11608         endgrent() at the same time.
11609         [28b6097d5d1a]
11610
11611 2002-02-22  Todd C. Miller  <Todd.Miller@courtesan.com>
11612
11613         * INSTALL:
11614         Make it clear which configure options take arguments.
11615         [38529e7efad0]
11616
11617 2002-01-25  Todd C. Miller  <Todd.Miller@courtesan.com>
11618
11619         * compat.h:
11620         HP-UX 9.x has RLIMIT_* but no RLIM_INFINITY. If there is no
11621         RLIM_INFINITY, just pretend it is -1. This works because we only
11622         check for RLIM_INFINITY and do not set anything to that value.
11623         [53173d34e6eb]
11624
11625 2002-01-22  Todd C. Miller  <Todd.Miller@courtesan.com>
11626
11627         * auth/pam.c:
11628         Zero and free allocated memory when there is a conversation error.
11629         [e342133db579]
11630
11631         * auth/bsdauth.c:
11632         Use sigaction() not signal()
11633         [126c2790561f]
11634
11635         * INSTALL:
11636         Mention that some linux kernels have broken POSIX saved ID support
11637         [571ef1a893d3]
11638
11639         * CHANGES:
11640         checkpoint for 1.6.5p2
11641         [9e9e456f7f43]
11642
11643         * configure:
11644         regen
11645         [d53703a46708]
11646
11647         * configure.in:
11648         Add --disable-setreuid flag
11649         [3b9f2679cb55]
11650
11651         * INSTALL:
11652         Document new --disable-setreuid option and change description for
11653         --disable-saved-ids to match new error message.
11654         [14fd3e5f60a5]
11655
11656         * set_perms.c:
11657         fatal() now takes an argument that determines whether or not to call
11658         perror().
11659         [d826b25e62ff]
11660
11661         * TROUBLESHOOTING:
11662         Update for new error messages from set_perms()
11663         [78007c3f76a9]
11664
11665         * PORTING:
11666         Update for new error messages from set_perms()
11667         [60c545a6bcff]
11668
11669 2002-01-21  Todd C. Miller  <Todd.Miller@courtesan.com>
11670
11671         * auth/pam.c:
11672         Make this compile w/o warnings
11673         [b90843a29af5]
11674
11675         * auth/pam.c:
11676         Mention that we can't use pam_acct_mgmt()
11677         [1dfc5a6e0479]
11678
11679         * auth/aix_auth.c, auth/bsdauth.c, auth/fwtk.c, auth/pam.c:
11680         The user's password was not zeroed after use when AIX
11681         authentication, BSD authentication, FWTK or PAM was in use.
11682         [b18fff30b1e7]
11683
11684 2002-01-20  Todd C. Miller  <Todd.Miller@courtesan.com>
11685
11686         * auth/pam.c:
11687         Avoid giving PAM a NULL password response, use the empty string
11688         instead. This avoids a log warning when the user hits ^C at the
11689         password prompt when PAM is in use.
11690         [c3315805e4e4]
11691
11692         * auth/pam.c:
11693         Don't check the return value of pam_setcred(). In Linux-PAM 0.75
11694         pam_setcred() returns the last saved return code, not the return
11695         code for the setcred module. Because we haven't called
11696         pam_authenticate(), this is not set and so pam_setcred() returns
11697         PAM_PERM_DENIED.
11698         [73db145fa179]
11699
11700         * Makefile.in:
11701         Don't need a '/' between $(DESTDIR) and a directory.
11702         [0901ca618176]
11703
11704         * Makefile.binary:
11705         Don't need a '/' between $(DESTDIR) and a directory.
11706         [cd7eb6098b87]
11707
11708 2002-01-18  Todd C. Miller  <Todd.Miller@courtesan.com>
11709
11710         * configure:
11711         regen
11712         [41b12c039282]
11713
11714         * configure.in:
11715         o BSDi also has a bogus setreuid() o Old FreeBSD has a bogus
11716         setreuid() o new NetBSD has a real setreuid() o add check for
11717         freeifaddrs() if getifaddrs() exists.
11718         [a82ee3b01733]
11719
11720         * config.h.in, interfaces.c:
11721         Older BSDi releases lack freeifaddrs() so add a test for that and if
11722         it is not present just use free().
11723         [6270671ea9d5]
11724
11725 2002-01-17  Todd C. Miller  <Todd.Miller@courtesan.com>
11726
11727         * CHANGES, RUNSON:
11728         Checkpoint for 1.6.5p1
11729         [26134ecf9b36]
11730
11731         * auth/passwd.c:
11732         Return AUTH_FAILURE in passwd_init() if skeyaccess() denies access
11733         to normal passwords, not AUTH_FATAL (which just causes an exit).
11734         [785e0f4bc0e2]
11735
11736         * visudo.c:
11737         Don't use memory after it has been freed.
11738         [c60492739fdb]
11739
11740         * auth/passwd.c:
11741         skeyaccess() wants a struct passwd * not a char *; Patch from
11742         Phillip E. Lobbes
11743         [65a1d3806fcd] [SUDO_1_6_5]
11744
11745         * BUGS:
11746         ++version
11747         [b2e1825e692e]
11748
11749         * CHANGES, RUNSON, TODO:
11750         checkpoint for sudo 1.6.5
11751         [d730945622e7]
11752
11753 2002-01-16  Todd C. Miller  <Todd.Miller@courtesan.com>
11754
11755         * configure:
11756         regen
11757         [49744c403ac9]
11758
11759         * INSTALL, INSTALL.binary, Makefile.in, README, configure.in:
11760         version 1.6.5
11761         [ec30a5f7fc45]
11762
11763         * sudo.cat, sudo.man.in, sudoers.cat, sudoers.man.in, visudo.cat,
11764         visudo.man.in:
11765         sudo version 1.6.5
11766         [458a3bed535d]
11767
11768         * logging.c:
11769         o when invoking the mailer as root use a hard-coded environment that
11770         doesn't include any info from the user's environment. Basically
11771         paranoia.
11772
11773         o Add support for the NO_ROOT_MAILER compile-time option and run the
11774         mailer as the user and not root if NO_ROOT_MAILER is defined.
11775         [4df351ec92ce]
11776
11777         * set_perms.c, sudo.h:
11778         Bring back PERM_FULL_USER
11779         [edb6039bb284]
11780
11781         * configure:
11782         regen
11783         [3eb2943afa03]
11784
11785         * version.h:
11786         version 1.6.5
11787         [044fc9a0c72b]
11788
11789         * INSTALL, config.h.in, configure.in:
11790         Add --disable-root-mailer option to run the mailer as the user and
11791         not root.
11792         [e9f805397963]
11793
11794         * CHANGES:
11795         checkpoint for 1.6.4p2
11796         [b58aae5aa98a]
11797
11798         * PORTING:
11799         Mention the "seteuid(0): Operation not permitted" problem here too
11800         just for good measure.
11801         [90135b37a691]
11802
11803 2002-01-15  Todd C. Miller  <Todd.Miller@courtesan.com>
11804
11805         * env.c, getspwuid.c, sudo.c:
11806         The SHELL environment variable was preserved from the user's
11807         environment instead of being reset based on the passwd database when
11808         the "env_reset" option was used. Now it is reset as it should be.
11809         [300066ef3c71]
11810
11811         * configure:
11812         regen
11813         [a47d779e6552]
11814
11815         * INSTALL, TROUBLESHOOTING, config.h.in, configure.in, set_perms.c,
11816         sudo.c:
11817         Add a configure option to turn off use of POSIX saved IDs
11818         [fb18cc8e94d0]
11819
11820         * configure:
11821         regen
11822         [d4f2f20025b6]
11823
11824         * configure.in:
11825         add --with-efence option
11826         [45c4f33a8e88]
11827
11828         * sudo.c:
11829         Only OR in MODE_RESET_HOME if MODE_RUN is set. Fixes a problem where
11830         "sudo -l" would not work if always_set_home was set.
11831         [c3a6de6c4800]
11832
11833         * lex.yy.c:
11834         regen
11835         [417424452998]
11836
11837         * parse.lex:
11838         Quoted commas were not being treated correctly in command line
11839         arguments.
11840         [753415541b37]
11841
11842         * sudo.c:
11843         o Move the call to rebuild_env() until after MODE_RESET_HOME is set.
11844         Otherwise, the set_home option has no effect.
11845
11846         o Fix use of freed memory when the "fqdn" flag is set. This was
11847         introduced by the fix for the "segv when gethostbynam() fails" bug.
11848         Also, we no longer call set_fqdn() if the "fqdn" flag is not set so
11849         there is no need to check the "fqdn" flag in set_fqdn() itself.
11850         [4b6a4245c04e]
11851
11852         * env.c:
11853         Add 'continue' statements to optimize the switch statement. From
11854         Solar.
11855         [a82c76975ae5]
11856
11857 2002-01-13  Todd C. Miller  <Todd.Miller@courtesan.com>
11858
11859         * sudoers.cat, sudoers.man.in:
11860         Regen from new sudoers.pod
11861         [6ecc07b3d0e1] [SUDO_1_6_4]
11862
11863         * sudoers.pod:
11864         Add caveat about stay_setuid flag
11865         [9d228a7bea1b]
11866
11867         * sudo.c:
11868         If set_perms == set_perms_posix and the stay_setuid flag is not set,
11869         set all uids to 0 and use set_perms_fallback().
11870         [c4e54d1ec86f]
11871
11872         * set_perms.c, sudo.h:
11873         Remove PERM_FULL_USER (which is no longer used) and add
11874         PERM_FULL_ROOT (used when exec'ing the mailer).
11875         [15406c522ea2]
11876
11877         * logging.c:
11878         Use set_perms(PERM_FULL_ROOT, 0) before exec'ing the mailer since we
11879         never want to run the mailer setuid.
11880         [2294853e0666]
11881
11882 2002-01-12  Todd C. Miller  <Todd.Miller@courtesan.com>
11883
11884         * sudo.cat, sudo.man.in, sudo.pod, visudo.cat, visudo.man.in,
11885         visudo.pod:
11886         Use sudo.ws instead of courtesan.com in URLs
11887         [55204002a308]
11888
11889         * Makefile.binary, Makefile.in:
11890         Fix mansect substitution
11891         [b7b5cbc3aa91]
11892
11893         * Makefile.in:
11894         Substitute man sections in Makefile.binary
11895         [040deb785e56]
11896
11897         * Makefile.binary:
11898         Sync install targets with Makefile.in and substitute in man
11899         sections.
11900         [77882a275281]
11901
11902         * INSTALL, INSTALL.binary:
11903         version is 1.6.4
11904         [0f87aabbcb70]
11905
11906         * Makefile.in:
11907         Repair bindist target
11908         [8d43bfe7e2d1]
11909
11910         * CHANGES:
11911         sync for 1.6.4
11912         [13ca3d4a0a72]
11913
11914 2002-01-10  Todd C. Miller  <Todd.Miller@courtesan.com>
11915
11916         * install-sh:
11917         Fix case where neither whoami nor id are found
11918         [424dd270bc47]
11919
11920 2002-01-09  Todd C. Miller  <Todd.Miller@courtesan.com>
11921
11922         * install-sh:
11923         If neither whoami nor id exists, just assume we are root.
11924         [2d2644e42c53]
11925
11926         * alloc.c:
11927         Add explicit cast to (VOID *) on malloc/realloc. Seems to be needed
11928         on AIX which for some reason isn't pulling in the malloc prototype.
11929         [231440d2ee3b]
11930
11931 2002-01-08  Todd C. Miller  <Todd.Miller@courtesan.com>
11932
11933         * Makefile.in, aclocal.m4, compat.h, parse.c, sudo.c:
11934         (c) 2002
11935         [700e3b41a68e]
11936
11937         * CHANGES:
11938         checkpoint
11939         [33e604bd8d5b]
11940
11941         * sudo.c:
11942         Defer assigning new environment until right before the exec.
11943         [f13c49e75c1c]
11944
11945         * parse.c:
11946         kill extra blank line
11947         [12ef22e9dae3]
11948
11949 2002-01-07  Todd C. Miller  <Todd.Miller@courtesan.com>
11950
11951         * configure:
11952         regen
11953         [a6cd2d788f74]
11954
11955         * configure.in:
11956         Use -O not -O2 for m88k-motorola-sysv* since motorola gcc-derived
11957         compiler doesn't recognise -O2.
11958         [5234aa543692]
11959
11960         * HISTORY:
11961         Clarify origins of Root Group sudo a bit based on info from
11962         billp@rootgroup.com
11963         [4deef01c4208]
11964
11965 2002-01-03  Todd C. Miller  <Todd.Miller@courtesan.com>
11966
11967         * LICENSE:
11968         2002
11969         [6c8e089dbd1a]
11970
11971         * CHANGES:
11972         checkpoint for 1.6.4rc1
11973         [3349eb87a49f]
11974
11975 2002-01-02  Todd C. Miller  <Todd.Miller@courtesan.com>
11976
11977         * config.h.in:
11978         now generated via autoheader
11979         [84657d303cb9]
11980
11981         * configure:
11982         regen
11983         [207bfa6a13f6]
11984
11985         * compat.h:
11986         Move in some stuff that was previously in config.h.
11987         [e576d8b6480f]
11988
11989         * aclocal.m4, configure.in:
11990         Add info for autoheader.
11991         [0549cd5da27c]
11992
11993 2002-01-01  Todd C. Miller  <Todd.Miller@courtesan.com>
11994
11995         * Makefile.in:
11996         o Add DESTDIR support o Use -M, -O, and -G instead of -m, -o, and
11997         -g to facilitate non-root installs
11998         [619216038f56]
11999
12000         * install-sh:
12001         Add -M option (like -m but only for root) If we can't find "whoami",
12002         use "id" w/ some sed.
12003         [b39121c8b792]
12004
12005         * configure:
12006         regen
12007         [b39b93ff9804]
12008
12009         * configure.in:
12010         allow user to always override mansectsu and mansectform
12011         [0fca5e63bd90]
12012
12013 2001-12-31  Todd C. Miller  <Todd.Miller@courtesan.com>
12014
12015         * mkinstalldirs:
12016         update from autoconf 2.52
12017         [07bd75a508c3]
12018
12019         * config.guess, config.sub:
12020         Update from autoconf 2.52
12021         [857b90fe31b7]
12022
12023         * configure:
12024         regen with autoconf 2.52
12025         [08e7d1ea2aeb]
12026
12027         * configure.in:
12028         o Call AC_PROG_CC_STDC to find out how to run the compiler in ANSI
12029         mode o Remove compiler-specific checks for HP-UX now that we use
12030         AC_PROG_CC_STDC
12031         [d433a70b6208]
12032
12033         * RUNSON:
12034         Checkpoint
12035         [babf6d2235d1]
12036
12037         * auth/pam.c:
12038         o Add pam_prep_user function to call pam_setcred() for the target
12039         user; on Linux this often sets resource limits. o When calling
12040         pam_end(), try to convert the auth->result to a PAM_FOO value.
12041         This is a hack--we really need to stash the last PAM_FOO value
12042         received and use that instead.
12043         [6ad6f340dd2a]
12044
12045         * set_perms.c, sudo.h:
12046         o Add pam_prep_user function to call pam_setcred() for the target
12047         user; on Linux this often sets resource limits.
12048         [67795421ac82]
12049
12050         * env.c:
12051         Fix off by one error in number of bytes allocated via malloc (does
12052         not affected any released version of sudo).
12053         [5f5915360111]
12054
12055 2001-12-30  Todd C. Miller  <Todd.Miller@courtesan.com>
12056
12057         * lex.yy.c:
12058         regen
12059         [8208c0277775]
12060
12061         * parse.lex:
12062         Allow '@', '(', ')', ':' in arguments to a defaults variable w/o
12063         requiring that they be quoted.
12064         [ae59bc8f68dd]
12065
12066         * sudoers.cat, sudoers.man.in, sudoers.pod:
12067         Mention that no double quotes are needed when
12068         adding/deleting/assigning a single value to a list.
12069         [25efc940a1f0]
12070
12071         * Makefile.in:
12072         Don't rely on mkdefaults being executable, call perl explicitly.
12073         [6edc97ba5f1d]
12074
12075         * sudo.tab.c:
12076         regen
12077         [49130b2e7e4d]
12078
12079         * parse.yacc:
12080         Remove some XXX that are no longer relevant.
12081         [d460ac0d3767]
12082
12083         * defaults.c:
12084         o Roll our own loop instead of using strpbrk() for better
12085         grokability o When adding to a list we must malloc() and use
12086         memcpy(), not strdup() since we must only copy len bytes from str.
12087         [649bef08e1f0]
12088
12089 2001-12-21  Todd C. Miller  <Todd.Miller@courtesan.com>
12090
12091         * sudo.tab.c:
12092         regen
12093         [f0bbf2c38c0e]
12094
12095         * parse.yacc:
12096         typo in comment
12097         [2563711ff593]
12098
12099 2001-12-19  Todd C. Miller  <Todd.Miller@courtesan.com>
12100
12101         * CHANGES:
12102         checkpoint
12103         [a6d8a29fb30e]
12104
12105         * configure:
12106         regen
12107         [bdfcaaf3bd13]
12108
12109         * configure.in:
12110         avoid the -g flag unless --with-devel was specified
12111         [a976707bef30]
12112
12113         * Makefile.in:
12114         mkdefaults, def_data.in and sigaction.c were missing from the
12115         tarball
12116         [6917ffbaa412]
12117
12118         * Makefile.in:
12119         def_data.c was missing
12120         [87c78b11453d]
12121
12122 2001-12-18  Todd C. Miller  <Todd.Miller@courtesan.com>
12123
12124         * env.c:
12125         Fix setting of $USER and $LOGNAME in the non-reset_env case. Also
12126         allow HOME, SHELL, LOGNAME, and USER to be specified in keep_env
12127         [fc8698e6a45e]
12128
12129         * TODO:
12130         Another TODO item
12131         [6f251d6cd466]
12132
12133         * sudoers:
12134         Add comment for Default section so folks know where it should go.
12135         [7edba626f392]
12136
12137 2001-12-17  Todd C. Miller  <Todd.Miller@courtesan.com>
12138
12139         * tgetpass.c:
12140         Use TCSETAF, not TCSETA to set terminal in termio case
12141         [fbd172f6c5d3]
12142
12143         * sudoers.cat, sudoers.man.in:
12144         regen from sudoers.pod
12145         [64edd2de816e]
12146
12147         * sudoers.pod:
12148         o Typo, Runas_User_List should be Runas_List o a User_List can not
12149         contain a uid o mention that the Defaults section should come after
12150         Alias definitions but before the user specifications
12151         [54070ba2092b]
12152
12153 2001-12-15  Todd C. Miller  <Todd.Miller@courtesan.com>
12154
12155         * sudoers.cat, sudoers.man.in:
12156         regen
12157         [e62d1d97693c]
12158
12159         * sudoers.pod:
12160         Fix listpw and verifypw sections, they were not being formatted
12161         properly.
12162         [123868c2f3e9]
12163
12164         * sudoers.cat, sudoers.man.in:
12165         regen
12166         [f94841f8b374]
12167
12168         * sudoers.pod:
12169         fix typos
12170         [f278f1c1184e]
12171
12172         * configure:
12173         regen
12174         [d2270049ba9f]
12175
12176         * config.h.in, configure.in:
12177         use AC_SYS_POSIX_TERMIOS instead of rolling our own
12178         [c1a13f1354b9]
12179
12180         * README:
12181         Reference sudo.ws not courtesan.com
12182         [ca13be67ebd7]
12183
12184         * PORTING:
12185         Add notes on shadow passwords
12186         [aa13863f2314]
12187
12188         * BUGS:
12189         In list mode (sudo -l), characters escaped with a backslash are
12190         shown verbatim with the backslash.
12191         [1a75a2858be2]
12192
12193         * sudoers:
12194         Add simple examples from OpenBSD (Marc Espie)
12195         [3ae9a9ae4125]
12196
12197         * tgetpass.c:
12198         Catch SIGTTIN and SIGTTOU too and treat them like SIGTSTP.
12199         [f8817699ee10]
12200
12201         * CHANGES:
12202         minor prettyification
12203         [f523587929b9]
12204
12205         * CHANGES:
12206         Updated change log
12207         [39d9010ee7a8]
12208
12209         * testsudoers.c:
12210         Fix CIDR handling here too.
12211         [c91db8344c32]
12212
12213         * auth/pam.c:
12214         Apparently a NULL response is OK
12215         [83bae61078d9]
12216
12217         * TODO:
12218         Checkpoint for upcoming beta release
12219         [efb95c09df2a]
12220
12221         * TROUBLESHOOTING:
12222         Many people believe that adding a runas spec should obviate the need
12223         for the -u flag. It does not.
12224         [c698bad85b0e]
12225
12226         * RUNSON:
12227         checkpoint update for upcoming 1.6.4 beta
12228         [009e465a0a45]
12229
12230         * config.h.in:
12231         o Add HAVE_STDLIB_H and HAVE_MEMORY_H o Define HAVE_STRINGS_H even
12232         if HAVE_STRING_H is defined -- this is safe now
12233         [d27c035f4e14]
12234
12235         * PORTING:
12236         Add signals section
12237         [2d24c13cb3c8]
12238
12239         * configure:
12240         regen
12241         [2b80a939e2ed]
12242
12243         * configure.in:
12244         Fix check for sigaction_t
12245         [6fa41c89ab20]
12246
12247         * sudo.c:
12248         XXX - should call find_path() as runas user, not root. Can't do
12249         that until the parser changes though.
12250         [f0b4f85651bd]
12251
12252         * sudo.c:
12253         If find_path() fails as root, try again as the invoking user (useful
12254         for NFS). Idea from Chip Capelik.
12255         [e03fa7872692]
12256
12257         * sudo.cat, sudo.man.in, sudoers.cat, sudoers.man.in:
12258         Regenerate after pod file changes
12259         [48e4bd75ec21]
12260
12261         * def_data.c, def_data.h, def_data.in, set_perms.c, sudo.c, sudo.h,
12262         sudo.pod, sudoers.pod:
12263         Add new sudoers option "preserve_groups". Previously sudo would not
12264         call initgroups() if the target user was root. Now it always calls
12265         initgroups() unless the -P command line option or the
12266         "preserve_groups" sudoers option is set. Idea from TJ Saunders.
12267         [4f730359f101]
12268
12269 2001-12-14  Todd C. Miller  <Todd.Miller@courtesan.com>
12270
12271         * compat.h, config.h.in:
12272         Use new HAVE_SIGACTION_T define
12273         [dfb25f3cae5b]
12274
12275         * logging.c:
12276         Fix compilation on K&C
12277         [7355e3275e34]
12278
12279         * configure:
12280         regen
12281         [a710584f92f0]
12282
12283         * configure.in:
12284         Add check for sigaction_t -- IRIX already defines this so don't
12285         redefine it.
12286         [df9c5737f6da]
12287
12288         * snprintf.c:
12289         fix typo
12290         [3d782b8134c8]
12291
12292         * interfaces.c:
12293         need stdlib.h here too
12294         [c789d8973ab2]
12295
12296         * configure:
12297         regen
12298         [44822856bf46]
12299
12300         * configure.in:
12301         Remove redundant checks for string.h, strings.h and unistd.h
12302         [933c94f8bbf4]
12303
12304         * sudo.cat, sudo.man.in, sudoers.cat, sudoers.man.in, visudo.cat,
12305         visudo.man.in:
12306         Regen from pod files
12307         [ad18c590f638]
12308
12309         * BUGS:
12310         Update for 1.6.4
12311         [26bc88b69d22]
12312
12313         * configure, lex.yy.c, sudo.tab.c:
12314         regen
12315         [bef89fd6fa2d]
12316
12317         * strerror.c:
12318         Return EINVAL if errnum > sys_nerr
12319         [0512374e6661]
12320
12321         * auth/sudo_auth.h:
12322         o Update copyright year
12323         [a877016db6e2]
12324
12325         * LICENSE, Makefile.binary, Makefile.in, aclocal.m4, compat.h,
12326         config.h.in, defaults.h, interfaces.h, pathnames.h.in, sudo.h,
12327         sudo.pod:
12328         o Update copyright year
12329         [e15a1b39039f]
12330
12331         * configure.in:
12332         o Don't define STDC_HEADERS unconditionally for IRIX o Update
12333         copyright year
12334         [82a8cb819e07]
12335
12336         * README:
12337         update version
12338         [d82e523a16b4]
12339
12340         * auth/afs.c, auth/aix_auth.c, auth/bsdauth.c, auth/dce.c,
12341         auth/fwtk.c, auth/kerb4.c, auth/kerb5.c, auth/pam.c, auth/passwd.c,
12342         auth/rfc1938.c, auth/secureware.c, auth/securid.c, auth/sia.c,
12343         auth/sudo_auth.c, logging.c, parse.c, parse.lex, parse.yacc,
12344         set_perms.c, snprintf.c, sudo.c, testsudoers.c, tgetpass.c, utime.c,
12345         visudo.c:
12346         o Reorder some headers and use STDC_HEADERS define properly o Update
12347         copyright year
12348         [fe39f76b3795]
12349
12350         * lsearch.c:
12351         o Reorder some headers and use STDC_HEADERS define properly o Update
12352         copyright year
12353         [764ba3d4fa13]
12354
12355         * getspwuid.c, goodpath.c, interfaces.c:
12356         o Reorder some headers and use STDC_HEADERS define properly o Update
12357         copyright year
12358         [fb46d46140d4]
12359
12360         * getcwd.c:
12361         o Reorder some headers and use STDC_HEADERS define properly o Update
12362         copyright year
12363         [b199d70ac7ab]
12364
12365         * alloc.c, check.c, defaults.c, env.c, fileops.c, find_path.c,
12366         fnmatch.c:
12367         o Reorder some headers and use STDC_HEADERS define properly o Update
12368         copyright year
12369         [dab8f192a3ed]
12370
12371         * configure:
12372         regen
12373         [156658f25cea]
12374
12375         * tgetpass.c:
12376         flags set in signal handlers should be volatile sig_atomic_t
12377         [c22931a5535e]
12378
12379         * config.h.in, configure.in:
12380         Add checks for volatile and sig_atomic_t
12381         [b03b3341381d]
12382
12383         * configure, lex.yy.c:
12384         regen
12385         [ed9daba88217]
12386
12387         * def_data.c, def_data.h, def_data.in, defaults.c, env.c, find_path.c,
12388         sudo.c, sudoers.pod:
12389         Remove "secure_path" Defaults option since it cannot work with the
12390         existing parser.
12391         [c9e54a0f5971]
12392
12393         * find_path.c, sudo.c:
12394         Unset "secure_path" if user_is_exempt()
12395         [fb7544565ae8]
12396
12397         * env.c, pathnames.h.in:
12398         o Remove assumption that PATH and TERM are not listed in env_keep o
12399         If no PATH is in the environment use a default value o If TERM is
12400         not set in the non-reset case also give it a default value.
12401         [c987eb7df268]
12402
12403         * aclocal.m4, configure.in, defaults.c, pathnames.h.in:
12404         _PATH_SENDMAIL -> _PATH_SUDO_SENDMAIL so --without-sendmail works on
12405         systems that define in paths.h
12406         [51865b0cdebf]
12407
12408         * auth/passwd.c, auth/sudo_auth.c, auth/sudo_auth.h:
12409         Add support for skeyaccess(3) if it is present in libskey.
12410         [8add77c7d3e7]
12411
12412 2001-12-13  Todd C. Miller  <Todd.Miller@courtesan.com>
12413
12414         * sudo.c:
12415         Only need to do 'lc = login_getclass(NULL)' if lc == NULL
12416         [5a3d3cbf2c6d]
12417
12418         * parse.lex:
12419         '\\' is a perfectly legal character to have in a command line
12420         argument.
12421         [c15a466ef00e]
12422
12423         * sudo.c:
12424         o Defer call to set_fqdn() until it is safe to use log_error() o
12425         Don't print errno string value if gethostbyname fails, it is not
12426         relevant
12427         [c0c6bcf08bcb]
12428
12429         * parse.c:
12430         Fix CIDR -> in_addr_t conversion.
12431         [2f307ebeb63f]
12432
12433 2001-12-12  Todd C. Miller  <Todd.Miller@courtesan.com>
12434
12435         * sudoers.pod:
12436         Remove an extra "User_List" in the User_Spec definition From
12437         ybertrand AT snoopymail.com
12438         [97bde59ea280]
12439
12440         * parse.c:
12441         Make 'listpw=never' work for users who are not explicitly mentioned
12442         in sudoers.
12443         [258f0f30a428]
12444
12445         * sudoers.pod:
12446         Remove gratuitous '=' in EBNF grammar; era AT iki.fi
12447         [4b0f03872ee1]
12448
12449         * sudoers.pod:
12450         Document new list Defaults type and convert env_keep and env_delete
12451         to lists. Document new env_check option.
12452         [a07f1f079fe3]
12453
12454         * lex.yy.c, sudo.tab.c, sudo.tab.h:
12455         regen parser
12456         [e39ac6c6581b]
12457
12458         * parse.lex:
12459         Don't let '#' appear in a {WORD} and restrict #foo in a Runas spec
12460         to #[0-9-]+.
12461         [69c5388908f3]
12462
12463         * configure:
12464         regen
12465         [0f1877b88cb3]
12466
12467         * aclocal.m4:
12468         Simpler SUDO_FUNC_ISBLANK that uses AC_TRY_LINK
12469         [6545503ae361]
12470
12471         * config.h.in, configure.in:
12472         Add check for skeyaccess(3)
12473         [6caf69fe6359]
12474
12475         * visudo.pod:
12476         Document new -c, -f, and -q options
12477         [13d0203c21d3]
12478
12479         * visudo.c:
12480         o Add -f option (alternate sudoers file) o Convert to use getopt(3)
12481         [4c2b664d617d]
12482
12483         * configure:
12484         regen
12485         [6d5bd932e7b5]
12486
12487         * aclocal.m4, config.h.in, configure.in:
12488         Add check for isblank and a replacement macro if it doesn't exist.
12489         [b524f5e4f953]
12490
12491 2001-12-11  Todd C. Miller  <Todd.Miller@courtesan.com>
12492
12493         * visudo.c:
12494         In check-only mode, don't create sudoers if it does not already
12495         exist.
12496         [c748a2d5acad]
12497
12498         * parse.yacc:
12499         o Add a new token, DEFVAR, to indicate a Defaults variable name o
12500         Add support for "+=" and "-=" list operators o replace some 1 and 0
12501         with TRUE and FALSE for greater legibility.
12502         [554cb174b37e]
12503
12504         * parse.lex:
12505         o Use exclusive start conditions to remove some ambiguity in the
12506         lexer. Also reorder some things for clarity. o Add support for
12507         "+=" and "-=" list operators. o Use the new DEFVAR token to denote
12508         a Defaults variable name.
12509         [3a2cf8323e26]
12510
12511         * sudo.h:
12512         Prototype init_envtables()
12513         [b74916469dab]
12514
12515         * env.c:
12516         o Convert environment handling to use lists instead of strings.
12517         This greatly simplifies routines that need to do "foreach" type
12518         operations. o Add new init_envtables() function to set env_check
12519         and env_delete defaults based on initial_badenv_table and
12520         initial_checkenv_table (formerly sudo_badenv_table).
12521         [0a8b404658b6]
12522
12523         * defaults.c, defaults.h:
12524         o Add a new LIST type and functions to manipulate it. o This is for
12525         use with environment handling variables. o Call new
12526         init_envtables() routine inside init_defaults() to initialize the
12527         environment lists.
12528         [ae73e64f0902]
12529
12530         * def_data.c, def_data.h, def_data.in:
12531         Convert environment options to use the new LIST type and add a new
12532         one, env_check that only deletes if the sanity check fails.
12533         [3019503936de]
12534
12535         * testsudoers.c:
12536         Add dummy version of init_envtables()
12537         [9d9e3ee609d9]
12538
12539         * parse.yacc:
12540         honor quiet mode
12541         [8330fba6167c]
12542
12543         * visudo.c:
12544         Add check-only mode
12545         [dab411bc8c35]
12546
12547         * mkdefaults:
12548         Fix generation of entries with NULL descriptions.
12549         [ea75b9fed02e]
12550
12551 2001-12-09  Todd C. Miller  <Todd.Miller@courtesan.com>
12552
12553         * tgetpass.c:
12554         Use sigaction_t and quiet a gcc warning.
12555         [6f67d719c452]
12556
12557         * sudo.c:
12558         Must reset signal handlers before we exec
12559         [300418120e1a]
12560
12561         * auth/aix_auth.c, auth/bsdauth.c, auth/fwtk.c, auth/pam.c,
12562         auth/sudo_auth.c:
12563         Be carefule now that tgetpass() can return NULL (user hit ^C). PAM
12564         version needs testing. Set SIGTSTP to SIG_DFL during password entry
12565         so user can suspend us.
12566         [00304aa58747]
12567
12568         * tgetpass.c:
12569         Add support for interrupting/suspending tgetpass via keyboard input.
12570         If you suspend sudo from the password prompt and resume it will re-
12571         prompt you.
12572         [4af2b5101d32]
12573
12574         * sudo.c:
12575         Don't block keyboard interrupt signals, just set them to SIG_IGN.
12576         [d46d7f67ef6b]
12577
12578 2001-12-08  Todd C. Miller  <Todd.Miller@courtesan.com>
12579
12580         * config.h.in:
12581         add back HAVE_SIGACTION
12582         [c9c7702c603e]
12583
12584         * configure:
12585         regen
12586         [09fe669d337f]
12587
12588         * config.h.in, configure.in, logging.c, sudo.c, visudo.c:
12589         Kill POSIX_SIGNALS define and old signal support now that we emulate
12590         POSIX ones Also be sure to correctly initialize struct sigaction.
12591         [4bc2a6dbb2be]
12592
12593         * strerror.c:
12594         Don't need config.h or "#ifndef HAVE_STRERROR" wrapper.
12595         [1ad64a19f328]
12596
12597         * compat.h:
12598         Add scaffolding for POSIX signal emulation
12599         [945861d4c93b]
12600
12601         * sigaction.c:
12602         o Add missing ';' so this compiles o Can't use NULL since we don't
12603         include stdio.h
12604         [04d0cac7438f]
12605
12606         * sigaction.c:
12607         Emulate sigaction() using sigvec()
12608         [d0b54a989875]
12609
12610 2001-11-13  Todd C. Miller  <Todd.Miller@courtesan.com>
12611
12612         * sudoers.pod:
12613         Document new behavior of negative values of timestamp_timeout Fix a
12614         typo
12615         [4c0716570d01]
12616
12617         * sudo.pod:
12618         Add security note about command not being logged after 'sudo su' and
12619         friends.
12620         [43294851a33c]
12621
12622         * sudo.pod:
12623         Mention that -V prints default values when run as root, including
12624         the list of environment variables to clear.
12625         [d9e5e550a8c3]
12626
12627         * Makefile.in:
12628         Run pod2man with --quotes=none to avoid stupid quoting of C<>
12629         entries.
12630         [997b23c35dbe]
12631
12632 2001-11-12  Todd C. Miller  <Todd.Miller@courtesan.com>
12633
12634         * auth/sudo_auth.c, def_data.c, def_data.h, def_data.in, sudoers.pod:
12635         Add mail_badpass option Also modify mail_always behavior to also
12636         send mail when the password is wrong
12637         [838d40ccafce]
12638
12639         * env.c, sudo.c, sudo.h:
12640         Dump default bad env table when 'sudo -V' is run by root.
12641         [f67f1b8048b0]
12642
12643         * sudoers.pod:
12644         document env_delete
12645         [d74f893663a2]
12646
12647         * env.c:
12648         Add support for '*' in env_keep when not resetting the environment
12649         (ie: the normal case).
12650         [fd4fb62ea8fd]
12651
12652         * env.c:
12653         Add env_delete variable that lets the user replace/add to the
12654         bad_env_table. Allow '*' wildcard in env_keep entries.
12655         [aa728bc35e29]
12656
12657 2001-11-06  Todd C. Miller  <Todd.Miller@courtesan.com>
12658
12659         * mkinstalldirs:
12660         Force umask to 022 to guarantee sane directory permissions.
12661         [9ab3cfe70569]
12662
12663 2001-11-02  Todd C. Miller  <Todd.Miller@courtesan.com>
12664
12665         * Makefile.in:
12666         add sudo.tab.h and sudo.tab.c to sudo.tab.o dependency
12667         [671010465e6f]
12668
12669         * mkdefaults:
12670         fix breakage in last commit
12671         [8318f8851e56]
12672
12673         * Makefile.in:
12674         acsite.m4 -> aclocal.m4
12675         [30c146873a01]
12676
12677         * check.c:
12678         fix I_TS_TIMEOUT vs. I_TIMESTAMP_TIMEOUT pasto in previous commit
12679         [4dc8b39954da]
12680
12681         * def_data.c:
12682         regenerated from def_data.in
12683         [915ea16ce1eb]
12684
12685         * check.c, defaults.c, defaults.h:
12686         Add new T_UINT type that most things use instead of T_INT If
12687         timestamp_timeout is < 0 then treat the ticket as never expiring (to
12688         be expired manually by the user).
12689         [3a3a636a2a5d]
12690
12691         * def_data.in:
12692         change most T_INT -> T_UINT
12693         [a2228d2457af]
12694
12695         * mkdefaults:
12696         fix warning when no args
12697         [ca70a5394af5]
12698
12699         * visudo.c:
12700         Change 2 Exit() -> exit() Avoid stdio in Exit() and call _exit() if
12701         we are a signal handler. We no longer print the signal number but
12702         the user can just check the exit value for that.
12703         [dc424f631fef]
12704
12705 2001-10-16  Todd C. Miller  <Todd.Miller@courtesan.com>
12706
12707         * logging.c:
12708         when setting up pipes in child process check for case where stdin ==
12709         pipe fd 0
12710         [518112d76184]
12711
12712 2001-10-11  Todd C. Miller  <Todd.Miller@courtesan.com>
12713
12714         * visudo.c:
12715         Ignore editor exit value since XPG4 says vi's exit value is the
12716         count of editing errors made (failed searches, etc).
12717         [b9d952284865]
12718
12719 2001-10-05  Todd C. Miller  <Todd.Miller@courtesan.com>
12720
12721         * configure:
12722         regen
12723         [cb3aa586f03b]
12724
12725         * configure.in:
12726         sco now is identified by config.guess as *-sco-*
12727         [46664bbdea61]
12728
12729         * configure.in:
12730         Check for getspnam() in -lgen if not in -lc for UnixWare.
12731         [0f152ad1ba93]
12732
12733 2001-09-18  Todd C. Miller  <Todd.Miller@courtesan.com>
12734
12735         * sudoers.pod, visudo.pod:
12736         "upper case" -> "uppercase"
12737         [f9151f232326]
12738
12739         * sudoers.pod:
12740         fix typos and grammar; pjanzen@foatdi.harvard.edu
12741         [2855d73d0237]
12742
12743 2001-08-28  Todd C. Miller  <Todd.Miller@courtesan.com>
12744
12745         * sudoers.pod:
12746         Missing word (specify); krapht@secureops.com
12747         [65523eb37a2c]
12748
12749 2001-08-23  Todd C. Miller  <Todd.Miller@courtesan.com>
12750
12751         * sudo.c:
12752         If we fail to lookup a login class, apply the default one.
12753         [d4869faa6816]
12754
12755         * logging.c:
12756         In log_error() free message, not logline unconditionally, then free
12757         logline if it is not the same as message. No function change but
12758         this mirrors how they are allocated.
12759         [565e5f6cc643]
12760
12761 2001-07-17  Todd C. Miller  <Todd.Miller@courtesan.com>
12762
12763         * configure:
12764         regenerate
12765         [834a48f548a2]
12766
12767         * configure.in:
12768         remove some backslash quotes that are unneeded
12769         [50d401d6e2ca]
12770
12771         * configure.in:
12772         o Tweaks to make this work with autoconf-2.50 o Use AC_LIBOBJ
12773         instead of changing LIBOBJS directly o Use AC_REPLACE_FUNCS where we
12774         can o Use AC_CHECK_FUNCS instead of AC_CHECK_FUNC so we don't have
12775         to AC_DEFINE things manually.
12776         [f502c5f15f92]
12777
12778         * config.guess, config.sub:
12779         Updated from autoconf-2.50
12780         [6140205915ef]
12781
12782 2001-05-22  Todd C. Miller  <Todd.Miller@courtesan.com>
12783
12784         * README:
12785         Update mailing list section. We use mailman now, not majordomo.
12786         [b9a8ca45e6dc]
12787
12788 2001-05-10  Todd C. Miller  <Todd.Miller@courtesan.com>
12789
12790         * getspwuid.c, logging.c, sudo.c:
12791         Use setpwent()/endpwent() + all the shadow variants to make sure we
12792         don't inadvertantly leak an fd to the child. Apparently Linux's
12793         shadow routines leave the fd open even if you don't call setspent().
12794         Reported by mike@gistnet.com; different patch used.
12795         [d33792ef6c01]
12796
12797 2001-04-13  Todd C. Miller  <Todd.Miller@courtesan.com>
12798
12799         * sudoers.pod:
12800         s/eg./e.g./
12801         [bd32a0acaf93]
12802
12803         * tgetpass.c:
12804         select() may return EAGAIN. If so, continue like we do for EINTR.
12805         [5f202c943818]
12806
12807         * logging.c:
12808         Fix a non-exploitable buffer overflow in the word splitting code.
12809         This should really be rewritten.
12810         [4c724363863a]
12811
12812         * Makefile.in:
12813         FAQ link goes away
12814         [1d26dd6c8972]
12815
12816         * INSTALL:
12817         Tell people to look in sample.syslog.conf for examples, not FAQ
12818         [affcae3f43ca]
12819
12820         * TROUBLESHOOTING:
12821         Update list of env vars that are cleared
12822         [234e56f1435a]
12823
12824         * sudo.c:
12825         remove struct env_table decl since that stuff has all moved to env.c
12826         [5dd923148777]
12827
12828 2001-04-04  Todd C. Miller  <Todd.Miller@courtesan.com>
12829
12830         * fileops.c:
12831         Fix a pasto in flock-style unlocking and include <sys/file.h> for
12832         flock on older systems; twetzel@gwdg.de
12833         [d5420d9d2861]
12834
12835         * configure:
12836         regen to get NeXT lockf/flock fix
12837         [d3ba6ed70e15]
12838
12839         * configure.in:
12840         force NeXT to use flock since lockf is broken
12841         [bd5391dca1bb]
12842
12843 2001-03-30  Todd C. Miller  <Todd.Miller@courtesan.com>
12844
12845         * check.c:
12846         Use stashed user_gid when checking against exempt gid since sudo
12847         sets its gid to a a value that makes sudoers readable. Previously
12848         if you used gid 0 as the exempt group everyone would be exempt. From
12849         Paul Kranenburg <pk@cs.few.eur.nl>
12850         [0b140cc3a817]
12851
12852 2001-03-29  Todd C. Miller  <Todd.Miller@courtesan.com>
12853
12854         * configure:
12855         regen
12856         [cc455408f32b]
12857
12858         * aclocal.m4:
12859         #include stdio.h in SUDO_CHECK_TYPE since IRIX 6 aparently defines
12860         some types (such as ssize_t) therein.
12861         [b6aee85ca331]
12862
12863 2001-03-02  Todd C. Miller  <Todd.Miller@courtesan.com>
12864
12865         * defaults.c:
12866         Fix negation of paths in a boolean context. Problem found by
12867         apt@UH.EDU
12868         [8aee217a7cdf]
12869
12870 2001-02-23  Todd C. Miller  <Todd.Miller@courtesan.com>
12871
12872         * visudo.c:
12873         pasto
12874         [ad32b277bf68]
12875
12876 2001-02-17  Todd C. Miller  <Todd.Miller@courtesan.com>
12877
12878         * visudo.c:
12879         SA_RESETHAND means the opposite of what I was thinking--oops To
12880         block all signals in old-style signals use ~0, not 0xffffffff
12881         [6ecdd793590a]
12882
12883 2001-02-04  Todd C. Miller  <Todd.Miller@courtesan.com>
12884
12885         * defaults.c:
12886         coerce difference of pointers to int when used in a string length
12887         printf format; deraadt@openbsd.org
12888         [a9d10f07180d]
12889
12890 2001-01-17  Todd C. Miller  <Todd.Miller@courtesan.com>
12891
12892         * visudo.c:
12893         Block all signals in Exit() to avoid a signal race. There is still
12894         a tiny window but I'm not going to worry about it.
12895         [6661805c0458]
12896
12897 2001-01-07  Todd C. Miller  <Todd.Miller@courtesan.com>
12898
12899         * env.c:
12900         glibc uses the LANGUAGE env var so clear that too; Solar Designer
12901         [d4ba95628afb]
12902
12903         * lex.yy.c:
12904         Regenerate with a fix to flex.skl that preserves errno from
12905         clobbering by isatty().
12906         [607eec736e19]
12907
12908 2000-12-31  Todd C. Miller  <Todd.Miller@courtesan.com>
12909
12910         * auth/aix_auth.c, auth/bsdauth.c, auth/fwtk.c, auth/pam.c,
12911         auth/sia.c, auth/sudo_auth.c:
12912         Some defaults I_ defines got renamed.
12913         [ec19b23caaf3]
12914
12915         * Makefile.in, check.c, def_data.c, def_data.h, def_data.in,
12916         defaults.c, defaults.h, env.c, logging.c, mkdefaults, parse.yacc,
12917         set_perms.c, sudo.c, sudo.tab.c:
12918         Move defaults info into its own files from which we generate .h and
12919         .c files. This makes adding or rearranging variables much simpler.
12920         [e91b880b5043]
12921
12922 2000-12-30  Todd C. Miller  <Todd.Miller@courtesan.com>
12923
12924         * configure, configure.in:
12925         fix typo in last commit
12926         [10a6ee2bae71]
12927
12928         * compat.h, config.h.in, configure, configure.in:
12929         Add check + emulation for setegid (like seteuid).
12930         [29492092bd2f]
12931
12932         * env.c:
12933         Make env_keep override badenv_table as documented Fix traversal of
12934         badenv_table (broken in last commit)
12935         [37c9f0d22673]
12936
12937         * set_perms.c, sudo.c, sudo.h:
12938         Don't try and build saved uid version of set_perms on systems w/o
12939         them. Rename set_perms_saved_uid() -> set_perms_posix() Make
12940         set_perms_setreuid simply be set_perms_fallback() and simply include
12941         the appropriate function at compile time (setreuid() vs. setuid()).
12942         [3107333c062c]
12943
12944         * sudoers.cat, sudoers.man.in, sudoers.pod:
12945         PATH is also preserved when env_reset is in effect
12946         [90e45c5711ff]
12947
12948         * CHANGES, Makefile.in, check.c, compat.h, config.h.in, configure,
12949         configure.in, defaults.c, defaults.h, env.c, find_path.c,
12950         getspwuid.c, set_perms.c, sudo.c, sudo.cat, sudo.h, sudo.man.in,
12951         sudo.pod, sudoers.cat, sudoers.man.in, sudoers.pod, testsudoers.c,
12952         visudo.c, visudo.cat, visudo.man.in:
12953         New Defaults options: o stay_setuid - sudo will remain setuid if
12954         system has saved uids or setreuid(2) o env_reset - reset the
12955         environment to a sane default o env_keep - preserve environment
12956         variables that would otherwise be cleared
12957
12958         No longer use getenv/putenv/setenv functions--do environment munging
12959         by hand. Potentially dangerous environment variables can be cleared
12960         only if they contain '/' pr '%' characters to protect buggy
12961         programs. Moved environment routines into env.c (new file)
12962         [c2f97651db4c]
12963
12964         * INSTALL:
12965         Clear up --without-passwd description
12966         [2f336dab6733]
12967
12968         * putenv.c, sudo_setenv.c:
12969         We now build up a new environment from scratch and assign it to
12970         "environ".
12971         [6ae6152f2238]
12972
12973 2000-12-19  Todd C. Miller  <Todd.Miller@courtesan.com>
12974
12975         * sudo.pod, visudo.pod:
12976         Grammatical fixes from Paul Janzen
12977         [e03ead2e56f8]
12978
12979 2000-12-15  Todd C. Miller  <Todd.Miller@courtesan.com>
12980
12981         * visudo.c:
12982         If there was a syntax error and the user just wants to quit, unlink
12983         sudoers if it is zero length.
12984         [74ba7921f520]
12985
12986         * visudo.c:
12987         'Q' means ignore parse error, not 'q'
12988         [e8d0e4491fe6]
12989
12990         * visudo.c:
12991         Open sudoers for writing with mode SUDOERS_MODE From Dimitry Andric
12992         <dim@xs4all.nl>
12993         [b24990a72491]
12994
12995 2000-12-13  Todd C. Miller  <Todd.Miller@courtesan.com>
12996
12997         * set_perms.c:
12998         Add missing #ifdef HAVE_LOGIN_CAP_H; ayamura@ayamura.org
12999         [41a8db10e076]
13000
13001 2000-12-09  Todd C. Miller  <Todd.Miller@courtesan.com>
13002
13003         * config.guess, config.sub:
13004         Darwin / Mac OS X support from Wilfredo Sanchez <wsanchez@apple.com>
13005         [6052da895d2e]
13006
13007 2000-11-03  Todd C. Miller  <Todd.Miller@courtesan.com>
13008
13009         * sudo.c, visudo.c:
13010         Use exit(127), not exit(-1)
13011         [9ff0c3eada34]
13012
13013         * Makefile.in, defaults.c, defaults.h, set_perms.c, sudo.c:
13014         Move set_perms() to its own file and use POSIX saved uid or
13015         setreuid() if available.
13016
13017         Added stay_setuid option for systems that have libraries that
13018         perform extra paranoia checks in system libraries for setuid
13019         programs (ie: anything with issetugid(2)).
13020         [28960f842698]
13021
13022         * sudo.c:
13023         strip more bits from the environment and add a facility for
13024         stripping things only if they contain '/' or '%' to address printf
13025         format string vulnerabilities in other programs.
13026         [b98d6375f299]
13027
13028 2000-11-02  Todd C. Miller  <Todd.Miller@courtesan.com>
13029
13030         * configure:
13031         regen
13032         [7e74e5c91049]
13033
13034         * configure.in:
13035         For NCR, add -lc89 to LIBS, not SUDO_LIBS and cache the existence of
13036         strcasecmp().
13037         [a418e9e70442]
13038
13039         * configure:
13040         regen
13041         [bbff244a52bc]
13042
13043         * configure.in:
13044         Check for strcasecmp(3) in -lc89 for NCR Unix
13045         [361c99576681]
13046
13047 2000-11-01  Todd C. Miller  <Todd.Miller@courtesan.com>
13048
13049         * config.h.in:
13050         Define HAVE_INNETGR #ifdef HAVE__INNETGR
13051         [473cdb92b6db]
13052
13053         * configure:
13054         regen
13055         [4e6364a195e0]
13056
13057         * compat.h, config.h.in, configure.in:
13058         Add check for _innetgr(3) since NCR systems have that instead of
13059         innetgr(3).
13060         [25e6852e7494]
13061
13062 2000-10-31  Todd C. Miller  <Todd.Miller@courtesan.com>
13063
13064         * auth/securid.c:
13065         check return value of creadcfg() call sd_close() after sd_auth()
13066         store username in sd->username so we don't rely on the USER env
13067         variable
13068         [d106b4f42722]
13069
13070 2000-10-30  Todd C. Miller  <Todd.Miller@courtesan.com>
13071
13072         * INSTALL:
13073         document --with-bsdauth
13074         [f1518ecc2ee9]
13075
13076         * configure:
13077         regen
13078         [dceb35071ea8]
13079
13080         * configure.in:
13081         --with-bsdauth assumes --with-logincap
13082         [4200778083fd]
13083
13084         * auth/bsdauth.c, auth/fwtk.c:
13085         When prompting for a response to a challenge, if the user just hits
13086         return then reprompt with echo turned on.
13087         [a539b6474a97]
13088
13089 2000-10-29  Todd C. Miller  <Todd.Miller@courtesan.com>
13090
13091         * sudo.c:
13092         Remove debugging code that should not have been committed, oops.
13093         [9862607b77a7]
13094
13095         * auth/bsdauth.c:
13096         Use lower-level routines and get the password ourselves. Checks for
13097         a challenge and if there is one echo is not turned off.
13098         [2d8fcd166baa]
13099
13100         * auth/pam.c, auth/sudo_auth.h:
13101         minor housekeeping, no real code changes
13102         [d0074a277fb4]
13103
13104 2000-10-27  Todd C. Miller  <Todd.Miller@courtesan.com>
13105
13106         * sudo.c:
13107         Fix a coredump in the logging functions if gethostname(2) fails by
13108         deferring the call to log_error() until things are better setup.
13109
13110         Fix return value of set_loginclass() in non-BSD-auth case.
13111
13112         Hard-code 'sudo' in the usage message so we can fit more options on
13113         a line
13114         [d9d1b7579818]
13115
13116         * logging.c:
13117         Fix errant ';' (typo) that broken MSG_ONLY
13118         [849b2276a470]
13119
13120 2000-10-26  Todd C. Miller  <Todd.Miller@courtesan.com>
13121
13122         * sudo.cat, sudo.man.in:
13123         regen
13124         [bb3c8c6704d1]
13125
13126         * sudo.pod:
13127         Document -a flag
13128         [e18316cebaac]
13129
13130         * Makefile.in, auth/bsdauth.c, auth/sudo_auth.h, config.h.in,
13131         configure, configure.in, getspwuid.c, sudo.c:
13132         Add support for BSD authentication.
13133         [f374cfd9ca0d]
13134
13135 2000-10-19  Todd C. Miller  <Todd.Miller@courtesan.com>
13136
13137         * sudoers.pod:
13138         Fix typo; from sato@complex.eng.hokudai.ac.jp
13139         [3085fee9766e]
13140
13141 2000-10-12  Todd C. Miller  <Todd.Miller@courtesan.com>
13142
13143         * sudoers.pod:
13144         Mention negating umask
13145         [c9e410294dae]
13146
13147         * defaults.c:
13148         Allow user to specify umask of 0777 (same as !umask)
13149         [bb771daa96fe]
13150
13151 2000-10-09  Todd C. Miller  <Todd.Miller@courtesan.com>
13152
13153         * sudo.pod, visudo.pod:
13154         Fix a typo and give a URL for the sudo history.
13155         [77f73199aedb]
13156
13157 2000-10-08  Todd C. Miller  <Todd.Miller@courtesan.com>
13158
13159         * defaults.c, sudo.pod:
13160         fix typos; pepper@reppep.com
13161         [5532c7421340]
13162
13163 2000-09-14  Todd C. Miller  <Todd.Miller@courtesan.com>
13164
13165         * sudo.c, sudo.h, sudo_setenv.c:
13166         sudo_setenv() now exits on memory alloc failure instead of returning
13167         -1.
13168         [71f1cf18f47b]
13169
13170 2000-09-07  Todd C. Miller  <Todd.Miller@courtesan.com>
13171
13172         * sudo.c:
13173         Strip out NLSPATH and PATH_LOCALE from the environment for FreeBSD
13174         and possibly others.
13175         [b69d985b0d22]
13176
13177         * logging.c:
13178         Don't use vsyslog(3) since HP-UX (and others?) lack it. This means
13179         that "%m" won't be expanded but we don't use that anyway since the
13180         logging routines may splat to stderr as well.
13181         [8d37a544d0c0]
13182
13183         * defaults.c, defaults.h, sudo.c, sudoers.cat, sudoers.man.in,
13184         sudoers.pod:
13185         Add always_set_home variable
13186         [dbcaff646e07]
13187
13188         * configure, configure.in:
13189         Have to hard code default values in help since the defaults are set
13190         _after_ the help stuff.
13191         [7b5d6d72f55c]
13192
13193 2000-08-31  Todd C. Miller  <Todd.Miller@courtesan.com>
13194
13195         * lex.yy.c, parse.lex:
13196         Allow special characters (including '#') to be embedded in pathnames
13197         if quoted by a '\\'. The quoted chars will be dealt with by
13198         fnmatch(). Unfortunately, 'sudo -l' still prints the '\\'.
13199         [3ed33cf09977]
13200
13201 2000-08-13  Todd C. Miller  <Todd.Miller@courtesan.com>
13202
13203         * install-sh:
13204         Better path searching for programs we need.
13205         [60517cb1f0d6]
13206
13207         * TROUBLESHOOTING:
13208         Add section on "C compiler cannot create executables" errors.
13209         [e4ada6eaee59]
13210
13211         * Makefile.binary, Makefile.in, version.h:
13212         Crank version
13213         [93d1bd5b7f5e]
13214
13215         * aclocal.m4, configure, configure.in, sudo.cat, sudo.man.in,
13216         sudo.pod, sudoers.cat, sudoers.man.in, sudoers.pod, visudo.cat,
13217         visudo.man.in, visudo.pod:
13218         Substitute values from configure into man pages.
13219         [619854c356c1]
13220
13221 2000-08-12  Todd C. Miller  <Todd.Miller@courtesan.com>
13222
13223         * parse.c, sudo.c:
13224         The listpw and verifypw sudoers options would not take effect
13225         because the value of the default was checked *before* sudoers was
13226         parsed. Instead of passing in the value of PWCHECK_* to
13227         sudoers_lookup(), pass in the arg for def_ival() so the check can be
13228         deferred until after sudoers is parsed.
13229         [4f596e358f72]
13230
13231 2000-08-11  Todd C. Miller  <Todd.Miller@courtesan.com>
13232
13233         * tgetpass.c:
13234         When writing prompt, no need to write the NUL as well;
13235         hag@linnaean.org
13236         [fbcdd7b431ee]
13237
13238 2000-06-09  Todd C. Miller  <Todd.Miller@courtesan.com>
13239
13240         * install-sh:
13241         When looking for chown, check in /sbin too
13242         [657ba6653f8c]
13243
13244 2000-06-05  Todd C. Miller  <Todd.Miller@courtesan.com>
13245
13246         * visudo.c:
13247         Remove extraneous call to init_defaults() and set runas_user to NULL
13248         betweem parses so init_defaults will reset it each time, thus
13249         avoiding a reference to free()d data.
13250         [7421fcd692af]
13251
13252 2000-06-04  Todd C. Miller  <Todd.Miller@courtesan.com>
13253
13254         * config.h.in, interfaces.c, interfaces.h, sudo.c:
13255         Add support for using getifaddrs() to get the list of ip addr /
13256         netmask pairs. Currently IPv4-only.
13257         [a35bc4f7306d]
13258
13259         * visudo.c:
13260         Add a missing check for UserEditor == NULL Add missing '+' before
13261         line number when invoking editor to fix a syntax error
13262         [f0d4635f6082]
13263
13264 2000-05-12  Todd C. Miller  <Todd.Miller@courtesan.com>
13265
13266         * sudo.c:
13267         Call clean_env very early in main() for paranoia's sake. Idea from
13268         Marc Esipovich.
13269         [f8d72ebd0115]
13270
13271 2000-05-10  Todd C. Miller  <Todd.Miller@courtesan.com>
13272
13273         * sudo.h:
13274         Update proto for evasprintf and easprintf
13275         [d147d6e58419]
13276
13277         * alloc.c:
13278         Make easprintf() and evasprintf() return an int.
13279         [b2ca5d089667]
13280
13281         * check.c:
13282         If the targetpw flag is set, use target username as part of the
13283         timestamp path. If tty tickets are in effect cat the tty and the
13284         target username with a ':' as the separator.
13285         [de11abc693c2]
13286
13287 2000-05-09  Todd C. Miller  <Todd.Miller@courtesan.com>
13288
13289         * auth/pam.c:
13290         Backout part of last change; setting PAM_USER to the invoking user
13291         breaks things like targetpw.
13292         [427218a7387f]
13293
13294         * auth/pam.c:
13295         set tty and username via pam_set_item
13296         [85d1922dbcc9]
13297
13298         * auth/sudo_auth.c, check.c, getspwuid.c, sudo.c, sudo.h:
13299         Fix root, runas, and target authentication for non-passwd file auth
13300         methods.
13301         [a14535e7b30c]
13302
13303 2000-04-22  Todd C. Miller  <Todd.Miller@courtesan.com>
13304
13305         * sudo.cat, sudo.man.in, sudo.pod, sudoers.cat, sudoers.man.in,
13306         sudoers.pod, visudo.cat, visudo.man.in, visudo.pod:
13307         Use B<-Z> not C<-Z> for command line flags in all places. This is
13308         more consistent and works around a bug in Pod::Man.
13309         [64b5a05f30c5]
13310
13311         * sudoers.cat, sudoers.man.in, sudoers.pod:
13312         Fix an occurence of 'semicolon' that should be 'colon'
13313         [4ea5aacae3fb]
13314
13315 2000-04-19  Todd C. Miller  <Todd.Miller@courtesan.com>
13316
13317         * configure, configure.in:
13318         Fix --with-badpri help line
13319         [3cc40977c043]
13320
13321 2000-04-17  Todd C. Miller  <Todd.Miller@courtesan.com>
13322
13323         * defaults.c, logging.c, sudo.c:
13324         Bracket calls to syslog with an openlog() and closelog() since some
13325         authentication methods (like PAM) may do their own logging via
13326         syslog. Since we don't use syslog much (usually just once per
13327         session) this doesn't really incur a performance penalty. It also
13328         Fixes a SEGV with pam_kafs.
13329         [fe1cc28529f6]
13330
13331 2000-04-15  Todd C. Miller  <Todd.Miller@courtesan.com>
13332
13333         * sudo.c:
13334         Fix -H flag. runas_homedir is only valid after
13335         set_perms(PERM_RUNAS, mode)
13336         [ce9b1c6f68a6]
13337
13338 2000-04-12  Todd C. Miller  <Todd.Miller@courtesan.com>
13339
13340         * INSTALL:
13341         Clarify the fact that insults are not enabled just by including them
13342         in the binary.
13343         [d5a31d48320c]
13344
13345 2000-04-07  Todd C. Miller  <Todd.Miller@courtesan.com>
13346
13347         * sudo.cat, sudo.man.in, sudoers.cat, sudoers.man.in, visudo.cat,
13348         visudo.man.in:
13349         Regenerated with perl 5.6.0 pod2man
13350         [21751433768b]
13351
13352         * Makefile.in:
13353         Give date string to pod2man since its default is ugly and it ain't
13354         got no alibi.
13355         [0080b2f6298f]
13356
13357         * Makefile.in:
13358         Do section substitution on the output of pod2man and remove hack
13359         needed for old pod2man.
13360         [1ef843d5c78b]
13361
13362         * sudo.pod, sudoers.pod, visudo.pod:
13363         Put back real man sections, we will do the substitution later.
13364         [f728c1abad7e]
13365
13366 2000-04-02  Todd C. Miller  <Todd.Miller@courtesan.com>
13367
13368         * configure, configure.in:
13369         Don't bother checking for the path to vi if user specified --with-
13370         editor
13371         [bf698487e0d5]
13372
13373 2000-04-01  Todd C. Miller  <Todd.Miller@courtesan.com>
13374
13375         * CHANGES, visudo.c:
13376         Visudo now does its own fork/exec instead of calling system(3).
13377         [99bbcd88863b]
13378
13379         * CHANGES, INSTALL, Makefile.in, sudoers.cat, sudoers.man.in,
13380         sudoers.pod, visudo.c:
13381         Visudo now checks for the existence of an editor and gives a
13382         sensible error if it does not exist.
13383
13384         The path to the editor for visudo is now a colon-separated list of
13385         allowable editors. If the user has $EDITOR set and it matches one
13386         of the allowed editors that editor will be used. If not, the first
13387         editor in the list that actually exists is used.
13388         [cc86eb9f5440]
13389
13390         * sudo.cat, sudo.man.in, sudo.pod:
13391         Clear up confusion wrt sudo's return value.
13392         [9385b12d8e79]
13393
13394 2000-03-27  Todd C. Miller  <Todd.Miller@courtesan.com>
13395
13396         * Makefile.in:
13397         Strip sudo and visudo for bindist target
13398         [a995ddd79177]
13399
13400         * sudo.cat, sudo.man.in, sudo.pod, sudoers.cat, sudoers.man.in,
13401         sudoers.pod, visudo.cat, visudo.man.in, visudo.pod:
13402         Use @mansectsu@ and @mansectform@ in the man page bodies as well.
13403         [5eb9e60a726f] [SUDO_1_6_3]
13404
13405         * visudo.cat, visudo.man.in, visudo.pod:
13406         Typo: @sysconf@ -> @sysconfdir@
13407         [f07f52fcd099]
13408
13409         * Makefile.in:
13410         'make dist' should not cause any files to be modified so remove its
13411         dependencies.
13412         [7f44a2666a9c]
13413
13414         * CHANGES:
13415         Whoops, forgot to add release marker
13416         [16c0f16b35b8]
13417
13418 2000-03-26  Todd C. Miller  <Todd.Miller@courtesan.com>
13419
13420         * CHANGES:
13421         Final change for 1.6.3 (or so I hope)
13422         [473c89da6123]
13423
13424         * sudo.cat, sudoers.cat, visudo.cat:
13425         Use SYSV man sections since BSD systems will have nroff...
13426         [0a6bd154324e]
13427
13428 2000-03-24  Todd C. Miller  <Todd.Miller@courtesan.com>
13429
13430         * parse.yacc, sudo.tab.c:
13431         When checking to see if the host/user matches in a defaults spec,
13432         check against TRUE, not just non-zero since it might be -1.
13433         [41f2b7ad3fdd]
13434
13435         * configure, configure.in:
13436         OSF/1 puts file formats in section 4, not 5.
13437         [d77c1301afa9]
13438
13439         * CHANGES, INSTALL, sudo.c:
13440         Make login class support work on BSD/OS
13441         [e9bbe3c08ade]
13442
13443         * RUNSON:
13444         Update for 1.6.3
13445         [c40ce1d76c4d]
13446
13447         * configure, configure.in:
13448         If there is no inet_addr but there *is* an __inet_addr that's ok
13449         since inet_addr is probably just a macro then. The better thing to
13450         do would be to look for the macro, but this is fine for now.
13451         [1b8865ae4d68]
13452
13453         * configure, configure.in:
13454         Don't use shlicc for BSD/OS 4.x
13455         [83fbf6dedd2c]
13456
13457         * Makefile.in, configure, configure.in:
13458         *.man lives in cwd, *.cat lives in $(srcdir), add a @mansrcdir@
13459         configure variable so we can deal with this. Also, only remove *.man
13460         for 'distclean' not 'clean'.
13461         [30d56e6de214]
13462
13463         * sudo.c:
13464         set_loginclass() should be static like the proto says
13465         [d570a2d55fb8]
13466
13467 2000-03-23  Todd C. Miller  <Todd.Miller@courtesan.com>
13468
13469         * fnmatch.c:
13470         Add #ifdef __STDC__ around the rangematch function header to avoid
13471         promotion of test to int, thus violating the prototype. Gcc handles
13472         this gracefully but more std ANSI compilers will complain.
13473         [7d98c3e332b2]
13474
13475         * emul/fnmatch.h:
13476         Pull in newer fnmatch(3) that supports FNM_CASEFOLD
13477         [4e1320852f8b]
13478
13479         * aclocal.m4, configure, fnmatch.3, fnmatch.c:
13480         Pull in newer fnmatch(3) that supports FNM_CASEFOLD Check for
13481         FNM_CASEFOLD in configure
13482         [9ef952bf1896]
13483
13484         * CHANGES, TODO:
13485         update for 1.6.3
13486         [e4ba6368a0c5]
13487
13488         * sudo.tab.c, sudo.tab.h, testsudoers.c, visudo.c:
13489         Fully qualified hosts w/ wildcards were not matching the FQHOST
13490         token type. There's really no need for a separate token for fully-
13491         qualified vs. unqualified anymore so FQHOST is now history and
13492         hostname_matches now decides which hostname (short or long) to check
13493         based on whether or not the pattern contains a '.'.
13494         [fbd2887d9811]
13495
13496         * parse.h:
13497         Fully qualified hosts w/ wildcards were not matching the FQHOST
13498         token type. There's really no need for a separate token for fully-
13499         qualified vs. unqualified anymore so FQHOST is now history and
13500         hostname_matches now decides which hostname (short or long) to check
13501         based on whether or not the pattern contains a '.'.
13502         [dd7bbe223461]
13503
13504         * lex.yy.c, parse.c, parse.lex, parse.yacc:
13505         Fully qualified hosts w/ wildcards were not matching the FQHOST
13506         token type. There's really no need for a separate token for fully-
13507         qualified vs. unqualified anymore so FQHOST is now history and
13508         hostname_matches now decides which hostname (short or long) to check
13509         based on whether or not the pattern contains a '.'.
13510         [630d9d205397]
13511
13512         * parse.c, parse.h, parse.yacc, sudo.tab.c, sudoers.cat,
13513         sudoers.man.in, sudoers.pod, testsudoers.c, visudo.c:
13514         Add support for wildcards in the hostname.
13515         [d8d821ed4238]
13516
13517         * Makefile.in:
13518         Add targets for *.man.in, using config.status to generate *.man from
13519         *.man.in
13520         [640e50ede485]
13521
13522         * sudoers.cat, sudoers.man.in, sudoers.pod:
13523         Document set_logname option and enbolden refs to sudo and visudo.
13524         [9622b3a48707]
13525
13526         * INSTALL, Makefile.in, aclocal.m4, configure, configure.in, sudo.cat,
13527         sudo.man.in, sudo.pod, sudoers.cat, sudoers.man.in, sudoers.pod,
13528         visudo.cat, visudo.man.in, visudo.pod:
13529         Add FreeBSD login.conf support (untested on BSD/OS) based on a patch
13530         from Michael D. Marchionna. configure now does substitution on the
13531         man pages, allowing us to fix up the paths and set the section
13532         correctly. Based on an idea from Michael D. Marchionna.
13533         [463e928a0a2f]
13534
13535         * auth/passwd.c:
13536         Better fix for handling HP-UX aging info.
13537         [3950f42d8549]
13538
13539         * sudo.c:
13540         Add support for set_logname run-time default
13541         [c6a7cc76b8b4]
13542
13543         * sudo.man.in, sudoers.man.in, visudo.man.in:
13544         configure does substitution on these to produce *.man
13545         [b83fc3c1bfc9]
13546
13547         * sudo.man, sudoers.man, visudo.man:
13548         These files now get generated from *.man.in at configure time.
13549         [c499061f79e0]
13550
13551 2000-03-22  Todd C. Miller  <Todd.Miller@courtesan.com>
13552
13553         * defaults.c, defaults.h:
13554         Add set_logname option so users can turn off setting of LOGNAME/USER
13555         environment variables.
13556         [6316869180b8]
13557
13558         * lsearch.c, parse.c, testsudoers.c:
13559         kill register
13560         [6e104e653748]
13561
13562 2000-03-13  Todd C. Miller  <Todd.Miller@courtesan.com>
13563
13564         * auth/passwd.c:
13565         HP-UX adds extra info at the end for password aging so when
13566         comparing the result of crypt to pw_passwd we only compare the first
13567         len(epass) bytes *unless* the user entered an empty string for a
13568         password.
13569         [3d24d4e4e889]
13570
13571         * logging.c:
13572         Get rid of grandchild hack, it was causing problems and there is
13573         really no need for it. This fixes a bug where we spin eating up CPU
13574         when the user runs a long-running process like a shell.
13575         [5743b10b1e81]
13576
13577 2000-03-07  Todd C. Miller  <Todd.Miller@courtesan.com>
13578
13579         * sudo.c:
13580         User can always specify a login class if he/she is already root.
13581         [710d160cef9f]
13582
13583         * config.h.in, configure, configure.in, defaults.c, defaults.h,
13584         sudo.c, sudo.h:
13585         FreeBSD login class (login.conf) support.
13586         [026b981d6328]
13587
13588 2000-03-06  Todd C. Miller  <Todd.Miller@courtesan.com>
13589
13590         * auth/sudo_auth.c:
13591         HAVE_SECUREWARE -> HAVE_GETPRPWNAM; fixes secureware support
13592         [9cd4929f1a78]
13593
13594 2000-03-03  Todd C. Miller  <Todd.Miller@courtesan.com>
13595
13596         * auth/passwd.c:
13597         Truncate unencrypted password to 8 chars if encrypted password is
13598         exactly 13 characters (indicateing standard a DES password). Many
13599         versions of crypt() do this for you, but not all (like HP-UX's).
13600         [a9d0259cb193]
13601
13602 2000-03-02  Todd C. Miller  <Todd.Miller@courtesan.com>
13603
13604         * INSTALL, RUNSON:
13605         Mention that gcc on dynix may have problems
13606         [77b97fa5bf1b]
13607
13608 2000-02-29  Todd C. Miller  <Todd.Miller@courtesan.com>
13609
13610         * Makefile.in:
13611         Link visudo with NET_LIBS since we now call syslog via defaults.c
13612         [9e3830b277cc]
13613
13614         * defaults.c:
13615         Use Argv[0] as the first arg to openlog() since visudo uses this
13616         too.
13617         [e61078f328ec]
13618
13619 2000-02-28  Todd C. Miller  <Todd.Miller@courtesan.com>
13620
13621         * sudo.c:
13622         Stash coredumpsize resource limit and retsore it before the exec()
13623         Otherwise the child ends up with a coredumpsize of 0.
13624         [f6a4783835a3]
13625
13626 2000-02-27  Todd C. Miller  <Todd.Miller@courtesan.com>
13627
13628         * sudo.cat, sudo.man, sudo.pod:
13629         document -S flag
13630         [3ebd805b7142]
13631
13632         * sudo.c:
13633         fix usage string
13634         [66b2dfa47fe8]
13635
13636         * CHANGES, RUNSON, TODO, auth/aix_auth.c, auth/fwtk.c, auth/pam.c,
13637         auth/sudo_auth.c, sudo.c, sudo.h, tgetpass.c:
13638         Added -S flag (read passwd from stdin) and tgetpass_flags global
13639         that holds flags to be passed in to tgetpass(). Change echo_off
13640         param to tgetpass() into a flags field. There are currently 2
13641         possible flags for tgetpass(): TGP_ECHO and TGP_STDIN. In
13642         tgetpass(), abstract the echo set/clear via macros and if (flags &
13643         TGP_ECHO) but echo is not set on the terminal, but sure to set it.
13644         [a4fcbb712cd0]
13645
13646         * tgetpass.c:
13647         Fixed a bug that caused an infinite loop when the password timeout
13648         was disabled.
13649         [2be1ffc5a39f]
13650
13651 2000-02-18  Todd C. Miller  <Todd.Miller@courtesan.com>
13652
13653         * CHANGES, defaults.c, defaults.h, getspwuid.c, sudo.c, sudo.h,
13654         sudoers.cat, sudoers.man, sudoers.pod, visudo.c:
13655         Add rootpw, runaspw, and targetpw options.
13656         [2d4563e46df7]
13657
13658         * CHANGES, defaults.c, sudoers.cat, sudoers.man, sudoers.pod,
13659         visudo.c:
13660         enveditor -> env_editor
13661         [ddc5f856e583]
13662
13663 2000-02-16  Todd C. Miller  <Todd.Miller@courtesan.com>
13664
13665         * BUGS, INSTALL, Makefile.in, README, configure, configure.in,
13666         sudo.cat, sudo.man, sudoers.cat, sudoers.man, version.h, visudo.cat,
13667         visudo.man:
13668         crank versino to 1.6.3
13669         [a5f7d3e74360]
13670
13671         * INSTALL, TODO, defaults.c, defaults.h, sudoers.cat, sudoers.man,
13672         sudoers.pod, visudo.c:
13673         Add 'editor' and 'enveditor' sudoers defaults and make visudo honor
13674         them. This means that visudo will now parse the sudoers file
13675         *before* it is edited so a bogus sudoers file will cause a warning
13676         to go to stderr. Also, visudo checks the variables once--it does not
13677         check them after each editor run since that could be confusing.
13678         [9f5af18e9212]
13679
13680 2000-02-15  Todd C. Miller  <Todd.Miller@courtesan.com>
13681
13682         * RUNSON:
13683         1.6.2 -> 1.6.2p1
13684         [e25b74f1d1af]
13685
13686         * check.c, sudo.c, sudo.h:
13687         Move user_is_exempt prototype into sudo.h
13688         [daf26a6ded8a]
13689
13690 2000-02-13  Todd C. Miller  <Todd.Miller@courtesan.com>
13691
13692         * configure, configure.in:
13693         Fix thinko, some && should have been || in the last commit
13694         [4b9b2d487ded]
13695
13696         * configure, configure.in:
13697         Don't initialized Makefile variables to be NULL since the user may
13698         want to import variables from their environment.
13699         [7be019f4422c]
13700
13701 2000-02-04  Todd C. Miller  <Todd.Miller@courtesan.com>
13702
13703         * configure, configure.in:
13704         typo
13705         [38f4d8971f0a]
13706
13707 2000-01-28  Todd C. Miller  <Todd.Miller@courtesan.com>
13708
13709         * sudo.tab.c:
13710         fix a yacc (skeleton.c) warning
13711         [a2da228a937b]
13712
13713 2000-01-27  Todd C. Miller  <Todd.Miller@courtesan.com>
13714
13715         * INSTALL, RUNSON, configure, configure.in:
13716         Make pam work on HP-UX 11.0;jaearick@colby.edu
13717         [b94de0ff6f42]
13718
13719         * CHANGES:
13720         recent changes; prepare for 1.6.2p1
13721         [b291635ea141]
13722
13723         * find_path.c:
13724         Don't apply SECURE_PATH if user is example; jmknoble@pobox.com
13725         [4306285c4f6e]
13726
13727 2000-01-26  Todd C. Miller  <Todd.Miller@courtesan.com>
13728
13729         * sudo.tab.c:
13730         Regen with yacc that has a memory leak plugged.
13731         [e26383a04eb7]
13732
13733         * sudoers.cat, sudoers.man, sudoers.pod:
13734         Expanded docs on sudoers 'defaults' options based on INSTALL file
13735         info.
13736         [54c3d62d6c74]
13737
13738         * INSTALL:
13739         Fix some while lies
13740         [d15311782150]
13741
13742 2000-01-24  Todd C. Miller  <Todd.Miller@courtesan.com>
13743
13744         * Makefile.in:
13745         When making a bindist, link FAQ to TROUBLESHOOTING instead of
13746         copying.
13747         [2d88a6ac88cf]
13748
13749         * sudoers.cat, sudoers.man, sudoers.pod:
13750         Add netgroup caveat
13751         [28d119f466e3] [SUDO_1_6_2]
13752
13753         * RUNSON:
13754         Last minute updates
13755         [89fb4ed22d52]
13756
13757         * TROUBLESHOOTING:
13758         PAM entry
13759         [a9fd59f39457]
13760
13761         * auth/pam.c:
13762         correct a comment
13763         [a29627225ba9]
13764
13765         * CHANGES, RUNSON:
13766         update for 1.6.2
13767         [b7f1c40ea732]
13768
13769         * auth/pam.c:
13770         Better detection of PAM errors and fix custom prompts with PAM.
13771         Based on patches from "Cloyce D. Spradling" <cloyce@headgear.org>
13772         [ff69234b94a5]
13773
13774 2000-01-20  Todd C. Miller  <Todd.Miller@courtesan.com>
13775
13776         * snprintf.c:
13777         Cast ULONG_MAX to unsigned long long when comparing to an unsigned
13778         long long value.
13779         [9d918c3a2ecd]
13780
13781 2000-01-19  Todd C. Miller  <Todd.Miller@courtesan.com>
13782
13783         * CHANGES, config.h.in, configure, configure.in, visudo.c:
13784         Fix sudoers locking in visudo. We now lock the sudoers file itself,
13785         not the temp file (since locking the temp file can foul up editors).
13786         The previous locking scheme didn't work because the fd was closed
13787         too early.
13788         [de2011bb11ed]
13789
13790         * config.h.in, configure, configure.in:
13791         Don't need test for ftruncate() any more.
13792         [e5f71c848104]
13793
13794         * configure, configure.in:
13795         Add a test for the -Aa flag w/ HP-UX's cc. Fixes compilation with
13796         the unbundled HP-UX cc.
13797         [2c373612c644]
13798
13799 2000-01-18  Todd C. Miller  <Todd.Miller@courtesan.com>
13800
13801         * sudoers.cat, sudoers.man, sudoers.pod:
13802         "a a" -> "a"; Aaron Campbell <aaron@cs.dal.ca>
13803         [05360d2c314e]
13804
13805 2000-01-17  Todd C. Miller  <Todd.Miller@courtesan.com>
13806
13807         * LICENSE, Makefile.in, defaults.c, defaults.h, parse.c, parse.h,
13808         parse.yacc, sudo.c, sudo.h, sudoers.pod, testsudoers.c, tgetpass.c,
13809         version.h, visudo.c:
13810         update copyright year on changed files
13811         [5792a2a28a4c]
13812
13813         * RUNSON:
13814         updates
13815         [edf8f19aa403]
13816
13817         * CHANGES:
13818         aix fix
13819         [4d4a243b31e2]
13820
13821         * INSTALL:
13822         Crank version to 1.6.2
13823         [bcb5cb411624]
13824
13825         * configure:
13826         Crank version to 1.6.2
13827         [32a19f33427f]
13828
13829         * sudo.c:
13830         When using rlimit check for RLIM_INFINITY When computing the value
13831         of maxfd, use min(getdtablesize(), RLIMIT_NOFILE)
13832         [8c16166802e5]
13833
13834         * CHANGES:
13835         recent changes
13836         [09fc7112e44d]
13837
13838         * BUGS, Makefile.in, README, configure.in, sudo.cat, sudo.man,
13839         sudoers.cat, sudoers.man, version.h, visudo.cat, visudo.man:
13840         Crank version to 1.6.2
13841         [055fa61a7c61]
13842
13843         * INSTALL, defaults.c, defaults.h, sudo.c, sudo.h, sudoers.pod:
13844         Add 'shell_noargs' runtime option back in. We have to defer
13845         checking until after the sudoers file has been parsed but since
13846         there are now other options that operate that way this one can too.
13847         Based on a patch from bguillory@email.com.
13848         [231db7a007a6]
13849
13850         * defaults.c, defaults.h, parse.c, sudo.c, sudo.h:
13851         Add "listpw" and "verifypw" options.
13852         [190683bac878]
13853
13854         * sudoers.cat, sudoers.man, sudoers.pod:
13855         o Fix some typos/omissions o Add section on verifypw and listpw o
13856         Define how NOPASSWD interacts with the -v and -l flags
13857         [6feb7350eb79]
13858
13859 2000-01-14  Todd C. Miller  <Todd.Miller@courtesan.com>
13860
13861         * configure, configure.in:
13862         For HP-UX cc, add -Aa to CPPFLAGS. For HP-UX always add
13863         -D_HPUX_SOURCE to CPPFLAGS.
13864         [06cc35d89dc8]
13865
13866         * defaults.c, defaults.h:
13867         In struct sudo_defs_types, move the union to the end and don't
13868         initialize the union member since that only works with an ANSI
13869         compiler. We set the value of the union by hand in init_defaults()
13870         anyway. This allows sudo to compile on a K&R compiler again.
13871         [623487e1fcfa]
13872
13873 2000-01-11  Todd C. Miller  <Todd.Miller@courtesan.com>
13874
13875         * parse.c, parse.h, parse.yacc, sudo.tab.c, testsudoers.c, visudo.c:
13876         netgr_matches needs to check shost as well as host since they may be
13877         different.
13878         [3f43ace23d3e]
13879
13880         * tgetpass.c:
13881         End on \r as well as \n
13882         [cb7c6e6f4202]
13883
13884 2000-01-03  Todd C. Miller  <Todd.Miller@courtesan.com>
13885
13886         * sudo.c:
13887         Update statbuf.st_mode based on SUDOERS_MODE when we are chaning
13888         from 0400 to whatever SUDOERS_MODE is (converting from the old
13889         sudoers mode). Assumes that SUDOERS_MODE is less restrictive than
13890         0400 which should always be the case.
13891         [34cd83d49d20]
13892
13893         * parse.c, parse.yacc, sudo.c, sudo.h, sudo.tab.c:
13894         Make treatment of -l and -v sane wrt NOPASSWD flags. Now allow -l
13895         w/o a passwd if there is *any* entry for the user on the host with a
13896         NOPASSWD flag. For -v, only allow w/o a passwd if *all* entries for
13897         the user on the host w/ the specified runas user have the NOPASSWD
13898         flag set.
13899         [4b3b85697653]
13900
13901         * Makefile.in:
13902         add check target
13903         [3d24d34a76fd]
13904
13905 1999-12-16  Todd C. Miller  <Todd.Miller@courtesan.com>
13906
13907         * visudo.c:
13908         Treat EOF at whatnow prompt like 'x' instead of looping.
13909         [5deffc27114c]
13910
13911 1999-12-10  Todd C. Miller  <Todd.Miller@courtesan.com>
13912
13913         * CHANGES:
13914         recent changes
13915         [5836a9452568] [SUDO_1_6_1]
13916
13917 1999-12-09  Todd C. Miller  <Todd.Miller@courtesan.com>
13918
13919         * config.h.in, configure, configure.in, sudo.c:
13920         Add check for initgroups() since old SYSV lacks this.
13921         [657a6005a569]
13922
13923         * CHANGES, RUNSON, aclocal.m4, config.h.in, configure, configure.in,
13924         parse.c, testsudoers.c:
13925         o Kill HAVE_FNMATCH_H o Only define HAVE_FNMATCH if <fnmatch.h>
13926         exists.
13927         [17d081e917d6]
13928
13929 1999-12-06  Todd C. Miller  <Todd.Miller@courtesan.com>
13930
13931         * auth/sudo_auth.c:
13932         Don't allow insults to be enabled if the insults[] array is empty.
13933         Otherwise there would be division by zero.
13934         [b20c14db6029]
13935
13936         * insults.h:
13937         Don't allow insults to be enabled if the insults[] array is empty.
13938         Otherwise there would be division by zero.
13939         [028f130204b0]
13940
13941         * CHANGES, RUNSON:
13942         Don't allow insults to be enabled if the insults[] array is empty.
13943         Otherwise there would be division by zero.
13944         [974f4780254b]
13945
13946         * insults.h:
13947         Don't care about USE_INSULTS #define since the insult stuff may be
13948         overridden at runtime.
13949         [b873df8b299c]
13950
13951         * auth/sudo_auth.c:
13952         Honor insults flag.
13953         [756111640fdc]
13954
13955         * CHANGES, parse.c:
13956         Don't ask the user for a password if the user is not allowed to run
13957         the command and the authenticate flag (in sudoers) is false.
13958         [cea9fdc09c76]
13959
13960         * CHANGES, RUNSON, lex.yy.c, parse.lex:
13961         o Whenever we get a bare newline we change to the INITIAL state. o
13962         Enter GOTRUNAS when we see Runas_Alias
13963
13964         This allows #uid to work in a RunasAlias.
13965         [a475513e7c7a]
13966
13967 1999-12-05  Todd C. Miller  <Todd.Miller@courtesan.com>
13968
13969         * CHANGES, parse.yacc, sudo.tab.c:
13970         fix parsing of runas lists: o oprunasuser and runaslist now return a
13971         value o in a runasspec, if a runaslist does not return TRUE, set
13972         runas_matches to FALSE. Normally, a runaslist only returns FALSE
13973         for explicitly denied users. o since runaslist does not modify the
13974         stack there is no need for a push/pop in runasalias.
13975         [82b305b34a8c]
13976
13977         * check.c, sudo.c:
13978         Don't kill the user's tickets until after sudoers has been parsed
13979         since tty_tickets and ticket_dir could be set in sudoers.
13980         [f43e25367f3a]
13981
13982         * BUGS, CHANGES, Makefile.binary, Makefile.in, README, RUNSON,
13983         configure, configure.in, sudo.cat, sudo.man, sudoers.cat,
13984         sudoers.man, tgetpass.c, version.h, visudo.cat, visudo.man:
13985         crank version to 1.6
13986         [95f8bdcf9bb2]
13987
13988         * testsudoers.c:
13989         add set_fqdn() stub
13990         [bbc81af5b41a]
13991
13992 1999-12-02  Todd C. Miller  <Todd.Miller@courtesan.com>
13993
13994         * INSTALL, defaults.c, defaults.h, sudo.c, sudo.h, sudoers.cat,
13995         sudoers.man, sudoers.pod, visudo.c:
13996         o Kill shell_noargs option, it cannot work since the command needs
13997         to be set before sudoers is parsed. o Fix the "set_home" sudoers
13998         option (only worked at compile time). o Fix "fqdn" sudoers option.
13999         We now set host/shost via set_fqdn which gets called when the
14000         "fqdn" option is set in sudoers. o Move the openlog() to
14001         store_syslogfac() so this gets overridden correctly from the
14002         sudoers file.
14003         [3dca861f0f5d]
14004
14005         * auth/securid.c:
14006         SecurID support should compile now.
14007         [a544e5c6ea34]
14008
14009 1999-11-29  Todd C. Miller  <Todd.Miller@courtesan.com>
14010
14011         * sudo.cat, sudo.man, sudo.pod, sudoers.cat, sudoers.man, visudo.cat,
14012         visudo.man, visudo.pod:
14013         fix some syntactic goofs
14014         [b3451f0d5239]
14015
14016 1999-11-28  Todd C. Miller  <Todd.Miller@courtesan.com>
14017
14018         * Makefile.in, sudo.html, sudoers.html, visudo.html:
14019         No longer need the .html files as they are generated automatically
14020         on the web site.
14021         [1b4aa4204584]
14022
14023         * CHANGES, LICENSE:
14024         kill characters that made wml unhappy
14025         [b988fbc6da56]
14026
14027         * HISTORY:
14028         typo
14029         [a418963f7fce]
14030
14031 1999-11-25  Todd C. Miller  <Todd.Miller@courtesan.com>
14032
14033         * README:
14034         majordomo@cs.colorado.edu -> majordomo@courtesan.com
14035         [5d151e8ffd3b]
14036
14037         * Makefile.in, configure:
14038         Wrap script execution w/ /bin/sh for the benefit of ctm
14039         [3a9c4766b2c3]
14040
14041 1999-11-24  Todd C. Miller  <Todd.Miller@courtesan.com>
14042
14043         * sudo.c:
14044         Make the -s flag be exclusive too. Also reorder the flags in the
14045         exclusive usage message so they are alphabetical.
14046         [4c7af200db34]
14047
14048 1999-11-23  Todd C. Miller  <Todd.Miller@courtesan.com>
14049
14050         * auth/pam.c:
14051         make pam errors other than PAM_PERM_DENIED fatal
14052         [64bcb3fd2baf]
14053
14054         * auth/API:
14055         fix typo
14056         [f3134c88b12e]
14057
14058         * INSTALL:
14059         make it clear that /etc/pam.d/sudo is required on linux
14060         [213cc3eaad82]
14061
14062         * auth/pam.c:
14063         fix a warning on redhat and spew an error if pam_authenticate()
14064         returns an error other than AUTH_SUCCESS or PAM_PERM_DENIED
14065         [7e46dd19da89]
14066
14067         * sudo.cat, sudo.html, sudo.man, sudo.pod:
14068         Be very clear that the password required is the user's not root's
14069         [a6da127347e5]
14070
14071 1999-11-20  Todd C. Miller  <Todd.Miller@courtesan.com>
14072
14073         * Makefile.in:
14074         add sample.syslog.conf to DISTFILES and BINFILES
14075         [8661c27c007e]
14076
14077 1999-11-19  Todd C. Miller  <Todd.Miller@courtesan.com>
14078
14079         * RUNSON:
14080         updates from Brian Jackson + some formatting
14081         [6d31c6fa63f8]
14082
14083 1999-11-18  Todd C. Miller  <Todd.Miller@courtesan.com>
14084
14085         * INSTALL.binary, Makefile.binary, README, RUNSON:
14086         o One RUNSon update o Changes for automating real binary releases
14087         [dd9585f4406c]
14088
14089         * Makefile.in:
14090         Add bindist target
14091         [546ed3fa94bb]
14092
14093 1999-11-16  Todd C. Miller  <Todd.Miller@courtesan.com>
14094
14095         * TROUBLESHOOTING:
14096         talk about run-time options in addition to compile-time options
14097         [1eb813ff0a9a] [SUDO_1_6_0]
14098
14099         * CHANGES:
14100         fix typos
14101         [65e92bb70a7b]
14102
14103         * sudo.c:
14104         need sys/time.h if HAVE_SETRLIMIT
14105         [ce31655a8a60]
14106
14107         * PORTING, README, RUNSON, sudo.c, sudo.cat, sudo.html, sudo.man,
14108         sudo.pod, visudo.cat, visudo.html, visudo.man, visudo.pod:
14109         get rid of references to sudo-bugs. Now mention the web site or the
14110         sudo@ alias
14111         [a9db861fd8c6]
14112
14113         * sudoers.html:
14114         repair pod2html damage
14115         [62ece4277f1f]
14116
14117         * RUNSON, TODO:
14118         Update for 1.6 release
14119         [98569c57ba2a]
14120
14121         * sudoers.cat, sudoers.html, sudoers.man, sudoers.pod:
14122         Add warning about using ALL in a command context.
14123         [6c77685ab280]
14124
14125 1999-11-09  Todd C. Miller  <Todd.Miller@courtesan.com>
14126
14127         * visudo.c:
14128         Call yyrestart() on a parse error to reset the lexer state.
14129         [1370a27acdb2]
14130
14131         * lex.yy.c, parse.lex:
14132         Don't need YY_FLUSH_BUFFER after all Move yyrestart() into visudo.c
14133         since it might not get called in yywrap if we get a parse error
14134         (and we only reread the file on error anyway).
14135         [37f4b449e28e]
14136
14137         * lex.yy.c, parse.lex:
14138         Call YY_FLUSH_BUFFER macro in yywrap() to clean up any buffers that
14139         might still exist. Call yyrestart() instead of using the deprecated
14140         YY_NEW_FILE macro.
14141         [7d0d873046c6]
14142
14143         * lex.yy.c, parse.lex:
14144         flex doesn't need %N table size declarations
14145         [268b020fd60a]
14146
14147         * sudoers.cat, sudoers.html, sudoers.man, sudoers.pod:
14148         Mention what characters need to be escaped in names.
14149         [72ccbb6b0f31]
14150
14151 1999-11-08  Todd C. Miller  <Todd.Miller@courtesan.com>
14152
14153         * configure:
14154         regen
14155         [65827abb5c7b]
14156
14157         * INSTALL:
14158         clarify Mac OS X entry
14159         [8da1549a71f5]
14160
14161         * RUNSON:
14162         update
14163         [0cff8df7459f]
14164
14165         * configure.in:
14166         o Use AC_MSG_ERROR throughout o Check syslog configure options for
14167         danity
14168         [4cb81e642e5c]
14169
14170 1999-11-05  Todd C. Miller  <Todd.Miller@courtesan.com>
14171
14172         * defaults.c:
14173         Fix printing of type T_MODE in dump_defaults()
14174         [a868bb6f5515]
14175
14176         * strcasecmp.c:
14177         missing sys/types.h
14178         [ca694ca325b6]
14179
14180         * INSTALL:
14181         Break out options that may be overridden at run time into their own
14182         section. Add a not about Max OS X and correct some lies.
14183         [d8bcfd120593]
14184
14185 1999-11-04  Todd C. Miller  <Todd.Miller@courtesan.com>
14186
14187         * CHANGES, config.h.in, configure, configure.in, sudo.c:
14188         o Now use getrlimit to find the highest fd when closing all non-std
14189         fd's o Turn off core dumps via setrlimit for the sake of paranoia
14190         [dd9f651b6def]
14191
14192         * RUNSON:
14193         updates
14194         [f581841fe615]
14195
14196 1999-11-01  Todd C. Miller  <Todd.Miller@courtesan.com>
14197
14198         * CHANGES:
14199         updates
14200         [553baa1d44c7]
14201
14202         * tgetpass.c:
14203         When read()'ing, do a single character at a time to be sure we don't
14204         go oast the newline.
14205         [907d33f55bb4]
14206
14207         * sudo.c:
14208         For the sudo_root option, check against user_uid, not getuid() since
14209         at this point, ruid == euid == 0.
14210         [92d5c51939b4]
14211
14212         * RUNSON:
14213         some updates
14214         [e3ed0c1f312b]
14215
14216         * logging.h:
14217         Fix compilation problem when --with-logging=file was specified.
14218         This means that syslog is now required to build sudo but that should
14219         not be a problem. If it is it can be fixed trivially with a
14220         configure check for syslog() or syslog.h.
14221         [839a4b069190]
14222
14223         * tgetpass.c:
14224         Make this work again for things like "sudo echo hi | more" where the
14225         tty gets put into character at a time mode. We read until we read
14226         end of line or we run out of space (similar to fgets(3)).
14227         [c8f746df2e63]
14228
14229 1999-10-20  Todd C. Miller  <Todd.Miller@courtesan.com>
14230
14231         * sudoers.cat, sudoers.html, sudoers.man, sudoers.pod:
14232         change ital to bold
14233         [f860978e530a]
14234
14235         * RUNSON:
14236         update
14237         [9bcfbb405568]
14238
14239 1999-10-16  Todd C. Miller  <Todd.Miller@courtesan.com>
14240
14241         * defaults.c:
14242         Error out if syslog parameters are given without a value. For
14243         Ultrix or 4.2BSD "syslog" is allowed without a value since there are
14244         no facilities in the 4.2BSD syslog.
14245         [69e7a686f5f0]
14246
14247 1999-10-15  Todd C. Miller  <Todd.Miller@courtesan.com>
14248
14249         * defaults.c:
14250         Ignore the syslog facility for systems w/ old syslog like Ultrix.
14251         [5c250adbbb84]
14252
14253         * TROUBLESHOOTING:
14254         people with "." early in their path can have problems running sudo
14255         from the build dir ;-)
14256         [20a1744a24a4]
14257
14258 1999-10-13  Todd C. Miller  <Todd.Miller@courtesan.com>
14259
14260         * sudo.cat, sudo.html, sudo.man, sudo.pod:
14261         Remove -r realm option
14262         [127caa537f95]
14263
14264         * auth/kerb5.c, auth/sudo_auth.c, auth/sudo_auth.h, configure,
14265         configure.in, sudo.c:
14266         New krb5 code from Frank Cusack <fcusack@iconnet.net>.
14267         [7177a3893a62]
14268
14269         * CHANGES:
14270         update to reality
14271         [766cfbb512d6]
14272
14273 1999-10-12  Todd C. Miller  <Todd.Miller@courtesan.com>
14274
14275         * auth/fwtk.c:
14276         include <auth.h> to get function prototypes.
14277         [d6c7c12d09fe]
14278
14279         * sudo.cat, sudo.html, sudo.man, sudo.pod:
14280         document -L flag
14281         [dc803e1ce0d7]
14282
14283 1999-10-11  Todd C. Miller  <Todd.Miller@courtesan.com>
14284
14285         * sudo.c:
14286         in set_perms(), always call setuid(0) before changing the ruid/euid
14287         so we always know it will succeed.
14288         [8cced1b862bf]
14289
14290         * defaults.h:
14291         #undef T_FOO to avoid conflicts with system defines (like on
14292         ULTRIX).
14293         [d9f0aac092b0]
14294
14295         * TODO, sample.sudoers, sudoers.cat, sudoers.html, sudoers.man,
14296         sudoers.pod:
14297         Docuement "Defaults" lines in /etc/sudoers. Still needs some
14298         fleshing out but this is a start.
14299         [521a1e629bbc]
14300
14301 1999-10-10  Todd C. Miller  <Todd.Miller@courtesan.com>
14302
14303         * use strtol, not strtoul since not everyone has not strtoul
14304         [988462f093cc]
14305
14306         * defaults.c:
14307         use strtol, not strtoul since not everyone has not strtoul
14308         [fce835ce62e3]
14309
14310         * lex.yy.c, parse.lex:
14311         last {WORD} rule should only apply in the INITIAL state
14312         [9b57570bfa83]
14313
14314         * lex.yy.c, parse.lex:
14315         o Add support for escaped characters in the WORD macro o Modify
14316         fill() to squash escape chars
14317         [87572d59e4e0]
14318
14319         * defaults.c, defaults.h:
14320         o Add T_PATH flag to allow simple sanity checks for default values
14321         that are supposed to be pathnames. o Fix a duplicate free when
14322         visudo finds an error.
14323         [bdc6855a6c6d]
14324
14325 1999-10-09  Todd C. Miller  <Todd.Miller@courtesan.com>
14326
14327         * defaults.c, defaults.h, logging.c:
14328         mail_if_foo -> mail_foo
14329         [cbee9415875d]
14330
14331 1999-10-08  Todd C. Miller  <Todd.Miller@courtesan.com>
14332
14333         * compat.h, defaults.c, defaults.h, sudo.c, tgetpass.c:
14334         o Add requiretty option o Move O_NOCTTY to compat.h
14335         [65b8bf0e1795]
14336
14337         * logging.c:
14338         The exit() in log_error() was mistakenly removed in a previous
14339         version. Put it back...
14340         [9473449130a4]
14341
14342 1999-10-07  Todd C. Miller  <Todd.Miller@courtesan.com>
14343
14344         * INSTALL, TODO, auth/aix_auth.c, auth/fwtk.c, auth/pam.c,
14345         auth/rfc1938.c, auth/sia.c, auth/sudo_auth.c, check.c, config.h.in,
14346         configure, configure.in, defaults.c, defaults.h, find_path.c,
14347         getspwuid.c, logging.c, parse.yacc, sudo.c, sudo.tab.c:
14348         o Change defaults stuff to put the value right in the struct. o
14349         Implement mailer_flags o Store syslog stuff both in int and string
14350         form. Setting the string form magically updates the int version.
14351         o Add boolean attribute to strings where it makes sense to say !foo
14352         [4698953f9a36]
14353
14354         * tgetpass.c:
14355         add O_NOCTTY when opening /dev/tty just in case
14356         [4c6d1d1bb300]
14357
14358 1999-10-06  Todd C. Miller  <Todd.Miller@courtesan.com>
14359
14360         * auth/API:
14361         cleanup function no longer takes a status arg
14362         [0819edbfe7f8]
14363
14364         * INSTALL:
14365         the the
14366         [19aadb65ea28]
14367
14368 1999-09-15  Todd C. Miller  <Todd.Miller@courtesan.com>
14369
14370         * TODO, config.h.in, configure, configure.in, logging.c:
14371         Use strftime() instead of ctime() if it is available.
14372         [fb60ea63b514]
14373
14374 1999-09-14  Todd C. Miller  <Todd.Miller@courtesan.com>
14375
14376         * defaults.c:
14377         fix copyright date
14378         [4a53b54aa72f]
14379
14380         * RUNSON:
14381         update ReliantUNIX entry
14382         [de618a4f67d9]
14383
14384         * defaults.c, defaults.h, logging.c:
14385         add log_year option
14386         [251a9e20568a]
14387
14388         * configure, configure.in:
14389         add --without-sendmail to help output
14390         [93162f199902]
14391
14392         * configure, configure.in:
14393         enforce an otctal arg for --with-suoders-mode
14394         [45e1b04ccad3]
14395
14396 1999-09-08  Todd C. Miller  <Todd.Miller@courtesan.com>
14397
14398         * BUGS, INSTALL, Makefile.in, TODO, aclocal.m4, auth/aix_auth.c,
14399         auth/fwtk.c, auth/kerb5.c, auth/pam.c, auth/rfc1938.c, auth/sia.c,
14400         auth/sudo_auth.c, check.c, config.h.in, configure, configure.in,
14401         defaults.c, defaults.h, find_path.c, lex.yy.c, logging.c, parse.h,
14402         parse.lex, parse.yacc, sudo.c, sudo.h, sudo.tab.c, sudo.tab.h,
14403         testsudoers.c, version.c, visudo.c:
14404         Add support for "Defaults" line in sudoers to make configuration
14405         variables changable at runtime (and on a global, per-host and per-
14406         user basis). Both the names and the internal representation are
14407         still subject to change. It was necessary to make sudo_user.runas
14408         but a char ** instead of a char * since this value can be changed by
14409         a Defaults line. There is a similar (but more complicated) issue
14410         with sudo_user.prompt but it is handled differently at the moment.
14411
14412         Add a "-L" flag to list the name of options with their descriptions.
14413         This may only be temporary.
14414
14415         Move some prototypes to parse.h
14416
14417         Be much less restrictive on what is allowed for a username.
14418         [f71abf7ba80c]
14419
14420         * sample.syslog.conf:
14421         Add more info
14422         [e952e6f42d4d]
14423
14424 1999-09-04  Todd C. Miller  <Todd.Miller@courtesan.com>
14425
14426         * LICENSE, fnmatch.3, fnmatch.c, getcwd.c, lsearch.c, snprintf.c,
14427         strcasecmp.c:
14428         UCB has dropped the advertising clause from their license.
14429         [a5602b36a341]
14430
14431 1999-08-31  Todd C. Miller  <Todd.Miller@courtesan.com>
14432
14433         * auth/sudo_auth.h:
14434         move dce_verofy proto to correct section
14435         [972c815af558]
14436
14437         * auth/dce.c:
14438         remove XXX
14439         [820631855be0]
14440
14441 1999-08-28  Todd C. Miller  <Todd.Miller@courtesan.com>
14442
14443         * emul/fnmatch.h:
14444         Add fnmatch() prototype
14445         [79e84576d92a]
14446
14447         * fnmatch.c, parse.c, testsudoers.c:
14448         Move inclusion of emul/fnmatch.h to be after sudo.h for __P
14449         [1182c89fa811]
14450
14451         * sudo.h:
14452         add strcasecmp proto
14453         [512d1d8a6a0c]
14454
14455         * auth/sudo_auth.c:
14456         add check for case where there are no auth methods
14457         [e4af2b91b43e]
14458
14459         * configure, configure.in:
14460         Define _XOPEN_EXTENDED_SOURCE on AIX and __USE_FIXED_PROTOTYPES__ on
14461         SunOS4 w/ gcc
14462         [746ce8bcec23]
14463
14464         * getspwuid.c, lex.yy.c, parse.lex, parse.yacc, sudo.tab.c:
14465         include strings.h everywhere we include string.h
14466         [6f7d5d437e7b]
14467
14468         * version.c:
14469         nicer output when showing auth methods
14470         [0eac4b977f9d]
14471
14472         * version.c:
14473         Add support for SEND_MAIL_WHEN_NO_HOST
14474         [9f20a3a3fae6]
14475
14476         * config.h.in, configure, configure.in:
14477         Add _GNU_SOURCE for Linux
14478         [c7bd8c511847]
14479
14480         * lex.yy.c, parse.lex:
14481         fix definition of OCTECT
14482         [4af30e63244d]
14483
14484         * configure, configure.in:
14485         aix_auth.o not authenticate.o
14486         [fe95dfb08df4]
14487
14488 1999-08-27  Todd C. Miller  <Todd.Miller@courtesan.com>
14489
14490         * sudo.c:
14491         Only block SIGINT, SIGQUIT, SIGTSTP (which can be generated from the
14492         keyboard). Since we run with ruid/euid == 0 the user can't really
14493         signal us in nasty ways.
14494         [a7f6487c0f48]
14495
14496         * visudo.c:
14497         Don't need to worry about catching too many signals since we do
14498         locking on the tmp file. If a lockfile is really stale, it will be
14499         detected and overwritten.
14500         [28983db3e749]
14501
14502         * INSTALL, Makefile.in:
14503         include auth/API in tarball
14504         [014991600252]
14505
14506         * auth/sudo_auth.c:
14507         move memset() of plaintext pw outside of verify loop and only do the
14508         memset if we are *not* in standalone mode.
14509         [66f8e87567e2]
14510
14511         * auth/sudo_auth.c, auth/sudo_auth.h:
14512         DCE is not a standalone method
14513         [34963e2d8a1b]
14514
14515         * sudo.c:
14516         fix --enable-noargs-shell
14517         [4234062abbb0]
14518
14519         * snprintf.c:
14520         "#ifdef __STDC__" not "#if __STDC__" (I missed one)
14521         [c430b80454c6]
14522
14523         * auth/fwtk.c, auth/sia.c:
14524         _cleanup() function returns an int.
14525         [d1a1cc071ec1]
14526
14527         * auth/dce.c:
14528         there were still some return(0)'s hanging around, make them
14529         AUTH_FAILURE
14530         [1002aa1962c3]
14531
14532         * parse.c:
14533         typo in comment
14534         [5abc410dbfd2]
14535
14536         * version.c:
14537         add missing semicolon
14538         [a262283b52a5]
14539
14540         * auth/sudo_auth.h:
14541         missing backslash
14542         [bf89f6bd2900]
14543
14544 1999-08-26  Todd C. Miller  <Todd.Miller@courtesan.com>
14545
14546         * CHANGES, config.h.in, configure, configure.in:
14547         Kill _XOPEN_EXTENDED_SOURCE -- causes problems on some OSes
14548         [f1a9bca0cf67]
14549
14550         * Makefile.in:
14551         add parse.h to HDRS
14552         [a3d054987766]
14553
14554         * Makefile.in, configure, configure.in:
14555         Kill VISUDO_LIBS and VISUDO_LDFLAGS. Add LIBS, NET_LIBS, and
14556         LDFLAGS. Common libs go in LIBS, commong ld flags go in LDFLAGS and
14557         network libs like -lsocket, -lnsl go in NET_LIBS. This allows
14558         testsudoers to build on Solaris and is a bit cleaner in general.
14559         [4e6239e97002]
14560
14561         * UPGRADE:
14562         mention ptmp -> sudoers.tmp
14563         [ec3baa0fe8a1]
14564
14565         * config.h.in, configure, configure.in:
14566         Define _XOPEN_SOURCE_EXTENDED not _XOPEN_SOURCE
14567         [6f93dc7f39f5]
14568
14569         * RUNSON:
14570         add 2 reports
14571         [ce0fcc00ee4e]
14572
14573         * auth/kerb5.c:
14574         Minor changes, mostly cosmetic. verify_krb_v5_tgt() changed to
14575         return a value more like a system function
14576         [0dd56aa21424]
14577
14578         * auth/dce.c:
14579         Add an XXX
14580         [58fc8562c212]
14581
14582         * TODO:
14583         more things todo!
14584         [5a459d0cf339]
14585
14586         * sample.sudoers:
14587         update based on what is in the man page
14588         [1a0477db96fa]
14589
14590         * parse.yacc, sudo.tab.c:
14591         minor change to first line printed in -l mode
14592         [69eb57d96952]
14593
14594         * sudo.cat, sudo.html, sudo.man, sudo.pod:
14595         rename "ENVIRONMENT VARIABLES" section to "ENVIRONMENT" to be more
14596         standard and add "EXAMPLES" section
14597         [7e543335ebe1]
14598
14599         * visudo.cat, visudo.html, visudo.man, visudo.pod:
14600         rename "ENVIRONMENT VARIABLES" section to "ENVIRONMENT" to be more
14601         standard
14602         [f82d87ed65c2]
14603
14604         * logging.c, parse.c, sudo.h:
14605         add FLAG_NO_CHECK
14606         [c7d69176a2d7]
14607
14608         * lex.yy.c, parse.lex:
14609         make an OCTET really be limited to 0-255
14610         [6ee568dd6a02]
14611
14612         * UPGRADE:
14613         mention timestamp changes
14614         [e44d5302bf60]
14615
14616         * PORTING:
14617         cosmetic cleanup
14618         [36fa3a2664dd]
14619
14620         * sudoers.cat, sudoers.html, sudoers.man, sudoers.pod:
14621         new sudoers(8) man page
14622         [e674d06283d0]
14623
14624 1999-08-24  Todd C. Miller  <Todd.Miller@courtesan.com>
14625
14626         * version.c:
14627         Update comments about syslog name tables
14628         [63830a782dcb]
14629
14630         * CHANGES, LICENSE, Makefile.in, configure, configure.in, parse.yacc,
14631         strcasecmp.c, sudo.tab.c:
14632         include strcasecmp() for those without it
14633         [a0d8e2488bbc]
14634
14635         * sample.sudoers:
14636         Use the : operator some more and fix a typo
14637         [18804c70da86]
14638
14639         * HISTORY:
14640         update the history of sudo
14641         [9d9b3d5279b3]
14642
14643         * parse.c, parse.lex, testsudoers.c:
14644         CIDR-style netmask support
14645         [768644467353]
14646
14647         * CHANGES:
14648         recent changes
14649         [a4319e9d07cb]
14650
14651         * sudo.tab.c, sudo.tab.h:
14652         these should be generated with byacc, not bison
14653         [f57b9489b752]
14654
14655         * lex.yy.c:
14656         regen
14657         [522461f95dfa]
14658
14659         * parse.h, parse.yacc, sudo.tab.c, sudo.tab.h:
14660         In "sudo -l" mode, the type of the stored (expanded) alias was not
14661         stored with the contents. This could lead to incorrect output if
14662         the sudoers file had different alias types with the same name.
14663         Normal parsing (ie: not in '-l' mode) is unaffected.
14664         [823fe2bc4b79]
14665
14666 1999-08-23  Todd C. Miller  <Todd.Miller@courtesan.com>
14667
14668         * configure, configure.in:
14669         define _XOPEN_SOURCE to get at crypt() proto on some systems
14670         [1b3769b86fb9]
14671
14672 1999-08-22  Todd C. Miller  <Todd.Miller@courtesan.com>
14673
14674         * snprintf.c:
14675         fix comment
14676         [fc1264df00f7]
14677
14678         * tgetpass.c:
14679         don't need limits.h
14680         [f1631829af45]
14681
14682         * snprintf.c:
14683         kill bogus reference to vfprintf
14684         [a0b99b25d389]
14685
14686         * sample.sudoers, sudoers:
14687         better examples
14688         [b4d87ea64cc8]
14689
14690         * snprintf.c:
14691         Add some const in the K&R defs. This is safe since we define const
14692         away if the compiler doesn't grok it.
14693         [614d6e83d45e]
14694
14695         * aclocal.m4, configure:
14696         Better test for working long long support. Ultrix compiler supports
14697         basic long long but not all operations on them.
14698         [5da1508710ed]
14699
14700         * aclocal.m4, auth/secureware.c, config.h.in, configure, getspwuid.c,
14701         snprintf.c, sudo.c:
14702         Add check for LONG_IS_QUAD #undef MAXINT before including
14703         hpsecurity.h to silence an HP-UX warning Check for U?LONG_LONG_MAX
14704         in snprintf.c and use LONG_IS_QUAD
14705         [a1f7993367fc]
14706
14707 1999-08-21  Todd C. Miller  <Todd.Miller@courtesan.com>
14708
14709         * LICENSE, aclocal.m4, config.h.in, configure, configure.in,
14710         snprintf.c:
14711         UCB-derived snprintf + asprintf support. Supports quads if the
14712         compiler does. No floating point yet, perhaps later...
14713         [0caf05aba945]
14714
14715 1999-08-20  Todd C. Miller  <Todd.Miller@courtesan.com>
14716
14717         * auth/API, auth/sudo_auth.c, auth/sudo_auth.h, check.c, find_path.c,
14718         goodpath.c, logging.c, parse.c, sudo.c:
14719         Run most of the code as root, not the invoking user. It doesn't
14720         really gain us anything to run as the user since an attacker can
14721         just have an setuid(0) in their egg. Running as root solves
14722         potential problems wrt signalling.
14723         [408e530dda01]
14724
14725         * sudo.tab.c:
14726         regen
14727         [f8cfb37e37de]
14728
14729 1999-08-19  Todd C. Miller  <Todd.Miller@courtesan.com>
14730
14731         * logging.c, sudo.c:
14732         Don't wait for child to finish in log_error(), let the signal
14733         handler get it if we are still running, else let init reap it for
14734         us. The extra time it takes to wait lets the user know that mail is
14735         being sent.
14736
14737         Install SIGCHLD handler in main() and for POSIX signals, block
14738         everything
14739         *except* SIGCHLD.
14740         [d2b6ab0ef3be]
14741
14742         * INSTALL, config.h.in, configure, configure.in, logging.c, parse.c,
14743         parse.yacc, sudo.c, sudo.h:
14744         sudoers_lookup() now returns a bitmap instead of an int. This makes
14745         it possible to express things like "failed to validate because user
14746         not listed for this host". Some thigns that were previously
14747         VALIDATE_FOO are now FLAG_FOO. This may change later on.
14748
14749         Reorganized code in log_auth() and sudo.c to deal with above
14750         changes.
14751
14752         Safer versions of push/pushcp with in the do { ... } while (0) style
14753
14754         parse.yacc now saves info on the stack to allow parse.c to determine
14755         if a user was listed, but not for the host he/she tried to run on.
14756
14757         Added --with-mail-if-no-host option
14758         [63326cb01efc]
14759
14760 1999-08-17  Todd C. Miller  <Todd.Miller@courtesan.com>
14761
14762         * parse.yacc, sudo.h, sudo.tab.c, visudo.c, visudo.cat, visudo.html,
14763         visudo.man, visudo.pod:
14764         o NewArgv and NewArgc don't need to be externally visible. o If
14765         pedantic > 1, it is a parse error. o Add -s (strict) option to
14766         visudo which sets pedantic to 2.
14767         [5d7d81b55cd5]
14768
14769         * HISTORY, INSTALL:
14770         Just have sudo-bugs contact info in one place
14771         [e7f6588ea683]
14772
14773         * sudo.cat, sudo.html, sudo.man, sudo.pod:
14774         Add BUGS section
14775         [6607d96ea510]
14776
14777         * Makefile.in, configure, configure.in:
14778         Add testsudoers to default build target if --with-devel Don't clean
14779         generated parser files unless "distclean".
14780         [5827b769dc57]
14781
14782         * parse.yacc, sudo.tab.c:
14783         In pedantic mode we need to save *all* the aliases, not just those
14784         that match, or we get spurious warnings.
14785         [24f5b1f0e1de]
14786
14787         * TROUBLESHOOTING:
14788         reference samples.sylog.conf
14789         [11841668380a]
14790
14791 1999-08-14  Todd C. Miller  <Todd.Miller@courtesan.com>
14792
14793         * sample.syslog.conf:
14794         Sample entries for syslog.conf
14795         [0f7697d878a1]
14796
14797         * CHANGES:
14798         recent changes
14799         [8bca8810c6bd]
14800
14801         * auth/API, auth/afs.c, auth/aix_auth.c, auth/dce.c, auth/fwtk.c,
14802         auth/kerb4.c, auth/kerb5.c, auth/pam.c, auth/passwd.c,
14803         auth/rfc1938.c, auth/secureware.c, auth/securid.c, auth/sia.c,
14804         auth/sudo_auth.c, auth/sudo_auth.h:
14805         In struct sudo_auth, turn need_root and configured into flags and
14806         add a flag to specify an auth method is running alone (the only
14807         one). Pass auth methods their sudo_auth pointer, not the data
14808         pointer. This allows us to get at the flags and tell if we are the
14809         only auth method. That, in turn, allows the method to be able to
14810         decide what should/should not be a fatal error. Currently only
14811         rfc1938 uses it this way, which allows us to kill the OTP_ONLY
14812         define and te hackery that went with it. With access to the
14813         sudo_auth struct, methods can also get at a string holding their
14814         cannonical name (useful in error messages).
14815         [b7e320fc6511]
14816
14817         * INSTALL, Makefile.in, README, config.h.in, configure, configure.in,
14818         getspwuid.c, lex.yy.c, parse.lex, parse.yacc, sudo.tab.c,
14819         sudo.tab.h:
14820         o --with-otp deprecated, use --without-passwd instead o real
14821         dependencies in the Makefile o --with-devel option to enable yacc,
14822         lex, and -Wall o style -- "foo -> bar" becomes "foo->bar" o ALL goes
14823         back to being a token, not a string but don't leak memory o rename
14824         hsotspec -> host in parse.yacc
14825         [912c45226cb2]
14826
14827 1999-08-12  Todd C. Miller  <Todd.Miller@courtesan.com>
14828
14829         * BUGS, CHANGES:
14830         recent changes
14831         [801fa6e55687]
14832
14833         * auth/sudo_auth.c, configure, configure.in, interfaces.c, snprintf.c,
14834         sudo.c, sudo.h:
14835         o Digital UNIX needs to check for *snprintf() before -ldb is added
14836         to LIBS since -ldb includes a bogus snprintf(). o Add forward refs
14837         for struct mbuf and struct rtentry for Digital UNIX. o Reorder some
14838         functions in snprintf.c to fix -Wall o Add missing includes to fix
14839         more -Wall
14840         [8d207203e126]
14841
14842         * INSTALL, auth/sudo_auth.c, check.c, config.h.in, configure,
14843         configure.in, parse.yacc, sudo.tab.c, testsudoers.c, version.c,
14844         visudo.c:
14845         o Add a "pedentic" flag to the parser. This makes sudo warn in
14846         cases where an alias may be used before it is defined. Only turned
14847         on for visudo and testsudoers. o Add --disable-authentication option
14848         that makes sudo not require authentication by default. The PASSWD
14849         tag can be used to require authentication for an entry. We no
14850         longer overload --without-passwd.
14851         [f307e09adf98]
14852
14853         * lex.yy.c, parse.lex:
14854         Break 'WORD' regexp def into HOSTNAME and USERNAME. These days a
14855         username can contain just about anything so be very permissive. Also
14856         drop the unused \. punctuation.
14857         [06a50614ff89]
14858
14859 1999-08-09  Todd C. Miller  <Todd.Miller@courtesan.com>
14860
14861         * parse.yacc, sudo.tab.c:
14862         o add a 'val' element to aliasinfo struct and move -> parse.h o
14863         find_alias() now returns an aliasinfo * instead of boolean o
14864         add_alias() now takes a value parameter to store in the
14865         aliasinfo.val o The cmnd, hostspec, runasuser, and user rules now
14866         return: 1) positive match 0) negative match (due to '!')
14867         -1) no match This means setting $$ explicitly in all cases, which I
14868         should have done in the first place. It also means that we always
14869         store a value that is != -1 and when we see a '!' we can set
14870         *_matches to !rv if rv != -1. The upshot of all of this is that '!'
14871         now works the way it should in lists and some of the rules are more
14872         uniform and sensible.
14873         [ad8e73b5d581]
14874
14875         * Makefile.in:
14876         add parse.h dependency
14877         [4ccccd464d30]
14878
14879         * parse.h:
14880         kill unused *_matched macros
14881         [02cba6dcb732]
14882
14883         * parse.yacc:
14884         Allow a list of users as the first thing in a user spec, not just a
14885         single entry. This makes things more uniform, though it does allow
14886         you to write user specs that are hard to read.
14887         [3c4c91c508ca]
14888
14889         * sudo.tab.c:
14890         parse.yacc
14891         [feca81881bb6]
14892
14893         * configure:
14894         regen
14895         [6f247010bb3b]
14896
14897         * configure.in:
14898         fix check for crypt() in libufc
14899         [82770736f4b0]
14900
14901 1999-08-07  Todd C. Miller  <Todd.Miller@courtesan.com>
14902
14903         * README:
14904         sudo-users list now exists
14905         [4716d2bb0bbf]
14906
14907         * INSTALL, PORTING, README, TODO, TROUBLESHOOTING:
14908         Update to reality.
14909         [1eda2d57e42a]
14910
14911         * CHANGES, Makefile.in, TODO, TROUBLESHOOTING, check.c, compat.h,
14912         config.h.in, configure, configure.in, fileops.c, logging.c, sudo.h,
14913         version.c, visudo.c:
14914         o Move lock_file() and touch() into fileops.c so visudo can use them
14915         o Visudo now locks the sudoers temp file instead of bailing when the
14916         temp file already exists. This fixes the problem of stale temp
14917         files but it does *require* that you not try to put the temp file in
14918         a world-writable directory. This shoud not be an issue as the temp
14919         file should live in the same dir as sudoers. o Visudo now only
14920         installs the temp file as sudoers if it changed.
14921         [2517cd06c070]
14922
14923 1999-08-06  Todd C. Miller  <Todd.Miller@courtesan.com>
14924
14925         * logging.c:
14926         add fcntl locking
14927         [c304adeaf515]
14928
14929         * config.h.in, configure, configure.in, logging.c:
14930         Lock the log file.
14931         [d8652704fbdf]
14932
14933         * Makefile.in, TROUBLESHOOTING, parse.c, pathnames.h.in, sudo.c,
14934         visudo.c, visudo.cat, visudo.html, visudo.man, visudo.pod:
14935         o /etc/stmp -> /etc/sudoers.tmp since solaris uses stmp as shadow
14936         temp file o _PATH_SUDO_SUDOERS -> _PATH_SUDOERS and _PATH_SUDO_STMP
14937         -> _PATH_SUDOERS_TMP
14938         [68cad8975807]
14939
14940 1999-08-05  Todd C. Miller  <Todd.Miller@courtesan.com>
14941
14942         * INSTALL, check.c, config.h.in, configure, configure.in, version.c:
14943         o Kill *_MESSAGE and replace with NO_LECTURE o Add more things to
14944         root sudo -V config reporting
14945         [cdd2613a9dcf]
14946
14947         * configure, configure.in:
14948         aix_auth.o not authenticate.o
14949         [d972e35f6730]
14950
14951         * config.h.in:
14952         Add --with-goodpri and --with-badpri configure options to specify
14953         the syslog priority to use.
14954         [2595ae50ab86]
14955
14956         * INSTALL, configure, configure.in, logging.h:
14957         Add --with-goodpri and --with-badpri configure options to specify
14958         the syslog priority to use.
14959         [8276ee9b2b49]
14960
14961         * compat.h:
14962         kill crufty AIX stuff
14963         [a4f35ef9854e]
14964
14965         * Makefile.in:
14966         Sigh, some versions of make (like Solaris's) don't deal with $< like
14967         I would expect. Both GNU and BSD makes get this right but... So, we
14968         just expand $< inline at the cost of some ugliness.
14969         [b1b456f8801f]
14970
14971         * version.c:
14972         If the invoking user is root, sudo will now print configure info in
14973         -V mode. Currently just prints logging info, to be expanded later.
14974         [392f7ed99267]
14975
14976         * logging.c, logging.h, sudo.c, sudo.h:
14977         o new defines for syslog facility and priority o use new
14978         print_version() functino for -V mode
14979         [78abc5142985]
14980
14981         * check.c:
14982         Don't need version.c
14983         [db9a830ad893]
14984
14985         * aclocal.m4, config.h.in, configure, configure.in:
14986         Add check for syslog facilities and priorities tables in syslog.h
14987         [b86213e5fc5c]
14988
14989         * Makefile.in:
14990         o authenticate -> aix_auth o add version.c
14991         [44b6b9a8d0f5]
14992
14993         * auth/sudo_auth.c:
14994         Missed a prompt -> user_prompt conversion
14995         [e4c60b1f210c]
14996
14997 1999-08-04  Todd C. Miller  <Todd.Miller@courtesan.com>
14998
14999         * TODO:
15000         sudo should lock its logfile
15001         [6d2830b28b07]
15002
15003         * parse.yacc, sudo.tab.c:
15004         o Add '!' correctly when expanding Aliases. o Add shortcut macros
15005         for append() to make things more readable. o The separator in
15006         append() is now a string instead of a char. o In append(), only
15007         prepend the separator if the last char is not a '!'. This is a
15008         hack but it greatly simplifies '!' handling. o In -l mode, Runas
15009         lists and NOPASSWD/PASSWD tags are now inherited across entries in
15010         a list (matches current behavior). o Fix formatting in -l mode such
15011         that items in a list are separated by a space. Greatlt improves
15012         readability. o Space for name field in struct aliasinfo is now
15013         allocated dyanically instead of using a (big) buffer. o In
15014         add_alias(), only search the list once (lsearch instead of lfind +
15015         lsearch)
15016         [51f7e07addb9]
15017
15018         * lex.yy.c, sudo.tab.c, sudo.tab.h:
15019         regen
15020         [5c19bb05dc21]
15021
15022         * configure, configure.in:
15023         Solais pam doesn't require anye xtra setup
15024         [a25ba03d91d1]
15025
15026         * parse.yacc:
15027         o Simpler '!' support now that the lexer deals with multiple !'s for
15028         us. o In the case of opFOO, have FOO give a boolean return value and
15029         set foo_matches in opFOO, not FOO. o Treat 'ALL' as a string since
15030         it gets fill()'d in parse.lex--fixes a small memory leak. In the
15031         long run it may be better to just fix parse.lex and make ALL back
15032         into a token. However, having it be a string is useful since it
15033         can be easily passed back to the parent rule if we so desire.
15034         [b3c64b443018]
15035
15036         * parse.lex:
15037         o Remove some unnecessary backslashes o collapse multiple !'s by
15038         using !+ and checking if yyleng is even or odd. this allows us to
15039         simplify ! handling in parse.yacc
15040         [76330e8da8e3]
15041
15042         * sudo.c:
15043         -u flag was being ignored
15044         [e30283207585]
15045
15046 1999-08-01  Todd C. Miller  <Todd.Miller@courtesan.com>
15047
15048         * Makefile.in:
15049         correct fix
15050         [a0e2377dec8f]
15051
15052         * Makefile.in:
15053         work around pod2man stupididy
15054         [7c755640b67f]
15055
15056         * Makefile.in:
15057         correct dependencies for .cat
15058         [5ed7b0653b68]
15059
15060         * sudo.cat, sudo.man, visudo.cat, visudo.man:
15061         regen
15062         [b74510dd6a0a]
15063
15064         * sudo.pod, visudo.pod:
15065         Add copyright Update to reality
15066         [188e9b046c15]
15067
15068         * parse.c, sudo.c, sudo.h:
15069         rename validate() to the more descriptive sudoers_lookup()
15070         [7a1cb652f379]
15071
15072         * auth/aix_auth.c:
15073         use tgetpass
15074         [b8ba5daec40a]
15075
15076 1999-07-31  Todd C. Miller  <Todd.Miller@courtesan.com>
15077
15078         * CHANGES:
15079         updates
15080         [e61460cdf4a0]
15081
15082         * HISTORY, INSTALL, Makefile.in, README, RUNSON, TROUBLESHOOTING,
15083         configure, configure.in, sudo.c:
15084         Sudo, not CU Sudo
15085         [9061b3573c0c]
15086
15087         * LICENSE:
15088         add 4th term to license similar to term 5 in the apache license
15089         [92712e895afb]
15090
15091         * emul/search.h, emul/utime.h:
15092         add 4th term to license similar to term 5 in the apache license
15093         [4f93a8b9396e]
15094
15095         * auth/afs.c, auth/aix_auth.c, auth/dce.c, auth/fwtk.c, auth/kerb4.c,
15096         auth/kerb5.c, auth/pam.c, auth/passwd.c, auth/rfc1938.c,
15097         auth/secureware.c, auth/securid.c, auth/sia.c, auth/sudo_auth.c,
15098         auth/sudo_auth.h, insults.h, interfaces.c, interfaces.h, lex.yy.c,
15099         logging.c, logging.h, parse.c, parse.h, parse.lex, parse.yacc,
15100         pathnames.h.in, putenv.c, strerror.c, sudo.c, sudo.h, sudo.tab.c,
15101         sudo_setenv.c, testsudoers.c, tgetpass.c, utime.c, version.h,
15102         visudo.c:
15103         add 4th term to license similar to term 5 in the apache license
15104         [afae9f2bf9ec]
15105
15106         * ins_2001.h, ins_classic.h, ins_csops.h, ins_goons.h:
15107         add 4th term to license similar to term 5 in the apache license
15108         [c389d3fdafac]
15109
15110         * Makefile.in, alloc.c, check.c, compat.h, config.h.in, find_path.c,
15111         getspwuid.c, goodpath.c:
15112         add 4th term to license similar to term 5 in the apache license
15113         [969e63dbd38e]
15114
15115         * LICENSE, aclocal.m4, auth/rfc1938.c, check.c, configure.in,
15116         insults.h, logging.c, sudo.c, sudo.h:
15117         there was a 1995 release too
15118         [5963fd89457a]
15119
15120 1999-07-28  Todd C. Miller  <Todd.Miller@courtesan.com>
15121
15122         * CHANGES:
15123         updates
15124         [254b794f16ab]
15125
15126         * check.c:
15127         Use dirs instead of files for timestamp. This allows tty and non-
15128         tty schemes to coexist reasonably. Note, however, that when you
15129         update a tty ticket, the mtime on the user dir gets updated as well.
15130         [44bfac32f799]
15131
15132         * configure, configure.in:
15133         Fix getprpwnam() checking on SCO. Need to link with "-lprot -lx"
15134         when linking test program, not just -lprot. Also add check for
15135         getspnam(). The SCO docs indicate that /etc/shadow can be used but
15136         this may be a lie.
15137         [2ba21d36cc1e]
15138
15139 1999-07-24  Todd C. Miller  <Todd.Miller@courtesan.com>
15140
15141         * auth/API:
15142         first cut at auth API description
15143         [3d10df021eb8]
15144
15145 1999-07-22  Todd C. Miller  <Todd.Miller@courtesan.com>
15146
15147         * auth/fwtk.c, auth/kerb4.c, auth/kerb5.c, auth/pam.c, auth/rfc1938.c,
15148         auth/secureware.c, auth/securid.c, auth/sudo_auth.c,
15149         auth/sudo_auth.h:
15150         auth API change. There is now an init method that gets run before
15151         the main loop. This allows auth routines to differentiate between
15152         initialization that happens once vs. setup that needs to run each
15153         time through the loop.
15154         [76df1c0d3478]
15155
15156         * auth/kerb5.c, logging.c:
15157         use easprintf() and evasprintf()
15158         [fd97d96dc12f]
15159
15160         * alloc.c, sudo.h:
15161         add easprintf() and evasprintf(), error checking versions of
15162         asprintf() and vasprintf()
15163         [f54385de20b7]
15164
15165         * TODO:
15166         remove 2 items. One done, one won't do.
15167         [64513b47bc7a]
15168
15169         * lex.yy.c, sudo.tab.c:
15170         regen
15171         [4aa299de2752]
15172
15173         * configure, sudo.cat, sudo.html, sudo.man, sudoers.html, visudo.cat,
15174         visudo.html, visudo.man:
15175         regen
15176         [553c0d1209be]
15177
15178         * CHANGES:
15179         new changes
15180         [d7be00b7e36b]
15181
15182         * sudo.pod:
15183         o Document -K flag and update meaning of -k flag. o BSD-style
15184         copyright o Document clearing of BIND resolver environment variables
15185         o Clarify bit about shared libs o suggest rc files create /tmp/.odus
15186         if your OS gives away files
15187         [4a4092be1455]
15188
15189         * visudo.pod:
15190         BSD license
15191         [ad0bfd0a4630]
15192
15193         * version.h:
15194         BSD-style copyright
15195         [ecc6479325be]
15196
15197         * tgetpass.c:
15198         o BSD copyright o no need to block signals, we now do that in main()
15199         o cosmetic changes
15200         [61958beda7ab]
15201
15202         * testsudoers.c, visudo.c:
15203         o BSD-style copyright o Use "struct sudo_user" instead of old
15204         globals. o some cometic cleanup
15205         [88c0c6924082]
15206
15207         * sudo_setenv.c:
15208         BSD-style copyright
15209         [df20290129a0]
15210
15211         * sudo.h:
15212         o BSD copyright o logging and parser bits moved to their own .h
15213         files o new "struct sudo_user" to encapsulate many of the old
15214         globals.
15215         [50fc86bf25cb]
15216
15217         * sudo.c:
15218         o no longer contains sudo 1.1/1.2 code o BSD copyright o use new
15219         logging routines o simplified flow of control o BIND resolver
15220         additions to badenv_table
15221         [8c53f15bfcb0]
15222
15223         * strerror.c:
15224         BSD-style copyright
15225         [7c906c3a82ac]
15226
15227         * snprintf.c:
15228         Now compiles on more K&R compilers
15229         [07ab1d3231c7]
15230
15231         * putenv.c:
15232         BSD-style copyright, cosmetic changes
15233         [c42371295881]
15234
15235         * pathnames.h.in:
15236         BSD-style copyright
15237         [e5c34ebd4cf1]
15238
15239         * parse.c, parse.h, parse.lex, parse.yacc:
15240         BSD-style copyright. Move parser-specific defines and structs into
15241         parse.h + other cosmetic changes
15242         [d3088efb6228]
15243
15244         * logging.h:
15245         defines for logging routines
15246         [13147941c02d]
15247
15248         * find_path.c, getspwuid.c, goodpath.c, interfaces.c:
15249         BSD-style copyright, cosmetic changes
15250         [e8205e91a4fa]
15251
15252         * ins_2001.h, ins_classic.h, ins_csops.h, ins_goons.h, insults.h,
15253         interfaces.h:
15254         BSD-style copyright
15255         [b9499da7cdce]
15256
15257         * configure.in:
15258         o tgetpass.c is no longer optional o kill DCE_OBJS, add AUTH_OBJS o
15259         kill --disable-tgetpass o add --without-passwd o changes to fill in
15260         AUTH_OBJS for new auth api o check for strerror(), v?snprintf() and
15261         v?asprintf() o replace --with-AuthSRV with --with-fwtk
15262         [9a3f39b9c128]
15263
15264         * config.h.in:
15265         BSD-style copyright. Remove USE_GETPASS and HAVE_UTIME_NULL. Add
15266         HAVE_FWTK, HAVE_STRERROR, HAVE_SNPRINTF, HAVE_VSNPRINTF,
15267         HAVE_ASPRINTF, HAVE_VASPRINTF, WITHOUT_PASSWD and NO_PASSWD
15268         [9a09054db53a]
15269
15270         * compat.h:
15271         BSD-style copyright; Add S_IFLNK and MIN/MAX id they are missing.
15272         [25509c566975]
15273
15274         * alloc.c:
15275         BSD-style copyright
15276         [4967be892363]
15277
15278         * TROUBLESHOOTING:
15279         no more --with-getpass
15280         [afd5b670c196]
15281
15282         * TODO:
15283         Take out things I've done...
15284         [375420c8270e]
15285
15286         * README:
15287         Refer to LICENSE
15288         [c486c8db30f6]
15289
15290         * PORTING:
15291         --with-getpass no longer exists
15292         [db48202df1bb]
15293
15294         * Makefile.in:
15295         BSD-style copyright. Update to reflect reality wrt new files and
15296         new auth modules.
15297         [61a2ca7940fb]
15298
15299         * INSTALL:
15300         Remove --with-AuthSRV and --disable-tgetpass. Add --with-fwtk and
15301         --without-passwd.
15302         [64e8f9e1c05e]
15303
15304         * HISTORY:
15305         Update history a bit
15306         [df60c0a871b8]
15307
15308         * COPYING, LICENSE:
15309         Now distributed under a BSD-style license
15310         [d1a184ccabe1]
15311
15312         * auth/sudo_auth.c:
15313         o BSD-style copyright o Add support for NO_PASSWD/WITHOUT_PASSWD
15314         options. o skey/opie replaced by rfc1938 code o new struct sudo_user
15315         global
15316         [891b57060868]
15317
15318         * auth/pam.c, auth/sia.c:
15319         BSD-style copyright and use new log functions
15320         [65c44445ea84]
15321
15322         * auth/kerb5.c:
15323         o BSD-style copyright o Use new log functiongs o Use asprintf() and
15324         snprintf() where sensible.
15325         [1ff0feaacf95]
15326
15327         * check.c:
15328         Rewrote all the old sudo 1.1/1.2 code. Timestamp handling is now
15329         done more reasonably--better sanity checks and tty-based stamps are
15330         now done as files in a directory with the same name as the invoking
15331         user, eg. /var/run/sudo/millert/ttyp1. It is not currently possible
15332         to mix tty and non-tty based ticket schemes but this may change in
15333         the future (it requires sudo to use a directory instead of a file in
15334         the non-tty case). Also, ``sudo -k'' now sets the ticket back to
15335         the epoch and ``sudo -K'' really deletes the file. That way you
15336         don't get the lecture again just because you killed your ticket in
15337         .logout. BSD-style copyright now.
15338         [ec3460f85be8]
15339
15340         * logging.c:
15341         o rewritten logging routines. log_error() now takes printf-style
15342         varargs and log_auth() for the return value of validate(). o BSD-
15343         style copyright
15344         [438292025c4e]
15345
15346         * auth.c, check_sia.c, dce_pwent.c, secureware.c:
15347         superceded by new auth API
15348         [412060590da7]
15349
15350         * auth/kerb4.c:
15351         BSD-style copyright
15352         [cc4e800833c7]
15353
15354         * auth/fwtk.c:
15355         Use snprintf() where it makes sense and add a BSD-style copyright
15356         [1b7502388a74]
15357
15358         * auth/afs.c, auth/aix_auth.c, auth/dce.c, auth/passwd.c,
15359         auth/rfc1938.c, auth/secureware.c, auth/securid.c, auth/sudo_auth.h:
15360         BSD-style copyright
15361         [42583bedae5c]
15362
15363         * emul/utime.h, utime.c:
15364         BSD-style copyright
15365         [3985c90aba47]
15366
15367         * emul/search.h:
15368         this has been rewritten so use my BSD-style copyright
15369         [176df1b0de6f]
15370
15371 1999-07-15  Todd C. Miller  <Todd.Miller@courtesan.com>
15372
15373         * snprintf.c:
15374         include malloc.h if no stdlib.h
15375         [7b123f1d1d03]
15376
15377         * snprintf.c:
15378         KTH snprintf()/asprintf() for systems w/o them
15379         [3ca9aefb9d01]
15380
15381         * strerror.c:
15382         strerror() for systems w/o it
15383         [7f0bd8a1c1b4]
15384
15385 1999-07-12  Todd C. Miller  <Todd.Miller@courtesan.com>
15386
15387         * visudo.c:
15388         stylistic changes
15389         [6f99aceb7170]
15390
15391         * parse.c, parse.lex, parse.yacc:
15392         Add contribution info in the main comment
15393         [e50cec10acd6]
15394
15395 1999-07-11  Todd C. Miller  <Todd.Miller@courtesan.com>
15396
15397         * auth/pam.c:
15398         remove missed ref to PAM_nullpw
15399         [a43e59692cdb]
15400
15401         * auth/sudo_auth.h:
15402         pasto
15403         [891ff138ab89]
15404
15405         * auth/kerb5.c:
15406         more or less complete now--still untested
15407         [21036732faa0]
15408
15409         * auth/afs.c, auth/pam.c:
15410         don't use user_name macro, it will go away
15411         [def7cf727349]
15412
15413         * auth/opie.c, auth/rfc1938.c, auth/skey.c, auth/sudo_auth.h:
15414         combine skey/opie code into rfc1938.c
15415         [44d88ca93d3e]
15416
15417         * auth/dce.c, auth/sudo_auth.h:
15418         DCE authentication method; basically unchanged from dce_pwent.c
15419         [4d468473dd6f]
15420
15421         * auth/aix_auth.c, auth/sudo_auth.h:
15422         AIX authenticate() support. Could probably be much better
15423         [000013321a33]
15424
15425         * auth/sia.c:
15426         Fix an uninitialized variable and some cleanup. Now works (tested)
15427         [fd6ad88ff055]
15428
15429         * auth/sia.c, auth/sudo_auth.h:
15430         SIA support for digital unix
15431         [5335f3e70eab]
15432
15433         * auth/pam.c:
15434         don't use prompt global, it will go away
15435         [fadd22dd6ce4]
15436
15437         * auth/secureware.c:
15438         correct copyright years
15439         [6aa07c49f51b]
15440
15441         * auth/afs.c, auth/fwtk.c, auth/kerb4.c, auth/kerb5.c, auth/opie.c,
15442         auth/pam.c, auth/passwd.c, auth/secureware.c, auth/securid.c,
15443         auth/skey.c, auth/sudo_auth.c, auth/sudo_auth.h:
15444         New authentication API and methods
15445         [9debe9b59c79]
15446
15447 1999-07-08  Todd C. Miller  <Todd.Miller@courtesan.com>
15448
15449         * sudo.tab.c:
15450         regen
15451         [84578e82c1a6]
15452
15453         * parse.yacc:
15454         only save an entry if user_matches && host_matches, even if the
15455         stack is empty (fix for previous commit)
15456         [00984b078d8a]
15457
15458         * sudo.tab.c:
15459         regen
15460         [66acf160b4b7]
15461
15462         * parse.yacc:
15463         1) Always save an entry on the stack if it is empty. This fixes the
15464         -l and -v flags that were broken by earlier parser changes.
15465
15466         2) In a Runas list, don't negate FALSE -> TRUE since that would make
15467         !foo match any time the user specified a runas user (via -u) other
15468         than foo.
15469         [f322eb54b015]
15470
15471         * testsudoers.c:
15472         interfaces and num_interfaces are now auto, not extern
15473         [113add5c6518]
15474
15475 1999-07-07  Todd C. Miller  <Todd.Miller@courtesan.com>
15476
15477         * auth.c:
15478         use a static global to keep stae about empty passwords
15479         [bc02e30807d8]
15480
15481         * check_sia.c:
15482         make PASSWORD_NOT_CORRECT logging consistent with other modules
15483         [21962549d5fd]
15484
15485 1999-07-05  Todd C. Miller  <Todd.Miller@courtesan.com>
15486
15487         * auth.c:
15488         PAM prompt code was wrong, looks like we have to kludge it after
15489         all.
15490         [91f246155ead]
15491
15492         * auth.c:
15493         In the PAM code, when a user hits return at the first password
15494         prompt, exit without a warning just like the normal auth code
15495         [918f59bacdb7]
15496
15497         * configure, configure.in:
15498         kludge around cross-compiler false positives
15499         [5e5fc8356400]
15500
15501         * auth.c, check.c, check_sia.c, logging.c, sudo.h, tgetpass.c:
15502         New (correct) PAM code Tgetpass now takes an echo flag for use with
15503         PAM_PROMPT_ECHO_ON Block SIGINT and SIGTSTP during auth remove a
15504         useless umask setting Change error from BAD_ALLOCATION ->
15505         BAD_AUTH_INIT (for use with sia/PAM) Some cosmetic changes to auth.c
15506         for consistency
15507         [e71397f09dd8]
15508
15509         * sudo.c:
15510         Some -Wall and kill some trailing spaces
15511         [8229b43d5c4e]
15512
15513         * configure.in:
15514         define -D__EXTENSIONS__ for solaris so we get crypt() proto
15515         [7533e4436cab]
15516
15517 1999-06-22  Todd C. Miller  <Todd.Miller@courtesan.com>
15518
15519         * RUNSON:
15520         add Dynix 4.4.4
15521         [b69f773efbce]
15522
15523         * INSTALL, config.h.in, configure, configure.in:
15524         for kerberos V < version, fall back on old kerb4 auth code
15525         [d685ed3a1d8e]
15526
15527         * INSTALL:
15528         clarify some things
15529         [2f5ba2e8e53a]
15530
15531         * UPGRADE, sudoers.cat, sudoers.man, sudoers.pod:
15532         typos
15533         [8925a109c093]
15534
15535 1999-06-14  Todd C. Miller  <Todd.Miller@courtesan.com>
15536
15537         * sudo.c:
15538         mention why DONT_LEAK_PATH_INFO is not the default
15539         [0346260cb4ec]
15540
15541 1999-06-03  Todd C. Miller  <Todd.Miller@courtesan.com>
15542
15543         * tgetpass.c:
15544         Fix open(2) return value checking, was NULL for fopen, should be -1
15545         for open
15546         [355878bf6d8a]
15547
15548         * configure:
15549         regen
15550         [68bf82871862]
15551
15552         * configure.in:
15553         better wording for solaris pam notice
15554         [04e88c7a6c42]
15555
15556         * CHANGES:
15557         document recent changes
15558         [7c922c5622ef]
15559
15560         * TROUBLESHOOTING:
15561         Update shadow password section
15562         [e8448bae7d66]
15563
15564         * auth.c:
15565         move authentication code from check.c to auth.c
15566         [e9f6ecae2399]
15567
15568         * Makefile.in, check.c, sudo.h:
15569         move authentication code to auth.c
15570         [124cded85f46]
15571
15572 1999-05-17  Todd C. Miller  <Todd.Miller@courtesan.com>
15573
15574         * Makefile.in, check.c, check_sia.c, compat.h, find_path.c,
15575         getspwuid.c, goodpath.c, interfaces.c, interfaces.h, lex.yy.c,
15576         logging.c, parse.c, parse.lex, parse.yacc, secureware.c, sudo.c,
15577         sudo.h, sudo.tab.c, sudo_setenv.c, testsudoers.c, tgetpass.c,
15578         visudo.c:
15579         Move interface-related defines to interfaces.h so we don't have to
15580         include <netinet/in.h> everywhere.
15581         [e7599d8ea0bf]
15582
15583 1999-05-14  Todd C. Miller  <Todd.Miller@courtesan.com>
15584
15585         * CHANGES, INSTALL, TODO, check.c, compat.h, getspwuid.c, logging.c,
15586         parse.yacc, sudo.c, sudo.tab.c, tgetpass.c:
15587         o Replace _PASSWD_LEN braindeath with our own SUDO_MAX_PASS. It
15588         turns out the old DES crypt does the right thing with passwords
15589         longert than 8 characters. o Fix common typo (necesary ->
15590         necessary) o Update TODO list
15591         [ad75007a6f13]
15592
15593 1999-05-03  Todd C. Miller  <Todd.Miller@courtesan.com>
15594
15595         * sudo.c:
15596         set $LOGNAME when we set $USER
15597         [391596210fd7]
15598
15599 1999-04-27  Todd C. Miller  <Todd.Miller@courtesan.com>
15600
15601         * INSTALL:
15602         add comment about digital unix and interfaces.c warning with gcc
15603         [e20f815901cc]
15604
15605 1999-04-15  Todd C. Miller  <Todd.Miller@courtesan.com>
15606
15607         * sample.sudoers:
15608         use modern paths and give examples for some of the new parser
15609         features
15610         [e7b2e507c695]
15611
15612 1999-04-10  Todd C. Miller  <Todd.Miller@courtesan.com>
15613
15614         * parse.c:
15615         fix comment
15616         [5eb0d005a65f]
15617
15618         * alloc.c, check.c, check_sia.c, dce_pwent.c, find_path.c,
15619         getspwuid.c, goodpath.c, interfaces.c, lex.yy.c, logging.c, parse.c,
15620         parse.lex, parse.yacc, putenv.c, secureware.c, sudo.c, sudo.tab.c,
15621         sudo_setenv.c, testsudoers.c, tgetpass.c, utime.c, visudo.c:
15622         Function names should be flush with the start of the line so they
15623         can be found trivially in an editor and with grep
15624         [3c400abde574]
15625
15626         * find_path.c, interfaces.c, lex.yy.c, parse.c, parse.lex, parse.yacc,
15627         sudo.c, sudo.tab.c, testsudoers.c, tgetpass.c, visudo.c:
15628         free(3) is already void, no need to cast it
15629         [6981e1ebda0f]
15630
15631         * logging.c, sudo.c, sudo.h:
15632         catch case where cmnd_safe is not set (this should not be possible)
15633         [3e1e3038546c]
15634
15635         * CHANGES, logging.c, parse.c, parse.yacc, sudo.c, sudo.h, sudo.tab.c,
15636         testsudoers.c, visudo.c:
15637         Stash the "safe" path (ie: the one listed in sudoers) to the command
15638         instead of stashing the struct stat. Should be safer.
15639         [aa2883fcf57e]
15640
15641 1999-04-08  Todd C. Miller  <Todd.Miller@courtesan.com>
15642
15643         * INSTALL, Makefile.in, UPGRADE:
15644         notes on updating from an earlier release
15645         [df9fffa4ab2c]
15646
15647         * CHANGES:
15648         updated
15649         [574f5065d15a]
15650
15651 1999-04-07  Todd C. Miller  <Todd.Miller@courtesan.com>
15652
15653         * parse.yacc, sudo.tab.c, sudo.tab.h, sudoers.cat, sudoers.html,
15654         sudoers.man, sudoers.pod:
15655         You can now specifiy a host list instead of just a host or alias.
15656         Ie: user = host1,host2,ALIAS,!host3 my_command now works.
15657         [e3942bb78021]
15658
15659         * testsudoers.c:
15660         Quiet -Wall
15661         [a3edc8b08c3a]
15662
15663         * parse.yacc, sudo.tab.c:
15664         Move the push from the beginning of cmndspec to the end. This means
15665         we no longer have to do a push at the end of privilege, just reset
15666         some values.
15667         [8ea66e5860c6]
15668
15669         * sudoers.cat, sudoers.html, sudoers.man, sudoers.pod:
15670         runas-lists and NOPASSWD/PASSWD modifiers are now sticky and you can
15671         use "!" most everywhere
15672         [aadae4d1c9d5]
15673
15674 1999-04-06  Todd C. Miller  <Todd.Miller@courtesan.com>
15675
15676         * sudoers.pod:
15677         modernize paths and update su example based on sample.sudoers one
15678         [3f6a37e16c83]
15679
15680         * sample.sudoers:
15681         New runas semantics
15682         [756ee92865b7]
15683
15684         * CHANGES, Makefile.in, alloc.c, config.h.in, configure, configure.in,
15685         strdup.c, sudo.h:
15686         In estrdup(), do the malloc ourselves so we don't need to rely on
15687         the system strdup(3) which may or may not exist. There is now no
15688         need to provide strdup() for those w/o it. Also, the prototype for
15689         estrdup() was wrong, it returns char * and its param is const.
15690         [5f1f984da8e3]
15691
15692         * getcwd.c:
15693         $Sudo tag
15694         [e4188a35e68c]
15695
15696         * check.c:
15697         buf should be prompt; Michael Robokoff <mrobo@networkcs.com>
15698         [2aec87c86cde]
15699
15700         * CHANGES, TODO, parse.yacc, sudo.tab.c:
15701         It is now possible to use the '!' operator in a runas list as well
15702         as in a Cmnd_Alias, Host_Alias and User_Alias.
15703         [a4fdaabda990]
15704
15705         * logging.c, sudo.h:
15706         Kill GLOBAL_NO_SPW_ENT (not used) and crank GLOBAL_PROBLEM
15707         [73d0376785ae]
15708
15709         * sudo.h:
15710         Definitions of *_matched were wrong--user top, not top-2 as
15711         subscript.
15712         [5f8350a57362]
15713
15714         * logging.c, parse.c, parse.yacc, sudo.c, sudo.h, sudo.tab.c:
15715         Add VALIDATE_NOT_OK_NOPASS for when user is not allowed to run a
15716         command but the NOPASSWD flag was set. Make runasspec, runaslist,
15717         runasuser, and nopasswd typeless in parse.yacc Add support for '!'
15718         in the runas list Fix double printing of '%' and '+' for groups and
15719         netgroups respectively Add *_matched macros (no need for local stack
15720         variable). Should only be used directly after a pop (since top must
15721         be >= 2).
15722         [392b1400c4e6]
15723
15724         * aclocal.m4, configure.in:
15725         Add copyright, somewhat silly
15726         [55c2cdd82dca]
15727
15728 1999-04-05  Todd C. Miller  <Todd.Miller@courtesan.com>
15729
15730         * BUGS, INSTALL, Makefile.in, README, alloc.c, check.c, check_sia.c,
15731         compat.h, config.h.in, configure, configure.in, dce_pwent.c,
15732         emul/utime.h, find_path.c, getspwuid.c, goodpath.c, ins_2001.h,
15733         ins_classic.h, ins_csops.h, ins_goons.h, insults.h, interfaces.c,
15734         lex.yy.c, logging.c, parse.c, parse.lex, parse.yacc, pathnames.h.in,
15735         putenv.c, secureware.c, strdup.c, sudo.c, sudo.cat, sudo.h,
15736         sudo.man, sudo.tab.c, sudo_setenv.c, sudoers.cat, sudoers.man,
15737         testsudoers.c, tgetpass.c, utime.c, version.h, visudo.c, visudo.cat,
15738         visudo.man:
15739         Crank version to 1.6 and combine copyright statements
15740         [0e1c791658ae]
15741
15742         * sample.sudoers:
15743         Use ! not ^ to do negation
15744         [1480a0761730]
15745
15746         * lex.yy.c, sudo.tab.c:
15747         regen
15748         [89ca5a46684b]
15749
15750         * parse.lex, parse.yacc:
15751         Make runas and NOPASSWD tags persistent across entris in a command
15752         list. Add a PASSWD tag to reverse NOPASSWD. When you override a
15753         runas or *PASSWD tag the value given becomes the new default for the
15754         rest of the command list.
15755         [f1bbb4066542]
15756
15757 1999-04-02  Todd C. Miller  <Todd.Miller@courtesan.com>
15758
15759         * CHANGES, RUNSON:
15760         update for 1.5.9
15761         [a1ae9d4a7d54] [SUDO_1_5_9]
15762
15763         * visudo.c:
15764         Shift return value of system(3) by 8 to get real exit value and if
15765         it is not 1 or 0 print the retval along with the error message.
15766         [c1ff50d743fb]
15767
15768 1999-03-30  Todd C. Miller  <Todd.Miller@courtesan.com>
15769
15770         * Makefile.in:
15771         testsudoers needs LIBOBJS too
15772         [972571b4e4bf]
15773
15774         * parse.c, parse.yacc, sudo.tab.c:
15775         Fix another parser bug. For a sudoers entry like this: millert
15776         ALL=/bin/ls,(daemon) !/bin/ls sudo would not allow millert to run ls
15777         as root.
15778         [51968e1eb33d]
15779
15780         * CHANGES:
15781         new change
15782         [271c6110bb62]
15783
15784         * parse.yacc, sudo.tab.c:
15785         Save entries that match a ! command on the matching stack too
15786         [5afb5107116c]
15787
15788         * sudo.c:
15789         Make sudo's usage info better when mutually exclusive args are given
15790         and don't rely on argument order to detect this; nick@zeta.org.au
15791         [2422753c88fd]
15792
15793 1999-03-29  Todd C. Miller  <Todd.Miller@courtesan.com>
15794
15795         * CHANGES, Makefile.in, RUNSON:
15796         updates from CU
15797         [b37381e3dafb]
15798
15799         * Makefile.in:
15800         use gzip
15801         [94a64e52a166]
15802
15803         * parse.yacc, sudo.tab.c:
15804         Fix off by one error introduced in *alloc changes
15805         [95ede581153a]
15806
15807         * BUGS, CHANGES, INSTALL, Makefile.in, README, alloc.c, check.c,
15808         check_sia.c, compat.h, config.h.in, configure, configure.in,
15809         dce_pwent.c, emul/utime.h, find_path.c, getspwuid.c, goodpath.c,
15810         ins_2001.h, ins_classic.h, ins_csops.h, ins_goons.h, insults.h,
15811         interfaces.c, lex.yy.c, logging.c, parse.c, parse.lex, parse.yacc,
15812         pathnames.h.in, putenv.c, secureware.c, strdup.c, sudo.c, sudo.cat,
15813         sudo.h, sudo.man, sudo.tab.c, sudo_setenv.c, sudoers.cat,
15814         sudoers.man, testsudoers.c, tgetpass.c, utime.c, version.h,
15815         visudo.c, visudo.cat, visudo.html, visudo.man, visudo.pod:
15816         ++version
15817         [c6d88f024e37]
15818
15819         * Makefile.in, check.c, find_path.c, getspwuid.c, goodpath.c,
15820         interfaces.c, lex.yy.c, logging.c, parse.c, parse.lex, parse.yacc,
15821         putenv.c, secureware.c, strdup.c, sudo.c, sudo.h, sudo.tab.c,
15822         sudo_setenv.c, testsudoers.c, utime.c, visudo.c:
15823         Use emalloc/erealloc/estrdup
15824         [44221d97361a]
15825
15826         * alloc.c:
15827         error checking memory allocation routines
15828         [5f8c1e7bbc71]
15829
15830         * parse.yacc, sudo.tab.c:
15831         Still not right, this fixes it for real
15832         [ad553b6f5339]
15833
15834         * parse.yacc, sudo.tab.c:
15835         Fix for previous commit
15836         [4d6f989f9bf2]
15837
15838         * CHANGES, INSTALL, parse.yacc:
15839         Fix a parser bug that was exposed when mixing different runas specs
15840         and ! commands. For example: millert ALL=(daemon)
15841         /usr/bin/whoami,!/bin/ls would allow millert to run whoami as root
15842         as well as daemon when it should just allow daemon. The problem was
15843         that comma-separated commands in a list shared the same entry on the
15844         matching stack. Now they get their own entry iff there is a full
15845         match. It may be better to just make the runas spec persistent
15846         across all commands in a list like the user and host entries of the
15847         matching stack. However, since that is a fairly major change it
15848         should gets its own minor rev increase.
15849         [c4b939cdcc8e]
15850
15851 1999-03-28  Todd C. Miller  <Todd.Miller@courtesan.com>
15852
15853         * check.c, config.h.in:
15854         Simplify PAM code and fix a PAM-related warning on Linux
15855         [2468399523b6]
15856
15857 1999-03-26  Todd C. Miller  <Todd.Miller@courtesan.com>
15858
15859         * CHANGES:
15860         updates
15861         [29d4a997769c]
15862
15863         * sample.sudoers:
15864         better su entry
15865         [76d8285a72ba]
15866
15867         * configure:
15868         regen
15869         [b7450cc6975d]
15870
15871         * check.c, configure.in:
15872         new pam code that works on solaris, should work on linux too;
15873         aelberg@home.com
15874         [84c16c0ff259]
15875
15876 1999-03-19  Todd C. Miller  <Todd.Miller@courtesan.com>
15877
15878         * RUNSON:
15879         more entries
15880         [b6bef8660759]
15881
15882         * config.h.in:
15883         only include strings.h if there is no string.h
15884         [b66054a32b00]
15885
15886 1999-03-17  Todd C. Miller  <Todd.Miller@courtesan.com>
15887
15888         * config.guess:
15889         Sinix is now being called ReliantUNIX; bjjackso@us.oracle.com
15890         [c086d2fe63af]
15891
15892 1999-03-13  Todd C. Miller  <Todd.Miller@courtesan.com>
15893
15894         * sudo.c:
15895         shost must be set before log functions are called #ifdef HOST_IN_LOG
15896         [d49a7944358f]
15897
15898 1999-03-07  Todd C. Miller  <Todd.Miller@courtesan.com>
15899
15900         * CHANGES, lex.yy.c, parse.lex:
15901         Fix a bug wrt quoting characters in command args. Stop processing
15902         an arg when you hit a backslash so the quoted-character detection
15903         can catch it.
15904         [2281438d7f41]
15905
15906 1999-02-26  Todd C. Miller  <Todd.Miller@courtesan.com>
15907
15908         * interfaces.c:
15909         include sys/time.h; aparently AIX needs it. ppz@cdu.elektra.ru
15910         [31118a9e9916]
15911
15912 1999-02-24  Todd C. Miller  <Todd.Miller@courtesan.com>
15913
15914         * configure, configure.in:
15915         add missing case statement so --without-sendmail works
15916         [ca25614f7dd9]
15917
15918 1999-02-23  Todd C. Miller  <Todd.Miller@courtesan.com>
15919
15920         * CHANGES:
15921         more
15922         [4d70e44f7f93]
15923
15924 1999-02-22  Todd C. Miller  <Todd.Miller@courtesan.com>
15925
15926         * configure, configure.in:
15927         only search for -lsun in irix <= 4.x
15928         [e604238317b1]
15929
15930         * configure, configure.in:
15931         back out last configure.in change now that I've hacked autoconf to
15932         fix the real problem and add a missing newline
15933         [2dabf59a79b5]
15934
15935         * CHANGES:
15936         updated
15937         [bb35d526552f]
15938
15939         * getcwd.c:
15940         add def of dirfd() for those without it
15941         [95f0173d8441]
15942
15943         * configure, configure.in:
15944         When falling back to checking for socket() when linking with
15945         "-lsocket -lnsl" check for main() instead since autoconf has already
15946         cached the results of checking for socket() in -lsocket. This is
15947         really an autoconf bug as it should use the extra libs as part of
15948         the cache variable name.
15949         [a845f8b710ad]
15950
15951         * configure.in:
15952         typo
15953         [a7d62f62a478]
15954
15955 1999-02-21  Todd C. Miller  <Todd.Miller@courtesan.com>
15956
15957         * configure.in:
15958         fix occurrence of $with_timeout that should be
15959         $with_password_timeout; Michael.Neef@neuroinformatik.ruhr-uni-
15960         bochum.de
15961         [8c4da2cf73d1]
15962
15963 1999-02-17  Todd C. Miller  <Todd.Miller@courtesan.com>
15964
15965         * sudo.cat, sudo.html, sudo.man, sudo.pod:
15966         fix grammar; espie@openbsd.org
15967         [7031d9dfbc3e] [SUDO_1_5_8]
15968
15969 1999-02-11  Todd C. Miller  <Todd.Miller@courtesan.com>
15970
15971         * parse.yacc, sudo.c, testsudoers.c:
15972         add cast for strdup in places it does not have it
15973         [7ce4478d3b0f]
15974
15975 1999-02-09  Todd C. Miller  <Todd.Miller@courtesan.com>
15976
15977         * configure, configure.in:
15978         define for_BSD_TYPES irix
15979         [858337ff4af8]
15980
15981 1999-02-07  Todd C. Miller  <Todd.Miller@courtesan.com>
15982
15983         * Makefile.in, sudo.cat, sudo.html, sudo.man, sudo.pod:
15984         Make it clear that it is the user's password, not root's, that we
15985         want.
15986         [ae0f51b35ee4]
15987
15988         * check.c, sudo.h:
15989         If the user enters an empty password and really has no password,
15990         accept the empty password they entered. Perviously, they could
15991         enter anything
15992         *but* an empty password. Also, add GETPASS macro that calls either
15993         tgetpass() or getpass() depending on how sudo was configured.
15994         Problem noted by jdg@maths.qmw.ac.uk
15995         [2fde21ce94c1]
15996
15997 1999-02-03  Todd C. Miller  <Todd.Miller@courtesan.com>
15998
15999         * Makefile.in, check.c, check_sia.c, compat.h, config.h.in,
16000         dce_pwent.c, emul/utime.h, find_path.c, getspwuid.c, goodpath.c,
16001         ins_2001.h, ins_classic.h, ins_csops.h, ins_goons.h, insults.h,
16002         interfaces.c, logging.c, parse.c, parse.lex, parse.yacc,
16003         pathnames.h.in, putenv.c, secureware.c, strdup.c, sudo.c, sudo.h,
16004         sudo_setenv.c, testsudoers.c, tgetpass.c, utime.c, version.h,
16005         visudo.c:
16006         add explicate copyright
16007         [d3b4449834a5]
16008
16009         * CHANGES:
16010         mention -lsocket, -lnsl configure changes
16011         [9140af4ad8ae]
16012
16013 1999-02-02  Todd C. Miller  <Todd.Miller@courtesan.com>
16014
16015         * sudo.c:
16016         Don't clobber errno after calling check_sudoers().
16017         [59bd581b2654]
16018
16019 1999-02-01  Todd C. Miller  <Todd.Miller@courtesan.com>
16020
16021         * configure, configure.in:
16022         When linking with both -lsocket and -lnsl be sure to do so in that
16023         order. Also, when we can't find socket() or inet_addr() and have to
16024         try linking with both libs, issue a warning.
16025         [0ee547163067]
16026
16027         * sudo.cat, sudo.man, sudo.pod:
16028         clarify bad timestamp and fmt
16029         [70e42cf56c75]
16030
16031 1999-01-23  Todd C. Miller  <Todd.Miller@courtesan.com>
16032
16033         * INSTALL, RUNSON:
16034         be clear that pam is linux-only and add a RUNSON entry
16035         [7fdeab875e0d]
16036
16037 1999-01-22  Todd C. Miller  <Todd.Miller@courtesan.com>
16038
16039         * CHANGES, INSTALL, configure, configure.in:
16040         fix and correctly document --with-umask; problem noted by
16041         adap@adap.org
16042         [11cd0481d63a]
16043
16044 1999-01-20  Todd C. Miller  <Todd.Miller@courtesan.com>
16045
16046         * configure, configure.in:
16047         only use /usr/{man,catman}/local to store man pages if suer didn't
16048         override prefix or mandir
16049         [781ad2cbe9be]
16050
16051         * INSTALL, configure, configure.in:
16052         fix typo, make --with-SecurID take an arg
16053         [026a9b4014fc]
16054
16055 1999-01-19  Todd C. Miller  <Todd.Miller@courtesan.com>
16056
16057         * RUNSON:
16058         updates from users
16059         [2286982b31e6]
16060
16061         * CHANGES, INSTALL, check.c, configure, configure.in:
16062         FWTK 'authsrv' support from Kevin Kadow <kadow@MSG.NET>
16063         [23aa4e5c6b02]
16064
16065         * configure, configure.in:
16066         better fix for the problem of unresolved symbols in -lnsl or
16067         -lsocket
16068         [82fe70fc287f]
16069
16070         * configure, configure.in:
16071         when checking for functions in -lnsl and -lsocket link with both of
16072         them to avoid unresolved symbols on some weirdo systems
16073         [1734a591808e]
16074
16075 1999-01-18  Todd C. Miller  <Todd.Miller@courtesan.com>
16076
16077         * BUGS, CHANGES, RUNSON, TODO:
16078         old changes that didn't make it into RCS before the RCS->CVS switch
16079         [846eb2b8f9aa]
16080
16081 1999-01-17  Todd C. Miller  <Todd.Miller@courtesan.com>
16082
16083         * Makefile.in, check.c, check_sia.c, compat.h, config.h.in,
16084         configure.in, dce_pwent.c, emul/search.h, emul/utime.h, find_path.c,
16085         getspwuid.c, goodpath.c, ins_2001.h, ins_classic.h, ins_csops.h,
16086         ins_goons.h, insults.h, interfaces.c, lex.yy.c, logging.c,
16087         lsearch.c, parse.c, parse.lex, parse.yacc, pathnames.h.in, putenv.c,
16088         secureware.c, strdup.c, sudo.c, sudo.pod, sudo_setenv.c,
16089         sudoers.pod, testsudoers.c, tgetpass.c, utime.c, visudo.c,
16090         visudo.pod:
16091         add sudo tags
16092         [962f81eaa5ab]
16093
16094         * sudo.h:
16095         testing Sudo tag
16096         [e84cbc521129]
16097
16098         * version.h:
16099         testing Sudo tag
16100         [a8c3a3998b88]
16101
16102         * BUGS, INSTALL, Makefile.in, README, check.c, check_sia.c, compat.h,
16103         config.h.in, configure, configure.in, dce_pwent.c, emul/utime.h,
16104         find_path.c, getspwuid.c, goodpath.c, ins_2001.h, ins_classic.h,
16105         ins_csops.h, ins_goons.h, insults.h, interfaces.c, lex.yy.c,
16106         logging.c, parse.c, parse.lex, parse.yacc, pathnames.h.in, putenv.c,
16107         secureware.c, strdup.c, sudo.c, sudo.cat, sudo.h, sudo.man,
16108         sudo_setenv.c, sudoers.cat, sudoers.man, testsudoers.c, tgetpass.c,
16109         utime.c, version.h, visudo.c, visudo.cat, visudo.man:
16110         crank version and regen files
16111         [23eacf00a1a4]
16112
16113         * Makefile.in:
16114         kill rcs goop in update_version and fix now that version is a const
16115         [e6e50bd8d1e1]
16116
16117         * INSTALL, check.c, config.h.in, configure, configure.in, logging.c,
16118         sudo.c, sudo.h, sudo.pod:
16119         kerb5 support from fcusack@iconnet.net
16120         [8134027986e2]
16121
16122         * realpath.c, sudo_realpath.c:
16123         we no longer use realpath
16124         [0f5f64abc646]
16125
16126         * qualify.c:
16127         replaced by find_path.c
16128         [9e32a87e09c4]
16129
16130         * options.h:
16131         all options are now configure flags
16132         [ee6bd9610102]
16133
16134         * lex.yy.c:
16135         regen
16136         [bdbf8a18161f]
16137
16138         * getwd.c:
16139         superceded by getcwd.c
16140         [1e54ee0990b4]
16141
16142         * getpass.c:
16143         superceded by tgetpass.c
16144         [4e0d1edc30e3]
16145
16146         * SUPPORTED:
16147         superceded by RUNSON
16148         [854c5a21cb53]
16149
16150         * OPTIONS:
16151         No longer used now that we have configure options for everything.
16152         [9b1ae1c89259]
16153
16154         * configure:
16155         regen based on configure.in
16156         [3a4d73936973]
16157
16158         * sudo.cat, sudo.html, sudo.man, sudoers.cat, sudoers.html,
16159         sudoers.man, visudo.cat, visudo.html, visudo.man:
16160         regen based on sudo.pod, sudoers.pod, and visudo.pod
16161         [c267beb90778]
16162
16163 1998-12-11  Todd C. Miller  <Todd.Miller@courtesan.com>
16164
16165         * check.c:
16166         fix tty tickets in remove_timestamp (didn't use ':')
16167         [fd964a74a32b]
16168
16169 1998-12-07  Todd C. Miller  <Todd.Miller@courtesan.com>
16170
16171         * interfaces.c:
16172         close sock when we are done with it
16173         [95de0380f8a4]
16174
16175 1998-11-28  Todd C. Miller  <Todd.Miller@courtesan.com>
16176
16177         * parse.yacc:
16178         never say "error on line -1"
16179         [361db1491121]
16180
16181 1998-11-24  Todd C. Miller  <Todd.Miller@courtesan.com>
16182
16183         * configure.in:
16184         check for -lnsl before -lsocket
16185         [8e966d6bbcb5]
16186
16187         * configure.in:
16188         quote '[', ']' used in ranges correctly
16189         [fa4f9c6ff651]
16190
16191 1998-11-21  Todd C. Miller  <Todd.Miller@courtesan.com>
16192
16193         * config.h.in:
16194         add missing NO_ROOT_SUDO noted by drno@tsd.edu
16195         [c969f25d1667]
16196
16197 1998-11-20  Todd C. Miller  <Todd.Miller@courtesan.com>
16198
16199         * version.h:
16200         1.5.7
16201         [7a22de0bc148]
16202
16203         * INSTALL:
16204         more info for 1.5.7
16205         [30ad9e784799]
16206
16207         * README:
16208         update for 1.5.7
16209         [cd03a0a27cd2]
16210
16211         * parse.yacc:
16212         make increases of cm_list_size and ga_list_size be similar to
16213         increases of stacksize (ie: >= not > in initial compare).
16214         [6bd450a896c7]
16215
16216         * parse.yacc:
16217         when we get a syntax error, report it for the previous line since
16218         that's generally where the error occurred.
16219         [c4ac84058f0b]
16220
16221 1998-11-18  Todd C. Miller  <Todd.Miller@courtesan.com>
16222
16223         * config.h.in, configure.in, interfaces.c:
16224         add back check for sys/sockio.h but only use it if SIOCGIFCONF is
16225         not defined
16226         [d197f31fd1e4] [SUDO_1_5_7]
16227
16228         * config.h.in:
16229         define BSD_COMP for svr4
16230         [87ac1147ff79]
16231
16232         * check.c, check_sia.c, find_path.c, getcwd.c, getspwuid.c,
16233         goodpath.c, interfaces.c, logging.c, lsearch.c, parse.c, parse.lex,
16234         parse.yacc, putenv.c, secureware.c, strdup.c, sudo.c, sudo_setenv.c,
16235         testsudoers.c, tgetpass.c, utime.c, visudo.c:
16236         more -Wall
16237         [d98e2d32db2a]
16238
16239         * configure.in:
16240         kill check for sockio,h
16241         [4399779014c1]
16242
16243         * config.h.in:
16244         no more HAVE_SYS_SOCKIO_H
16245         [67484528e347]
16246
16247         * check.c, check_sia.c, find_path.c, getcwd.c, getspwuid.c,
16248         goodpath.c, interfaces.c, logging.c, lsearch.c, parse.c, parse.lex,
16249         parse.yacc, putenv.c, secureware.c, strdup.c, sudo.c, sudo_setenv.c,
16250         testsudoers.c, tgetpass.c, utime.c, visudo.c:
16251         -Wall
16252         [2b7e83976788]
16253
16254 1998-11-16  Todd C. Miller  <Todd.Miller@courtesan.com>
16255
16256         * sudo.c:
16257         add missing inform_user()
16258         [8689528c6d55]
16259
16260 1998-11-14  Todd C. Miller  <Todd.Miller@courtesan.com>
16261
16262         * find_path.c:
16263         return NOT_FOUND if given fully qualified path and it does not exist
16264         previously it would perror(ENOENT) which bypasses the option to not
16265         leak path info
16266         [ccbc3d0130ae]
16267
16268         * configure.in:
16269         for kerb5, check for -lkerb4, fall back on -lkrb for kerb, check for
16270         -ldes
16271         [c77d3b484ece]
16272
16273 1998-11-13  Todd C. Miller  <Todd.Miller@courtesan.com>
16274
16275         * INSTALL:
16276         tty tickets are user:tty now
16277         [a53a303a614d]
16278
16279         * check.c:
16280         when using tty tickets make it user:tty not user.tty as a username
16281         could have a '.' in it
16282         [3160b3f5c890]
16283
16284 1998-11-10  Todd C. Miller  <Todd.Miller@courtesan.com>
16285
16286         * sudo.c:
16287         add "ignoring foo found in ." for auth successful case
16288         [24257169e0bd]
16289
16290 1998-11-09  Todd C. Miller  <Todd.Miller@courtesan.com>
16291
16292         * sudo.c:
16293         add missing printf param
16294         [8c905124f777]
16295
16296 1998-11-08  Todd C. Miller  <Todd.Miller@courtesan.com>
16297
16298         * INSTALL, config.h.in, configure.in, find_path.c, sudo.c, sudo.h:
16299         go back to printing "command not found" unless --disable-path-info
16300         specified. Also, tell user when we ignore '.' in their path and it
16301         would have been used but for --with-ignore-dot.
16302         [066e118c11e4]
16303
16304         * check.c, sudo.c:
16305         Only one space after a colon, not two, in printf's
16306         [38452f4c8007]
16307
16308 1998-11-05  Todd C. Miller  <Todd.Miller@courtesan.com>
16309
16310         * sudo.pod:
16311         document setting $USER
16312         [80557fe6aede]
16313
16314         * check.c:
16315         fix bugs with prompt expansion
16316         [44c4fca5f009]
16317
16318         * sudo.c:
16319         set $USER for root too
16320         [4b525e1c6269]
16321
16322 1998-11-04  Todd C. Miller  <Todd.Miller@courtesan.com>
16323
16324         * getspwuid.c:
16325         typo
16326         [5107446f43e0]
16327
16328         * configure.in:
16329         HP-UX's iscomsec is in -lsec, not libc
16330         [03c9f700b795]
16331
16332         * configure.in:
16333         remove some entries in the OS case statement that did nothing
16334         [ea96e7e0f624]
16335
16336         * TROUBLESHOOTING:
16337         add "cd" section and flush out syslog section
16338         [5107f7363b78]
16339
16340         * Makefile.in:
16341         no more sudo-lex.yy.c
16342         [ed50826efbbc]
16343
16344         * check_sia.c:
16345         add custom prompt support
16346         [6a285cea10b7]
16347
16348         * testsudoers.c:
16349         kill perror("malloc") since we already have a good error messages
16350         pw_ent -> pw for brevity
16351         [eee31052921e]
16352
16353         * sudo.c:
16354         kill perror("malloc") since we already have a good error messages
16355         pw_ent -> pw for brevity set $USER if -u specified
16356         [9f3753461f8a]
16357
16358         * parse.yacc:
16359         kill perror("malloc") since we already have a good error messages
16360         [849459088ac3]
16361
16362         * parse.c:
16363         kill perror("malloc") since we already have a good error messages
16364         pw_ent -> pw for brevity when checking if %group matches, look up
16365         user in password file so that %groups works in a RunAs spec.
16366         [0489b4ecc59a]
16367
16368         * logging.c:
16369         kill perror("malloc") since we already have a good error messages
16370         [3191a18b3526]
16371
16372         * check.c, getspwuid.c, interfaces.c:
16373         kill perror("malloc") since we already have a good error messages
16374         pw_ent -> pw for brevity
16375         [7193fdb38cf9]
16376
16377 1998-11-03  Todd C. Miller  <Todd.Miller@courtesan.com>
16378
16379         * tgetpass.c:
16380         the prompt is expanded before tgetpass is called
16381         [0f408f508041]
16382
16383         * sudo.h:
16384         tgetpass now has the same args as getpass again
16385         [b6778cd9d79f]
16386
16387         * getspwuid.c:
16388         add iscomsec, issecure support
16389         [007be7ec7ae7]
16390
16391         * check.c:
16392         we now expand any %h or %u in the prompt before passing to tgetpass
16393         [f3db8c9ee387]
16394
16395         * configure.in:
16396         add check for syslog(3) in -lsocket, -lnsl, -linet
16397         [5a96f902ce00]
16398
16399         * config.h.in:
16400         add HAVE_ISCOMSEC and HAVE_ISSECURE
16401         [f640b0d4cf05]
16402
16403         * configure.in:
16404         add check for iscomsec in HP-UX
16405         [b28b249040f0]
16406
16407         * configure.in:
16408         check for issecure if we have getpwanam on SunOS some options are
16409         incompatible with DUNIX SIA check for dispcrypt on DUNIX
16410         [a49d05d9c913]
16411
16412 1998-10-25  Todd C. Miller  <Todd.Miller@courtesan.com>
16413
16414         * config.h.in:
16415         add HAVE_DISPCRYPT
16416         [7376d543d8d6]
16417
16418         * secureware.c:
16419         add back support for non-dispcrypt based checking for older DUNIX
16420         [977b98e936be]
16421
16422         * INSTALL:
16423         sia changes
16424         [c5387c06e30f]
16425
16426         * configure.in:
16427         SIA becomes the default on Digital UNIX now havbe --disable-sia to
16428         turn it off...
16429         [3b647558ea13]
16430
16431         * check.c:
16432         move local includes after system ones
16433         [b2abad4c4aef]
16434
16435 1998-10-24  Todd C. Miller  <Todd.Miller@courtesan.com>
16436
16437         * check.c, check_sia.c, sudo.h:
16438         add pass_warn() which prints out INCORRECT_PASSWORD or an insult to
16439         stderr
16440         [547cbf299661]
16441
16442         * check_sia.c:
16443         fix while loop in sia_attempt_auth() that checks the password. Only
16444         the first iteration was working.
16445         [1886fd1ac831]
16446
16447 1998-10-22  Todd C. Miller  <Todd.Miller@courtesan.com>
16448
16449         * aclocal.m4:
16450         don't trust UID_MAX or MAXUID
16451         [2aeddb1654d8]
16452
16453         * configure.in:
16454         fix two pastos
16455         [c18f0a10b75d]
16456
16457         * configure.in:
16458         fix typo
16459         [1eb3190ef12d]
16460
16461         * getspwuid.c, secureware.c:
16462         init crypt_type to INT_MAX since it is legal to be negative in DUNX
16463         5.0
16464         [cefbde04822d]
16465
16466         * configure.in:
16467         for secureware on dunix, use -lsecurity -ldb -laud -lm but check for
16468         -ldb since DUNX < 4.0 lacks it
16469         [e6b11d971068]
16470
16471 1998-10-21  Todd C. Miller  <Todd.Miller@courtesan.com>
16472
16473         * check.c, compat.h, config.h.in, configure.in, getspwuid.c,
16474         secureware.c, sudo.c, tgetpass.c:
16475         getprpwuid is broken in HP-UX 10.20 at least (it sleeps for 2
16476         minutes if the shadow files don't exist).
16477         [2f297d095004]
16478
16479 1998-10-20  Todd C. Miller  <Todd.Miller@courtesan.com>
16480
16481         * INSTALL:
16482         updated --with-editor blurb
16483         [77d8a3ea7328]
16484
16485         * TROUBLESHOOTING:
16486         tell how to put sudoers in a different dir
16487         [456cd20eb1d0]
16488
16489         * configure.in:
16490         add missing quotes around $with_editor
16491         [22881748ab1b]
16492
16493         * configure.in:
16494         typo in --with-editor bits
16495         [ab6964580681]
16496
16497         * INSTALL:
16498         I don't expect it to work on Solaris
16499         [1c2fceaaf56e]
16500
16501         * check.c:
16502         add back security/pam_misc.h
16503         [6ffd30033c1e]
16504
16505 1998-10-19  Todd C. Miller  <Todd.Miller@courtesan.com>
16506
16507         * INSTALL:
16508         remove dunix note since configure checks for this now
16509         [e9904512b8e8]
16510
16511         * configure.in:
16512         add check for broken dunix prot.h (4.0 < 4.0D is bad)
16513         [8a4c1e6aef3b]
16514
16515         * getspwuid.c, secureware.c, tgetpass.c:
16516         new dunix shadow code, use dispcrypt(3)
16517         [1b936bc7268c]
16518
16519         * config.h.in:
16520         add HAVE_INITPRIVS
16521         [4369f4c4f914]
16522
16523         * sudo.c:
16524         call initprivs() if we have it for getprpwuid later on
16525         [11cf5915d826]
16526
16527         * Makefile.in:
16528         clean pathnames.h too
16529         [5f1df3262613]
16530
16531         * configure.in:
16532         quote "Sorry, try again." with [] since it has a comma in it set
16533         LIBS when we add stuff to SUDO_LIBS set SECUREWARE when we find
16534         getprpwuid() so we can check for bigcrypt, set_auth_parameters, and
16535         initprivs later.
16536         [e226b0a3f250]
16537
16538         * INSTALL:
16539         update Digital UNIX note about acl.h
16540         [80132b71d73a]
16541
16542         * INSTALL:
16543         add --with-sia
16544         --without-root-sudo -> --disable-root-sudo some reordering
16545         [198386358818]
16546
16547         * secureware.c:
16548         add whitespace
16549         [4aadaf1a54b0]
16550
16551         * Makefile.in, check.c, config.h.in, configure.in, logging.c, sudo.h:
16552         add SIA support
16553         [fa3ddbb9cc51]
16554
16555         * check_sia.c:
16556         Initial revision
16557         [2968551d40e4]
16558
16559 1998-10-18  Todd C. Miller  <Todd.Miller@courtesan.com>
16560
16561         * configure.in:
16562         when checking for -lsocket, -lnsl, and -linet, check for the
16563         specific functions we need from them.
16564         [8d33e64362a3]
16565
16566         * config.h.in, sudo.h:
16567         move Syslog_* defs into sudo.h
16568         [03d1774f25c7]
16569
16570         * Makefile.in, sudo.h:
16571         added check_secureware
16572         [e46e3cbb9a97]
16573
16574         * configure.in:
16575         finished adding AC_MSG_CHECKING and AC_MSG_RESULT bits
16576         [dbefe1856503]
16577
16578         * insults.h:
16579         don't define CLASSIC_INSULTS and CSOPS_INSULTS if no other sets
16580         defined. configure now does that for us
16581         [e4520ea0581f]
16582
16583         * configure.in:
16584         move some --with options around change a bunch of echo's to
16585         AC_MSG_CHECKING, AC_MSG_RESULT pairs
16586         [ffdf6869fdd7]
16587
16588         * configure.in:
16589         change $with_foo-bar -> $with_foo_bar kill extra " that caused a
16590         syntax error add some echo verbage
16591         [3278c49bf74b]
16592
16593 1998-10-17  Todd C. Miller  <Todd.Miller@courtesan.com>
16594
16595         * check.c:
16596         moved SecureWare stuff into secureware.c
16597         [42d3d3ac35dc]
16598
16599         * secureware.c:
16600         Initial revision
16601         [aa7f72a249cf]
16602
16603         * INSTALL:
16604         update url to solaris gcc bins
16605         [36a3eb668777]
16606
16607         * INSTALL:
16608         change option formatter and flesh out someentries
16609         [6fbd1db4a8ad]
16610
16611         * TROUBLESHOOTING, sudo.pod, visudo.pod:
16612         environmental variable -> environment variable
16613         [6f14d708e32d]
16614
16615         * BUGS:
16616         everything is now done via configure
16617         [c217858f58ab]
16618
16619         * README:
16620         prev rev was 1.5.6
16621         [7b4177103c35]
16622
16623         * Makefile.in:
16624         passing SUDOERS_MODE, SUDOERS_UID, SUDOERS_GID correctly
16625         [31c6b0a5e0e2]
16626
16627         * config.h.in:
16628         SUDOERS_MODE, SUDOERS_UID, SUDOERS_GID now come from the Makefile
16629         [d406a1ef6d25]
16630
16631         * Makefile.in:
16632         merge OSDEFS and OPTIONS into DEFS get sudoers_uid, sudoers_gid,
16633         sudoers_mode from configure
16634         [1c509500655a]
16635
16636         * configure.in:
16637         SUDOERS_MODE, SUDOERS_UID, and SUDOERS_GID now get substituted into
16638         the Makefile, not config.h
16639         [d4482f1492fe]
16640
16641         * INSTALL:
16642         document all --with/--enable options
16643         [22d81b312d7f]
16644
16645 1998-10-15  Todd C. Miller  <Todd.Miller@courtesan.com>
16646
16647         * insults.h:
16648         options.h is no more
16649         [560946a33f7f]
16650
16651         * config.h.in:
16652         assimilated options.h
16653         [dd8ce74613c1]
16654
16655         * configure.in:
16656         moved options from options.h to configure
16657         [d39662f71b4e]
16658
16659         * check.c, find_path.c, getspwuid.c, goodpath.c, interfaces.c,
16660         logging.c, parse.c, parse.lex, parse.yacc, sudo.c, sudo.pod,
16661         sudo_setenv.c, visudo.c:
16662         no more options.h
16663         [43924bf0858d]
16664
16665         * INSTALL, Makefile.in, PORTING, TROUBLESHOOTING:
16666         remove references to options.h
16667         [ef3474295395]
16668
16669         * dce_pwent.c, interfaces.c, sudo.c:
16670         kill sys/time.h
16671         [4d833f0034e4]
16672
16673         * tgetpass.c:
16674         if select return < -1 still prompt for pw
16675         [e0009e5c93a2]
16676
16677         * options.h:
16678         convert LOGGING, LOGFAC, MAXLOGFILELEN, IGNORE_DOT_PATH into
16679         configure options
16680         [e60a1e546516]
16681
16682         * parse.c:
16683         FAST_MATCH is no longer an optino
16684         [c448dbb3464b]
16685
16686         * check.c:
16687         remove_timestamp() if timestamp is preposterous
16688         [70d9a86c6ecd]
16689
16690         * options.h:
16691         convert more options to --with/--enable
16692         [34646d9b09dc]
16693
16694         * INSTALL, aclocal.m4:
16695         logfile -> logpath
16696         [42de502bc637]
16697
16698         * configure.in:
16699         convert more options into --with and --enable
16700         [92d0898c9844]
16701
16702         * tgetpass.c:
16703         catch EINTR in select and restart
16704         [f045d2f234d7]
16705
16706         * logging.c:
16707         sys/errno -> errno
16708         [7f0c5beab6f2]
16709
16710 1998-09-24  Todd C. Miller  <Todd.Miller@courtesan.com>
16711
16712         * sudo.c:
16713         UMASK -> SUDO_UMASK.
16714         [48f308661514]
16715
16716         * check.c, logging.c:
16717         time.h, not sys/time.h
16718         [91de049c79e4]
16719
16720 1998-09-21  Todd C. Miller  <Todd.Miller@courtesan.com>
16721
16722         * logging.c:
16723         MAILER -> _PATH_SENDMAIL
16724         [df65d6896639]
16725
16726         * INSTALL, configure.in:
16727         no more --with-C2, now it is --disable-shadow
16728         [18bfcab3b9ab]
16729
16730         * aclocal.m4, check.c, compat.h, config.h.in, configure.in,
16731         getspwuid.c, sudo.c, tgetpass.c:
16732         new shadow password scheme. Always include shadow support if the
16733         platform supports it and the user did not disable it via configure
16734         [2135d93bb4a9]
16735
16736 1998-09-20  Todd C. Miller  <Todd.Miller@courtesan.com>
16737
16738         * configure.in:
16739         --with-getpass -> --{enable,disable}-tgetpass
16740         [451b33fdd4c7]
16741
16742         * Makefile.in:
16743         pathnames.h -> pathnames.h.in
16744         [b109022eca69]
16745
16746         * check.c:
16747         fix version string
16748         [761b25c314ea]
16749
16750         * check.c:
16751         move pam_conv to be static to auth function remove pam_misc.h
16752         (solaris doesn't have one)
16753         [a682e4da987a]
16754
16755         * aclocal.m4:
16756         _CONFIG_PATH_* -> _PATH_* or _PATH_SUDO_* kill SUDO_PROG_PWD
16757         [e6005d0599b5]
16758
16759         * configure.in:
16760         munge pathnames.h.in -> pathnames.h kill SUDO_PROG_PWD
16761         [24c0ac2155ef]
16762
16763         * pathnames.h.in:
16764         convert to pathnames.h.in
16765         [013bddf7f684]
16766
16767 1998-09-19  Todd C. Miller  <Todd.Miller@courtesan.com>
16768
16769         * configure.in:
16770         fix typo in sysv4 matching case /.
16771         [2994c4f88cf5]
16772
16773 1998-09-18  Todd C. Miller  <Todd.Miller@courtesan.com>
16774
16775         * check.c:
16776         pam stuff needs to run as root, not user, for shadow passwords
16777         [d94ff75de503]
16778
16779 1998-09-17  Todd C. Miller  <Todd.Miller@courtesan.com>
16780
16781         * BUGS, INSTALL, README, configure.in:
16782         updated version
16783         [775adc7de7ac]
16784
16785         * Makefile.in, check.c, compat.h, config.h.in, dce_pwent.c,
16786         emul/utime.h, find_path.c, getspwuid.c, goodpath.c, ins_2001.h,
16787         ins_classic.h, ins_csops.h, ins_goons.h, insults.h, interfaces.c,
16788         logging.c, options.h, parse.c, parse.lex, parse.yacc,
16789         pathnames.h.in, putenv.c, strdup.c, sudo.c, sudo.h, sudo_setenv.c,
16790         testsudoers.c, tgetpass.c, utime.c, visudo.c:
16791         updated version
16792         [5ca599fb6b93]
16793
16794         * check.c:
16795         user version.h for long message
16796         [47a52ac7e542]
16797
16798         * check.c:
16799         this is version 1.5.6
16800         [8451ac79eee2]
16801
16802 1998-09-16  Todd C. Miller  <Todd.Miller@courtesan.com>
16803
16804         * Makefile.in:
16805         remove errant backslash
16806         [0222a8a650ff]
16807
16808 1998-09-15  Todd C. Miller  <Todd.Miller@courtesan.com>
16809
16810         * options.h, parse.yacc, pathnames.h.in:
16811         fix version string
16812         [fdee73255d64] [SUDO_1_5_6]
16813
16814         * BUGS, CHANGES, TODO:
16815         updtaed for 1.5.6
16816         [752443bf7f26]
16817
16818         * RUNSON:
16819         updated for 1.5.6
16820         [0f878123fe6a]
16821
16822 1998-09-14  Todd C. Miller  <Todd.Miller@courtesan.com>
16823
16824         * interfaces.c:
16825         kill unused localhost_mask var copy if name to ifr_tmp after we zero
16826         it
16827         [8e89c364cef2]
16828
16829 1998-09-13  Todd C. Miller  <Todd.Miller@courtesan.com>
16830
16831         * INSTALL:
16832         Better description of new vs. old sudoers modes fix some typos
16833         better description of /usr/ucb/cc gotchas on slowaris
16834         [c00b2a6fc1e8]
16835
16836         * Makefile.in:
16837         add sample.pam
16838         [ec7f6cc19b00]
16839
16840         * sudo.c:
16841         set NewArgv[0] to user_shell, not basename(user_shell)
16842         [1e907cbc9f7b]
16843
16844 1998-09-12  Todd C. Miller  <Todd.Miller@courtesan.com>
16845
16846         * README:
16847         mention TROUBLESHOOTING more fix some typos
16848         [2c2e6907d4a4]
16849
16850         * configure.in:
16851         move --enable/--disable to be after --with
16852         [9b30097f76c1]
16853
16854         * INSTALL:
16855         document --enable/--disable
16856         [c522362e38a8]
16857
16858         * INSTALL:
16859         document --with-pam
16860         [7e38932c78ac]
16861
16862 1998-09-11  Todd C. Miller  <Todd.Miller@courtesan.com>
16863
16864         * configure.in:
16865         Add message for pam users
16866         [d224f277e3cd]
16867
16868         * sample.pam:
16869         Initial revision
16870         [3a84d7045f54]
16871
16872         * config.h.in:
16873         fix HAVE_PAM
16874         [2f0f303ebd88]
16875
16876         * check.c, config.h.in, configure.in:
16877         pam support, from Gary Calvin <GCalvin@kenwoodusa.com>
16878         [ea3e0a72d707]
16879
16880 1998-09-10  Todd C. Miller  <Todd.Miller@courtesan.com>
16881
16882         * config.h.in:
16883         add HOST_IN_LOG and WRAP_LOG
16884         [822c36eeb6a8]
16885
16886         * logging.c:
16887         add WRAP_LOG and HOST_IN_LOG
16888         [3cf6052bd27e]
16889
16890         * configure.in:
16891         add --enable-log-host and --enable-log-wrap
16892         [c968cc12b353]
16893
16894         * aclocal.m4:
16895         use AC_DEFINE_UNQUOTED for --with-logfile and --with-timedir
16896         [915fef7e11a1]
16897
16898 1998-09-09  Todd C. Miller  <Todd.Miller@courtesan.com>
16899
16900         * compat.h:
16901         add howmany macro
16902         [9107a057a7c8]
16903
16904         * tgetpass.c:
16905         include sys/param.h to get howmany macro
16906         [7e908b5e1f32]
16907
16908 1998-09-08  Todd C. Miller  <Todd.Miller@courtesan.com>
16909
16910         * OPTIONS, options.h, parse.yacc, sudo.c, testsudoers.c, visudo.c:
16911         add RUNAS_DEFAULT
16912         [1e76398ea3fd]
16913
16914 1998-09-07  Todd C. Miller  <Todd.Miller@courtesan.com>
16915
16916         * fnmatch.c:
16917         bring in stdio.h for NULL
16918         [69c016610cbb]
16919
16920         * aclocal.m4:
16921         allow /bin/{ksh,bach} and /usr/bin/{ksh,bash} as sh
16922         [15ab2972f8d0]
16923
16924         * sudo.c:
16925         use HAVE_SET_AUTH_PARAMETERS
16926         [8abfdc8c80f7]
16927
16928         * config.h.in:
16929         add HAVE_SET_AUTH_PARAMETERS
16930         [673a5ebd5539]
16931
16932         * configure.in:
16933         add *-*-hiuxmpp* add test for set_auth_parameters() if secureware
16934         [a401f5a7469a]
16935
16936         * config.sub:
16937         add support for HI-UX/MPP SR220001 02-03 0 SR2201
16938         [cb657b7acaae]
16939
16940         * interfaces.c:
16941         initialize previfname
16942         [26a1902f56dc]
16943
16944         * interfaces.c:
16945         Don't use SIOCGIFADDR, we don't need it Use SIOCGIFFLAGS if we have
16946         it check ifr_flags against IFF_UP and IFF_LOOPBACK instead of
16947         kludging it
16948         [fa5c890c313b]
16949
16950         * configure.in:
16951         typo
16952         [bff579fbe95c]
16953
16954         * Makefile.in:
16955         don't need special build line for sudo.tab.o
16956         [10c0a0a912e4]
16957
16958         * Makefile.in:
16959         don't clean sudo.tab.[ch]
16960         [c40d5968efbb]
16961
16962         * sudo.c:
16963         Sudo should prompt for a password before telling the user that a
16964         command could not be found.
16965         [d718c85a0047]
16966
16967         * BUGS:
16968         for 1.5.6
16969         [0cc1fe5b9129]
16970
16971         * INSTALL, README:
16972         no longer require yacc
16973         [d9096fc5b8b6]
16974
16975         * Makefile.in:
16976         typo
16977         [70feb1aefbd5]
16978
16979         * Makefile.in:
16980         y.tab -> sudo.tab include pre-yacc'd parse.yacc
16981         [cc802025fd44]
16982
16983         * parse.lex:
16984         include sudo.tab.h, not y.tab.h don't break out of command args if
16985         you get a '='
16986         [728ad26dbda5]
16987
16988         * insults.h:
16989         fix version ,
16990         [242bbce1b2d4]
16991
16992         * ins_2001.h, ins_classic.h, ins_csops.h, ins_goons.h:
16993         fix version
16994         [2bb9086fea1e]
16995
16996         * compat.h:
16997         fix version
16998         [7e634d498ce6]
16999
17000         * getcwd.c:
17001         getcwd(3) from OpenBSD for those without it.
17002         [6c68d0df8f6c]
17003
17004         * sudo.h:
17005         HAVE_GETWD -> HAVE_GETCWD
17006         [2ad1e64d60c0]
17007
17008         * configure.in:
17009         pretend sunos doesn't have getcwd(3) since it opens a pipe to
17010         getpwd!
17011         [677992ba5a6a]
17012
17013         * parse.c:
17014         use NAMLEN() macro
17015         [8f5685aa3165]
17016
17017         * fnmatch.c:
17018         remove duplicate include of string.h
17019         [6024f3051ac3]
17020
17021         * configure.in:
17022         call SUDO_TYPE_DEV_T and SUDO_TYPE_INO_T
17023         [3d82a9c22cc2]
17024
17025         * aclocal.m4:
17026         add SUDO_TYPE_DEV_T and SUDO_TYPE_INO_T
17027         [53fbc47282f9]
17028
17029         * config.h.in:
17030         add dev_t and ino_t
17031         [5929bb0c7e1a]
17032
17033 1998-07-28  Todd C. Miller  <Todd.Miller@courtesan.com>
17034
17035         * check.c:
17036         fix OTP_ONLY for opie
17037         [7edcfa78f2ec]
17038
17039 1998-06-24  Todd C. Miller  <Todd.Miller@courtesan.com>
17040
17041         * testsudoers.c, tgetpass.c:
17042         include stdlib.h for malloc proto
17043         [c9f4b99a2fe9]
17044
17045 1998-05-19  Todd C. Miller  <Todd.Miller@courtesan.com>
17046
17047         * Makefile.in:
17048         make update_version saner
17049         [d522f93ee04a]
17050
17051         * config.h.in:
17052         add HAVE_WAITPID, HAVE_WAIT3, and sudo_waitpid()
17053         [c9a2d21dc608]
17054
17055         * configure.in:
17056         check for waitpid and wait3 or no waitpid
17057         [1f18c3224184]
17058
17059         * logging.c:
17060         used waitpid or wait3 if we have 'em
17061         [391c3279ee65]
17062
17063 1998-05-02  Todd C. Miller  <Todd.Miller@courtesan.com>
17064
17065         * visudo.c:
17066         fix some fprintf args, ariel@oz.engr.sgi.com (Ariel Faigon)
17067         [fbf53b18178f]
17068
17069 1998-04-28  Todd C. Miller  <Todd.Miller@courtesan.com>
17070
17071         * configure.in:
17072         don't need to explicately mention -lsocket -lnsl for sequent
17073         [1898dc055352]
17074
17075 1998-04-25  Todd C. Miller  <Todd.Miller@courtesan.com>
17076
17077         * configure.in:
17078         dynix should not link with -linet
17079         [278a4b9cfe2a]
17080
17081 1998-04-10  Todd C. Miller  <Todd.Miller@courtesan.com>
17082
17083         * INSTALL:
17084         mention that HP-UX doesn't ship with yacc
17085         [bde5147198c0]
17086
17087 1998-04-07  Todd C. Miller  <Todd.Miller@courtesan.com>
17088
17089         * check.c:
17090         ignore kerberos if we can't get the local realm
17091         [1e311a091a27]
17092
17093 1998-04-06  Todd C. Miller  <Todd.Miller@courtesan.com>
17094
17095         * BUGS, INSTALL, README, configure.in:
17096         ++version
17097         [499ffc746018]
17098
17099         * version.h:
17100         ++
17101         [35ba1ee01bd3]
17102
17103         * Makefile.in, check.c, config.h.in, dce_pwent.c, emul/utime.h,
17104         find_path.c, getcwd.c, getspwuid.c, goodpath.c, interfaces.c,
17105         logging.c, parse.c, parse.lex, putenv.c, strdup.c, sudo.c, sudo.h,
17106         sudo_setenv.c, testsudoers.c, tgetpass.c, utime.c, visudo.c:
17107         updated version
17108         [b4990a513f31]
17109
17110         * check.c, sudo.h:
17111         fix version
17112         [5710795834e8]
17113
17114         * getcwd.c:
17115         don't use popen/pclose. Do it inline.
17116         [29e57b0646a4]
17117
17118         * lsearch.c:
17119         add rcsid
17120         [b2b55c39858d]
17121
17122         * sudo.c:
17123         typo
17124         [d381ac39ed0f]
17125
17126         * check.c, compat.h, ins_2001.h, ins_classic.h, ins_csops.h,
17127         ins_goons.h, insults.h, options.h, parse.yacc, pathnames.h.in,
17128         sudo.h:
17129         updated version
17130         [462d6e1a2d75]
17131
17132         * check.c, find_path.c, parse.c, sudo.c, testsudoers.c:
17133         MAX* + 1 -> MAX*
17134         [2c2eeb78d34f]
17135
17136         * Makefile.in:
17137         getwd.c -> getcwd.c
17138         [7d718c32fc02]
17139
17140         * config.h.in:
17141         kill HAVE_GETWD
17142         [6ad3d702343f]
17143
17144         * configure.in:
17145         getcwd, not getwd
17146         [33e5b9841f58]
17147
17148         * getcwd.c:
17149         use MAX* not MAX* + 1 always run pwd as using getwd() defeats the
17150         purpose
17151         [24e58d340161]
17152
17153 1998-03-31  Todd C. Miller  <Todd.Miller@courtesan.com>
17154
17155         * OPTIONS, options.h:
17156         add STUB_LOAD_INTERFACES
17157         [d747cb23ca83]
17158
17159         * Makefile.in, check.c, compat.h, config.h.in, dce_pwent.c,
17160         emul/utime.h, find_path.c, getspwuid.c, getwd.c, goodpath.c,
17161         ins_2001.h, ins_classic.h, ins_csops.h, ins_goons.h, insults.h,
17162         interfaces.c, logging.c, options.h, parse.c, parse.lex, parse.yacc,
17163         pathnames.h.in, putenv.c, strdup.c, sudo.c, sudo.h, sudo_setenv.c,
17164         testsudoers.c, tgetpass.c, utime.c, visudo.c:
17165         updated version
17166         [0798229312cc]
17167
17168         * configure.in:
17169         support *-ccur-sysv4 and fix two typos
17170         [24a823ad7cc9]
17171
17172 1998-03-28  Todd C. Miller  <Todd.Miller@courtesan.com>
17173
17174         * configure.in:
17175         don't echo about with_logfile and with_timedir
17176         [31e4a1e2d9ad]
17177
17178         * INSTALL:
17179         document --with-logfile and --with-timedir
17180         [674f811a40e0]
17181
17182         * aclocal.m4:
17183         support --with-logfile and --with-timedir
17184         [2fc36b35db12]
17185
17186         * configure.in:
17187         Add --with-logfile and --with-timedir
17188         [09045bf07e29]
17189
17190         * sudo.c:
17191         change size computation of NewArgv for UNICOS
17192         [b50df07da3a1]
17193
17194 1998-02-19  Todd C. Miller  <Todd.Miller@courtesan.com>
17195
17196         * configure.in:
17197         treate -*-sysv4* like *-*-svr4
17198         [471b7ef4dbf2]
17199
17200 1998-02-18  Todd C. Miller  <Todd.Miller@courtesan.com>
17201
17202         * configure.in:
17203         fix spacing for --with-authenticate help
17204         [8321cb37c410]
17205
17206         * Makefile.in, check.c, compat.h, config.h.in, dce_pwent.c,
17207         emul/utime.h, find_path.c, getspwuid.c, getwd.c, goodpath.c,
17208         ins_2001.h, ins_classic.h, ins_csops.h, ins_goons.h, insults.h,
17209         interfaces.c, logging.c, options.h, parse.c, parse.lex, parse.yacc,
17210         pathnames.h.in, putenv.c, strdup.c, sudo.c, sudo.h, sudo_setenv.c,
17211         testsudoers.c, tgetpass.c, utime.c, visudo.c:
17212         updated version
17213         [dc1ab97312eb]
17214
17215         * parse.yacc:
17216         fix off by one error in push macro
17217         [bece59c8c3a9]
17218
17219 1998-02-17  Todd C. Miller  <Todd.Miller@courtesan.com>
17220
17221         * configure.in:
17222         removed bogus alloca hack
17223         [a68dd720462d]
17224
17225         * check.c:
17226         added AIX 4.x authenticate() support
17227         [12985eb448a0]
17228
17229         * parse.yacc:
17230         include alloca.h if using bison and not gcc and it exists. fixes an
17231         alloca problem on hpux 10.x
17232         [e3b5c4f26072]
17233
17234         * INSTALL:
17235         mention --with-authenticate
17236         [78a1c96820e7]
17237
17238         * configure.in:
17239         added AIX authenticate() support
17240         [c983193ec252]
17241
17242         * config.h.in:
17243         add HAVE_AUTHENTICATE
17244         [7b0e5f5db5d9]
17245
17246         * interfaces.c:
17247         dynamically size ifconf buffer
17248         [10afb0e9b2f9]
17249
17250         * configure.in:
17251         quote '[' and ']'
17252         [8fc38a4defad]
17253
17254         * Makefile.in, check.c, compat.h, config.h.in, dce_pwent.c,
17255         emul/utime.h, find_path.c, getspwuid.c, getwd.c, goodpath.c,
17256         ins_2001.h, ins_classic.h, ins_csops.h, ins_goons.h, insults.h,
17257         logging.c, options.h, parse.c, parse.lex, parse.yacc,
17258         pathnames.h.in, putenv.c, strdup.c, sudo.c, sudo.h, sudo_setenv.c,
17259         testsudoers.c, tgetpass.c, utime.c, visudo.c:
17260         updated version
17261         [5f66de71ec61]
17262
17263         * visudo.pod:
17264         add ERRORS section
17265         [3df3edb73cf6]
17266
17267 1998-02-16  Todd C. Miller  <Todd.Miller@courtesan.com>
17268
17269         * TROUBLESHOOTING:
17270         add busy stmp file explanation
17271         [6c555d469b6f]
17272
17273 1998-02-15  Todd C. Miller  <Todd.Miller@courtesan.com>
17274
17275         * configure.in:
17276         the name of the cached var that signals whether or not you are cross
17277         compiling changed. It is now ac_cv_prog_cc_cross
17278         [123911c0658c]
17279
17280 1998-02-11  Todd C. Miller  <Todd.Miller@courtesan.com>
17281
17282         * INSTALL:
17283         mention glibc 2.07 is fixed wrt lsearch()\.
17284         [ded758524582]
17285
17286 1998-02-07  Todd C. Miller  <Todd.Miller@courtesan.com>
17287
17288         * sample.sudoers, sudoers.pod:
17289         better example of su but not root su
17290         [b3199610be21]
17291
17292 1998-02-06  Todd C. Miller  <Todd.Miller@courtesan.com>
17293
17294         * Makefile.in, check.c, compat.h, config.h.in, dce_pwent.c,
17295         emul/utime.h, find_path.c, getspwuid.c, getwd.c, goodpath.c,
17296         ins_2001.h, ins_classic.h, ins_csops.h, ins_goons.h, insults.h,
17297         interfaces.c, logging.c, options.h, parse.c, parse.lex, parse.yacc,
17298         pathnames.h.in, putenv.c, strdup.c, sudo.c, sudo.h, sudo_setenv.c,
17299         testsudoers.c, tgetpass.c, utime.c, visudo.c:
17300         updated version
17301         [46922b84e86b]
17302
17303         * Makefile.in:
17304         correct regexp for updating version
17305         [8032728b2a8a]
17306
17307         * tgetpass.c:
17308         remove bogus flush of stderr spew prompt before turning off echo.
17309         Seems to fix a weird problem where if sudo complained about a bogus
17310         stamp file the user would sometimes not have a chance to enter a
17311         password
17312         [7aa1493cc141]
17313
17314         * check.c:
17315         fix bogus flush of stderr
17316         [6d047871c5e8]
17317
17318         * sudo.c:
17319         close fd's <=2 not <=3 and move that chunk of code up
17320         [553e4faac195]
17321
17322         * configure.in:
17323         support hpux1[0-9] not just hpux10
17324         [5a34a000ff8a]
17325
17326 1998-01-30  Todd C. Miller  <Todd.Miller@courtesan.com>
17327
17328         * parse.c:
17329         set sudoers_fp to nil after closing
17330         [221a8b4bbf34]
17331
17332 1998-01-24  Todd C. Miller  <Todd.Miller@courtesan.com>
17333
17334         * config.guess, config.sub:
17335         updated from autoconf 2.12
17336         [6fc86a0fc61b]
17337
17338         * configure.in:
17339         add *-*-svr4 rule
17340         [38f0427f7c9d]
17341
17342 1998-01-23  Todd C. Miller  <Todd.Miller@courtesan.com>
17343
17344         * tgetpass.c:
17345         fix select usage for high fd's (dynamically allocate readfds)
17346         [c2d1f76e0321]
17347
17348         * check.c:
17349         kill extra whitespace
17350         [d784b6c9c514]
17351
17352         * sudo.c:
17353         do an initgroups() before running a command, unless the target user
17354         is root.
17355         [4ca561287480]
17356
17357 1998-01-22  Todd C. Miller  <Todd.Miller@courtesan.com>
17358
17359         * TROUBLESHOOTING:
17360         tell people to use tabs, not spaces, in syslog.conf
17361         [8ae90a205134]
17362
17363 1998-01-21  Todd C. Miller  <Todd.Miller@courtesan.com>
17364
17365         * Makefile.in, config.h.in, dce_pwent.c, emul/utime.h, getwd.c,
17366         parse.lex, putenv.c, strdup.c, testsudoers.c, utime.c:
17367         updated version
17368         [4d855ff5de26]
17369
17370         * check.c, find_path.c, getspwuid.c, goodpath.c, interfaces.c,
17371         logging.c, parse.c, sudo.c, sudo_setenv.c, tgetpass.c, visudo.c:
17372         updated version
17373         [8e007e178b33]
17374
17375         * compat.h, ins_2001.h, ins_classic.h, ins_csops.h, ins_goons.h,
17376         insults.h, options.h, parse.yacc, pathnames.h.in, sudo.h:
17377         updated version
17378         [9ddea5c8814d]
17379
17380         * Makefile.in:
17381         more tweaks to update_version
17382         [047698752855]
17383
17384         * Makefile.in:
17385         fixed up update_version rule
17386         [47b6fa34b77f]
17387
17388         * configure.in:
17389         ++version
17390         [c1ca664e30b7]
17391
17392         * Makefile.in:
17393         removed supe of check.c
17394         [8f340a05296a]
17395
17396         * INSTALL:
17397         ++version I missed
17398         [a298e6c17491]
17399
17400         * RUNSON:
17401         updated
17402         [a14f6057bc15]
17403
17404         * BUGS, INSTALL, Makefile.in, README, check.c, compat.h, config.h.in,
17405         dce_pwent.c, emul/utime.h, find_path.c, getspwuid.c, getwd.c,
17406         goodpath.c, ins_2001.h, ins_classic.h, ins_csops.h, ins_goons.h,
17407         insults.h, interfaces.c, logging.c, options.h, parse.c, parse.lex,
17408         parse.yacc, pathnames.h.in, putenv.c, strdup.c, sudo.c, sudo.h,
17409         sudo_setenv.c, testsudoers.c, tgetpass.c, utime.c, version.h,
17410         visudo.c:
17411         updated version
17412         [02231b1a3ab3]
17413
17414         * CHANGES:
17415         updated for 1.5.5
17416         [634e5fcaf40b]
17417
17418         * Makefile.in:
17419         add rules to update version stuff in files so I don't need to do it
17420         by hand
17421         [3620ad60485a]
17422
17423         * sudo.h:
17424         sudoers_fp is now extern
17425         [88c6e9b9ea84]
17426
17427         * sudo.c:
17428         in check_sudoers, cache the sudoers file handle in sudoers_fp so we
17429         don't have to open it again in the parse. This may help with weird
17430         solaris problems where EAGAIN sometime occurrs.
17431         [d3c26451ed1d]
17432
17433         * parse.c:
17434         sudoers file open is now done only in check_sudoers() so we just do
17435         a rewind() instead of an open. May help people on solaris who were
17436         getting EAGAIN.
17437         [c8b8c7722fa5]
17438
17439 1998-01-16  Todd C. Miller  <Todd.Miller@courtesan.com>
17440
17441         * INSTALL:
17442         mention that newer glibc is fixed
17443         [20f06f5d3ef3]
17444
17445 1998-01-13  Todd C. Miller  <Todd.Miller@courtesan.com>
17446
17447         * sudo.c:
17448         newer irix uses _RLDN32_* envariables for 32-bit binaries so ignore
17449         _RLD* instead of _RLD_*
17450         [1e22c588d602]
17451
17452         * parse.c:
17453         typo
17454         [d0b7cb85f08a]
17455
17456         * parse.c:
17457         fix that bug for real
17458         [5a6eeca6d04b]
17459
17460         * INSTALL:
17461         document Linux's libc6 brokenness.
17462         [0246c1aa64ee]
17463
17464         * parse.yacc:
17465         -Wall
17466         [d0e452fb1e2d]
17467
17468         * RUNSON:
17469         updated
17470         [4949a1bbd0a9] [SUDO_1_5_4]
17471
17472         * TROUBLESHOOTING:
17473         remind people to HUP syslogd
17474         [590962faa4f0]
17475
17476         * Makefile.in:
17477         add -O flag to tar
17478         [622d02de339d]
17479
17480         * RUNSON:
17481         updated
17482         [a72930d6e615]
17483
17484         * TODO:
17485         updated
17486         [4a51bd458390]
17487
17488         * sudo.pod:
17489         remove author's email addr. people should mail sudo-bugs
17490         [9b6bbdb3a6d9]
17491
17492         * INSTALL:
17493         fix version
17494         [246274c6c8af]
17495
17496         * README, check.c, compat.h, config.h.in, configure.in, dce_pwent.c,
17497         find_path.c, getspwuid.c, getwd.c, goodpath.c, ins_2001.h,
17498         ins_classic.h, ins_csops.h, ins_goons.h, insults.h, interfaces.c,
17499         logging.c, options.h, parse.c, parse.lex, parse.yacc,
17500         pathnames.h.in, putenv.c, strdup.c, sudo.c, sudo.h, sudo_setenv.c,
17501         testsudoers.c, tgetpass.c, utime.c, version.h, visudo.c:
17502         ++version
17503         [f532ff4ee766]
17504
17505         * RUNSON:
17506         updated
17507         [62d5c71358b5]
17508
17509         * INSTALL, Makefile.in:
17510         ++version
17511         [1a7c7628edfc]
17512
17513         * CHANGES:
17514         updated fort 1.5.4
17515         [7e4873508c99]
17516
17517         * check.c:
17518         exit(1) if user enters no passwd
17519         [f382c0e35e4e]
17520
17521         * BUGS:
17522         ++version
17523         [fab6a867ab67]
17524
17525         * parse.c:
17526         commands can start with ./* not just /* -- fixes a serious security
17527         hole.
17528         [244d2fe35ee3]
17529
17530 1997-12-21  Todd C. Miller  <Todd.Miller@courtesan.com>
17531
17532         * sudo.c:
17533         Don't set the tty variable to NULL when we lack a tty, leave it as
17534         "unknown".
17535         [193b26daba03]
17536
17537 1997-11-23  Todd C. Miller  <Todd.Miller@courtesan.com>
17538
17539         * sample.sudoers:
17540         fix usage of (username) in conjunction with , and !
17541         [7ae68607f68f]
17542
17543         * visudo.c:
17544         catch the case where the user is not in the passwd file
17545         [31650258deb0]
17546
17547         * tgetpass.c:
17548         use fileno(input) + 1 instead of getdtablesize() as the nfds arg to
17549         select(2)
17550         [60ab2d9a9ee8]
17551
17552         * sudo.c:
17553         define tty global to an initial value to avoid dumping core in
17554         logging functions when passwd file is unavailable.
17555         [77056c7bc908]
17556
17557         * sudo.c:
17558         do the set_perms(PERM_USER, sudo_mode) after we have gotten the
17559         passwd entry
17560         [1fdb8e579a5a]
17561
17562         * sudo.pod:
17563         talk about problem of ALL
17564         [1cd1905c9f6f]
17565
17566 1997-10-10  Todd C. Miller  <Todd.Miller@courtesan.com>
17567
17568         * README:
17569         new web location
17570         [d24dc26f6da5]
17571
17572         * INSTALL:
17573         fdesc bug is fixed in Open/Net BSD
17574         [7d4d81b08ac3]
17575
17576         * HISTORY:
17577         updates from Nieusma
17578         [3a43769a1b78]
17579
17580 1997-10-09  Todd C. Miller  <Todd.Miller@courtesan.com>
17581
17582         * dce_pwent.c:
17583         move compat.h after the system includes
17584         [5ea43a5968ac]
17585
17586 1997-08-06  Todd C. Miller  <Todd.Miller@courtesan.com>
17587
17588         * logging.c:
17589         save errno from being clobbered by wait(). From Theo
17590         [f2d1c48cd592]
17591
17592 1997-05-21  Todd C. Miller  <Todd.Miller@courtesan.com>
17593
17594         * compat.h:
17595         fix an occurence of setresuid -> setreuid (typo)
17596         [394de35c9b1c]
17597
17598 1997-03-19  Todd C. Miller  <Todd.Miller@courtesan.com>
17599
17600         * install-sh:
17601         check for path to strip
17602         [2b7ef824bd55]
17603
17604 1997-01-16  Todd C. Miller  <Todd.Miller@courtesan.com>
17605
17606         * logging.c:
17607         deal with maxfilelen < 0 case
17608         [f0af095178d7]
17609
17610         * OPTIONS:
17611         fixed descriptin
17612         [629f60bd4b5f]
17613
17614 1996-12-12  Todd C. Miller  <Todd.Miller@courtesan.com>
17615
17616         * sudo.c:
17617         correct error message if mode/owner wrong and not statable by owner
17618         but is statable by root.
17619         [cb631ce2e85e]
17620
17621 1996-11-23  Todd C. Miller  <Todd.Miller@courtesan.com>
17622
17623         * config.guess, config.sub:
17624         autoconf 2.11
17625         [f3cbe59e0756]
17626
17627 1996-11-16  Todd C. Miller  <Todd.Miller@courtesan.com>
17628
17629         * CHANGES, RUNSON, TODO:
17630         sudo 1.5.3.
17631         [2be3229b8626]
17632
17633 1996-11-14  Todd C. Miller  <Todd.Miller@courtesan.com>
17634
17635         * parse.yacc, sudo.h:
17636         command_alias -> generic_alias
17637         [c404ca8c510d] [SUDO_1_5_3]
17638
17639         * sample.sudoers:
17640         added Runas_Alias example and fixed syntax errors
17641         [c304053f4a8a]
17642
17643         * OPTIONS, options.h:
17644         updated MAILSUBJECT
17645         [18d1573fcd2a]
17646
17647         * logging.c:
17648         added %h expansion
17649         [a4bff9b284fd]
17650
17651         * INSTALL, Makefile.in, README, check.c, compat.h, config.h.in,
17652         configure.in, dce_pwent.c, find_path.c, getspwuid.c, getwd.c,
17653         goodpath.c, ins_2001.h, ins_classic.h, ins_csops.h, ins_goons.h,
17654         insults.h, interfaces.c, logging.c, options.h, parse.c, parse.lex,
17655         parse.yacc, pathnames.h.in, putenv.c, strdup.c, sudo.c, sudo.h,
17656         sudo_setenv.c, testsudoers.c, tgetpass.c, utime.c, version.h,
17657         visudo.c:
17658         ++version
17659         [211ff20f956f]
17660
17661         * BUGS, emul/utime.h:
17662         ++version
17663         [cde5376579e3]
17664
17665         * sudoers.pod:
17666         document Runas_Alias
17667         [b1a58f28fb2c]
17668
17669         * visudo.pod:
17670         q (uid) -> Q
17671         [d256649a0e6b]
17672
17673         * visudo.c:
17674         buffer oflow checking q (uit) -> Q if yyparse() fails drop into
17675         whatnow
17676         [1cb183d15626]
17677
17678         * parse.yacc:
17679         add size params to sprintf
17680         [9228f698921f]
17681
17682         * parse.lex:
17683         allow trailing space after '\\' but before '\n'
17684         [f51dbbf69fdf]
17685
17686         * find_path.c:
17687         off by one error in path size check
17688         [a6d75ccd7632]
17689
17690         * check.c:
17691         sprintf paranoia
17692         [3ffb12d198dd]
17693
17694 1996-11-12  Todd C. Miller  <Todd.Miller@courtesan.com>
17695
17696         * parse.yacc:
17697         fixed more_aliases
17698         [aab12f2a50af]
17699
17700         * visudo.c:
17701         now warns if killed by signal ./
17702         [310c186a0fd7]
17703
17704 1996-11-11  Todd C. Miller  <Todd.Miller@courtesan.com>
17705
17706         * parse.yacc:
17707         fix Runas_Alias stuff Alias's in runas list now get expanded (but it
17708         is gross)
17709         [45590b83120f]
17710
17711         * sudo.c:
17712         Can now deal with SUDOERS_UID == 0 and SUDOERS_MODE == 0400
17713         [d53e01c14c58]
17714
17715         * parse.yacc:
17716         add Runas_Alias support change FOO to FOO_ALIAS (ie: USER_ALIAS)
17717         [7a4a040aae2d]
17718
17719         * parse.lex:
17720         Add Runas_Alias and simplify a rule.
17721         [6f794a769a37]
17722
17723         * parse.yacc:
17724         always store User_Alias's since they can be used inside of a runas
17725         list. Sigh. Really need a Runas_Alias instead.
17726         [3bab058a873e]
17727
17728 1996-10-30  Todd C. Miller  <Todd.Miller@courtesan.com>
17729
17730         * visudo.c:
17731         deal with case where there is no sudoers file
17732         [fa38b3bb244d]
17733
17734 1996-10-12  Todd C. Miller  <Todd.Miller@courtesan.com>
17735
17736         * TROUBLESHOOTING:
17737         added one
17738         [e61346d06725]
17739
17740 1996-10-11  Todd C. Miller  <Todd.Miller@courtesan.com>
17741
17742         * HISTORY, testsudoers.c:
17743         developement -> development
17744         [4df55e293941]
17745
17746         * INSTALL:
17747         added a note
17748         [3845fb83dbc0]
17749
17750         * RUNSON:
17751         for 1.5.2
17752         [5489b7298942]
17753
17754         * CHANGES:
17755         updated
17756         [0741834929e6]
17757
17758 1996-10-10  Todd C. Miller  <Todd.Miller@courtesan.com>
17759
17760         * PORTING:
17761         removed seteuid() notes
17762         [1010a60f281d] [SUDO_1_5_2]
17763
17764 1996-10-09  Todd C. Miller  <Todd.Miller@courtesan.com>
17765
17766         * compat.h:
17767         better seteuid() emulatino
17768         [e807623b662c]
17769
17770         * configure.in:
17771         added check for seteuid
17772         [8cf9fabc6f4f]
17773
17774         * config.h.in:
17775         added HAVE_SETEUID
17776         [596db46aa828]
17777
17778 1996-10-08  Todd C. Miller  <Todd.Miller@courtesan.com>
17779
17780         * configure.in:
17781         first stab at sequent support
17782         [b85a7bfcac76]
17783
17784         * config.h.in:
17785         added HAVE_SYS_SELECT_H
17786         [93ecdd042463]
17787
17788         * compat.h:
17789         sequent -> _SEQUENT_
17790         [63a38b6da98c]
17791
17792         * compat.h:
17793         added seteuid() macro for DYNIX
17794         [695bd63c5ea6]
17795
17796         * tgetpass.c:
17797         _AIX -> HAVE_SYS_SELECT_H
17798         [b31221211bc2]
17799
17800 1996-10-07  Todd C. Miller  <Todd.Miller@courtesan.com>
17801
17802         * BUGS, INSTALL, Makefile.in, OPTIONS, README, config.h.in, logging.c,
17803         parse.c, parse.lex, parse.yacc, putenv.c, strdup.c, sudo_setenv.c,
17804         testsudoers.c, tgetpass.c, utime.c, visudo.c:
17805         ++version
17806         [8052992fd453]
17807
17808         * check.c, compat.h, dce_pwent.c, emul/utime.h, find_path.c,
17809         getspwuid.c, getwd.c, goodpath.c, ins_2001.h, ins_classic.h,
17810         ins_csops.h, ins_goons.h, insults.h, interfaces.c, options.h,
17811         pathnames.h.in, version.h:
17812         ++version
17813         [f7ad15e1598a]
17814
17815         * sudo.pod:
17816         added -H and SUDO_PS1
17817         [bb965241e30c]
17818
17819         * configure.in:
17820         use SUDO_FUNC_FNMATCH
17821         [6a8350d85fb2]
17822
17823         * aclocal.m4:
17824         added SUDO_FUNC_FNMATCH
17825         [45b32c91c4ba]
17826
17827         * sudo.c:
17828         added -H flag
17829         [11ebc6872fd6]
17830
17831         * sudo.h:
17832         added MODE_RESET_HOME /
17833         [67a7f8bcbbd6]
17834
17835 1996-10-05  Todd C. Miller  <Todd.Miller@courtesan.com>
17836
17837         * INSTALL:
17838         mention OPIE
17839         [5723515d5bbd]
17840
17841         * options.h:
17842         SKEY -> OTP
17843         [c1d268130bc4]
17844
17845         * configure.in:
17846         added opie support
17847         [123872b41b20]
17848
17849         * compat.h, config.h.in:
17850         added HAVE_OPIE
17851         [528c71afc1e5]
17852
17853         * check.c:
17854         added HAVE_OPIE and changed to *_OTP_*
17855         [4c62f5db872a]
17856
17857         * OPTIONS:
17858         SKEY -> OTP
17859         [bd858e5e9652]
17860
17861 1996-10-04  Todd C. Miller  <Todd.Miller@courtesan.com>
17862
17863         * check.c:
17864         moved fclose() in skey stuff.
17865         [11f7dc8431a6]
17866
17867 1996-10-03  Todd C. Miller  <Todd.Miller@courtesan.com>
17868
17869         * putenv.c:
17870         index -> strchr remove unnecesary stuff
17871         [af2d05238062]
17872
17873         * check.c:
17874         now call skeychallenge() to get challenge instead of making one up
17875         ourselves. this way, we get extra goodies in the prompt.
17876         [49b770d98d3a]
17877
17878 1996-09-10  Todd C. Miller  <Todd.Miller@courtesan.com>
17879
17880         * CHANGES:
17881         added one
17882         [3f5149357e2a] [SUDO_1_5_1]
17883
17884         * parse.lex:
17885         allow logins to start with a number (YUCK!)
17886         [7ed7ef324741]
17887
17888 1996-09-08  Todd C. Miller  <Todd.Miller@courtesan.com>
17889
17890         * TROUBLESHOOTING:
17891         added soalris 2.5 vs 2.4 note
17892         [16160a251aae]
17893
17894         * configure.in:
17895         DUNIX doesn't need -lnsl
17896         [be924cc322c3]
17897
17898         * CHANGES:
17899         *** empty log message ***
17900         [1b2937521981]
17901
17902         * check.c, compat.h, config.h.in, dce_pwent.c, find_path.c,
17903         getspwuid.c, getwd.c, goodpath.c, ins_2001.h, ins_classic.h,
17904         ins_csops.h, ins_goons.h, insults.h, interfaces.c, logging.c,
17905         options.h, parse.c, parse.lex, parse.yacc, pathnames.h.in, putenv.c,
17906         strdup.c, sudo.c, sudo.h, sudo_setenv.c, testsudoers.c, tgetpass.c,
17907         utime.c, version.h, visudo.c:
17908         courtesan
17909         [5f203589bbfe]
17910
17911         * PORTING, README, RUNSON:
17912         courtesan
17913         [d72517f4937e]
17914
17915         * INSTALL, Makefile.in, TROUBLESHOOTING:
17916         courtesan
17917         [5c007e3c7a71]
17918
17919         * visudo.pod:
17920         *** empty log message ***
17921         [37ebe85bd4e1]
17922
17923         * sudo.pod, visudo.pod:
17924         courtesan
17925         [37f02e2130ea]
17926
17927 1996-09-07  Todd C. Miller  <Todd.Miller@courtesan.com>
17928
17929         * HISTORY:
17930         added courtesan ./
17931         [b01435226276]
17932
17933 1996-09-06  Todd C. Miller  <Todd.Miller@courtesan.com>
17934
17935         * sudo.c:
17936         added $SUDO_PROMPT support
17937         [cb1fa72c093d]
17938
17939 1996-09-04  Todd C. Miller  <Todd.Miller@courtesan.com>
17940
17941         * check.c:
17942         print long skey challemged to stderr, not stdout
17943         [750fc775b3b2]
17944
17945 1996-09-01  Todd C. Miller  <Todd.Miller@courtesan.com>
17946
17947         * CHANGES:
17948         updated for 1.5.1
17949         [9b615f393057]
17950
17951         * emul/utime.h:
17952         ++version
17953         [a94de18deafb]
17954
17955 1996-08-31  Todd C. Miller  <Todd.Miller@courtesan.com>
17956
17957         * RUNSON:
17958         updated for 1.5.1
17959         [4092f20ab634]
17960
17961 1996-08-30  Todd C. Miller  <Todd.Miller@courtesan.com>
17962
17963         * check.c:
17964         use shost, not host for tgetpass
17965         [6061c49ff9be]
17966
17967         * sudo.pod:
17968         documented %u and %h
17969         [6d2922d29897]
17970
17971         * OPTIONS:
17972         documented %u and %h
17973         [1a71da13a864]
17974
17975         * configure.in:
17976         fixed typo
17977         [1230dec2b062]
17978
17979         * INSTALL, Makefile.in, README, check.c, compat.h, config.h.in,
17980         dce_pwent.c, find_path.c, getspwuid.c, getwd.c, goodpath.c,
17981         ins_2001.h, ins_classic.h, ins_csops.h, ins_goons.h, insults.h,
17982         interfaces.c, logging.c, options.h, parse.c, parse.lex, parse.yacc,
17983         pathnames.h.in, putenv.c, strdup.c, sudo.c, sudo.h, sudo_setenv.c,
17984         testsudoers.c, tgetpass.c, utime.c, version.h, visudo.c:
17985         ++version
17986         [65ce8eabf77a]
17987
17988         * BUGS:
17989         ++version
17990         [afecab53aab7]
17991
17992 1996-08-29  Todd C. Miller  <Todd.Miller@courtesan.com>
17993
17994         * Makefile.in, configure.in, version.h:
17995         ++version
17996         [fb3ff940d672]
17997
17998         * sudo.h:
17999         new tgetpass() params
18000         [9eccc5b0f8ae]
18001
18002         * check.c:
18003         pass use and host to tgetpass
18004         [c56d9d13c401]
18005
18006         * tgetpass.c:
18007         added %u and %h escapes
18008         [04ae775d3e5d]
18009
18010         * OPTIONS, check.c, options.h:
18011         added NO_MESSAGE
18012         [3927dad19057]
18013
18014         * configure.in:
18015         added cray (unicos) support
18016         [1122210c5fb1]
18017
18018 1996-08-27  Todd C. Miller  <Todd.Miller@courtesan.com>
18019
18020         * OPTIONS, options.h, sudo.c:
18021         added SHELL_SETS_HOME
18022         [0b26909b0929]
18023
18024 1996-08-25  Todd C. Miller  <Todd.Miller@courtesan.com>
18025
18026         * INSTALL:
18027         added note about "make install"
18028         [7e56ea76d4b4]
18029
18030         * parse.yacc:
18031         changed length/size params from int to size_t
18032         [5654e5ceb1b3]
18033
18034         * OPTIONS:
18035         now get CSOPS insults as well by default
18036         [297323d0179a]
18037
18038         * insults.h:
18039         use csops insults too by default
18040         [07fafc136169]
18041
18042         * INSTALL, Makefile.in, README, config.h.in, configure.in, version.h:
18043         version = 1.5
18044         [4b8772b11e3b]
18045
18046         * sudo.c:
18047         added runas_homedir
18048         [b0e0d4417a15]
18049
18050         * TODO:
18051         updated for 1.5
18052         [66259df825d5]
18053
18054         * RUNSON:
18055         updated for 1.5
18056         [e08bc9ebfe95]
18057
18058         * CHANGES:
18059         1.5 release
18060         [8c16942fea41]
18061
18062         * INSTALL:
18063         added "upgrading" notes
18064         [210d968964ff]
18065
18066 1996-08-22  Todd C. Miller  <Todd.Miller@courtesan.com>
18067
18068         * visudo.c:
18069         now do chmod and chown after edit of temp file and before rename
18070         [de174e34faa7] [SUDO_1_5_0]
18071
18072 1996-08-18  Todd C. Miller  <Todd.Miller@courtesan.com>
18073
18074         * Makefile.in:
18075         ++version added INSTALL.configure
18076         [c9e9214f52ae]
18077
18078         * configure.in, version.h:
18079         ++version
18080         [5985abed3eb2]
18081
18082         * TROUBLESHOOTING:
18083         *** empty log message ***
18084         [d65c540ec52e]
18085
18086         * parse.yacc:
18087         added missing cast
18088         [e7247319a7d5]
18089
18090         * sudo.c:
18091         sets $HOME to pw_dir of runas user
18092         [d3f7f4d05752]
18093
18094         * sudo.pod:
18095         document $HOME change
18096         [854454d458c4]
18097
18098 1996-08-17  Todd C. Miller  <Todd.Miller@courtesan.com>
18099
18100         * sudo.pod:
18101         fixed up some wording
18102         [b0c8582f2c97]
18103
18104         * check.c, dce_pwent.c, find_path.c, getspwuid.c, getwd.c, goodpath.c,
18105         interfaces.c, logging.c, parse.c, parse.lex, parse.yacc, putenv.c,
18106         strdup.c, sudo.c, sudo_setenv.c, testsudoers.c, tgetpass.c, utime.c,
18107         visudo.c:
18108         ++version
18109         [748be723fd8b]
18110
18111         * compat.h, ins_2001.h, ins_classic.h, ins_csops.h, ins_goons.h,
18112         insults.h, options.h, pathnames.h.in, sudo.h:
18113         ++version
18114         [acdf8b1b2a1b]
18115
18116         * emul/utime.h:
18117         ++version
18118         [b3f35298ab8d]
18119
18120         * sudo.h:
18121         name nad type changes
18122         [db24ab3da141]
18123
18124         * testsudoers.c:
18125         now works with new sudo
18126         [379346c42cc2]
18127
18128         * parse.yacc:
18129         fixed some XXX
18130         [f5fe4c990052]
18131
18132         * parse.yacc:
18133         some variable name changes + comment headers for functions.
18134         [3dc3bd9aa73d]
18135
18136         * tgetpass.c:
18137         added extra paren's to make compilers happy
18138         [9e4968a34d56]
18139
18140         * sudo.c:
18141         *** empty log message ***
18142         [70c924c1ed69]
18143
18144         * parse.c:
18145         now uses init_parser() if not in sudoers and tries "list" or
18146         "validate" scold but don't be nasty.
18147         [c0d8fb3f8c9e]
18148
18149         * TROUBLESHOOTING:
18150         now can use upper case login names
18151         [c772fffcefe5]
18152
18153         * visudo.c:
18154         now uses init_parser()
18155         [b9efae7243fd]
18156
18157         * INSTALL, README:
18158         updated
18159         [27dc8283fdc8]
18160
18161         * PORTING:
18162         added info about PASSWORD_TIMEOUT
18163         [980e15d892f8]
18164
18165         * INSTALL.configure:
18166         Initial revision
18167         [8292e89a08d3]
18168
18169         * BUGS:
18170         fixed a bug ,
18171         [c6e46f5624f9]
18172
18173         * parse.yacc:
18174         now dynamically allocates memory for the stacks -- no more
18175         overflows!
18176         [8615c35b6ad3]
18177
18178         * sudo.pod:
18179         -l now explands command aliases
18180         [39f45605935d]
18181
18182         * parse.yacc:
18183         hacks to expand command aliases for `sudo -l'
18184         [e4eb752608f9]
18185
18186         * sudo.c:
18187         remove $ENV and $BASH_ENV (dangerous in ksh, posix sh, and bash)
18188         [01327ca5084b]
18189
18190         * sudo.h:
18191         added struct command_alias
18192         [dd2f32764082]
18193
18194         * sudo.pod:
18195         fixed a bug
18196         [e708ff08d2eb]
18197
18198         * lsearch.c:
18199         in compar() key should be first arg
18200         [fc14c3fa62ee]
18201
18202 1996-08-15  Todd C. Miller  <Todd.Miller@courtesan.com>
18203
18204         * BUGS:
18205         fixed some bugs
18206         [639dfe425bd5]
18207
18208         * parse.yacc:
18209         can now deal with upcase HOST and USER names
18210         [c6aa7bcfb00d]
18211
18212         * sudo.c:
18213         don't yell too loudly at non-sudoers if they do "sudo -l"
18214         [4ef146128d89]
18215
18216         * sudo.pod:
18217         fixed thinko
18218         [830f2f0f22e7]
18219
18220         * parse.c:
18221         fix comment
18222         [d20ce9e17ddc]
18223
18224 1996-08-09  Todd C. Miller  <Todd.Miller@courtesan.com>
18225
18226         * parse.c, parse.yacc:
18227         added support for new `sudo -l' stuff
18228         [7dceaef3c733]
18229
18230         * sudo.c:
18231         now uses list_matches()
18232         [293364821b61]
18233
18234         * sudo.h:
18235         added struct sudo_match
18236         [b2684179d179]
18237
18238         * configure.in:
18239         now more -lgnumalloc
18240         [4f8ae42617d8]
18241
18242 1996-08-01  Todd C. Miller  <Todd.Miller@courtesan.com>
18243
18244         * install-sh:
18245         added more paths for chown and whoami
18246         [6e685a19426c]
18247
18248 1996-07-31  Todd C. Miller  <Todd.Miller@courtesan.com>
18249
18250         * check.c:
18251         typo
18252         [3adfa01c04bc]
18253
18254 1996-07-30  Todd C. Miller  <Todd.Miller@courtesan.com>
18255
18256         * aclocal.m4:
18257         fixed DUNIX check for shadow pw
18258         [c25324bcd27b]
18259
18260         * tgetpass.c:
18261         now only turn off echo if it is already on. this fixes a race when
18262         you use sudo in a pipelin
18263         [28388c2de21c]
18264
18265         * INSTALL:
18266         updated
18267         [b45ac9366b7e]
18268
18269         * configure.in:
18270         changed "test -z $foo && do_this" to if; then construct
18271         [2183c4426bca]
18272
18273 1996-07-29  Todd C. Miller  <Todd.Miller@courtesan.com>
18274
18275         * configure.in:
18276         added missing defines of SHADOW_TYPE
18277         [be89ea68a7f3]
18278
18279 1996-07-26  Todd C. Miller  <Todd.Miller@courtesan.com>
18280
18281         * check.c:
18282         protect AUTH_CRYPT_OLDCRYPT and AUTH_CRYPT_C1CRYPT since they are
18283         only in dunix 4.x
18284         [1e7c1c677263]
18285
18286         * getspwuid.c:
18287         added AUTH_CRYPT_C1CRYPT support
18288         [88d6b0058b20]
18289
18290         * parse.c:
18291         no longer return VALIDATE_NOT_OK if there was a runas that didn't
18292         match. Now we can have runas stuff on more than one line.
18293         [52b68920d7b7]
18294
18295         * getspwuid.c, sudo.c, tgetpass.c:
18296         use SHADOW_TYPE instead of HAVE_C2_SECURITY
18297         [cf401dfcbc06]
18298
18299         * configure.in:
18300         got rid of HAVE_C2_SECURITY SHADOW_TYPE is always defined to
18301         something
18302         [c7a233c4dd93]
18303
18304         * config.h.in:
18305         removed HAVE_C2_SECURITY added SPW_BSD
18306         [8314405e9754]
18307
18308         * compat.h:
18309         use SHADOW_TYPE instead of HAVE_C2_SECURITY
18310         [6f94870df17f]
18311
18312         * check.c:
18313         SHADOW_TYPE is always defined so just against its value
18314         [72c69a55d02f]
18315
18316         * aclocal.m4:
18317         added SUDO_CHECK_SHADOW_DUNIX
18318         [ef025ae9d496]
18319
18320 1996-07-25  Todd C. Miller  <Todd.Miller@courtesan.com>
18321
18322         * sudoers.pod:
18323         * -> ?* in one example added another instance of (runas) and one of
18324         NOPASSWD:
18325         [d74fe1dcbe7d]
18326
18327 1996-07-24  Todd C. Miller  <Todd.Miller@courtesan.com>
18328
18329         * configure.in:
18330         added back check for config.cache from other host type
18331         [0ba87871f585]
18332
18333         * parse.lex:
18334         removed an instance of \"
18335         [1e008d3709f6]
18336
18337         * sample.sudoers:
18338         added an example
18339         [dbfcf68ee330]
18340
18341         * sudoers.pod:
18342         updated wrt new wildcard matching
18343         [193fa44a475b]
18344
18345         * configure.in:
18346         new check for shadow passwords if we don't know anything
18347         [67465df7dc9a]
18348
18349         * aclocal.m4:
18350         new SUDO_CHECK_SHADOW_GENERIC
18351         [3563b16a41b8]
18352
18353         * configure.in:
18354         added back check for -lsocket (oops)
18355         [a80882ee1cb6]
18356
18357         * configure.in:
18358         better (working) check for shadow passwd type if we know to use C2.
18359         [3cdd2a59a641]
18360
18361         * configure.in:
18362         now uses AC_CANONICAL_HOST to figure out os type
18363         [80db7fe6e704]
18364
18365         * Makefile.in:
18366         added config.{guess,sub}
18367         [c6be7e3ca384]
18368
18369         * aclocal.m4:
18370         removed unused stuff to figure out os type
18371         [c9a0f3b57123]
18372
18373         * config.sub:
18374         added openbsd
18375         [bfc6bfec3668]
18376
18377         * config.sub:
18378         Initial revision
18379         [e6e06ce0d17d]
18380
18381         * config.guess:
18382         Initial revision
18383         [99dd06f79199]
18384
18385         * testsudoers.c:
18386         don't call fnmatch() with FNM_PATHNAME flag unless it can only be a
18387         pathname. need to check against sudoers_args even if user_args is
18388         nil
18389         [66e6cf77f5d6]
18390
18391         * parse.c:
18392         don't call fnmatch() with FNM_PATHNAME flag unless it can only be a
18393         pathname need to check against sudoers_args even if user_args is nil
18394         [74374df17311]
18395
18396 1996-07-23  Todd C. Miller  <Todd.Miller@courtesan.com>
18397
18398         * check.c:
18399         added support for AUTH_CRYPT_OLDCRYPT w/ DUNIX C2
18400         [cbb00261c415]
18401
18402         * testsudoers.c:
18403         now takes command line args and uses cmnd_args
18404         [f0c2fd35a527]
18405
18406         * parse.lex:
18407         fill_args was adding an extra leading space
18408         [692fc999b2e8]
18409
18410 1996-07-22  Todd C. Miller  <Todd.Miller@courtesan.com>
18411
18412         * visudo.c:
18413         fixed dummy command_matches()
18414         [93d9543db6e2]
18415
18416         * parse.yacc:
18417         fixed prototype
18418         [7b0addfbd429]
18419
18420         * sudo.h:
18421         added cmnd_args
18422         [8f47c4ae65ef]
18423
18424         * parse.yacc:
18425         now uses flat args string
18426         [016e65877da3]
18427
18428         * parse.c, parse.lex:
18429         now uses flat arg string
18430         [5b5f2e3f4c09]
18431
18432         * visudo.c:
18433         added cmnd_args def
18434         [876867134775]
18435
18436         * sudo.c:
18437         now sets cmnd_args global
18438         [e6fee70cb59b]
18439
18440         * logging.c:
18441         cmnd_args is now exported from sudo.[ch]
18442         [7a9cd36e356f]
18443
18444 1996-07-21  Todd C. Miller  <Todd.Miller@courtesan.com>
18445
18446         * parse.yacc:
18447         can't rely on cmnd_matches as much as I thought -- added some $$
18448         stuff back in to prevent namespace pollution problems.
18449         [3c45fedb5af3]
18450
18451         * parse.yacc:
18452         Simplified parse rules wrt runas and NOPASSWD (more consistent).
18453         [e6d838c8a4c7]
18454
18455 1996-07-20  Todd C. Miller  <Todd.Miller@courtesan.com>
18456
18457         * parse.lex:
18458         NOPASSWD may now have blanks before the ':' '(' only starts a
18459         'runas' if in the initial state to avoid collision with command args
18460         [c5c01172f499]
18461
18462         * configure.in:
18463         added checks for specific shadow passwd schemes
18464         [b7e3d1f7b84f]
18465
18466         * aclocal.m4:
18467         added routines to check for specific shadow passwd types
18468         [e5e1d19960a6]
18469
18470 1996-07-18  Todd C. Miller  <Todd.Miller@courtesan.com>
18471
18472         * configure.in:
18473         added support for ncr boxen
18474         [bea9dc5aae7f]
18475
18476         * aclocal.m4:
18477         added support for detecting ncr boxen
18478         [8653a158a924]
18479
18480 1996-07-16  Todd C. Miller  <Todd.Miller@courtesan.com>
18481
18482         * configure.in:
18483         added sinix support
18484         [5de2b2173ee1]
18485
18486 1996-07-14  Todd C. Miller  <Todd.Miller@courtesan.com>
18487
18488         * TROUBLESHOOTING:
18489         added info about "config.cache from other other" error.
18490         [845b10198e0b]
18491
18492         * aclocal.m4:
18493         now makes sure you don't have a config.cache file from another OS
18494         [4fe32571c021]
18495
18496         * configure.in:
18497         now sets $LIBS when needed to configure links with libs when doing
18498         tests hpux10 now uses SPW_SECUREWARE for C2 added check for
18499         bigcrypt(3) if SPW_SECUREWARE
18500         [2df6b8ca538f]
18501
18502         * getspwuid.c:
18503         fixed typo
18504         [fe1cb1d792d6]
18505
18506         * tgetpass.c:
18507         now include stuff for SPW_SECUREWARE to get AUTH_MAX_PASSWD_LENGTH
18508         [f71138372c07]
18509
18510         * getspwuid.c:
18511         no more SPW_HPUX10
18512         [cfdeb18bc16b]
18513
18514         * config.h.in:
18515         no more SPW_HPUX10 added HAVE_BIGCRYPT
18516         [00d296479a61]
18517
18518         * compat.h:
18519         now uses AUTH_MAX_PASSWD_LENGTH if SPW_SECUREWARE
18520         [6c6d9e680417]
18521
18522         * check.c:
18523         SPW_SECUREWARE now uses bigcrypt
18524         [be71fc66690f]
18525
18526 1996-07-13  Todd C. Miller  <Todd.Miller@courtesan.com>
18527
18528         * sample.sudoers:
18529         fixed 2 syntax errors
18530         [45eee19ef4ac]
18531
18532         * sudoers:
18533         root may now run ALL as ALL
18534         [1b54c6b9b212]
18535
18536 1996-07-12  Todd C. Miller  <Todd.Miller@courtesan.com>
18537
18538         * interfaces.c:
18539         fixed a typo/thinko that broke BSD's with sa_len
18540         [603438360126]
18541
18542 1996-07-08  Todd C. Miller  <Todd.Miller@courtesan.com>
18543
18544         * check.c, configure.in:
18545         updated AFS support
18546         [e572eb8d177a]
18547
18548         * TROUBLESHOOTING:
18549         added entry about /usr/ucb/cc
18550         [025b353aa9d3]
18551
18552         * INSTALL:
18553         prep no longer holds gcc binaries
18554         [8b0942958049]
18555
18556         * INSTALL:
18557         updated AFS note
18558         [7af6efd5abe4]
18559
18560         * Makefile.in:
18561         added @AFS_LIBS@
18562         [97b6fe6ad7d6]
18563
18564         * compat.h:
18565         AFS allows long passwords
18566         [5fb17122c302]
18567
18568         * testsudoers.c:
18569         fixed -u user support
18570         [b1a0c1648639]
18571
18572         * parse.c:
18573         sudo -v now groks VALIDATE_OK_NOPASS
18574         [74fc03fffe7e]
18575
18576         * parse.yacc:
18577         fixed no_passwd vs. runas_matched
18578         [549a9b791a6a]
18579
18580         * TROUBLESHOOTING:
18581         took out stuff about NFS-mounting since it is no longer an issue
18582         [d95ab7fbbc61]
18583
18584         * INSTALL:
18585         added --with-libraries > --with-libpath --with-incpath
18586         [d5d15a7a0f4c]
18587
18588         * parse.yacc:
18589         was setting runas_matches to -1 in wrong place
18590         [db2b1deb8d33]
18591
18592         * check.c:
18593         removed usersec.h which is not present in new AFS versions
18594         [618b016dd17f]
18595
18596         * tgetpass.c:
18597         now deals with timeout <= 0
18598         [ba53a1257255]
18599
18600         * OPTIONS:
18601         updated
18602         [75093bd8fdca]
18603
18604         * configure.in:
18605         BSD/OS >= 2.0 now uses shlicc instead of just gcc
18606         [ff6dbf7825c2]
18607
18608         * sudo.c:
18609         fixed backwards compatibility with sudo 1.4 sudoers mode for root
18610         readable/writable filesystems
18611         [2694ed627221]
18612
18613         * Makefile.in:
18614         now gives INSTALL -c flag
18615         [63db055a2fd1]
18616
18617         * parse.yacc:
18618         slightly simpler initialization of no_passwd and runas_matches
18619         [463a1b5fa323]
18620
18621         * testsudoers.c:
18622         added -u username support
18623         [38b072fcd6b3]
18624
18625         * configure.in:
18626         improved --with-libraries support
18627         [047dbc5f0af2]
18628
18629 1996-07-07  Todd C. Miller  <Todd.Miller@courtesan.com>
18630
18631         * configure.in:
18632         added --with-incpath, --with-libpath, --with-libraries
18633         [20f20d6c718c]
18634
18635         * parse.yacc:
18636         now initializes some fields that weren't getting set to -1 pretty
18637         gross -- need a rewrite.
18638         [021c160390c6]
18639
18640 1996-06-26  Todd C. Miller  <Todd.Miller@courtesan.com>
18641
18642         * alloca.c:
18643         removed emacs'isms
18644         [9d4ec2efe057]
18645
18646         * configure.in:
18647         no longer add -lPW to *_LIBS since we include alloca.c
18648         [a626d1bbea80]
18649
18650         * config.h.in:
18651         added HAVE_ALLOCA_H
18652         [15491e2a6cff]
18653
18654         * Makefile.in:
18655         added alloca.c
18656         [0400f25e1fe4]
18657
18658         * alloca.c:
18659         Initial revision
18660         [06d033aa4882]
18661
18662         * configure.in:
18663         ++version
18664         [f52c0fb98f90]
18665
18666 1996-06-25  Todd C. Miller  <Todd.Miller@courtesan.com>
18667
18668         * sudo.c:
18669         now set uid to 1 instead of nobody for PERM_SUDOERS since nobody is
18670         not always set to a valid uid.
18671         [c2669f77704d]
18672
18673         * OPTIONS:
18674         fixed entry for SUDO_MODE
18675         [d7272f6035b8]
18676
18677         * sudo.c:
18678         Fixed NFS-mounted sudoers file under solaris both uid *and* gid were
18679         being set to -2. Now beat NFS to the punch and set uid to "nobody"
18680         ourselves, preserving group 0 to read sudoers.
18681         [b1fbc5dd1e34]
18682
18683         * parse.c:
18684         moved set_perms(PERM_ROOT) to be before yyparse()
18685         [7619d8080735]
18686
18687         * logging.c:
18688         fixed a typo
18689         [318acc48cde0]
18690
18691         * configure.in:
18692         no longer need AC_PROG_INSTALL
18693         [de01b1336dc8]
18694
18695         * Makefile.in:
18696         always use install-sh to avoid install(1)'s that use get{pw,gr}nam
18697         [ea2351986406]
18698
18699         * INSTALL:
18700         make clean -> make distclean
18701         [704a98e8ba10]
18702
18703 1996-06-20  Todd C. Miller  <Todd.Miller@courtesan.com>
18704
18705         * parse.yacc:
18706         removed some unnecsary if's
18707         [f00db6508132]
18708
18709         * Makefile.in, version.h:
18710         ++version
18711         [bdb6740b24c8]
18712
18713         * parse.c, testsudoers.c:
18714         now includes netgroup.h
18715         [93f5a06352bc]
18716
18717         * interfaces.c:
18718         removed cats of ioctl to int since they didn't shut up -Wall
18719         [83e9f912cd7a]
18720
18721         * interfaces.c:
18722         explicately cast ioctl() to int since it it not always declared
18723         [2ff9294e469e]
18724
18725         * sudo.h:
18726         added declarations for yyparse() and yylex()
18727         [6071321ab771]
18728
18729         * parse.yacc:
18730         fixed an occurence of '==' -> '='
18731         [2c46d2e11d57]
18732
18733         * config.h.in, configure.in:
18734         added check for netgroup.h
18735         [73403050f4e3]
18736
18737         * sudo.c:
18738         fixed 2 compiler warnings
18739         [680929b0bd97]
18740
18741         * sudo.c:
18742         SHELL_IF_NO_ARGS caused core dump since NewArg[cv] weren't being
18743         initialized
18744         [18707ecd07c2]
18745
18746 1996-06-19  Todd C. Miller  <Todd.Miller@courtesan.com>
18747
18748         * sudo.pod:
18749         fixed a typo
18750         [e4b5c12aa130]
18751
18752 1996-06-17  Todd C. Miller  <Todd.Miller@courtesan.com>
18753
18754         * parse.yacc:
18755         fixed a formatting thingie
18756         [c79327b6f19b]
18757
18758         * parse.c, parse.yacc:
18759         fixed -u support with multiple user lists on a line
18760         [e4d1066adca2]
18761
18762         * configure.in:
18763         unixware needs -lgen
18764         [b5bf9bca63cc]
18765
18766         * README:
18767         updated ftp location
18768         [b25a033f7921]
18769
18770         * sudoers.pod:
18771         add net_addr/netmask support
18772         [674e83516d1e]
18773
18774         * sample.sudoers:
18775         added net_addr/mask example
18776         [774878e89b28]
18777
18778         * parse.c, parse.lex:
18779         added support for net_addr/netmask
18780         [e33de27325d8]
18781
18782 1996-06-16  Todd C. Miller  <Todd.Miller@courtesan.com>
18783
18784         * sudoers.pod:
18785         ^ -> !
18786         [1a084950d6ef]
18787
18788 1996-06-15  Todd C. Miller  <Todd.Miller@courtesan.com>
18789
18790         * RUNSON:
18791         updated for 1.4.3
18792         [c82019025d09]
18793
18794         * CHANGES:
18795         udpated for 1.4.3
18796         [ceaa81adb8f0]
18797
18798         * BUGS, TODO, TROUBLESHOOTING:
18799         updated
18800         [ff94fae4b853]
18801
18802         * sample.sudoers:
18803         updated with examples of new stuff
18804         [99d0b4cb4c9c]
18805
18806         * INSTALL, README:
18807         ++version
18808         [b763b80fe836]
18809
18810         * sudoers.pod:
18811         updated wrt -u and NOPASSWD
18812         [0b5b722ea0f4]
18813
18814         * sudo.pod:
18815         updated wrt -u and CAVEATS
18816         [71d5d53b5d18]
18817
18818 1996-06-09  Todd C. Miller  <Todd.Miller@courtesan.com>
18819
18820         * sudo.c:
18821         fixed usage()
18822         [114c7d09b550]
18823
18824         * parse.lex:
18825         now use :foo: character classes (makes no diff for generated lexer)
18826         [7b0aeb737a02]
18827
18828 1996-06-07  Todd C. Miller  <Todd.Miller@courtesan.com>
18829
18830         * check.c:
18831         fixed LONG_SKEY_PROMPT stuff
18832         [0efe78b4bdda]
18833
18834 1996-06-06  Todd C. Miller  <Todd.Miller@courtesan.com>
18835
18836         * visudo.c:
18837         fixed a comment
18838         [3d289017104b]
18839
18840         * lsearch.c:
18841         make more like NetBSD one -- now compiles w/o warnings
18842         [932206296a54]
18843
18844         * emul/search.h:
18845         fixed decls of lsearch()
18846         [c58cf4584c45]
18847
18848         * config.h.in, configure.in, getspwuid.c:
18849         added SPW_HPUX10
18850         [d74e5eaa5f17]
18851
18852         * check.c:
18853         hpux 10 uses bigcrypt() if C2
18854         [359eb63f4021]
18855
18856 1996-06-04  Todd C. Miller  <Todd.Miller@courtesan.com>
18857
18858         * parse.c:
18859         now always uses fnmatch to match args
18860         [a9d91f35256a]
18861
18862         * tgetpass.c:
18863         back to using stdio instead of raw i/o since that caused some
18864         problems
18865         [e7ce2bc92974]
18866
18867 1996-05-29  Todd C. Miller  <Todd.Miller@courtesan.com>
18868
18869         * sudo.c:
18870         now give usage warning if use -l,-v,-k with args
18871         [6b48180c4fea]
18872
18873 1996-05-28  Todd C. Miller  <Todd.Miller@courtesan.com>
18874
18875         * sudo.c:
18876         NewArgc is now set to 1 for -l, -v, -k
18877         [7497cb1416a8]
18878
18879         * sudo.c:
18880         now sets sudoers to correct group if mode is 0400
18881         [484c43d99718]
18882
18883         * install-sh:
18884         updated to version used by inn and bind
18885         [28683ad8725a]
18886
18887         * configure.in:
18888         now uses -lgnumalloc if it exists
18889         [3651ca4415a2]
18890
18891         * Makefile.in:
18892         "make install" now sets uid/gid and mode on sudoers if it exists
18893         [1f5216191ae9]
18894
18895         * sudo.c:
18896         rmeoved debugging statements
18897         [aeda278e2c26]
18898
18899         * parse.yacc:
18900         added a missing free()
18901         [592c9482a159]
18902
18903         * sudo.c:
18904         now uses user_gid instead of getegid (which was wrong anyway) to set
18905         SUDO_GID Now sets command line args in SUDO_COMMAND envariabled
18906         (logging.c depends on args being in the environment)
18907         [9f5328a3b942]
18908
18909         * logging.c:
18910         now uses SUDO_COMMAND envariable to get command args rather than
18911         building it up again.
18912         [7f8edc5bccb7]
18913
18914         * parse.c:
18915         now uses user_gid
18916         [4b9303ae45fe]
18917
18918         * sudo.c:
18919         fixed off by one error in allocation NewArgv
18920         [921ea1a4e7c6]
18921
18922         * parse.c:
18923         in sudoers, 'command ""' now means command with no args
18924         [a5273648ace2]
18925
18926         * configure.in:
18927         added check for fnmatch(3) and fnmatch.h
18928         [258916a7866f]
18929
18930         * config.h.in:
18931         added HAVE_FNMATCH
18932         [b9860d361e93]
18933
18934         * Makefile.in:
18935         replaced wildcat.* with fnmatch.*
18936         [03ad9ee21a1c]
18937
18938         * testsudoers.c:
18939         now uses fnmatch()
18940         [5a7f7de987a9]
18941
18942 1996-05-27  Todd C. Miller  <Todd.Miller@courtesan.com>
18943
18944         * parse.c:
18945         now uses fnmatch() instead of wildmat a trailing star (*) by itself
18946         now matches multiple args added support for wildcards in the
18947         pathname in sudoers
18948         [1f7fb950b868]
18949
18950 1996-05-25  Todd C. Miller  <Todd.Miller@courtesan.com>
18951
18952         * fnmatch.c:
18953         now includes compat.h and config.h
18954         [090206b95cf8]
18955
18956         * config.h.in:
18957         added HAVE_FNMATCH_H
18958         [90eb42150173]
18959
18960         * configure.in:
18961         now checks for alloca() (if needed by bison or dce) and links with
18962         -lPW if it contains alloca() and libv and compiler do not.
18963         [cfa2b3cef49a]
18964
18965         * emul/fnmatch.h, fnmatch.3, fnmatch.c:
18966         Initial revision
18967         [20b1f762a32a]
18968
18969 1996-04-29  Todd C. Miller  <Todd.Miller@courtesan.com>
18970
18971         * sudo.c:
18972         now fixes mode on sudoers if set to 0400 to aid in upgrade
18973         [d4bdfd521820]
18974
18975 1996-04-28  Todd C. Miller  <Todd.Miller@courtesan.com>
18976
18977         * Makefile.in:
18978         fixed pod2man usage
18979         [5adf2ec77b27]
18980
18981         * Makefile.in, configure.in, version.h:
18982         ++version
18983         [b4029de876d0]
18984
18985         * testsudoers.c, visudo.c:
18986         runas_user is now initialized to "root"
18987         [8537d97bff39]
18988
18989         * sudo.h:
18990         removed PERM_FULL_ROOT
18991         [241f8bbf647f]
18992
18993         * sudo.c:
18994         runas_user defaults to "root" so no more need to PERM_RUNAS
18995         [fc0c0dfc72ba]
18996
18997         * parse.c:
18998         will now only running commands as root if there was no runas list
18999         (or if root is in the runas list)
19000         [40c587666c81]
19001
19002         * logging.c:
19003         now logs "USER=%s"
19004         [b733504c87fd]
19005
19006         * parse.yacc:
19007         runas_matches is now set to false if we get a negative match
19008         [5495b150b300]
19009
19010         * parse.lex:
19011         make #uid work + some minor cleanup
19012         [07851bbce03a]
19013
19014         * sample.sudoers:
19015         added support for NOPASSWD and "runas" from garp@opustel.com /
19016         [7a9c67b51fa5]
19017
19018         * visudo.c:
19019         added support for "runas" from garp@opustel.com replaced
19020         SUDOERS_OWNER with SUDOERS_UID, SUDOERS_GID added support for
19021         SUDOERS_MODE
19022         [e714209b9885]
19023
19024         * testsudoers.c:
19025         added support for "runas" from garp@opustel.com
19026         [b837f856da10]
19027
19028         * sudo.h:
19029         added support for NO_PASSWD and runas from garp@opustel.com replaced
19030         SUDOERS_OWNER with SUDOERS_UID and SUDOERS_GID and added support
19031         fro SUDOERS_MODE
19032         [cea6f26679b7]
19033
19034         * sudo.c:
19035         added support for NO_PASSWD and runas from garp@opustel.com replaced
19036         SUDOERS_OWNER with SUDOERS_UID and SUDOERS_GID and added support fro
19037         SUDOERS_MODE
19038         [61b5434237c5]
19039
19040         * parse.yacc:
19041         added support for NO_PASSWD and runas from garp@opustel.com
19042         [72ebd3056f22]
19043
19044         * parse.c, parse.lex:
19045         added support for NO_PASSWD and runas from garp@opustel.com
19046         [fef6dbdd114d]
19047
19048         * logging.c:
19049         added support for SUDOERS_WRONG_MODE and "runas"
19050         [e794efc2b443]
19051
19052         * configure.in:
19053         added --with-CC only link with -lshadow on linux (with shadow pw) if
19054         libc lacks getspnam()
19055         [3ecf4ae21002]
19056
19057         * OPTIONS, options.h:
19058         removed NO_PASSWD since it is not possible to do this in the sudoers
19059         file itself. Replaced SUDOERS_OWNER with SUDOERS_UID and
19060         SUDOERS_GID. Added SUDOERS_MODE.
19061         [2eaa4891ef48]
19062
19063         * Makefile.in:
19064         now uses SUDOERS_UID and SUDOERS_GID
19065         [8d615f0fdb2a]
19066
19067 1996-04-27  Todd C. Miller  <Todd.Miller@courtesan.com>
19068
19069         * INSTALL:
19070         added --with-CC
19071         [a1b8286a81b8]
19072
19073 1996-04-06  Todd C. Miller  <Todd.Miller@courtesan.com>
19074
19075         * parse.lex:
19076         added double quote support
19077         [a5e4fc7e3a2b]
19078
19079         * sudoers.pod:
19080         documented double quoting
19081         [c6ea47969a44]
19082
19083 1996-04-05  Todd C. Miller  <Todd.Miller@courtesan.com>
19084
19085         * mkinstalldirs:
19086         Initial revision
19087         [dcb86d65ad8f]
19088
19089         * check.c:
19090         fixed some indentation
19091         [4d1c5ab8072b]
19092
19093         * Makefile.in:
19094         fixed a typo
19095         [0d27eebc7227]
19096
19097         * Makefile.in:
19098         added install-dirs .
19099         [f499b99b8be7]
19100
19101 1996-04-04  Todd C. Miller  <Todd.Miller@courtesan.com>
19102
19103         * dce_pwent.c:
19104         new version from "Jeff A. Earickson" <jaearick@colby.edu>
19105         [422481be5fbd]
19106
19107 1996-04-03  Todd C. Miller  <Todd.Miller@courtesan.com>
19108
19109         * configure.in:
19110         $CSOPS -> $with_csops (whoops, missed one)
19111         [b04c6948130e]
19112
19113         * BUGS:
19114         updated
19115         [c4d5713e227d]
19116
19117         * parse.lex:
19118         FQHOST now has same constraints as non-FQHOST
19119         [e1c3bf2381d1]
19120
19121         * INSTALL:
19122         added note about OS's w/ shadow passwords turned on by default
19123         [166257f43be4]
19124
19125 1996-04-02  Todd C. Miller  <Todd.Miller@courtesan.com>
19126
19127         * configure.in:
19128         fixed a typo
19129         [e5c3e2e9a359]
19130
19131         * configure.in:
19132         added support for --without-THING sanitized shadow pw situtation by
19133         adding support for
19134         --without-C2
19135         [65dc6bf64cce]
19136
19137         * tgetpass.c:
19138         fixed a typo wrt placement of an end paren
19139         [a8780f818231]
19140
19141         * check.c:
19142         was closing an fd that may not have been opened
19143         [760271c7bdc9]
19144
19145 1996-03-22  Todd C. Miller  <Todd.Miller@courtesan.com>
19146
19147         * OPTIONS, options.h, sudo.c:
19148         added NO_PASSWD
19149         [28ff1dc93d7a]
19150
19151 1996-03-20  Todd C. Miller  <Todd.Miller@courtesan.com>
19152
19153         * configure.in:
19154         now always use shadow pw on some arches
19155         [069161ccffda]
19156
19157 1996-03-19  Todd C. Miller  <Todd.Miller@courtesan.com>
19158
19159         * configure.in:
19160         added pyramid support
19161         [a0eb57a3a531]
19162
19163         * configure.in:
19164         no longer check for C2 if alternate passwd method is used no longer
19165         check for some libs twice
19166         [2d0c3c902b40]
19167
19168         * parse.yacc:
19169         moved fqdn stuff into parse.lex (FQHOST)
19170         [d9c9abd481d8]
19171
19172         * parse.lex:
19173         added FQHOST rules
19174         [4a1695acff6d]
19175
19176         * tgetpass.c:
19177         now define TCSASOFT in necesary
19178         [3fac2e21c9ab]
19179
19180         * tgetpass.c:
19181         now uses read/write instead of stdio string goop to avoid problems
19182         with select(2)
19183         [67fd174e518c]
19184
19185         * OPTIONS, find_path.c, options.h:
19186         -DNO_DOT_PATH -> -DIGNORE_DOT_PATH
19187         [d05ba5100d28]
19188
19189 1996-03-17  Todd C. Miller  <Todd.Miller@courtesan.com>
19190
19191         * INSTALL:
19192         added note about no shadow auto-detect if using alternate auth
19193         schemes
19194         [b425592232a3]
19195
19196         * configure.in:
19197         don't check for C2 if AFS or DCE (unless they said --with-C2)
19198         [61342962171a]
19199
19200         * testsudoers.c:
19201         now groks shost
19202         [85dda17303f6]
19203
19204         * OPTIONS, find_path.c, options.h:
19205         added NO_DOT_PATH
19206         [c261ca1fb196]
19207
19208 1996-03-16  Todd C. Miller  <Todd.Miller@courtesan.com>
19209
19210         * find_path.c:
19211         checkdot now works correctly
19212         [3bc4835bb3e9]
19213
19214 1996-03-12  Todd C. Miller  <Todd.Miller@courtesan.com>
19215
19216         * configure.in:
19217         can't have DCE and C2 passwords both...
19218         [fb9a8ab7ca66]
19219
19220 1996-03-11  Todd C. Miller  <Todd.Miller@courtesan.com>
19221
19222         * parse.yacc, sudo.c, sudo.h, visudo.c:
19223         now uses shost even if not FQDN
19224         [87f7498b3a1f]
19225
19226         * configure.in:
19227         now looks for skey in /usr/lib and doesn't require libskey to be in
19228         /usr/local/lib just because skey.h is (for my netbsd box :-)
19229         [ceb1763e37d2]
19230
19231         * aclocal.m4, config.h.in, pathnames.h.in:
19232         _SUDO_PATH_ -> _CONFIG_PATH_
19233         [84d97ad13d75]
19234
19235         * aclocal.m4, sudo.pod:
19236         /var/run/.odus -> /var/run/sudo
19237         [922da220b8f5]
19238
19239         * pathnames.h.in:
19240         now uses _SUDO_PATH_TIMEDIR
19241         [5ecab0155fdf]
19242
19243         * OPTIONS:
19244         udpated FQDN
19245         [361b6f7440c0]
19246
19247         * aclocal.m4, configure.in:
19248         added SUDO_TIMEDIR
19249         [368c95c8c950]
19250
19251         * config.h.in:
19252         added _SUDO_PATH_TIMEDIR
19253         [3879864d808c]
19254
19255         * sudo.pod:
19256         updated wrt /var/run/sudo
19257         [9e14f2a429d3]
19258
19259         * sudo.c, sudo.h:
19260         added support for shost if FQDN
19261         [51a3f51a09a1]
19262
19263         * parse.yacc, visudo.c:
19264         now uses shost if FQDN
19265         [d19da2e92b42]
19266
19267         * check.c:
19268         Now use skeylookup() instead off skeychallenge()
19269         [4c7438bb2ae0]
19270
19271 1996-02-28  Todd C. Miller  <Todd.Miller@courtesan.com>
19272
19273         * logging.c:
19274         mail_argv should not contain ALERTMAIL as it includes "-t"
19275         [67ffaaa8f843]
19276
19277 1996-02-22  Todd C. Miller  <Todd.Miller@courtesan.com>
19278
19279         * INSTALL, Makefile.in, README, configure.in, version.h:
19280         ++version
19281         [e08fd4a809fc]
19282
19283         * compat.h:
19284         added more _PASSWD_LEN stuff -- now uses PASS_MAX too
19285         [2f20c3153689]
19286
19287         * tgetpass.c:
19288         now includes limits.h moved _PASSWD_LEN -> compat.h
19289         [b1ca3cafdacc]
19290
19291 1996-02-06  Todd C. Miller  <Todd.Miller@courtesan.com>
19292
19293         * INSTALL, README:
19294         ++version
19295         [3eacf32803f5]
19296
19297         * Makefile.in:
19298         ++versoin
19299         [3b91c317630a]
19300
19301         * Makefile.in:
19302         fixed a typo
19303         [3661ac4a7803]
19304
19305         * configure.in:
19306         ++version
19307         [60e842973745]
19308
19309 1996-02-05  Todd C. Miller  <Todd.Miller@courtesan.com>
19310
19311         * RUNSON:
19312         updated
19313         [def2c3c24195]
19314
19315         * CHANGES:
19316         done for 1.4.1 (I hope)
19317         [2ab543769a40]
19318
19319         * sudoers.pod:
19320         added info on wildcards
19321         [ce3bd41bc063]
19322
19323         * sample.sudoers:
19324         added wildcard example
19325         [762feb0577bd]
19326
19327         * Makefile.in:
19328         now uses *.pod to build *.man and *.cat & *.html
19329         [3ec14962028b]
19330
19331         * configure.in:
19332         addedSUDO_PROG_BSHELL !ll
19333         [3c80b320bf16]
19334
19335         * visudo.pod:
19336         fixed up some formatting
19337         [12166c434526]
19338
19339         * sudoers.pod:
19340         redid section describing sample sudoers stuff
19341         [b8065cceec71]
19342
19343         * sudo.pod:
19344         fixed some formatting
19345         [aa9a681add0f]
19346
19347         * getspwuid.c:
19348         now treats "" as bourne shell
19349         [30194a72ad56]
19350
19351         * Makefile.in:
19352         TESTOBJS nwo includes wildmat.o
19353         [86cc6500f84d]
19354
19355         * testsudoers.c:
19356         now works with NewArg[cv]
19357         [2f72674ce942]
19358
19359         * sudo.c:
19360         removed an XXX (fixed it in getspwuid.c)
19361         [e791ee0d1a68]
19362
19363         * aclocal.m4:
19364         added check for bourne shell
19365         [a2fd51676b8a]
19366
19367         * pathnames.h.in:
19368         added _PATH_BSHELL
19369         [e7c10011d47b]
19370
19371         * config.h.in:
19372         added _SUDO_PATH_BSHELL
19373         [6a1182898de9]
19374
19375 1996-02-04  Todd C. Miller  <Todd.Miller@courtesan.com>
19376
19377         * visudo.c:
19378         unixware vi returns 256 instead of 0
19379         [234ffc7c6786]
19380
19381         * INSTALL:
19382         added Linux note
19383         [5f85efcd2b58]
19384
19385         * logging.c:
19386         fixed up some XXX's. file log format now looks a little more like
19387         real syslog(3) format.
19388         [6df55707bfc3]
19389
19390         * README, TROUBLESHOOTING:
19391         updated wrt lex/flex
19392         [eb787d69156b]
19393
19394         * Makefile.in:
19395         commented out rule to build lex.yy.c from parse.lex since we ship
19396         with a pre-flex'd parser
19397         [7507e2ce4a95]
19398
19399         * parse.c, parse.yacc, visudo.c:
19400         path_matches -> command_matches
19401         [0bd469424f86]
19402
19403         * logging.c:
19404         eliminated some strcat()'s
19405         [9878a79bc374]
19406
19407         * configure.in:
19408         no longer checks for lex/flex (now assumes flex)
19409         [a086ccc73798]
19410
19411         * configure.in:
19412         now checks for $kerb_dir_candidate/krb.h instead of just
19413         kerb_dir_candidate
19414         [9133bc3c5208]
19415
19416 1996-02-03  Todd C. Miller  <Todd.Miller@courtesan.com>
19417
19418         * parse.yacc:
19419         now use a 'hook' expression instead of an iffy one :-)
19420         [9560df01b8c0]
19421
19422 1996-02-02  Todd C. Miller  <Todd.Miller@courtesan.com>
19423
19424         * visudo.c:
19425         now works with new sudo arg stuff
19426         [310a0d43ddad]
19427
19428         * parse.yacc:
19429         fixed dereferencing deadbeef
19430         [474ef8a8006b]
19431
19432         * sudo.c:
19433         changed an occurrence of Argv to NewArgv
19434         [205b012b7691]
19435
19436         * parse.lex:
19437         took out support for quoted commands since there is no need...
19438         [5c5036d353b1]
19439
19440         * parse.c:
19441         fixed a typo in a for() loop
19442         [7e8d5283c43b]
19443
19444         * logging.c:
19445         protected against dereferencing rogue pointers
19446         [56debd517717]
19447
19448         * sudo.c:
19449         now uses NewArgv amd NewArgc so cmnd_aegs is no longer needed this
19450         also allows us to eliminate some kludges in parse_args() and
19451         eliminate superfluous code.
19452         [5122f66ad150]
19453
19454         * logging.c:
19455         no longer uses cmnd_args, now uses NewArgv instead.
19456         [abddd23cf068]
19457
19458         * sudo.h:
19459         added struct sudo_command, NewArgc, and NewArgv removed cmnd_args
19460         (no longer used)
19461         [78410984fb05]
19462
19463         * Makefile.in:
19464         added wildmat.c to SRCS & SUDOBJS
19465         [3800efb41794]
19466
19467         * parse.yacc:
19468         COMMAND is now a struct containing the path and args
19469         [5c32822c5b94]
19470
19471         * parse.lex:
19472         replaced append() with fill_cmnd() and fill_args. command args from
19473         a sudoers entry are now stored in an arrary for easy matching.
19474         [a981d7f4eb0d]
19475
19476         * parse.c:
19477         command line args from sudoers file are now in an array like ones
19478         passed in from the command line
19479         [1d9e37e84519]
19480
19481 1996-02-01  Todd C. Miller  <Todd.Miller@courtesan.com>
19482
19483         * parse.c:
19484         wildwat stuff now works
19485         [49d16488531f]
19486
19487 1996-01-29  Todd C. Miller  <Todd.Miller@courtesan.com>
19488
19489         * version.h:
19490         ++version
19491         [53e55463ef89]
19492
19493         * Makefile.in:
19494         ++version added wildmat.*
19495         [0508297a4711]
19496
19497 1996-01-28  Todd C. Miller  <Todd.Miller@courtesan.com>
19498
19499         * parse.lex:
19500         added support for quoted commands (w/ or w/o args)
19501         [b9a637155673]
19502
19503 1996-01-22  Todd C. Miller  <Todd.Miller@courtesan.com>
19504
19505         * sudo.pod, visudo.pod:
19506         cleaned up formatting
19507         [4591d4195437]
19508
19509         * sudo.pod, visudo.pod:
19510         Initial revision
19511         [7564a8242750]
19512
19513 1996-01-21  Todd C. Miller  <Todd.Miller@courtesan.com>
19514
19515         * sudoers.pod:
19516         looks reasonable, could be mroe readable
19517         [a5be2d19d9e0]
19518
19519         * sudoers.pod:
19520         Initial revision
19521         [957888be31a6]
19522
19523 1996-01-16  Todd C. Miller  <Todd.Miller@courtesan.com>
19524
19525         * RUNSON:
19526         updated
19527         [633743aa924b]
19528
19529         * OPTIONS:
19530         updated NO_ROOT_SUDO entry
19531         [f1c15b1dec9e]
19532
19533 1996-01-15  Todd C. Miller  <Todd.Miller@courtesan.com>
19534
19535         * RUNSON:
19536         *** empty log message ***
19537         [5b63de579ff7] [SUDO_1_4_0]
19538
19539         * sudo.c:
19540         fixed SECURE_PATH
19541         [6002889f606d]
19542
19543         * RUNSON:
19544         udpa`ted for 1.4
19545         [6014a8592815]
19546
19547         * configure.in:
19548         AIX aixcrypt.exp now uses $(srcdir)
19549         [b0d57674fef4]
19550
19551         * TROUBLESHOOTING:
19552         added entry for anal ansi compilers
19553         [4193cec1c6b1]
19554
19555 1996-01-14  Todd C. Miller  <Todd.Miller@courtesan.com>
19556
19557         * INSTALL:
19558         added info on libcrypt_i for SCO
19559         [575497d56698]
19560
19561         * TODO:
19562         *** empty log message ***
19563         [d0aaf67b9913]
19564
19565         * sample.sudoers:
19566         added comments
19567         [a7773f7eda8d]
19568
19569         * TODO:
19570         1.4 release
19571         [1dade29e9fd9]
19572
19573         * CHANGES:
19574         ++version
19575         [67241be40780]
19576
19577         * INSTALL, OPTIONS, README, config.h.in, configure.in:
19578         ++version
19579         [2e0a37897f68]
19580
19581         * BUGS:
19582         ++version and fixed ISC
19583         [78963f01a0e3]
19584
19585         * check.c, compat.h, dce_pwent.c, find_path.c, getspwuid.c, getwd.c,
19586         goodpath.c, ins_2001.h, ins_classic.h, ins_csops.h, ins_goons.h,
19587         insults.h, logging.c, options.h, pathnames.h.in, putenv.c, strdup.c,
19588         sudo.c, sudo.h, sudo_setenv.c, testsudoers.c, tgetpass.c, utime.c,
19589         visudo.c:
19590         ++version
19591         [b6227f29b3d9]
19592
19593         * interfaces.c:
19594         added STUB_LOAD_INTERFACES ++version
19595         [d8150a3fd577]
19596
19597         * Makefile.in, emul/utime.h, parse.c, parse.lex, parse.yacc,
19598         version.h:
19599         ++version
19600         [da9e90e69bdc]
19601
19602         * PORTING:
19603         added info about fd_set in tgetpass added info on interfaces.c
19604         [a39902febd17]
19605
19606 1996-01-11  Todd C. Miller  <Todd.Miller@courtesan.com>
19607
19608         * dce_pwent.c:
19609         added sudo header
19610         [fc0f2c48682e]
19611
19612         * tgetpass.c:
19613         fixed a typo
19614         [43d40b72ee8f]
19615
19616         * Makefile.in:
19617         tgetpass.o is now only linked in with sudo (not visudo)
19618         [7407c5ff11f8]
19619
19620 1996-01-09  Todd C. Miller  <Todd.Miller@courtesan.com>
19621
19622         * BUGS, INSTALL, Makefile.in, OPTIONS, README, config.h.in,
19623         configure.in:
19624         ++version
19625         [9b82ad805d6b]
19626
19627         * emul/utime.h:
19628         added copyright notice
19629         [4380f16cd075]
19630
19631         * check.c, compat.h, find_path.c, getspwuid.c, getwd.c, goodpath.c,
19632         ins_2001.h, ins_classic.h, ins_csops.h, ins_goons.h, insults.h,
19633         interfaces.c, logging.c, options.h, parse.c, parse.lex, parse.yacc,
19634         pathnames.h.in, putenv.c, strdup.c, sudo.c, sudo.h, sudo_setenv.c,
19635         testsudoers.c, tgetpass.c, utime.c, version.h, visudo.c:
19636         ++version
19637         [32717fdb5d05]
19638
19639         * tgetpass.c:
19640         minor cleanup and now includes sys/bsdtypes for svr4'ish boxen
19641         [326864428da2]
19642
19643         * configure.in:
19644         ISC now gets -lcrypt now check for sys/bsdtypes.h
19645         [e064799c054b]
19646
19647         * config.h.in:
19648         added check for sys/bsdtypes.h
19649         [9adb9533c363]
19650
19651 1996-01-07  Todd C. Miller  <Todd.Miller@courtesan.com>
19652
19653         * parse.yacc:
19654         removed debugging stuff (setting freed ptr to NULL)
19655         [02fe8eec63a0]
19656
19657         * TROUBLESHOOTING:
19658         added 2 entries
19659         [02884e2733e2]
19660
19661         * Makefile.in:
19662         added FAQ
19663         [074d8dfcf28d]
19664
19665         * TROUBLESHOOTING:
19666         added section on syslog
19667         [e6bc02a22b86]
19668
19669         * configure.in:
19670         added AC_ISC_POSIX for better ISC support
19671         [8436b3e12af2]
19672
19673         * config.h.in:
19674         fixed typo
19675         [f1b3922babf4]
19676
19677         * config.h.in:
19678         added define for _POSIX_SOURCE
19679         [ded6d92b34f9]
19680
19681 1996-01-04  Todd C. Miller  <Todd.Miller@courtesan.com>
19682
19683         * configure.in:
19684         fixed check for lsearch()
19685         [75baa5bc28a3]
19686
19687 1995-12-22  Todd C. Miller  <Todd.Miller@courtesan.com>
19688
19689         * interfaces.c:
19690         fixed for AIX now deal if num_interfaces == 0 (should not happen)
19691         [ae450e859227]
19692
19693 1995-12-20  Todd C. Miller  <Todd.Miller@courtesan.com>
19694
19695         * configure.in:
19696         now only define HAVE_LSEARCH if there is a corresponding search.h
19697         [8ce645c5d17f]
19698
19699         * interfaces.c:
19700         works on ISC again
19701         [ccac920d424c]
19702
19703 1995-12-18  Todd C. Miller  <Todd.Miller@courtesan.com>
19704
19705         * configure.in:
19706         now define HAVE_LSEARCH if we find lsearch() in libcompat
19707         [7343e4313a87]
19708
19709         * lsearch.c:
19710         char * -> const char *
19711         [1c0b11c2300a]
19712
19713         * configure.in:
19714         now looks in -lcompat for lsearch()
19715         [a1cc1d6fcd09]
19716
19717         * Makefile.in:
19718         remove sudo.core visudo.core for clan target
19719         [b523456a85df]
19720
19721         * aclocal.m4:
19722         added UID_MAX support in check for MAX_UID_T_LEN
19723         [7ab262b1173f]
19724
19725         * Makefile.in:
19726         fixed another occurence of sudo_getpwuid.*
19727         [fb5809c07da2]
19728
19729         * Makefile.in, getspwuid.c:
19730         sudo_getpwuid.c -> getspwuid.c
19731         [875f2ef808b4]
19732
19733         * configure.in:
19734         moved the "echo"
19735         [ad7b8f966076]
19736
19737         * BUGS, CHANGES, INSTALL, Makefile.in, OPTIONS, README, check.c,
19738         compat.h, config.h.in, configure.in, find_path.c, getspwuid.c,
19739         getwd.c, goodpath.c, ins_2001.h, ins_classic.h, ins_csops.h,
19740         ins_goons.h, insults.h, interfaces.c, logging.c, options.h, parse.c,
19741         parse.lex, parse.yacc, pathnames.h.in, putenv.c, strdup.c, sudo.c,
19742         sudo.h, sudo_setenv.c, testsudoers.c, tgetpass.c, utime.c,
19743         version.h, visudo.c:
19744         ++version
19745         [ee57c6410ffa]
19746
19747         * testsudoers.c:
19748         added group support
19749         [54d8097df8bd]
19750
19751         * sample.sudoers:
19752         added group entry
19753         [50994d31fd49]
19754
19755         * sudoers.man:
19756         documented group support
19757         [0a16707f8fed]
19758
19759         * parse.c, parse.lex, parse.yacc, visudo.c:
19760         added group support
19761         [427218c879c8]
19762
19763 1995-12-15  Todd C. Miller  <Todd.Miller@courtesan.com>
19764
19765         * check.c:
19766         tkfile was too short and overflowed the kerberos realm
19767         [53823a1ff5af]
19768
19769 1995-12-11  Todd C. Miller  <Todd.Miller@courtesan.com>
19770
19771         * sudo.c:
19772         now copy command args directly from Argv
19773         [77408278b6fd]
19774
19775         * sudo.c:
19776         replaced code to copy cmnd_args so that is does not use realloc
19777         since most realloc()'s really stink
19778         [b29a0ff73fb6]
19779
19780 1995-12-08  Todd C. Miller  <Todd.Miller@courtesan.com>
19781
19782         * configure.in:
19783         syslog() fixed in hpux 10.01
19784         [2648e6f0cdb0]
19785
19786 1995-12-06  Todd C. Miller  <Todd.Miller@courtesan.com>
19787
19788         * configure.in:
19789         AC_CHECK_LIB() now sets SUDO_LIBS (and VISUDO_LIBS if appropriate)
19790         [8f108b8d8711]
19791
19792         * configure.in:
19793         better error if cannot find skey incs or libs
19794         [5887662ee9d3]
19795
19796         * aclocal.m4:
19797         now use a temp file for determining max len of uid_t in string form.
19798         the old hacky way broke on netbsd
19799         [b68f470fa9f8]
19800
19801         * sudo.c:
19802         added set of parens and a space
19803         [8a3d4826d022]
19804
19805 1995-12-05  Todd C. Miller  <Todd.Miller@courtesan.com>
19806
19807         * dce_pwent.c:
19808         fixes from Jeff Earickson <jaearick@colby.edu> ,
19809         [bde0f0b756ec]
19810
19811         * check.c:
19812         modified a comment
19813         [e2a97f1afbbe]
19814
19815         * Makefile.in:
19816         fixed up testsudoers target
19817         [d39c4e7bb609]
19818
19819         * configure.in:
19820         DCE changes from Jeff Earickson <jaearick@colby.edu> LIBS ->
19821         SUDO_LIBS and VISUDO_LIBS LDFLAGS -> SUDO_FDFLAGS and VISUDO_LDFLAGS
19822         [da7a1c433828]
19823
19824         * Makefile.in:
19825         LIBS -> SUDO_LIBS , VISUDO_LIBS LDFLAGS -> SUDO_LDFLAGS,
19826         VISUDO_LDFLAGS
19827         [4b69503e8487]
19828
19829 1995-11-28  Todd C. Miller  <Todd.Miller@courtesan.com>
19830
19831         * configure.in:
19832         fix for C2 on hpux 10 now uses -linet if it exists
19833         [8d300112263d]
19834
19835         * check.c:
19836         LONG_SKEY_PROMPT is less of a klusge /
19837         [dcc144abaac3]
19838
19839         * configure.in:
19840         fixed typos w/ dce stuff
19841         [f7dfd6d4e149]
19842
19843         * Makefile.in:
19844         added dce_pwent.c
19845         [79047acdc516]
19846
19847 1995-11-26  Todd C. Miller  <Todd.Miller@courtesan.com>
19848
19849         * INSTALL:
19850         amended section on combining authentication mechanisms
19851         [dc5138c7c716]
19852
19853         * PORTING:
19854         minor updates for 1.3.6
19855         [fe80c13bd994]
19856
19857         * TROUBLESHOOTING:
19858         added 2 more entries
19859         [c7201439a0f5]
19860
19861         * BUGS:
19862         updated for 1.3.6
19863         [979b414d2a2d]
19864
19865         * README:
19866         overhauled
19867         [3af8b60eb594]
19868
19869         * INSTALL:
19870         rewrote for sudo 1.3.6
19871         [b16027b9c726]
19872
19873         * TROUBLESHOOTING:
19874         added 3 entries
19875         [934c9ee3f153]
19876
19877 1995-11-25  Todd C. Miller  <Todd.Miller@courtesan.com>
19878
19879         * find_path.c, getspwuid.c, sudo.c:
19880         added explict casts for strdup since many includes don't prototype
19881         it. gag me.
19882         [3e19a11f2fcc]
19883
19884         * sudo.h:
19885         removed prototype for sudo_getpwuid() since convex C compiler choked
19886         on it.
19887         [c3ea74ca67b0]
19888
19889         * sudo.c:
19890         added prototype for sudo_getpwuid()
19891         [4a8e3cdc2b98]
19892
19893         * lsearch.c:
19894         now compiles on strict ANSI compilers
19895         [3ce5d72d0b08]
19896
19897         * check.c:
19898         added LONG_SKEY_PROMPT support
19899         [48a18b8a2332]
19900
19901         * Makefile.in:
19902         added extra $'s for make to eat up, yum.
19903         [2995b214e12b]
19904
19905         * OPTIONS, options.h:
19906         added LONG_SKEY_PROMPT
19907         [f23ae799b5a4]
19908
19909 1995-11-24  Todd C. Miller  <Todd.Miller@courtesan.com>
19910
19911         * check.c:
19912         s/key support now works with normal s/key as well as logdaemon
19913         [d67573f523bf]
19914
19915         * OPTIONS, options.h:
19916         added SKEY_ONLY
19917         [bbf07654e0de]
19918
19919         * compat.h:
19920         set _PASSWD_LEN to 256 for any of KERB4, DCE, SKEY
19921         [205895b96a36]
19922
19923         * INSTALL:
19924         added DCE note added more AIX notes
19925         [6345403b3522]
19926
19927         * sudo.c:
19928         now include pthread.h for DCE support
19929         [6fe02865f679]
19930
19931         * check.c:
19932         dce_pwent() is ok after all .,
19933         [d26a8746a55d]
19934
19935         * logging.c:
19936         now uses SYSLOG() macro that equates to either syslog() or
19937         syslog_wrapper
19938         [42ac4cff8045]
19939
19940         * dce_pwent.c:
19941         minor formatting changes. renamed check() to somthing less generic
19942         [71859f217be1]
19943
19944         * check.c, logging.c, parse.yacc, sudo.c, sudo.h, testsudoers.c,
19945         visudo.c:
19946         now uses user_pw_ent and simple macros to get at the contents
19947         [f4cbf3e7145a]
19948
19949 1995-11-23  Todd C. Miller  <Todd.Miller@courtesan.com>
19950
19951         * check.c:
19952         simpler dec unix C2 support
19953         [86bc8f75250e]
19954
19955         * getspwuid.c:
19956         now sets crypt_type for DEC unix C2
19957         [99aeadd18266]
19958
19959 1995-11-21  Todd C. Miller  <Todd.Miller@courtesan.com>
19960
19961         * configure.in:
19962         added csops paths for skey
19963         [b8ca672e2117]
19964
19965         * getspwuid.c:
19966         now includes string.h for strdup() prototype
19967         [3605259c3620]
19968
19969         * getspwuid.c:
19970         fixed a few typos
19971         [46c97e4ea417]
19972
19973         * check.c:
19974         now includes skey.h
19975         [11e611ce1b61]
19976
19977         * getspwuid.c:
19978         fixed up comments
19979         [223dac56f0c8]
19980
19981         * check.c:
19982         moved a lot of the shadow passwd crap to sudo_getpwuid()
19983         [97d8887fb7d3]
19984
19985         * sudo.c:
19986         now uses sudo_pw_ent
19987         [d014dadbef48]
19988
19989         * testsudoers.c:
19990         now uses sudo_pw_ent
19991         [d92936ed7e34]
19992
19993         * visudo.c:
19994         now sets sudo_pw_ent
19995         [ff75cdfcf8b3]
19996
19997         * getspwuid.c:
19998         Initial revision
19999         [6deb6df9d7bc]
20000
20001         * tgetpass.c:
20002         moved dce stuff into compat.h
20003         [1124284396e7]
20004
20005         * logging.c, sudo.h:
20006         now uses sudo_pw_ent
20007         [404ff20a5067]
20008
20009         * Makefile.in:
20010         added sudo_getpwuid.c
20011         [6666d0644512]
20012
20013         * compat.h:
20014         added dce support
20015         [3c3b36a7ce0e]
20016
20017         * parse.yacc:
20018         now uses sudo_pw_ent
20019         [9f5e8d11bd68]
20020
20021 1995-11-20  Todd C. Miller  <Todd.Miller@courtesan.com>
20022
20023         * check.c:
20024         fixed exempt_group stuff for OS's that don't put base gid in group
20025         vector
20026         [003f153bd396]
20027
20028         * check.c:
20029         S/Key support now works with sunos4 shadow passwords
20030         [1eb64a5efff1]
20031
20032         * Makefile.in:
20033         fixed clean rule
20034         [5695a2c62816]
20035
20036         * config.h.in, configure.in:
20037         added DCE support
20038         [f53c766c1947]
20039
20040         * tgetpass.c:
20041         DCE & KERB support
20042         [904cf436506a]
20043
20044         * check.c:
20045         first stab at dce support
20046         [aea5ca07b1e3]
20047
20048         * dce_pwent.c:
20049         now smells like sudo
20050         [8b3d609b49cd]
20051
20052         * dce_pwent.c:
20053         Initial revision
20054         [b573555f2399]
20055
20056         * check.c:
20057         skey'd sudo now works w/ normal password as well
20058         [8d038f9f6e94]
20059
20060 1995-11-19  Todd C. Miller  <Todd.Miller@courtesan.com>
20061
20062         * Makefile.in, OPTIONS, check.c, compat.h, config.h.in, find_path.c,
20063         getwd.c, goodpath.c, ins_2001.h, ins_classic.h, ins_csops.h,
20064         ins_goons.h, insults.h, interfaces.c, logging.c, options.h, parse.c,
20065         parse.lex, parse.yacc, pathnames.h.in, putenv.c, strdup.c, sudo.c,
20066         sudo.h, sudo_setenv.c, testsudoers.c, tgetpass.c, utime.c,
20067         version.h, visudo.c:
20068         updated version number
20069         [ba7e346d7904]
20070
20071         * README:
20072         updated to reflect version change
20073         [1d15cf1d8cc8]
20074
20075         * configure.in:
20076         --with options now line up ++version
20077         [08ebf625fbca]
20078
20079         * sudo.h:
20080         removed unecesary S/Key stuff
20081         [68188cba90af]
20082
20083         * configure.in:
20084         fixed S/Key support
20085         [f6d9cbc36618]
20086
20087         * Makefile.in:
20088         -I stuff now goes in CPPFLAGS
20089         [7b8e53c5b046]
20090
20091         * check.c:
20092         fixed SKey support
20093         [52c1a5cf4435]
20094
20095         * README:
20096         updated version
20097         [bed6498a10bb]
20098
20099         * OPTIONS:
20100         fixed description of EXEMPTGROUP
20101         [cfeead55edc2]
20102
20103         * sudo.c:
20104         more people use _RLD_ than just alphas...
20105         [6a3c7090a6f6]
20106
20107         * Makefile.in:
20108         replaced $man_prefix with $mandir
20109         [dc4b36a550e2]
20110
20111         * configure.in:
20112         fixed a typo
20113         [a38a4acddcaf]
20114
20115         * Makefile.in:
20116         now use more GNU'ish dir names
20117         [c5498391a520]
20118
20119         * configure.in:
20120         now set *dir correctly (can override from command line)
20121         [523ff98fd438]
20122
20123         * sudo.c:
20124         now deal with situations where we getwd() fails
20125         [88a9e61dccbb]
20126
20127 1995-11-17  Todd C. Miller  <Todd.Miller@courtesan.com>
20128
20129         * Makefile.in:
20130         added etc_dir, bin_dir, sbin_dir
20131         [75fd08d92842]
20132
20133         * configure.in:
20134         added sbin_dir
20135         [3cb318c0d8d1]
20136
20137         * Makefile.in:
20138         now ship a flex-generated lex.yy.c
20139         [4d083ed70dce]
20140
20141         * Makefile.in:
20142         now sets _PATH_SUDO_SUDOERS, _PATH_SUDO_STMP, SUDOERS_OWNER
20143         [4d51dc9c3780]
20144
20145         * pathnames.h.in:
20146         _PATH_SUDO_SUDOERS & _PATH_SUDO_STMP are now overridden via Makefile
20147         [773fd163d52f]
20148
20149         * options.h:
20150         no more error for redefining SUDOERS_OWNER
20151         [4ba336644c6a]
20152
20153         * OPTIONS:
20154         expanded SUDOERS_OWNER section
20155         [12fae405759e]
20156
20157 1995-11-16  Todd C. Miller  <Todd.Miller@courtesan.com>
20158
20159         * visudo.c:
20160         now warn if chown(2) failed
20161         [d0d1db6e3a1f]
20162
20163         * logging.c:
20164         better default warning for NO_SUDOERS_FILE
20165         [5260b458ac64]
20166
20167         * sudo.c:
20168         added missing set_perms() no more cryptic message if the sudoers
20169         file is zero length, now just give a parse error
20170         [b81ea724838a]
20171
20172         * logging.c:
20173         better diagnostics if NO_SUDOERS_FILE
20174         [877e878663c5]
20175
20176         * sudo.c:
20177         check_sudoers() now catches sudoers files that are not readable (but
20178         are stat'able).
20179         [fea05663b3de]
20180
20181 1995-11-13  Todd C. Miller  <Todd.Miller@courtesan.com>
20182
20183         * configure.in:
20184         now add -D__STDC__ for convex cc (not gcc)
20185         [c80fc53ff51b]
20186
20187         * configure.in:
20188         MAN_PREFIX -> man_prefix now sets prefix and exec_prefix
20189         [fe238226a057]
20190
20191         * Makefile.in:
20192         now uses exec_prefix & prefix from configure
20193         [f62fca5f56bd]
20194
20195         * find_path.c, getwd.c, goodpath.c, interfaces.c, logging.c, parse.c,
20196         parse.lex, parse.yacc, sudo.c, sudo.h, sudo_setenv.c, tgetpass.c,
20197         utime.c, visudo.c:
20198         options.h is now <> instead of "" so shadow build trees can have a
20199         custom copy of options.h
20200         [e6782676099c]
20201
20202         * check.c:
20203         user_is_exempt() is no longer a hack, it now uses getgrnam()
20204         [287f8d5356f7]
20205
20206         * options.h:
20207         EXEMPTGROUP is now "sudo"
20208         [61487304dbe1]
20209
20210         * configure.in:
20211         MAN_POSTINSTALL now contains a leading space
20212         [eaad4ac34012]
20213
20214         * Makefile.in:
20215         removed leading tab if @MAN_POSTINSTALL@ not defined now removes
20216         testsudoers in clean:
20217         [e01711baceb8]
20218
20219         * tgetpass.c:
20220         includes pwd.h to get _PASSWD_LEN definition
20221         [8ec174f263f1]
20222
20223 1995-10-30  Todd C. Miller  <Todd.Miller@courtesan.com>
20224
20225         * sudo.c:
20226         unset the KRB_CONF envariable if using kerberos so we don't get
20227         spoofed into using a bogus server
20228         [2561a0274fca]
20229
20230 1995-09-29  Todd C. Miller  <Todd.Miller@courtesan.com>
20231
20232         * parse.yacc:
20233         now explicately initialize match[] tp be FALSE
20234         [0e45e5c47766]
20235
20236 1995-09-23  Todd C. Miller  <Todd.Miller@courtesan.com>
20237
20238         * sudo.c:
20239         removed unused variable now passes -Wall
20240         [3452508bc16d]
20241
20242         * parse.yacc:
20243         yyerror and dumpaliases are now void's now passes -Wall
20244         [2769dfb51993]
20245
20246         * parse.lex:
20247         added prototype for yyerror
20248         [1f3f0c1b4ab4]
20249
20250         * check.c, logging.c, parse.c:
20251         now passes -Wall
20252         [eab57e5e81d2]
20253
20254         * interfaces.c:
20255         rmeoved unused cruft now passes -Wall
20256         [7a47e1866f4b]
20257
20258         * Makefile.in:
20259         fixed headers that moved to emul dir
20260         [e680c1e5049b]
20261
20262         * logging.c:
20263         fixed deref of nil pointer if no args
20264         [973b9bea432f]
20265
20266 1995-09-15  Todd C. Miller  <Todd.Miller@courtesan.com>
20267
20268         * OPTIONS:
20269         added a caveat to FQDN section
20270         [dcf6e2a5fff4]
20271
20272 1995-09-13  Todd C. Miller  <Todd.Miller@courtesan.com>
20273
20274         * Makefile.in:
20275         more $srcdir support for install targets
20276         [f6eac78436dd]
20277
20278         * find_path.c, interfaces.c, parse.c, parse.lex, parse.yacc, putenv.c,
20279         strdup.c, sudo.c, sudo_setenv.c, testsudoers.c, visudo.c:
20280         don't include malloc.h if we include stdlib.h
20281         [fca2ff307cd8]
20282
20283         * parse.yacc:
20284         local search.h now lives in emul
20285         [51c458904424]
20286
20287         * check.c, utime.c:
20288         local utime.h now lives in emul dir
20289         [f92fc9e8c8de]
20290
20291         * lsearch.c:
20292         local search.h now lives in emul
20293         [579efc407439]
20294
20295         * Makefile.in:
20296         added support for building in other than the sourcedir
20297         [2ab53a43f7d4]
20298
20299 1995-09-10  Todd C. Miller  <Todd.Miller@courtesan.com>
20300
20301         * OPTIONS:
20302         annotated CSOPS_INSULTS option
20303         [9e57d45a0afa]
20304
20305         * TROUBLESHOOTING:
20306         updated shadow passwords blurb
20307         [39b785bc7253]
20308
20309         * sudo.c:
20310         if SHELL_IF_NO_ARGS is set, "sudo -- foo" now runs a shell and
20311         passes along foo as the arguments
20312         [a91077aa8fc5]
20313
20314 1995-09-09  Todd C. Miller  <Todd.Miller@courtesan.com>
20315
20316         * parse.lex:
20317         collapsed pathname and dir sections into one -- its now less
20318         expensive
20319         [89caa03bec25]
20320
20321         * parse.lex:
20322         fixed spacing quoting [,:\\=] now works correctly append() and
20323         fill() now take args to make the above work
20324         [09d023d9ef3a]
20325
20326         * sudo.c:
20327         fixed a typo that caused commands with no tty on fd 0 but a tty on
20328         fd 1 to erroneously have "none" as their tty
20329         [07d2c0e7977c]
20330
20331 1995-09-04  Todd C. Miller  <Todd.Miller@courtesan.com>
20332
20333         * check.c:
20334         timestampfile is now a global static removed decl of timestampfile
20335         in remove_timestamp since we can just use the global one
20336         [f0cbdc6aab1c]
20337
20338         * check.c:
20339         created touch() to update timestamps added USE_TTY_TICKETS support
20340         (bit of a kludge)
20341         [cee1dd0318f8]
20342
20343         * compat.h:
20344         added _S_IFDIR and S_ISDIR
20345         [b4a51cc9628e]
20346
20347         * OPTIONS, options.h:
20348         added USE_TTY_TICKETS
20349         [b4e22f81f25e]
20350
20351         * parse.yacc:
20352         removed const from casts for lsearch() & lfind() to placate irix 4.x
20353         C compiler
20354         [5003081f76ea]
20355
20356 1995-09-03  Todd C. Miller  <Todd.Miller@courtesan.com>
20357
20358         * sudo.c:
20359         now only strip '/dev/' off of a tty if it starts with '/dev/'
20360         [7f62bcd24039]
20361
20362         * pathnames.h.in:
20363         added _PATH_DEV
20364         [6375f44d1910]
20365
20366         * configure.in:
20367         AC_HAVE_HEADERS -> AC_CHECK_HEADERS now check for tcgetattr only if
20368         have termios.h
20369         [9c60391235fd]
20370
20371         * tgetpass.c:
20372         fixed incorrect #ifdef termio uses "unsigned short" not int for
20373         c_?flag
20374         [d032e6a29845]
20375
20376         * parse.lex, parse.yacc:
20377         fixed a spelling error
20378         [cad6a944c7b1]
20379
20380         * Makefile.in:
20381         fixed typo
20382         [204a65403e7c]
20383
20384 1995-09-02  Todd C. Miller  <Todd.Miller@courtesan.com>
20385
20386         * Makefile.in:
20387         fixed a comment
20388         [268f760e57ad]
20389
20390         * parse.yacc:
20391         added dotcat() to cat 2 strings w/ a dot effeciently now that we
20392         dynamically allocate strings they need to be free()'d
20393         [ec2e2152f415]
20394
20395         * parse.lex:
20396         dynamically allocates space for strings
20397         [d10ac3533d66]
20398
20399         * sudo.h:
20400         no more MAXCOMMANDLENGTH
20401         [e2e1219bff8a]
20402
20403         * sudo.h:
20404         added decl of tty
20405         [c8ae81303ee5]
20406
20407         * logging.c, sudo.c:
20408         moved tty stuff into sudo.c
20409         [e028abefeb07]
20410
20411 1995-09-01  Todd C. Miller  <Todd.Miller@courtesan.com>
20412
20413         * parse.c:
20414         fixed a logic bug. Was denying a command if user gave command line
20415         args but there were none in the sudoers file which is wrong.
20416         [7489a99b8e8a]
20417
20418         * sudo.h:
20419         MAXCOMMMANDLEN dropped down to 1K
20420         [38ef54ba290b]
20421
20422         * parse.lex:
20423         return foo; -> return(foo);
20424         [0e8be1b57001]
20425
20426         * parse.yacc:
20427         fixed netgr_matches() prototype
20428         [e69f15910464]
20429
20430         * parse.lex:
20431         added support for escaping "termination" characters
20432         [8bd4ef50f35c]
20433
20434         * parse.c:
20435         buf is now of size MAXPATHLEN+1 since it never holds command args
20436         [2ce4b763058c]
20437
20438         * sudo.c:
20439         fixed comments
20440         [0c74a3d2ebb0]
20441
20442         * goodpath.c:
20443         fixed negation problem (doh!)
20444         [782814e3a2d1]
20445
20446         * parse.yacc:
20447         fixed 2nd parameter to lfind()
20448         [63d7b1623c08]
20449
20450         * parse.lex:
20451         now do bounds checking in fill() and append()
20452         [54381b563251]
20453
20454         * sudo.c:
20455         include netdb.h as we should added a missing void cast added
20456         SHELL_IF_NO_ARGS support now use realloc() properly. would fail if
20457         realloc actually moved the string instead of shrinking it
20458         [897ccdec9c06]
20459
20460         * sample.sudoers:
20461         updated with examples of new features
20462         [9b3ed00e8aa6]
20463
20464         * goodpath.c:
20465         now set errno to EACCES if not a regular file or not executable
20466         [2d069548a5ea]
20467
20468         * find_path.c:
20469         if given a fully-qualified or relative path we now check it with
20470         sudo_goodpath() and error out with the appropriate error message if
20471         the file does not exist or is not executable
20472         [590f89dd8dec]
20473
20474         * emul/search.h, lsearch.c:
20475         now use correct args for lfind
20476         [fccdcdbf020e]
20477
20478         * logging.c:
20479         added a comment
20480         [fab9f49708ea]
20481
20482         * insults.h:
20483         added in CSOps insults
20484         [ad8eb1862adc]
20485
20486         * ins_csops.h:
20487         Initial revision
20488         [de5a475ec018]
20489
20490         * tgetpass.c:
20491         added RCS id
20492         [c3ffd550a482]
20493
20494         * sudo.h:
20495         increased MAXCOMMANDLENGTH to 8k HAVE_GETCWD -> HAVE_GETWD
20496         [aba25c90d08a]
20497
20498         * OPTIONS:
20499         added CLASSIC_INSULTS, CSOPS_INSULTS, SHELL_IF_NO_ARGS
20500         [e27bd62e9ccf]
20501
20502         * sudo.c:
20503         fixed -k load_interfaces() now gets called if FQDN is set
20504         -p now works with -s
20505         [07ca2a34bae8]
20506
20507         * parse.c:
20508         don't try to stat() "pseudo commands" like "validate"
20509         [75527045984b]
20510
20511         * options.h:
20512         added CLASSIC_INSULTS added CSOPS_INSULTS added SHELL_IF_NO_ARGS
20513         [07b157a0eafd]
20514
20515         * configure.in:
20516         added SecurID support added other insults to --with-csops
20517         [6c992ceb244c]
20518
20519         * config.h.in:
20520         added HAVE_SECURID
20521         [e734ff617fe8]
20522
20523         * Makefile.in:
20524         added clobber target added ins_csops.h now gets CFLAGS from
20525         configure
20526         [d1e29c7cec25]
20527
20528         * aclocal.m4:
20529         relaxed SUDO_FULL_VOID
20530         [fb4084f27406]
20531
20532         * visudo.c:
20533         function comment blocks are now in same style as rest of code
20534         [04a2931354c5]
20535
20536         * testsudoers.c:
20537         added support for command line args in /etc/sudoers
20538         [bfe4e1bcc655]
20539
20540         * sudoers.man:
20541         updated to have command args in the sudoers file
20542         [1cd34355e9ea]
20543
20544         * sudo.man:
20545         added -s and -- flags added SHELL to ENVIRONMENT VARIABLES section
20546         [930b48023b68]
20547
20548 1995-08-19  Todd C. Miller  <Todd.Miller@courtesan.com>
20549
20550         * parse.yacc:
20551         PATH renamed to COMMAND
20552         [4e109a6de3cd]
20553
20554         * parse.lex:
20555         it is now a parse error for directories to have args attached to
20556         them
20557         [2ab10a146b54]
20558
20559         * logging.c:
20560         now say command args if telling user to buzz off
20561         [933de26ded8b]
20562
20563         * sudo.c:
20564         -s no longer indicates end of args sped up loading on cmnd_args in
20565         load_cmnd()
20566         [eac99a4da862]
20567
20568         * parse.c:
20569         removed an unreachable statement
20570         [634302623c49]
20571
20572         * parse.lex:
20573         made more efficient by pulling out the terminators when in GOTCMND
20574         state and making them their own rule
20575         [80798f1e1166]
20576
20577 1995-08-14  Todd C. Miller  <Todd.Miller@courtesan.com>
20578
20579         * sudo.h:
20580         removed MAXLOGLEN since it is no longer used
20581         [102824196b71]
20582
20583         * parse.lex:
20584         now allows command args
20585         [d29dfa1e5254]
20586
20587         * parse.c:
20588         now groks command arguments
20589         [6c414cb7f105]
20590
20591         * logging.c:
20592         now sets tty correctly when piped input
20593         [de46a30c0406]
20594
20595         * sudo.c:
20596         fixed loading of cmnd_args (was including command name too)
20597         [15319a425ea6]
20598
20599         * logging.c:
20600         fixed a core dump due to incorrect if construct
20601         [582363c7d7fa]
20602
20603 1995-08-13  Todd C. Miller  <Todd.Miller@courtesan.com>
20604
20605         * configure.in:
20606         only add -lsun is irix < 5 don't look for -lnsl or -lsocket if irix
20607         [da591fe9b931]
20608
20609         * aclocal.m4:
20610         fixed check for ISC
20611         [52e59f2082a7]
20612
20613         * sudo.c:
20614         now sets cmnd_args used by log_error() and that will be used by the
20615         parse to check against command args
20616         [c6804389723b]
20617
20618         * sudo.h:
20619         added cmnd_args
20620         [4d00446b4a8d]
20621
20622         * logging.c:
20623         now dynamically allocate logline since we can guess at its size
20624         [4bed8c8446aa]
20625
20626 1995-08-05  Todd C. Miller  <Todd.Miller@courtesan.com>
20627
20628         * logging.c:
20629         cleaned up a bunch of unnecesary #ifdef's eliminated a buffer remove
20630         "register" since the compiler knows more than I do now do a
20631         "basename" of the tty
20632         [3b1bbf0b3da1]
20633
20634 1995-07-31  Todd C. Miller  <Todd.Miller@courtesan.com>
20635
20636         * configure.in:
20637         ++version
20638         [5ce552f9a5f1]
20639
20640         * sudo.h:
20641         added shell extern changed MODE_* to be bit masks to allow for
20642         several options together
20643         [06f9dc4f400c]
20644
20645         * sudo.c:
20646         added -s (shell) option made MODE_* masks so we can do bitwise & and
20647         | to see if multiple flags are set.
20648         [01f8143010ad]
20649
20650         * check.c:
20651         added securid support
20652         [909e078005fe]
20653
20654 1995-07-30  Todd C. Miller  <Todd.Miller@courtesan.com>
20655
20656         * logging.c:
20657         removed a bunch of unnecesary strncpy()'s and replaced with strcat()
20658         [644506b57d61]
20659
20660 1995-07-29  Todd C. Miller  <Todd.Miller@courtesan.com>
20661
20662         * Makefile.in, version.h:
20663         ++version
20664         [3cd6f1fbc3d9]
20665
20666 1995-07-27  Todd C. Miller  <Todd.Miller@courtesan.com>
20667
20668         * parse.yacc:
20669         fixed free() of an uninitialized pointer (yuck)
20670         [8c404ee502ee]
20671
20672         * testsudoers.c:
20673         added netgr_matches
20674         [e7c9fa2f774c]
20675
20676         * parse.c:
20677         cleaned up netgr_matches
20678         [8108f00b810e]
20679
20680 1995-07-26  Todd C. Miller  <Todd.Miller@courtesan.com>
20681
20682         * RUNSON:
20683         updated for 1.3.4
20684         [4741704310a1]
20685
20686 1995-07-25  Todd C. Miller  <Todd.Miller@courtesan.com>
20687
20688         * Makefile.in:
20689         now installs sudoers.man -- really should clean this up though.
20690         [455631d45a1d]
20691
20692         * Makefile.in:
20693         added sudoers.cat and sudoers.man
20694         [0bdedd6c7363]
20695
20696         * sudo.man:
20697         pulled out stuff on the sudoers file format into a separate man page
20698         [de215d999cb9]
20699
20700         * sudoers.man:
20701         Initial revision
20702         [f25eafbb7095]
20703
20704         * HISTORY:
20705         fixed up my email address
20706         [254fbf80be74]
20707
20708         * configure.in:
20709         added checks for innetgr and getdomainname
20710         [24a99cb7e97e]
20711
20712         * visudo.c:
20713         added dummy netgr_matches function
20714         [1841ff2c01da]
20715
20716         * parse.c:
20717         added netgr_matches
20718         [ec90db6a97b8]
20719
20720         * parse.lex, parse.yacc:
20721         added NETGROUP support
20722         [c9dd93e3bc4b]
20723
20724         * config.h.in:
20725         added HAVE_INNETGR & HAVE_GETDOMAINNAME
20726         [14abd494d875]
20727
20728 1995-07-24  Todd C. Miller  <Todd.Miller@courtesan.com>
20729
20730         * sudo.c:
20731         rewrote clean_env() that has rm_env() builtin
20732         [55cb43818a95]
20733
20734 1995-07-23  Todd C. Miller  <Todd.Miller@courtesan.com>
20735
20736         * check.c:
20737         now cast uid to long in sprintf
20738         [b549eea40aeb]
20739
20740         * OPTIONS:
20741         added _INSULTS suffix to HAL & GOONS end
20742         [ed620d0aad30]
20743
20744         * options.h:
20745         added _INSULTS suffix to HAL & GOONS
20746         [9f72e9b83afd]
20747
20748         * ins_2001.h, ins_classic.h, ins_goons.h, insults.h:
20749         converted to new scheme of insult "unions" end
20750         [2f6d2b412132]
20751
20752         * sudo.c:
20753         now uses MAX_UID_T_LEN
20754         [c1df79e0f389]
20755
20756         * configure.in:
20757         added SUDO_UID_T_LEN !l
20758         [195f0b9f5f84]
20759
20760         * config.h.in:
20761         added MAX_UID_T_LEN
20762         [73f42ae4f14d]
20763
20764         * check.c:
20765         now use MAX_UID_T_LEN
20766         [df9c063234cb]
20767
20768         * aclocal.m4:
20769         added check for max len of uid_t fixed sco vs. isc check
20770         [d558f36d2223]
20771
20772 1995-07-19  Todd C. Miller  <Todd.Miller@courtesan.com>
20773
20774         * configure.in:
20775         corrected version
20776         [828dd1571e86]
20777
20778         * configure.in:
20779         added sco support
20780         [af1e2f616638]
20781
20782         * aclocal.m4:
20783         hack to check for sco
20784         [549ab99a9a43]
20785
20786         * interfaces.c:
20787         removed #include <net/route.h> since it was hosing some OS's
20788         [ac78a7c04005]
20789
20790 1995-07-18  Todd C. Miller  <Todd.Miller@courtesan.com>
20791
20792         * find_path.c:
20793         fixed prreadlink() prototype
20794         [b380fe1f2b11]
20795
20796         * check.c:
20797         added parens in #if's
20798         [e96ade691b82]
20799
20800         * configure.in:
20801         added SPW_ prefix
20802         [a302683a1483]
20803
20804         * sudo.h:
20805         moved SPW_* to config.h.in
20806         [6b3be70e34cf]
20807
20808         * sudo.c:
20809         added a set of parens
20810         [8188d735d695]
20811
20812         * config.h.in:
20813         added SPW_*
20814         [5ead6371cf60]
20815
20816         * sudo.h:
20817         added SPW_* reordered error codes
20818         [dead25b4ed0a]
20819
20820         * check.c:
20821         moved SPW_* to sudo.h
20822         [ca51fb04caf4]
20823
20824 1995-07-17  Todd C. Miller  <Todd.Miller@courtesan.com>
20825
20826         * sudo.c:
20827         SPW_AUTH -> SPW_SECUREWARE
20828         [6b512b2bc5dc]
20829
20830         * logging.c:
20831         GLOBAL_NO_AUTH_ENT -> GLOBAL_NO_SPW_ENT
20832         [defdd0944e2f]
20833
20834         * configure.in:
20835         AUTH -> SECUREWARE
20836         [d1f8a17001dd]
20837
20838         * check.c:
20839         SPW_AUTH -> SPW_SECUREWARE
20840         [af0e8d8b89b2]
20841
20842         * check.c:
20843         now uses SHADOW_TYPE to make shadow pw support more readable and
20844         modular. It's a start...
20845         [8c2a59667014]
20846
20847         * configure.in:
20848         added autodetection of shadow passwords
20849         [85f81fa54b1b]
20850
20851         * sudo.c:
20852         now uses SHADOW_TYPE define
20853         [355e5dc09b07]
20854
20855         * config.h.in:
20856         added SHADOW_TYPE which replaces SUNOS4 & __svr4__ defines
20857         [c0c06e83e483]
20858
20859         * aclocal.m4:
20860         added SUDO_CHECK_SHADOW
20861         [464301301639]
20862
20863 1995-07-12  Todd C. Miller  <Todd.Miller@courtesan.com>
20864
20865         * configure.in:
20866         define SVR4 for ISC define BROKEN_SYSLOG for hpux took out test for
20867         memmove() since we dno longer use it...
20868         [8aefa87d7d31]
20869
20870         * CHANGES:
20871         updated
20872         [ce97b3fd7182]
20873
20874         * logging.c:
20875         added BROKEN_SYSLOG support
20876         [a45c3bca36f6]
20877
20878         * config.h.in:
20879         added BROKEN_SYSLOG
20880         [6f6abf0a6268]
20881
20882         * check.c:
20883         now only bitch it timestamp > time_now + 2 * timeout to allow for a
20884         machine udpating its time from a server
20885         [546bc8d35325]
20886
20887         * sudo.man:
20888         added 2 security notes updated Nieusma's email addr
20889         [616756c56977]
20890
20891         * lsearch.c:
20892         changed a memmove() to memcpy() since we don't have to worry about
20893         overlapping segments.
20894         [30baa478526b]
20895
20896 1995-07-11  Todd C. Miller  <Todd.Miller@courtesan.com>
20897
20898         * interfaces.c:
20899         cleanup up the loop when interfaces are groped in so that it is
20900         readable
20901         [1fa39446bd69]
20902
20903         * Makefile.in, version.h:
20904         ++version
20905         [b46bd2b1770f]
20906
20907 1995-07-09  Todd C. Miller  <Todd.Miller@courtesan.com>
20908
20909         * CHANGES:
20910         annotated 124-126
20911         [b82a2b3ec7ce]
20912
20913 1995-07-07  Todd C. Miller  <Todd.Miller@courtesan.com>
20914
20915         * check.c:
20916         fixed permissions check on /tmp/.odus
20917         [cc2431a65468]
20918
20919 1995-07-06  Todd C. Miller  <Todd.Miller@courtesan.com>
20920
20921         * check.c:
20922         fixed some comments
20923         [8896d09b4fda]
20924
20925         * check.c:
20926         now checks owner & mode of timedir also checks for bogus dates on
20927         timestamp file
20928         [a0fad5df5b0a]
20929
20930         * OPTIONS:
20931         updated TIMEOUT info
20932         [033cc22d9e04]
20933
20934         * logging.c, sudo.h:
20935         added BAD_STAMPDIR and BAD_STAMPFILE
20936         [31d9ce691101]
20937
20938         * compat.h:
20939         added definition of S_IRWXU
20940         [ff2dab091a9b]
20941
20942         * CHANGES:
20943         updated
20944         [a40df90284f1]
20945
20946 1995-07-03  Todd C. Miller  <Todd.Miller@courtesan.com>
20947
20948         * interfaces.c:
20949         added #ifdef to make it compile on strange arches
20950         [4a127f12afce]
20951
20952 1995-07-02  Todd C. Miller  <Todd.Miller@courtesan.com>
20953
20954         * aclocal.m4:
20955         fixed check for fulkl void impl.
20956         [b6f2a4a361d8]
20957
20958         * check.c:
20959         added mssing "static"
20960         [520552f2772b]
20961
20962         * insults.h:
20963         replaced #elif with #else #if constructs for ancient C compilers
20964         [39ab2d365b57]
20965
20966         * INSTALL:
20967         updated irix c2 & kerb5 info
20968         [ae79b99b4905]
20969
20970         * configure.in:
20971         added shadow pw support for irix
20972         [632469d9c528]
20973
20974 1995-07-01  Todd C. Miller  <Todd.Miller@courtesan.com>
20975
20976         * BUGS, TODO:
20977         updated
20978         [2a96bb18ac30]
20979
20980         * CHANGES:
20981         last changes for sudo 1.3.3
20982         [c1c0cd1034b8]
20983
20984         * configure.in:
20985         now calls SUDO_SOCK_SA_LEN
20986         [14ea78159d45]
20987
20988         * config.h.in:
20989         added HAVE_SA_LEN
20990         [cc2a346aa905]
20991
20992         * aclocal.m4:
20993         added SUDO_SOCK_SA_LEN
20994         [456a2025644a]
20995
20996         * interfaces.c:
20997         now works with ip implementations that use sa_len in sockaddr
20998         [90be6e028077]
20999
21000         * INSTALL:
21001         added note about buggy AIX compiler
21002         [c0f6d427e4e4]
21003
21004         * interfaces.c:
21005         now include sys/time.h for AIX
21006         [2510858ab38b]
21007
21008 1995-06-28  Todd C. Miller  <Todd.Miller@courtesan.com>
21009
21010         * Makefile.in:
21011         getcwd -> getwd
21012         [66085ebca98e]
21013
21014         * interfaces.c:
21015         now works for ISC and others. yay.
21016         [f336d4ffc927]
21017
21018 1995-06-26  Todd C. Miller  <Todd.Miller@courtesan.com>
21019
21020         * Makefile.in, version.h:
21021         version++
21022         [836cffc2078d]
21023
21024 1995-06-23  Todd C. Miller  <Todd.Miller@courtesan.com>
21025
21026         * aclocal.m4:
21027         fixed test for full void impl
21028         [fb004107e7b9]
21029
21030         * sudo.c:
21031         now check to see that st_dev is non-zero before assuming that we are
21032         being spoofed
21033         [1b0e1c30c506]
21034
21035 1995-06-20  Todd C. Miller  <Todd.Miller@courtesan.com>
21036
21037         * aclocal.m4, configure.in:
21038         SUDO_FUNC_UTIME_NULL -> AC_FUNC_UTIME_NULL
21039         [4953379bfb01]
21040
21041 1995-06-19  Todd C. Miller  <Todd.Miller@courtesan.com>
21042
21043         * aclocal.m4:
21044         fixed include file order for SUDO_FUNC_UTIME_POSIX
21045         [ff64ab7df44f]
21046
21047         * logging.c:
21048         added cast for ttyname()
21049         [444f05f56758]
21050
21051         * configure.in:
21052         fixed typo
21053         [de068e748431]
21054
21055         * check.c:
21056         now deal correctly with all known variation of utime() -- yippe
21057         [b778a4195a89]
21058
21059         * configure.in:
21060         added SUDO_FUNC_UTIME_POSIX
21061         [cf635f2269d6]
21062
21063         * aclocal.m4:
21064         added SUDO_FUNC_UTIME_NULL and SUDO_FUNC_UTIME_POSIX
21065         [d79593be4b73]
21066
21067         * config.h.in:
21068         added HAVE_UTIME_POSIX
21069         [c67b4ac0dca5]
21070
21071         * check.c:
21072         fixed a typo
21073         [b14df5680f59]
21074
21075         * check.c:
21076         no longer assume !HAVE_UTIME_NULL means old BSD utime()
21077         [0aeaf4b2f38b]
21078
21079         * check.c:
21080         fixed fascist C compiler warning
21081         [c61ddf2f1f93]
21082
21083         * interfaces.c:
21084         now set strioctl.ic_timout in STRSET() now initialize num_interfaces
21085         to 0 (just to be anal)
21086         [c54cc2ba0052]
21087
21088 1995-06-18  Todd C. Miller  <Todd.Miller@courtesan.com>
21089
21090         * sudo.h:
21091         increaed MAXLOGLEN by MAXPATHLEN to account for ttyname
21092         [74cf585a54fb]
21093
21094         * logging.c:
21095         added tty logging
21096         [e27d8dcfbd78]
21097
21098         * interfaces.c:
21099         reworked the ISC code
21100         [bcf57ce8ae69]
21101
21102         * Makefile.in, version.h:
21103         updated version
21104         [032941c9b94d]
21105
21106         * check.c:
21107         now expect old-style utime(3) if utime() can't take NULL as an arg
21108         [018dd4a73030]
21109
21110         * configure.in:
21111         added check for utime.h
21112         [0b76e8feb618]
21113
21114         * config.h.in:
21115         added HAVE_UTIME_H
21116         [62ee42feda46]
21117
21118         * Makefile.in:
21119         added CPPFLAGS STATIC_FLAGS -> LDFLAGS
21120         [fa3201d294e1]
21121
21122         * configure.in:
21123         now search for kerb libs and includes
21124         [cc332401e571]
21125
21126         * check.c:
21127         added support for utime(2)'s that can't take a NULL parameter
21128         [98797fedf69f]
21129
21130         * utime.c:
21131         moved HAVE_UTIME_NULL stuff to update_timestamp() where t belongs
21132         [6ce6d825fb44]
21133
21134         * configure.in:
21135         added utime(s) stuff
21136         [a2afb744403e]
21137
21138         * check.c:
21139         now use utime()
21140         [48902240a51e]
21141
21142         * config.h.in:
21143         added HAVE_UTIME and HAVE_UTIME_NULL
21144         [9a56ab65d4f4]
21145
21146 1995-06-17  Todd C. Miller  <Todd.Miller@courtesan.com>
21147
21148         * utime.c:
21149         now use HAVE_UTIME_NULL
21150         [e3944de09a92]
21151
21152         * emul/utime.h, utime.c:
21153         Initial revision
21154         [a2cbf2ef3427]
21155
21156         * check.c:
21157         need to setuid(0) to make kerb4 stuff work.
21158         [c6cfda4039d7]
21159
21160         * tgetpass.c:
21161         no more special case for kerberos
21162         [4a5c33145be9]
21163
21164         * config.h.in:
21165         took out setreuid and setresuid stuff added kerb5 stuff (use kerb4
21166         emulation)
21167         [a607ee43e650]
21168
21169         * compat.h:
21170         no longer need setreuid() emulation now set _PASSWD_LEN to 128 if
21171         kerberos
21172         [02fb274cc136]
21173
21174         * check.c:
21175         now use private ticket file for kerberos support to avoid trouncing
21176         on system one
21177         [28d8b6b812c7]
21178
21179 1995-06-15  Todd C. Miller  <Todd.Miller@courtesan.com>
21180
21181         * sudo.h:
21182         added SPOOF_ATTEMPT & cmnd_st
21183         [d3b42a1f4d0d]
21184
21185         * sudo.c:
21186         added anti-spoofing support
21187         [ab1e2aa44a57]
21188
21189         * parse.c:
21190         now use global cmnd_st
21191         [47018265a1a6]
21192
21193         * logging.c:
21194         added SPOOF_ATTEMPT suypport
21195         [7bbe9dd2a021]
21196
21197         * testsudoers.c, visudo.c:
21198         added void casts where appropriate
21199         [f191441ba333]
21200
21201         * parse.yacc:
21202         fixed up spacing and added void casts where appropriate
21203         [15d886fc809c]
21204
21205         * sudo.c:
21206         fixed problem with "-p prompt" but no args
21207         [6fc048261a3e]
21208
21209 1995-06-14  Todd C. Miller  <Todd.Miller@courtesan.com>
21210
21211         * sudo.man:
21212         added BUGS and annotated -l description
21213         [e5c506de2603]
21214
21215         * sudo.h:
21216         validate() now takes a flag
21217         [26627becc60a]
21218
21219         * sudo.c:
21220         validate() now takes a flag added -l
21221         [a4f7bb97fe54]
21222
21223         * parse.yacc:
21224         added support for -l
21225         [e7a9b10b0ad3]
21226
21227         * parse.c:
21228         validate() now takes a flag that says whether or not to check the
21229         command
21230         [9e1e67f4e281]
21231
21232 1995-06-08  Todd C. Miller  <Todd.Miller@courtesan.com>
21233
21234         * logging.c:
21235         now deals with Argv == 1
21236         [0acb637ab635]
21237
21238         * sudo.man:
21239         added -p option
21240         [e60382fc0561]
21241
21242         * sudo.c:
21243         added prompt support reworked parse_args()
21244         [2f605267ed4a]
21245
21246         * sudo.h:
21247         added prompt
21248         [5ab021bdb419]
21249
21250         * options.h:
21251         added PASSPROMPT
21252         [614727ff44a2]
21253
21254         * check.c:
21255         now use BUFSIZ as length of kerb password added kpass so pass is
21256         always a char * now use prompt global when asking for a password
21257         [76be09af784f]
21258
21259         * tgetpass.c:
21260         now use BUFSIZ as _PASSWD_LEN if using kerberos
21261         [1e907eed312b]
21262
21263         * OPTIONS:
21264         added PASSPROMPT
21265         [ddb2f405ce40]
21266
21267 1995-06-07  Todd C. Miller  <Todd.Miller@courtesan.com>
21268
21269         * configure.in:
21270         only look for -lufc or -lcrypt if crypt() not in libc
21271         [9717d315661f]
21272
21273         * check.c:
21274         don't exit on kerb error, just warn if k_errno == KDC_PR_UNKNOWN
21275         (unknown user) silently fail
21276         [2b48693d4ee9]
21277
21278         * INSTALL:
21279         added kerb4 note
21280         [986e393f740c]
21281
21282         * tgetpass.c:
21283         HAVE_KERBEROS -> HAVE_KERB4
21284         [e438bfb5e6aa]
21285
21286         * check.c:
21287         removed debugging printf
21288         [1cf9f5cbffa5]
21289
21290         * configure.in:
21291         KERBEROS -> KERB4 added checks for setreuid & setresuid
21292         [01e9945beb1e]
21293
21294         * config.h.in:
21295         HAVE_KERBEROS -> HAVE_KERB4 added HAVE_SETREUID and HAVE_SETRESUID
21296         [0e0bb5b8ac3e]
21297
21298         * compat.h:
21299         added deif of UID_NO_CHANGE & GID_NO_CHANGE added setreuid emulation
21300         with setresuid if applic
21301         [9dae24c47696]
21302
21303         * check.c:
21304         HAVE_KERBEROS -> HAVE_KERB4 now only do the stupid chown() hack if
21305         no setreuid() or a broken one
21306         [1fca642bdb8e]
21307
21308 1995-06-06  Todd C. Miller  <Todd.Miller@courtesan.com>
21309
21310         * configure.in:
21311         added kerberos support
21312         [da5639b9b8e7]
21313
21314         * config.h.in:
21315         added HAVE_KERBEROS
21316         [fcc5be550e65]
21317
21318         * tgetpass.c:
21319         added KERBEROS support (long passwords)
21320         [303ba6924dd2]
21321
21322         * check.c:
21323         added kerberos support
21324         [e40afe98fc1d]
21325
21326 1995-06-03  Todd C. Miller  <Todd.Miller@courtesan.com>
21327
21328         * sudo.h:
21329         added MODE_BACKGROUND
21330         [9b483c932016]
21331
21332         * sudo.man:
21333         escaped dashes added -b option
21334         [62e84f1a7714]
21335
21336         * sudo.c:
21337         added -b option
21338         [7e78aaefeb95]
21339
21340         * check.c:
21341         added crypt() for osf/1 3.x enhanced secuiry
21342         [e9aa5abdb7d5]
21343
21344         * configure.in:
21345         now check for -lcrypt
21346         [5cb9c67e9fa2]
21347
21348         * interfaces.c:
21349         added ENXIO like EADDRNOTAVAIL
21350         [74223bb1ba75]
21351
21352 1995-05-08  Todd C. Miller  <Todd.Miller@courtesan.com>
21353
21354         * configure.in:
21355         now emulate getwd(), not getcwd()
21356         [3e5439d9a5f4]
21357
21358         * sudo.c:
21359         getcwd() -> getwd()
21360         [6392a96a658e]
21361
21362         * getwd.c:
21363         getcwd -> getwd
21364         [1b0ab9bae11e]
21365
21366 1995-05-02  Todd C. Miller  <Todd.Miller@courtesan.com>
21367
21368         * ins_2001.h, ins_classic.h, ins_goons.h:
21369         Initial revision
21370         [86db60d8cf00]
21371
21372         * insults.h:
21373         broke out insults into separate include files
21374         [0a01993bd38a]
21375
21376         * OPTIONS, options.h:
21377         added GOONS
21378         [e283203c6515]
21379
21380         * Makefile.in:
21381         added ins_2001.h ins_classic.h ins_goons.h
21382         [2a39cd6a4cd2]
21383
21384         * Makefile.in, version.h:
21385         ++version
21386         [05ebf4f5e41a]
21387
21388         * visudo.c:
21389         moved signal handler setup to setup_signals()
21390         [3dd976c04540]
21391
21392         * sudo.h:
21393         added load_interfaces()
21394         [af2d473b09e2]
21395
21396         * sudo.c:
21397         moved load_interfaces to interfaces.c
21398         [5c8c138e5d4c]
21399
21400         * parse.yacc:
21401         added clearaliases
21402         [aeb4ff301daa]
21403
21404         * OPTIONS, options.h:
21405         added FAST_MATCH
21406         [f49ea3d1b525]
21407
21408         * parse.lex:
21409         now uses clearaliases variable
21410         [a2dda415bf61]
21411
21412         * interfaces.c:
21413         Initial revision
21414         [a1990e3f5c69]
21415
21416         * Makefile.in:
21417         added interfaces.[co]
21418         [1e8e5984de97]
21419
21420         * testsudoers.c:
21421         now uses ip addrs and netmasks via load_interfaces()
21422         [54b8f7a6835e]
21423
21424         * sudo.c:
21425         now remove IFS instead of setting to "sane" value
21426         [ce7eec9f115e]
21427
21428 1995-05-01  Todd C. Miller  <Todd.Miller@courtesan.com>
21429
21430         * parse.c:
21431         added FAST_MATCH
21432         [816d4f5fe81a]
21433
21434 1995-04-30  Todd C. Miller  <Todd.Miller@courtesan.com>
21435
21436         * Makefile.in:
21437         sudo_goodpath.c-> goodpath.c
21438         [a5072c4e1de2]
21439
21440         * sudo.c:
21441         added Andy's new ISC changes
21442         [caa6bbee358e]
21443
21444 1995-04-14  Todd C. Miller  <Todd.Miller@courtesan.com>
21445
21446         * OPTIONS:
21447         added a sentence to SECURE_PATH info
21448         [cad6e1569d15]
21449
21450         * BUGS:
21451         added one
21452         [4b35cf699a83]
21453
21454         * CHANGES:
21455         updated
21456         [5fded9dc62f0]
21457
21458         * RUNSON:
21459         updated
21460         [33cb993cfd39]
21461
21462 1995-04-13  Todd C. Miller  <Todd.Miller@courtesan.com>
21463
21464         * RUNSON:
21465         updated for beta3
21466         [a05dc6a91995]
21467
21468         * Makefile.in, version.h:
21469         ++version
21470         [54aaf3fadc75]
21471
21472         * aclocal.m4:
21473         sendmail is now looked for in \17/usr/ucblib
21474         [231ac1a4662f]
21475
21476         * sudo.c:
21477         fixed indentation
21478         [fb137400c8c2]
21479
21480         * aclocal.m4:
21481         fixed a typo
21482         [e03f1acc468b]
21483
21484         * sudo.c:
21485         updated ISC mods
21486         [070290d4754b]
21487
21488         * configure.in:
21489         added unixware case
21490         [e90250bae0d9]
21491
21492         * check.c:
21493         user_is_exempt is no longer hidden
21494         [1a341765b8af]
21495
21496         * RUNSON:
21497         updated
21498         [a9c4898b26dd]
21499
21500         * aclocal.m4:
21501         isc and riscos changes
21502         [98b5d86585d1]
21503
21504         * OPTIONS:
21505         added NOTE about new interaction of EXEMPTGROUP and SECURE_PATH
21506         [e1ecc464ce4b]
21507
21508         * Makefile.in:
21509         fixed a typo and added testsudoers stuff
21510         [435d60e163dc]
21511
21512         * testsudoers.c:
21513         Initial revision
21514         [6ce14a448662]
21515
21516 1995-04-12  Todd C. Miller  <Todd.Miller@courtesan.com>
21517
21518         * parse.yacc:
21519         applied fixed patch from Chris
21520         [cd6144203d13]
21521
21522 1995-04-11  Todd C. Miller  <Todd.Miller@courtesan.com>
21523
21524         * Makefile.in:
21525         fixed a typo
21526         [34f8a54ba041]
21527
21528         * parse.yacc:
21529         added a set of braces for bison
21530         [f0e43b938914]
21531
21532         * parse.yacc:
21533         merged in Chris' changes to dekludge the parser.
21534         [82d6e373ab1c]
21535
21536         * logging.c:
21537         send_mail() was calling find_path() which is wrong since find_path()
21538         stores cmnd in a static var. Anyhow, it doesn't make much sense
21539         since MAILER should always be fully qualified
21540         [6eae6a0b8098]
21541
21542 1995-04-10  Todd C. Miller  <Todd.Miller@courtesan.com>
21543
21544         * sample.sudoers:
21545         added User_Alias stuff
21546         [aaba8c8e918d]
21547
21548         * aclocal.m4:
21549         SUDO_NEXT now looks for /usr/lib/NextStep/software_version
21550         [52bd81f34b32]
21551
21552         * RUNSON:
21553         added DEC UNIX 3.0 w/ gcc
21554         [7daf570775b5]
21555
21556         * visudo.c:
21557         Exit was being used in places where exit should be used
21558         [6026a89c07ed]
21559
21560         * sudoers:
21561         added "User alias specification"
21562         [a487b6e234f8]
21563
21564         * parse.yacc:
21565         fixed probs caused by making nslots and naliases a size_t
21566         [0be919384f3f]
21567
21568         * RUNSON:
21569         added KSR, upped rev to 1.3.1b2
21570         [ce04ee6faadf]
21571
21572         * logging.c, parse.yacc:
21573         1024 -> BUFSIZ
21574         [cd6dda45fa11]
21575
21576         * parse.yacc:
21577         void * -> VOID * naliases and nslots are now size_t to appease
21578         lsearch on 64-bit machines
21579         [bf2f807c0dc1]
21580
21581 1995-04-09  Todd C. Miller  <Todd.Miller@courtesan.com>
21582
21583         * TODO:
21584         did a bunch of things and added a bunch :-)
21585         [42afd957b829]
21586
21587         * PORTING:
21588         updated
21589         [972f95c85776]
21590
21591         * visudo.man:
21592         closer to BSD manpage style
21593         [07ae88f50325]
21594
21595         * sudo.man:
21596         closer to standard BSD man format
21597         [372c28dcc135]
21598
21599         * compat.h, config.h.in, emul/search.h, insults.h, options.h,
21600         pathnames.h.in, sudo.h, version.h:
21601         added RCS id
21602         [c0ec90b81002]
21603
21604         * sudo.h:
21605         removed crufty #defines that are no longer used
21606         [35e2b4b477f0]
21607
21608         * BUGS:
21609         fixed a bug
21610         [5bb3e1bee85e]
21611
21612         * sudo.man:
21613         updated based on sudo changes
21614         [e65de1cae438]
21615
21616         * parse.yacc:
21617         now allow ALL keyword in User_Aliases now allow ALL keyword as well
21618         as a NAME or ALIAS
21619         [1fb31404dd0f]
21620
21621         * CHANGES:
21622         updated
21623         [b24018ac610b]
21624
21625         * sudo.c:
21626         now sets SUDO_COMMAND and SUDO_GID envariables.
21627         [e9d791557fb7]
21628
21629         * aclocal.m4:
21630         fixed bug with full void impl check
21631         [35715301023c]
21632
21633         * parse.yacc:
21634         fixed User_Alias supoprt
21635         [4c30dfbaaa07]
21636
21637         * parse.yacc:
21638         added stubs for User_Alias support
21639         [f4afbd247edf]
21640
21641         * sudo.c:
21642         now sets removes # bogus interfaces from num_interfaces
21643         [6f077fac9ab1]
21644
21645         * parse.lex:
21646         added User_Alias support
21647         [bc7997e5df85]
21648
21649 1995-04-08  Todd C. Miller  <Todd.Miller@courtesan.com>
21650
21651         * Makefile.in:
21652         removed extraneous TODO
21653         [bc87a3b14d6d]
21654
21655 1995-04-07  Todd C. Miller  <Todd.Miller@courtesan.com>
21656
21657         * visudo.c:
21658         ntwk_matches -> addr_matches
21659         [475044e288b8]
21660
21661         * parse.yacc:
21662         ntwk_matches -> addr_matches
21663         [dd1f4093fd2d]
21664
21665         * parse.c:
21666         ntwk_matches -> addr_matches now use inet_addr() not inet_network()
21667         (which expects octet boundaries) fixes for OSF (sizeof(int) !=
21668         sizeof(long))
21669         [acd2f556940f]
21670
21671         * sudo.c:
21672         took out debugging info
21673         [044023063eca]
21674
21675         * aclocal.m4:
21676         OS was being set to unknown before non-uname based host checks.
21677         This caused no checks to happen since $OS was not zero-length.
21678         [335a7267479d]
21679
21680         * sudo.c:
21681         fixed loading of interfaces struct still has debugging info in
21682         though
21683         [2d1a18998c1e]
21684
21685         * parse.c:
21686         fixed typo
21687         [175674a3a9fa]
21688
21689 1995-04-06  Todd C. Miller  <Todd.Miller@courtesan.com>
21690
21691         * Makefile.in:
21692         ++version
21693         [55d191b5daa3]
21694
21695         * version.h:
21696         ++
21697         [d7d1f115696a]
21698
21699         * visudo.c:
21700         removed extraneous extern decl of "top
21701         [50355621047d]
21702
21703         * visudo.c:
21704         now zeros "top"
21705         [4e683210345b]
21706
21707         * parse.yacc:
21708         removed parser_cleanup (no need for it now)
21709         [afa59f222b6c]
21710
21711         * parse.lex:
21712         now calls reset_aliases() directly
21713         [3a23cbd60fc0]
21714
21715 1995-04-04  Todd C. Miller  <Todd.Miller@courtesan.com>
21716
21717         * OPTIONS:
21718         added a sentence to SECURE_PATH description
21719         [c5bf75b85af0]
21720
21721         * parse.c:
21722         fixed my stupid bug where I used NAMLEN on something I wanted to
21723         just get the name from. argh.
21724         [111f460f6540]
21725
21726 1995-04-03  Todd C. Miller  <Todd.Miller@courtesan.com>
21727
21728         * lsearch.c:
21729         fixed argument order of memmove() that i hosed when converting from
21730         bcopy(). arghh.
21731         [2f5336045c8b]
21732
21733         * Makefile.in:
21734         finally fixed DISTFILES line
21735         [a1b419e73a63]
21736
21737         * Makefile.in:
21738         tabs -> spaces
21739         [280fb03e5764]
21740
21741         * Makefile.in:
21742         added missing files to DISTFILES
21743         [991fc1cd2263]
21744
21745         * Makefile.in:
21746         SUPPORTED -> RUNSON
21747         [7580e65b05fb]
21748
21749 1995-04-01  Todd C. Miller  <Todd.Miller@courtesan.com>
21750
21751         * TODO:
21752         updated
21753         [fe764a29c1cc]
21754
21755         * RUNSON:
21756         updated for pl5b1 release
21757         [aefc35bd2291]
21758
21759         * BUGS, TODO:
21760         updated
21761         [8f0ea249b687]
21762
21763         * check.c:
21764         fixed bug where if you hit return at first sudo prompt it would
21765         still log as a failure
21766         [24539c854692]
21767
21768         * CHANGES:
21769         updated
21770         [251cc7b3ede4]
21771
21772         * aclocal.m4:
21773         better test for bogus void * implementation
21774         [efe23180cb88]
21775
21776         * logging.c:
21777         added PASSWORDS_NOT_CORRECT
21778         [bd12c73f83f7]
21779
21780         * check.c:
21781         added PASSWORDS_NOT_CORRECT stuff]
21782         [90de391a979f]
21783
21784         * sudo.h:
21785         added PASSWORDS_NOT_CORRECT
21786         [727fbeb76fc5]
21787
21788         * tgetpass.c:
21789         moved pathnames.h
21790         [4f910e5a8df7]
21791
21792         * sudo.c:
21793         removed some unused vars and fixed up uid2str
21794         [70e92c7f9076]
21795
21796         * putenv.c:
21797         moved compat.h
21798         [b271091586f6]
21799
21800         * getcwd.c, getwd.c:
21801         added pathnames.h
21802         [6f25218f133f]
21803
21804 1995-03-31  Todd C. Miller  <Todd.Miller@courtesan.com>
21805
21806         * parse.yacc:
21807         fixed a typo I introduced in the last checkin :-(
21808         [62c3af75c4fe]
21809
21810         * parse.lex:
21811         can't have #ifdef's where N is defined so just do this the broken
21812         way for AIX
21813         [c5648a5594e4]
21814
21815         * parse.yacc:
21816         better hack from Chris (but still a hack)
21817         [6b6d8aed93f3]
21818
21819         * parse.lex:
21820         stupid hack for broken aix lex
21821         [efc3f9e5280e]
21822
21823         * tgetpass.c:
21824         now includes compat.h \ 6
21825         [401822173f77]
21826
21827         * visudo.c:
21828         now includes fcntl.h
21829         [63865c2f8ac6]
21830
21831         * compat.h:
21832         added FD_SET and FD_ZERO for 4.2BSD
21833         [00c5597c0bb0]
21834
21835         * parse.yacc:
21836         dirty hack to fix parser bug. i don't really like this but it works
21837         for now...
21838         [5b8bbdc81569]
21839
21840         * sudo.c:
21841         uid2str is now static like the prototype says
21842         [f2a97b5cb870]
21843
21844 1995-03-30  Todd C. Miller  <Todd.Miller@courtesan.com>
21845
21846         * CHANGES, SUPPORTED, TODO, TROUBLESHOOTING:
21847         updated
21848         [6f79c3e92716]
21849
21850         * RUNSON:
21851         Initial revision
21852         [12a09ef9e884]
21853
21854         * sudo.c:
21855         check_sudoers now returns an error code and sudo calls inform_user
21856         and log_error based on the return value.
21857         [340eca188d9a]
21858
21859         * logging.c, sudo.h:
21860         added entries for new errors
21861         [6050d8542e1f]
21862
21863         * parse.c:
21864         now set uid to that of SUDOERS_OWNER while parsing sudoers file
21865         [3683c42bc9b0]
21866
21867         * Makefile.in:
21868         took out testsudoers \ 6
21869         [65317d49db48]
21870
21871         * sudo.c:
21872         now explicately checks that it is setuid root
21873         [2fe1be60ef6a]
21874
21875         * sudo.c:
21876         If a user has no passwd entry sudo would segv (writing to a garbage
21877         pointer). Now allocate space before writing :-)
21878         [d08e7eb5e5ef]
21879
21880         * configure.in:
21881         reordered AC_CHECK_FUNCS
21882         [4c82e56c6f4f]
21883
21884         * config.h.in:
21885         fixed memset macro
21886         [77ede6b714ab]
21887
21888         * tgetpass.c, visudo.c:
21889         bzero -> memset
21890         [1a005bb322c8]
21891
21892         * logging.c:
21893         bzero -> memset when a parse error is logged the line number of the
21894         error is now logged too
21895         [a42d68047723]
21896
21897         * INSTALL:
21898         added Sunos to blurb about c2 security
21899         [af750a1d131e]
21900
21901         * configure.in:
21902         added a SUN4 define for C2 security
21903         [6ad5b23a3eb0]
21904
21905         * config.h.in:
21906         bcopy -> memmove bzero -> memset
21907         [5494460c8464]
21908
21909         * lsearch.c:
21910         bcopy -> memmove char * -> VOID *
21911         [a15f5c316e16]
21912
21913         * check.c:
21914         added support for sunos with C2 security
21915         [03fea5bb21e6]
21916
21917         * OPTIONS, options.h:
21918         reordered
21919         [1686265af3e1]
21920
21921         * pathnames.h.in:
21922         _PATH_SUDO_LOGFILE now set based on configure
21923         [5867b58e4a04]
21924
21925         * configure.in:
21926         added SUDO_LOGFILE and SUDO_TYPE_SIZE_T
21927         [1984d9fd1b5c]
21928
21929         * config.h.in:
21930         added _SUDO_PATH_LOGFILE
21931         [dd3eebe62580]
21932
21933         * aclocal.m4:
21934         added SUDO_LOGFILE to find where to put sudo.log added
21935         SUDO_CHECK_TYPE (just AC_CHECK_TYPE but checks unistd.h too) added
21936         SUDO_TYPE_SIZE_T (calls SUDO_CHECK_TYPE)
21937         [c589a515a99a]
21938
21939 1995-03-29  Todd C. Miller  <Todd.Miller@courtesan.com>
21940
21941         * TROUBLESHOOTING:
21942         Initial revision
21943         [f42f1baba3a8]
21944
21945         * sudo.c:
21946         now do set_perms(PERM_ROOT) before the getpwuid() in load_global()
21947         to work around a problem is trusted hpux shadow passwords. yuck.
21948         [ae1f13b54687]
21949
21950         * parse.yacc:
21951         backed out a change in malloc/realloc
21952         [ab868db0ad69]
21953
21954         * parse.yacc:
21955         now include stdlib.h
21956         [957eef0631eb]
21957
21958         * visudo.c:
21959         now do an freopen() of the stmp file so that yyin will always point
21960         to the same thing. This is important for flex since we are doing a
21961         YY_NEWFILE
21962         [44558922fd3e]
21963
21964         * parse.yacc:
21965         replaced yywrap() with parser_cleanup() since yywrap() needs to be
21966         in parse.lex to be able to use YY_NEW_FILE. sigh.
21967         [12dd09921074]
21968
21969         * parse.lex:
21970         now have a rule that matches anything that doesn't match an
21971         explicite rule. well, you know what i mean (. matches anything not
21972         yet matched). However, this means that there is input still queued
21973         up so we need to do a YY_NEW_FILE; in yywrap. So, yywrap has moved
21974         into parse.lex and it calls parser_cleanup() which is most of the
21975         old yywrap() sigh.
21976         [7f4042bc48d6]
21977
21978         * SUPPORTED:
21979         no longer used
21980         [8f220be4da94]
21981
21982         * getcwd.c, getwd.c:
21983         moved compat.h to be the last include file
21984         [9f3a65e2d485]
21985
21986         * parse.yacc:
21987         fixed type of aliascmp() args
21988         [1c27eb989bdf]
21989
21990         * find_path.c:
21991         NULL -> '\0'
21992         [5c8d8cf1692e]
21993
21994         * parse.yacc:
21995         added casts to lfind and lsearch args for irix
21996         [61027ddeecf8]
21997
21998         * Makefile.in:
21999         bsdinstall -> install-sh
22000         [61de6612c5a5]
22001
22002         * INSTALL:
22003         added info about make realclean
22004         [29c6324d727f]
22005
22006         * Makefile.in:
22007         updated VERSION added dependencies for visudo.cat
22008         [09077d7229d4]
22009
22010         * version.h:
22011         -> pl5b1
22012         [5d21c7ad1a41]
22013
22014         * sudo.c:
22015         took out -l
22016         [fc1478d81b38]
22017
22018         * Makefile.in:
22019         now there is a real visudo.man and visudo.cat
22020         [58aeac43a6dd]
22021
22022         * sudo.man:
22023         took out visudo stuff
22024         [4a6ac4393343]
22025
22026         * visudo.man:
22027         Initial revision
22028         [cba348843db8]
22029
22030         * parse.c, parse.lex, parse.yacc:
22031         updated copyright
22032         [ffa16b70944a]
22033
22034         * README:
22035         updated for pl5
22036         [a26e423e9e5f]
22037
22038         * sudo.man:
22039         updated Nieusma & Hieb email addresses
22040         [f0083e71989d]
22041
22042         * INSTALL:
22043         updated to include options.h and OPTIONS
22044         [ee59e2b76c94]
22045
22046         * CHANGES, TODO:
22047         updated
22048         [51e011ad5220]
22049
22050         * BUGS:
22051         eliminated bug #1 (yay)
22052         [e7e88515494e]
22053
22054         * configure.in:
22055         sunos no longer gets linked statically
22056         [2e5b3ff3108f]
22057
22058 1995-03-28  Todd C. Miller  <Todd.Miller@courtesan.com>
22059
22060         * parse.lex:
22061         prototype now uses __P()
22062         [68ecdcab4c70]
22063
22064         * parse.lex:
22065         make fill() non-ansi
22066         [d6509972260b]
22067
22068         * parse.c:
22069         made -v (validate) work
22070         [13c9d520638c]
22071
22072         * logging.c:
22073         now gives host
22074         [f04859cdba5a]
22075
22076         * find_path.c:
22077         don't check for execute/statable if fq or relative path given
22078         [4bbe851f3973]
22079
22080         * parse.c:
22081         added a cast
22082         [345c308f72f3]
22083
22084         * visudo.c:
22085         now include ctype.h for islower and tolower macros
22086         [582c0aa332d5]
22087
22088         * goodpath.c:
22089         moved _S_IFMT & _S_ISREG to compat.h
22090         [828e4ca4e7b4]
22091
22092         * sudo.c:
22093         moved a set of parens
22094         [5783474ecf37]
22095
22096         * strdup.c:
22097         now include compat.h
22098         [75e2036b94af]
22099
22100         * emul/search.h:
22101         void * -> VOID *
22102         [cedcfaf04161]
22103
22104         * parse.yacc:
22105         now cast malloc & realloc return vals added search for HAVE_LSEARCH
22106         now use strcmp if no strcasecmp available
22107         [d6a42bc3d4ae]
22108
22109         * lsearch.c:
22110         void * -> VOID *
22111         [886adc44f607]
22112
22113         * config.h.in:
22114         removed HAVE_FLEX added VOID added HAVE_DIRENT_H, HAVE_SYS_NDIR_H,
22115         HAVE_SYS_DIR_H, HAVE_NDIR_H added HAVE_LSEARCH
22116         [3b50d7fb4349]
22117
22118         * compat.h:
22119         added _S_IFMT, _S_IFREG, and S_ISREG
22120         [73d506c7d53c]
22121
22122         * aclocal.m4:
22123         took out SUDO_PROG_INSTALL 1.x to 2.x changes added echo and results
22124         to most SUDO_* macros
22125         [8442155f5936]
22126
22127         * Makefile.in:
22128         no more -I.
22129         [63462f195bd4]
22130
22131         * configure.in:
22132         various 1.x ro 2.x autoconf changes now check for strcasecmp now use
22133         AC_INSTALL_PROG instead of custom one added check for fully woorking
22134         void implementation
22135         [5ac6b6e6230f]
22136
22137         * Makefile.in:
22138         added lsearch & search.h visudo links into $(LIBOBJS)
22139         [bc119cda4598]
22140
22141         * aclocal.m4:
22142         partial 1.x to 2.x changes added SUDO_FULL_VOID
22143         [1194d01fa5c5]
22144
22145         * visudo.c:
22146         whatnow_help was prototyped to be static be was not declared as
22147         such
22148         [0f85489dd426]
22149
22150         * configure.in:
22151         autoconf 2.x changes took out HAVE_FLEX (no longer used) added check
22152         for dirent/dir/ndir.h
22153         [7408f3854948]
22154
22155         * parse.c:
22156         now use groovy gnu autoconf macro AC_HEADER_DIRENT
22157         [e465db9f5dfa]
22158
22159         * getcwd.c, getwd.c:
22160         MAXPATHLEN -> MAXPATHLEN+1
22161         [714d87424e21]
22162
22163         * emul/search.h, lsearch.c:
22164         Initial revision
22165         [55d79482c535]
22166
22167 1995-03-27  Todd C. Miller  <Todd.Miller@courtesan.com>
22168
22169         * parse.yacc:
22170         eliminated bison warnings
22171         [61ca0a96da22]
22172
22173         * parse.lex:
22174         added missing case
22175         [6be0f849747c]
22176
22177         * visudo.c:
22178         now iincludes signal.h
22179         [221e0fcc144f]
22180
22181         * parse.yacc:
22182         only clear data structures on a parse error
22183         [7b1c0f1a4527]
22184
22185         * visudo.c:
22186         whatnow() now gives help on invalid input
22187         [e5a4cd88c587]
22188
22189         * visudo.c:
22190         added a whatnow() function (sort of like mh)
22191         [932d9b145f1c]
22192
22193         * parse.yacc:
22194         kill_aliases -> reset_aliases yywrap() now cleans up by calling
22195         reset_aliases() and clearing top took reset stuff out of yyerror()
22196         since it doesn't beling there (and doesn't work anyway). errorlineno
22197         is now initially set to -1 so we can set it to the first error that
22198         occurrs (it was getting set to the last)
22199         [2f71f95a974c]
22200
22201         * parse.lex:
22202         added a void cast
22203         [18ae6042dce4]
22204
22205         * visudo.c:
22206         rewrote from scratch based on 4.3BSD vipw.c
22207         [2f6814f18576]
22208
22209 1995-03-26  Todd C. Miller  <Todd.Miller@courtesan.com>
22210
22211         * sudo.c, sudo.h:
22212         removed ocmnd
22213         [a31735f41ad4]
22214
22215         * sudo.h:
22216         no more sudo_realpath() and find_path() changed params
22217         [8e85c3b39159]
22218
22219         * sudo.c:
22220         find_path() changed since no more realpath()
22221         [b25366c7f2ee]
22222
22223         * parse.yacc:
22224         on error, errorlineno is set to the line where the error occurred
22225         added kill_aliases() to free the aliases struct now clean up in
22226         yyerror() so we can reparse cleanly
22227         [2342f578c27a]
22228
22229         * options.h, parse.c:
22230         no more USE_REALPATH
22231         [cfc59babeaff]
22232
22233         * logging.c:
22234         changed to use new find_path()
22235         [91c7a38e7751]
22236
22237         * find_path.c:
22238         removed all the realpath() stuff
22239         [cc21a43a8562]
22240
22241         * Makefile.in:
22242         sudo_realpath.c -> sudo_goodpath.c
22243         [03a9b1ddec2f]
22244
22245         * visudo.c:
22246         now works correctly with utk parser
22247         [08aa554a0ce8]
22248
22249         * goodpath.c:
22250         Initial revision
22251         [1ea607e1ffb2]
22252
22253         * sudo_realpath.c:
22254         eliminated a compiler warning
22255         [198bcccc55b6]
22256
22257         * sudo.c:
22258         elinated compiler warning
22259         [e2384f9a878b]
22260
22261         * sudo_realpath.c:
22262         added sudo_goodpath()
22263         [43878c4cc540]
22264
22265         * sudo.h:
22266         added prototype for sudo_goodpath
22267         [23e8627a2265]
22268
22269         * parse.c:
22270         added support for /sys/dir.h
22271         [eca897087741]
22272
22273         * options.h:
22274         USE_REALPATH turned off
22275         [620ac8b63d85]
22276
22277         * find_path.c:
22278         added calls to sudo_goodpath()
22279         [ad170904fbcd]
22280
22281         * configure.in:
22282         added check for dirent.h
22283         [7964a8c26855]
22284
22285         * config.h.in:
22286         added HAVE_DIRENT_H
22287         [1f785fec7e19]
22288
22289         * configure.in:
22290         added in linux shadow pass stuff \ 6
22291         [e585a5785f50]
22292
22293 1995-03-24  Todd C. Miller  <Todd.Miller@courtesan.com>
22294
22295         * visudo.c:
22296         added back host, user, cmnd, parse_error
22297         [0ec19f3d64f4]
22298
22299         * visudo.c:
22300         added in utk changes plus some minor cosmetic changes
22301         [c5c1921c8a58]
22302
22303         * sudo.c, sudo_realpath.c:
22304         added void casts for printf's
22305         [9c6ff11c0082]
22306
22307         * options.h:
22308         added a define of USE_REALPATH
22309         [db3711c9efc5]
22310
22311         * configure.in:
22312         there is no more visudoers/Makefile
22313         [36e1bc1f78d0]
22314
22315         * Makefile.in:
22316         added in utk changes (visudo is now built from the toplevel)
22317         [76203d4b345d]
22318
22319         * find_path.c:
22320         added (void) casts to printf's
22321         [dd5cb1e060ac]
22322
22323         * parse.c, parse.lex, parse.yacc, sudo.h, sudo_realpath.c:
22324         merged in utk changes
22325         [35563307fd8e]
22326
22327 1995-03-23  Todd C. Miller  <Todd.Miller@courtesan.com>
22328
22329         * find_path.c:
22330         now check to see that what we are trying to run is a file (or a link
22331         to a file, we do a stat(2) so there is no diff)
22332         [05889c4bcace]
22333
22334 1995-03-13  Todd C. Miller  <Todd.Miller@courtesan.com>
22335
22336         * CHANGES:
22337         updated
22338         [3e8047bb26fb]
22339
22340         * Makefile.in:
22341         aclocal.m4 -> acsite.m4 make realclean updated for new autoconf \ 6
22342         [0bdbaa7c4c7d]
22343
22344         * sudo.man:
22345         added myself as maintainer
22346         [77a9d75aab84]
22347
22348 1995-02-17  Todd C. Miller  <Todd.Miller@courtesan.com>
22349
22350         * sudo.c:
22351         changed setegid -> setgid
22352         [7f4788d73b6f]
22353
22354 1995-02-06  Todd C. Miller  <Todd.Miller@courtesan.com>
22355
22356         * configure.in:
22357         fixed the test for irix 5.x to skip bad libs
22358         [bfef896de013]
22359
22360         * aclocal.m4:
22361         now initialize OS and OSREV
22362         [cc302756e440]
22363
22364 1995-01-27  Todd C. Miller  <Todd.Miller@courtesan.com>
22365
22366         * configure.in:
22367         irix5 changes
22368         [ac985b23f5f2]
22369
22370         * configure.in:
22371         AC_WITH -> AC_ARG_WITH changes other misc changes for autoconf 2.1
22372         compatibility
22373         [0cf8c92a06d7]
22374
22375 1995-01-19  Todd C. Miller  <Todd.Miller@courtesan.com>
22376
22377         * visudo.c:
22378         use YY_NEW_FILE, not yyrestart since OSF flex doesn't do the righ
22379         thing wrt yyrestart (grrrr)
22380         [18e8eabfbb82]
22381
22382 1995-01-16  Todd C. Miller  <Todd.Miller@courtesan.com>
22383
22384         * Makefile.in:
22385         added visudoers/compat.h to DISTFILES
22386         [db23b574b034]
22387
22388         * configure.in:
22389         fixed an echo
22390         [7cbc0462b89d]
22391
22392         * sudo.c:
22393         added ocmnd declaration adjusted for find_path()'s new parameters
22394         [d929cd156474]
22395
22396         * sudo.h:
22397         added ocmnd extern adjusted find_path() prototype
22398         [e0004daf5d3c]
22399
22400         * parse.c:
22401         cmndcmp() now takes 3 arguments and checks against the qualified as
22402         well as the unqualified pathname. more code that should use
22403         cmndcmp() but did not, now does
22404         [6f70a8c17bee]
22405
22406         * options.h:
22407         added to a comment
22408         [7a78680426b2]
22409
22410         * logging.c:
22411         changed to use new find_path() parameter passing
22412         [840981d30db4]
22413
22414         * find_path.c:
22415         find_path() now takes 2 copyout parameters (one for the qualified
22416         pathname and one for the unqualified pathname). The third parameter
22417         may be NULL.
22418         [851503b005e9]
22419
22420         * configure.in:
22421         no longer munge pathnames.h
22422         [427d8796c5a9]
22423
22424         * pathnames.h.in:
22425         changed _PATH_* to use _SUDO_PATH_* (which are defined in config.h)
22426         as a result, pathnames.h does not need to be run through configure
22427         and the user can override the configured values easily.
22428         [2e378f2ebe88]
22429
22430         * config.h.in:
22431         added _SUDO_PATH_* entries
22432         [0857de7cebab]
22433
22434         * aclocal.m4:
22435         _PATH* -> _SUDO_PATH_*
22436         [7601193f56cc]
22437
22438         * Makefile.in:
22439         updated DISTFILES and HDRS .o's now depend on config.h
22440         [39d8601965cf]
22441
22442 1995-01-13  Todd C. Miller  <Todd.Miller@courtesan.com>
22443
22444         * compat.h:
22445         removed extraneous #endif
22446         [27d4c5f2ce7e]
22447
22448         * aclocal.m4:
22449         added SUDO_PROG_MV
22450         [76dda3bdd816]
22451
22452         * configure.in:
22453         added SUDO_PROG_MV added riscos and isc os types took out
22454         -DSHORT_MESSAGE from --with-csops since it is now the default
22455         [68c206ad976e]
22456
22457         * sudo.c:
22458         move the include of id.h to compat.h now includes options.h
22459         [45a1eaafb3a8]
22460
22461         * sudo.h:
22462         moved compatibility #defines to compat.h
22463         [0eee27057698]
22464
22465         * pathnames.h.in:
22466         added _PATH_MV
22467         [e830797ab320]
22468
22469         * config.h.in:
22470         move __P to compat.h
22471         [188e12e0ba93]
22472
22473         * getcwd.c, getwd.c, putenv.c:
22474         now includes compat.h
22475         [c72cb6d73981]
22476
22477         * compat.h:
22478         Initial revision
22479         [d4d2f359ae03]
22480
22481 1995-01-12  Todd C. Miller  <Todd.Miller@courtesan.com>
22482
22483         * sudo.h:
22484         pull user-configurable stuff out and put in options.h
22485         [ef929467b070]
22486
22487 1995-01-11  Todd C. Miller  <Todd.Miller@courtesan.com>
22488
22489         * parse.lex, parse.yacc, visudo.c:
22490         now includes options.h
22491         [e36d7c82add1]
22492
22493         * check.c, find_path.c, logging.c, parse.c, sudo_realpath.c,
22494         sudo_setenv.c:
22495         now includes options.h
22496         [f186ba03de07]
22497
22498         * Makefile.in:
22499         added visudoers/options.h
22500         [e5350c476494]
22501
22502         * OPTIONS, options.h:
22503         Initial revision
22504         [9b6b5001e318]
22505
22506         * Makefile.in:
22507         added OPTIONS and options.h
22508         [25448341e16a]
22509
22510         * logging.c:
22511         changed #ifdef's to use LOGGING and SLOG_SYSLOG/SLOG_FILE
22512         [5dd6385dd1d3]
22513
22514         * check.c, sudo.h:
22515         changed PASSWORD_TIMEOUT to minutes
22516         [0ec6aab98738]
22517
22518 1994-12-17  Todd C. Miller  <Todd.Miller@courtesan.com>
22519
22520         * visudo.c:
22521         now only do Editor +line_num if line_num != 0
22522         [b69f04b5e3c7]
22523
22524 1994-12-16  Todd C. Miller  <Todd.Miller@courtesan.com>
22525
22526         * visudo.c:
22527         now use mv if rename(2) fails
22528         [83210dca1bab]
22529
22530         * BUGS:
22531         added a visudo bug
22532         [d61a806f9aa7]
22533
22534         * check.c:
22535         expanded comment
22536         [641f2cba94cb]
22537
22538 1994-11-12  Todd C. Miller  <Todd.Miller@courtesan.com>
22539
22540         * check.c:
22541         fixed user_is_exempt to return 0 if EXEMPTGROUP is not set
22542         [7a11135039a8]
22543
22544 1994-11-10  Todd C. Miller  <Todd.Miller@courtesan.com>
22545
22546         * sudo.c:
22547         added mips & isc support
22548         [e258dc053119]
22549
22550         * parse.c:
22551         added support for non-root owned sudoers file
22552         [fea07e65a0fc]
22553
22554         * check.c:
22555         added exempt group support
22556         [928fb4bd9ad5]
22557
22558         * sudo.h:
22559         added set_perms() support added SUDOERS_OWNER so can have non-root
22560         own sudoers file added exempt group support added isc support
22561         [61c578d31fc1]
22562
22563         * visudo.c:
22564         now copy sudoers to temp file via read/write (not stdio) now chown
22565         new sudoers file to SUDOERS_OWNER
22566         [a5176c59df70]
22567
22568 1994-11-08  Todd C. Miller  <Todd.Miller@courtesan.com>
22569
22570         * configure.in:
22571         added skey support
22572         [35a8d2fabdb7]
22573
22574         * sudo_realpath.c:
22575         be_* -> setperms()
22576         [a1631d686e1c]
22577
22578         * sudo.h:
22579         fixed typo added set_perms support added skey support added
22580         seteuid()/setegid() emulation for AIX
22581         [c0c8d6771406]
22582
22583         * sudo.c:
22584         be_* -> setperms() now check to make sure sudoers file is owned by
22585         root nread/write by only root
22586         [13ab1e261f1a]
22587
22588         * logging.c, parse.c:
22589         be_* -> setperms()
22590         [21499d845c8f]
22591
22592         * check.c:
22593         be_* -> set_perms() added skey support
22594         [df51b56871c1]
22595
22596 1994-11-06  Todd C. Miller  <Todd.Miller@courtesan.com>
22597
22598         * Makefile.in:
22599         ++version
22600         [3c1abbe4e43c]
22601
22602         * version.h:
22603         ++
22604         [1d2f9b540a95]
22605
22606 1994-10-21  Todd C. Miller  <Todd.Miller@courtesan.com>
22607
22608         * sudo.c:
22609         now sets IFS
22610         [eabbb41b9f08]
22611
22612         * insults.h:
22613         fixed typo
22614         [c7997f19216e]
22615
22616 1994-10-15  Todd C. Miller  <Todd.Miller@courtesan.com>
22617
22618         * config.h.in:
22619         added HAVE_SKEY
22620         [da948ec4186b]
22621
22622 1994-10-04  Todd C. Miller  <Todd.Miller@courtesan.com>
22623
22624         * CHANGES:
22625         updated
22626         [f4b55ab007ea]
22627
22628         * Makefile.in:
22629         ++version
22630         [0489068b8c95]
22631
22632         * version.h:
22633         ++
22634         [d189faedf423]
22635
22636         * sudo.c:
22637         now bail if ARgv[1] > MAXPATHLEN
22638         [0cea8ecc9dc2]
22639
22640         * configure.in:
22641         added function check for tcgetattr(3)
22642         [e03289b22c2f]
22643
22644         * config.h.in:
22645         only define HAVE_TERMIOS_H if you have tcgetattr(3)
22646         [757eab83d1a2]
22647
22648         * config.h.in:
22649         added check for tcgetattr
22650         [c5ae92715930]
22651
22652 1994-09-26  Todd C. Miller  <Todd.Miller@courtesan.com>
22653
22654         * CHANGES:
22655         updated
22656         [cbc419883108]
22657
22658 1994-09-22  Todd C. Miller  <Todd.Miller@courtesan.com>
22659
22660         * parse.lex:
22661         now only include unistd.h for linux
22662         [e9adeab95ef0]
22663
22664 1994-09-21  Todd C. Miller  <Todd.Miller@courtesan.com>
22665
22666         * Makefile.in:
22667         added visudo.8 generation
22668         [d6a3f0f887f8]
22669
22670         * configure.in:
22671         added -Wl,-bI:./aixcrypt.exp to aix flags
22672         [72594a21edcf]
22673
22674 1994-09-20  Todd C. Miller  <Todd.Miller@courtesan.com>
22675
22676         * BUGS:
22677         added one
22678         [9993a349e096]
22679
22680         * CHANGES:
22681         updated
22682         [297b31ec4cdd]
22683
22684         * README:
22685         added mailing list info
22686         [10372f94a2b2]
22687
22688         * parse.yacc:
22689         now use sudolineno instead of yylineno fixed bison warnings
22690         [25a83e62057b]
22691
22692         * configure.in:
22693         now use -no_library_replacement for osf don't make a static binary
22694         for hpux >= 9.0
22695         [1fa7b892f1a3]
22696
22697         * tgetpass.c:
22698         added string.h/strings.h inclusion
22699         [71faa98fc0a1]
22700
22701         * config.h.in:
22702         added ssize_t def
22703         [406284bd1ac0]
22704
22705         * parse.lex:
22706         added inclusion of string.h/strings.h
22707         [6985b1df5d09]
22708
22709         * aclocal.m4:
22710         fixed uname | sed (needed to quote the '[')
22711         [4cd2d3415c1a]
22712
22713         * parse.lex:
22714         replaced yylineno with sudolineno fixed bison syntax errors
22715         [0bd31a5fab26]
22716
22717         * visudo.c:
22718         changed yylineno to sudolineno since yylineno cannot be counted
22719         upon.
22720         [38c30104d0ae]
22721
22722         * TODO:
22723         updated
22724         [5d4746f1a752]
22725
22726         * parse.c:
22727         added code to support command listings
22728         [030172e133fd]
22729
22730         * sudo.c:
22731         added code for -l flag
22732         [801dbbc82778]
22733
22734         * sudo.man:
22735         fixed typo added info for -l flag
22736         [8916ca945d65]
22737
22738         * configure.in:
22739         AC_SSIZE_T -> SUDO_SSIZE_T
22740         [c61f7f47013f]
22741
22742         * aclocal.m4:
22743         added SUDO_SSIZE_T
22744         [0ccdb77be84d]
22745
22746         * sudo.h:
22747         added MODE_LIST
22748         [9b2bd844c76c]
22749
22750         * configure.in:
22751         added AC_SSIZE_T
22752         [35cca208f9b5]
22753
22754         * find_path.c, sudo_realpath.c:
22755         readlink() is now declared as returning ssize~_t
22756         [0640a08d1407]
22757
22758         * configure.in:
22759         added -laud for OSF c2
22760         [b7539c905efc]
22761
22762 1994-09-02  Todd C. Miller  <Todd.Miller@courtesan.com>
22763
22764         * Makefile.in, visudo.c:
22765         changed sudo-bugs.cs.colorado.edu -> sudo-bugs@cs.colorado.edu
22766         [067fd9bcb5e1]
22767
22768         * config.h.in, parse.lex, parse.yacc, pathnames.h.in:
22769         changed sudo-bugs.cs.colorado.edu -> sudo-bugs@cs.colorado.edu
22770         [fc46e7c7110a]
22771
22772         * check.c, find_path.c, getcwd.c, getwd.c, insults.h, logging.c,
22773         parse.c, putenv.c, strdup.c, sudo.c, sudo.h, sudo_realpath.c,
22774         sudo_setenv.c, tgetpass.c, version.h:
22775         changed sudo-bugs.cs.colorado.edu -> sudo-bugs@cs.colorado.ed
22776         [d1d4fbc53a98]
22777
22778 1994-09-01  Todd C. Miller  <Todd.Miller@courtesan.com>
22779
22780         * Makefile.in:
22781         ++version
22782         [b7066d97633f]
22783
22784         * version.h:
22785         ++
22786         [65ec69d88110]
22787
22788         * logging.c:
22789         added host to alertmail messages
22790         [d973c19ce777]
22791
22792         * CHANGES, TODO:
22793         udpated
22794         [5a65eb16faeb]
22795
22796         * logging.c:
22797         fixed logging problem where mail would not say which user it was
22798         [35723edcc5d2]
22799
22800         * configure.in:
22801         added -laud for gcc if osf & c2
22802         [18f1e0ae5548]
22803
22804         * check.c:
22805         moved set_auth_parameters to sudo.c
22806         [d23112fe01db]
22807
22808         * sudo.c:
22809         added set_auth_parameters for osf
22810         [eb70f65214ac]
22811
22812         * configure.in:
22813         cleaned up -static stuff
22814         [01e9575f0422]
22815
22816         * Makefile.in:
22817         ++version
22818         [7ac3bff5c770]
22819
22820         * version.h:
22821         ++
22822         [10a4ff478469]
22823
22824         * sudo.c:
22825         changed setenv() to sudo_setenv()
22826         [40a78abb9946]
22827
22828         * check.c:
22829         fixed osf problem
22830         [3d69b118efb8]
22831
22832         * configure.in:
22833         added OSF C2 stuff
22834         [38cff3ad4093]
22835
22836         * CHANGES:
22837         updated
22838         [cd341dd0581a]
22839
22840         * check.c:
22841         added osf auth support & removed some extra spaces
22842         [a448cdd81514]
22843
22844         * INSTALL, SUPPORTED:
22845         added osf C2 stuff
22846         [f70484796146]
22847
22848 1994-08-31  Todd C. Miller  <Todd.Miller@courtesan.com>
22849
22850         * TODO:
22851         added 2 suggestions
22852         [695fbdbd86e6]
22853
22854         * Makefile.in:
22855         removed README.v1.3.1 and added VERSION stuff
22856         [f69403eb04c6]
22857
22858         * version.h:
22859         pl1
22860         [21580c0f8cb1]
22861
22862 1994-08-30  Todd C. Miller  <Todd.Miller@courtesan.com>
22863
22864         * version.h:
22865         1.3.1final
22866         [630114970298]
22867
22868         * Makefile.in:
22869         added HISTORY
22870         [901bff251614]
22871
22872         * sudo.man:
22873         mention HISTPRY file
22874         [86dbcfd4326e]
22875
22876         * sudo.c:
22877         use sizeof instead of a constant in 1 place
22878         [d819604c68ca]
22879
22880         * parse.yacc:
22881         added unistd.h
22882         [6f9500f9fe7e]
22883
22884         * parse.lex:
22885         added unistd.h
22886         [468b81a276eb]
22887
22888         * README:
22889         udpated
22890         [7e275618923a]
22891
22892         * HISTORY:
22893         Initial revision
22894         [5db1b0a3939b]
22895
22896 1994-08-17  Todd C. Miller  <Todd.Miller@courtesan.com>
22897
22898         * version.h:
22899         ++
22900         [7dfbb4a810bb] [SUDO_1_3_1]
22901
22902         * CHANGES:
22903         updated
22904         [7820ee610bf8]
22905
22906         * sudo_setenv.c:
22907         added unistd.h include
22908         [30cf2b654525]
22909
22910 1994-08-16  Todd C. Miller  <Todd.Miller@courtesan.com>
22911
22912         * sudo.c:
22913         added sys/time.h for AIX
22914         [199fc8caf3a3]
22915
22916 1994-08-15  Todd C. Miller  <Todd.Miller@courtesan.com>
22917
22918         * configure.in:
22919         added check for -lsocket and sys/sockio.h
22920         [f9abfbb31031]
22921
22922         * config.h.in:
22923         took out libshadow check and added in sys/sockio.h check
22924         [0c4b0393ac80]
22925
22926         * sudo.c:
22927         now include sockio.h instead of ioctl.h if it exists "sudo -" now
22928         gets a better error message
22929         [53041bea5483]
22930
22931         * sample.sudoers:
22932         now has a dir and subnet entry
22933         [56b820f65438]
22934
22935 1994-08-13  Todd C. Miller  <Todd.Miller@courtesan.com>
22936
22937         * sudo.c:
22938         removed if_ether.h
22939         [b4f64507493e]
22940
22941         * TODO:
22942         added an item
22943         [ea2a1bb6922a]
22944
22945         * sudo.man:
22946         added network and ip addresses to man page
22947         [01c85016511f]
22948
22949         * sudo.c:
22950         no error if can't get interfaces or netmask since networking may not
22951         be in the kernel.
22952         [50b8890e2134]
22953
22954         * parse.c:
22955         nwo check for interfaces == NULL
22956         [dc1b3eef0db2]
22957
22958         * parse.c:
22959         fixed a bug that caused directory specs in a Cmnd_Alias to fail if
22960         the last entry in the spec failed (ie: it was only looking at the
22961         last entry). CLeaned things up by adding the cmndcmp() function--all
22962         neat & tidy
22963         [007e93578e5e]
22964
22965         * CHANGES:
22966         added one
22967         [40e8a2cef497]
22968
22969 1994-08-12  Todd C. Miller  <Todd.Miller@courtesan.com>
22970
22971         * sudo.c:
22972         now do two passes to skip bogus interfaces (lo0, etc)
22973         [465e30aecaf7]
22974
22975         * parse.lex, parse.yacc, visudo.c:
22976         added include of netinet/in.h
22977         [11e3816ed362]
22978
22979         * logging.c, sudo_realpath.c, sudo_setenv.c:
22980         added ninclude of netinet/in.h
22981         [daccfa40fe1e]
22982
22983         * check.c, find_path.c, getcwd.c, getwd.c:
22984         added include of netinet/in.h
22985         [0222f95e06ad]
22986
22987         * version.h:
22988         ++
22989         [d6b0cfa35a38]
22990
22991         * sudo.h:
22992         added interfaces global
22993         [ba52fa8ad75e]
22994
22995         * parse.c:
22996         now uses new interfaces global
22997         [17473ad5ecba]
22998
22999         * sudo.c:
23000         now ip addresses are gleaned fw/o dns
23001         [8828bb2007e0]
23002
23003 1994-08-10  Todd C. Miller  <Todd.Miller@courtesan.com>
23004
23005         * sudo.c:
23006         added load_ip_addrs() to load the ip_addrs global var
23007         [60c825f04238]
23008
23009         * parse.c:
23010         added hostcmp() to compare hostnames, ip addrs, and network addrs
23011         [ab0e40e37537]
23012
23013         * sudo.h:
23014         added ip_addrs def added load_ip_addrs prototype
23015         [c41c565d0777]
23016
23017 1994-08-08  Todd C. Miller  <Todd.Miller@courtesan.com>
23018
23019         * CHANGES:
23020         updated
23021         [2a128dbe9bcb]
23022
23023         * Makefile.in:
23024         removed multiple entries in DISTFILES
23025         [2490f4f371e6]
23026
23027         * visudo.c:
23028         ansified the !STDC_HEADERS decls
23029         [646ba06d17ae]
23030
23031         * find_path.c, getcwd.c, getwd.c, putenv.c, strdup.c:
23032         don't do malloc decl if gnuc
23033         [f1bad1925f98]
23034
23035         * sudo.c:
23036         can't use getopt(3) since it munges args to the command to be run as
23037         root don't do malloc decl if gnuc
23038         [38e78f6da14e]
23039
23040         * find_path.c, getcwd.c, getwd.c, putenv.c, strdup.c, sudo.c,
23041         sudo_realpath.c, sudo_setenv.c:
23042         ansi-fied !STDC_HEADER function prottypes
23043         [51d8cad89976]
23044
23045         * getcwd.c, getwd.c:
23046         added missing paren
23047         [6a1fae70e27e]
23048
23049         * Makefile.in:
23050         added putenv.c to DISTFILES
23051         [a5e4523eabbb]
23052
23053         * sudo_setenv.c:
23054         added params to func decls when STDC_HEADERS is not defined now can
23055         count on putenv() being there
23056         [fd587796189b]
23057
23058         * sudo_realpath.c:
23059         took out errno decl since sudo.h does it for us fixed up a next cc
23060         warning added params to func decls when STDC_HEADERS is not defined
23061         [70fa5152ace6]
23062
23063         * sudo.h:
23064         took out environ extern added local declaratio of putenv() if local
23065         version is needed
23066         [a84bae6c020d]
23067
23068         * find_path.c, getcwd.c, getwd.c, strdup.c, sudo.c:
23069         added params to func decls when STDC_HEADERS is not defined
23070         [f406f0e47ac0]
23071
23072         * config.h.in:
23073         added memcpy check check to see that ansi vs bsd macros are ntot
23074         already defiend before defining (ie: avoid redefinition)
23075         [879ae026e19f]
23076
23077         * configure.in:
23078         removed fluff setenv check plus check w/ replace for putenv if also
23079         no setenv
23080         [e3c03814ad4b]
23081
23082         * putenv.c:
23083         Initial revision
23084         [3cff63e2dc1b]
23085
23086 1994-08-06  Todd C. Miller  <Todd.Miller@courtesan.com>
23087
23088         * sudo_setenv.c:
23089         Initial revision
23090         [4d637631fa6b]
23091
23092         * sudo.h:
23093         rm'd s realp[ath added sudo_realpath and sudo_setenv
23094         [07ba001ff57e]
23095
23096         * sudo.c:
23097         now use sudo_setenvc
23098         [fd81e04d5ef0]
23099
23100         * configure.in:
23101         added puteenv and setenv, removed realpath
23102         [27bfacfb513b]
23103
23104         * config.h.in:
23105         added putenv & setenv
23106         [515f14eaf6e4]
23107
23108         * Makefile.in:
23109         added sudo_setenv
23110         [217731a717c5]
23111
23112         * version.h:
23113         ++
23114         [eadb346d7129]
23115
23116 1994-08-05  Todd C. Miller  <Todd.Miller@courtesan.com>
23117
23118         * configure.in:
23119         added MAN_POSTINSTALL and /usr/share/catman for irix
23120         [2a9496c1bdba]
23121
23122         * Makefile.in:
23123         added MAN_POSTINSTALL
23124         [89b0d4695529]
23125
23126         * CHANGES:
23127         added
23128         [48c021ba8a70]
23129
23130         * sudo.man:
23131         added SUDO_* plus new options
23132         [c0759cff5683]
23133
23134         * CHANGES:
23135         added one
23136         [7d44a3922d56]
23137
23138         * configure.in:
23139         took out shadow lib
23140         [07cf3de18701]
23141
23142         * TODO:
23143         adde done
23144         [a27a578e8afe]
23145
23146         * visudo.c:
23147         now use yyrestart() if flex now reset yylineno to 0
23148         [77d67ce0b677]
23149
23150         * Makefile.in:
23151         support for installing a cat page instead of a man page if no nroff
23152         [44671c0fc0fa]
23153
23154         * configure.in:
23155         now defines HAVE_FLEX fixed up man stuff so that it looks for nroff
23156         to determine whether or not to install a cat or man page
23157         [0562d069c135]
23158
23159         * config.h.in:
23160         added HAVE_FLEX
23161         [c5490bae39d3]
23162
23163         * sudo.c:
23164         not set ret to MODE_RUN initially
23165         [88b4983c195b]
23166
23167         * find_path.c:
23168         made command (and therefor cmnd dynamically allocated)
23169         [95b82e32b6de]
23170
23171         * TODO:
23172         did #8
23173         [fb6f41308cdf]
23174
23175         * version.h:
23176         ++
23177         [14112ecab5ae]
23178
23179         * sudo_realpath.c:
23180         changed bufs from MAXPATHLEN to MAXPATHLEN+1
23181         [0ad4f34e55c0]
23182
23183         * sudo.h:
23184         added MODE_ removed validate_only and added remove_timestamp()
23185         [dd5f99c57728]
23186
23187         * sudo.c:
23188         usage() now takes an int (exit value) added parse_args() to parse
23189         command line arguments moved call to find_path() from load_globals
23190         to new function load_cmnd() removed validate_only global -- now use
23191         the concept of "modes" added -h and -k options
23192         [c3887090b28a]
23193
23194         * parse.c:
23195         no longer use global validate_only now checks for command called
23196         "validate" removed check for non-fully qualified commands since that
23197         is done by find_path
23198         [7d56fbd26369]
23199
23200         * find_path.c:
23201         changed MAXPATHLEN r to MAXPATHLEN+1
23202         [a86e8664d971]
23203
23204         * find_path.c:
23205         fixed off by one error with MAXPATHLEN and fixed a comment
23206         [58adcef8c981]
23207
23208         * check.c:
23209         check_timestamp no longer runs reminder(), it is implied in the
23210         return val added remove_timestamp()
23211         [42ab5a77066f]
23212
23213         * CHANGES:
23214         updated
23215         [8e69b31df024]
23216
23217 1994-08-04  Todd C. Miller  <Todd.Miller@courtesan.com>
23218
23219         * BUGS:
23220         fixed on
23221         [bc34f1ac4280]
23222
23223         * sudo_realpath.c:
23224         took out old_errno
23225         [a168d00a0768]
23226
23227         * CHANGES:
23228         updated
23229         [04ba80922df7]
23230
23231 1994-08-03  Todd C. Miller  <Todd.Miller@courtesan.com>
23232
23233         * logging.c:
23234         moved send_mail to after syslog
23235         [4d4188087834]
23236
23237         * sudo.c:
23238         now set SUDO_ envariables
23239         [e5963f1bd3bb]
23240
23241 1994-08-01  Todd C. Miller  <Todd.Miller@courtesan.com>
23242
23243         * version.h:
23244         ++
23245         [2a4534845d8c]
23246
23247         * sudo_realpath.c:
23248         now print error if chdir fails
23249         [0d75c8973d49]
23250
23251         * find_path.c:
23252         removed an XXX
23253         [e2077bcb35aa]
23254
23255 1994-07-26  Todd C. Miller  <Todd.Miller@courtesan.com>
23256
23257         * CHANGES:
23258         updated
23259         [e30a2b39b41a]
23260
23261         * configure.in:
23262         no more static binaries for aix
23263         [77a0beb6bd80]
23264
23265 1994-07-25  Todd C. Miller  <Todd.Miller@courtesan.com>
23266
23267         * INSTALL:
23268         fixed typo
23269         [ba5e0d391bc4]
23270
23271         * sudo_realpath.c:
23272         took out stuff not needed for sudo now does be_root/be_user itself
23273         now uses cwd global
23274         [4f6d4641d793]
23275
23276         * version.h:
23277         +=2
23278         [97da927b297c]
23279
23280         * logging.c, sudo.c:
23281         be_root/be_user is now down in sudo_realpath()
23282         [f331662fa50f]
23283
23284         * logging.c, sudo.h:
23285         now works with 4.2BSD syslog (blech)
23286         [98e39d89dd36]
23287
23288         * find_path.c:
23289         now use sudo_realpath()
23290         [ab436a8ebd02]
23291
23292         * config.h.in:
23293         took out realpth() stuff since we now use sudo_realpath()
23294         [8de5ef9f6044]
23295
23296         * configure.in:
23297         ultrix enhanced sec
23298         [815fb7fffcc0]
23299
23300         * SUPPORTED:
23301         added ultrix enhanced sec.
23302         [6466766c8062]
23303
23304         * INSTALL:
23305         updated
23306         [d681a634297a]
23307
23308         * check.c:
23309         ultrix enhanced security suport
23310         [f10c8decbcc2]
23311
23312         * Makefile.in:
23313         added sudo_realpath.c
23314         [6b9bcd3be022]
23315
23316         * CHANGES:
23317         updated
23318         [2fa8084c1b53]
23319
23320         * tgetpass.c:
23321         increased passwd len to 24 for c2 security
23322         [ec64838be62d]
23323
23324         * BUGS:
23325         updated BUGS
23326         [ca00d8fec2ce]
23327
23328 1994-07-15  Todd C. Miller  <Todd.Miller@courtesan.com>
23329
23330         * check.c:
23331         now use user global var
23332         [568769719013]
23333
23334         * configure.in:
23335         took out -ls
23336         [490a44180d5f]
23337
23338 1994-07-14  Todd C. Miller  <Todd.Miller@courtesan.com>
23339
23340         * configure.in:
23341         added AFS libs
23342         [4fb40c8c01ba]
23343
23344         * sudo.h:
23345         user is now a char * added epasswd
23346         [27a919fafdfb]
23347
23348         * sudo.c:
23349         added tzset() to load_globals added epasswd (encrypted password)
23350         global made user dynamically allocated
23351         [b99ef9bdbfce]
23352
23353         * configure.in:
23354         added tzset test
23355         [27592dd1214b]
23356
23357         * config.h.in:
23358         added HAVE_TZSET
23359         [b13f4213f3d0]
23360
23361         * check.c:
23362         cleaned up encrypted passwd grab somewhat
23363         [c8ba9a4db38a]
23364
23365         * configure.in:
23366         fixed AFS typo
23367         [2bfcbce237b6]
23368
23369         * INSTALL:
23370         added AFS not
23371         [80c67329393c]
23372
23373         * CHANGES:
23374         udpated
23375         [2f09ecdd5d31]
23376
23377         * logging.c:
23378         can now log to both syslog & a file
23379         [4d5c0932bc01]
23380
23381         * sudo.h:
23382         added BOTH_LOGS
23383         [623c539be824]
23384
23385         * CHANGES:
23386         updated
23387         [a1c7f5ef3616]
23388
23389         * configure.in:
23390         --with-AFS
23391         [28718d8f5daf]
23392
23393         * config.h.in:
23394         added HAVE_AFS
23395         [2e32bb4e63e4]
23396
23397         * check.c:
23398         added afs changes
23399         [fe4d0ff320a2]
23400
23401         * sudo.h:
23402         removed AFS stuff :-)
23403         [a40387e6fa27]
23404
23405         * tgetpass.c:
23406         include sys/select for AIX
23407         [f32c5a8f2c84]
23408
23409         * sudo.h:
23410         added AFS
23411         [da2ab3dd0348]
23412
23413         * version.h:
23414         ++
23415         [452d4dfe25af]
23416
23417 1994-07-07  Todd C. Miller  <Todd.Miller@courtesan.com>
23418
23419         * CHANGES, SUPPORTED:
23420         updated
23421         [e7dfe6f23a37]
23422
23423         * logging.c:
23424         can now have MAILER undefined
23425         [1d33b98b35e1]
23426
23427         * INSTALL:
23428         new sub-note about MAILER
23429         [d35c636a0574]
23430
23431         * sudo.man:
23432         added blurb about password timeout
23433         [70c2ee50de20]
23434
23435         * configure.in:
23436         convex c2 changes
23437         [367138a6232e]
23438
23439         * aclocal.m4:
23440         took out duplicate define of _CONVEX_SOURCE
23441         [647182138450]
23442
23443         * Makefile.in:
23444         added OSDEFS
23445         [7fdcd50602d1]
23446
23447         * config.h.in:
23448         added spaces
23449         [f2b8a05e48f3]
23450
23451         * tgetpass.c:
23452         added a goto if fgets fails
23453         [68a6586d9c45]
23454
23455         * sudo.h:
23456         use __hpux not hpux convex c2 stuff
23457         [5c377a8d5f34]
23458
23459         * sudo.c:
23460         use __hpux not hpux
23461         [9363bc0f9f9e]
23462
23463         * logging.c:
23464         convex c2 stuff
23465         [ea5630975ac4]
23466
23467         * config.h.in:
23468         define ansi-ish cpp os defines if non-ansi are defined for hpux &
23469         convex
23470         [664f53a5e786]
23471
23472         * INSTALL:
23473         updated to say we support sonvex C2
23474         [5f2f8b87013e]
23475
23476         * check.c:
23477         added convex c2 support
23478         [9a665d4918fa]
23479
23480 1994-07-01  Todd C. Miller  <Todd.Miller@courtesan.com>
23481
23482         * tgetpass.c:
23483         no more ioctl never returns NULL uses fgets() and select() to
23484         timeout
23485         [b333e6d63e97]
23486
23487 1994-06-29  Todd C. Miller  <Todd.Miller@courtesan.com>
23488
23489         * configure.in:
23490         things were testing -n "$GCC" instead of -z "$GCC"
23491         [059a9b15ede2]
23492
23493         * tgetpass.c:
23494         now works + uses fgets()
23495         [353d7ebcb7bb]
23496
23497 1994-06-28  Todd C. Miller  <Todd.Miller@courtesan.com>
23498
23499         * tgetpass.c:
23500         select doesn't seem to recognize a single '\n' as input waiting so
23501         we can;t use it, sigh.
23502         [f76e3218b835]
23503
23504 1994-06-26  Todd C. Miller  <Todd.Miller@courtesan.com>
23505
23506         * PORTING:
23507         updated tgetpass() blurb
23508         [95baac736b49]
23509
23510         * configure.in:
23511         added --with-getpass
23512         [42ac0bdf58ed]
23513
23514         * Makefile.in:
23515         added tgetpass stuff
23516         [e2b38c635663]
23517
23518         * tgetpass.c:
23519         now uses stdio
23520         [36af8ff66e35]
23521
23522         * version.h:
23523         ++
23524         [4e81c9db19bd]
23525
23526 1994-06-24  Todd C. Miller  <Todd.Miller@courtesan.com>
23527
23528         * PORTING:
23529         updated ,.
23530         [54f523770a05]
23531
23532         * config.h.in:
23533         added USE_GETPASS && HAVE_C2_SECURITY
23534         [86b355cb2953]
23535
23536         * configure.in:
23537         fixed a test aded --with-C2 and --with-tgetpass
23538         [abf6181588ef]
23539
23540         * check.c:
23541         added hpux C2 shit
23542         [20d4177ffa88]
23543
23544         * Makefile.in:
23545         took out tgetpass.*
23546         [cc82fd9984b4]
23547
23548         * INSTALL:
23549         added C2 blurb
23550         [1d2bfc35e4b6]
23551
23552 1994-06-13  Todd C. Miller  <Todd.Miller@courtesan.com>
23553
23554         * configure.in:
23555         no termio(s) for ultrix since it is broken
23556         [d3e82e835350]
23557
23558         * check.c:
23559         added a space (yeah, anal)
23560         [05e4b31ca68c]
23561
23562         * realpath.c, sudo_realpath.c:
23563         fixed it (duh, rtfm)
23564         [f13097cb8cb6]
23565
23566 1994-06-08  Todd C. Miller  <Todd.Miller@courtesan.com>
23567
23568         * config.h.in:
23569         took out bsd signal stuff for irix
23570         [e179cdafc97a]
23571
23572         * visudo.c:
23573         comments in #endif
23574         [e3a629190f5e]
23575
23576         * configure.in:
23577         don't define BSD signals for irix
23578         [3ce57bffb7f0]
23579
23580         * TODO:
23581         did some...
23582         [274241cd0f74]
23583
23584         * CHANGES:
23585         updated
23586         [8f29fc755faf]
23587
23588         * realpath.c, sudo_realpath.c:
23589         took out unneeded code by changing where a strings was terminated
23590         [b5564d62d30e]
23591
23592 1994-06-07  Todd C. Miller  <Todd.Miller@courtesan.com>
23593
23594         * realpath.c, sudo_realpath.c:
23595         fix bug where /dirname would return NULL
23596         [b85f470daf26]
23597
23598         * sudo.h:
23599         move __P to config.h
23600         [7763c0ff3f28]
23601
23602         * getcwd.c, getwd.c, realpath.c, sudo_realpath.c:
23603         added errno definition
23604         [4cc9d2d9782a]
23605
23606         * config.h.in:
23607         added __P
23608         [ca06f5aa58f3]
23609
23610         * config.h.in:
23611         added HAVE_FCHDIR
23612         [206d714641e0]
23613
23614         * strdup.c:
23615         now include stdio
23616         [0d8458da0e1d]
23617
23618         * realpath.c, sudo_realpath.c:
23619         now works if no fchdir
23620         [e035911b6722]
23621
23622         * visudo.c:
23623         define SA_RESETHAND to null if not defined
23624         [afec03e84342]
23625
23626         * configure.in:
23627         added check & replace
23628         [c1a65481441c]
23629
23630         * configure.in:
23631         took out -static for nextstep -- it doesn't work
23632         [fa1a1a611743]
23633
23634 1994-06-06  Todd C. Miller  <Todd.Miller@courtesan.com>
23635
23636         * logging.c:
23637         moved #endif to where it belongs
23638         [07d3a8972097]
23639
23640         * SUPPORTED:
23641         correction
23642         [0c1ecba3e5a3]
23643
23644         * configure.in:
23645         now checks for strdup realpath getcwd bzero
23646         [f029a1917515]
23647
23648         * config.h.in:
23649         emulate bzero
23650         [d792352e44a3]
23651
23652         * visudo.c:
23653         added posic signals
23654         [2ed0005f90fc]
23655
23656         * tgetpass.c:
23657         bzero cast
23658         [6d91b1a1526f]
23659
23660         * logging.c:
23661         added posix signals
23662         [67ede9c22a05]
23663
23664         * configure.in:
23665         removed BROKEN_GETPASS added new srcs toreplace missing functions
23666         [cf44274bb1c8]
23667
23668         * config.h.in:
23669         added posix signal stuff
23670         [a3c1c98fe8ef]
23671
23672         * Makefile.in:
23673         added new srcs
23674         [b6a079afee47]
23675
23676         * visudo.c:
23677         updated useag
23678         [589ed091c44f]
23679
23680         * tgetpass.c:
23681         now uses posix signals
23682         [30f74964074f]
23683
23684         * PORTING:
23685         updated sto reflect major changes
23686         [bcfc309e017b]
23687
23688         * CHANGES, TODO:
23689         updated
23690         [23aacbd54278]
23691
23692         * tgetpass.c:
23693         uses sysconf() if available
23694         [a27431c90bab]
23695
23696         * sudo.h:
23697         added PASSWORD_TIMEOUT + prototypes for new functions
23698         [d7473c2f77c4]
23699
23700         * realpath.c, sudo_realpath.c:
23701         for those w/o this in libc
23702         [1e47aa7a9d46]
23703
23704         * getcwd.c, getwd.c:
23705         Initial revision
23706         [c90dea57a84f]
23707
23708         * find_path.c:
23709         rewrote to use realpath(3) - nis now all my code
23710         [d2c3bb8fb37d]
23711
23712         * config.h.in:
23713         added HAVE_REALPATH
23714         [02c10352a8c7]
23715
23716         * check.c:
23717         now use tgetpass
23718         [b5c021fc179f]
23719
23720         * Makefile.in:
23721         added LIBOBJS use tgetpass.c
23722         [230a7b3eeaa3]
23723
23724 1994-06-05  Todd C. Miller  <Todd.Miller@courtesan.com>
23725
23726         * tgetpass.c:
23727         works now :-)
23728         [025e7a3875ba]
23729
23730         * tgetpass.c:
23731         Initial revision
23732         [3316ab33b230]
23733
23734         * pathnames.h.in:
23735         added /dev/tty
23736         [29242585e53f]
23737
23738 1994-06-04  Todd C. Miller  <Todd.Miller@courtesan.com>
23739
23740         * version.h:
23741         incremented
23742         [f2e54b48280f]
23743
23744         * sudo.c:
23745         always use getcwd
23746         [c6068e8a4029]
23747
23748         * config.h.in:
23749         added check for getwd
23750         [ab1e102ad673]
23751
23752         * configure.in:
23753         replace strdup & realpath & getcwd if missing
23754         [b0eb14f2a1c3]
23755
23756         * pathnames.h.in:
23757         added _PATH_PWD
23758         [309d2388f69a]
23759
23760         * aclocal.m4:
23761         added SUDO_PROG_PWD
23762         [e16e85deb96c]
23763
23764         * strdup.c:
23765         Initial revision
23766         [810efdc15007]
23767
23768         * realpath.c, sudo_realpath.c:
23769         Initial revision
23770         [d85eee438e09]
23771
23772 1994-06-03  Todd C. Miller  <Todd.Miller@courtesan.com>
23773
23774         * configure.in:
23775         quoted quare brackets
23776         [d0e7ca111d98]
23777
23778 1994-06-02  Todd C. Miller  <Todd.Miller@courtesan.com>
23779
23780         * sudo.c:
23781         no need to strdup() a constant
23782         [a8c44712df9a]
23783
23784         * CHANGES:
23785         updated
23786         [71364129cca0]
23787
23788         * sudo.man:
23789         added validate
23790         [0bb198095a26]
23791
23792         * sudo.c:
23793         added -v to usage
23794         [31ea71f11dbb]
23795
23796         * parse.c, sudo.c, sudo.h:
23797         added validate_only stuff
23798         [9bcd853d3c90]
23799
23800 1994-05-30  Todd C. Miller  <Todd.Miller@courtesan.com>
23801
23802         * configure.in:
23803         now finds sed
23804         [6374bb0d3f28]
23805
23806         * aclocal.m4:
23807         $OSREV is now an int
23808         [ace0666d66cf]
23809
23810 1994-05-29  Todd C. Miller  <Todd.Miller@courtesan.com>
23811
23812         * configure.in:
23813         added mtxinu to caser
23814         [73a776887b16]
23815
23816         * sudo.h:
23817         added EXEC macro
23818         [2e8eb28b710a]
23819
23820         * sudo.c:
23821         now use the EXEC nmacro now only do a gethostbyname() if FQDN is set
23822         [56afb4f658d5]
23823
23824         * logging.c:
23825         changed mail_argv[] def now use EXEC() macro
23826         [ddcabd28edb1]
23827
23828         * check.c:
23829         took out crypt() definition
23830         [0e657724cf5f]
23831
23832         * version.h:
23833         upped the version
23834         [62c5d66119fc]
23835
23836         * configure.in:
23837         always look for -lnsl
23838         [d7b594f0313b]
23839
23840         * aclocal.m4:
23841         added an echo
23842         [1caae3491dc5]
23843
23844         * sudo.h:
23845         SHORT_MESSAGE is now the default
23846         [cfce35c3119a]
23847
23848         * config.h.in:
23849         fixed typo
23850         [6499a564bf75]
23851
23852         * configure.in:
23853         added missing AC_DEFINE(SVR4) for solaris
23854         [feef0b17b94f]
23855
23856         * sudo.man:
23857         documented the -v flag
23858         [a6429f2bc2cf]
23859
23860         * SUPPORTED:
23861         updated
23862         [088886e79540]
23863
23864         * check.c:
23865         proto-ized crypt()
23866         [801e4ff5b121]
23867
23868         * config.h.in:
23869         added LIBSHADOW undef
23870         [8df588e9ee2b]
23871
23872         * configure.in:
23873         nwo set OS to be lowercase
23874         [561ebed833e4]
23875
23876 1994-05-28  Todd C. Miller  <Todd.Miller@courtesan.com>
23877
23878         * configure.in:
23879         now use SUDO_OSTYPE to set $OS
23880         [0e60aee23098]
23881
23882         * aclocal.m4:
23883         now use uname to determine os
23884         [99705e58d400]
23885
23886         * visudo.c:
23887         added prototypes & moved sig handler around
23888         [1f0bc8d23b51]
23889
23890         * sudo.h:
23891         added prototyppes
23892         [be3935a2b163]
23893
23894         * check.c, logging.c, sudo.c:
23895         added prototypes
23896         [2079b4605ab8]
23897
23898         * parse.c:
23899         added comment
23900         [a34d147d8399]
23901
23902         * config.h.in:
23903         nwo use _BSD_SIGNALS not _BSD_COMPAT
23904         [63663195f047]
23905
23906         * aixcrypt.exp:
23907         Initial revision
23908         [890aed08357e]
23909
23910         * Makefile.in:
23911         added aixcrypt.exp
23912         [1005a183105f]
23913
23914         * parse.lex, parse.yacc:
23915         moved config.h to top of includes
23916         [9569c49aa5f3]
23917
23918 1994-05-25  Todd C. Miller  <Todd.Miller@courtesan.com>
23919
23920         * find_path.c:
23921         now don't bitch if get EACCESS (treat like EPERM)
23922         [dbeffb638de4]
23923
23924         * visudo.c:
23925         added -v flag and usage()
23926         [4d44ed60ed75]
23927
23928         * version.h:
23929         fixed a typo
23930         [cf3f9347ae41]
23931
23932         * sudo.c:
23933         cast Argv to a const for exec added -v flag
23934         [d11b6efc0e45]
23935
23936         * logging.c:
23937         mail_argv is now a const
23938         [93bb5d90bb6f]
23939
23940         * configure.in:
23941         only set RETSIGTYPE if it is not set already
23942         [c97aac260b77]
23943
23944         * aclocal.m4:
23945         now defines & STDC_HEADERS for Irix
23946         [9c2b24ad1fc5]
23947
23948         * Makefile.in:
23949         added version.h
23950         [9f79e880229a]
23951
23952         * insults.h, sudo.h:
23953         prevent multiple inclusion
23954         [d68c8a9243ce]
23955
23956         * version.h:
23957         Initial revision
23958         [dbb39c5ef8d9]
23959
23960         * parse.lex, parse.yacc:
23961         now includes config.h
23962         [f117e036a56b]
23963
23964         * aclocal.m4:
23965         now talks about sunos 4.x
23966         [c9054aa92d4e]
23967
23968         * visudo.c:
23969         calls to Exit now pass an arg
23970         [a92104670551]
23971
23972 1994-05-24  Todd C. Miller  <Todd.Miller@courtesan.com>
23973
23974         * visudo.c:
23975         signal handler now takes an int argument
23976         [26f480c41523]
23977
23978         * CHANGES:
23979         updated
23980         [8c166a9d796b]
23981
23982         * sudo.c:
23983         ok, the getcwd() is now *really* done as the user
23984         [ab86cf85134a]
23985
23986         * configure.in:
23987         changed AIX STATIC_FLAGS
23988         [b9c0a3ba5663]
23989
23990         * aclocal.m4:
23991         solaris now defines SVR4
23992         [c3e20cac96f5]
23993
23994         * sudo.h:
23995         added cwd and fixed stupid core dump that makes no sense. sigh.
23996         [7a9755436dbb]
23997
23998         * sudo.c:
23999         moved getcwd stuff into load_globals
24000         [ec2bc90df1f3]
24001
24002         * parse.c:
24003         took out externs that are in suod.h
24004         [93c4b3f856d7]
24005
24006         * logging.c:
24007         moved cwd into load_globals
24008         [050de754d228]
24009
24010         * find_path.c:
24011         moved cwd stuff
24012         [22f3f3b4c34d]
24013
24014         * Makefile.in:
24015         fixed make distclean & realclean
24016         [c9964d89bcef]
24017
24018         * TODO:
24019         updated .,
24020         [e513581ef0e3]
24021
24022         * CHANGES:
24023         added solaris changes
24024         [505d930daf27]
24025
24026         * aclocal.m4:
24027         added solaris changes, need to rework
24028         [33f20fb16c49]
24029
24030         * configure.in:
24031         cleaned up for solaris
24032         [2fb8cfa05d0f]
24033
24034         * logging.c:
24035         reinstall reapchild signal handler for non-bsd signals
24036         [3d1dc545113d]
24037
24038         * sudo.h:
24039         took out getdtablesize() emulation for HP-UX (no longer needed)
24040         [1fc83d170f34]
24041
24042         * sudo.c:
24043         support for HAVE_SYSCONF
24044         [50ca2a7a224a]
24045
24046         * visudo.c:
24047         added <fcntl.h> for solaris & reorg'd the includes + minor prettying
24048         up /
24049         [0a570e826dd4]
24050
24051         * config.h.in:
24052         added HAVE_SYSCONF
24053         [2b9a9f3a4e94]
24054
24055 1994-05-16  Todd C. Miller  <Todd.Miller@courtesan.com>
24056
24057         * configure.in:
24058         now tells you what os you are running /.
24059         [06c6332a895b]
24060
24061         * aclocal.m4:
24062         took out extra ','
24063         [e8c75ce59f4a]
24064
24065 1994-05-14  Todd C. Miller  <Todd.Miller@courtesan.com>
24066
24067         * config.h.in:
24068         added _BSD_COMPAT
24069         [73c5099806c2]
24070
24071         * aclocal.m4:
24072         fixed for irix5
24073         [1047d1f6c0eb]
24074
24075         * CHANGES:
24076         updated
24077         [1bc4969fee96]
24078
24079         * sudo.c:
24080         uid seinitialized to -2
24081         [8d7812b1878b]
24082
24083 1994-04-28  Todd C. Miller  <Todd.Miller@courtesan.com>
24084
24085         * sudo.c:
24086         now removes LIBPATH for AIX
24087         [075392eb1dd9]
24088
24089 1994-03-13  Todd C. Miller  <Todd.Miller@courtesan.com>
24090
24091         * configure.in:
24092         now uses ufc if it finds it
24093         [ab6ce30a5958]
24094
24095 1994-03-12  Todd C. Miller  <Todd.Miller@courtesan.com>
24096
24097         * sudo.h:
24098         no longer define yyval & yylval since yacc does it
24099         [09d250aea50a]
24100
24101         * parse.lex:
24102         now defines yylval as extenr
24103         [8ec2b88952bc]
24104
24105         * configure.in:
24106         BROKEN_GETPASS is now an OPTION
24107         [3714f4bb8312]
24108
24109         * config.h.in:
24110         took out BROKEN_GETPASS
24111         [9c4f6aa50137]
24112
24113         * Makefile.in:
24114         took out big comment
24115         [4c13cff0e556]
24116
24117         * README:
24118         updated
24119         [b8b9902b620d]
24120
24121         * Makefile.in:
24122         took out README.beta
24123         [ed2cd861e82b]
24124
24125         * SUPPORTED:
24126         Initial revision
24127         [2fffc51e6606]
24128
24129         * INSTALL:
24130         now reference SUPPORTED .,
24131         [d112c30be1f2]
24132
24133         * config.h.in:
24134         now check for convex OR __convex__
24135         [a0e5701a3069]
24136
24137         * aclocal.m4:
24138         now check for convex or __convex__
24139         [5dae2bfbe3bc]
24140
24141         * Makefile.in:
24142         added dist target
24143         [400a54de57db]
24144
24145         * aclocal.m4:
24146         use __convex__
24147         [58a19470ed0b]
24148
24149         * find_path.c:
24150         now use _S_* stat stuff to be ansi-like
24151         [28cce560e048]
24152
24153         * INSTALL:
24154         updated for configure directions
24155         [a034ccc7c30a]
24156
24157         * Makefile.in:
24158         distclean now removes config.h and pathnames.h
24159         [300f2349b4ab]
24160
24161         * CHANGES:
24162         updated
24163         [646f7e9430c1]
24164
24165         * TODO:
24166         fixed typoe
24167         [70fd6361b2bc]
24168
24169         * visudo.c:
24170         updated version
24171         [cf13d87d789f]
24172
24173         * Makefile.in:
24174         updated version
24175         [8c5dacc27a7a]
24176
24177         * config.h.in, pathnames.h.in:
24178         added copyright header
24179         [747ce3d3d6b7]
24180
24181         * check.c, find_path.c, insults.h, logging.c, parse.c, parse.lex,
24182         parse.yacc, sudo.c, sudo.h:
24183         udpated version
24184         [4751c39bad18]
24185
24186         * visudo.c:
24187         udpated to use configure + pathnames.h
24188         [d45dff76a1cd]
24189
24190         * aclocal.m4:
24191         updated
24192         [f05a367a55be]
24193
24194         * Makefile.in, config.h.in, configure.in:
24195         updated
24196         [524778598879]
24197
24198         * sudo.h:
24199         now works with configure
24200         [83fc40e533f4]
24201
24202         * check.c, find_path.c, getpass.c, logging.c, parse.c, sudo.c:
24203         updated to work with configure + pathnames.h
24204         [cb67fa6ab52d]
24205
24206         * Makefile.in:
24207         added LEXLIB
24208         [f43cad4ab0a2]
24209
24210 1994-03-10  Todd C. Miller  <Todd.Miller@courtesan.com>
24211
24212         * COPYING:
24213         updated gnu general licence to versio 2
24214         [2b0b56112ddc]
24215
24216         * config.h.in, pathnames.h.in:
24217         Initial revision
24218         [4b586f39ec2d]
24219
24220         * sudo.h:
24221         changed to work with configure
24222         [13f3506ddf16]
24223
24224 1994-03-09  Todd C. Miller  <Todd.Miller@courtesan.com>
24225
24226         * Makefile.in, aclocal.m4, configure.in:
24227         Initial revision
24228         [a8636ae77371]
24229
24230         * visudo.c:
24231         now uses defines used by configure
24232         [de438d118993]
24233
24234 1994-03-01  Todd C. Miller  <Todd.Miller@courtesan.com>
24235
24236         * find_path.c:
24237         sudo won't bitch about EPERM now, for real
24238         [ce26d9ef7e3f]
24239
24240 1994-02-28  Todd C. Miller  <Todd.Miller@courtesan.com>
24241
24242         * logging.c:
24243         renamed exec_argv to eliminate a libc name clash with ksros
24244         [bcb4350d8411]
24245
24246         * CHANGES:
24247         corrected
24248         [dae68d422efd]
24249
24250         * logging.c, sudo.c, sudo.h:
24251         execve -> execv
24252         [40cc2c4bdb15]
24253
24254         * TODO:
24255         upated
24256         [9275a8b8fc45]
24257
24258         * PORTING:
24259         added 2 mroe items
24260         [6cbb5c56993c]
24261
24262         * CHANGES:
24263         updated
24264         [73f34f8e571a]
24265
24266         * sudo.h:
24267         added UMASK and mode_t declaration
24268         [7c2015e1d171]
24269
24270         * sudo.c:
24271         added UMASK
24272         [d37be7523680]
24273
24274         * logging.c:
24275         now opens log file with mode 077
24276         [0825cc3ee841]
24277
24278         * check.c:
24279         saved current umask ans restores it
24280         [659c1aaae8e8]
24281
24282         * sudo.h:
24283         added MAXLOGFILELEN
24284         [34331c7dee90]
24285
24286         * logging.c:
24287         split long log lines. FOr syslog, split into multiple entries, for
24288         a log file, indent the extra for readability
24289         [72c9e4cdba6e]
24290
24291 1994-02-27  Todd C. Miller  <Todd.Miller@courtesan.com>
24292
24293         * CHANGES:
24294         added changes
24295         [81196833673d]
24296
24297         * sudo.h:
24298         MAXLOGLEN & MAXSYSLOGLEN are now different (as they should be)
24299         [1aa69e903840]
24300
24301 1994-02-25  Todd C. Miller  <Todd.Miller@courtesan.com>
24302
24303         * TODO:
24304         added input from Brett M Hogden <hogden@rge.com>
24305         [80f01fc88ce9]
24306
24307 1994-02-16  Todd C. Miller  <Todd.Miller@courtesan.com>
24308
24309         * sudo.c:
24310         added rmenv() to remove stuff from environ. can now uses execvp()
24311         OR execve() becuase of this.
24312         [e7fc2535bd67]
24313
24314         * logging.c:
24315         now uses execvp() OR execve()
24316         [56391aa1f99d]
24317
24318         * sudo.h:
24319         added USE_EXECVE
24320         [f21f38050b95]
24321
24322         * sudo.h:
24323         added environ
24324         [6b805e23c6f6]
24325
24326         * find_path.c:
24327         now ignore EPERM
24328         [c8fd7117a1d7]
24329
24330         * sudo.h:
24331         moved some func decls out of sudo.h and into sudo.c as statics /.
24332         [5f555c267d27]
24333
24334         * CHANGES:
24335         updated
24336         [431f478af320]
24337
24338         * sudo.h:
24339         took out Envp
24340         [6f722be7793d]
24341
24342 1994-02-14  Todd C. Miller  <Todd.Miller@courtesan.com>
24343
24344         * BUGS:
24345         Initial revision
24346         [4a8ecf0da95c]
24347
24348 1994-02-10  Todd C. Miller  <Todd.Miller@courtesan.com>
24349
24350         * CHANGES:
24351         added SECURE_PATH
24352         [1c72cb222609]
24353
24354         * sudo.c, sudo.h:
24355         added SECURE_PATH
24356         [5bf5357a63c5]
24357
24358         * sudo.h:
24359         added SECURE_PATH
24360         [3976a74405ac]
24361
24362         * INSTALL:
24363         added sample.sudoers note
24364         [1b395d29aaeb]
24365
24366         * sudoers:
24367         Initial revision
24368         [485888d07477]
24369
24370 1994-02-09  Todd C. Miller  <Todd.Miller@courtesan.com>
24371
24372         * find_path.c:
24373         fixed typo
24374         [bfc3cc4d41ca]
24375
24376         * PORTING:
24377         took out SAVED_UID garbage
24378         [b7c2d3469661] [SUDO_1_3_0]
24379
24380         * INSTALL:
24381         mentioned HAL
24382         [253d6695df90]
24383
24384         * sudo.h:
24385         added HAL line
24386         [29ec1a4ac6de]
24387
24388         * insults.h:
24389         added HAL insults
24390         [7d7c96d77c74]
24391
24392         * TODO:
24393         updated
24394         [aa2ed9790586]
24395
24396         * logging.c:
24397         more verbose error if mailer not found
24398         [fca47fd00cb6]
24399
24400         * check.c:
24401         now do getpwent as root for soem shadow password systems (bsdi)
24402         [e0339e110d46]
24403
24404 1994-02-08  Todd C. Miller  <Todd.Miller@courtesan.com>
24405
24406         * sudo.h:
24407         took out SAVED_UID garbade
24408         [fcb0e81dcdb5]
24409
24410         * sudo.c:
24411         took out SAVED_UID garbage since it don't work
24412         [507e9513e9c2]
24413
24414 1994-02-06  Todd C. Miller  <Todd.Miller@courtesan.com>
24415
24416         * README:
24417         updated
24418         [d2b6b253dae5]
24419
24420         * insults.h:
24421         added a missing space :-)
24422         [8940ea991f87]
24423
24424         * sudo.c, sudo.h:
24425         took out multimax cruft
24426         [c2606b365181]
24427
24428         * INSTALL:
24429         minor update
24430         [05fb6ee73131]
24431
24432         * PORTING:
24433         finished
24434         [c4ac47c84dc5]
24435
24436         * sudo.c:
24437         fixed a typo + indentation
24438         [7eab40aae8fa]
24439
24440 1994-02-05  Todd C. Miller  <Todd.Miller@courtesan.com>
24441
24442         * sudo.h:
24443         took outumoved some defines to the config file ,. ,.
24444         [defff05beb52]
24445
24446         * PORTING:
24447         Initial revision
24448         [c803e9127959]
24449
24450         * TODO:
24451         did #6
24452         [c6fa1c946c31]
24453
24454         * sudo.h:
24455         added HAS_SAVED_UID
24456         [6a88a39c0a07]
24457
24458         * sudo.c:
24459         put back AIX cruft
24460         [a24d2507ddd4]
24461
24462 1994-02-03  Todd C. Miller  <Todd.Miller@courtesan.com>
24463
24464         * sudo.c:
24465         aix changes
24466         [1663915f754a]
24467
24468 1994-02-02  Todd C. Miller  <Todd.Miller@courtesan.com>
24469
24470         * CHANGES:
24471         updated
24472         [a8cc73747cae]
24473
24474         * check.c, logging.c, parse.c, sudo.c, sudo.h:
24475         now is only root when abs necesary
24476         [3c9d12c5cdfe]
24477
24478         * check.c:
24479         added missing %s\n
24480         [609320b72d89]
24481
24482 1994-01-31  Todd C. Miller  <Todd.Miller@courtesan.com>
24483
24484         * install-sh:
24485         Initial revision
24486         [b5bba140a175]
24487
24488         * TODO:
24489         updated
24490         [c9d2eba602af]
24491
24492         * CHANGES:
24493         updated
24494         [932f1fc3bb14]
24495
24496         * sudo.c:
24497         now removed _RLD_* for alphas
24498         [54a36e648158]
24499
24500         * INSTALL:
24501         updated for new config scheme
24502         [61c8ae800444]
24503
24504         * find_path.c:
24505         more verbose eror messages
24506         [b4fd123db42d]
24507
24508 1994-01-27  Todd C. Miller  <Todd.Miller@courtesan.com>
24509
24510         * TODO:
24511         now have solaris
24512         [371002fbf266]
24513
24514         * sudo.h:
24515         define __svr4__ for SOLARIS
24516         [0b5cf5ed936d]
24517
24518         * check.c:
24519         added svr4 junk for shadow pws for solaris 2.x
24520         [91ed58f21618]
24521
24522         * check.c, sudo.c:
24523         took out setuid(0) and setreuid(udi) garbage. Its not needed since
24524         we start out setuid with the correct perms.
24525         [07689e782b0b]
24526
24527         * check.c, sudo.c, sudo.h:
24528         now use setreuid()
24529         [7d64d685d78e]
24530
24531 1994-01-26  Todd C. Miller  <Todd.Miller@courtesan.com>
24532
24533         * sudo.man:
24534         revised AUTHORS secrtion & added ENV_EDITOR stuff to VARIABLES
24535         sectoin
24536         [b26967b1e19b]
24537
24538         * visudo.c:
24539         now uses ENV_EDITOR if you want to use the EDITOR envar
24540         [a4f8fcb9bd1d]
24541
24542         * sudo.h:
24543         now uses ENV_EDITOR if you want to use the EDITOR envar >> .
24544         [028cc55c4328]
24545
24546 1993-12-07  Todd C. Miller  <Todd.Miller@courtesan.com>
24547
24548         * INSTALL:
24549         rewrote most of this
24550         [a6750923f9c9]
24551
24552         * README:
24553         minor update + spell fix
24554         [a411717a7249]
24555
24556         * sudo.h:
24557         added all options that are in the Makefile
24558         [6db3b3b841b3]
24559
24560         * getpass.c:
24561         now use USE_TERMIO #define for sgi & hpux
24562         [b91f89ae6be1]
24563
24564         * TODO:
24565         todo: posix sigs
24566         [4548a56eb2ef]
24567
24568 1993-12-06  Todd C. Miller  <Todd.Miller@courtesan.com>
24569
24570         * check.c, find_path.c:
24571         always include strings.h
24572         [1fc20bda92c0]
24573
24574         * visudo.c:
24575         added STATICEDITOR
24576         [0596f820716e]
24577
24578         * sudo.h:
24579         sgi has vi in /usr/bin too
24580         [94203b62bfd9]
24581
24582         * sudo.man:
24583         added VISUAL
24584         [87c2844c4cac]
24585
24586 1993-12-03  Todd C. Miller  <Todd.Miller@courtesan.com>
24587
24588         * sudo.h:
24589         sue /usr/bin/vi on some systems
24590         [e3ad9190f35e]
24591
24592         * sudo.c:
24593         fixed warning (include strings.h)
24594         [0b896de4d8a0]
24595
24596         * sudo.man:
24597         added John_Rouillard@dl5000.bc.edu's changes (new features)
24598         [f41b4205a8cf]
24599
24600         * CHANGES:
24601         changes from John_Rouillard@dl5000.bc.edu
24602         [6bdef8e948d5]
24603
24604         * visudo.c:
24605         added EDITOR envar
24606         [5c4bf716de21]
24607
24608         * check.c, find_path.c, parse.c, sudo.c:
24609         added patches from John_Rouillard directory spec
24610         uses EDITOR
24611         [f62a435f8c41]
24612
24613 1993-12-02  Todd C. Miller  <Todd.Miller@courtesan.com>
24614
24615         * getpass.c:
24616         added flush for hpux
24617         [07cfdd6a7b55]
24618
24619 1993-11-30  Todd C. Miller  <Todd.Miller@courtesan.com>
24620
24621         * sudo.c:
24622         no longer assume malloc returns a char *
24623         [7480bd2756f3]
24624
24625         * sudo.c:
24626         alpha change to remove LD_-like thing fixed SHLIB_PATH stuff -- now
24627         gets removed correctly
24628         [8587166c6ac8]
24629
24630         * sudo.h:
24631         added STD_HEADERS macro
24632         [480f5a9a516c]
24633
24634         * sudo.c:
24635         now uses STD_HEADERS macor for ansi
24636         [c5018806fd59]
24637
24638         * find_path.c:
24639         now uses STD_HEADERS macro
24640         [ad821e0788ea]
24641
24642         * check.c:
24643         niceties for C compiler bitches -- no real change
24644         [0fc0b1a5fb64]
24645
24646 1993-11-29  Todd C. Miller  <Todd.Miller@courtesan.com>
24647
24648         * visudo.c:
24649         now doesn't fclose a file never opened.
24650         [ee888ec9427d]
24651
24652 1993-11-28  Todd C. Miller  <Todd.Miller@courtesan.com>
24653
24654         * sudo.man:
24655         added visudo line
24656         [698d51c66407]
24657
24658         * sudo.man:
24659         added error stuff added me in there...
24660         [d202fd34b906]
24661
24662         * CHANGES:
24663         noted insults
24664         [998a22c2230c]
24665
24666         * INSTALL:
24667         added blurb about reading stuff
24668         [e71db100798f]
24669
24670         * sudo.h:
24671         added insults
24672         [c110431cec56]
24673
24674         * insults.h:
24675         corrected somments and removed newlines
24676         [493706fd488c]
24677
24678         * check.c:
24679         now uses insults
24680         [6d23cf06a0ef]
24681
24682         * insults.h:
24683         Initial revision
24684         [83153c26b4a3]
24685
24686         * INSTALL:
24687         added dec syslog note
24688         [555437273237]
24689
24690         * sample.sudoers:
24691         added real stuff in there
24692         [53442a7fba78]
24693
24694         * TODO:
24695         added a todo
24696         [c630472bd4dc]
24697
24698         * TODO:
24699         added one
24700         [806464453284]
24701
24702 1993-11-27  Todd C. Miller  <Todd.Miller@courtesan.com>
24703
24704         * sample.sudoers:
24705         Initial revision
24706         [7db0a9f1ca8f]
24707
24708         * sudo.man:
24709         updated with changes
24710         [d9bf254c6c08]
24711
24712         * sudo.man:
24713         Initial revision
24714         [dd6f11174ac6]
24715
24716         * indent.pro:
24717         Initial revision
24718         [dbfbb494fad9]
24719
24720         * CHANGES, COPYING, INSTALL, README, TODO:
24721         Initial revision
24722         [6d98f489a079]
24723
24724         * visudo.c:
24725         updated version number and took out jeff's old addr since it is no
24726         good
24727         [ee47c24818cb]
24728
24729         * check.c, find_path.c, logging.c, parse.c, parse.lex, parse.yacc,
24730         sudo.c, sudo.h:
24731         updated version number and took out jeff's email (since it is
24732         invalid)
24733         [54616458a52e]
24734
24735 1993-10-28  Todd C. Miller  <Todd.Miller@courtesan.com>
24736
24737         * check.c:
24738         added fflush()
24739         [145c881f4fb4]
24740
24741 1993-10-23  Todd C. Miller  <Todd.Miller@courtesan.com>
24742
24743         * find_path.c:
24744         now return NULL instead pf\b\bof exiting for nopn\b\bn-fatal errors
24745         [8bc74f8cb1ae]
24746
24747 1993-10-21  Todd C. Miller  <Todd.Miller@courtesan.com>
24748
24749         * check.c:
24750         new banner
24751         [5387ab2af516]
24752
24753         * parse.lex:
24754         now sudo.h gets included first
24755         [2acb01c18e18]
24756
24757 1993-10-18  Todd C. Miller  <Todd.Miller@courtesan.com>
24758
24759         * parse.lex:
24760         now can use flex
24761         [164d3839adf0]
24762
24763         * sudo.h:
24764         linux patch
24765         [f1b6b1b1a2ca]
24766
24767         * sudo.c:
24768         hpux 9 fix, removes SHLIB_PATH linux patch
24769         [67611dc1737f]
24770
24771         * check.c:
24772         linux diff
24773         [c24536682397]
24774
24775 1993-10-15  Todd C. Miller  <Todd.Miller@courtesan.com>
24776
24777         * find_path.c:
24778         stat now ignores EINVAL
24779         [c7761a5dc642]
24780
24781 1993-10-06  Todd C. Miller  <Todd.Miller@courtesan.com>
24782
24783         * find_path.c, sudo.c:
24784         now declare strdup as extern
24785         [6b7d6f8784b5]
24786
24787 1993-10-04  Todd C. Miller  <Todd.Miller@courtesan.com>
24788
24789         * visudo.c:
24790         reformatted with indent + by hand
24791         [9d43084e4990]
24792
24793         * check.c, find_path.c, getpass.c, logging.c, parse.c, sudo.c, sudo.h:
24794         used indent to "fix" coding style
24795         [489ffacbdc70]
24796
24797         * find_path.c:
24798         now checks '.' or '.' or '' in PATH -- but does it LAST should maybe
24799         move the code that does this into the loop body. makes it messier
24800         tho. hmmm.
24801         [c4d22b48da9a]
24802
24803 1993-09-08  Todd C. Miller  <Todd.Miller@courtesan.com>
24804
24805         * find_path.c:
24806         redid the fix for non-executable files in an easier to read way plus
24807         some minor aethetic changes
24808         [84fe337f1426]
24809
24810         * find_path.c:
24811         fixed bug with non-executable tings of same name in path introduced
24812         by checkig errno after stat(2).
24813         [c2a812cfcbc1]
24814
24815 1993-09-05  Todd C. Miller  <Todd.Miller@courtesan.com>
24816
24817         * sudo.c:
24818         fixed off by one error
24819         [fabb7cee0041]
24820
24821         * find_path.c:
24822         now handles decending below '/' correctly
24823         [5d2ddfc0b220]
24824
24825         * sudo.c:
24826         now actually builds Envp instead of munging envp
24827         [bdc4b08f6898]
24828
24829 1993-09-04  Todd C. Miller  <Todd.Miller@courtesan.com>
24830
24831         * parse.yacc:
24832         now includes sys/param.h
24833         [efbb494ab4de]
24834
24835         * visudo.c:
24836         now includes sys/param.h
24837         [ad6c91d59958]
24838
24839         * sudo.h:
24840         fixed ifndef -> ifdef
24841         [7aebe822d863]
24842
24843         * qualify.c:
24844         make more like find_path.c
24845         [853b2dab2e03]
24846
24847         * find_path.c:
24848         rewritten by millert
24849         [c6a043cc11b3]
24850
24851         * sudo.h:
24852         fixed MAXCOMMANDLENGTH now uses USE_CWD and NEED_STRDUP added info
24853         about new defines in the comment
24854         [39ffefce3aec]
24855
24856         * logging.c:
24857         now uses USE_CWD
24858         [fa0f3b118bb3]
24859
24860         * sudo.h:
24861         added delc for clean_envp() and Envp
24862         [a12034e300c2]
24863
24864         * sudo.c:
24865         now rips LD_* env vars out of envp and passed sanitized Envp to exec
24866         [d201a218e056]
24867
24868         * logging.c:
24869         now uses execve()
24870         [f3e01032cd33]
24871
24872         * find_path.c:
24873         ENOTDIR is ok now too (in case part of the path is bogus)
24874         [b5cbbb201bb5]
24875
24876         * qualify.c:
24877         now works correctly (ttaltotal rewrite)
24878         [0c25d64a5c68]
24879
24880         * parse.lex:
24881         now includes sys/param.h didn't match trailing / -- fix from
24882         rouilj@cs.umb.edu
24883         [b6363ba110af]
24884
24885 1993-06-11  Todd C. Miller  <Todd.Miller@courtesan.com>
24886
24887         * sudo.c:
24888         moved around the #ifndef _AIX
24889         [7d4330950c20]
24890
24891         * check.c, logging.c, parse.c:
24892         Initial revision
24893         [c101e9572d7f]
24894
24895 1993-03-20  Todd C. Miller  <Todd.Miller@courtesan.com>
24896
24897         * qualify.c:
24898         Initial revision
24899         [5a5f21d0e0bf]
24900
24901 1993-03-13  Todd C. Miller  <Todd.Miller@courtesan.com>
24902
24903         * find_path.c:
24904         now works if you do sudo bin/test
24905         [07835120ce43]
24906
24907         * find_path.c:
24908         works
24909         [c3da8b5efa20]
24910
24911 1993-03-02  Todd C. Miller  <Todd.Miller@courtesan.com>
24912
24913         * sudo.h:
24914         Initial revision
24915         [28a1caa38b72]
24916
24917         * visudo.c:
24918         Initial revision
24919         [0e5cd7c3cdbe]
24920
24921         * parse.lex, parse.yacc:
24922         Initial revision
24923         [5f2d0cccb06b]
24924
24925 1993-02-16  Todd C. Miller  <Todd.Miller@courtesan.com>
24926
24927         * sudo.c:
24928         took out errno.h
24929         [7466431a2655]
24930
24931         * sudo.c:
24932         now spews error if exec fails and exits with -1
24933         [e5c41ea725c1]
24934
24935         * sudo.c:
24936         Initial revision
24937         [8aeabe39a0c2]
24938
24939         * find_path.c:
24940         now only execs files with (an) executable bit set.
24941         [0a451f9c0e58]
24942
24943         * find_path.c:
24944         Initial revision
24945         [02a534891a35]
24946
24947 1993-02-15  Todd C. Miller  <Todd.Miller@courtesan.com>
24948
24949         * getpass.c:
24950         added nice comment
24951         [ea8b2aaa9389]
24952
24953         * getpass.c:
24954         now works on sgi's
24955         [bf2b7c6d0960]
24956
24957         * getpass.c:
24958         Initial revision
24959         [9f4de251c1b5]
24960