Merge commit 'upstream/1.7.6p1'
[debian/sudo] / ChangeLog
1 2011-04-14  Todd C. Miller  <Todd.Miller@courtesan.com>
2
3         * sudo.pp:
4         update copyright year
5         [edf691539a65] [tip] <1.7>
6
7         * toke.c, toke.l:
8         Treat a missing includedir like an empty one and do not return an
9         error.
10         [9c770ff2d0bc] <1.7>
11
12 2011-04-12  Todd C. Miller  <Todd.Miller@courtesan.com>
13
14         * pp:
15         Fix ARCH setting in cross-compile Solaris packages.
16         [057d743bd1a2] <1.7>
17
18         * sudo.pp:
19         Fix aix version setting.
20         [1a2621321f5c] <1.7>
21
22         * ldap.c:
23         Remove extraneous parens in LDAP filter when sudoers_search_filter
24         is enabled that causes a search error. From Matthew Thomas.
25         [7a5a2d021d32] <1.7>
26
27 2011-04-09  Todd C. Miller  <Todd.Miller@courtesan.com>
28
29         * .hgtags:
30         Added tag SUDO_1_7_6 for changeset fafbb7b0aea2
31         [6f5c74a8a6ac] <1.7>
32
33         * configure, configure.in, sudo.cat, sudo.man.in, sudoers.cat,
34         sudoers.ldap.cat, sudoers.ldap.man.in, sudoers.man.in,
35         sudoreplay.cat, sudoreplay.man.in, visudo.cat, visudo.man.in:
36         regen for 1.7.6
37         [fafbb7b0aea2] [SUDO_1_7_6] <1.7>
38
39         * sudo.cat, sudo.man.in:
40         regen man pages for 1.7.6
41         [94d851285f31] <1.7>
42
43 2011-04-06  Todd C. Miller  <Todd.Miller@courtesan.com>
44
45         * configure, configure.in:
46         Fix warnings when -without-skey, --without-opie, --without-kerb4,
47         --without-kerb5 or --without-SecurID were specified.
48         [83a99d369286] <1.7>
49
50 2011-04-05  Todd C. Miller  <Todd.Miller@courtesan.com>
51
52         * NEWS:
53         Mention %#gid support in User_List and Runas_List
54         [8ff14765d7df] <1.7>
55
56         * sudoers.pod:
57         Merge SETENV and NOSETENV description from 1.8
58         [dd44e79b53a0] <1.7>
59
60 2011-04-01  Todd C. Miller  <Todd.Miller@courtesan.com>
61
62         * testsudoers.c:
63         In dump-only mode, use "root" as the default username instead of
64         "nobody" as the latter may not be available on all systems.
65         [8082b8a1374c] <1.7>
66
67 2011-03-31  Todd C. Miller  <Todd.Miller@courtesan.com>
68
69         * testsudoers.c:
70         Fix setting of user_args
71         [0669612feeb1] <1.7>
72
73         * toke.c, toke.l:
74         Add '!' token to lex tracing
75         [7738d002a8d0] <1.7>
76
77         * toke.c, toke.l:
78         Avoid using pre or post increment in a parameter to a ctype(3)
79         function as it might be a macro that causes the increment to happen
80         more than once.
81         [2d23161e06dc] <1.7>
82
83 2011-03-30  Todd C. Miller  <Todd.Miller@courtesan.com>
84
85         * sudo.pp:
86         Strip off the beta or release candidate version when building AIX
87         packages.
88         [246ebb79e64f] <1.7>
89
90         * aix.c:
91         getuserattr(user, ...) will fall back to the "default" entry
92         automatically, there's no need to check "default" manually.
93         [dd233ca1092a] <1.7>
94
95 2011-03-29  Todd C. Miller  <Todd.Miller@courtesan.com>
96
97         * UPGRADE:
98         Document parser changes.
99         [f767c045e6c0] <1.7>
100
101         * testsudoers.c:
102         Add runasgroup support to testsudoers
103         [23f060665d23] <1.7>
104
105         * testsudoers.c:
106         More useful exit codes:
107          * 0 - parsed OK and command matched.
108          * 1 - parse error
109          * 2 - command not matched
110          * 3 - command denied
111         [bda610d9f6da] <1.7>
112
113         * Makefile.in:
114         If there is an existing sudoers file, only install if it passes a
115         syntax check.
116         [189eaeea562e] <1.7>
117
118         * sudoers.pod:
119         Document %#gid, and %:#nonunix_gid syntax.
120         [59e7df4c91e4] <1.7>
121
122         * pwutil.c:
123         Add support to user_in_group() for treating group names that begin
124         with a '#' as gids.
125         [3926017fbf95] <1.7>
126
127 2011-03-28  Todd C. Miller  <Todd.Miller@courtesan.com>
128
129         * aclocal.m4:
130         Quote first argument to AC_DEFUN(); from Elan Ruusamae
131         [a245e4891bab] <1.7>
132
133 2011-03-27  Todd C. Miller  <Todd.Miller@courtesan.com>
134
135         * toke.c, toke.l:
136         Use bitwise AND instead of modulus to check for length being odd. A
137         newline in the middle of a string is an error unless a line
138         continuation character is used.
139         [37a7f1fc54b7] <1.7>
140
141         * gram.c, toke.c:
142         Add missing include of config.h
143         [b13da7baee1e] <1.7>
144
145         * gram.c, gram.y, toke.c, toke.l:
146         Move lexer globals initialization into init_lexer.
147         [b7c124212d05] <1.7>
148
149         * toke.c, toke.l:
150         Fix a potential crash when a non-regular file is present in an
151         includedir. Fixes bz #452
152         [f1209a710607] <1.7>
153
154         * pp:
155         On some Linux systems, "uname -p" contains detailed processor info
156         so check "uname -m" first and then "uname -p" if needed. Recognize
157         PLD Linux.
158         [83af85a391df] <1.7>
159
160         * toke.c, toke.l:
161         Make an empty group or netgroup a syntax error.
162         [e88aa7b31a43] <1.7>
163
164         * toke.c, toke.l:
165         Allow a group ID in the User_Spec.
166         [3e58bc732e33] <1.7>
167
168         * toke.c, toke.l:
169         Return an error for the empty string when a word is expected. Allow
170         an ID for per-user or per-runas Defaults.
171         [83bb1a9c80ad] <1.7>
172
173 2011-03-23  Todd C. Miller  <Todd.Miller@courtesan.com>
174
175         * testsudoers.c:
176         Fix printing "User_Alias FOO = ALL"
177         [8e6e810e89ce] <1.7>
178
179 2011-03-22  Todd C. Miller  <Todd.Miller@courtesan.com>
180
181         * parse_args.c:
182         Better error message about invalid -C argument
183         [fc14f8dc03d2] <1.7>
184
185         * NEWS:
186         fix typo
187         [f789649fdeaf] <1.7>
188
189         * sudoers.pod:
190         Fix placement of equal size ('=') in user specification summary.
191         [51861d678ac1] <1.7>
192
193 2011-03-21  Todd C. Miller  <Todd.Miller@courtesan.com>
194
195         * toke.l:
196         If we match a rule anchored to the beginning of a line after parsing
197         a line continuation character, return an ERROR token. It would be
198         nicer to use REJECT instead but that substantially slows down the
199         lexer.
200         [f31c6622aaf9] <1.7>
201
202         * toke.c, toke.l:
203         Allow whitespace after the modifier in a Defaults entry. E.g.
204         "Defaults: username set_home"
205         [57c09139d10c] <1.7>
206
207 2011-03-18  Todd C. Miller  <Todd.Miller@courtesan.com>
208
209         * mkpkg:
210         Don't set CC when cross-compiling. Use the Sun Studio C compiler on
211         Solaris if possible.
212         [b91feb0678c1] <1.7>
213
214         * NEWS:
215         Credit Matthew Thomas for the sudoers_search_filter changes.
216         [4b3f239e114d] <1.7>
217
218         * NEWS:
219         Update for sudo 1.7.6 beta
220         [26cdd6578c23] <1.7>
221
222         * exec_pty.c:
223         Save the controlling tty process group before suspending in pty
224         mode. Previously, we assumed that the child pgrp == child pid
225         (which is usually, but not always, the case).
226         [670657004784] <1.7>
227
228         * ldap.c, sudoers.ldap.pod:
229         Add support for sudoers_search_filter setting in ldap.conf. This
230         can be used to restrict the set of records returned by the LDAP
231         query.
232         [c941bb5f68f2] <1.7>
233
234 2011-03-17  Todd C. Miller  <Todd.Miller@courtesan.com>
235
236         * configure, configure.in:
237         Remove the hack to disable -g in CFLAGS unless --with-devel
238         [933300bf3848] <1.7>
239
240         * sudoers.pod:
241         The '@' character does not normally need to be quoted.
242         [7e96569aed54] <1.7>
243
244         * toke.c, toke.l:
245         We normaly transition from GOTDEFS to STARTDEFS on whitespace, but
246         if that whitespace is followed by a comma, we want to treat it as
247         part of a list and not transition.
248         [6dd87c25c79c] <1.7>
249
250         * Makefile.in:
251         toke_util.c lives in $(srcdir) not $(devdir)
252         [b1b59d72f026] <1.7>
253
254         * toke.c, toke.l:
255         Fix parsing of double-quoted names in Defaults and Aliases which was
256         broken in c2b486b12951.
257         [30b2fdbafdc2] <1.7>
258
259 2011-03-16  Todd C. Miller  <Todd.Miller@courtesan.com>
260
261         * NEWS:
262         Document major changes for sudo 1.7.6
263         [d474a2aeb411] <1.7>
264
265         * configure, configure.in:
266         Update version to 1.7.6
267         [c1c80b99ed82] <1.7>
268
269         * match.c:
270         Be careful not to deref user_stat if it is NULL. This cannot
271         currently happen in sudo but might in other programs using the
272         parser.
273         [0926b1653e20] <1.7>
274
275         * mkpkg:
276         configure will not add -O2 to CFLAGS if it is already defined to add
277         -O2 to the CFLAGS we pass in when PIE is being used.
278         [a4444e287bcb] <1.7>
279
280         * sudoers.pod:
281         Warn about the dangers of log_input and mention iolog_dir in the
282         log_input and log_output descriptions.
283         [68c3615f7487] <1.7>
284
285         * pp:
286         Back out 2b81d57de4a4 and sync with git version
287         [5a2443567b9c] <1.7>
288
289         * exec.c:
290         Save the controlling tty process group before suspending so we can
291         restore it when we resume. Fixes job control problems on Linux
292         caused by the previous attemp to fix resuming a shell when I/O
293         logging not enabled.
294         [3e4e26b79f59] <1.7>
295
296         * exec.c:
297         In handle_signals(), restart the read() on EINTR to make sure we
298         keep up with the signal pipe. Don't return -1 on EAGAIN, it just
299         means we have emptied the pipe.
300         [5bcfe5a061c2] <1.7>
301
302         * lbuf.c:
303         Fix printing of the remainder after a newline. Fixes "sudo -l"
304         output corruption that could occur in some cases.
305         [41e5595f0559] <1.7>
306
307 2011-03-08  Todd C. Miller  <Todd.Miller@courtesan.com>
308
309         * mkpkg:
310         Fix default setting of osversion variable.
311         [c67d9d3bfa2b] <1.7>
312
313 2011-03-07  Todd C. Miller  <Todd.Miller@courtesan.com>
314
315         * mkpkg:
316         Add --osversion flag to specify OS instead of running "pp
317         --probeonly"
318         [550104604d4b] <1.7>
319
320         * sudo.pp:
321         Fix expr usage w/ GNU expr
322         [c2161988dec9] <1.7>
323
324 2011-03-02  Todd C. Miller  <Todd.Miller@courtesan.com>
325
326         * sudo.pp:
327         Don't use the beta or release candidate version as the rpm release.
328         [56f8c0b1eb46] <1.7>
329
330 2011-02-25  Todd C. Miller  <Todd.Miller@courtesan.com>
331
332         * .hgtags:
333         Added tag SUDO_1_7_5 for changeset 9314212577c3
334         [75f9d661ea03] <1.7>
335
336         * configure, configure.in:
337         version 1.7.5
338         [9314212577c3] [SUDO_1_7_5] <1.7>
339
340 2011-02-21  Todd C. Miller  <Todd.Miller@courtesan.com>
341
342         * configure, configure.in, sudo.cat, sudo.man.in, sudoers.cat,
343         sudoers.ldap.cat, sudoers.ldap.man.in, sudoers.man.in,
344         sudoreplay.cat, sudoreplay.man.in, visudo.cat, visudo.man.in:
345         1.7.5rc1
346         [216ab95b5de0] <1.7>
347
348         * parse_args.c, sudo.c, sudo.pod, sudo_usage.h.in, sudoreplay.c,
349         sudoreplay.pod, visudo.c, visudo.pod:
350         add help text to sudo, visudo and sudoreplay for the -h option
351         [141d348c660b] <1.7>
352
353 2011-02-19  Todd C. Miller  <Todd.Miller@courtesan.com>
354
355         * snprintf.c:
356         avoid using "howmany" for a parameter name since it is a select-
357         related macro
358         [6b6c2d504103] <1.7>
359
360         * Makefile.in:
361         add localstatedir; closes bug 471
362         [a4778228ae54] <1.7>
363
364         * config.h.in, configure, configure.in, exec.c, exec_pty.c,
365         sudoreplay.c:
366         The howmany macro lives in sys/sysmacros.h on SVR5 systems Closes
367         Bug 470
368         [be5dff63ff5d] <1.7>
369
370         * exec.c:
371         SVR5 systems return non-zero for success on socketpair(), check for
372         -1 instead. Closes Bug 469
373         [13ac9d0e0934] <1.7>
374
375 2011-02-17  Todd C. Miller  <Todd.Miller@courtesan.com>
376
377         * auth/afs.c:
378         Move afs includes to be before sudo ones
379         [fbe0bdcf5798] <1.7>
380
381         * config.h.in, configure, configure.in:
382         No longer use vhangup
383         [9fce94512df9] <1.7>
384
385 2011-02-14  Todd C. Miller  <Todd.Miller@courtesan.com>
386
387         * sudo_nss.c:
388         Avoid printing empty "Runas and Command-specific defaults for user"
389         line.
390         [3df2925f9982] <1.7>
391
392         * lbuf.c:
393         Truncate the buffer at buf.len before printing in the non-wordwrap
394         case.
395         [23a31b8d95b8] <1.7>
396
397         * lbuf.c:
398         Remove extra newline when the tty width is very small or unavailable
399         [32fa0b3ea47a] <1.7>
400
401 2011-02-13  Todd C. Miller  <Todd.Miller@courtesan.com>
402
403         * configure, configure.in, sudo.cat, sudo.man.in, sudoers.cat,
404         sudoers.ldap.cat, sudoers.ldap.man.in, sudoers.man.in,
405         sudoreplay.cat, sudoreplay.man.in, visudo.cat, visudo.man.in:
406         1.7.5b5
407         [0937b9bff020] <1.7>
408
409         * pp:
410         don't remap numeric uids/gids to names; if the user specified and id
411         instead of a name, they probably mean it
412         [2b81d57de4a4] <1.7>
413
414 2011-02-11  Todd C. Miller  <Todd.Miller@courtesan.com>
415
416         * alias.c:
417         Remove unneeded variable.
418         [23329353f964] <1.7>
419
420 2011-02-09  Todd C. Miller  <Todd.Miller@courtesan.com>
421
422         * configure, configure.in:
423         Prefer getutxid over getutid
424         [e89811f0e4da] <1.7>
425
426         * boottime.c:
427         Include utmp.h / utmpx.h before missing.h as apparently including it
428         afterwards causes a compilation problem on GNU Hurd.
429         [d62781e31b27] <1.7>
430
431 2011-02-07  Todd C. Miller  <Todd.Miller@courtesan.com>
432
433         * configure, configure.in, sudo.cat, sudo.man.in, sudoers.cat,
434         sudoers.ldap.cat, sudoers.ldap.man.in, sudoers.man.in,
435         sudoreplay.cat, sudoreplay.man.in, visudo.cat, visudo.man.in:
436         1.7.5b4
437         [4b8a9632fe59] <1.7>
438
439         * exec.c, missing.h, sudo.c, toke.h:
440         fix K&R compilation
441         [23ebea9c2183] <1.7>
442
443         * mksiglist.c:
444         Fix typo
445         [1587615a186f] <1.7>
446
447         * Makefile.in, toke.h, toke.l, toke_util.c:
448         Split tokenizer utility functions out into toke_util.c
449         [88148d0b9338] <1.7>
450
451         * alloc.c, bsm_audit.c, check.c, closefrom.c, sudo_nss.c, visudo.c:
452         Cosmetic changes to make diffing against trunk easier.
453         [95bdfcc29a22] <1.7>
454
455         * exec.c, exec_pty.c, mon_systrace.c, sudo.h, sudo_exec.h,
456         sudoreplay.c, tgetpass.c:
457         Use RETSIGTYPE for signal handlers.
458         [5ea1f34d1aab] <1.7>
459
460         * sudo_exec.h:
461         Use special values SIGCONT_FG and SIGCONT_BG instead of SIGUSR1 and
462         SIGUSR2 to indicate whether the child should be continued in the
463         foreground or background.
464         [9fec5a258d57] <1.7>
465
466 2011-02-06  Todd C. Miller  <Todd.Miller@courtesan.com>
467
468         * getspwuid.c:
469         Merge trunk version
470         [cd44ef67e57d] <1.7>
471
472         * exec_pty.c:
473         Use special values SIGCONT_FG and SIGCONT_BG instead of SIGUSR1 and
474         SIGUSR2 to indicate whether the child should be continued in the
475         foreground or background.
476         [6305babcf6bd] <1.7>
477
478         * exec.c:
479         If perform_io() fails, kill the child before exiting so it doesn't
480         complain about connection reset. We can get an I/O error if, for
481         example, and we get EIO reading from stdin.
482         [ca28e0a25698] <1.7>
483
484 2011-02-05  Todd C. Miller  <Todd.Miller@courtesan.com>
485
486         * error.c, fileops.c, fnmatch.c, getcwd.c, getprogname.c, gettime.c,
487         glob.c, isblank.c, memrchr.c, mksiglist.c, mkstemps.c, nanosleep.c,
488         setsid.c, sigaction.c, snprintf.c, strcasecmp.c, strerror.c,
489         strlcat.c, strlcpy.c, strsignal.c, sudo_noexec.c, sudoreplay.c,
490         utimes.c, vasgroups.c, zero_bytes.c:
491         Make local includes consistent; use double quotes for local includes
492         [ec9d52fff4b3] <1.7>
493
494 2011-02-04  Todd C. Miller  <Todd.Miller@courtesan.com>
495
496         * error.c, getprogname.c, memrchr.c, sigaction.c, strcasecmp.c,
497         strerror.c, strlcat.c, strlcpy.c, strsignal.c, zero_bytes.c:
498         Must include config.h before any other headers.
499         [3c23ec625df0] <1.7>
500
501         * aclocal.m4, configure:
502         fix --with-iologdir=no
503         [ef60ca8b3789] <1.7>
504
505         * aclocal.m4, configure:
506         fix typo that broke --with-iologdir
507         [fca175fdfd81] <1.7>
508
509 2011-02-03  Todd C. Miller  <Todd.Miller@courtesan.com>
510
511         * NEWS:
512         sync for 1.7.5b3
513         [744e2e78ef5a] <1.7>
514
515         * configure, configure.in, sudo.cat, sudo.man.in, sudoers.cat,
516         sudoers.ldap.cat, sudoers.ldap.man.in, sudoers.man.in,
517         sudoreplay.cat, sudoreplay.man.in, visudo.cat, visudo.man.in:
518         1.7.5b3
519         [7a24576e35ac] <1.7>
520
521         * sudoers.cat, sudoers.man.in, sudoers.pod:
522         Attempt to clarify how users and groups interact in Runas_Specs
523         [9e8c2fb328d0] <1.7>
524
525         * exec.c, exec_pty.c:
526         Do not handle SIGARLM specially, just pass it through.
527         [944978b640b5] <1.7>
528
529         * exec.c, exec_pty.c:
530         Pass SIGUSR1/SIGUSR2 through to the child.
531         [774506c977df] <1.7>
532
533         * exec.c:
534         Made tcsetpgrp() bits conditional on HAVE_TCSETPGRP
535         [386f69132ad4] <1.7>
536
537         * exec.c:
538         Use pid_t not int and check the return value of kill()
539         [5f15c3304a1d] <1.7>
540
541 2011-02-02  Todd C. Miller  <Todd.Miller@courtesan.com>
542
543         * exec.c:
544         In non-pty mode before continuing the child, make it the foreground
545         pgrp if possible. Fixes resuming a shell.
546         [dfaadefcc6c6] <1.7>
547
548         * exec_pty.c:
549         If we get a signal other than SIGCHLD in the monitor, pass it
550         directly to the child.
551         [7e638105bfaf] <1.7>
552
553         * exec.c, exec_pty.c, sudo.h:
554         Save signal state before changing handlers and restore before we
555         execute the command.
556         [83278957e630] <1.7>
557
558 2011-02-01  Todd C. Miller  <Todd.Miller@courtesan.com>
559
560         * toke.c, toke.l:
561         match quoted strings the same way whether in a Defaults line or as a
562         user/group/netgroup name. Fixes escaped double quotes in quoted
563         user/group/netgroup names.
564         [c2b486b12951] <1.7>
565
566         * iolog.c:
567         Use a char array to map a number to a base36 digit.
568         [d626ded3312d] <1.7>
569
570         * sudoers.ldap.cat, sudoers.ldap.man.in, sudoers.ldap.pod:
571         Be clear about what versions of sudo support new LDAP attributes.
572         Fix up some formatting of attribute names. Minor other tweaks.
573         [f7bd586ec755] <1.7>
574
575 2011-01-31  Todd C. Miller  <Todd.Miller@courtesan.com>
576
577         * sudoers2ldif:
578         Add sudoOrder attribute to each entry Parse LOG_{INPUT,OUTPUT} tags
579         [05a0d25b0f8d] <1.7>
580
581 2011-01-30  Todd C. Miller  <Todd.Miller@courtesan.com>
582
583         * UPGRADE:
584         Mention LDAP attribute compatibility status.
585         [adb74ad2331b] <1.7>
586
587 2011-01-28  Todd C. Miller  <Todd.Miller@courtesan.com>
588
589         * README.LDAP:
590         Mention phpQLAdmin
591         [5d80d6291142] <1.7>
592
593         * INSTALL, NEWS, config.h.in, configure, configure.in, defaults.c,
594         sudoers.man.in, sudoers.pod:
595         Add --disable-env-reset configure option.
596         [803ce2f4d85c] <1.7>
597
598         * sudoers.cat, sudoers.man.in, sudoers.pod:
599         Document that sudoers_locale also affects logging and email.
600         [080dd4338374] <1.7>
601
602         * NEWS, config.h.in, configure, configure.in, logging.c:
603         Do logging and email sending in the locale specified by the
604         "sudoers_locale" setting ("C" by default). Email send by sudo
605         includes MIME headers when the sudoers locale is not "C".
606         [592e5b2a3d10] <1.7>
607
608 2011-01-25  Todd C. Miller  <Todd.Miller@courtesan.com>
609
610         * NEWS, sudo.c:
611         Perform command escaping for "sudo -s" and "sudo -i" after
612         validating sudoers so the sudoers entries don't need to have all the
613         backslashes.
614         [7d39ea9924e4] <1.7>
615
616 2011-01-24  Todd C. Miller  <Todd.Miller@courtesan.com>
617
618         * logging.c:
619         Prepend "list " to the command logged when "sudo -l command" is used
620         to make it clear that the command was listed, not run.
621         [9bcd40c1bfe9] <1.7>
622
623         * parse.c:
624         cosmetic change
625         [8ce3d60d910d] <1.7>
626
627         * aix.c, alias.c, alloc.c, auth/afs.c, auth/aix_auth.c,
628         auth/bsdauth.c, auth/dce.c, auth/fwtk.c, auth/kerb4.c, auth/kerb5.c,
629         auth/pam.c, auth/passwd.c, auth/rfc1938.c, auth/secureware.c,
630         auth/securid.c, auth/securid5.c, auth/sia.c, bsm_audit.c, check.c,
631         defaults.c, env.c, exec.c, exec_pty.c, fileops.c, find_path.c,
632         fnmatch.c, get_pty.c, getcwd.c, getline.c, getprogname.c,
633         getspwuid.c, gettime.c, glob.c, goodpath.c, gram.c, gram.y, iolog.c,
634         isblank.c, lbuf.c, ldap.c, list.c, logging.c, match.c, memrchr.c,
635         mkstemps.c, mon_systrace.c, nanosleep.c, parse.c, parse_args.c,
636         pwutil.c, redblack.c, set_perms.c, sigaction.c, snprintf.c,
637         strerror.c, strlcat.c, strlcpy.c, strsignal.c, sudo.c,
638         sudo_noexec.c, sudo_nss.c, sudoreplay.c, term.c, testsudoers.c,
639         tgetpass.c, timestr.c, toke.c, toke.l, tsgetgrpw.c, utimes.c,
640         vasgroups.c, visudo.c:
641         standardize on "return foo;" rather than "return(foo);" or "return
642         (foo);"
643         [e05dd17dcec4] <1.7>
644
645         * NEWS:
646         sync
647         [bedc1e1bc7f8] <1.7>
648
649         * sudo.c:
650         Do not reject sudoers file just because it is root-writable.
651         [26634f322b04] <1.7>
652
653 2011-01-21  Todd C. Miller  <Todd.Miller@courtesan.com>
654
655         * NEWS:
656         sync
657         [c69b7537a020] <1.7>
658
659         * defaults.c:
660         When setting default iolog_dir, dynamically allocate the string.
661         [7ad2c0cbe865] <1.7>
662
663         * sudo_nss.c:
664         For "sudo -U user -l" if user is not authorized on the host, say so.
665         [9eb5673f2f22] <1.7>
666
667         * ldap.c:
668         In sudo_ldap_lookup(), always do the initial sudoers check as the
669         invoking user. If we are listing another user's privs we will do a
670         separate lookup using list_pw later.
671         [9b3ab41de717] <1.7>
672
673 2011-01-20  Todd C. Miller  <Todd.Miller@courtesan.com>
674
675         * sudoreplay.c:
676         change an error() to errorx()
677         [5a0409f6c52b] <1.7>
678
679         * sudoers.ldap.man.in, sudoers.ldap.pod:
680         Update copyright year to 2011
681         [8959c05dc270] <1.7>
682
683         * LICENSE, Makefile.in, aclocal.m4, check.c, configure.in, ldap.c,
684         match.c, pwutil.c, sudo_nss.c, sudoers.man.in, sudoers.pod, term.c:
685         Update copyright year to 2011
686         [6367fb76120e] <1.7>
687
688         * ldap.c:
689         Stash pointer to user group vector in LDAP handle and only reuse the
690         query if it has not changed. We always allocate a new buffer when
691         we reset the group vector so a simple pointer check is sufficient.
692         [c129d1acf7d6] <1.7>
693
694         * sudo_nss.c:
695         When listing, use separate lbufs for the defaults and the privileges
696         and only print something if the number of privileges is non-zero.
697         Fixes extraneous Defaults output for "sudo -U unauthorized_user -l".
698         [66aaa54f2865] <1.7>
699
700         * sudo_nss.c:
701         Check initgroups() return value.
702         [973a67304e3b] <1.7>
703
704 2011-01-19  Todd C. Miller  <Todd.Miller@courtesan.com>
705
706         * NEWS:
707         sync
708         [deb822cce3dd] <1.7>
709
710 2011-01-18  Todd C. Miller  <Todd.Miller@courtesan.com>
711
712         * term.c:
713         Clear, don't set, OPOST in c_oflag as was intended in e26055d17b72.
714         [eacd774c37c0] <1.7>
715
716 2011-01-15  Todd C. Miller  <Todd.Miller@courtesan.com>
717
718         * sudo.c:
719         delref list_pw before exit
720         [0df5a53f3484] <1.7>
721
722 2011-01-14  Todd C. Miller  <Todd.Miller@courtesan.com>
723
724         * mkpkg, sudo.pp:
725         Add Requires line for audit-libs >= 1.4 for RHEL5+
726         [a1b544018f5b] <1.7>
727
728         * pp:
729         sync with git version
730         [eb187023bb73] <1.7>
731
732 2011-01-13  Todd C. Miller  <Todd.Miller@courtesan.com>
733
734         * sudoers.cat, sudoers.man.in, sudoers.pod:
735         fix typo
736         [075e92a756a1] <1.7>
737
738 2011-01-12  Todd C. Miller  <Todd.Miller@courtesan.com>
739
740         * NEWS:
741         Update for sudo 1.7.4p5
742         [11cb87598478] <1.7>
743
744         * schema.OpenLDAP, schema.iPlanet:
745         Add sudoNotBefore and sudoNotAfter attributes as optional attributes
746         to the sudoRole object class. From Andreas Mueller
747         [73357eb1b269] <1.7>
748
749 2011-01-11  Todd C. Miller  <Todd.Miller@courtesan.com>
750
751         * NEWS:
752         Mention "sudo -g group" password check fix.
753         [8299a2d939e8] <1.7>
754
755         * check.c:
756         If the user is running sudo as himself but as a different group we
757         need to prompt for a password.
758         [fe8a94f96542] <1.7>
759
760 2011-01-10  Todd C. Miller  <Todd.Miller@courtesan.com>
761
762         * NEWS, config.h.in, configure, configure.in, ldap.c,
763         sudoers.ldap.cat, sudoers.ldap.man.in, sudoers.ldap.pod:
764         Add support for TIMEOUT in ldap.conf, mapping to the OpenLDAP
765         LDAP_OPT_TIMEOUT. There is no corresponding option for mozilla-
766         derived LDAP SDKs but we can pass the timeout parameter to
767         ldap_search_ext_s() or ldap_search_st() when possible.
768         [8f9303326db7] <1.7>
769
770         * sudoers.cat, sudoers.ldap.cat, sudoers.ldap.man.in, sudoers.man.in:
771         regen
772         [d56ad7169e67] <1.7>
773
774         * NEWS, ldap.c, sudoers.ldap.pod:
775         Add NETWORK_TIMEOUT as an alias for BIND_TIMELIMIT for compatibility
776         with OpenLDAP ldap.conf files.
777         [85e33e42c008] <1.7>
778
779         * pwutil.c:
780         If user has no supplementary groups, fall back on checking the group
781         file explicitly.
782         [c536ddb16bb6] <1.7>
783
784 2011-01-04  Todd C. Miller  <Todd.Miller@courtesan.com>
785
786         * NEWS:
787         update
788         [9f6e0ec3142a] <1.7>
789
790         * Makefile.in:
791         Use "mv -f" when regenerating ChangeLog
792         [b322b5995e7f] <1.7>
793
794         * match.c:
795         Fix NULL dereference with "sudo -g group" when the sudoers rule has
796         no runas user or group listed. Fixes RedHat bug Bug 667103.
797         [c51e2be737b2] <1.7>
798
799 2010-12-21  Todd C. Miller  <Todd.Miller@courtesan.com>
800
801         * term.c:
802         Clear OPOST from c_oflag like we used to. Fixes screen-based
803         editors such as vi.
804         [e26055d17b72] <1.7>
805
806         * sudoers.pod:
807         Clarify umask option description. From Reuben Thomas.
808         [fb8bdcb54feb] <1.7>
809
810 2010-12-18  Todd C. Miller  <Todd.Miller@courtesan.com>
811
812         * ldap.c, sudoers.ldap.pod:
813         Pick last match in LDAP sudoers too
814         [607801b83e25] <1.7>
815
816 2010-12-10  Todd C. Miller  <Todd.Miller@courtesan.com>
817
818         * aclocal.m4, configure, configure.in, def_data.c, def_data.h,
819         def_data.in, defaults.c, iolog.c, sudoers.pod:
820         Make the iolog dir configurable in sudoers
821         [2630b2dba1b5] <1.7>
822
823 2010-12-07  Todd C. Miller  <Todd.Miller@courtesan.com>
824
825         * pp:
826         Add missing '*' that prevented the generic ELF case from matching.
827         [b35bbb42736f] <1.7>
828
829         * pp:
830         If file(1) can't identify the ELF binary type, try readelf(1).
831         [8a73092d8898] <1.7>
832
833 2010-11-30  Todd C. Miller  <Todd.Miller@courtesan.com>
834
835         * auth/kerb4.c, check.c, env.c, pwutil.c, sudo.c:
836         Use %u to print uid/gid, not %lu and adjust casts to match.
837         [e4eb94705a54] <1.7>
838
839         * NEWS:
840         Update with latest changes
841         [2c4209b20e3d] <1.7>
842
843         * sudoers.ldap.pod:
844         Clarify ordering of entries and attributes
845         [598748ec3804] <1.7>
846
847         * sudoers.ldap.pod:
848         Fix typo and editing goof.
849         [197a2fe65be5] <1.7>
850
851         * ldap.c:
852         Make sure we don't dereference a NULL handle.
853         [b0026541de1e] <1.7>
854
855 2010-11-24  Todd C. Miller  <Todd.Miller@courtesan.com>
856
857         * pp:
858         Add support for RHEL 6 file modes that include a trailing dot on
859         files with an SELinux security context
860         [fcc1daaf4df0] <1.7>
861
862 2010-11-22  Todd C. Miller  <Todd.Miller@courtesan.com>
863
864         * sudoers.pod:
865         fix typo; from Michael T Hunter
866         [46e70e2063af] <1.7>
867
868         * match.c:
869         In sudoedit mode, assume command line arguments are paths and pass
870         FNM_PATHNAME to fnmatch().
871         [6087ba0064ff] <1.7>
872
873 2010-11-20  Todd C. Miller  <Todd.Miller@courtesan.com>
874
875         * configure, configure.in:
876         Add workaround for an error in sys/types.h on HP-UX 11.23 when large
877         file support is enabled. Defining _XOPEN_SOURCE_EXTENDED avoids the
878         broken bits of the header file.
879         [12da5b3249a3] <1.7>
880
881         * aclocal.m4:
882         Fix SUDO_MAILDIR usage of AC_LANG_PROGRAM
883         [c0105d26574a] <1.7>
884
885         * testsudoers.c, tsgetgrpw.c, tsgetgrpw.h:
886         Avoid conflicts with system definitions in grp.h and pwd.h
887         [a152522c9f13] <1.7>
888
889         * sudo.pp:
890         For Tru64, strip off beta version.
891         [a16213ec9c27] <1.7>
892
893         * zlib/gzguts.h:
894         Include stdio.h after zlib.h, not before. We need the large file
895         defines to come first.
896         [389ea592d6c2] <1.7>
897
898 2010-11-17  Todd C. Miller  <Todd.Miller@courtesan.com>
899
900         * ldap.c:
901         Enlarge the array of entry wrappers int blocks of 100 entries to
902         save on allocation time. From Andreas Mueller
903         [db8da143e803] <1.7>
904
905         * ldap.c:
906         Add back call to sudo_ldap_timefilter() in sudo_ldap_build_pass2()
907         that was mistakenly dropped.
908         [f6f1103f9971] <1.7>
909
910 2010-11-16  Todd C. Miller  <Todd.Miller@courtesan.com>
911
912         * TROUBLESHOOTING:
913         Mention that sudo needs "ar" to build.
914         [eef95d0abfbe] <1.7>
915
916         * configure, configure.in:
917         Fail with a more useful error if "ar" is not found.
918         [1ef3c8501bf5] <1.7>
919
920 2010-11-14  Todd C. Miller  <Todd.Miller@courtesan.com>
921
922         * ldap.c:
923         Reorder things to avoid most of the extra prototypes.
924         [0541a55deb86] <1.7>
925
926         * ldap.c:
927         Inline sudo_ldap_result_get_entry(), it is always called in
928         situations where the bounds are already checked.
929         [fa65cf4eaf5e] <1.7>
930
931         * ldap.c:
932         Add user_matches and host_matches to struct ldap_result and set them
933         in sudo_ldap_result_get() which is where the user and host checks
934         live. When iterating through the ordered results, take the first
935         match. Remove allowed flag from struct ldap_entry_wrapper, we just
936         use first match.
937         [9a008cd81685] <1.7>
938
939 2010-11-13  Todd C. Miller  <Todd.Miller@courtesan.com>
940
941         * configure, configure.in, sudo.cat, sudo.man.in, sudoers.cat,
942         sudoers.ldap.cat, sudoers.ldap.man.in, sudoers.man.in,
943         sudoreplay.cat, sudoreplay.man.in, visudo.cat, visudo.man.in:
944         Bump version and regen man pages
945         [918433185f26] <1.7>
946
947         * ldap.c, schema.ActiveDirectory, schema.OpenLDAP, schema.iPlanet,
948         sudoers.ldap.pod:
949         Merge in ordered LDAP entry support from Andreas Mueller.
950         [21b8071c2f28] <1.7>
951
952 2010-11-11  Todd C. Miller  <Todd.Miller@courtesan.com>
953
954         * ldap.c, schema.ActiveDirectory, schema.OpenLDAP, schema.iPlanet,
955         sudoers.ldap.pod:
956         Add timed entry support from Andreas Mueller.
957         [10b121c46a1c] <1.7>
958
959         * ldap.c:
960         Use efree() not free() and remove malloc.h include since we never
961         directly call malloc() or free().
962         [f2184b2a0646] <1.7>
963
964 2010-11-10  Todd C. Miller  <Todd.Miller@courtesan.com>
965
966         * Makefile.in, getdate.c, gram.c, toke.c:
967         Include config.h before any other includes to make sure we get the
968         right value for _FILE_OFFSET_BITS.
969         [5a8c12426942] <1.7>
970
971 2010-11-09  Todd C. Miller  <Todd.Miller@courtesan.com>
972
973         * sudo.pp:
974         set PSTAMP for Solaris and move the backend-specific bits to their
975         own %if [xxx] %endif blocks in %set.
976         [0d93cb5d009a] <1.7>
977
978         * pp:
979         sync with git repo
980         [e052d78dde35] <1.7>
981
982 2010-11-03  Todd C. Miller  <Todd.Miller@courtesan.com>
983
984         * Makefile.in:
985         remove zlib/zconf.h for distclean
986         [5cf14594d014] <1.7>
987
988         * sudo.cat, sudo.man.in, sudoers.cat, sudoers.ldap.cat,
989         sudoers.ldap.man.in, sudoers.man.in, visudo.cat, visudo.man.in:
990         regen man pages for 1.7.5
991         [29253a721cfd] <1.7>
992
993         * configure:
994         regen
995         [5b09c0dd9279] <1.7>
996
997         * NEWS:
998         Update 1.7.5 entries.
999         [73a7b2c01db4] <1.7>
1000
1001 2010-11-02  Todd C. Miller  <Todd.Miller@courtesan.com>
1002
1003         * Makefile.in:
1004         Include zlib in the tar file.
1005         [3b7900c3f2af] <1.7>
1006
1007 2010-10-28  Todd C. Miller  <Todd.Miller@courtesan.com>
1008
1009         * INSTALL:
1010         Better --enable-zlib description
1011         [0ca9936a7271] <1.7>
1012
1013         * mkpkg:
1014         Use system zlib on Linux Let configure decide on Solaris For all
1015         others, use builtin zlib
1016         [58e1b4383b58] <1.7>
1017
1018         * LICENSE, Makefile.in, config.h.in, configure, configure.in,
1019         license.pod, zlib/adler32.c, zlib/compress.c, zlib/crc32.c,
1020         zlib/crc32.h, zlib/deflate.c, zlib/deflate.h, zlib/gzclose.c,
1021         zlib/gzguts.h, zlib/gzlib.c, zlib/gzread.c, zlib/gzwrite.c,
1022         zlib/infback.c, zlib/inffast.c, zlib/inffast.h, zlib/inffixed.h,
1023         zlib/inflate.c, zlib/inflate.h, zlib/inftrees.c, zlib/inftrees.h,
1024         zlib/trees.c, zlib/trees.h, zlib/uncompr.c, zlib/zconf.h.in,
1025         zlib/zlib.h, zlib/zutil.c, zlib/zutil.h:
1026         Add local copy of zlib for systems that lack it.
1027         [060627a4a413] <1.7>
1028
1029 2010-10-12  Todd C. Miller  <Todd.Miller@courtesan.com>
1030
1031         * Makefile.in:
1032         Don't overwrite ChangeLog if we can't run hg
1033         [8cad8bfce9ee] <1.7>
1034
1035         * configure, configure.in:
1036         HP-UX 10.20 libc has an incompatible getline()
1037         [6ae1631c6993] <1.7>
1038
1039         * visudo.c:
1040         Quiet an HP-UX compiler warning.
1041         [b8eb3006d68b] <1.7>
1042
1043 2010-10-11  Todd C. Miller  <Todd.Miller@courtesan.com>
1044
1045         * pp:
1046         Don't use run_as_superuser=false on HP-UX
1047         [2a9ec2750082] <1.7>
1048
1049         * pp:
1050         Update from git repo. Debian: version numbers now compliant with
1051         policy section 5.6.12 HP-UX: minimal changes needed to work on HP-UX
1052         10.20
1053         [cfe38672e358] <1.7>
1054
1055         * configure, configure.in:
1056         Go back to checking whether the compiler is ANSI C when detecting
1057         the HP-UX bundled C compiler.
1058         [563ef7333662] <1.7>
1059
1060         * configure, configure.in:
1061         Fix syntax error
1062         [96048f77d772] <1.7>
1063
1064         * auth/pam.c:
1065         If pam_acct_mgmt() returns PAM_AUTH_ERR print a (hopefully) more
1066         useful message and return AUTH_FATAL so sudo does not keep trying to
1067         validate the user.
1068         [fffa5e51ac47] <1.7>
1069
1070 2010-10-07  Todd C. Miller  <Todd.Miller@courtesan.com>
1071
1072         * exec_pty.c:
1073         don't need ws_col here
1074         [049b4ef9c9ce] <1.7>
1075
1076         * check.c:
1077         Having a timestamp file defined is no longer indicative of tty
1078         tickets being enabled. Check def_tty_tickets directly.
1079         [6c3803c239d9] <1.7>
1080
1081         * exec_pty.c, lbuf.c:
1082         Fix TCGETWINSZ compat.
1083         [62233ba46ec7] <1.7>
1084
1085 2010-10-02  Todd C. Miller  <Todd.Miller@courtesan.com>
1086
1087         * exec_pty.c, lbuf.c:
1088         Prefer newer TIOCGWINSZ ioctl to old TIOCGSIZE
1089         [0813e3030b1a] <1.7>
1090
1091 2010-10-01  Todd C. Miller  <Todd.Miller@courtesan.com>
1092
1093         * set_perms.c:
1094         Sync set_project() with trunk.
1095         [646fd9bc0537] <1.7>
1096
1097         * ldap.c:
1098         When iterating over returned LDAP entries, keep looking at remaining
1099         matches even if we have a positive match. This catches negative
1100         matches that may exist in other entries and more closely match the
1101         sudoers file behavior.
1102         [8dce1dedb967] <1.7>
1103
1104         * pp:
1105         Add support for multiple package instances on Solaris.
1106         [5bcc048375db] <1.7>
1107
1108         * set_perms.c, sudo.c:
1109         Move set_project() into runas_setup(). Fixes a NULL deref when
1110         project support is enabled and sudo's -g flag is used without the
1111         -u flag.
1112         [6ffd892243ab] <1.7>
1113
1114         * exec.c:
1115         Add missing signal_pipe[0] to fdsr for the non-pty case.
1116         [3398af88db51] <1.7>
1117
1118         * mkpkg:
1119         Add --with-project for Solaris
1120         [25bd2aa83884] <1.7>
1121
1122         * README:
1123         Need ar and ranlib too
1124         [d09e632d0a93] <1.7>
1125
1126 2010-09-27  Todd C. Miller  <Todd.Miller@courtesan.com>
1127
1128         * env.c:
1129         Preserve ODMDIR environment variable by default on AIX.
1130         [75266d18e4a7] <1.7>
1131
1132 2010-09-21  Todd C. Miller  <Todd.Miller@courtesan.com>
1133
1134         * linux_audit.c:
1135         Ignore ECONNREFUSED from audit_log_user_command() which will occur
1136         if auditd is not running.
1137         [a686884684ca] <1.7>
1138
1139 2010-09-17  Todd C. Miller  <Todd.Miller@courtesan.com>
1140
1141         * pp:
1142         Sync with git version
1143         [9a328aa25c53] <1.7>
1144
1145 2010-09-16  Todd C. Miller  <Todd.Miller@courtesan.com>
1146
1147         * defaults.c, fileops.c:
1148         Cast isblank argument to unsigned char.
1149         [64b9f3bed954] <1.7>
1150
1151 2010-09-14  Todd C. Miller  <Todd.Miller@courtesan.com>
1152
1153         * INSTALL, config.h.in, configure, configure.in, defaults.c,
1154         sudoers.cat, sudoers.man.in, sudoers.pod:
1155         Implement --with-umask-override configure flag.
1156         [5065008079df] <1.7>
1157
1158         * env.c:
1159         Take MODE_LOGIN_SHELL into account when initially setting reset_home
1160         instead of special-casing it later.
1161         [25e6b8419dea] <1.7>
1162
1163         * sudo.c:
1164         In login mode, make a copy of the runas user's pw_shell for
1165         NewArgv[0] because 1) we modify it and 2) it will runas_pw gets
1166         freed before exec.
1167         [4a0851a7688a] <1.7>
1168
1169         * env.c:
1170         Reset HOME for "sudo -i" even if HOME was listed in env_keep.
1171         [8dc31006a428] <1.7>
1172
1173         * sudo.c:
1174         Use SIG_SETMASK when resetting signal mask instead of SIG_UNBLOCK.
1175         [8751ef94b18d] <1.7>
1176
1177         * sudo.c:
1178         Reset signal mask at sudo startup time; we need to be able to rely
1179         on normal signal delivery to control the child process.
1180         [c986a4b6a942] <1.7>
1181
1182         * sigaction.c:
1183         Fix SIG_UNBLOCK emulation
1184         [f14264f8a0da] <1.7>
1185
1186 2010-09-13  Todd C. Miller  <Todd.Miller@courtesan.com>
1187
1188         * install-sh:
1189         Use sed instead of expr to split a flag from its argument. Fixes a
1190         problem with expr interpreting its arguments as a flag when they
1191         start with a dash.
1192         [16372da8a286] <1.7>
1193
1194         * lbuf.c:
1195         Back out rev e165f67d3127
1196         [e9b70079698d] <1.7>
1197
1198         * lbuf.c:
1199         Include sys/time.h for utimes() and struct timeval.
1200         [e165f67d3127] <1.7>
1201
1202         * snprintf.c:
1203         Quiet bogus compiler warnings.
1204         [176fceb8db3c] <1.7>
1205
1206         * missing.h:
1207         Declare innetgr() for HP-UX which is missing a declaration. Declare
1208         domainname() for HP-UX and Solaris which are missing a declaration.
1209         [0b4c1296d4da] <1.7>
1210
1211         * bsm_audit.c:
1212         Use __sun for consistency with the rest of the sources.
1213         [8f0db6350b3a] <1.7>
1214
1215         * pwutil.c:
1216         Don't try to delref a NULL group.
1217         [57e94fc5df3e] <1.7>
1218
1219         * alloc.c, lbuf.c:
1220         Include memory.h on systems that need it.
1221         [e43d8d8a0008] <1.7>
1222
1223 2010-09-11  Todd C. Miller  <Todd.Miller@courtesan.com>
1224
1225         * exec.c:
1226         Quiet gcc warnings on glibc systems that use warn_unused_result for
1227         write(2).
1228         [f22696affc78] <1.7>
1229
1230 2010-09-10  Todd C. Miller  <Todd.Miller@courtesan.com>
1231
1232         * NEWS, README, configure, configure.in:
1233         Update for sudo 1.7.5
1234         [62ed8c6cb7c2] <1.7>
1235
1236         * exec.c, exec_pty.c, list.c, list.h, sudo_exec.h:
1237         Instead of using a array to store received signals, open a pipe and
1238         have the signal handler write the signal number to one end and
1239         select() on the other end. This makes it possible to handle signals
1240         similar to I/O without race conditions.
1241         [2d9dd09a9fce] <1.7>
1242
1243         * INSTALL:
1244         --with-iologdir not --enable-iologdir
1245         [457471aaeda6] <1.7>
1246
1247 2010-09-09  Todd C. Miller  <Todd.Miller@courtesan.com>
1248
1249         * visudo.c, visudo.pod:
1250         Make "visudo -c -f -" check the standard input.
1251         [8ed46ff3141a] <1.7>
1252
1253         * sudoers.pod:
1254         set_home and always_set_home have an effect if HOME is present in
1255         the env_keep list.
1256         [a2b26d62176d] <1.7>
1257
1258         * env.c:
1259         Make -H flag work when HOME is listed in env_keep. Also makes
1260         "set_home" and "always_set_home" override override HOME in env_keep.
1261         [91d842b6adc6] <1.7>
1262
1263 2010-09-08  Todd C. Miller  <Todd.Miller@courtesan.com>
1264
1265         * bsm_audit.c:
1266         Solaris BSM audit return EINVAL when auditing is not enabled,
1267         whereas OpenBSM returns ENOSYS.
1268         [bb9c94a8fa7d] <1.7>
1269
1270 2010-09-07  Todd C. Miller  <Todd.Miller@courtesan.com>
1271
1272         * toke.c, toke.l:
1273         Add missing LOG_INPUT/LOG_OUTPUT support in the lexer.
1274         [0a5519756bf1] <1.7>
1275
1276         * sudo.c:
1277         Set NewArgv[0] to the name of the pseudo-command we are running.
1278         Fixes a problem with "sudo -l" when auditing is enabled and the user
1279         is not allowed to run any commands on the host. Adapted from a patch
1280         from Daniel Kopecek.
1281         [694ed1a75a4a] <1.7>
1282
1283         * sudo.c:
1284         Update comment to reality.
1285         [de302f39566b] <1.7>
1286
1287         * missing.h:
1288         Need stdio.h for FILE *, not just NULL.
1289         [77cf303f5696] <1.7>
1290
1291 2010-09-06  Todd C. Miller  <Todd.Miller@courtesan.com>
1292
1293         * match.c:
1294         When matching the runas user and runas group (-u and -g command line
1295         options), keep track of runas group and runas user matches
1296         separately. Only return a positive match if we have a match for
1297         both runas user and runas group (if specified).
1298         [68d30216c13a] <1.7>
1299
1300 2010-09-04  Todd C. Miller  <Todd.Miller@courtesan.com>
1301
1302         * ldap.c, parse.c:
1303         Do not return -1 on error from the display functions; the call
1304         expects a return value >= 0.
1305         [e50e6ae4d06d] <1.7>
1306
1307         * ldap.c:
1308         display_bound_defaults now returns a count so make the stub return
1309         0, not 1.
1310         [97293ced4908] <1.7>
1311
1312         * fnmatch.c:
1313         Add #include of sys/types.h for .c files that include missing.h to
1314         be sure that size_t and ssize_t are defined.
1315         [a4f3070d0a2b] <1.7>
1316
1317 2010-09-03  Todd C. Miller  <Todd.Miller@courtesan.com>
1318
1319         * get_pty.c:
1320         It looks like AIX doesn't need to push STREAMS modules for ptys.
1321         [62c281fcd4ad] <1.7>
1322
1323 2010-08-30  Todd C. Miller  <Todd.Miller@courtesan.com>
1324
1325         * error.c, getprogname.c, isblank.c, missing.h, mksiglist.c,
1326         sigaction.c, strerror.c, strsignal.c, sudo_noexec.c:
1327         Add #include of sys/types.h for .c files that include missing.h to
1328         be sure that size_t and ssize_t are defined.
1329         [2ffbbb12f322] <1.7>
1330
1331         * Makefile.in:
1332         Install sudoers file from the build dir not hte src dir.
1333         [a26afd8db531] <1.7>
1334
1335 2010-08-26  Todd C. Miller  <Todd.Miller@courtesan.com>
1336
1337         * set_perms.c:
1338         If runas_pw changes, reset the stashed runas aux group vector.
1339         Otherwise, if runas_default is set in a per-command Defaults
1340         statement, the command runs with root's aux group vector (i.e. the
1341         one that was used when locating the command).
1342         [24a695707b67] <1.7>
1343
1344         * Makefile.in:
1345         Add target to generate sudoers file Remove generated sudoers file as
1346         part of distclean
1347         [448627fc35b6] <1.7>
1348
1349 2010-08-23  millert  <millert@rh4-x86.home.courtesan.com>
1350
1351         * exec.c:
1352         When not logging I/O install a handler for SIGCONT and deliver it to
1353         the command upon resume. Fixes bugzilla #431
1354         [e84690aa67bd] <1.7>
1355
1356 2010-08-21  Todd C. Miller  <Todd.Miller@courtesan.com>
1357
1358         * sudo.c, sudo.h:
1359         g/c unused auth_pw global
1360         [e30778d73c0b] <1.7>
1361
1362         * check.c, sudo.c:
1363         Move get_auth() into check.c where it is actually used.
1364         [3130e37787af] <1.7>
1365
1366         * sudo.c:
1367         Don't need to fork and wait when compiled with --disable-pam-session
1368         [2ae1bbe4437a] <1.7>
1369
1370 2010-08-20  Todd C. Miller  <Todd.Miller@courtesan.com>
1371
1372         * lbuf.c:
1373         Convert a remaining puts() and putchar() to use the output function.
1374         [d68c213feb0f] <1.7>
1375
1376 2010-08-18  Todd C. Miller  <Todd.Miller@courtesan.com>
1377
1378         * Makefile.in:
1379         Replace sudoers with sudoers.in in DISTFILES
1380         [616509f85d6c] <1.7>
1381
1382         * env.c:
1383         Set dupcheck to TRUE when setting new HOME value if !env_reset but
1384         always_set_home is true. Prevents a duplicate HOME in the
1385         environment (old value plus the new one) introduced in 9f97e4b43a4b.
1386         [2672ae047984] <1.7>
1387
1388         * configure, configure.in, sudoers, sudoers.in:
1389         Substitute sysconfdir in the installed sudoers file to get the
1390         correct path for sudoers.d.
1391         [ab14a68e546f] <1.7>
1392
1393 2010-08-17  Todd C. Miller  <Todd.Miller@courtesan.com>
1394
1395         * boottime.c, get_pty.c:
1396         Fix typos that prevented compilation on Irix; Friedrich Haubensak
1397         [a3e6c5a66890] <1.7>
1398
1399 2010-08-16  Todd C. Miller  <Todd.Miller@courtesan.com>
1400
1401         * Makefile.in, aix.c, audit.c, boottime.c, compat.h, error.c,
1402         fnmatch.c, getcwd.c, getdate.c, getdate.y, getline.c, getprogname.c,
1403         gettime.c, glob.c, isblank.c, linux_audit.c, memrchr.c, missing.h,
1404         mksiglist.c, nanosleep.c, sesh.c, setsid.c, sigaction.c, snprintf.c,
1405         strcasecmp.c, strerror.c, strlcat.c, strlcpy.c, strsignal.c, sudo.h,
1406         sudo_noexec.c, sudoreplay.c, timestr.c, utimes.c, vasgroups.c,
1407         zero_bytes.c:
1408         Merge compat.h and missing.h into missing.h
1409         [905905c7a8f0] <1.7>
1410
1411 2010-08-14  Todd C. Miller  <Todd.Miller@courtesan.com>
1412
1413         * auth/pam.c:
1414         If the user hits ^C while a password is being read, error out before
1415         reading any further passwords in the pam conversation function.
1416         Otherwise, if multiple PAM auth methods are required, the user will
1417         have to hit ^C for each one.
1418         [c8f6bc58fd86] <1.7>
1419
1420 2010-08-09  Todd C. Miller  <Todd.Miller@courtesan.com>
1421
1422         * exec.c:
1423         Fix waitpid() loop termination condition.
1424         [97719b3259f2] <1.7>
1425
1426         * exec_pty.c:
1427         Use sudo_waitpid() instead of bare waitpid()
1428         [624a40269189] <1.7>
1429
1430 2010-08-07  Todd C. Miller  <Todd.Miller@courtesan.com>
1431
1432         * sudo.pp:
1433         Set pp_kit_version and strip off patchlevel
1434         [814c87778567] <1.7>
1435
1436         * sudo.pp:
1437         Better handling of versions with a patchlevel. For rpm and deb, use
1438         the patchlevel+1 as the release. For AIX, use the patchlevel as the
1439         4th version number. For the rest, just leave the patchlevel in the
1440         version string.
1441         [d18ef30f0a72] <1.7>
1442
1443 2010-08-06  Todd C. Miller  <Todd.Miller@courtesan.com>
1444
1445         * auth/sudo_auth.c:
1446         For non-standalone auth methods, stop reading the password if the
1447         user enters ^C at the prompt.
1448         [59d2b1328d1e] <1.7>
1449
1450         * configure, configure.in:
1451         Don't print getspwuid as an auth method.
1452         [d35cf4628d9a] <1.7>
1453
1454         * Makefile.in, auth/passwd.c, auth/secureware.c, auth/sudo_auth.c,
1455         auth/sudo_auth.h, configure, configure.in, pwutil.c:
1456         No need to look up shadow password unless we are doing password-
1457         style authentication. This moves the shadow password lookup to the
1458         auth functions that need it.
1459         [10a85eebbf4c] <1.7>
1460
1461         * check.c:
1462         When removing/resetting the timestamp file ignore the tty ticket
1463         contents.
1464         [8b285f601ec0] <1.7>
1465
1466 2010-08-05  Todd C. Miller  <Todd.Miller@courtesan.com>
1467
1468         * sudo.c:
1469         delref sudo_user.pw, runas_pw and runas_gr immediately before we
1470         exec.
1471         [220be2de2f31] <1.7>
1472
1473         * sudo.c:
1474         Move calls to sudo_endgrent() and sudo_endpwent() to be after
1475         set_perms(), which may do passwd or group lookups.
1476         [883f0db94fd4] <1.7>
1477
1478 2010-08-04  Todd C. Miller  <Todd.Miller@courtesan.com>
1479
1480         * check.c:
1481         Make sure we don't try to delref NULL.
1482         [19bc5a47db06] <1.7>
1483
1484         * pwutil.c:
1485         Add missing delref in user_in_group()
1486         [fafb278f47a6] <1.7>
1487
1488         * sudo.c:
1489         delref the old runas group in set_runasgr()
1490         [0a7dd113cb1f] <1.7>
1491
1492         * match.c:
1493         Repair usergr_matches() return value broken in last checkin.
1494         [460b7b6ca2ce] <1.7>
1495
1496         * check.c, get_pty.c, glob.c, ldap.c, match.c, pwutil.c, sudo.c,
1497         sudo.h:
1498         Reference count cached passwd and group structs. The cache holds
1499         one reference itself and another is added by sudo_getgr{gid,nam} and
1500         sudo_getpw{uid,nam}. The final ref on the runas and user passwd and
1501         group structs are persistent for now.
1502         [e414c67e11fd] <1.7>
1503
1504         * UPGRADE:
1505         Fix typo
1506         [0f443aa22e96] <1.7>
1507
1508 2010-08-03  Todd C. Miller  <Todd.Miller@courtesan.com>
1509
1510         * check.c:
1511         Do not produce a warning for "sudo -k" if the ticket file does not
1512         exist.
1513         [eeaaa73d7f5b] <1.7>
1514
1515         * pwutil.c:
1516         Instead of caching struct passwd and struct group in the red-black
1517         tree, store a struct cache_item which includes both the key and
1518         datum. This allows us to user the actual name that was looked up as
1519         the key instead of the contents of struct passwd or struct group.
1520         This matters because the name in the database may not match what we
1521         looked up, due either to case folding or truncation (historically at
1522         8 characters). Also mark the disabled calls to sudo_freepwcache()
1523         and sudo_freegrcache() as broken since we use cached data for things
1524         like set_perms() and the logging functions. Fixing this would
1525         require making a copy of the structs for user and runas or adding a
1526         reference count (better).
1527         [2c1d8ec4fa5f] <1.7>
1528
1529         * check.c, exec_pty.c, get_pty.c, logging.c, sudoreplay.c, tgetpass.c,
1530         visudo.c:
1531         Quiet gcc warnings on glibc systems that use warn_unused_result for
1532         write(2) and others.
1533         [5faf88695c66] <1.7>
1534
1535 2010-08-02  Todd C. Miller  <Todd.Miller@courtesan.com>
1536
1537         * toke.c, toke.l:
1538         Add %option noinput
1539         [8a5e05d6f71f] <1.7>
1540
1541         * aclocal.m4, configure:
1542         Add cross-compile defaults for remaining AC_TRY_RUN usage.
1543         [fb88d22eabc6] <1.7>
1544
1545 2010-07-31  Todd C. Miller  <Todd.Miller@courtesan.com>
1546
1547         * aclocal.m4, config.h.in, configure, configure.in, snprintf.c:
1548         Use AC_CHECK_MEMBER in SUDO_SOCK_SA_LEN Use AC_TYPE_LONG_LONG_INT
1549         and AC_CHECK_SIZEOF([long int]) instead of rolling our own.
1550         [5e7cc557a46e] <1.7>
1551
1552 2010-07-30  Todd C. Miller  <Todd.Miller@courtesan.com>
1553
1554         * .hgtags:
1555         Added tag SUDO_1_7_4 for changeset 2920a3b9d568
1556         [e929004d5102] <1.7>
1557
1558         * pp:
1559         Debian: Remove dots from decoded release number AIX: looser matching
1560         of file command output for AIX 5.1
1561         [2920a3b9d568] [SUDO_1_7_4] <1.7>
1562
1563         * .hgtags:
1564         Added tag SUDO_1_7_4 for changeset 0d844aa34c1d
1565         [cf65ddcec602] <1.7>
1566
1567 2010-07-29  Todd C. Miller  <Todd.Miller@courtesan.com>
1568
1569         * exec_pty.c:
1570         exec_monitor is static
1571         [0d844aa34c1d] <1.7>
1572
1573         * pp:
1574         Update to latest version
1575         [7b8a00defbd6] <1.7>
1576
1577 2010-07-28  Todd C. Miller  <Todd.Miller@courtesan.com>
1578
1579         * sudo.pp:
1580         Let pp determine pp_aix_version itself.
1581         [c5ee7944af03] <1.7>
1582
1583         * INSTALL, config.h.in, configure, configure.in, mkpkg, sudo.c:
1584         Add support for Ubuntu admin flag file and enable it when building
1585         Ubuntu packages.
1586         [2d97501cda0c] <1.7>
1587
1588         * sudo.pp, sudoers:
1589         Add commented out SuSE-like targetpw settings
1590         [f4ad331ace46] <1.7>
1591
1592         * configure, configure.in:
1593         Only try to use +DAportable for non-GCC on hppa Check the value of
1594         $pic_flag insteaf of whether the compiler is ANSI C when detecting
1595         the HP-UX bundled C compiler.
1596         [654da0091c16] <1.7>
1597
1598         * configure, configure.in:
1599         Prevent configure from adding the -g flag unless in devel mode
1600         [e3c11f228c56] <1.7>
1601
1602 2010-07-27  Todd C. Miller  <Todd.Miller@courtesan.com>
1603
1604         * sudo.pp:
1605         Go back to sudo-flavor to match existing packages and only use an
1606         underscore for those that need it.
1607         [1f78ecf3b990] <1.7>
1608
1609         * sudo.pp:
1610         Use sudo_$flavor instead of sudo-$flavor since that causes the least
1611         amount of trouble for the various package managers.
1612         [7e1e07115788] <1.7>
1613
1614         * mkpkg:
1615         Fix handling of the ldap flavor Remove destdir unless --debug was
1616         specified Make distclean before running configure if there is a
1617         Makefile present
1618         [2bde3925346d] <1.7>
1619
1620         * configure, configure.in:
1621         Back out version change in 5baf2187a138
1622         [bbc3a81afbba] <1.7>
1623
1624         * mkpkg:
1625         Pass extra args on to configure on HP-UX, if we don't have the HP C
1626         compiler, disable zlib to prevent gcc from finding it in
1627         /usr/local/lib.
1628         [87201c7f1116] <1.7>
1629
1630         * configure, configure.in, mkpkg:
1631         Use the HP ANSI C compiler on HP-UX if possible
1632         [5baf2187a138] <1.7>
1633
1634         * sudoreplay.c:
1635         Some getline() implementations (FreeBSD 8.0) do not ignore the
1636         length pointer when the line pointer is NULL as they should.
1637         [8652300785ed] <1.7>
1638
1639         * sudoreplay.c:
1640         Don't need to check for *cp being non-zero, isdigit() will do that.
1641         [107301a99b6a] <1.7>
1642
1643         * sudoreplay.c:
1644         Add setlocale() so the command line arguments that use floating
1645         point work in different locales. Since sudo now logs the timing
1646         data in the C locale we must Parse the seconds in the timing file
1647         manually instead of using strtod(). Furthermore, sudo 1.7.3 logged
1648         the number of seconds with the user's locale so if the decimal point
1649         is not '.' try using the locale-specific version.
1650         [2b8ed181e37c] <1.7>
1651
1652         * exec.c:
1653         Do I/O logging in the C locale so the floating point numbers in the
1654         timing file are not locale-dependent.
1655         [18abbca14078] <1.7>
1656
1657         * sudoreplay.c:
1658         Use errorx() not error() for thingsthat don't set errno.
1659         [a2e7c6793d26] <1.7>
1660
1661 2010-07-26  Todd C. Miller  <Todd.Miller@courtesan.com>
1662
1663         * sudo.pp:
1664         Add Tru64 kit support
1665         [40e2d21aa17f] <1.7>
1666
1667         * pp:
1668         Better support for 1.2.3 style versions in Tru64 kits
1669         [f7133199a711] <1.7>
1670
1671         * pp:
1672         Remove apparently unnecessary use of sudo
1673         [a667a69eeab0] <1.7>
1674
1675         * Makefile.in:
1676         Create timedir as part of install-dirs target.
1677         [a2e394d694dd] <1.7>
1678
1679         * exec_pty.c:
1680         Handle ENXIO from read/write which can occur when reading/writing a
1681         pty that has gone away. Fixes bugzilla 422
1682         [142f4c2efa17] <1.7>
1683
1684         * pwutil.c:
1685         sudo_pwdup() was not expanding an empty pw_shell to _PATH_BSHELL
1686         [82e5e46bf458] <1.7>
1687
1688         * mkpkg:
1689         platform is a pp flag not a variable
1690         [9d0ab9b9bf0c] <1.7>
1691
1692         * Makefile.in, mkpkg, sudo.pp:
1693         Add simple arg parsing for mkpkg so we can set debug, flavor or
1694         platform.
1695         [8142ab01ccd9] <1.7>
1696
1697         * pp:
1698         Make rpm backend work on AIX 5.x
1699         [2467a79d0b4d] <1.7>
1700
1701 2010-07-25  Todd C. Miller  <Todd.Miller@courtesan.com>
1702
1703         * sudoers:
1704         Add commented out Defaults entry for log_output
1705         [b3fe97e59ae0] <1.7>
1706
1707 2010-07-23  Todd C. Miller  <Todd.Miller@courtesan.com>
1708
1709         * Makefile.in:
1710         Install binary files with -b~ to make a backup. Fixes "text file
1711         busy" error on HP-UX during install.
1712         [3563e3e0163a] <1.7>
1713
1714         * install-sh:
1715         "mv -f" on HP-UX doesn't unlink the destination first so add an
1716         explicit rm before moving the temporary into place.
1717         [3994af813c88] <1.7>
1718
1719         * configure, configure.in:
1720         Some more ${foo} -> $(foo) conversion for consistent Makefiles.
1721         [c214d50c32ec] <1.7>
1722
1723 2010-07-22  Todd C. Miller  <Todd.Miller@courtesan.com>
1724
1725         * pathnames.h.in:
1726         Add missing include of maillock.h for Solaris
1727         [343f04b7a581] <1.7>
1728
1729         * NEWS, TROUBLESHOOTING, UPGRADE, configure, configure.in,
1730         sample.syslog.conf, sudoers.cat:
1731         Change the default syslog facility from local2 to authpriv (or auth
1732         if the operating system doesn't support authpriv).
1733         [949f39cf4a59] <1.7>
1734
1735         * Makefile.in, configure, configure.in, sudo.pp:
1736         Install sudoers as /etc/sudoers on RPM and debian systems where the
1737         package manager will not replace a user-modified configuration file.
1738         This fixes upgrades from the vendor sudo packages.
1739         [74c7ff01e880] <1.7>
1740
1741         * pp:
1742         RPM: use %config(noreplace) instead of %config for volatile This
1743         results in the new file being installed with a .rpmnew suffix
1744         instead of the file being replaced and the old one renamed with a
1745         .rpmsave suffix.
1746         [166133a4fb9e] <1.7>
1747
1748 2010-07-21  Todd C. Miller  <Todd.Miller@courtesan.com>
1749
1750         * boottime.c, mkstemps.c:
1751         Include time.h for struct timeval.
1752         [50446e0b8398] <1.7>
1753
1754         * exec_pty.c:
1755         The return value of strsignal() may be const and should be treated
1756         as const regardless.
1757         [c035b17b50e3] <1.7>
1758
1759         * sudoers.cat, sudoers.man.in, sudoers.pod:
1760         Mention that 127.0.0.1 will not match, nor will localhost unless
1761         that is the actual host name.
1762         [e9977ec7ac4f] <1.7>
1763
1764         * Makefile.in:
1765         fix typo
1766         [f216d653404d] <1.7>
1767
1768         * Makefile.in, NEWS, README, UPGRADE, WHATSNEW:
1769         Rename WHATSNEW -> NEWS
1770         [f3ce0a462ca0] <1.7>
1771
1772         * pp:
1773         Updated pp with latest patches
1774         [cded68af5ba0] <1.7>
1775
1776         * WHATSNEW, exec.c, exec_pty.c, set_perms.c, sudo.c, sudo.h:
1777         If pam is in use, wait until the process has finished before calling
1778         pam_close_session().
1779         [fb3d7de50a05] <1.7>
1780
1781         * sudoers.cat, sudoers.man.in:
1782         regen sudoers manual
1783         [7498a058eeb1] <1.7>
1784
1785         * UPGRADE, sudoers, sudoers.pod:
1786         Add commented out line to add HOME to env_keep and add a warning to
1787         the note about the HOME change in UPGRADE.
1788         [0f7e08f09b9f] <1.7>
1789
1790 2010-07-20  Todd C. Miller  <Todd.Miller@courtesan.com>
1791
1792         * sudoreplay.c:
1793         Add LINE_MAX define for those without it.
1794         [6248dd44573c] <1.7>
1795
1796         * WHATSNEW:
1797         Mention that tty_tickets is now the default.
1798         [4cf26eaee5ba] <1.7>
1799
1800         * INSTALL, UPGRADE, config.h.in, configure, configure.in, defaults.c,
1801         sudoers.cat, sudoers.man.in, sudoers.pod:
1802         The tty_tickets option is now on by default.
1803         [73dd2b82a3a9] <1.7>
1804
1805         * WHATSNEW:
1806         Mention that AIX authdb support has been fixed.
1807         [9331829dc276] <1.7>
1808
1809         * aix.c:
1810         setauthdb() only sets the "old" registry if it was set by a previous
1811         call to setauthdb(). To restore the original value, passing NULL
1812         (or an empty string) to setauthdb() is sufficient.
1813         [d956fd763521] <1.7>
1814
1815 2010-07-19  Todd C. Miller  <Todd.Miller@courtesan.com>
1816
1817         * sudoers.cat, sudoers.man.in, sudoers.pod:
1818         Mention new handling of HOME in always_set_home and set_home
1819         descriptions.
1820         [a69c9bed3164] <1.7>
1821
1822         * sudo.cat, sudo.man.in, sudo.pod:
1823         fix typo
1824         [9b90bb3e9187] <1.7>
1825
1826         * UPGRADE, WHATSNEW, env.c, sudo.cat, sudo.man.in, sudo.pod:
1827         Reset HOME when env_reset is enabled unless it is in env_keep
1828         [18223dfd1ac3] <1.7>
1829
1830         * sudoers.cat, sudoers.man.in, sudoers.pod:
1831         The default for set_logname has been "true" for some time now.
1832         [9f97e4b43a4b] <1.7>
1833
1834         * sudoers.cat, sudoers.man.in, sudoers.pod:
1835         Document that MAIL it set in env_reset mode.
1836         [dcf9ad98079e] <1.7>
1837
1838         * boottime.c:
1839         Add missing include of time.h
1840         [57bee414982d] <1.7>
1841
1842         * defaults.c, sudo.c:
1843         Check return value of setdefs() but don't stop setting defaults if
1844         we hit an unknown one.
1845         [a42cb2d6b7ed] <1.7>
1846
1847         * logging.c:
1848         Fix check for dup2() return value.
1849         [916cd7fdeba7] <1.7>
1850
1851         * visudo.c:
1852         Treat an unknown defaults entry as a parse error.
1853         [1f94675835d9] <1.7>
1854
1855         * env.c:
1856         Check KEPT_MAIL not DID_MAIL when determining whether to set MAIL in
1857         -i and env_reset mode.
1858         [aa6657ccfe01] <1.7>
1859
1860         * env.c:
1861         Add PYTHONUSERBASE to initial_badenv_table
1862         [93058374f0d9] <1.7>
1863
1864         * WHATSNEW, aclocal.m4, config.h.in, configure, configure.in, env.c,
1865         pathnames.h.in, sudo.cat, sudo.man.in, sudo.pod:
1866         If env_reset is enabled, set the MAIL environment variable based on
1867         the target user unless MAIL is explicitly preserved in sudoers.
1868         [d903c904dcd4] <1.7>
1869
1870 2010-07-17  Todd C. Miller  <Todd.Miller@courtesan.com>
1871
1872         * pp:
1873         decode debian code names
1874         [2df0ecbc23b4] <1.7>
1875
1876         * WHATSNEW:
1877         fix typo
1878         [b66a95fa1869] <1.7>
1879
1880 2010-07-16  Todd C. Miller  <Todd.Miller@courtesan.com>
1881
1882         * WHATSNEW:
1883         Add entry about SuSE bash script fix.
1884         [04af78fa281c] <1.7>
1885
1886         * sudo.c:
1887         Restore RLIMIT_NPROC after the uid switch if it appears that
1888         runas_setup() did not do it for us. Fixes a bash script problem on
1889         SuSE with RLIMIT_NPROC set to RLIM_INFINITY.
1890         [bb14802d48b1] <1.7>
1891
1892 2010-07-15  Todd C. Miller  <Todd.Miller@courtesan.com>
1893
1894         * mkpkg, pp, sudo.pp:
1895         Restore the dot removal in the os version reported by polypkg. Adapt
1896         mkpkg and sudo.pp to the change.
1897         [83c7870130fe] <1.7>
1898
1899 2010-07-16  Todd C. Miller  <Todd.Miller@courtesan.com>
1900
1901         * WHATSNEW:
1902         Mention polypkg
1903         [c5f6e40bbb58] <1.7>
1904
1905         * README, WHATSNEW:
1906         Update for sudo 1.7.4
1907         [0c688f1f8160] <1.7>
1908
1909         * INSTALL:
1910         document --with-pam-login
1911         [33ca3f6308ae] <1.7>
1912
1913         * sudoers.cat, sudoers.man.in, sudoers.pod:
1914         The tag is NOSETENV, not UNSETENV. From Petr Uzel.
1915         [95f37e63ca15] <1.7>
1916
1917 2010-07-15  Todd C. Miller  <Todd.Miller@courtesan.com>
1918
1919         * sudo.pp:
1920         Include flavor in solaris package name
1921         [b6d56ccf367e] <1.7>
1922
1923         * mkpkg:
1924         Older shells don't support IFS= so set explictly to space, tab,
1925         newline.
1926         [336925525e17] <1.7>
1927
1928         * mkpkg:
1929         Use '=' not '==' in test
1930         [98c692271cfd] <1.7>
1931
1932         * mkpkg:
1933         Fix typo that prevented debian from matching
1934         [af4deec35e37] <1.7>
1935
1936         * mkpkg:
1937         Add missing prefix setting for debian
1938         [d0c1941cb6ec] <1.7>
1939
1940         * sudo.pp:
1941         Use tab indents to reduce the chance of problem with <<- Uncomment
1942         some env_keep lines for RHEL, SLES and Debian to more closely match
1943         the vendor sudoers files.
1944         [74ba26566cdc] <1.7>
1945
1946         * sudo.pp:
1947         Fix indentation Fix the debian %set section, pp does not set
1948         pp_deb_distro Uncomment %sudo line in sudoers for debian Add pam.d
1949         to %files for debian Remove the /etc/sudo-ldap.conf symlink on
1950         debian for ldap flavor
1951         [f15ff41b5afd] <1.7>
1952
1953         * sudoers:
1954         Add commented out env_keep entries, sample Aliases and a %sudo line
1955         for debian.
1956         [8264e4ed42dc] <1.7>
1957
1958         * configure, configure.in:
1959         Remove check for egrep; configure has its own
1960         [27b3d85ebf4f] <1.7>
1961
1962         * configure.in:
1963         Use enable_zlib instead of enableval for consistency
1964         [4a15cfd43d3e] <1.7>
1965
1966 2010-07-14  Todd C. Miller  <Todd.Miller@courtesan.com>
1967
1968         * mkpkg:
1969         Enable zlib for linux distros
1970         [fcab91448bb0] <1.7>
1971
1972         * mkpkg:
1973         Add ldap flavor to default build
1974         [e35a577c8994] <1.7>
1975
1976         * mkpkg, sudo.pp:
1977         Simplify rpm linux distro settings
1978         [f30547765636] <1.7>
1979
1980         * UPGRADE, aclocal.m4, configure, configure.in, sudo.cat, sudo.man.in,
1981         sudoers.cat:
1982         Move time stamp files from /var/run/sudo to /var/{db,lib,adm}/sudo.
1983         [8c9440423d98] <1.7>
1984
1985         * Makefile.in, mkpkg, sudo.pp:
1986         Add ldap "flavor" for debian, controlled by the SUDO_FLAVOR
1987         environment variable.
1988         [9f418defc08a] <1.7>
1989
1990         * sudo.pp:
1991         Create sudo group on debian
1992         [4b0cc7b8b0b5] <1.7>
1993
1994         * mkpkg, sudo.pp:
1995         Add debian 4/5/6 and use the dot when doing version matches
1996         [d5184f0a1efc] <1.7>
1997
1998         * sudoers.cat, sudoers.man.in, sudoers.pod:
1999         Remove spurious "and"; from debian
2000         [8b9f2a5937bc] <1.7>
2001
2002         * aclocal.m4, configure:
2003         Use a loop when searching for mv, sendmail and sh
2004         [a1c7d19721a4] <1.7>
2005
2006         * aclocal.m4, configure, configure.in, sudoers.cat, sudoers.man.in,
2007         sudoers.pod, visudo.cat, visudo.man.in, visudo.pod:
2008         Substitute the value of EDITOR into the sudoers and visudo manuals.
2009         [f00dc9343f94] <1.7>
2010
2011 2010-07-13  Todd C. Miller  <Todd.Miller@courtesan.com>
2012
2013         * mkpkg, pp, sudo.pp:
2014         Initial debian 4.0 support
2015         [6d73c000723f] <1.7>
2016
2017         * mkpkg:
2018         Some platforms need -fPIE instead of -fpie
2019         [8533a29633e8] <1.7>
2020
2021         * Makefile.in:
2022         Add packaging bits to DISTFILES
2023         [dea9f374f28b] <1.7>
2024
2025         * auth/pam.c:
2026         Only set PAM_RHOST for Solaris, where it is needed to avoid a bug.
2027         On Linux it causes a DNS lookup via libaudit.
2028         [22e04d2f5f0f] <1.7>
2029
2030         * sudo.psf:
2031         We now use pp to generate HP-UX packages
2032         [6c9f8ae6bc11] <1.7>
2033
2034 2010-07-12  Todd C. Miller  <Todd.Miller@courtesan.com>
2035
2036         * auth/pam.c:
2037         Fix indentation
2038         [e52e9e6338d5] <1.7>
2039
2040         * INSTALL, Makefile.in:
2041         isntall-man -> install-doc
2042         [02cc8198ea7a] <1.7>
2043
2044         * configure, configure.in, sudo.cat, sudo.man.in, sudoers.cat,
2045         sudoers.ldap.cat, sudoers.ldap.man.in, sudoers.man.in,
2046         sudoreplay.cat, sudoreplay.man.in, visudo.cat, visudo.man.in:
2047         Bump version to 1.7.4
2048         [df6ce4ea908a] <1.7>
2049
2050         * INSTALL.binary, Makefile.binary.in, Makefile.in:
2051         Remove remaining bits of the old binary package
2052         [8d4f82c23c22] <1.7>
2053
2054         * sudo.pp:
2055         Use http://rc.quest.com/topics/polypkg/ for packaging
2056         [d71793085629] <1.7>
2057
2058         * Makefile.in, mkpkg, pp:
2059         Use http://rc.quest.com/topics/polypkg/ for packaging
2060         [675e505758c5] <1.7>
2061
2062         * install-sh:
2063         Just ignore the -c option, it is the default Add support for -d
2064         option
2065         [2adfb3a63231] <1.7>
2066
2067         * env.c, logging.c, pathnames.h.in:
2068         Use _PATH_STDPATH instead of _PATH_DEFPATH
2069         [2c22d54a1f02] <1.7>
2070
2071         * Makefile.in:
2072         Do not strip binaries.
2073         [bc84682b372c] <1.7>
2074
2075         * INSTALL, configure, configure.in:
2076         Add --insults=disabled configure option to allow people to build in
2077         insult support but have the insults disabled unless explicitly
2078         enabled in sudoers.
2079         [6d9f40db9cca] <1.7>
2080
2081 2010-07-10  Todd C. Miller  <Todd.Miller@courtesan.com>
2082
2083         * env.c, sudoreplay.c:
2084         Fix K&R compilation
2085         [e44d3be7ab85] <1.7>
2086
2087 2010-07-09  Todd C. Miller  <Todd.Miller@courtesan.com>
2088
2089         * auth/pam.c, config.h.in, configure, configure.in, env.c, sudo.c,
2090         sudo.h:
2091         Add support for a sudo-i pam.d file to be used for "sudo -i".
2092         Adapted from a RedHat patch.
2093         [2984c3831d88] <1.7>
2094
2095         * Makefile.in:
2096         Fix installation of sudo_noexec.so
2097         [d1f7ca8331b6] <1.7>
2098
2099         * Makefile.in, config.h.in, configure, configure.in, missing.h,
2100         mkstemp.c, mkstemps.c, sudo_edit.c:
2101         Use mkstemps() instead of mkstemp() in sudoedit. This allows
2102         sudoedit to preserve the file extension (if any) which may be used
2103         by the editor (like emacs) to choose the editing mode.
2104         [46399679d9ae] <1.7>
2105
2106 2010-07-08  Todd C. Miller  <Todd.Miller@courtesan.com>
2107
2108         * ldap.c, sudoers.ldap.cat, sudoers.ldap.man.in, sudoers.ldap.pod:
2109         TLS_CACERT is now an alias for TLS_CACERTFILE. OpenLDAP uses
2110         TLS_CACERT, not TLS_CACERTFILE in its ldap.conf. Other LDAP client
2111         code, such as nss_ldap, uses TLS_CACERTFILE. Also document why you
2112         should avoid disabling TLS_CHECKPEER is possible.
2113         [1d626a5cf8c0] <1.7>
2114
2115 2010-07-07  Todd C. Miller  <Todd.Miller@courtesan.com>
2116
2117         * toke.c, toke.l:
2118         Add suport for negated user/host/command lists in a Defaults entry.
2119         E.g. Defaults:!baduser noexec
2120         [24f07a805dce] <1.7>
2121
2122 2010-07-01  Todd C. Miller  <Todd.Miller@courtesan.com>
2123
2124         * sudoers.ldap.pod:
2125         fix typo.
2126         [d5f2922cecf2] <1.7>
2127
2128 2010-06-29  Todd C. Miller  <Todd.Miller@courtesan.com>
2129
2130         * .hgtags:
2131         Added tag SUDO_1_7_3 for changeset 72fd1f510a08
2132         [cc8b2277e17e] <1.7>
2133
2134         * configure, configure.in, sudo.cat, sudo.man.in, sudoers.cat,
2135         sudoers.ldap.cat, sudoers.ldap.man.in, sudoers.man.in,
2136         sudoreplay.cat, sudoreplay.man.in, visudo.cat, visudo.man.in:
2137         Sudo 1.7.3 GA
2138         [72fd1f510a08] [SUDO_1_7_3] <1.7>
2139
2140         * alias.c, alloc.c, auth/afs.c, auth/aix_auth.c, auth/bsdauth.c,
2141         auth/dce.c, auth/fwtk.c, auth/kerb4.c, auth/kerb5.c, auth/pam.c,
2142         auth/passwd.c, auth/rfc1938.c, auth/secureware.c, auth/securid.c,
2143         auth/securid5.c, auth/sia.c, auth/sudo_auth.c, boottime.c, check.c,
2144         defaults.c, env.c, exec.c, exec_pty.c, fileops.c, find_path.c,
2145         fnmatch.c, get_pty.c, getcwd.c, getdate.c, getdate.y, getline.c,
2146         getspwuid.c, glob.c, goodpath.c, gram.c, gram.y, interfaces.c,
2147         iolog.c, lbuf.c, ldap.c, logging.c, match.c, parse.c, parse_args.c,
2148         pwutil.c, set_perms.c, snprintf.c, sudo.c, sudo_edit.c, sudo_nss.c,
2149         sudoreplay.c, term.c, testsudoers.c, tgetpass.c, toke.c, toke.l,
2150         tsgetgrpw.c, visudo.c:
2151         Include strings.h even if string.h exists since they may define
2152         different things. Fixes warnings on AIX and others.
2153         [7c6de7fb5dba] <1.7>
2154
2155         * env.c:
2156         Do not rely on env.env_len when unsetting a variable, just use the
2157         NULL terminator.
2158         [faf088613ce5] <1.7>
2159
2160         * env.c:
2161         In unsetenv() check for NULL or empty name as per POSIX 1003.1-2008
2162         [47f8dfcc7a48] <1.7>
2163
2164 2010-06-28  Todd C. Miller  <Todd.Miller@courtesan.com>
2165
2166         * sudoers.ldap.cat, sudoers.ldap.man.in, sudoers.ldap.pod:
2167         Mention that multiple URI lines are merged into a single one.
2168         [1dc0ac5929bf] <1.7>
2169
2170         * WHATSNEW:
2171         Document AIX fixes
2172         [be36e8a6dddd] <1.7>
2173
2174 2010-06-26  Todd C. Miller  <Todd.Miller@courtesan.com>
2175
2176         * env.c, sudo.c, sudo.h:
2177         For env_init() just use environ not the envp from main().
2178         [d4f3e374caeb] <1.7>
2179
2180 2010-06-25  Todd C. Miller  <Todd.Miller@courtesan.com>
2181
2182         * configure, configure.in, sudo.cat, sudo.man.in, sudoers.cat,
2183         sudoers.ldap.cat, sudoers.ldap.man.in, sudoers.man.in,
2184         sudoreplay.cat, sudoreplay.man.in, visudo.cat, visudo.man.in:
2185         Update version to 1.7.3rc1
2186         [fe43fe79070d] <1.7>
2187
2188         * TODO:
2189         fqdn issue is resolved
2190         [f35cb63eb74b] <1.7>
2191
2192         * env.c:
2193         In unsetenv(), assign ep in the for loop instead of doing it
2194         earlier. This version of the code does not change env.envp in
2195         between when ep is assigned and when it is used but older versions
2196         (e.g. 1.7.2) do.
2197         [a4cd29c862c9] <1.7>
2198
2199         * aix.c:
2200         Use S_REGISTRY instead of S_AUTHSYSTEM as the argument to
2201         getuserattr() when fetching the administrative domain to be used by
2202         setauthdb(). This was suggested by AIX support and is consistent
2203         with what OpenSSH does.
2204         [d3109706ec85] <1.7>
2205
2206         * vasgroups.c:
2207         Use warningx() instead of log_error() since the latter is not
2208         available to visudo or testsudoers. This does mean that they don't
2209         end up in syslog.
2210         [0174e89f983b] <1.7>
2211
2212         * sudo.c:
2213         Defer call to sudo_nonunix_groupcheck_cleanup() until after we have
2214         closed the sudoers sources. From Quest sudo.
2215         [c1b33e3e0f9e] <1.7>
2216
2217         * pwutil.c:
2218         Ignore case when matching user/group names in the cache. From Quest
2219         sudo.
2220         [72df368a8a0e] <1.7>
2221
2222 2010-06-24  Todd C. Miller  <Todd.Miller@courtesan.com>
2223
2224         * config.h.in, configure, configure.in, selinux.c:
2225         Add check for setkeycreatecon() when --with-selinux is specified.
2226         [24144c52c0cc] <1.7>
2227
2228         * configure, configure.in:
2229         Bump version to 1.7.3b5 Error out if libaudit.h is missing or
2230         ununable when --with-linux-audit was specified
2231         [215c7653d9bc] <1.7>
2232
2233         * aix.c:
2234         K&R function declaration for aix_setauthdb()
2235         [82da12d222a6] <1.7>
2236
2237         * env.c, sudo.c, sudo.h:
2238         If env_init() was called implicitly via getenv(), setenv() or
2239         putenv() just use the specified envp instead of mallocing a new
2240         copy. This prevents an infinite loop on OpenBSD which calls
2241         getenv() from malloc() to get MALLOC_OPTIONS.
2242         [8e82ce63f774] <1.7>
2243
2244         * ldap.c:
2245         Add support for multiple URI lines by joining the contents and
2246         passing the result to ldap_initialize.
2247         [b4e10b2ffdb1] <1.7>
2248
2249 2010-06-23  Todd C. Miller  <Todd.Miller@courtesan.com>
2250
2251         * pwutil.c, set_perms.c, sudo_nss.c:
2252         Bracket initgroups with calls to aix_setauthdb() and
2253         aix_restoreauthdb()
2254         [363dbe449f1c] <1.7>
2255
2256         * aix.c:
2257         Include compat.h before alloc.h to get __P
2258         [819a2667ffd7] <1.7>
2259
2260         * auth/aix_auth.c:
2261         Include usersec.h for authenticate() prototype
2262         [2b8dd2b67131] <1.7>
2263
2264         * aix.c:
2265         Add missing includes Add missing trailing NUL in userinfo string
2266         [8deaedf44943] <1.7>
2267
2268 2010-06-22  Todd C. Miller  <Todd.Miller@courtesan.com>
2269
2270         * HISTORY, history.pod:
2271         Mention when LDAP was incorporated.
2272         [4e6c8ec4f67c] <1.7>
2273
2274 2010-06-21  Todd C. Miller  <Todd.Miller@courtesan.com>
2275
2276         * configure:
2277         Define _LINUX_SOURCE_COMPAT on AIX for strsignal() prototype, it is
2278         not covered by _ALL_SOURCE.
2279         [3657f1b181b9] <1.7>
2280
2281         * pwutil.c:
2282         Include usersec.h on AIX to get IDtouser() prototype.
2283         [11483bbe15c7] <1.7>
2284
2285         * configure.in:
2286         Define _LINUX_SOURCE_COMPAT on AIX for strsignal() prototype, it is
2287         not covered by _ALL_SOURCE.
2288         [fd48e6e2136b] <1.7>
2289
2290 2010-06-18  Todd C. Miller  <Todd.Miller@courtesan.com>
2291
2292         * iolog.c:
2293         Add a cast to quiet a compiler warning.
2294         [51e9d419bd83] <1.7>
2295
2296         * boottime.c:
2297         Use memset() instead of zero_bytes() since we don't include sudo.h
2298         [f310b2123ba9] <1.7>
2299
2300         * Makefile.in:
2301         getline.o is already in LIB_OBJS, do not need it in COMMON_OBJS
2302         [c8750c2d75ab] <1.7>
2303
2304         * getdate.c, getdate.y:
2305         Quiet a compiler warning.
2306         [9f231be15958] <1.7>
2307
2308         * defaults.c, sudo.c:
2309         Call set_fqdn() after sudoers has parsed instead of inline as a
2310         callback.
2311         [26d413ddb6dd] <1.7>
2312
2313         * WHATSNEW:
2314         Do not call set_fqdn() until sudoers parses (where is gets run as a
2315         callback).
2316         [582453a993a1] <1.7>
2317
2318         * sudo.c:
2319         Do not call set_fqdn() until sudoers parses (where is gets run as a
2320         callback). Otherwise, if sudo is built --with-fqdn the fqdn will be
2321         set even if !fqdn is set in sudoers.
2322         [aa01e867d1bb] <1.7>
2323
2324         * configure, configure.in, sudo.cat, sudo.man.in, sudoers.cat,
2325         sudoers.ldap.cat, sudoers.ldap.man.in, sudoers.man.in,
2326         sudoreplay.cat, sudoreplay.man.in, visudo.cat, visudo.man.in:
2327         Bump version to 1.7.3b4
2328         [c1c5a73766b6] <1.7>
2329
2330         * WHATSNEW:
2331         mention the change in tty ticket behavior when there is no tty
2332         [93ddde63e453] <1.7>
2333
2334         * TODO:
2335         remove done items
2336         [9601b2e8dcef] <1.7>
2337
2338         * aix.c:
2339         Remove comment; NAME in usrinfo should be user name.
2340         [eb46f1e8ea08] <1.7>
2341
2342         * check.c:
2343         Do not update tty ticket if there is no tty.
2344         [e64e8c8f2286] <1.7>
2345
2346         * sudo.cat, sudo.man.in, sudo.pod:
2347         No longer need to use -- with the -s flag
2348         [e45c18dd79dc] <1.7>
2349
2350         * Makefile.in:
2351         Add missing $(srcdir) to sudo.man.in target
2352         [2bd89f6ca9f3] <1.7>
2353
2354         * Makefile.in:
2355         Do not rely on BSD make's $>
2356         [cb328b82cb92] <1.7>
2357
2358         * configure, configure.in:
2359         Set timedir to /var/db/sudo for darwin to match Apple sudo's
2360         location
2361         [860c7f1b001f] <1.7>
2362
2363 2010-06-16  Todd C. Miller  <Todd.Miller@courtesan.com>
2364
2365         * Makefile.in, configure, configure.in:
2366         Move aix.o from SUDO_OBJS to COMMON_OBJS
2367         [f8a9bdf346c1] <1.7>
2368
2369         * config.h.in, configure, configure.in, defaults.c, iolog.c,
2370         sudoreplay.c:
2371         Check for zlib.h in addition to libz.
2372         [fb77e44d5196] <1.7>
2373
2374         * Makefile.in, exec.c, exec_pty.c, sudo.h, sudo_exec.h:
2375         Move functions and symbols shared between exec.c and exec_pty.c into
2376         sudo_exec.h.
2377         [e798d945424e] <1.7>
2378
2379         * sudo.h:
2380         Add missing prototypes for aix_setauthdb and aix_restoreauthdb
2381         [8bc2af6d4e17] <1.7>
2382
2383         * Makefile.in:
2384         Comment out rules to build .man.in and .cat files unless --with-
2385         devel
2386         [81d6726a19ab] <1.7>
2387
2388         * aix.c, pwutil.c, set_perms.c, sudo.h:
2389         Fix AIX compilation problems.
2390         [7d95f73eca42] <1.7>
2391
2392         * sudo.c:
2393         Cast isalnum() arg to unsigned char.
2394         [5fff9a81af00] <1.7>
2395
2396         * WHATSNEW:
2397         Add Linux audit support.
2398         [e59e0670ba79] <1.7>
2399
2400         * sudo.c:
2401         Quote any non-alphanumeric characters other than '_' or '-' when
2402         passing a command to be run via the shell for the -s and -i options.
2403         [d35a3f4cb3c0] <1.7>
2404
2405         * sudo.c:
2406         Add missing braces that broke -i mode.
2407         [7fe124b078ec] <1.7>
2408
2409         * linux_audit.c:
2410         Fix linux_audit_command() return value
2411         [0c582476181c] <1.7>
2412
2413 2010-06-15  Todd C. Miller  <Todd.Miller@courtesan.com>
2414
2415         * Makefile.in, linux_audit.c, linux_audit.h:
2416         Add Linux audit support.
2417         [b207dc9960de] <1.7>
2418
2419 2010-06-16  Todd C. Miller  <Todd.Miller@courtesan.com>
2420
2421         * INSTALL, audit.c, bsm_audit.c, config.h.in, configure, configure.in,
2422         logging.h, selinux.c:
2423         Add Linux audit support.
2424         [26ae31d7ff93] <1.7>
2425
2426 2010-06-15  Todd C. Miller  <Todd.Miller@courtesan.com>
2427
2428         * sudoreplay.c, sudoreplay.cat, sudoreplay.man.in, sudoreplay.pod:
2429         Sync sudoreplay with trunk
2430         [65b780cccfa5] <1.7>
2431
2432         * exec_pty.c:
2433         Remove an XXX
2434         [8304ac649241] <1.7>
2435
2436         * aix.c, configure, configure.in, pwutil.c, set_perms.c, sudo.h:
2437         Set usrinfo for AIX Set adminstrative domain for the process when
2438         looking up user's password info and when preparing for execve().
2439         [52b48cbe97fd] <1.7>
2440
2441         * ldap.c, parse.c:
2442         Better prefix determination now that we can't rely on len==0 to tell
2443         the beginning on an entry.
2444         [32f1875d9605] <1.7>
2445
2446         * WHATSNEW, ldap.c, sudoers.ldap.cat, sudoers.ldap.man.in,
2447         sudoers.ldap.pod:
2448         Add support for multiple sudoers_base entries in ldap.conf. From
2449         Joachim Henke
2450         [3c0b59fce7b4] <1.7>
2451
2452         * configure, configure.in:
2453         Remove duplicate setsid check
2454         [7712d6d52da1] <1.7>
2455
2456         * Makefile.in, config.h.in, configure, configure.in, exec_pty.c,
2457         logging.c, missing.h, setsid.c:
2458         Move setsid emulation into setsid.c
2459         [f24743c9e4e9] <1.7>
2460
2461         * exec_pty.c, logging.c, selinux.c, sudo.c, tgetpass.c:
2462         Check for dup2() failure.
2463         [b1b6ba761b61] <1.7>
2464
2465         * config.h.in, configure, configure.in:
2466         Remove dup2 check, it is not optional.
2467         [cfbe5f3b5956] <1.7>
2468
2469 2010-06-14  Todd C. Miller  <Todd.Miller@courtesan.com>
2470
2471         * WHATSNEW:
2472         Add mbr_check_membership support and SELinux fixes
2473         [af1936a7cf2f] <1.7>
2474
2475         * Makefile.in:
2476         Sync SRCS and DISTFILES with reality
2477         [0971b5dcb1be] <1.7>
2478
2479         * INSTALL:
2480         Update OS specific notes. Delete some really ancient ones and move
2481         older ones to the end of the list.
2482         [872dd8b437a8] <1.7>
2483
2484         * README:
2485         Bump for sudo 1.7.3 Merge some changes from trunk
2486         [a3088c75bf22] <1.7>
2487
2488         * selinux.c, sudo.c:
2489         Call selinux_restore_tty() as part of cleanup() so it gets called
2490         from error()/errorx()
2491         [0197c07d4c1e] <1.7>
2492
2493         * compat.h:
2494         No longer use SA_NOCLDSTOP
2495         [73ca654cd3f8] <1.7>
2496
2497         * interfaces.h, match.c:
2498         Move union sudo_in_addr_un into interfaces.h
2499         [c84bda7c332a] <1.7>
2500
2501         * pathnames.h.in:
2502         Update copyright year
2503         [94871f44206b] <1.7>
2504
2505         * HISTORY, LICENSE, aix.c, alias.c, alloc.h, boottime.c, bsm_audit.h,
2506         compat.h, defaults.c, defaults.h, env.c, fileops.c, find_path.c,
2507         gettime.c, gram.y, history.pod, lbuf.h, license.pod, logging.c,
2508         match.c, missing.h, nanosleep.c, parse.h, set_perms.c,
2509         sudoers.ldap.cat, sudoers.ldap.man.in, sudoers.ldap.pod,
2510         sudoreplay.c, term.c, tgetpass.c, toke.l, visudo.c, visudo.cat,
2511         visudo.man.in, visudo.pod:
2512         Update copyright year
2513         [4cfb47c799b8] <1.7>
2514
2515         * Makefile.in:
2516         Remove varsub as part of clean
2517         [61f04a21b0bb] <1.7>
2518
2519         * match.c:
2520         Quiet a compiler warning.
2521         [06d8cfe916c8] <1.7>
2522
2523         * getdate.c, getdate.y:
2524         Quiet a compiler warning.
2525         [473d2b7d44a1] <1.7>
2526
2527         * ldap.c, sudo.h:
2528         Make the remaining functions in ldap.c static
2529         [ba555565b30a] <1.7>
2530
2531         * ldap.c:
2532         Make private functions static. Diff from Joachim Henke
2533         [1603035b1863] <1.7>
2534
2535         * schema.ActiveDirectory:
2536         Updates from Alain Roy to provide better examples for importing the
2537         schema and to fix problems caused by Windows validating attributes
2538         which have not yet been added before committing the changes.
2539         [83f11ae00f19] <1.7>
2540
2541 2010-06-12  Todd C. Miller  <Todd.Miller@courtesan.com>
2542
2543         * Makefile.in, configure, configure.in, sudo.cat, sudoers.cat:
2544         Generate .cat files directly from .man.in instead of .man using
2545         default values in configure.in
2546         [0a92b41c5ce5] <1.7>
2547
2548 2010-06-11  Todd C. Miller  <Todd.Miller@courtesan.com>
2549
2550         * configure, configure.in, sudo.c, sudo_usage.h.in:
2551         Print configure args with verbose version information.
2552         [ca4a5fcf0af8] <1.7>
2553
2554         * visudo.c:
2555         Remove tfd from struct sudoersfile; it is not used. Add prev pointer
2556         to struct sudoersfile. Declare list of sudoersfile using TQ_DECLARE.
2557         Use tq_append to append sudoers entries to the tail queue.
2558         [344c631d0d43] <1.7>
2559
2560 2010-06-10  Todd C. Miller  <Todd.Miller@courtesan.com>
2561
2562         * WHATSNEW:
2563         Describe tty timestamp improvements
2564         [136b0f832903] <1.7>
2565
2566         * toke.c, toke.l:
2567         A comment character may not be part of a command line argument
2568         unless it is quoted with a backslash. Fixes parsing of:
2569         testuser ALL=NOPASSWD: /usr/bin/wl #comment foo bar closes bz #441
2570         [2a0c82ffedde] <1.7>
2571
2572         * sudo.cat, sudo.man.in, sudoers.cat, sudoers.man.in:
2573         regen
2574         [c9fddd23c7e1] <1.7>
2575
2576         * sudoers.pod:
2577         Make this read a little bit better when passwd_timeout is 0.
2578         [51644950823f] <1.7>
2579
2580         * Makefile.in:
2581         Use the --file argument to config.status instead of setting
2582         CONFIG_FILES
2583         [fc2b42c60b5d] <1.7>
2584
2585         * sudo.man.pl, sudo.pod:
2586         Attempt to handle a default password prompt timeout of zero more
2587         gracefully.
2588         [478b8e720993] <1.7>
2589
2590         * toke.c, toke.l:
2591         Do not override value of keepopen global, instead restore it to the
2592         value we pushed onto the stack when popping.
2593         [dc370d57a668] <1.7>
2594
2595         * exec.c, exec_pty.c, logging.c, mon_systrace.c, tgetpass.c:
2596         Use SA_INTERRUPT in sa_flags
2597         [3845c6637361] <1.7>
2598
2599         * getdate.c, getdate.y, ldap.c, sudoreplay.c:
2600         Silence some compiler warnings
2601         [112ac65afd0c] <1.7>
2602
2603 2010-06-09  Todd C. Miller  <Todd.Miller@courtesan.com>
2604
2605         * exec.c, exec_pty.c, sudo.c, sudo.h:
2606         Implement background mode. If I/O logging we use pipes instead of a
2607         pty.
2608         [8d448eaf2aaa] <1.7>
2609
2610         * compat.h, exec.c, exec_pty.c, mksiglist.c, strsignal.c, tgetpass.c:
2611         Move compat definition of NSIG to compat.h
2612         [cae72a4c9dec] <1.7>
2613
2614         * tgetpass.c:
2615         Ignore SIGPIPE for "sudo -S"
2616         [c6595c8527c4] <1.7>
2617
2618         * tgetpass.c:
2619         Properly handle TGP_ECHO again. Print a newline if the user
2620         interrupted password input.
2621         [15acbe4fb535] <1.7>
2622
2623         * exec_pty.c:
2624         Use POSIX tcgetpgrp() instead of BSD TIOCGPGRP ioctl
2625         [dd041fc9554c] <1.7>
2626
2627 2010-06-08  Todd C. Miller  <Todd.Miller@courtesan.com>
2628
2629         * exec.c, exec_pty.c, selinux.c, sudo.c, sudo.h:
2630         Return an error from selinux_setup() instead of exiting. Call
2631         selinux_setup() from exec_setup().
2632         [b518225cafba] <1.7>
2633
2634         * compat.h:
2635         Add definition of WCOREDUMP for systems without it. This is known
2636         to work on AIX and SunOS 4, but may be incorrect on other systems
2637         that lack WCOREDUMP.
2638         [365e56db7cd5] <1.7>
2639
2640         * check.c, compat.h, config.h.in, configure, configure.in, iolog.c,
2641         nanosleep.c, sudo_edit.c, visudo.c:
2642         Replace timerfoo macros with timevalfoo since the timer macros are
2643         known to be busted on some systems.
2644         [4bb5228606c5] <1.7>
2645
2646         * toke.c, toke.l:
2647         If a file in a #includedir has improper permissions or owner just
2648         skip it. This prevents packages that incorrectly install a file
2649         into /etc/sudoers.d from breaking sudo so easily. Syntax errors in
2650         #includedir files still result in a parse error (for now).
2651         [b7fb75eddb77] <1.7>
2652
2653         * TODO, auth/pam.c, exec.c, exec_pty.c, set_perms.c, sudo.c, sudo.h:
2654         Defer call to pam_close_session() until after the command finishes
2655         if there is a monitor process.
2656         [0a39c8e6a81b] <1.7>
2657
2658         * WHATSNEW, def_data.c, def_data.h, def_data.in, exec.c, sudoers.cat,
2659         sudoers.man.in, sudoers.pod:
2660         Add use_pty sudoers option to force use of a pty even when not
2661         logging I/O.
2662         [aea971f1456a] <1.7>
2663
2664         * env.c, sudo.c, sudo.h:
2665         Instead of trying to keep the global environment in sync with our
2666         private copy, provide our own getenv() that returns values from the
2667         private environment and use env_get() to pass the environment in to
2668         run_command().
2669         [58c85c5695dc] <1.7>
2670
2671         * set_perms.c:
2672         Fix typo
2673         [0f677fcdde04] <1.7>
2674
2675 2010-06-07  Todd C. Miller  <Todd.Miller@courtesan.com>
2676
2677         * sudo.h:
2678         Rename pty.c -> get_pty.c
2679         [39137dcc4420] <1.7>
2680
2681         * iolog.c:
2682         Add #define for maximum session id
2683         [2a487437f013] <1.7>
2684
2685         * Makefile.in, configure, configure.in, exec.c, exec_pty.c, iolog.c,
2686         selinux.c, sudo.c, sudo.h, sudo_edit.c:
2687         Split exec.c into exec.c and exec_pty.c Pass a flag in to
2688         sudo_execve to indicate whether we need to wait for the command
2689         to finish (fork + execve vs. execve).
2690         [b197515585db] <1.7>
2691
2692         * Makefile.in, configure, configure.in, get_pty.c, pty.c:
2693         Rename pty.c -> get_pty.c
2694         [c0e5270bb28a] <1.7>
2695
2696         * aclocal.m4, configure, configure.in:
2697         Fix --without-iologdir
2698         [dcd6c5907b10] <1.7>
2699
2700 2010-06-06  Todd C. Miller  <Todd.Miller@courtesan.com>
2701
2702         * iolog.c:
2703         Only use I/O input log file if def_log_input is set and output file
2704         if def_log_output is set.
2705         [96cdd49be996] <1.7>
2706
2707 2010-06-05  Todd C. Miller  <Todd.Miller@courtesan.com>
2708
2709         * parse_args.c, sudo.c:
2710         Include sudo_usage.h after sudo.h now that it has function
2711         prototypes to guarantee that __P is defined.
2712         [c67b77f8d6b1] <1.7>
2713
2714 2010-06-04  Todd C. Miller  <Todd.Miller@courtesan.com>
2715
2716         * tgetpass.c:
2717         Do signal setup after turning off echo, not before. If we are using
2718         a tty but are not the foreground pgrp this will generate SIGTTOU so
2719         we want the default action to be taken (suspend process). Use an
2720         array for signals received instead of a single variable so we don't
2721         lose any when there are multiple different signals.
2722         [de356064ea01] <1.7>
2723
2724         * defaults.h, lbuf.h, sudo.h:
2725         Reorg function prototypes a bit
2726         [5c40f58bb28e] <1.7>
2727
2728         * Makefile.in, parse_args.c, sudo.c, sudo.h, sudo_usage.h.in:
2729         Move argument parsing into parse_args.c
2730         [fad7b8737c12] <1.7>
2731
2732         * Makefile.in, config.h.in, configure, configure.in, missing.h,
2733         mksiglist.c, mksiglist.h, siglist.in, strsignal.c:
2734         Build our own sys_siglist for systems that lack it.
2735         [3b5f671936dc] <1.7>
2736
2737         * exec.c, iolog.c, missing.h, sudo_edit.c:
2738         K&R fixes
2739         [dad62986f2fe] <1.7>
2740
2741         * exec.c, pty.c, sudo.c, sudo.h, sudo_edit.c:
2742         Log sudoedit sessions as well; adapted from trunk
2743         [2c5d9695022b] <1.7>
2744
2745         * configure:
2746         regen
2747         [9b319e89a6c4] <1.7>
2748
2749         * INSTALL, Makefile.in, WHATSNEW, aclocal.m4, configure, configure.in,
2750         def_data.c, def_data.h, def_data.in, defaults.c, exec.c, gram.c,
2751         gram.h, gram.y, iolog.c, parse.c, parse.h, pathnames.h.in, pty.c,
2752         script.c, selinux.c, sudo.c, sudo.h, sudoers.cat, sudoers.man.in,
2753         sudoers.pod, sudoreplay.c, sudoreplay.cat, sudoreplay.man.in,
2754         sudoreplay.pod, term.c:
2755         Merge I/O logging changes from trunk. Disabling I/O log support at
2756         compile time does not currently work. Sudoedit is not yet hooked up
2757         to I/O logging.
2758         [968c2c74c69b] <1.7>
2759
2760 2010-06-03  Todd C. Miller  <Todd.Miller@courtesan.com>
2761
2762         * INSTALL, configure, configure.in:
2763         Add --enable-warnings configure option
2764         [19cf967c36d1] <1.7>
2765
2766         * check.c, lbuf.h, script.c, sudo.c, sudo_nss.c:
2767         Fix K&R compilation issues on HP-UX.
2768         [c01a547cdcf8] <1.7>
2769
2770         * lbuf.c, lbuf.h, ldap.c, parse.c, sudo.c, sudo_nss.c:
2771         Pass in output function to lbuf_init() instead of writing to stdout.
2772         A side effect is that the usage info can now go to stderr as it
2773         should. Add support for embedded newlines in lbuf and use that
2774         instead of multiple calls to lbuf_print.
2775         [596a427ff873] <1.7>
2776
2777         * configure, configure.in, sudo.man.pl, sudoers.man.pl:
2778         Use numeric registers to handle conditionals instead of trying to do
2779         it all with text processing.
2780         [31570c372e0e] <1.7>
2781
2782         * sudoers.pod:
2783         Document per-command SELinux settings
2784         [bbce5acad1be] <1.7>
2785
2786         * sudo.pod:
2787         timestamp -> time stamp
2788         [d7335ce6286f] <1.7>
2789
2790         * tsgetgrpw.c:
2791         Set close on exec flag in private versions of setpwent() and
2792         setgrent().
2793         [954814bdbd56] <1.7>
2794
2795         * logging.c:
2796         Make send_mail() take a printf-style argument list
2797         [0783ad585062] <1.7>
2798
2799         * Makefile.binary.in, Makefile.in, aclocal.m4, acsite.m4,
2800         config.guess, config.h.in, config.sub, configure, configure.in,
2801         ltmain.sh, m4/libtool.m4, m4/ltoptions.m4, m4/ltsugar.m4,
2802         m4/ltversion.m4, m4/lt~obsolete.m4:
2803         Update to autoconf 2.65 and libtool 2.2.6b
2804         [3544dd2f1a94] <1.7>
2805
2806         * boottime.c:
2807         Don't use TRUE/FALSE which may not be defined.
2808         [8649bf22b3b2] <1.7>
2809
2810         * sudo.cat, sudo.man.in, sudo.pod:
2811         Document new tty_ticket behavior
2812         [0663e0390338] <1.7>
2813
2814         * find_path.c, sudo.c, sudo.h, visudo.c:
2815         Make find_path() a little more generic by not checking def_foo
2816         variables inside it. Instead, pass in ignore_dot as a function
2817         argument.
2818         [16c3f27cd9b9] <1.7>
2819
2820         * check.c:
2821         Store info from stat(2)ing the tty in the tty ticket when tty
2822         tickets are in use. If the tty lives on a devpts (Linux) or devices
2823         (Solaris) filesystem, stash the ctime in the tty ticket file, as it
2824         is not updated when the tty is written to. This helps us determine
2825         when a tty has been reused without the user authenticating again
2826         with sudo.
2827         [f9aec9ab9054] <1.7>
2828
2829         * boottime.c, check.c, sudo.h:
2830         get_boottime() now fills in a timeval struct
2831         [dbd2003659c0] <1.7>
2832
2833 2010-06-02  Todd C. Miller  <Todd.Miller@courtesan.com>
2834
2835         * check.c, compat.h, config.h.in, configure, configure.in, fileops.c,
2836         gettime.c, sudo.h, sudo_edit.c, visudo.c:
2837         Use timeval directly instead of converting to timespec when dealing
2838         with file times and time of day.
2839         [c85bf3e41839] <1.7>
2840
2841         * auth/pam.c:
2842         Fix OpenPAM detection for newer versions.
2843         [67f29a0703d0] <1.7>
2844
2845         * vasgroups.c:
2846         Sync with Quest sudo git repo
2847         [2680ad9762c2] <1.7>
2848
2849         * aclocal.m4, configure, configure.in:
2850         HP-UX ld uses +b instead or -R or -rpath Fix typo in libvas check
2851         libvas may need libdl for dlopen() Add missing template for
2852         ENV_DEBUG Adapted from Quest sudo
2853         [6c886eb9070a] <1.7>
2854
2855         * README.LDAP:
2856         Fix typos; from Quest Sudo
2857         [cf258fc69f1a] <1.7>
2858
2859         * Makefile.in, configure.in:
2860         Use value of SHELL from configure in Makefile
2861         [08aaf12221d6] <1.7>
2862
2863 2010-05-28  Todd C. Miller  <Todd.Miller@courtesan.com>
2864
2865         * env.c:
2866         Handle duplicate variables in the environment. For unsetenv(), keep
2867         looking even after remove the first instance. For sudo_putenv(),
2868         check for and remove dupes after we replace an existing value.
2869         [086c6397d8cd] <1.7>
2870
2871 2010-04-29  Todd C. Miller  <Todd.Miller@courtesan.com>
2872
2873         * visudo.c:
2874         Fix a crash when checking a sudoers file that has aliases that
2875         reference themselves. Based on a diff from David Wood.
2876         [5efc702a3b35] <1.7>
2877
2878 2010-04-15  Todd C. Miller  <Todd.Miller@courtesan.com>
2879
2880         * alias.c:
2881         Fix use after free in error message when a duplicate alias exists.
2882         [9eaac49bd22b] <1.7>
2883
2884 2010-04-14  Todd C. Miller  <Todd.Miller@courtesan.com>
2885
2886         * visudo.c:
2887         Set errorfile to the sudoers path if we set parse_error manually.
2888         This prevents a NULL dereference in printf() when checking a sudoers
2889         file in strict mode when alias errors are present.
2890         [b4eed2f0615d] <1.7>
2891
2892 2010-04-12  Todd C. Miller  <Todd.Miller@courtesan.com>
2893
2894         * TODO, sudoers.cat, sudoers.man.in, sudoers.pod:
2895         Fix typo
2896         [57198cae9cf5] <1.7>
2897
2898 2010-04-09  Todd C. Miller  <Todd.Miller@courtesan.com>
2899
2900         * find_path.c:
2901         Qualify the command even if it is in the current working directory,
2902         e.g. "./foo" instead of just returning "foo". This removes an
2903         ambiguity between real commands and possible pseudo-commands in
2904         command matching.
2905         [fb4d571495fa] <1.7>
2906
2907 2010-04-07  Todd C. Miller  <Todd.Miller@courtesan.com>
2908
2909         * sudoers.cat, sudoers.man.in, sudoers.pod:
2910         Add a note about the security implications of the fast_glob option.
2911         [84f8097553d9] <1.7>
2912
2913         * memrchr.c:
2914         Remove duplicate includes
2915         [3e8d90f4c30f] <1.7>
2916
2917 2010-03-22  Todd C. Miller  <Todd.Miller@courtesan.com>
2918
2919         * configure, configure.in:
2920         Fix installation of sudoers.ldap in "make install" when --with-ldap
2921         was specified without a directory. From Prof. Dr. Andreas Mueller
2922         [5177a284b9ff] <1.7>
2923
2924 2010-03-09  Todd C. Miller  <Todd.Miller@courtesan.com>
2925
2926         * match.c:
2927         When doing a glob match, short circuit if gl.gl_pathc is 0. From
2928         Mark Kettenis.
2929         [549f8f7c2463] <1.7>
2930
2931 2010-03-08  Todd C. Miller  <Todd.Miller@courtesan.com>
2932
2933         * script.c:
2934         Use parent process group id instead of parent process id when
2935         checking foreground status and suspending parent. Fixes an issue
2936         when running commands under /usr/bin/time and others.
2937         [eac86126e335] <1.7>
2938
2939         * env.c:
2940         In setenv(), if the var is empty, return 1 and set errno to EINVAL
2941         instead of returning EINVAL directly.
2942         [d202091ec15e] <1.7>
2943
2944 2010-02-22  Todd C. Miller  <Todd.Miller@courtesan.com>
2945
2946         * match.c:
2947         Check for pseudo-command by looking at the first character of the
2948         command in sudoers instead of checking the user-supplied command for
2949         a slash.
2950         [88f3181692fe] <1.7>
2951
2952 2010-02-09  Todd C. Miller  <Todd.Miller@courtesan.com>
2953
2954         * toke.l:
2955         Avoid a duplicate fclose() of the sudoers file.
2956         [164d39108dde] <1.7>
2957
2958         * toke.l:
2959         Fix size arg when realloc()ing include stack. From Daniel Kopecek
2960         [8900bccef219] <1.7>
2961
2962 2010-02-06  Todd C. Miller  <Todd.Miller@courtesan.com>
2963
2964         * aix.c, config.h.in, configure, configure.in:
2965         Use setrlimit64(), if available, instead of setrlimit() when setting
2966         AIX resource limits since rlim_t is 32bits.
2967         [2cbb14d98fc1] <1.7>
2968
2969         * logging.c:
2970         Fix use after free when sending error messages. From Timo Juhani
2971         Lindfors
2972         [caf183fd9d94] <1.7>
2973
2974 2010-01-18  Todd C. Miller  <Todd.Miller@courtesan.com>
2975
2976         * ChangeLog, Makefile.in:
2977         Generate the ChangeLog as part of "make dist" instead of having it
2978         in the repo.
2979         [836c31615859] <1.7>
2980
2981 2010-01-17  Todd C. Miller  <Todd.Miller@courtesan.com>
2982
2983         * Makefile.in:
2984         Generate correct ChangeLog for 1.7 branch.
2985         [586dd90b8878] <1.7>
2986
2987 2010-01-17  Todd C. Miller  <Todd.Miller@courtesan.com>
2988
2989         * Makefile.binary.in, Makefile.in, aix.c, alias.c, alloc.c, alloc.h,
2990         auth/afs.c, auth/aix_auth.c, auth/bsdauth.c, auth/dce.c,
2991         auth/fwtk.c, auth/kerb4.c, auth/kerb5.c, auth/pam.c, auth/passwd.c,
2992         auth/rfc1938.c, auth/secureware.c, auth/securid.c, auth/securid5.c,
2993         auth/sia.c, auth/sudo_auth.c, auth/sudo_auth.h, check.c,
2994         closefrom.c, compat.h, configure.in, defaults.c, defaults.h,
2995         emul/charclass.h, emul/timespec.h, env.c, error.c, error.h,
2996         fileops.c, find_path.c, getcwd.c, getprogname.c, getspwuid.c,
2997         gettime.c, goodpath.c, gram.c, gram.y, ins_2001.h, ins_classic.h,
2998         ins_csops.h, ins_goons.h, insults.h, interfaces.c, interfaces.h,
2999         isblank.c, lbuf.c, lbuf.h, ldap.c, list.c, list.h, logging.c,
3000         logging.h, match.c, memrchr.c, missing.h, mkinstalldirs, mkstemp.c,
3001         mon_systrace.c, nanosleep.c, parse.c, parse.h, pathnames.h.in,
3002         pty.c, pwutil.c, redblack.c, redblack.h, sample.pam, sample.sudoers,
3003         sample.syslog.conf, script.c, selinux.c, sesh.c, set_perms.c,
3004         sigaction.c, snprintf.c, strcasecmp.c, strerror.c, strlcat.c,
3005         strlcpy.c, strsignal.c, sudo.c, sudo.h, sudo.man.in, sudo.pod,
3006         sudo_edit.c, sudo_noexec.c, sudo_nss.c, sudo_nss.h, sudo_usage.h.in,
3007         sudoers.ldap.man.in, sudoers.ldap.pod, sudoers.man.in, sudoers.pod,
3008         sudoers2ldif, sudoreplay.c, sudoreplay.man.in, sudoreplay.pod,
3009         term.c, testsudoers.c, tgetpass.c, timestr.c, toke.c, toke.l,
3010         utimes.c, visudo.c, visudo.man.in, visudo.pod, zero_bytes.c:
3011         Remove CVS $Sudo$ tags.
3012         [de683a8b31f5]
3013
3014 2009-12-26  Todd C. Miller  <Todd.Miller@courtesan.com>
3015
3016         * sudo_usage.h.in:
3017         make this match sudoers SYNOPSIS
3018         [c74ba66944c2]
3019
3020         * lbuf.c, parse.c:
3021         Print a newline between Runas and Command-specific defaults in sudo
3022         -l.
3023         [b5bdfcc9ce4b]
3024
3025         * term.c:
3026         Use SET and CLR macros in term_raw
3027         [50ca42609d6c]
3028
3029         * sudoreplay.c:
3030         Set stdin to non-blocking mode early instead of in check_input. Use
3031         term_raw instead of term_cbreak since the data we get has already
3032         been expanded via OPOST.
3033         [51c47e803d62]
3034
3035 2009-12-23  Todd C. Miller  <Todd.Miller@courtesan.com>
3036
3037         * script.c, term.c:
3038         Enable/disable all postprocessing instead of just nl->crnl
3039         processing since things like tab expansion matter too. However, if
3040         stdout is a tty leave postprocessing on in the pty since we run into
3041         problems doing it only on the real stdout with .e.g nvi.
3042         [62666e309673]
3043
3044 2009-12-19  Todd C. Miller  <Todd.Miller@courtesan.com>
3045
3046         * check.c:
3047         If tty_tickets is enabled and there is no tty, prompt for a
3048         password. Do not lecture user for "sudo -k command" if user has a
3049         timestamp.
3050         [5880200c5f6b]
3051
3052         * INSTALL:
3053         Document missing options: --with-efence and --with-bsm-audit
3054         [d83afcdf9ff3]
3055
3056         * sudo.cat, sudo.man.in, sudo.pod, sudoers.cat, sudoers.ldap.cat,
3057         sudoers.ldap.man.in, sudoers.ldap.pod, sudoers.man.in, sudoers.pod,
3058         sudoreplay.cat, sudoreplay.man.in, sudoreplay.pod, visudo.cat,
3059         visudo.man.in, visudo.pod:
3060         username -> user name groupname -> group name hostname -> host name
3061         [10c85646f45d]
3062
3063         * INSTALL, README.LDAP, sudoers.pod:
3064         filename -> file name like the rest of the docs
3065         [1ef8ab5a9018]
3066
3067 2009-12-17  Todd C. Miller  <Todd.Miller@courtesan.com>
3068
3069         * parse.c:
3070         Fix printing of entries with multiple host entries on a single line.
3071         [226ceaf91d8d]
3072
3073 2009-12-14  Todd C. Miller  <Todd.Miller@courtesan.com>
3074
3075         * sudoers.pod:
3076         Mention that targetpw affects the timestamp file name.
3077         [a26e22e4f72e]
3078
3079         * def_data.c, def_data.h, def_data.in, defaults.c, script.c,
3080         sudoers.pod:
3081         Add compress_transcript option.
3082         [6e94f8cb9dfb]
3083
3084 2009-12-13  Todd C. Miller  <Todd.Miller@courtesan.com>
3085
3086         * configure, configure.in:
3087         bump to 1.7.3b2
3088         [906d7e347d15]
3089
3090         * pwutil.c, set_perms.c, sudo.c, sudo_nss.c:
3091         Better split of membership vs. traditional group check in
3092         user_in_group(). Allow user_ngroups to be < 0 if getgroups() fails.
3093         [6ebc55d4716b]
3094
3095 2009-12-12  Todd C. Miller  <Todd.Miller@courtesan.com>
3096
3097         * pwutil.c:
3098         Fix pasto and add default return value.
3099         [7973b5e4599c]
3100
3101         * check.c, match.c, pwutil.c, sudo.h:
3102         refactor group member checking into user_in_group()
3103         [48ca8c2eddf8]
3104
3105         * check.c, config.h.in, configure, configure.in, match.c, sudo.c,
3106         sudo.h:
3107         Add support for mbr_check_membership() as present in darwin.
3108         [5501aed02b9f]
3109
3110 2009-12-10  Todd C. Miller  <Todd.Miller@courtesan.com>
3111
3112         * match.c:
3113         Rename label to be accurate
3114         [3af17dd960f7]
3115
3116         * Makefile.in, boottime.c, check.c, config.h.in, configure,
3117         configure.in, sudo.h:
3118         Treat timestamp files from before we booted as old. Idea from and
3119         Apple patch.
3120         [5c96e484c05a]
3121
3122 2009-12-09  Todd C. Miller  <Todd.Miller@courtesan.com>
3123
3124         * sudo.c, sudo.pod, sudo_usage.h.in:
3125         Allow the -u flag to be used in conjunction with the -v flag as per
3126         older versions of sudo.
3127         [591e9fc13c1a]
3128
3129         * logging.c:
3130         fix typo in last commit
3131         [4fd0c692dcf0]
3132
3133 2009-12-08  Todd C. Miller  <Todd.Miller@courtesan.com>
3134
3135         * logging.c:
3136         Convert fmt_first and fmt_confd into macros.
3137         [32e870158b29]
3138
3139         * sudoers.pod:
3140         timeouts can be floats now
3141         [89de639a9679]
3142
3143         * WHATSNEW, def_data.c, def_data.h, def_data.in, defaults.c,
3144         defaults.h, mkdefaults:
3145         Add support for floating point timeout values (e.g. 2.5 minutes).
3146         [210ffa291733]
3147
3148 2009-12-07  Todd C. Miller  <Todd.Miller@courtesan.com>
3149
3150         * sudo.pod:
3151         The -L flag will be removed in sudo 1.7.4
3152         [ffd026084333]
3153
3154 2009-12-06  Todd C. Miller  <Todd.Miller@courtesan.com>
3155
3156         * sudoreplay.c:
3157         Fix a bug due to order of operators.
3158         [938d34464283]
3159
3160 2009-11-23  Todd C. Miller  <Todd.Miller@courtesan.com>
3161
3162         * match.c:
3163         cmnd_matches() already deals with negation so _cmndlist_matches()
3164         does not need to do so itself. Fixes a bug with negated entries in
3165         a Cmnd_List.
3166         [71c845f6ce73]
3167
3168 2009-11-22  Todd C. Miller  <Todd.Miller@courtesan.com>
3169
3170         * sudo.c:
3171         Don't exit() from open_sudoers, just return NULL for all errors.
3172         [8cfa832f972a]
3173
3174         * script.c:
3175         Can't rely on the shell sending us SIGCONT when transitioning from
3176         backgroup to foreground process.
3177         [3c6c5b6cb4b3]
3178
3179         * toke.c, toke.l:
3180         Add missing extern def for parse_error
3181         [45b7b59d03b7]
3182
3183 2009-11-21  Todd C. Miller  <Todd.Miller@courtesan.com>
3184
3185         * toke.c, toke.l:
3186         Avoid a parse error when #includedir doesn't find any files. Closes
3187         bug #375
3188         [1ce1b850e9e6]
3189
3190         * Makefile.in:
3191         Include sudo.man.pl and sudoers.man.pl in the distribution tarball.
3192         [6a22e32da108]
3193
3194 2009-11-15  Todd C. Miller  <Todd.Miller@courtesan.com>
3195
3196         * script.c:
3197         Start command out in foreground mode if stdout is a tty. Works
3198         around issues with some curses-based programs that don't handle
3199         tcsetattr getting interrupted by a signal. Still allows us to avoid
3200         hogging the tty if the command is part of a pipeline.
3201         [1c32f2b94769]
3202
3203         * script.c, sudo.c, sudo.h, sudoreplay.c, term.c, tgetpass.c:
3204         Use a socketpair to pass signals from parent to child. Child will
3205         now pass command status change info back via the socketpair. This
3206         allows the parent to distinguish between signals it has been sent
3207         directly and signals the command has received. It also means the
3208         parent can once again print the signal notifications to the tty so
3209         all writes to the pty master occur in the parent. The command is
3210         now always started in background mode with tty signals handled by
3211         the parent.
3212         [c6790b82986d]
3213
3214 2009-11-04  Todd C. Miller  <Todd.Miller@courtesan.com>
3215
3216         * configure, configure.in:
3217         Fix a few typos in the descriptions; from Jeff Makey Only do the
3218         check for krb5_get_init_creds_opt_free() taking two arguments if we
3219         find krb5_get_init_creds_opt_alloc(). Otherwise we will get a false
3220         positive when using our own krb5_get_init_creds_opt_free which takes
3221         only a single argument.
3222         [845a9ff6f93d]
3223
3224 2009-11-03  Todd C. Miller  <Todd.Miller@courtesan.com>
3225
3226         * configure, configure.in:
3227         Remove a spurious comma in the kerb5 bits.
3228         [3433eab083db]
3229
3230         * auth/kerb5.c:
3231         Call krb5_get_init_creds_opt_init() in our emulated
3232         krb5_get_init_creds_opt_alloc() for MIT kerberos.
3233         [7ffb40bf43e9]
3234
3235 2009-11-01  Todd C. Miller  <Todd.Miller@courtesan.com>
3236
3237         * config.h.in:
3238         Add HAVE_ZLIB
3239         [9297bde61ecc]
3240
3241         * script.c:
3242         Need to ignore SIGTT{IN,OU} in child when running the command in the
3243         background. Also some minor cleanup.
3244         [dc208d982319]
3245
3246 2009-10-31  Todd C. Miller  <Todd.Miller@courtesan.com>
3247
3248         * script.c:
3249         Instead of calling sigsuspend when waiting for SIGUSR[12] from
3250         parent, install the signal handlers w/o SA_RESTART and let them
3251         interrupt waitpid().
3252         [759c7d18203b]
3253
3254         * script.c:
3255         Pass along SIGHUP and SIGTERM from parent to child.
3256         [035b0e254568]
3257
3258         * script.c:
3259         Close unused bits of script_fds in processes that don't need them.
3260         Restore default SIGCONT handler in child.
3261         [e037378ab0c1]
3262
3263         * script.c:
3264         Update foreground/background status in SIGCONT handler in parent
3265         process.
3266         [3f7f91333264]
3267
3268 2009-10-25  Todd C. Miller  <Todd.Miller@courtesan.com>
3269
3270         * script.c:
3271         Defer setting terminal into raw mode until just before we fork() and
3272         only do it if sudo is the foreground process. If we get SIGTT{IN,OU}
3273         and sudo is already in the foreground be sure to set raw mode before
3274         continuing the child.
3275         [1102ef40832c]
3276
3277 2009-10-24  Todd C. Miller  <Todd.Miller@courtesan.com>
3278
3279         * script.c:
3280         Fix handling of SIGTTOU/SIGTTIN in program being run. We now only
3281         give the command the controlling tty if the main sudo process is the
3282         foreground process.
3283         [cf3a91cb5682]
3284
3285         * script.c:
3286         Don't bother with sudo_waitpid() here for now.
3287         [9086de480c2d]
3288
3289         * script.c:
3290         fix non-zlib case
3291         [a258bff0f9a6]
3292
3293 2009-10-23  Todd C. Miller  <Todd.Miller@courtesan.com>
3294
3295         * script.c:
3296         Remove non-wroking code that crept into rev 1.55
3297         [2802dd55cff5]
3298
3299 2009-10-22  Todd C. Miller  <Todd.Miller@courtesan.com>
3300
3301         * INSTALL, configure, configure.in, script.c, sudoreplay.c:
3302         First pass at zlib support for transcript data files
3303         [5d10260807da]
3304
3305         * Makefile.in:
3306         remove vestiges of ZLDFLAGS
3307         [1fa0caf1c0fb]
3308
3309         * script.c:
3310         Add missing variable declaration for when TIOCSCTTY is not defined.
3311         Need to include sys/termio.h for TIOCSCTTY on some systems.
3312         [ee7f41ac2709]
3313
3314         * script.c:
3315         when resuming command, send SIGCONT to its pgrp not just pid
3316         [5cd63c1d565b]
3317
3318         * selinux.c:
3319         remove unused variable
3320         [df67df4be228]
3321
3322         * script.c:
3323         include selinux.h for is_selinux_enabled() proto
3324         [85ebaa880cc1]
3325
3326         * script.c:
3327         Don't use log_error() in the child process.
3328         [def65fe2a433]
3329
3330         * script.c:
3331         Do I/O in parent instead of child since the parent can have both
3332         /dev/tty as well as the pty fds open. The child just sets things up
3333         and waits for its grandchild and writes the signal description to
3334         the pty master if the command was killed by a signal.
3335         [95e473208982]
3336
3337 2009-10-18  Todd C. Miller  <Todd.Miller@courtesan.com>
3338
3339         * missing.h, sudo.h:
3340         Move two struct forward declarations from sudo.h to missing.h
3341         [90ad28294a8c]
3342
3343         * script.c:
3344         Make comment at the top of script_exec() match reality.
3345         [c5042d27dbe0]
3346
3347         * sudo.c:
3348         if neither stdin nor stdout is a tty, check stderr
3349         [c532ff20c8d8]
3350
3351         * Makefile.in:
3352         Add back dependecy of gram.h on gram.y
3353         [c58382b7fcca]
3354
3355         * script.c:
3356         Make transcript mode work as long as we can figure out our tty, even
3357         if it is not stdin. We'd like to use /dev/tty but that won't be
3358         valid after the setsid().
3359         [7b8bba8d99e7]
3360
3361 2009-10-17  Todd C. Miller  <Todd.Miller@courtesan.com>
3362
3363         * config.h.in, configure, configure.in, pty.c:
3364         Add support for IRIX-style dynamic ptys
3365         [bedc9bac44c1]
3366
3367         * Makefile.in, alloc.h, getline.c, sudo.h, sudoreplay.c:
3368         Move alloc.c protos into alloc.h
3369         [b6a90649617d]
3370
3371         * missing.h:
3372         Move prototypes for missing libc functions to missing.h
3373         [dda9ae1ccaf8]
3374
3375         * Makefile.in, sudo.h, sudoreplay.c:
3376         Move prototypes for missing libc functions to missing.h
3377         [7483166b577b]
3378
3379 2009-10-16  Todd C. Miller  <Todd.Miller@courtesan.com>
3380
3381         * config.h.in, configure, configure.in:
3382         Disable transcript support if no tcsetpgrp until we support older
3383         BSD-style job control.
3384         [27ac1d8163df]
3385
3386         * configure, configure.in, pty.c, script.c:
3387         Break out pty code into pty.c
3388         [e85509b25d41]
3389
3390         * compat.h, config.h.in, configure, configure.in:
3391         add killpg macro if no killpg function
3392         [3a125f4a51f0]
3393
3394         * config.h.in, configure, configure.in, script.c:
3395         Push ptem and ldterm for STERAMS-based systems when allocating a
3396         pty.
3397         [36bb39b30ff2]
3398
3399 2009-10-15  Todd C. Miller  <Todd.Miller@courtesan.com>
3400
3401         * script.c:
3402         Sprinkle some more O_NOCTTY and call grantpt() before unlockpt()
3403         [d94bd5c9bf4e]
3404
3405         * script.c:
3406         Call tcgetpgrp() in the parent, not the child and have the child
3407         spin until it is granted. Fixes a race on darwin.
3408         [6e8d435339ce]
3409
3410         * script.c:
3411         Only use TIOCNOTTY in the non-setsid case. If no TIOCSCTTY, just
3412         reopen slave.
3413         [0bdc63c019ca]
3414
3415 2009-10-14  Todd C. Miller  <Todd.Miller@courtesan.com>
3416
3417         * script.c:
3418         In script mode, if the command is killed by a signal, print the
3419         signal description as well as a core dump notification like the
3420         shell does.
3421         [9df61738df07]
3422
3423         * Makefile.in, config.h.in, configure, configure.in, strsignal.c,
3424         sudo.h:
3425         Add check for strsignal() and a simple implementation if it is not
3426         there but sys_siglist is
3427         [61421a188ef4]
3428
3429         * script.c:
3430         Add missing WUNTRACED and store the signal that stopped the
3431         grandchild in suspended, not signo.
3432         [df65042b200e]
3433
3434         * script.c:
3435         g/c unused code
3436         [40d8cb5c9203]
3437
3438         * script.c:
3439         Associate the grandchild's pgrp with the tty instead of the child's
3440         and just get suspend notifications via SIGCHLD instead of directly.
3441         This fixes a hang with programs that try to set terminal attributes
3442         and is more consistent with how the shell handles things.
3443         [6865abff7e94]
3444
3445 2009-10-12  Todd C. Miller  <Todd.Miller@courtesan.com>
3446
3447         * script.c:
3448         Move setpgid() of child into the parent side of the fork() where it
3449         belongs.
3450         [3defa782777c]
3451
3452 2009-10-11  Todd C. Miller  <Todd.Miller@courtesan.com>
3453
3454         * script.c:
3455         fix typo
3456         [b6a612b3622c]
3457
3458         * script.c:
3459         Run command in its own pgrp (like the shell does) for easier
3460         signalling. No need to relay SIGINT or SIGQUIT to parent, just send
3461         to grandchild. Don't want grandchild stopped events in the child
3462         (only termination). Flush output after suspending grandchild before
3463         signalling parent.
3464         [db556bf2176f]
3465
3466         * script.c:
3467         Back out revision 1.34; the problem lies elsewhere.
3468         [85f590a03275]
3469
3470         * script.c:
3471         Don't set stdout to blocking mode when flushing remaining output.
3472         It can cause us to hang when trying to exit. Need to investigate
3473         why.
3474         [6f803a3e33ca]
3475
3476         * script.c:
3477         Handle SIGTTOU and remove some debugging.
3478         [52d17279053e]
3479
3480         * term.c:
3481         Back out revision 1.10 as the signal that interrupts us may be
3482         SIGTTOU or SIGTTIN which the caller must handle.
3483         [7e2fa9107975]
3484
3485         * script.c:
3486         Apparently we need to send SIGSTOP to the command as well as ourself
3487         when we get SIGTSTP, the kernel doesn't automatically stop the
3488         process for us.
3489         [1a936e9309c4]
3490
3491         * script.c:
3492         Use an extra process to act as the glue bewteen the sessions
3493         associated with the user's controlling tty (what the shell uses) and
3494         the tty that sudo is using to do its logging. Basically, this means
3495         that if we get, e.g. SIGTSTP from the process sudo is running, we
3496         relay the signal to the parent so it's shell can do the job control.
3497         [6dd296988060]
3498
3499         * term.c:
3500         Handle getting/setting terminal attributes when the fd is in non-
3501         blocking mode.
3502         [ae5ae535ea7b]
3503
3504 2009-10-07  Todd C. Miller  <Todd.Miller@courtesan.com>
3505
3506         * sudoreplay.c, sudoreplay.cat, sudoreplay.man.in, sudoreplay.pod:
3507         Add support for pausing and changing the speed in interactive mode.
3508         [72a2063780a7]
3509
3510         * script.c:
3511         Already define O_NOCTTY in compat.h, don't need it here
3512         [b5d80ed3e5ce]
3513
3514 2009-10-06  Todd C. Miller  <Todd.Miller@courtesan.com>
3515
3516         * sudoreplay.c:
3517         Add missing protos
3518         [c4cb4e7f4d8a]
3519
3520 2009-09-30  Todd C. Miller  <Todd.Miller@courtesan.com>
3521
3522         * sudo_edit.c:
3523         Always update the stashed mtime of the temp file instead of using
3524         what we have for the original because the time resolution of the
3525         filesystem the temporary is on may not match that of the filesystem
3526         that holds the original. Should fix bz #371 found by Philippe Levan.
3527         [c86ca4bec60c]
3528
3529         * sudoreplay.c:
3530         Use cbreak mode instead of raw mode and add signal handlers to
3531         restore the tty on interrupt.
3532         [84dd283da41c]
3533
3534         * script.c, sudo.h, term.c:
3535         Retain NL to NLCR conversion on the real tty and skip it on the pty
3536         we allocate. That way, if stdout is not a pty there are no extra
3537         carriage returns.
3538         [32e4f570414e]
3539
3540         * script.c:
3541         Fix log_output(); just pass in a string and a length.
3542         [ca980cc0a3fb]
3543
3544 2009-09-28  Todd C. Miller  <Todd.Miller@courtesan.com>
3545
3546         * script.c:
3547         do not use errno when complaining out lack of a tty
3548         [8f9b8c55ab8e]
3549
3550 2009-09-27  Todd C. Miller  <Todd.Miller@courtesan.com>
3551
3552         * Makefile.in, sudoreplay.c, term.c:
3553         Instead of messing with line endings, just set terminal to raw mode
3554         in sudoreplay.
3555         [90943fa87acb]
3556
3557         * term.c:
3558         When copying the terminal attributes to the pty, be sure not to set
3559         ONLCR. This prevents extra carriage returns from ending up in the
3560         script output file.
3561         [e6b5475ac2aa]
3562
3563         * script.c:
3564         Convert a do {} while into a while
3565         [e461310d2c77]
3566
3567         * Makefile.in:
3568         Use if then instead of test && when installing binaries that may not
3569         exist.
3570         [ad4f9490d971]
3571
3572         * script.c:
3573         Add O_NOCTTY when opening a tty device. Explicitly disconnect from
3574         old tty before associatng with new one.
3575         [0e0ca634b80c]
3576
3577         * script.c, selinux.c, sudo.c, sudo.h:
3578         First cut at refactoring some of the selinux code so it can be used
3579         in conjunction with sudo's transcript support.
3580         [779b0d8f9d29]
3581
3582 2009-09-26  Todd C. Miller  <Todd.Miller@courtesan.com>
3583
3584         * aclocal.m4, configure, configure.in:
3585         Fix default case of transcript_enabled being unset.
3586         [f8aa96186e6b]
3587
3588         * script.c, sudoreplay.c:
3589         Use _PATH_SUDO_TRANSCRIPT instead of _PATH_SUDO_SESSDIR
3590         [2844a7a851fa]
3591
3592         * INSTALL, Makefile.in, aclocal.m4, configure, configure.in, sudo.c:
3593         Hook up --disable-transcript and --enable-transcript=DIR
3594         [b3fa7e6b2480]
3595
3596 2009-09-25  Todd C. Miller  <Todd.Miller@courtesan.com>
3597
3598         * aclocal.m4, configure, configure.in, pathnames.h.in:
3599         _PATH_SUDO_SESSDIR -> _PATH_SUDO_TRANSCRIPT Add --enable-
3600         transcript=DIR option to specify the directory
3601         [b0bb76d43cda]
3602
3603         * sudo.cat, sudo.man.in, sudoers.cat, sudoers.man.in:
3604         regen
3605         [c7a8a0a9027c]
3606
3607         * configure, configure.in, sudoers.man.pl, sudoers.pod:
3608         Substitute in default value for secure_path
3609         [c8f9ac6dbf93]
3610
3611         * sudo.pod:
3612         Mention that the password must be followed by a newline with the -S
3613         option.
3614         [2fc589a3ee7e]
3615
3616 2009-09-20  Todd C. Miller  <Todd.Miller@courtesan.com>
3617
3618         * script.c:
3619         Go back to dropping out of the select() loop when the process dies;
3620         Linux ptys apparently don't behave the same as BSD in regards to
3621         select(). No need to flush remaining output to the transcript, only
3622         to stdout. Add back code to check the master pty for additional data
3623         when we exit the main select loop.
3624         [abed9a9cbc6b]
3625
3626 2009-09-19  Todd C. Miller  <Todd.Miller@courtesan.com>
3627
3628         * Makefile.in:
3629         Add getline.o to COMMON_OBJS
3630         [04ef7643cbc2]
3631
3632         * Makefile.in:
3633         sudoreplay depends on libsudo.a
3634         [142bd0472631]
3635
3636         * Makefile.in:
3637         More pwutil.o into COMMON_OBJS
3638         [4a016b933629]
3639
3640         * pwutil.c, testsudoers.c, tsgetgrpw.c:
3641         Remove my_* redirection in pwutil.c for testsudoers and just use the
3642         normal libc get{pw,gr}* names.
3643         [9b76d637d86b]
3644
3645         * sudoreplay.cat, sudoreplay.man.in, sudoreplay.pod:
3646         More time and date examples
3647         [c6ee0175ec56]
3648
3649         * Makefile.in, configure, configure.in, nanosleep.c, sudoreplay.c:
3650         Move nanosleep() emulation into its own file Check librt.a for
3651         nanosleep if we don't find it in libc
3652         [4da0cc26aad7]
3653
3654         * Makefile.in, configure, configure.in:
3655         Build libsudo with the common bits and link things against that.
3656         [2b53bc0b081a]
3657
3658         * script.c:
3659         Fix final flush.
3660         [6da287d833da]
3661
3662         * script.c:
3663         Keep reading from the pty master -> log file until read returns <=
3664         0. Do our best to write everything to stdout when flushing any
3665         remaining bits.
3666         [2a45d4ae280c]
3667
3668         * sudoreplay.c:
3669         Use unbuffered I/O when writing to stdout and make sure we write the
3670         entire buffer.
3671         [f39ef9844a47]
3672
3673 2009-09-18  Todd C. Miller  <Todd.Miller@courtesan.com>
3674
3675         * sudoreplay.c:
3676         Only use max_wait if it is non-zero
3677         [f6c10604d2e8]
3678
3679         * getdate.c, getdate.y, getline.c:
3680         Need compat.h here
3681         [5d6722e225a0]
3682
3683         * sudoreplay.c:
3684         Fix nanosleep emulation
3685         [34e5e5d72a76]
3686
3687         * script.c:
3688         Fix comment after #endif
3689         [bd1347718b25]
3690
3691         * sudoreplay.c:
3692         Add protos for missing libc bits
3693         [644f496427a2]
3694
3695         * configure, configure.in:
3696         add missing line continuation char
3697         [db13c0d402cd]
3698
3699         * config.h.in, configure, configure.in, getline.c:
3700         Implement getline() in terms of fgetln() if we have it.
3701         [3ab786eaadc5]
3702
3703         * sudoreplay.c:
3704         Print year when formatting log line
3705         [90be669e3443]
3706
3707         * sudoreplay.pod:
3708         Document cwd, attempt to document time/date formats.
3709         [6290fb9b65c6]
3710
3711         * sudoreplay.c:
3712         Fix getline return value check.
3713         [d696d6657261]
3714
3715         * Makefile.in, config.h.in, configure, configure.in, getline.c,
3716         sudoreplay.c:
3717         Use getline() if the system has it, else use provide our own for
3718         sudoreplay.
3719         [afca1d6fbe5e]
3720
3721         * script.c:
3722         Refactor code to update output and timing files.
3723         [361491332b1a]
3724
3725 2009-09-17  Todd C. Miller  <Todd.Miller@courtesan.com>
3726
3727         * sudoreplay.c:
3728         Make sudo_getln() behave more like glibc getline.
3729         [40c9f2ea29e6]
3730
3731         * script.c:
3732         When flushing remaining output, also update timing file.
3733         [5a9a5a627549]
3734
3735         * sudoreplay.c:
3736         Use get_timestr() and make the -l output look like the regular sudo
3737         log.
3738         [452ba9d436c9]
3739
3740         * logging.c, sudo.h, timestr.c:
3741         Make get_timestr() take a time_t so we can use it properly in
3742         sudoreplay.
3743         [82e67cc53c9c]
3744
3745         * script.c:
3746         Create session dir earlier now that we update the seq number early.
3747         [797fe8d6dc61]
3748
3749 2009-09-16  Todd C. Miller  <Todd.Miller@courtesan.com>
3750
3751         * sudoreplay.c:
3752         Use fromdate and todate as the keywords instead of from and to; the
3753         short forms will still be accepted.
3754         [d14d9b116df4]
3755
3756         * sudoreplay.c:
3757         Fix reading long liensin sudo_getln()
3758         [58dadd74118c]
3759
3760         * script.c, sudoreplay.c:
3761         Log the cwd in the script log file. Add sudo_getln() to read
3762         arbitrarily long lines.
3763         [faceb802ab8f]
3764
3765         * Makefile.in, logging.c, sudo.h, timestr.c:
3766         Move get_timestr() into its own source file so sudoreplay can use
3767         it.
3768         [99b054bfa20a]
3769
3770 2009-09-15  Todd C. Miller  <Todd.Miller@courtesan.com>
3771
3772         * sudoreplay.c:
3773         Add to and from perdicates (date ranges); needs documentation
3774         [1d629174dcf4]
3775
3776 2009-09-14  Todd C. Miller  <Todd.Miller@courtesan.com>
3777
3778         * Makefile.in, getdate.c, getdate.y:
3779         Fix warning and add generated getdate.c
3780         [b877a86b5a03]
3781
3782         * Makefile.in, getdate.y:
3783         Add getdate.y to be used for sudoreplay date parsing.
3784         [b8e26fbb7a40]
3785
3786 2009-09-13  Todd C. Miller  <Todd.Miller@courtesan.com>
3787
3788         * sudoreplay.c:
3789         Check more than just the first character of a predicate
3790         [4fe53728adb1]
3791
3792         * sudoreplay.cat, sudoreplay.man.in, sudoreplay.pod:
3793         Add examples, sort predicates
3794         [70f8075cbccc]
3795
3796         * Makefile.in, sudoreplay.c, sudoreplay.cat, sudoreplay.man.in,
3797         sudoreplay.pod:
3798         Implement search expressions in sudoreplay similar in concept to
3799         what find or tcpdump uses. TODO: date ranges
3800         [f7ce4fb4cf3a]
3801
3802 2009-09-07  Todd C. Miller  <Todd.Miller@courtesan.com>
3803
3804         * script.c:
3805         Remove vhangup as it was hanging up the wrong tty. Should really
3806         vhangup in the child after it as set its tty.
3807         [2eed9df73010]
3808
3809         * sudoers.pod:
3810         Fix cut at documenting transcript support.
3811         [e6c533a5568a]
3812
3813         * logging.c:
3814         ID= -> TSID= for transcript ID
3815         [1bf755a35333]
3816
3817 2009-09-06  Todd C. Miller  <Todd.Miller@courtesan.com>
3818
3819         * sudoers.pod:
3820         Move fast_glob description to where it belongs in sorted order
3821         [5901cfb0d25f]
3822
3823         * def_data.c, def_data.h, def_data.in, gram.c, gram.h, gram.y,
3824         parse.c, parse.h, sudo.c:
3825         Rename script -> transcript
3826         [e06cf823122c]
3827
3828 2009-09-03  Todd C. Miller  <Todd.Miller@courtesan.com>
3829
3830         * compat.h:
3831         Add timeradd and timersub for those without them
3832         [929f8aa06c2b]
3833
3834         * script.c:
3835         Sanity check sessid before using it.
3836         [aa8ca5211d43]
3837
3838         * sudo.c:
3839         Only set the session id if we are running a command or editing a
3840         file.
3841         [7205d717c098]
3842
3843         * script.c:
3844         Actually. qsort is fine since most versions fal back to a cheaper
3845         sort when the number of elements to sort is small (like in our
3846         case).
3847         [d11c7cd352fe]
3848
3849         * config.h.in, configure, configure.in, script.c:
3850         Check for dup2 and use dup instead if we don't have it.
3851         [98bd89830f8a]
3852
3853         * script.c, sudo.c, sudo.h:
3854         Move the code to dup2 the script fds to low numbered descriptors
3855         into script_duplow() and fix the fd sorting.
3856         [9453fdc5fba6]
3857
3858         * script.c, sudo.c, sudo.h:
3859         Move script_setup() back to immediately before we drop privs and
3860         call the new script_nextid() in its place, which will set
3861         sudo_user.sessid for the logging functions.
3862         [8434d0c8ff08]
3863
3864 2009-09-01  Todd C. Miller  <Todd.Miller@courtesan.com>
3865
3866         * Makefile.in:
3867         Install sudoreplay
3868         [6acf2cdb4d3f]
3869
3870         * sudoreplay.c:
3871         remove unused variable
3872         [2316360bb992]
3873
3874 2009-08-30  Todd C. Miller  <Todd.Miller@courtesan.com>
3875
3876         * logging.c, script.c, sudo.c, sudo.h:
3877         Log the session ID, if there is one. Currently logs ID=XXXXXX,
3878         perhaps should be SESSIONID or SESSID.
3879         [53976905b0a6]
3880
3881         * Makefile.in, configure, configure.in, sudoreplay.cat,
3882         sudoreplay.man.in, sudoreplay.pod:
3883         Add sudoreplay docs
3884         [da4f14f0e64c]
3885
3886         * sudoreplay.c:
3887         add -V (version) flag
3888         [b5e743639ee3]
3889
3890         * sudoreplay.c:
3891         Hook up max_wait.
3892         [2ec5697a92ba]
3893
3894         * script.c, sudoreplay.c:
3895         Use base36 number for the ID and store script files with paths like
3896         /var/log/sudo-session/00/00/00{,.tim,.scr}. This gives us 36^6
3897         (2,176,782,336) unique IDs.
3898         [6aab019d07aa]
3899
3900 2009-08-23  Todd C. Miller  <Todd.Miller@courtesan.com>
3901
3902         * config.h.in, configure.in:
3903         Add check for regcomp
3904         [44c3ebd7ff34]
3905
3906         * sudoreplay.c:
3907         Add support for selecting by pattern and tty when listing.
3908         [66189f840c52]
3909
3910 2009-08-17  Todd C. Miller  <Todd.Miller@courtesan.com>
3911
3912         * sudoreplay.c:
3913         The beginnings of a list mode.
3914         [8d0150b4a52c]
3915
3916 2009-08-16  Todd C. Miller  <Todd.Miller@courtesan.com>
3917
3918         * Makefile.in:
3919         fix pasto
3920         [616b4640b8a8]
3921
3922         * Makefile.in, config.h.in, configure.in:
3923         Add scaffolding for building sudoreplay
3924         [a32958505dbe]
3925
3926         * sudoreplay.c:
3927         include error.h first arg to nanotime is const
3928         [fe5a7bb31bc5]
3929
3930         * sudoreplay.c:
3931         Initial cut at sudoreplay; replay a sudo session.
3932         [f149fba372bd]
3933
3934 2009-08-08  Todd C. Miller  <Todd.Miller@courtesan.com>
3935
3936         * script.c:
3937         Fix wait() usage and use correct wait status.
3938         [f4745ed7ad05]
3939
3940         * sudo.c, sudo.h, tgetpass.c:
3941         Add protos for term_* to sudo.h
3942         [14fe1abd7e7b]
3943
3944         * script.c:
3945         Fix detection of the child process exiting. Since the child is in
3946         its own session we should only ever get SIGCHLD for that process but
3947         better safe than sorry.
3948         [7edfdadd8505]
3949
3950         * config.h.in:
3951         Add UNIX98 pty support.
3952         [82f4b53a0e8f]
3953
3954         * configure, configure.in, script.c:
3955         Add UNIX98 pty support.
3956         [795b8bb0a3a1]
3957
3958 2009-08-07  Todd C. Miller  <Todd.Miller@courtesan.com>
3959
3960         * term.c:
3961         For raw mode, don't bother clearing BRKINT or PARMRK and clear IUCLC
3962         if it is defined.
3963         [40f8b83baf69]
3964
3965         * auth/pam.c:
3966         Set PAM_RUSER and PAM_RHOST early so they can be used during
3967         authentication. Based on a patch from Jamie Beverly.
3968         [3d567b453a6a]
3969
3970         * match.c:
3971         Close dir before returning if strlcpy() reports overflow. From
3972         Martynas Venckus.
3973         [6a82f96473e5]
3974
3975         * config.h.in, configure, configure.in, script.c:
3976         On Linux, the openpty proto libes in pty.h
3977         [98643a018d1c]
3978
3979         * script.c:
3980         Call vhangup on exit if the system has it Use setpgrp() if no
3981         setsid()
3982         [3a9e13149829]
3983
3984 2009-08-06  Todd C. Miller  <Todd.Miller@courtesan.com>
3985
3986         * config.h.in, configure, configure.in:
3987         Add checks for revoke and vhangup if we don't have openpty
3988         [fcb04572e994]
3989
3990         * script.c:
3991         Session logging guts that got forgotten in the previous commit.
3992         [c2af08a63ea9]
3993
3994         * Makefile.in, aclocal.m4, compat.h, config.h.in, configure,
3995         configure.in, def_data.c, def_data.h, def_data.in, gram.c, gram.h,
3996         gram.y, parse.c, parse.h, pathnames.h.in, sudo.c, sudo.h, term.c,
3997         tgetpass.c:
3998         First cut at session logging for sudo. Still need to write
3999         get_pty() for Unix 98 and old-style BSD ptys. Also needs
4000         documentation and general cleanup.
4001         [77e3f5e25738]
4002
4003 2009-08-05  Todd C. Miller  <Todd.Miller@courtesan.com>
4004
4005         * sudo.c, sudo_edit.c:
4006         Fix a bug introduced with def_closefrom. The value of def_closefrom
4007         already includes the +1.
4008         [7291c136300d]
4009
4010 2009-07-29  Todd C. Miller  <Todd.Miller@courtesan.com>
4011
4012         * Makefile.in:
4013         Generate sudo distributions with pax in ustar mode. No longer need
4014         to use a temp file or have the source dir name match the version.
4015         [9778177a8272]
4016
4017 2009-07-18  Todd C. Miller  <Todd.Miller@courtesan.com>
4018
4019         * toke.c, toke.l:
4020         Fix expansion of %h in #include names. Fixes bugzilla 363
4021         [6e346879ba24]
4022
4023 2009-07-12  Todd C. Miller  <Todd.Miller@courtesan.com>
4024
4025         * mkdefaults:
4026         If no arg assume def_data.in
4027         [c1dd28c0e675]
4028
4029         * README, WHATSNEW:
4030         Update for 1.7.2
4031         [f5ad45f69f05] [SUDO_1_7_2]
4032
4033         * ChangeLog:
4034         sync
4035         [6283549396ff]
4036
4037 2009-06-30  Todd C. Miller  <Todd.Miller@courtesan.com>
4038
4039         * sudoers.cat, sudoers.man.in, sudoers.pod:
4040         Add missing single quotes around a colon in Runas_Spec definition.
4041         From Elias Benali.
4042         [ccc6ee4fca83]
4043
4044 2009-06-29  Todd C. Miller  <Todd.Miller@courtesan.com>
4045
4046         * sudo.man.in, sudoers.man.in:
4047         regen
4048         [546e75304ebf]
4049
4050         * redblack.c:
4051         In rbrepair, re-color the root or the first non-block node we find
4052         to be black. Re-coloring the root is probably not needed but won't
4053         hurt.
4054         [34d01ebe241b]
4055
4056         * sudo.cat, sudoers.cat:
4057         regen
4058         [bebf5a39f54f]
4059
4060 2009-06-26  Todd C. Miller  <Todd.Miller@courtesan.com>
4061
4062         * redblack.c:
4063         When repairing the tree, don't touch the root node.
4064         [9841f0d5d789]
4065
4066 2009-06-25  Todd C. Miller  <Todd.Miller@courtesan.com>
4067
4068         * set_perms.c:
4069         Protect call to setegid in runas_setup with #ifdef HAVE_SETEUID.
4070         Reported by Josef Schmid.
4071         [ed044b1eb879]
4072
4073 2009-06-23  Todd C. Miller  <Todd.Miller@courtesan.com>
4074
4075         * sudoers.pod:
4076         Document that we accept env_pam-style environment files
4077         [e3b545456352]
4078
4079         * env.c:
4080         Adapt to accept pam_env-style /etc/environment which allows shell-
4081         style lines such as: export EDITOR="/usr/bin/vi"
4082         [752eb75bf007]
4083
4084         * sudoers.pod:
4085         Make it clear that env_delete only works when !env_reset. From Lo??c
4086         Minier
4087         [3bd3f8e351ba]
4088
4089 2009-06-15  Todd C. Miller  <Todd.Miller@courtesan.com>
4090
4091         * sudo.pod, sudoers.pod:
4092         Add non-unix group bits, adapted from Quest
4093         [8ce427de8dea]
4094
4095         * Makefile.in:
4096         build the .cat page in the current working dir, not the src dir
4097         [00e87a307674]
4098
4099         * env.c:
4100         Return EINVAL in setenv() if var is NULL or the empty string to
4101         match glibc behavior.
4102         [23fd7c247142]
4103
4104 2009-06-13  Todd C. Miller  <Todd.Miller@courtesan.com>
4105
4106         * configure, configure.in:
4107         Use AS_HELP_STRING for AC_ARG_WITH and AC_ARG_ENABLE
4108         [fedd4a3e2a85]
4109
4110 2009-06-11  Todd C. Miller  <Todd.Miller@courtesan.com>
4111
4112         * sudo.cat, sudo.man.in, sudoers.cat, sudoers.ldap.cat,
4113         sudoers.ldap.man.in, sudoers.man.in, visudo.cat, visudo.man.in:
4114         regen
4115         [7b9f461a40b3]
4116
4117 2009-06-09  Todd C. Miller  <Todd.Miller@courtesan.com>
4118
4119         * INSTALL:
4120         Document --with-libvas and --with-libvas-rpath
4121         [a071e6d96c89]
4122
4123 2009-05-29  Todd C. Miller  <Todd.Miller@courtesan.com>
4124
4125         * ldap.c, sudoers.ldap.pod:
4126         For netscape-derived LDAP SDKs the cert and key paths may be a
4127         directory or a file. However, version 5.0 of the SDK only seems to
4128         support using a directory. If ldapssl_clientauth_init fails and the
4129         cert or key paths look like they could be files, strip off the last
4130         path element and try again.
4131         [ac4e49d83043]
4132
4133         * Makefile.in:
4134         Add non-Unix group .o to COMMON_OBJS and substitute in path to flex.
4135         [4547cc1a335f]
4136
4137 2009-05-27  Todd C. Miller  <Todd.Miller@courtesan.com>
4138
4139         * configure, configure.in, match.c, sudo.c, vasgroups.c:
4140         Update non-Unix group support from Quest, as reworked by me.
4141         [1abafce29dc6]
4142
4143         * toke.c:
4144         regen
4145         [01bfca9148b7]
4146
4147         * toke.l:
4148         Add support for escaped hex chars in names, e.g. \x20 for space.
4149         [3c7be8e58a39]
4150
4151 2009-05-25  Todd C. Miller  <Todd.Miller@courtesan.com>
4152
4153         * LICENSE, Makefile.in, aclocal.m4, alias.c, auth/aix_auth.c,
4154         auth/pam.c, auth/sudo_auth.c, auth/sudo_auth.h, check.c, env.c,
4155         fileops.c, glob.c, gram.y, interfaces.c, lbuf.c, ldap.c, logging.c,
4156         logging.h, match.c, parse.c, parse.h, pathnames.h.in, pwutil.c,
4157         set_perms.c, sudo.c, sudo.h, sudo.pod, sudo_nss.c, sudo_nss.h,
4158         sudo_usage.h.in, sudoers.ldap.pod, sudoers.pod, testsudoers.c,
4159         tgetpass.c, toke.l, visudo.c:
4160         Update copyright years.
4161         [e615f676c764]
4162
4163 2009-05-24  Todd C. Miller  <Todd.Miller@courtesan.com>
4164
4165         * interfaces.c, lbuf.c:
4166         Minor fixes for Minix-3
4167         [898c510d23f9]
4168
4169 2009-05-22  Todd C. Miller  <Todd.Miller@courtesan.com>
4170
4171         * set_perms.c:
4172         Handle getgroups() returning 0. Also add missing check for
4173         HAVE_GETGROUPS.
4174         [d73b958f9ffd]
4175
4176 2009-05-19  Todd C. Miller  <Todd.Miller@courtesan.com>
4177
4178         * Makefile.in, config.h.in, configure, configure.in, sudo.c,
4179         version.h, visudo.c:
4180         Replace version.h with PACKAGE_VERSION set via AC_INIT in configure.
4181         [5050579a264d]
4182
4183 2009-05-18  Todd C. Miller  <Todd.Miller@courtesan.com>
4184
4185         * set_perms.c:
4186         Remove group setting code in setusercontext case, we will do it
4187         ourselves later on in runas_setup. Set the gid after
4188         initgroups/setgroups is called, since on Mac OS X it seems to change
4189         the egid.
4190         [09dc21d8b42d]
4191
4192 2009-05-17  Todd C. Miller  <Todd.Miller@courtesan.com>
4193
4194         * LICENSE, Makefile.in, config.h.in, match.c, nonunix.h, sudo.c,
4195         vasgroups.c:
4196         Initial bits of non-unix group support using Quest Authentication
4197         Services
4198         [1eecab0ff27e]
4199
4200         * toke.c, toke.l:
4201         Accept %:foo as a non-Unix group
4202         [4c4b5dd899a6]
4203
4204         * toke.c, toke.l:
4205         Allow user/group to be double quoted in the case of non-Unix groups
4206         which contain spaces.
4207         [47a3d568b7e8]
4208
4209 2009-05-11  Todd C. Miller  <Todd.Miller@courtesan.com>
4210
4211         * match.c:
4212         Don't allow the user to specify the default runas user if their
4213         sudoers entry only allows them to run as a group.
4214         [4d726177227c]
4215
4216 2009-05-10  Todd C. Miller  <Todd.Miller@courtesan.com>
4217
4218         * sudo.c:
4219         Must call audit_success before we change uids.
4220         [04a9e6ce6e55]
4221
4222         * logging.c, set_perms.c, sudo.h, testsudoers.c:
4223         Add option for set_perm to not exit on failure and use this in the
4224         logging routines.
4225         [833dce7b7f42]
4226
4227         * parse.c:
4228         In -l mode, if the user is only allowed to run as a group, display
4229         the user's name, not root's before the allowed group.
4230         [ef92ff99d265]
4231
4232         * sudo.c:
4233         Fix -g mode, broken by rev 1.503 which had the side effect of
4234         setting the runas user to root unilaterally.
4235         [50a2f7df4385]
4236
4237 2009-05-08  Todd C. Miller  <Todd.Miller@courtesan.com>
4238
4239         * fileops.c:
4240         When unlocking a file with fcntl, use F_SETLK, not F_SETLKW.
4241         [30fbe832dcf3]
4242
4243         * pwutil.c:
4244         Only cache by the method we fetched for pwd and grp lookups.
4245         Previously we cached both by namd and id but this can cause problems
4246         for entries that share the same id. Also add more info in the error
4247         message in case the insert fails (which should now be impossible).
4248         [ef95a4f0bab5]
4249
4250 2009-04-30  Todd C. Miller  <Todd.Miller@courtesan.com>
4251
4252         * sudoers.pod:
4253         Add a clarification from Nick Sieger
4254         [1eadad329561]
4255
4256 2009-04-25  Todd C. Miller  <Todd.Miller@courtesan.com>
4257
4258         * env.c:
4259         Inline the setting of the environment string.
4260         [9515d11c6295]
4261
4262 2009-04-24  Todd C. Miller  <Todd.Miller@courtesan.com>
4263
4264         * env.c:
4265         setenv(3) in Linux treats a NUL value as the empty string setenv(3)
4266         in BSD doesn't return an error if the name has '=' in it, it just
4267         treats the '=' as end of string.
4268         [941260bf94d2]
4269
4270 2009-04-22  Todd C. Miller  <Todd.Miller@courtesan.com>
4271
4272         * toke.c, toke.l:
4273         Not all systems have d_namlen
4274         [e377b18d8e2d]
4275
4276 2009-04-20  Todd C. Miller  <Todd.Miller@courtesan.com>
4277
4278         * sudoers.pod:
4279         Fix up some pod2html issues.
4280         [823a1f10ab60]
4281
4282 2009-04-19  Todd C. Miller  <Todd.Miller@courtesan.com>
4283
4284         * interfaces.c:
4285         Check for NULL ifa_addr and ifa_netmask. Adapted from a diff from
4286         Quest Software.
4287         [73de36653131]
4288
4289         * sudoers.pod:
4290         Ignore files ending in '~' in sudo.d (emacs backup files)
4291         [7871fad702db]
4292
4293         * toke.c, toke.l:
4294         Ignore files ending in '~' in sudo.d (emacs backup files)
4295         [53fded2a469f]
4296
4297 2009-04-18  Todd C. Miller  <Todd.Miller@courtesan.com>
4298
4299         * sudoers.cat, sudoers.man.in, sudoers.pod, toke.c, toke.l:
4300         For #includedir, ignore any file containing a dot
4301         [a7daa1bce6c2]
4302
4303         * Makefile.in, version.h:
4304         Bump version
4305         [ef60f14ffc44]
4306
4307         * gram.c, gram.y, parse.c, parse.h, sudo.c, sudo.h, sudoers.cat,
4308         sudoers.man.in, sudoers.pod, testsudoers.c, toke.c, toke.l,
4309         visudo.c:
4310         Implement #includedir directive. Files in an includedir are not
4311         edited by visudo unless they contain a syntax error.
4312         [3923d85a6c79]
4313
4314         * ChangeLog:
4315         sync
4316         [8741ed61a78b] [SUDO_1_7_1]
4317
4318         * WHATSNEW:
4319         Forgot umask_override
4320         [7c86a21a5504]
4321
4322         * ChangeLog, TODO:
4323         sync
4324         [57339ca6bccf]
4325
4326 2009-04-16  Todd C. Miller  <Todd.Miller@courtesan.com>
4327
4328         * visudo.c:
4329         Rewind stream if we fdopen sudoers since it may not be at the
4330         beginning. Set the keepopen flag on already-open files too so the
4331         lexer doesn't close them out from under us.
4332         [61292d819aff]
4333
4334         * visudo.c:
4335         Print the proper file name when there is a parse error in an include
4336         file.
4337         [b0e85d4aedde]
4338
4339 2009-04-11  Todd C. Miller  <Todd.Miller@courtesan.com>
4340
4341         * WHATSNEW:
4342         Sync
4343         [997e5d485ea3]
4344
4345 2009-04-10  Todd C. Miller  <Todd.Miller@courtesan.com>
4346
4347         * configure, configure.in:
4348         Fix a warning when --without-ldap is specified.
4349         [d91fd9481b30]
4350
4351 2009-04-05  Todd C. Miller  <Todd.Miller@courtesan.com>
4352
4353         * alias.c, parse.h, visudo.c:
4354         Store aliases that we remove during check_aliases in a freelist and
4355         free them at the end so we don't leak memory.
4356         [805e2272f6a3]
4357
4358 2009-03-28  Todd C. Miller  <Todd.Miller@courtesan.com>
4359
4360         * visudo.c:
4361         Check aliases in -c mode too.
4362         [9199e188d9f2]
4363
4364         * alias.c, parse.h, visudo.c:
4365         Make alias_remove return the alias struct instead of freeing it
4366         directly. Fixes a use after free in alias_remove_recursive, the only
4367         consumer.
4368         [a04b61804800]
4369
4370         * alias.c, match.c, parse.c, parse.h, visudo.c:
4371         Rename find_alias -> alias_find for consistency.
4372         [48b0a82924f3]
4373
4374 2009-03-27  Todd C. Miller  <Todd.Miller@courtesan.com>
4375
4376         * visudo.c:
4377         When checking for unused aliases, recurse if the alias points to
4378         another alias.
4379         [2d4d1a7f3a41]
4380
4381 2009-03-16  Todd C. Miller  <Todd.Miller@courtesan.com>
4382
4383         * ldap.c:
4384         Back out rev 1.105 for now. Real ldapux_client.conf support will be
4385         done later after some refactoring.
4386         [8ad72e69b277]
4387
4388 2009-03-14  Todd C. Miller  <Todd.Miller@courtesan.com>
4389
4390         * ldap.c:
4391         Treat ldap_hostport the same as "host" for ldapux.
4392         [3281dcc66da8]
4393
4394         * configure, configure.in:
4395         Only check for ldap_sasl_interactive_bind_s if we can find sasl.h.
4396         Fixes compilation with ldapux.
4397         [ca1ed585ef0e]
4398
4399 2009-03-12  Todd C. Miller  <Todd.Miller@courtesan.com>
4400
4401         * fileops.c:
4402         fix char subscript
4403         [41e51f080d00]
4404
4405 2009-03-11  Todd C. Miller  <Todd.Miller@courtesan.com>
4406
4407         * Makefile.in:
4408         remove errant carriage returns
4409         [e9e258a31c7b]
4410
4411         * audit.c, env.c:
4412         fix K&R compilation
4413         [d182e8920f13]
4414
4415         * sudo.cat, sudo.man.in, sudoers.cat, sudoers.ldap.cat,
4416         sudoers.ldap.man.in, sudoers.man.in, visudo.cat, visudo.man.in:
4417         regen
4418         [791a5cbf04e5]
4419
4420 2009-03-10  Todd C. Miller  <Todd.Miller@courtesan.com>
4421
4422         * config.h.in:
4423         Add missing HAVE_BSM_AUDIT
4424         [49ad1bb96f04]
4425
4426         * WHATSNEW:
4427         Add 1.7.1 features
4428         [f107f1604c61]
4429
4430         * INSTALL:
4431         Mention --with-netsvc
4432         [d1e90d147795]
4433
4434         * sudoers.ldap.pod:
4435         Document netsvc.conf support
4436         [e78f8abce6af]
4437
4438         * configure, configure.in, pathnames.h.in, sudo.c, sudo_nss.c,
4439         sudo_nss.h:
4440         Add support for AIX netsvc.conf (like nsswitch.conf).
4441         [1df56a84dee5]
4442
4443 2009-03-08  Todd C. Miller  <Todd.Miller@courtesan.com>
4444
4445         * config.h.in, configure, configure.in, env.c:
4446         Add --enable-env-debug flag to enable environment sanity checks.
4447         [128cdd8832e7]
4448
4449         * sudoers.ldap.pod, sudoers.pod:
4450         Work around some pod2html issue.
4451         [e733b9609bd2]
4452
4453 2009-03-07  Todd C. Miller  <Todd.Miller@courtesan.com>
4454
4455         * env.c:
4456         Only sync environ for putenv, setenv, and unsetenv. We need to make
4457         sure that sudo_putenv and sudo_setenv only modify env.envp, not
4458         environ.
4459         [be3ac732243c]
4460
4461 2009-03-02  Todd C. Miller  <Todd.Miller@courtesan.com>
4462
4463         * env.c:
4464         Really fix UNSETENV_VOID
4465         [08ab7e882507]
4466
4467         * env.c:
4468         Fix unsetenv when UNSETENV_VOID
4469         [d3038b3f2f15]
4470
4471         * aclocal.m4, configure:
4472         Fix SUDO_FUNC_PUTENV_CONST
4473         [de35569c572b]
4474
4475         * ldap.c:
4476         tivoli-based ldap does not have ldapssl_err2string
4477         [c63fd90d5e99]
4478
4479         * configure:
4480         regen
4481         [f38f1ee828ad]
4482
4483 2009-03-01  Todd C. Miller  <Todd.Miller@courtesan.com>
4484
4485         * config.h.in, configure, configure.in, ldap.c:
4486         Add support for Tivoli-based LDAP start TLS as seen in AIX.
4487         Untested.
4488         [8f8771829f85]
4489
4490         * env.c:
4491         Add sanity checks for setenv/unsetenv
4492         [adbd1d95856b]
4493
4494         * Makefile.in:
4495         Include bsm_audit.h in the tarball
4496         [4a4aa02b2c32]
4497
4498         * Makefile.in, version.h:
4499         bump version for sudo 1.7.1
4500         [362c71d21595]
4501
4502         * aclocal.m4, auth/aix_auth.c, config.h.in, configure, configure.in,
4503         env.c, ldap.c, sudo.h:
4504         Replace sudo_setenv/sudo_unsetenv with calls to setenv/unsetenv and
4505         provide our own setenv/unsetenv/putenv that operates on own env
4506         pointer. Make sync_env() inline in setenv/unsetenv/putenv functions.
4507         [276edcd23032]
4508
4509 2009-02-25  Todd C. Miller  <Todd.Miller@courtesan.com>
4510
4511         * sudo.c:
4512         Make "sudoedit -h" work as expected
4513         [2bcbbb45d389]
4514
4515         * auth/pam.c:
4516         Make sure def_prompt is always defined. This is a workaround for
4517         pam configs that prompt for a password in the session but don't have
4518         an auth line. A better fix is to expand the sudo prompt earlier and
4519         set def_prompt to that when initializing.
4520         [ee073c04aec3]
4521
4522         * sudo.pod:
4523         Mention that the helper for -A may be graphical.
4524         [b64a940c4082]
4525
4526         * TROUBLESHOOTING:
4527         Document what happens if there is no tty.
4528         [313d58a856a5]
4529
4530         * sudo.c:
4531         cosmetic changes
4532         [894f5e3b0c3e]
4533
4534         * term.c:
4535         Fix term_restore
4536         [6c6315ff14bc]
4537
4538         * sudo.c:
4539         Fix "sudo -k" with no other args
4540         [59e94dc419c6]
4541
4542 2009-02-24  Todd C. Miller  <Todd.Miller@courtesan.com>
4543
4544         * check.c, sudo.c, sudo.pod, sudo_usage.h.in:
4545         Allow the -k flag to be specified in conjunction with a command or
4546         another option that may require authentication.
4547         [5960ff20355d]
4548
4549 2009-02-23  Todd C. Miller  <Todd.Miller@courtesan.com>
4550
4551         * configure, configure.in:
4552         Remove unneeded AC_CANONICAL_TARGET; from Diego E. 'Flameeyes'
4553         [e86ab69c4a57]
4554
4555         * Makefile.in:
4556         Parallel make fix. From Diego E. 'Flameeyes'
4557         [1289d7ee27db]
4558
4559 2009-02-21  Todd C. Miller  <Todd.Miller@courtesan.com>
4560
4561         * def_data.c, def_data.h, def_data.in, sudo.c, sudoers.pod:
4562         Implement umask_override
4563         [8b87a3f7c5aa]
4564
4565         * toke.c:
4566         regen
4567         [79d7ca9ac873]
4568
4569         * sudoers.pod, toke.l, visudo.c:
4570         Implement %h escape in sudoers include filenames.
4571         [a7f288dd64f0]
4572
4573         * audit.c:
4574         Need to include compat.h
4575         [c0dc07ce2f70]
4576
4577         * Makefile.in, audit.c, bsm_audit.c, bsm_audit.h, logging.h, sudo.c:
4578         Make audit_success and audit_failure generic functions in
4579         preparation for integrating linux audit support.
4580         [7df020a8fd6f]
4581
4582         * term.c:
4583         remove duplicate include
4584         [1dfcd01a7e46]
4585
4586 2009-02-20  Todd C. Miller  <Todd.Miller@courtesan.com>
4587
4588         * bsm_audit.c:
4589         Add missing include
4590         [fb56e08c37ee]
4591
4592         * sudo.c:
4593         May need to update the runas user after parsing command-based
4594         defaults.
4595         [246f130d7802]
4596
4597 2009-02-18  Todd C. Miller  <Todd.Miller@courtesan.com>
4598
4599         * glob.c:
4600         Add missing pair of braces introduced with character class support.
4601         [0e2afa2e03e9]
4602
4603 2009-02-15  Todd C. Miller  <Todd.Miller@courtesan.com>
4604
4605         * def_data.c, def_data.h, def_data.in, sudoers.pod, tgetpass.c:
4606         Rename pwstars to pwfeedback
4607         [a9f85a57ebac]
4608
4609 2009-02-11  Todd C. Miller  <Todd.Miller@courtesan.com>
4610
4611         * bsm_audit.c, bsm_audit.h:
4612         Add const to make MacOS happy.
4613         [4274432d6627]
4614
4615         * Makefile.in, auth/sudo_auth.c, bsm_audit.c, bsm_audit.h, configure,
4616         configure.in, sudo.c:
4617         Add bsm audit support from Christian S.J. Peron
4618         [bef61cd8693d]
4619
4620         * term.c:
4621         This is new code, no DARPA notice.
4622         [ec6ad09b9c23]
4623
4624 2009-02-10  Todd C. Miller  <Todd.Miller@courtesan.com>
4625
4626         * def_data.c, def_data.h, def_data.in, match.c, sudoers.pod:
4627         Rename simple_glob -> fast_glob
4628         [68d9ed803cc1]
4629
4630         * match.c:
4631         g/c unused var
4632         [693fa0464eb6]
4633
4634         * def_data.c, def_data.h, def_data.in, match.c, sudoers.pod:
4635         Add simple_glob option to use fnmatch() instead of glob(). This is
4636         useful when you need to specify patterns that reference network file
4637         systems.
4638         [77ba634f6949]
4639
4640         * tgetpass.c:
4641         add term_* proto
4642         [520f5149d073]
4643
4644         * sudoers.pod:
4645         mention glob()
4646         [ddaab8e03c52]
4647
4648 2009-02-09  Todd C. Miller  <Todd.Miller@courtesan.com>
4649
4650         * tgetpass.c:
4651         Delete any pwstars we wrote after the user hits return. That way
4652         there is no record on screen as to the user's password length.
4653         [fae25cda762b]
4654
4655 2009-02-08  Todd C. Miller  <Todd.Miller@courtesan.com>
4656
4657         * term.c:
4658         Move terminal setting bits from tgetpass.c to term.c
4659         [03d43325ee99]
4660
4661         * Makefile.in, def_data.c, def_data.h, def_data.in, sudoers.pod,
4662         tgetpass.c:
4663         Add pwstars sudoers option that causes sudo to print a star every
4664         time the user presses a key.
4665         [7aab417e184d]
4666
4667 2009-02-03  Todd C. Miller  <Todd.Miller@courtesan.com>
4668
4669         * Makefile.in:
4670         Fix up F<> brokenness for visudo.man.in and sudoers.ldap.man.in.
4671         [64f70e879816]
4672
4673 2009-01-27  Todd C. Miller  <Todd.Miller@courtesan.com>
4674
4675         * ldap.c:
4676         For ldap_search_ext_s() the sizelimit param should be 0, not -1, to
4677         indicate no limit. From Mark Janssen.
4678         [e2c5732d54f5]
4679
4680 2009-01-17  Todd C. Miller  <Todd.Miller@courtesan.com>
4681
4682         * toke.c, toke.l:
4683         Comments that begin with #- should not be parsed as uids.
4684         [a72a50f12f41]
4685
4686 2009-01-09  Todd C. Miller  <Todd.Miller@courtesan.com>
4687
4688         * sudo.c:
4689         Do not try to set the close on exec flag if we didn't actually open
4690         sudoers.
4691         [ece3ca256904]
4692
4693 2008-12-19  Todd C. Miller  <Todd.Miller@courtesan.com>
4694
4695         * ChangeLog:
4696         regen
4697         [e11f0e4c1bdd] [SUDO_1_7_0]
4698
4699 2008-12-14  Todd C. Miller  <Todd.Miller@courtesan.com>
4700
4701         * TODO:
4702         sync
4703         [5b8954462bb3]
4704
4705 2008-12-09  Todd C. Miller  <Todd.Miller@courtesan.com>
4706
4707         * auth/pam.c:
4708         Return PAM_AUTH_ERR instead of PAM_CONV_ERR if user enters ^C at the
4709         password prompt.
4710         [8563601cb3de]
4711
4712         * configure, configure.in:
4713         Don't try to build sudo_noexec.so on HP-UX with the bundled compiler
4714         as it cannot generate shared objects.
4715         [6d4262ef9669]
4716
4717         * emul/charclass.h, glob.c, lbuf.c, tgetpass.c:
4718         K&R compilation fixes
4719         [77921678d17c]
4720
4721         * parse.c:
4722         Use tq_foreach_fwd when checking pseudo-commands to make it clear
4723         that we are not short-circuiting on last match. When pwcheck is
4724         'all', initialize nopass to TRUE and override it with the first non-
4725         TRUE entry.
4726         [96b209f4778f]
4727
4728 2008-12-08  Todd C. Miller  <Todd.Miller@courtesan.com>
4729
4730         * parse.c:
4731         Do not short circuit pseudo commands when we get a match since,
4732         depending on the settings, we may need to examine all commands for
4733         tags.
4734         [fdbaf89d6f35]
4735
4736 2008-12-03  Todd C. Miller  <Todd.Miller@courtesan.com>
4737
4738         * sudoers.cat, sudoers.man.in:
4739         regen
4740         [1ecce7c1b841]
4741
4742         * sudoers.pod:
4743         hostnames may also contain wildcards
4744         [82b76695601c]
4745
4746         * Makefile.in:
4747         remove stamp-* files and linux core files in clean target
4748         [22003f091467]
4749
4750 2008-12-02  Todd C. Miller  <Todd.Miller@courtesan.com>
4751
4752         * auth/sudo_auth.h, config.h.in, configure, configure.in:
4753         Use HAVE_SIA_SES_INIT instead of HAVE_SIA for Digital UNIX
4754         [6905bede8410]
4755
4756 2008-11-26  Todd C. Miller  <Todd.Miller@courtesan.com>
4757
4758         * configure, configure.in:
4759         correctly enable SIA on Digital UNIX
4760         [a51881d13995]
4761
4762         * TODO:
4763         checkpoint
4764         [af0fe8d94d42]
4765
4766         * ChangeLog:
4767         sync
4768         [831f623cf99c]
4769
4770 2008-11-25  Todd C. Miller  <Todd.Miller@courtesan.com>
4771
4772         * check.c, sudo.h, tgetpass.c:
4773         Even if neither stdin nor stdout are ttys we may still have /dev/tty
4774         available to us.
4775         [20f306ba883b]
4776
4777 2008-11-24  Todd C. Miller  <Todd.Miller@courtesan.com>
4778
4779         * sudoers.cat, sudoers.man.in:
4780         regen
4781         [76d97c4c318f]
4782
4783         * sudoers.pod:
4784         fix typos; Markus Lude
4785         [bff8bc1e2066]
4786
4787         * ChangeLog:
4788         sync
4789         [f108552531cd]
4790
4791         * toke.c:
4792         regen
4793         [de828413c67e]
4794
4795         * toke.l:
4796         Fix matching of a line that only consists of a comment char
4797         [09c953d8d5ca]
4798
4799 2008-11-22  Todd C. Miller  <Todd.Miller@courtesan.com>
4800
4801         * auth/pam.c:
4802         MacOS pam will retry conversation function if it fails so just treat
4803         ^C as an empty password.
4804         [d056058930bc]
4805
4806         * visudo.c:
4807         When checking for alias use, also check defaults bindings.
4808         [2647f82c7dbd]
4809
4810         * redblack.c:
4811         unused var
4812         [b7ff71c17c18]
4813
4814         * redblack.c:
4815         Replace my rbdelete with Emin's version (which actually works ;-)
4816         [21b133dd0c72]
4817
4818 2008-11-19  Todd C. Miller  <Todd.Miller@courtesan.com>
4819
4820         * testsudoers.c:
4821         malloc debugging
4822         [0fb446fa3279]
4823
4824         * visudo.c:
4825         malloc options in devel mode for visudo too
4826         [98d06c6afeef]
4827
4828 2008-11-18  Todd C. Miller  <Todd.Miller@courtesan.com>
4829
4830         * sudo.c:
4831         fix compilation on non-C99; from Theo
4832         [7c304e16c536]
4833
4834         * visudo.c:
4835         fix check_aliases
4836         [83f30a3b1765]
4837
4838         * alias.c:
4839         when destroying an alias, free the correct data pointer
4840         [6e1a8bd86c01]
4841
4842         * auth/sudo_auth.h:
4843         add proto for aixauth_cleanup; from Dale King
4844         [eba94ffc8f63]
4845
4846 2008-11-15  Todd C. Miller  <Todd.Miller@courtesan.com>
4847
4848         * sudo.cat, sudo.man.in, sudoers.cat, sudoers.man.in, visudo.cat,
4849         visudo.man.in:
4850         regen
4851         [409fa57fff83]
4852
4853         * sudo.pod, sudoers.pod, visudo.pod:
4854         standardize on the term 'option' for command line options (not flag)
4855         [228caefc2e36]
4856
4857 2008-11-14  Todd C. Miller  <Todd.Miller@courtesan.com>
4858
4859         * INSTALL:
4860         Add note on configuring HP-UX pam
4861         [f7674a581baf]
4862
4863 2008-11-11  Todd C. Miller  <Todd.Miller@courtesan.com>
4864
4865         * check.c, sudo.c:
4866         Move tty checks into check_user() so we only do them if we actually
4867         need a password.
4868         [7d997d7106d6]
4869
4870         * sudo.c:
4871         Don't error out if no tty or askpass unless we actually need to
4872         authenticate.
4873         [9f23b83ed66c]
4874
4875 2008-11-10  Todd C. Miller  <Todd.Miller@courtesan.com>
4876
4877         * ChangeLog:
4878         regen
4879         [23f9aef32da6]
4880
4881         * pathnames.h.in, sudo.c:
4882         s/overriden/overridden/; from Tobias Stoeckmann
4883         [9f7459a8fac5]
4884
4885 2008-11-09  Todd C. Miller  <Todd.Miller@courtesan.com>
4886
4887         * WHATSNEW, visudo.c:
4888         check sudoers owner and mode in strict mode
4889         [a3468c5ac1c4]
4890
4891         * gram.c, toke.c:
4892         regen
4893         [7d6b515a5443]
4894
4895         * sudo.man.in, sudoers.man.in, visudo.man.in:
4896         Update copyright years.
4897         [52d340cb8cba]
4898
4899         * LICENSE, alias.c, alloc.c, auth/afs.c, auth/aix_auth.c,
4900         auth/bsdauth.c, auth/fwtk.c, auth/kerb4.c, auth/kerb5.c, auth/pam.c,
4901         auth/securid.c, auth/securid5.c, auth/sia.c, auth/sudo_auth.h,
4902         closefrom.c, compat.h, defaults.c, defaults.h, env.c, fileops.c,
4903         gettime.c, gram.y, ins_csops.h, insults.h, interfaces.c,
4904         interfaces.h, lbuf.c, license.pod, list.c, logging.c, logging.h,
4905         parse.c, parse.h, pwutil.c, redblack.c, redblack.h, snprintf.c,
4906         sudo.c, sudo.pod, sudo_edit.c, sudo_nss.h, sudoers.pod,
4907         testsudoers.c, toke.l, tsgetgrpw.c, utimes.c, version.h, visudo.c,
4908         visudo.pod, zero_bytes.c:
4909         Update copyright years.
4910         [b4e6bf2beafa]
4911
4912         * emul/charclass.h, fnmatch.c, glob.c:
4913         add my copyright
4914         [28681385014a]
4915
4916 2008-11-08  Todd C. Miller  <Todd.Miller@courtesan.com>
4917
4918         * toke.c, toke.l:
4919         The loop in fill_cmnd() was going one byte too far past the end,
4920         resulting in a NUL being written immediately after the buffer end.
4921         [a5a49d603cd7]
4922
4923         * UPGRADE, WHATSNEW:
4924         add sections on tgetpass changes
4925         [2e6929b6a102]
4926
4927         * tgetpass.c:
4928         Treat EOF w/o newline as an error.
4929         [aa02b1db9240]
4930
4931 2008-11-07  Todd C. Miller  <Todd.Miller@courtesan.com>
4932
4933         * parse.c:
4934         Fix "sudo -v" when NOPASSWD is set.
4935         [f4914711ea80]
4936
4937         * auth/bsdauth.c, auth/fwtk.c, auth/pam.c, auth/sudo_auth.c,
4938         auth/sudo_auth.h:
4939         No longer treat an empty password at the prompt as special. To quit
4940         out of sudo you now need to hit ^C at the password prompt.
4941         [980f760ad419]
4942
4943         * sudoers.cat, sudoers.man.in:
4944         regen
4945         [6ca21a2cd869]
4946
4947         * def_data.c, def_data.h, def_data.in, sudo.c, sudoers.pod:
4948         Sudo will now refuse to run if no tty is present unless the new
4949         visiblepw sudoers flag is set.
4950         [0cc56943252e]
4951
4952 2008-11-06  Todd C. Miller  <Todd.Miller@courtesan.com>
4953
4954         * aix.c:
4955         just use RLIM_INFINITY for RLIM_SAVED_MAX if RLIM_SAVED_MAX not
4956         defined
4957         [24fc6f712d5c]
4958
4959         * aix.c:
4960         fix fallback value for RLIM_SAVED_MAX
4961         [e09e04e1af89]
4962
4963         * auth/aix_auth.c, auth/sudo_auth.h:
4964         Move clearing of AUTHSTATE into aixauth_cleanup.
4965         [e14ae7bd259c]
4966
4967         * auth/aix_auth.c, env.c:
4968         Unset AUTHSTATE after calling authenticate() as it may not be
4969         correct for the user we are running the command as.
4970         [d14f68f1b0ab]
4971
4972         * isblank.c:
4973         Add isblank() function for systems without it. Needed for POSIX
4974         character class matching in fnmatch.c and glob.c.
4975         [16cba30b283f]
4976
4977 2008-11-05  Todd C. Miller  <Todd.Miller@courtesan.com>
4978
4979         * TROUBLESHOOTING:
4980         expound on sudo and cd
4981         [8e0fa9033637]
4982
4983 2008-11-04  Todd C. Miller  <Todd.Miller@courtesan.com>
4984
4985         * ChangeLog:
4986         regen
4987         [40cf320a10fc]
4988
4989         * sudoers.cat, sudoers.man.in:
4990         regen
4991         [7cac761ae2c6]
4992
4993         * sudoers.pod:
4994         mention defauts parse order
4995         [4e2ce86d1394]
4996
4997 2008-11-03  Todd C. Miller  <Todd.Miller@courtesan.com>
4998
4999         * Makefile.in, aclocal.m4, compat.h, configure:
5000         Add isblank() function for systems without it. Needed for POSIX
5001         character class matching in fnmatch.c and glob.c.
5002         [a1ab55da8424]
5003
5004         * Makefile.in:
5005         add emul/charclass.h to HDRS
5006         [7e8a019dcaa4]
5007
5008 2008-11-02  Todd C. Miller  <Todd.Miller@courtesan.com>
5009
5010         * TODO:
5011         checkpoint
5012         [afeb9bc1baed]
5013
5014         * defaults.c, parse.c, testsudoers.c, visudo.c:
5015         Move update_defaults into defaults.c and call it properly from
5016         visudo and testsudoers.
5017         [f4dbb369461f]
5018
5019         * defaults.c, interfaces.c, pwutil.c, sudo.c, sudo_edit.c, tgetpass.c,
5020         tsgetgrpw.c:
5021         use zero_bytes() instead of memset() for consistency
5022         [4cee0465f4a8]
5023
5024         * logging.c, mon_systrace.c, parse.c, sudo.c, sudo_edit.c, tgetpass.c,
5025         visudo.c:
5026         Zero out sigaction_t before use in case it has non-standard entries.
5027         [120092225459]
5028
5029         * match.c:
5030         quiet gcc
5031         [098a1df49b23]
5032
5033         * match.c:
5034         Short circuit glob() checks if basename(pattern) !=
5035         basename(command). Refactor code that checks for a command in a
5036         directory and use it in the glob case if the resolved pattern ends
5037         in a '/'.
5038         [3c46fd317acb]
5039
5040 2008-11-01  Todd C. Miller  <Todd.Miller@courtesan.com>
5041
5042         * defaults.h, parse.c, sudo.c, testsudoers.c, visudo.c:
5043         Defer setting runas defaults until after runaspw/gr is setup.
5044         [12e75ee49c0c]
5045
5046 2008-10-29  Todd C. Miller  <Todd.Miller@courtesan.com>
5047
5048         * match.c, sudo.c, testsudoers.c:
5049         Use MAXHOSTNAMELEN+1 when allocating host/domain name since some
5050         systems do not include space for the NUL in the size. Also manually
5051         NUL-terminate buffer from gethostname() since POSIX is wishy-washy
5052         on this.
5053         [7266ab3296a3]
5054
5055 2008-10-26  Todd C. Miller  <Todd.Miller@courtesan.com>
5056
5057         * sudo.c, sudoers.pod:
5058         When setting the umask, use the union of the user's umask and the
5059         default value set in sudoers so that we never lower the user's umask
5060         when running a command.
5061         [4e804b004e38]
5062
5063         * sudo.c:
5064         Don't try to read from a zero-length sudoers file. Remove the bogus
5065         Solaris work-around for EAGAIN. Since we now use fgetc() it should
5066         not be a problem.
5067         [bb8e5f68d944]
5068
5069 2008-10-25  Todd C. Miller  <Todd.Miller@courtesan.com>
5070
5071         * parse.c:
5072         In update_defaults() check the return value of user*_matches against
5073         ALLOW so we don't inadvertantly match on UNSPEC.
5074         [4e422fa1527e]
5075
5076 2008-10-24  Todd C. Miller  <Todd.Miller@courtesan.com>
5077
5078         * sudo.cat, sudo.man.in, sudoers.cat, sudoers.ldap.cat,
5079         sudoers.ldap.man.in, sudoers.man.in, visudo.cat, visudo.man.in:
5080         regen man pages; no more hyphenation
5081         [15de4fe2fe01]
5082
5083         * sudo.c:
5084         Don't error out on a zero-length sudoers file. With the advent of
5085         #include the user could create a situation where sudo is unusable.
5086         [6eb461319fa5]
5087
5088 2008-10-23  Todd C. Miller  <Todd.Miller@courtesan.com>
5089
5090         * auth/kerb5.c, config.h.in, configure, configure.in:
5091         Newer heimdal has 2-argument krb5_get_init_creds_opt_free() like MIT
5092         krb5. Really old heimdal has no krb5_get_init_creds_opt_alloc() at
5093         all. Add configure tests to handle all the cases.
5094         [4b554a98470d]
5095
5096 2008-10-08  Todd C. Miller  <Todd.Miller@courtesan.com>
5097
5098         * sudo.pod:
5099         resort ENVIRONMENT
5100         [f4f20f40653e]
5101
5102         * sudoers.pod:
5103         document sudoers_locale
5104         [0bffd2dbe806]
5105
5106         * sudo.pod, sudo_edit.c:
5107         add SUDO_EDITOR variable that sudoedit uses in preference to VISUAL
5108         or EDITOR
5109         [0ef8cb248cee]
5110
5111         * toke.c, toke.l:
5112         In fill_cmnd(), collapse any escaped sudo-specific characters.
5113         Allows character classes to be used in pathnames.
5114         [5685244c8e44]
5115
5116 2008-10-03  Todd C. Miller  <Todd.Miller@courtesan.com>
5117
5118         * lbuf.c:
5119         fix typo in non-C89 function declaration
5120         [99a7113b3a05]
5121
5122         * sudoers.pod:
5123         Mention POSIX characters classes now that out fnmatch() and glob()
5124         support them.
5125         [9c916f1230c3]
5126
5127         * sample.sudoers, sudoers.pod:
5128         Replace [A-z] (which won't match in UTF8) with [A-Za-z] which is
5129         locale agnostic.
5130         [a60a62bec244]
5131
5132         * parse.h:
5133         use __signed char if we are going to assign a negative value since
5134         on Power, char is unsigned by default
5135         [2877b319df17]
5136
5137         * config.h.in, configure, configure.in:
5138         Add tests for __signed char and signed char.
5139         [5eb874fdf1d4]
5140
5141         * aix.c:
5142         Fix AIX limit setting. getuserattr() returns values in disk blocks
5143         rather than bytes. The default hard stack size in newer AIX is
5144         RLIM_SAVED_MAX. From Dale King.
5145         [3db67415ecc3]
5146
5147 2008-09-26  Todd C. Miller  <Todd.Miller@courtesan.com>
5148
5149         * emul/charclass.h, fnmatch.c, glob.c:
5150         Add character class support to included glob(3) and fnmatch(3).
5151         [6b5b4ad77899]
5152
5153 2008-09-16  Todd C. Miller  <Todd.Miller@courtesan.com>
5154
5155         * emul/fnmatch.h:
5156         Remove UCB advertising clause and some compatibility defines.
5157         [2ade7bee74e1]
5158
5159 2008-09-14  Todd C. Miller  <Todd.Miller@courtesan.com>
5160
5161         * sudo_edit.c:
5162         Check EDITOR/VISUAL to make sure sudoedit is not re-invoking itself
5163         or sudo. This allows one to set EDITOR to sudoedit without getting
5164         into an infinite loop of sudoedit running itself until the path gets
5165         too big.
5166         [aa49ab68f82d]
5167
5168         * def_data.c, def_data.h, def_data.in, defaults.c, sudo.c:
5169         Add sudoers_locale Defaults option to override the default sudoers
5170         locale of "C".
5171         [0639886a35bf]
5172
5173 2008-09-13  Todd C. Miller  <Todd.Miller@courtesan.com>
5174
5175         * sudo.c:
5176         Set locale to system default except for during sudoers parse.
5177         [016dd2736728]
5178
5179 2008-09-12  Todd C. Miller  <Todd.Miller@courtesan.com>
5180
5181         * match.c:
5182         Redo change in 1.34 to use pointer arithmetic.
5183         [f9e7b63bb450]
5184
5185 2008-09-11  Todd C. Miller  <Todd.Miller@courtesan.com>
5186
5187         * match.c:
5188         Fix a dereference (read) of a freed pointer. Reported by Patrick
5189         Williams.
5190         [69877b633753]
5191
5192 2008-08-23  Todd C. Miller  <Todd.Miller@courtesan.com>
5193
5194         * sudo.c:
5195         Set locale to "C" to avoid interpretation issues with character
5196         ranges in sudoers. May want to make the locale a sudoers option in
5197         the future.
5198         [098a95de1746]
5199
5200 2008-08-20  Todd C. Miller  <Todd.Miller@courtesan.com>
5201
5202         * config.h.in:
5203         we no longer use setproctitle
5204         [c7f20fb747ea]
5205
5206         * sudo.h:
5207         remove #if 1
5208         [a368ee6816c6]
5209
5210         * LICENSE, mkstemp.c:
5211         Use my replacement mkstemp() from the mktemp package.
5212         [d07c2beb0f9e]
5213
5214 2008-07-12  Todd C. Miller  <Todd.Miller@courtesan.com>
5215
5216         * gram.c:
5217         regen with yacc skeleton bug fixed
5218         [24784571cbb8]
5219
5220         * sudoers.pod:
5221         Remove duplicate "as root". From Martin Toft.
5222         [97241acfee5e]
5223
5224 2008-07-02  Todd C. Miller  <Todd.Miller@courtesan.com>
5225
5226         * pwutil.c, sudo.c, sudo.h, testsudoers.c:
5227         Flesh out the fake passwd entry used for running commands as a uid
5228         not listed in the passwd database. Fixes an issue with some PAM
5229         modules.
5230         [a6648227f3f2]
5231
5232 2008-07-01  Todd C. Miller  <Todd.Miller@courtesan.com>
5233
5234         * sudo.c:
5235         Error out in -i mode if the user has no shell. This can happen when
5236         running commands as a uid with no password entry.
5237         [0c174bef36ff]
5238
5239 2008-06-26  Todd C. Miller  <Todd.Miller@courtesan.com>
5240
5241         * toke.c, toke.l:
5242         Better fix for line continuation inside double quotes. Now accepts
5243         whitespace between the backslash and the newline like the main
5244         lexer.
5245         [64efcdf86d31]
5246
5247 2008-06-25  Todd C. Miller  <Todd.Miller@courtesan.com>
5248
5249         * toke.c, toke.l:
5250         Fix line continuation in strings. It was only being honored if
5251         preceded by whitespace.
5252         [96c21271a3e4]
5253
5254 2008-06-22  Todd C. Miller  <Todd.Miller@courtesan.com>
5255
5256         * config.h.in, configure, configure.in, logging.c:
5257         Replace the double fork with a fork + daemonize.
5258         [328505441e67]
5259
5260 2008-06-21  Todd C. Miller  <Todd.Miller@courtesan.com>
5261
5262         * env.c, sudo.c:
5263         The -i flag should imply env_reset. This got broken in sudo 1.6.9.
5264         [3caedfeaec87]
5265
5266         * logging.c, sudo.c, sudo_edit.c, visudo.c:
5267         Change how the mailer is waited for. Instead of having a SIGCHLD
5268         handler, use the double fork trick to orphan the child that opens
5269         the pipe to sendmail. Fixes a problem running su on some Linux
5270         distros.
5271         [b59ce60a393d]
5272
5273 2008-06-20  Todd C. Miller  <Todd.Miller@courtesan.com>
5274
5275         * configure, configure.in:
5276         Fix configure test for dirfd() on Linux where DIR is opaque.
5277         [b8f729cdfecc]
5278
5279 2008-06-17  Todd C. Miller  <Todd.Miller@courtesan.com>
5280
5281         * tgetpass.c:
5282         Get rid of the QNX TCSAFLUSH -> TCSADRAIN hack. If QNX still has
5283         this problem we'll need to revisit this again.
5284         [c17fee8ad530]
5285
5286 2008-06-11  Todd C. Miller  <Todd.Miller@courtesan.com>
5287
5288         * logging.c:
5289         Ignore SIGPIPE instead of blocking it when piping to the mailer. If
5290         we only block the signal it may be delivered later when we unblock.
5291         Also, there is no need to block SIGCHLD since we no longer do the
5292         double fork. The normal SIGCHLD handler is sufficient.
5293         [e94a49e992e5]
5294
5295 2008-06-08  Todd C. Miller  <Todd.Miller@courtesan.com>
5296
5297         * configure, configure.in:
5298         Add description for NO_PAM_SESSION, from a redhat patch.
5299         [b9e4c939ec09]
5300
5301 2008-06-06  Todd C. Miller  <Todd.Miller@courtesan.com>
5302
5303         * sudo.cat, sudo.man.in, sudo.pod:
5304         Fix typos in -i usage
5305         [2d7ce5de0235]
5306
5307 2008-05-18  Todd C. Miller  <Todd.Miller@courtesan.com>
5308
5309         * configure, configure.in:
5310         Redo the test for dgettext() in a way that hopefully will work
5311         around the libintl_dgettext() undefined problem.
5312         [d27beb0cf85e]
5313
5314 2008-05-11  Todd C. Miller  <Todd.Miller@courtesan.com>
5315
5316         * schema.ActiveDirectory:
5317         change filename in comment
5318         [733da4ee9ac5]
5319
5320 2008-05-10  Todd C. Miller  <Todd.Miller@courtesan.com>
5321
5322         * Makefile.in, README.LDAP, sudoers.ldap.cat, sudoers.ldap.man.in,
5323         sudoers.ldap.pod:
5324         Reference schema.ActiveDirectory
5325         [d6aec537800e]
5326
5327 2008-05-09  Todd C. Miller  <Todd.Miller@courtesan.com>
5328
5329         * schema.OpenLDAP, schema.iPlanet:
5330         Mark sudoRunAs as deprecated.
5331         [00c50df807af]
5332
5333         * schema.ActiveDirectory:
5334         add sudoRunAsUser and sudoRunAsGroup
5335         [19bcce6f72fb]
5336
5337         * schema.ActiveDirectory:
5338         Active Directory schema by Chantal Paradis and Eric Paquet
5339         [06a09c92c6a5]
5340
5341 2008-05-08  Todd C. Miller  <Todd.Miller@courtesan.com>
5342
5343         * parse.c:
5344         remove an XXX that was fixed
5345         [b88038062fa2]
5346
5347         * ChangeLog:
5348         sync
5349         [8fc27c17270e]
5350
5351         * parse.c:
5352         Initialize tags to UNSPEC instead of def_* in "sudo -l" mode. This
5353         fixes a problem where the tag value printed was influenced by
5354         defaults set in the first pass through the parser.
5355         [588ccd630367]
5356
5357 2008-05-04  Todd C. Miller  <Todd.Miller@courtesan.com>
5358
5359         * Makefile.in, sudo.psf:
5360         No point in packaging the TODO file
5361         [9590248fffe1]
5362
5363         * ChangeLog:
5364         sync
5365         [152acf4c6813]
5366
5367 2008-05-03  Todd C. Miller  <Todd.Miller@courtesan.com>
5368
5369         * WHATSNEW, def_data.c, def_data.h, def_data.in, env.c, sudo.c,
5370         sudo.h, sudoers.cat, sudoers.man.in, sudoers.pod:
5371         Add env_file Defaults option that is similar to /etc/environment on
5372         some systems.
5373         [1daf53d51e18]
5374
5375 2008-05-02  Todd C. Miller  <Todd.Miller@courtesan.com>
5376
5377         * Makefile.in, README, TODO, WHATSNEW, sudo.cat, sudo.man.in,
5378         sudoers.cat, sudoers.ldap.cat, sudoers.ldap.man.in, sudoers.man.in,
5379         version.h, visudo.cat, visudo.man.in:
5380         change version to 1.7.0
5381         [d41d126b9bd8]
5382
5383         * UPGRADE:
5384         initial valgrind pass done
5385         [c59c3876d8ca]
5386
5387 2008-04-23  Todd C. Miller  <Todd.Miller@courtesan.com>
5388
5389         * ldap.c:
5390         Fix typo/think in sudo_ldap_read_secret() when storing the secret.
5391         [830d246c09b0]
5392
5393 2008-04-11  Todd C. Miller  <Todd.Miller@courtesan.com>
5394
5395         * ldap.c:
5396         define LDAPS_PORT if the system headers do not
5397         [247b12325701]
5398
5399 2008-04-10  Todd C. Miller  <Todd.Miller@courtesan.com>
5400
5401         * gram.c, gram.y:
5402         Fix another memory leak in init_parser().
5403         [7bba47deba11]
5404
5405         * configure, configure.in:
5406         There was a missing space before the ldap libs in SUDO_LIBS for some
5407         configurations.
5408         [7524cfc93759]
5409
5410         * alias.c, gram.c, gram.y, toke.c, toke.l:
5411         Clean up some memory leaks pointed out by valgrind.
5412         [a965866ece1a]
5413
5414 2008-04-07  Todd C. Miller  <Todd.Miller@courtesan.com>
5415
5416         * sudo.c:
5417         fix "sudo -s" broken by mode/flags breakout
5418         [acffe984d408]
5419
5420         * configure, configure.in:
5421         remove duplicate check for dgettext
5422         [58145529133c]
5423
5424 2008-04-05  Todd C. Miller  <Todd.Miller@courtesan.com>
5425
5426         * aix.c:
5427         Fall back to default stanza if no user-specific limit is found.
5428         [7b8cb29123ee]
5429
5430 2008-04-02  Todd C. Miller  <Todd.Miller@courtesan.com>
5431
5432         * snprintf.c:
5433         include stdint.h if present
5434         [f0ec38529306]
5435
5436         * snprintf.c:
5437         Use LLONG_MAX, not the old QUAD_MAX
5438         [01041ce508fb]
5439
5440 2008-04-01  Todd C. Miller  <Todd.Miller@courtesan.com>
5441
5442         * sudoers.ldap.pod:
5443         fix cut and pasto
5444         [34240fdef5ab]
5445
5446 2008-03-31  Todd C. Miller  <Todd.Miller@courtesan.com>
5447
5448         * pwutil.c:
5449         Add #ifdef PURITY
5450         [ce1b571ad526]
5451
5452 2008-03-30  Todd C. Miller  <Todd.Miller@courtesan.com>
5453
5454         * auth/bsdauth.c:
5455         remove useless cast
5456         [494f8a862e1d]
5457
5458 2008-03-27  Todd C. Miller  <Todd.Miller@courtesan.com>
5459
5460         * ChangeLog:
5461         sync
5462         [f5c97ffaabcc]
5463
5464         * TODO:
5465         sync
5466         [96ff1c44c182]
5467
5468         * sudo.h:
5469         Split MODE_* defines into primary and flags.
5470         [c02ee3027cb9]
5471
5472 2008-03-26  Todd C. Miller  <Todd.Miller@courtesan.com>
5473
5474         * aix.c:
5475         It turns out the logic for getting AIX limits is more convoluted
5476         than I realized and differs depending on whether the soft and/or
5477         hard limits are defined.
5478         [cf8d3f85d395]
5479
5480 2008-03-23  Todd C. Miller  <Todd.Miller@courtesan.com>
5481
5482         * Makefile.in, configure, configure.in:
5483         Back out AIX-specific change to set the sudo_noexec path to the .a
5484         file, we do really want to use the .so file. Since libtool doesn't
5485         do that correctly, just install the .so file ourselves in the
5486         Makefile.
5487         [05c6f33177d9]
5488
5489         * install-sh:
5490         If the file given to install is a path, only use the basename of the
5491         file when building the destination path.
5492         [695ba4e429ce]
5493
5494 2008-03-18  Todd C. Miller  <Todd.Miller@courtesan.com>
5495
5496         * sudo.c:
5497         parse_args() cleanup: Sort command line options in the getopt()
5498         switch The -U option requires a parameter Normalize a few ISSET
5499         calls Split mode into mode and flags and retire the now-obsolete
5500         excl variable
5501         [0d156835f861]
5502
5503         * WHATSNEW, check.c, sudo.c, sudo.cat, sudo.h, sudo.man.in, sudo.pod,
5504         sudo_usage.h.in:
5505         Add -n (non-interactive) flag.
5506         [e3e50400d32d]
5507
5508         * sudo.c:
5509         Move version printing, etc. into a separate function.
5510         [18c91b476e2c]
5511
5512         * sudo.c:
5513         Don't try to cleanup nsswitch if it has not been initialized.
5514         [aeb1ca1b399d]
5515
5516 2008-03-17  Todd C. Miller  <Todd.Miller@courtesan.com>
5517
5518         * logging.c:
5519         Block SIGPIPE in send_mail() so sudo is not killed by a problem
5520         executing the mailer.
5521         [f130e7924cca]
5522
5523 2008-03-14  Todd C. Miller  <Todd.Miller@courtesan.com>
5524
5525         * configure, configure.in:
5526         AIX shared libs end in .a, not .so.
5527         [a5deb07020d8]
5528
5529 2008-03-13  Todd C. Miller  <Todd.Miller@courtesan.com>
5530
5531         * env.c:
5532         Preserve HOME by default too. Matches documentation and previous
5533         behavior.
5534         [c16f17f1047c]
5535
5536 2008-03-12  Todd C. Miller  <Todd.Miller@courtesan.com>
5537
5538         * sudo.c:
5539         Use getopt() to parse the command line. We need to be able to
5540         intersperse env variables and options yet still honor "--"" which
5541         complicates things slightly.
5542         [60f271ce5c16]
5543
5544 2008-03-06  Todd C. Miller  <Todd.Miller@courtesan.com>
5545
5546         * ChangeLog:
5547         sync
5548         [685e67964eda]
5549
5550         * acsite.m4, configure, ltmain.sh:
5551         update to libtool-1.5.26
5552         [4c9a8c3d3b40]
5553
5554         * config.guess, config.sub:
5555         update from libtool-1.5.26 distribution
5556         [c6641aef2527]
5557
5558         * aix.c, sudo.h:
5559         attempt to fix compilation errors on AIX
5560         [edb13e5b2184]
5561
5562         * Makefile.in:
5563         fix typo in last commit
5564         [25ba7f7ceae4]
5565
5566         * Makefile.in:
5567         Add WHATSNEW file to the distribution
5568         [213f4115de8f]
5569
5570         * visudo.c:
5571         use warningx instead of fprintf(stderr, ...)
5572         [a3494b8ccb19]
5573
5574         * list.c:
5575         add DEBUG to list2tq
5576         [115d24a3000c]
5577
5578         * ChangeLog, TODO:
5579         sync
5580         [60e6f4d1fac0]
5581
5582         * WHATSNEW:
5583         mention mailfrom
5584         [e2498f9e18d6]
5585
5586         * Makefile.in, aix.c, config.h.in, configure, configure.in,
5587         set_perms.c, sudo.h:
5588         Add aix_setlimits() to set resource limits on AIX using a
5589         combination of getuserattr() and setrlimit(). Currently untested.
5590         [9b1441fd89ca]
5591
5592 2008-03-05  Todd C. Miller  <Todd.Miller@courtesan.com>
5593
5594         * def_data.c, def_data.h, def_data.in, logging.c, sudoers.cat,
5595         sudoers.man.in, sudoers.pod:
5596         Add mailfrom Defaults option that sets the value of the From: field
5597         in the warning/error mail. If unset the login name of the invoking
5598         user is used.
5599         [029b9f05d3d9]
5600
5601         * defaults.c:
5602         store a copy of _PATH_SUDO_ASKPASS in def_askpass that is freeable
5603         [a90e407d5e00]
5604
5605         * gram.c, gram.y:
5606         When adding a default, only call list2tq() once to do the list to tq
5607         conversion. It is not legal to call list2tq multiple times on the
5608         same list since list2tq consumes and modifies the list argument.
5609         [fbc25d245c4a]
5610
5611         * sudoers.ldap.cat, sudoers.ldap.man.in, sudoers.ldap.pod:
5612         comment out XXXs for now
5613         [595a1d43309d]
5614
5615         * WHATSNEW:
5616         mention askpass
5617         [b993e0837c22]
5618
5619 2008-03-04  Todd C. Miller  <Todd.Miller@courtesan.com>
5620
5621         * sudo.c:
5622         Error out if both -A and -S are specified Error out if -A is
5623         specified but no askpass is configured
5624         [24f1df2638f6]
5625
5626         * configure, configure.in:
5627         we are not going to ship a sudo-specific askpass
5628         [61949e7a3943]
5629
5630 2008-03-03  Todd C. Miller  <Todd.Miller@courtesan.com>
5631
5632         * sudo.h:
5633         fix definition of TGP_ASKPASS
5634         [0447c57ba4c3]
5635
5636         * def_data.c, def_data.in:
5637         make askpass boolean-capable
5638         [e0885893a325]
5639
5640         * INSTALL:
5641         document --with-askpass
5642         [c76e15ba97cf]
5643
5644         * sudo.cat, sudo.man.in, sudoers.cat, sudoers.ldap.cat,
5645         sudoers.man.in, visudo.cat:
5646         regen
5647         [8d16242980b7]
5648
5649 2008-03-02  Todd C. Miller  <Todd.Miller@courtesan.com>
5650
5651         * sudo.pod, sudo_usage.h.in, sudoers.pod:
5652         document -A and askpass
5653         [02c07505a78c]
5654
5655         * auth/sudo_auth.c, check.c, configure, configure.in, def_data.c,
5656         def_data.h, def_data.in, defaults.c, pathnames.h.in, sudo.c, sudo.h,
5657         sudo_usage.h.in, tgetpass.c:
5658         Add support for running a helper program to read the password when
5659         no tty is present (or when specified with the -A flag). TODO: docs.
5660         [05780f5f71fd]
5661
5662         * def_data.c, def_data.in:
5663         add missing printf format to SELinux role and type strings
5664         [2b32774715e7]
5665
5666 2008-02-27  Todd C. Miller  <Todd.Miller@courtesan.com>
5667
5668         * INSTALL, configure, configure.in:
5669         Disable use of gss_krb5_ccache_name() by default and add
5670         --enable-gss-krb5-ccache-name configure option to enable it. It
5671         seems that gss_krb5_ccache_name() doesn't work properly with some
5672         combinations of Heimdal and OpenLDAP.
5673         [f61ebd3b19bd]
5674
5675 2008-02-22  Todd C. Miller  <Todd.Miller@courtesan.com>
5676
5677         * selinux.c:
5678         Ignore setexeccon() failing in permissive mode. Also add a call to
5679         setkeycreatecon() (though this is probably insufficient). From Dan
5680         Walsh.
5681         [52564fc1c069]
5682
5683         * auth/pam.c:
5684         Only set std_prompt for the PAM_PROMPT_* cases. The conversation
5685         function may be called for non-password reading purposes so we must
5686         be careful not to use def_prompt in cases where it may not be set.
5687         [29d88ca575ba]
5688
5689 2008-02-20  Todd C. Miller  <Todd.Miller@courtesan.com>
5690
5691         * selinux.c:
5692         Don't free the new tty context, we need to keep it around when we
5693         restore the tty context after the command completes
5694         [5b4bd39b6ea8]
5695
5696 2008-02-19  Todd C. Miller  <Todd.Miller@courtesan.com>
5697
5698         * selinux.c:
5699         s/newrole/sudo/
5700         [21b8a96ff8df]
5701
5702         * sudo.man.pl, sudo.pod:
5703         Only put login_cap(3) in SEE ALSO section if we have login.conf
5704         support
5705         [05250ddff2c0]
5706
5707 2008-02-18  Todd C. Miller  <Todd.Miller@courtesan.com>
5708
5709         * sudo.cat, sudo.man.in, sudoers.cat, sudoers.ldap.cat,
5710         sudoers.ldap.man.in, sudoers.man.in, visudo.cat, visudo.man.in:
5711         regen
5712         [301e5c5ccdbe]
5713
5714         * sudoers.pod:
5715         Substitute in comment characters for lines partaining to login.conf,
5716         BSD auth and SELinux and only enable them if pertinent.
5717         [c1c98fa163ce]
5718
5719         * sudoers.man.pl:
5720         Substitute in comment characters for lines partaining to login.conf,
5721         BSD auth and SELinux and only enable them if pertinent.
5722         [6c88f30b878a]
5723
5724         * sudo.pod:
5725         Substitute in comment characters for lines partaining to login.conf,
5726         BSD auth and SELinux and only enable them if pertinent.
5727         [acdbdfd24e1d]
5728
5729         * sudo.man.pl:
5730         Substitute in comment characters for lines partaining to login.conf,
5731         BSD auth and SELinux and only enable them if pertinent.
5732         [0c56d4750ac3]
5733
5734         * Makefile.in, configure, configure.in:
5735         Substitute in comment characters for lines partaining to login.conf,
5736         BSD auth and SELinux and only enable them if pertinent.
5737         [9a02bd6a6658]
5738
5739         * Makefile.in, sudo.pod, sudoers.ldap.pod, sudoers.pod, visudo.pod:
5740         Remove the =cut on the first line (above the copyright notice) to
5741         quiet pod2man. Also remove the hackery in the FILES section and
5742         just deal with the fact that there will a newline between each
5743         pathname.
5744         [2ac1ab191835]
5745
5746 2008-02-17  Todd C. Miller  <Todd.Miller@courtesan.com>
5747
5748         * Makefile.in:
5749         run sudo.man.pl when generating sudo.man.in
5750         [859727369168]
5751
5752         * configure, configure.in, sudo.man.pl:
5753         comment out SELinux manual bits unless --with-selinux was specified
5754         [97ff4212b649]
5755
5756         * sudoers.pod:
5757         document role and type defaults for SELinux
5758         [870f303366b3]
5759
5760         * sudo.c, sudo.cat, sudo.man.in, sudo.pod, sudo_usage.h.in:
5761         Document "sudo -ll" and make "sudo -l -l" be equivalent.
5762         [3ce6dc429ea3]
5763
5764 2008-02-15  Todd C. Miller  <Todd.Miller@courtesan.com>
5765
5766         * configure, configure.in:
5767         Treat k*bsd*-gnu like Linux, not BSD. Fixes compilation problems on
5768         Debian GNU/kFreeBSD.
5769         [c4efa567a328]
5770
5771 2008-02-13  Todd C. Miller  <Todd.Miller@courtesan.com>
5772
5773         * auth/kerb5.c:
5774         Avoid Heimdal'isms introduced in the rev 1.32 rewrite of
5775         verify_krb_v5_tgt()
5776         [f80538e5a6fa]
5777
5778         * logging.c, logging.h, sudo.c:
5779         Remove dependence on VALIDATE_NOT_OK in logging functions. Split
5780         log_auth() into log_allowed() and log_denial() Replace mail_auth()
5781         with should_mail() and a call to send_mail()
5782         [58aac9997557]
5783
5784 2008-02-10  Todd C. Miller  <Todd.Miller@courtesan.com>
5785
5786         * ldap.c:
5787         Add debugging so we can tell if the krb5 ccache is accessible
5788         [c679322527bb]
5789
5790         * INSTALL:
5791         mention --with-selinux
5792         [9efbe0b52194]
5793
5794 2008-02-09  Todd C. Miller  <Todd.Miller@courtesan.com>
5795
5796         * configure:
5797         regen
5798         [467a834f867c]
5799
5800         * selinux.c:
5801         add Sudo tag
5802         [d004ee669bed]
5803
5804         * sudo.c, sudo.cat, sudo.h, sudo.man.in, sudo.pod, sudo_usage.h.in,
5805         sudoers.ldap.cat, sudoers.ldap.man.in, sudoers.ldap.pod,
5806         testsudoers.c, toke.c, toke.l:
5807         Add support for SELinux RBAC. Sudoers entries may specify a role
5808         and type. There are also role and type defaults that may be used.
5809         To make sure a transition occurs, when using RBAC commands are
5810         executed via the new sesh binary. Based on initial changes from Dan
5811         Walsh.
5812         [1d4abfe2c004]
5813
5814         * sesh.c:
5815         Add support for SELinux RBAC. Sudoers entries may specify a role
5816         and type. There are also role and type defaults that may be used.
5817         To make sure a transition occurs, when using RBAC commands are
5818         executed via the new sesh binary. Based on initial changes from Dan
5819         Walsh.
5820         [1e3b395ce049]
5821
5822         * Makefile.in, config.h.in, configure.in, def_data.c, def_data.h,
5823         def_data.in, gram.c, gram.h, gram.y, ldap.c, parse.c, parse.h,
5824         pathnames.h.in, selinux.c:
5825         Add support for SELinux RBAC. Sudoers entries may specify a role
5826         and type. There are also role and type defaults that may be used.
5827         To make sure a transition occurs, when using RBAC commands are
5828         executed via the new sesh binary. Based on initial changes from Dan
5829         Walsh.
5830         [6b421948286e]
5831
5832 2008-02-08  Todd C. Miller  <Todd.Miller@courtesan.com>
5833
5834         * lbuf.c, ldap.c, parse.c, sudo.c, sudo.h, sudo_nss.c:
5835         Add long list (sudo -ll) support for printing verbose LDAP and
5836         sudoers file entries. Still need to update manual.
5837         [2875be37935c]
5838
5839 2008-02-03  Todd C. Miller  <Todd.Miller@courtesan.com>
5840
5841         * ldap.c, parse.c, sudo.h, sudo_nss.c, sudo_nss.h:
5842         Unify the -l output for file and ldap based sudoers and use lbufs
5843         for both. The ldap output does not currently include options that
5844         cannot be represented as tags. This will be remedied in a long list
5845         output mode to come.
5846         [b2e429456596]
5847
5848 2008-01-27  Todd C. Miller  <Todd.Miller@courtesan.com>
5849
5850         * set_perms.c:
5851         Use a specific error message for errno == EAGAIN when setuid() et al
5852         fails. On Linux systems setuid() will fail with errno set to EAGAIN
5853         if changing to the new uid would result in a resource limit
5854         violation.
5855         [08d0aecd9f03]
5856
5857         * sudo.c:
5858         Unlimit nproc on Linux systems where calling the setuid() family of
5859         syscalls causes the nroc resource limit to be checked. The limits
5860         will be reset by pam_limits.so when PAM is used. In the non-PAM
5861         case the nproc limit will remain unlimited but there doesn't seem to
5862         be a way around that other than having sudo parse
5863         /etc/security/limits.conf directly.
5864         [df024b415a8d]
5865
5866         * env.c, sudo.c, sudo.pod:
5867         Only read /etc/environment on Linux and AIX
5868         [90669e2aefdb]
5869
5870 2008-01-23  Todd C. Miller  <Todd.Miller@courtesan.com>
5871
5872         * configure, configure.in:
5873         Use SUDO_DEFINE_UNQUOTED instead of AC_DEFINE_UNQUOTED to prevent
5874         ldap.conf and ldap.secret paths from going into config.h. Avoid
5875         single quotes in variable expansion when using SUDO_DEFINE_UNQUOTED
5876         since in some versions of bash they will end up literally in the
5877         resulting define.
5878         [25390f3ef10a]
5879
5880 2008-01-21  Todd C. Miller  <Todd.Miller@courtesan.com>
5881
5882         * README.LDAP:
5883         mention --with-nsswitch=no
5884         [c509df927263]
5885
5886         * configure, configure.in:
5887         ldap_ssl.h depends on ldap.h being included first
5888         [d96d90e9b21f]
5889
5890         * config.h.in, configure, configure.in, ldap.c:
5891         Include ldap_ssl.h if we can find it. Needed for the
5892         ldapssl_set_strength defines on HP-UX at least.
5893         [9e530470948a]
5894
5895         * sudoers.ldap.pod:
5896         sync
5897         [b9d101f4673a]
5898
5899         * TODO:
5900         sync
5901         [2ce951b2ecd0]
5902
5903         * sudo.cat, sudo.man.in, sudoers.cat, sudoers.ldap.cat,
5904         sudoers.ldap.man.in, sudoers.man.in, visudo.cat, visudo.man.in:
5905         regen
5906         [b61d793987e0]
5907
5908         * Makefile.in:
5909         Use 78n line length when formatting cat pages.
5910         [761bee9d5759]
5911
5912         * README.LDAP:
5913         Remove redundant info that is now in sudoers.ldap.pod
5914         [01828dcce59e]
5915
5916 2008-01-20  Todd C. Miller  <Todd.Miller@courtesan.com>
5917
5918         * sudoers.ldap.cat, sudoers.ldap.man.in, sudoers.ldap.pod:
5919         Reorganize the first section a bit. Substitute the proper path for
5920         /etc/sudoers.
5921         [11ae165e065d]
5922
5923         * sudoers.ldap.cat, sudoers.ldap.man.in, sudoers.ldap.pod:
5924         Substitute values for ldap.conf, ldap.secret and nsswitch.conf Move
5925         schema into EXAMPLES
5926         [ab6509d1dde7]
5927
5928         * configure, configure.in:
5929         Substitute values for ldap.conf, ldap.secret and nsswitch.conf into
5930         sudoers.ldap.man.
5931         [6e689972f465]
5932
5933         * configure, configure.in:
5934         substitute for sudoers.ldap.man
5935         [5a4a25766dee]
5936
5937         * Makefile.in:
5938         Fix cut & pasto introduced when adding sudoers.ldap man page.
5939         [a7b069af8894]
5940
5941         * sudoers.ldap.cat, sudoers.ldap.man.in, sudoers.ldap.pod:
5942         Fill in some of the missing pieces. Still needs some reorganization
5943         and editing.
5944         [5e7331722166]
5945
5946 2008-01-19  Todd C. Miller  <Todd.Miller@courtesan.com>
5947
5948         * Makefile.in, sudoers.ldap.cat, sudoers.ldap.man.in,
5949         sudoers.ldap.pod:
5950         Beginnings of a sudoers.ldap man page. Currently, much of the
5951         information is adapted from README.LDAP.
5952         [aad28c8a922d]
5953
5954 2008-01-18  Todd C. Miller  <Todd.Miller@courtesan.com>
5955
5956         * pwutil.c:
5957         When copying gr_mem we must guarantee that the storage space for
5958         gr_mem is properly aligned. The simplest way to do this is to
5959         simply store gr_mem directly after struct group. This is not a
5960         problem for gr_passwd or gr_name as they are simple strings.
5961         [af58fc76f1ed]
5962
5963         * ldap.c:
5964         Fix a typo/thinko in one of the calls to
5965         sudo_ldap_check_user_netgroup(). From Marco van Wieringen.
5966         [70b2eb8097f5]
5967
5968 2008-01-17  Todd C. Miller  <Todd.Miller@courtesan.com>
5969
5970         * config.h.in, configure, configure.in, ldap.c:
5971         include <mps/ldap_ssl.h> in ldap.c if available
5972         [34346206ef16]
5973
5974 2008-01-16  Todd C. Miller  <Todd.Miller@courtesan.com>
5975
5976         * gram.c, gram.y:
5977         Make sure we define SIZE_MAX for yacc's skeleton.c
5978         [d8a45c7a3c42]
5979
5980         * tgetpass.c:
5981         Use TCSAFLUSH when restoring terminal settings (and echo) to
5982         guarantee that any pending output is discarded
5983         [549a184479e5]
5984
5985 2008-01-15  Todd C. Miller  <Todd.Miller@courtesan.com>
5986
5987         * sudoers:
5988         no longer need to specify SETENV when user has sudo ALL
5989         [3051b41f8032]
5990
5991         * testsudoers.c:
5992         sync user_args size calculation with sudo.c Add -g group option,
5993         renaming old -g to -G Add set_runasgr() and set_runaspw() and use
5994         them
5995         [0850325180f0]
5996
5997         * sudo.c, sudo.h:
5998         Make set_runaspw static void
5999         [5d44d7a340ce]
6000
6001         * testsudoers.c, visudo.c:
6002         g/c set_runaspw stub
6003         [79ebb5e2cc38]
6004
6005         * configure, configure.in:
6006         Don't add -llber twice.
6007         [4356d302eef4]
6008
6009 2008-01-14  Todd C. Miller  <Todd.Miller@courtesan.com>
6010
6011         * ldap.c:
6012         fix typo
6013         [249cecc557e9]
6014
6015 2008-01-13  Todd C. Miller  <Todd.Miller@courtesan.com>
6016
6017         * gram.c:
6018         regen
6019         [2f94ea375b67]
6020
6021         * configure, configure.in:
6022         Fix check that determines whether -llber is required.
6023         [6afa99523379]
6024
6025         * README.LDAP, config.h.in, configure, configure.in, ldap.c:
6026         For netscape-based LDAP, use ldapssl_set_strength() to implement the
6027         checkpeer ldap.conf option.
6028         [16ae24d73795]
6029
6030         * auth/kerb5.c:
6031         Delay krb5_cc_initialize() until we actually need to use the cred
6032         cache, which is what krb5_verify_user() does. Better cleanup on
6033         failure.
6034         [d12e5f1695b8]
6035
6036 2008-01-12  Todd C. Miller  <Todd.Miller@courtesan.com>
6037
6038         * auth/kerb5.c:
6039         Rewrite verify_krb_v5_tgt() based on what heimdal's
6040         krb5_verify_user() does.
6041         [05b5815f86c9]
6042
6043 2008-01-09  Todd C. Miller  <Todd.Miller@courtesan.com>
6044
6045         * gram.c:
6046         The U suffix on constants is an ANSI feature
6047         [c6dfce3167f1]
6048
6049         * configure, configure.in:
6050         Add check for ber_set_option() in -llber
6051         [43d0c0566074]
6052
6053 2008-01-07  Todd C. Miller  <Todd.Miller@courtesan.com>
6054
6055         * README.LDAP:
6056         default if no nsswitch.conf is files only
6057         [c13001d9c998]
6058
6059 2008-01-06  Todd C. Miller  <Todd.Miller@courtesan.com>
6060
6061         * README.LDAP:
6062         don't tell people to mail aaron about LDAP stuff
6063         [8165ec1ef0c6]
6064
6065         * README.LDAP:
6066         timelimit and bind_timelimit
6067         [44f74cbed167]
6068
6069         * ChangeLog:
6070         sync
6071         [aba1a0ab02bd]
6072
6073         * ldap.c:
6074         Move ldap.secret reading into a separate function.
6075         [1948acc9f7a4]
6076
6077         * check.c:
6078         user_runas -> runas_pw
6079         [334490fc2bae]
6080
6081 2008-01-05  Todd C. Miller  <Todd.Miller@courtesan.com>
6082
6083         * TODO:
6084         sync
6085         [c7b165cc47c6]
6086
6087         * check.c, sudo.pod, sudoers.pod:
6088         Add and document the %p escape in the password prompt. Based on a
6089         patch from Patrick Schoenfeld.
6090         [3972d4f31ffa]
6091
6092         * ldap.c:
6093         Check strlcpy() return values.
6094         [9b42f3ae8ff1]
6095
6096         * ldap.c:
6097         refactor ldap binding code into sudo_ldap_bind_s()
6098         [cb0c66a4d955]
6099
6100         * README.LDAP:
6101         Make it clear that host and uri can take multiple parameters. URI is
6102         now supported for more than just openldap nsswitch.conf does't
6103         accept "compat"
6104         [f610dea656d6]
6105
6106         * sudo.c:
6107         comment cleanup and update (c) year
6108         [6cd69c810ca5]
6109
6110         * parse.c, sudo_nss.c:
6111         Move display_privs() and display_cmnd() from parse.c to sudo_nss.c.
6112         This should make it possible to build an LDAP-only sudo binary.
6113         [61c3f27066a0]
6114
6115         * ldap.c, parse.c, sudo.c, sudo.h, sudo_nss.h:
6116         Improve chaining of multiple sudoers sources by passing in the
6117         previous return value to the next in the chain
6118         [2c0b722b1b2d]
6119
6120         * gram.y:
6121         Free up parser data structures in sudo_file_close().
6122         [2251531d4519]
6123
6124         * gram.c, parse.c:
6125         Free up parser data structures in sudo_file_close().
6126         [8371f130f401]
6127
6128         * ldap.c:
6129         Parse uri ourself if no ldap_initialize() is present Use
6130         ldap_create() instead of deprecated ldap_init() Use
6131         ldap_sasl_bind_s() instead of deprecated ldap_simple_bind_s()
6132         [85d3825b1953]
6133
6134         * config.h.in, configure, configure.in:
6135         Add check for ldap_sasl_bind_s() Remove -DLDAP_DEPRECATED from
6136         CFLAGS
6137         [240524512bc5]
6138
6139 2008-01-04  Todd C. Miller  <Todd.Miller@courtesan.com>
6140
6141         * config.h.in, configure, configure.in:
6142         add check for ldap_create
6143         [3089badd73b8]
6144
6145 2008-01-03  Todd C. Miller  <Todd.Miller@courtesan.com>
6146
6147         * config.h.in, configure, configure.in, ldap.c:
6148         Add sudo_ldap_get_first_rdn() to return the first rdn of an entry's
6149         dn using the mechanism appropriate for the LDAP SDK in use. Use
6150         ldap_unbind_ext_s() instead of deprecated ldap_unbind_s(). Emulate
6151         ldap_unbind_ext_s() and ldap_search_ext_s() for SDK's without them.
6152         [6deeca3d00cc]
6153
6154         * lbuf.c:
6155         include unistd.h
6156         [8419ed0bae7f]
6157
6158         * config.h.in, configure.in:
6159         fix typo in mtim_getnsec
6160         [2d5f21230a60]
6161
6162 2008-01-02  Todd C. Miller  <Todd.Miller@courtesan.com>
6163
6164         * config.h.in, configure, configure.in:
6165         add check for st__tim in struct stat as used by SCO
6166         [587060ea2a89]
6167
6168         * ldap.c:
6169         use ldap_search_ext_s instead of deprecated ldap_search_s
6170         [5fc44fe3b44c]
6171
6172         * Makefile.in, TODO, sudo.cat, sudo.man.in:
6173         add sudo_nss.h to HDRS
6174         [86f01a70ff29]
6175
6176         * ldap.c:
6177         Replace deprecated ldap_explode_dn() with calls to ldap_str2dn() and
6178         ldap_rdn2str().
6179         [aa217002cfae]
6180
6181 2008-01-01  Todd C. Miller  <Todd.Miller@courtesan.com>
6182
6183         * ldap.c:
6184         Use ldap_get_values_len()/ldap_value_free_len() instead of the
6185         deprecated ldap_get_values()/ldap_value_free().
6186         [e22dceb85e57]
6187
6188         * ChangeLog:
6189         sync
6190         [adad27b36107]
6191
6192         * TODO:
6193         sync
6194         [c449eb47e0ef]
6195
6196         * gettime.c, sudo.c:
6197         Remove some already fixed XXXs
6198         [532788d0e6da]
6199
6200         * ldap.c:
6201         Same return value as non-existent sudoers if LDAP was unable to
6202         connect.
6203         [5819810e8e4e]
6204
6205         * sudo.pod:
6206         mention /etc/environment
6207         [ea8e6102f853]
6208
6209         * README.LDAP, UPGRADE, WHATSNEW:
6210         Update to reflect recent developments.
6211         [ed1fb026fe77]
6212
6213         * sudo.c:
6214         Print nsswitch.conf, ldap.conf and ldap.secret paths in -V output.
6215         [55b68a58260d]
6216
6217         * ldap.c:
6218         When building up a query don't list groups in the aux group vector
6219         that are the same as the passwd file group. On most systems the
6220         first gid in the group vector is the same as the passwd entry gid.
6221         [4bb51e297e0d]
6222
6223         * env.c, ldap.c:
6224         Define LDAPNOINIT before calling ldap_init(), etc. to disable user
6225         ldaprc and system defaults that could affect how LDAP works.
6226         [ce5036440db2]
6227
6228         * INSTALL, configure, configure.in, pathnames.h.in, sudo.c,
6229         sudo_nss.c, sudo_nss.h:
6230         Rename read_nss -> sudo_read_nss Add --with-nsswitch to allow users
6231         to specify nsswitch.conf path or disable it. If --with-nsswitch=no
6232         but --with-ldap, order is LDAP, then sudoers. Fix --with-ldap-conf-
6233         file and --with-ldap-secret-file
6234         [ea5d7704381f]
6235
6236         * parse.c:
6237         Honor def_ignore_local_sudoers
6238         [f38e1121fae1]
6239
6240 2007-12-31  Todd C. Miller  <Todd.Miller@courtesan.com>
6241
6242         * ldap.c:
6243         no longer need to check def_ignore_local_sudoers here
6244         [fce2a72f96fb]
6245
6246         * parse.c:
6247         Refactor group vector resetting into a function and also call it
6248         from display_cmnd. Stop after the first sucessful match in
6249         display_cmnd. Print a newline between each display_privs method.
6250         [981b37b5adff]
6251
6252         * parse.c:
6253         fix double free introduced in rev 1.218
6254         [c574b02d8747]
6255
6256         * ldap.c:
6257         belt and suspenders; zero out result after freeing it
6258         [7732988d4620]
6259
6260         * env.c, fileops.c, ldap.c, sudo.h, sudo_nss.c:
6261         Refactor line reading into a separate function, sudo_parseln(),
6262         which removes comments, leading/trailing whitespace and newlines.
6263         May want to rethink the use of sudo_parseln() for /etc/ldap.secret
6264         [61d9068f0645]
6265
6266         * parse.c, sudo.c:
6267         Make the inability to read the sudoers file a non-fatal error if
6268         there are other sudoers sources available. sudoers_file_lookup now
6269         returns "not OK" if sudoers was not present
6270         [643babf597a8]
6271
6272         * ldap.c:
6273         make it clear that the global options are from LDAP
6274         [9ff950349463]
6275
6276         * logging.c:
6277         allocate proper amount of space for error string
6278         [8bebb7d46d19]
6279
6280         * sudo_nss.c, sudo_nss.h:
6281         actual sudo nss code
6282         [5bd7d52d7738]
6283
6284         * ldap.c, parse.c, sudo.c, sudo.h:
6285         nss-ify display_privs and display_cmnd.
6286         [cccfdd3253f2]
6287
6288         * defaults.c, parse.c, testsudoers.c, visudo.c:
6289         move update_defaults() to parse.c
6290         [ace144b958a9]
6291
6292         * Makefile.in, ldap.c, list.c, parse.c, parse.h, sudo.c, sudo.h:
6293         Use nsswitch to hide some sudoers vs. ldap implementation details
6294         and reduce the number of #ifdef LDAP TODO: fix display routines and
6295         error handling
6296         [6225edde89a6]
6297
6298 2007-12-28  Todd C. Miller  <Todd.Miller@courtesan.com>
6299
6300         * Makefile.in, README.LDAP, ldap.c, pathnames.h.in, sudo.c, sudo.h:
6301         First cut at nsswitch.conf support. Further reorganizaton and
6302         related changes are forthcoming.
6303         [717f59d0790b]
6304
6305 2007-12-21  Todd C. Miller  <Todd.Miller@courtesan.com>
6306
6307         * env.c, pathnames.h.in, sudo.c, sudo.h:
6308         Add support for reading and /etc/environment file. Still needs to
6309         be documented and should probably only applies to OSes that have it
6310         (AIX and Linux, maybe others).
6311         [15d3edae27e4]
6312
6313         * ldap.c:
6314         include limits.h
6315         [e19875ef0f82]
6316
6317 2007-12-20  Todd C. Miller  <Todd.Miller@courtesan.com>
6318
6319         * WHATSNEW:
6320         reword LDAP SASL
6321         [7ec3c4ec31b5]
6322
6323 2007-12-19  Todd C. Miller  <Todd.Miller@courtesan.com>
6324
6325         * TODO:
6326         sync
6327         [87c5a7aea7bf]
6328
6329         * README.LDAP:
6330         Add an example sudoRole, clarify netscape vs. openldap a bit more
6331         [6f96c0ca8107]
6332
6333         * README.LDAP:
6334         Be clear on what is OpenLDAP vs. Netscape-derived
6335         [a33c8314dec5]
6336
6337         * config.h.in, configure, configure.in, ldap.c:
6338         Use ldapssl_init() for ldaps support instead of trying to do it
6339         manually with ldap_init() + ldapssl_install_routines(). Use tls_cert
6340         and tls_key for cert7.db and key3.db respectively. Don't print
6341         debugging info for options that are not set. Add warning if
6342         start_tls specified when not supported.
6343         [abb62dc7e4a3]
6344
6345         * ldap.c:
6346         fix compilation on solaris
6347         [03d449684e80]
6348
6349         * Makefile.in:
6350         add missing .h and .c files for missing lib objs
6351         [8b37825bdfc7]
6352
6353 2007-12-18  Todd C. Miller  <Todd.Miller@courtesan.com>
6354
6355         * ldap.c:
6356         fix LDAP_OPT_NETWORK_TIMEOUT setting
6357         [226eba89c0ad]
6358
6359         * ldap.c:
6360         fix compilation on Solaris
6361         [917d47639eb6]
6362
6363 2007-12-17  Todd C. Miller  <Todd.Miller@courtesan.com>
6364
6365         * configure, configure.in:
6366         fix typo
6367         [009d5c81b225]
6368
6369         * README.LDAP:
6370         try to clear up which variables are for OpenLDAP and which are for
6371         netscape-derived SDKs
6372         [f8d9823ee73c]
6373
6374         * config.h.in, configure, configure.in, ldap.c:
6375         Add support for "ssl on" in both netscape and openldap flavors. Only
6376         the OpenLDAP flavor has been tested.
6377         [952745829ec5]
6378
6379         * logging.c, sudo.c, sudo.h:
6380         Call cleanup() before exit in log_error() instead of calling
6381         sudo_ldap_close() directly. ldap_conn can now be static to sudo.c
6382         [da02d1b67a2c]
6383
6384         * sudo.c:
6385         ld -> ldap_conn
6386         [01afa6d927cc]
6387
6388 2007-12-16  Todd C. Miller  <Todd.Miller@courtesan.com>
6389
6390         * logging.c, sudo.c, sudo.h:
6391         Better ldap cleanup.
6392         [25b9abe2d617]
6393
6394         * ldap.c:
6395         Distinguish between LDAP conf settings that are connection-specific
6396         (which take an ld pointer) and those that are default settings
6397         (which do not).
6398         [d48dc6c9c3b4]
6399
6400 2007-12-14  Todd C. Miller  <Todd.Miller@courtesan.com>
6401
6402         * ldap.c:
6403         Improved warnings on error.
6404         [c8dce7b4feb4]
6405
6406         * ldap.c:
6407         Make ldap config table driven and set the config *after* we open the
6408         connection.
6409         [d9698b5a2681]
6410
6411 2007-12-13  Todd C. Miller  <Todd.Miller@courtesan.com>
6412
6413         * ldap.c:
6414         fix LDAP_OPT_X_CONNECT_TIMEOUT compat define
6415         [598c6df06660]
6416
6417         * configure, configure.in:
6418         some operating systems need to link with -lkrb5support when using
6419         krb5
6420         [8896365dde9e]
6421
6422 2007-12-10  Todd C. Miller  <Todd.Miller@courtesan.com>
6423
6424         * WHATSNEW:
6425         minor update
6426         [acfeeb7f4886]
6427
6428         * sudo.cat, sudo.man.in, sudoers.cat, sudoers.man.in:
6429         regen
6430         [a3c6699674f9]
6431
6432 2007-12-08  Todd C. Miller  <Todd.Miller@courtesan.com>
6433
6434         * ChangeLog, TODO:
6435         sync
6436         [138e99b925ee]
6437
6438         * ldap.c, schema.OpenLDAP, schema.iPlanet, sudoers2ldif:
6439         add -g support for LDAP
6440         [8fc27dbe9287]
6441
6442 2007-12-03  Todd C. Miller  <Todd.Miller@courtesan.com>
6443
6444         * WHATSNEW, sudo.c, sudo.pod, sudo_usage.h.in:
6445         The -i and -s flags can now take an optional command.
6446         [6afec104ee77]
6447
6448 2007-12-02  Todd C. Miller  <Todd.Miller@courtesan.com>
6449
6450         * auth/pam.c, def_data.c, def_data.h, def_data.in, sudo.c, sudo.pod,
6451         sudoers.pod:
6452         Add passprompt_override flag to sudoers that will cause the prompt
6453         to be overridden in all cases. This flag is also set when the user
6454         specifies the -p flag.
6455         [e4c5402131a6]
6456
6457         * sudo.c:
6458         Move setting of login class until after sudoers has been parsed. Set
6459         NewArgv[0] for -i after runas_pw has been set.
6460         [62a48c8c56fa]
6461
6462         * configure, configure.in:
6463         Move the dgettext check.
6464         [5fd8a4712d1c]
6465
6466 2007-12-01  Todd C. Miller  <Todd.Miller@courtesan.com>
6467
6468         * auth/pam.c, config.h.in, configure, configure.in:
6469         Add basic support for looking up the string "Password: " in the PAM
6470         localized text db. This allows us to determine whether the PAM
6471         prompt is the default "Password: " one even if it has been
6472         localized.
6473
6474         TODO: concatenate non-std PAM prompts and user-specified sudo
6475         prompts.
6476         [81c25a415d41]
6477
6478 2007-11-27  Todd C. Miller  <Todd.Miller@courtesan.com>
6479
6480         * Makefile.in, config.h.in, configure, configure.in, parse.c,
6481         set_perms.c, sudo.c, sudo.h:
6482         Use AC_FUNC_GETGROUPS instead of a home-grown attempt that was
6483         insufficient.
6484         [1cce6ec1a91e]
6485
6486         * acsite.m4, configure, interfaces.c, memrchr.c:
6487         Fix typos; Martynas Venckus
6488         [be1233cca11a]
6489
6490 2007-11-26  Todd C. Miller  <Todd.Miller@courtesan.com>
6491
6492         * set_perms.c:
6493         Don't assume runas_pw is set; it may not be in the -g case.
6494         [aa11bd2193ac]
6495
6496 2007-11-25  Todd C. Miller  <Todd.Miller@courtesan.com>
6497
6498         * logging.c, set_perms.c:
6499         Set aux group vector for PERM_RUNAS and restore group vector for
6500         PERM_ROOT if we previously changed it. Stash the runas group vector
6501         so we don't have to call initgroups more than once. Also add no-op
6502         check to check_perms.
6503         [53837fc755f7]
6504
6505 2007-11-21  Todd C. Miller  <Todd.Miller@courtesan.com>
6506
6507         * WHATSNEW, check.c, def_data.in, defaults.c, gram.c, gram.h, gram.y,
6508         ldap.c, logging.c, match.c, mon_systrace.c, parse.c, parse.h,
6509         pwutil.c, set_perms.c, sudo.c, sudo.cat, sudo.h, sudo.man.in,
6510         sudo.pod, sudo_usage.h.in, sudoers.cat, sudoers.man.in, sudoers.pod,
6511         testsudoers.c, visudo.c, visudo.cat, visudo.man.in:
6512         Add support for runas groups. This allows the user to run a command
6513         with a different effective group. If the -g option is specified
6514         without -u the command will be run as the current user (only the
6515         group will change). the -g and -u options may be used together.
6516         TODO: implement runas group for ldap improve runas group
6517         documentation add testsudoers support
6518         [9019309df6d0]
6519
6520         * configure, configure.in:
6521         fix setting of mandir
6522         [2c60f269399f]
6523
6524         * sudo.pod, sudoers.pod:
6525         document that ALL implies SETENV
6526         [bcc8e5b703b9]
6527
6528         * ldap.c:
6529         s/setenv_ok/setenv_implied/g
6530         [f005df2c2eea]
6531
6532         * ldap.c:
6533         hostname_matches() returns TRUE on match in sudo 1.7.
6534         [c3d4377b6e8b]
6535
6536         * ldap.c:
6537         use strcmp, not strcasecmp when comparing ALL
6538         [e486024574a1]
6539
6540         * ldap.c:
6541         Make sudo ALL imply setenv. Note that unlike with file-based
6542         sudoers this does affect all the commands in the sudoRole.
6543         [bc12f54321d1]
6544
6545         * gram.c, gram.y, parse.c, parse.h:
6546         sudo "ALL" now implies the SETENV tag but, unlike an explicit tag,
6547         it is not passed on to other commands in the list.
6548         [026e2cb40680]
6549
6550         * visudo.c:
6551         Add missing sudo_setpwent() and sudo_setgrent() calls. Also use
6552         sudo_getpwuid() instead of getpwuid().
6553         [86f30a8fbd49]
6554
6555 2007-11-15  Todd C. Miller  <Todd.Miller@courtesan.com>
6556
6557         * sudoers:
6558         Expand on the dangers of not using visudo to edit sudoers.
6559         [e434e8057d02]
6560
6561 2007-11-08  Todd C. Miller  <Todd.Miller@courtesan.com>
6562
6563         * parse.c:
6564         Don't quote *?[]! on output since the lexer does not strip off the
6565         backslash when reading those in.
6566         [561da4a13afa]
6567
6568 2007-11-07  Todd C. Miller  <Todd.Miller@courtesan.com>
6569
6570         * glob.c:
6571         expand "u_foo" types to "unsigned foo" to avoid compatibility
6572         issues.
6573         [b0d7c64d78c3]
6574
6575 2007-11-04  Todd C. Miller  <Todd.Miller@courtesan.com>
6576
6577         * logging.c:
6578         Refactor log line generation in to new_logline().
6579         [6a9b9730615d]
6580
6581 2007-10-25  Todd C. Miller  <Todd.Miller@courtesan.com>
6582
6583         * TROUBLESHOOTING:
6584         fix typo
6585         [9e19d4f86e47]
6586
6587 2007-10-24  Todd C. Miller  <Todd.Miller@courtesan.com>
6588
6589         * config.h.in, configure, configure.in, interfaces.c, interfaces.h,
6590         match.c:
6591         Add configure check for struct in6_addr instead of relying on
6592         AF_INET6 since some systems define AF_INET6 but do not include IPv6
6593         support.
6594         [e24082c416bd]
6595
6596 2007-10-21  Todd C. Miller  <Todd.Miller@courtesan.com>
6597
6598         * configure, configure.in:
6599         Fix block to add -lutil for FreeBSD and NetBSD when logincap is in
6600         use.
6601         [76a9df4a63be]
6602
6603 2007-10-20  Todd C. Miller  <Todd.Miller@courtesan.com>
6604
6605         * configure, configure.in:
6606         POSIX states that struct timespec be declared in time.h so check
6607         there regardless of the value of TIME_WITH_SYS_TIME.
6608         [e42c55ec9daf]
6609
6610 2007-10-17  Todd C. Miller  <Todd.Miller@courtesan.com>
6611
6612         * tgetpass.c:
6613         Instead of defining a macro to call the appropriate method for
6614         turning on/off echo, just define tc[gs]etattr() and the related
6615         defines that use the correct terminal ioctls if needed. Also go back
6616         to using TCSAFLUSH instead of TCSADRAIN on all but QNX.
6617         [5dfb2379d995]
6618
6619 2007-10-09  Todd C. Miller  <Todd.Miller@courtesan.com>
6620
6621         * Makefile.in:
6622         g/c @ALLOCA@
6623         [e6946c2e3820]
6624
6625         * configure:
6626         regen
6627         [9bac7159a138]
6628
6629         * INSTALL, auth/pam.c, config.h.in, configure.in:
6630         Add --disable-pam-session configure option to disable calling
6631         pam_{open,close}_session. May work around bugs in some PAM
6632         implementations.
6633         [273d0fdb4a9d]
6634
6635 2007-10-08  Todd C. Miller  <Todd.Miller@courtesan.com>
6636
6637         * tgetpass.c:
6638         quiet gcc warnings
6639         [325565c5a579]
6640
6641         * tgetpass.c:
6642         Avoid printing the prompt if we are already backgrounded. E.g. if
6643         the user runs "sudo foo &" from the shell. In this case, the call
6644         to tcsetattr() will cause SIGTTOU to be delivered.
6645         [db2139a8d8b8]
6646
6647 2007-09-15  Todd C. Miller  <Todd.Miller@courtesan.com>
6648
6649         * def_data.c, def_data.h, def_data.in:
6650         Reorder things such that the definition of env_reset come right
6651         before the env variable lists.
6652         [e0d8e22a581a]
6653
6654         * parse.h:
6655         Shrink type and seqno in struct alias from int to u_short
6656         [9425263dd565]
6657
6658         * alias.c, match.c, parse.c, parse.h:
6659         Add a sequence number in the aliases for loop detection. If we find
6660         an alias with the seqno already set to the current (global) value we
6661         know we've visited it before so ignore it.
6662         [301a0548ffff]
6663
6664 2007-09-13  Todd C. Miller  <Todd.Miller@courtesan.com>
6665
6666         * TODO, auth/pam.c, sudo.c, sudo.h:
6667         PAM wants the full tty path so add user_ttypath which holds the full
6668         path to the tty or is NULL if no tty was present.
6669         [c7c1dd4b36c8]
6670
6671         * auth/pam.c:
6672         Set PAM_RHOST to work around a bug in Solaris 7 and lower that
6673         results in a segv.
6674         [3a8865b3a357]
6675
6676 2007-09-11  Todd C. Miller  <Todd.Miller@courtesan.com>
6677
6678         * gram.c:
6679         regen
6680         [5647be127950]
6681
6682         * alias.c, defaults.c, gram.y, list.c, list.h, match.c, parse.c,
6683         parse.h, testsudoers.c, visudo.c:
6684         rename lh_ -> tq_
6685         [8f500c542c4a]
6686
6687 2007-09-10  Todd C. Miller  <Todd.Miller@courtesan.com>
6688
6689         * alloc.c:
6690         remove some useless casts
6691         [409a448b23f5]
6692
6693         * alloc.c:
6694         pull in inttypes.h for SIZE_MAX; we avoid stdint.h since inttypes.h
6695         predates the final C99 spec and the standard specifies that it shall
6696         include stdint.h anyway
6697         [ae478fdef61a]
6698
6699 2007-09-06  Todd C. Miller  <Todd.Miller@courtesan.com>
6700
6701         * Makefile.in, alloca.c, configure.in:
6702         Since we ship with a pre-generated parser there is no need to ship a
6703         bogus alloca implementation.
6704         [3f611a7cc0e5]
6705
6706         * configure:
6707         regen
6708         [771eccf5269c]
6709
6710         * configure.in:
6711         remove initial setting of CHECKSIA, we require that it be unset if
6712         not used
6713         [a2e91adc5aa2]
6714
6715         * Makefile.in:
6716         add list.c to SRCS
6717         [7db0e56cf5b9]
6718
6719         * configure:
6720         regen
6721         [3716ec30172e]
6722
6723         * configure.in:
6724         only do SIA checks on Digital Unix
6725         [6a96e1af2597]
6726
6727 2007-09-05  Todd C. Miller  <Todd.Miller@courtesan.com>
6728
6729         * sudoers.cat, sudoers.man.in:
6730         regen
6731         [ac1dc29de72b]
6732
6733         * ChangeLog, TODO:
6734         sync
6735         [781effce0a2d]
6736
6737         * auth/kerb5.c:
6738         Remove call to krb5_cc_register() as it is not needed for modern
6739         kerb5.
6740         [351b8b764f16]
6741
6742         * configure:
6743         regen
6744         [ac21dbcc9c2c]
6745
6746         * aclocal.m4, configure.in:
6747         New method for setting the default authentication type and avoiding
6748         conflicts in auth types.
6749         [5fb15be11f78]
6750
6751         * match.c, parse.c, testsudoers.c:
6752         Each entry in a cmndlist now has an associated runaslist so no need
6753         to keep track of the most recent non-NULL one.
6754         [582e015786b0]
6755
6756 2007-09-04  Todd C. Miller  <Todd.Miller@courtesan.com>
6757
6758         * ldap.c:
6759         back out partial ldaps support mistakenly committed
6760         [357703e94b2d]
6761
6762         * ldap.c:
6763         Add support for unix groups and netgroups in sudoRunas
6764         [2f04eb91c6d0]
6765
6766 2007-09-03  Todd C. Miller  <Todd.Miller@courtesan.com>
6767
6768         * sudo_edit.c:
6769         Fix sudoedit of a non-existent file. From Tilo Stritzky.
6770         [a5488a03bddd]
6771
6772 2007-09-02  Todd C. Miller  <Todd.Miller@courtesan.com>
6773
6774         * configure:
6775         regen
6776         [541177376ee1]
6777
6778         * INSTALL:
6779         update --passprompt escape info
6780         [6d57db4cd538]
6781
6782         * configure.in:
6783         remove now-bogus comment and update copyright date
6784         [6a4af45fa331]
6785
6786         * configure.in:
6787         Fix up use of with_passwd
6788         [7c79d8640f77]
6789
6790         * acsite.m4, config.guess, config.sub, configure.in, ltmain.sh:
6791         Update to autoconf-2.61 andf libtool-1.5.24
6792         [045259b0b439]
6793
6794         * Makefile.in:
6795         "cmp -s" not just cmp Add @datarootdir@ to quiet autoconf-2.61
6796         [f5b6a7afb817]
6797
6798 2007-09-01  Todd C. Miller  <Todd.Miller@courtesan.com>
6799
6800         * gram.c:
6801         regen
6802         [b5b78e71d2cb]
6803
6804         * gram.y:
6805         move tags and runaslist propagation to be earlier
6806         [94f7805f4489]
6807
6808         * visudo.c:
6809         If -f flag given use the permissions of the original file as a
6810         template
6811         [9303d22bddb0]
6812
6813         * gram.y:
6814         prevent a double free() when re-initing the parser
6815         [5b3907c4de5a]
6816
6817 2007-08-31  Todd C. Miller  <Todd.Miller@courtesan.com>
6818
6819         * configure:
6820         regen
6821         [49a90b19a17d]
6822
6823         * aclocal.m4, alias.c, alloc.c, auth/API, auth/afs.c, auth/bsdauth.c,
6824         auth/kerb4.c, auth/kerb5.c, auth/pam.c, auth/securid.c,
6825         auth/securid5.c, auth/sia.c, auth/sudo_auth.h, config.h.in,
6826         configure.in, env.c, ldap.c, list.c, list.h, memrchr.c, parse.c,
6827         parse.h, pwutil.c, redblack.c, redblack.h, snprintf.c, sudo.c,
6828         sudo.h, testsudoers.c, visudo.c, zero_bytes.c:
6829         Remove support for compilers that don't support void *
6830         [35e1d01ae197]
6831
6832         * gram.c:
6833         regen
6834         [70ce412a458a]
6835
6836         * Makefile.in, alias.c, defaults.c, gram.y, list.c, list.h, match.c,
6837         parse.c, parse.h, testsudoers.c, visudo.c:
6838         Move list manipulation macros to list.h and create C versions of the
6839         more complex ones in list.c. The names have been down-cased so they
6840         appear more like normal functions.
6841         [9cea0e281148]
6842
6843         * Makefile.in:
6844         Fix cmp command when regenerating parser. Make gram.o the first
6845         dependency for all programs so gram.h will be generated before
6846         anything that needs it.
6847         [429ea065abf1]
6848
6849         * gram.y, parse.h:
6850         Convert NEW_DEFAULT anf NEW_MEMBER into static functions.
6851         [2f3433833589]
6852
6853         * match.c, parse.c, testsudoers.c:
6854         Use LH_FOREACH_REV when checking permission and short-circuit on the
6855         first non-UNSPEC hit we get for the command. This means that
6856         instead of cycling through the all the parsed sudoers entries we
6857         start at the end and work backwards and quit after the first
6858         positive or negative match.
6859         [881474532f3e]
6860
6861         * gram.c:
6862         regen
6863         [9152a19d4188]
6864
6865         * defaults.c, gram.y, parse.c, parse.h, testsudoers.c, visudo.c:
6866         Change list head macros to take a pointer, not a struct.
6867         [054f1dcce4cc]
6868
6869         * gram.c:
6870         regen
6871         [be154aae6235]
6872
6873         * gram.y:
6874         Propagate the runasspec from one command to the next in a cmndspec.
6875         [4957b1cb03a3]
6876
6877 2007-08-30  Todd C. Miller  <Todd.Miller@courtesan.com>
6878
6879         * match.c:
6880         Replace has_meta() with a macro that calls strpbrk().
6881         [a2e58846a542]
6882
6883         * regen
6884         [5a932a5c9451]
6885
6886         * alias.c, defaults.c, gram.y, match.c, parse.c, parse.h,
6887         testsudoers.c, visudo.c:
6888         Use a list head struct when storing the semi-circular lists and
6889         convert to tail queues in the process. This will allow us to
6890         reverse foreach loops more easily and it makes it clearer which
6891         functions expect a list as opposed to a single member.
6892
6893         Add macros for manipulating lists. Some of these should become
6894         functions.
6895
6896         When freeing up a list, just pop off the last item in the queue
6897         instead of going from head to tail. This is simpler since we don't
6898         have to stash a pointer to the next member, we always just use the
6899         last one in the queue until the queue is empty.
6900
6901         Rename match functions that take a list to have list in the name.
6902         Break cmnd_matches() into cmnd_matches() and cmndlist_matches.
6903         [7c37b271607a]
6904
6905         * parse.c:
6906         Fix pasto, append "!" not negated (which is an int) for sudo -l
6907         output.
6908         [93a444c3997f]
6909
6910         * Makefile.in:
6911         Remove the dependency of gram .h on gram.y, the .c dependency is
6912         enough. Only move y.tab.h to gram.h if it is different; avoids
6913         needless rebuilding.
6914         [67bf4ea2a2e5]
6915
6916 2007-08-27  Todd C. Miller  <Todd.Miller@courtesan.com>
6917
6918         * sudoers.pod:
6919         Defaults lines may be associated with lists of users, hosts,
6920         commands and runas users, not just single entries.
6921         [795effacb6be]
6922
6923 2007-08-26  Todd C. Miller  <Todd.Miller@courtesan.com>
6924
6925         * Makefile.in:
6926         Revert the "cmp" portion of the last diff, it doesn't make sense.
6927         [26f34bf4e2e3]
6928
6929         * Makefile.in:
6930         Remove *.lo for clean: When generating the parser, only move the
6931         generated files into place if they differ from the existing ones.
6932         [84673fea371b]
6933
6934 2007-08-25  Todd C. Miller  <Todd.Miller@courtesan.com>
6935
6936         * toke.c, toke.l:
6937         Replace IPV6 regexp with a much simpler (readable) one and add an
6938         extra check when it matches to make sure we have a valid address.
6939         [592e9f690556]
6940
6941         * match.c:
6942         Fix thinko introduced when merging IPV6 support.
6943         [da38cd5eb8c7]
6944
6945 2007-08-24  Todd C. Miller  <Todd.Miller@courtesan.com>
6946
6947         * HISTORY, LICENSE:
6948         regen
6949         [0d7b27b90634]
6950
6951         * license.pod:
6952         add 2007
6953         [510e5048ae1a]
6954
6955         * UPGRADE:
6956         mention #uid vs. comment pitfall
6957         [4d2861898bcc]
6958
6959         * acsite.m4:
6960         Merge in a patch from the libtool cvs that fixes a problem with the
6961         latest autoconf. From Stepan Kasal.
6962         [0c279ae7df3e]
6963
6964         * parse.h:
6965         Back out he XOR swap trick, it is slower than a temp variable on
6966         modern CPUs.
6967         [91c4b024e317]
6968
6969         * gram.c:
6970         regen
6971         [cb6d4106fb74]
6972
6973         * gram.y, parse.h:
6974         Convert the tail queue to a semi-circle queue and use the XOR swap
6975         trick to swap the prev pointers during append.
6976         [8bf4d9fbee58]
6977
6978 2007-08-23  Todd C. Miller  <Todd.Miller@courtesan.com>
6979
6980         * parse.h:
6981         remove useless statement
6982         [421ec1dd73e6]
6983
6984         * toke.c, toke.l:
6985         Refactor #include parsing into a separate function and return
6986         unparsed chars (such as newline or comment) back to the lexer.
6987         [64166917aa3d]
6988
6989 2007-08-22  Todd C. Miller  <Todd.Miller@courtesan.com>
6990
6991         * WHATSNEW:
6992         mention better uid support
6993         [56f510e7f2ec]
6994
6995         * sudoers.pod:
6996         Users may now consist of a uid.
6997         [5fd31b2c55ed]
6998
6999         * gram.c, gram.h, toke.c:
7000         regen
7001         [599e58af6dc1]
7002
7003         * parse.c:
7004         Use lbuf_append_quoted() for sudo -l output to quote characters that
7005         would require quoting in sudoers.
7006         [3132d05c990a]
7007
7008         * lbuf.c, lbuf.h:
7009         Add lbuf_append_quoted() which takes a set of characters which
7010         should be quoted with a backslash when displayed.
7011         [ab09bebb1d65]
7012
7013         * toke.l:
7014         Require that the first character after a comment not be a digit or a
7015         dash. This allows us to remove the GOTRUNAS state and treat
7016         uid/gids similar to other words. It also means that we can now
7017         specify uids in User_Lists and a User_Spec may now contain a uid.
7018         [461fe01f8392]
7019
7020         * gram.y, toke.l:
7021         Replace RUNAS token with '(' and ')' tokens to make the runas
7022         portion of the grammar more natural.
7023         [e0c383b4684d]
7024
7025         * BUGS:
7026         The BUGS file is history
7027         [4d9a809585c7]
7028
7029         * Makefile.in, README:
7030         The BUGS file is history
7031         [d9500e261172]
7032
7033 2007-08-21  Todd C. Miller  <Todd.Miller@courtesan.com>
7034
7035         * toke.c, toke.l:
7036         Allow comments after a RunasAlias as long as the character after the
7037         pound sign isn't a digit or a dash.
7038         [d7f3bd94eeda]
7039
7040         * WHATSNEW:
7041         Glob support was back-ported to 1.6.9
7042         [d1d5cfd46228]
7043
7044 2007-08-20  Todd C. Miller  <Todd.Miller@courtesan.com>
7045
7046         * Makefile.in:
7047         remove sudo_usage.h in distclean
7048         [df05ce9c4127]
7049
7050         * parse.c:
7051         If a Defaults value contains a blank, double-quote the string.
7052         [9057a910daad]
7053
7054         * toke.c, toke.l:
7055         Properly deal with Defaults double-quoted strings that span multiple
7056         lines using the line continuation char. Previously, the entire
7057         thing, including the continuation char, newline, and spaces was
7058         stored as-is.
7059         [4a4e8eacefe6]
7060
7061         * sudo.c:
7062         Be consistent when using single quotes and backticks.
7063         [d010b83a0fa1]
7064
7065 2007-08-19  Todd C. Miller  <Todd.Miller@courtesan.com>
7066
7067         * Makefile.in, configure, configure.in, lbuf.c, lbuf.h, parse.c,
7068         sudo.c, sudo_usage.h.in:
7069         Add new linebuf code to do appends of dynamically allocated strings
7070         and word-wrapped output. Currently used for sudo's usage() and sudo
7071         -l output. Sudo usage strings are now in sudo_usage.h which is
7072         generated at configure time.
7073         [4dfd0ee8d961]
7074
7075 2007-08-18  Todd C. Miller  <Todd.Miller@courtesan.com>
7076
7077         * parse.c, sudo.c, sudo.h:
7078         Fix line wrapping in usage() and use the actual tty width instead of
7079         assuming 80.
7080         [700eab37c5a6]
7081
7082 2007-08-17  Todd C. Miller  <Todd.Miller@courtesan.com>
7083
7084         * history.pod:
7085         some more info
7086         [8140112a8ae1]
7087
7088         * history.pod:
7089         Mentioned Chris Jepeway's parser and also the new one that is in
7090         sudo 1.7.
7091         [2132d00f0597]
7092
7093 2007-08-16  Todd C. Miller  <Todd.Miller@courtesan.com>
7094
7095         * sudo.pod, visudo.pod:
7096         For the options list, add flag args where appropriate and increase
7097         the indent level so there is room for them.
7098         [2b60fb572e12]
7099
7100 2007-08-15  Todd C. Miller  <Todd.Miller@courtesan.com>
7101
7102         * parse.c:
7103         Fix some spacing in "sudo -l" and add a comment about some bogosity
7104         in the line wrapping.
7105         [b59b056f5ee2]
7106
7107         * sudo.cat, sudo.man.in, sudoers.cat, sudoers.man.in, visudo.cat,
7108         visudo.man.in:
7109         regen
7110         [5fb719f18ebc]
7111
7112         * INSTALL, Makefile.in, WHATSNEW, config.h.in, configure.in,
7113         def_data.c, def_data.h, def_data.in, gram.c, gram.h, gram.y,
7114         parse.c, parse.h, pathnames.h.in, sudo.c, sudo.h, sudoers.pod,
7115         testsudoers.c, toke.c, toke.l:
7116         Remove monitor support until there is a versino of systrace that
7117         uses a lookaside buffer (or we have a better mechanism to use).
7118         [61ff76878e4a]
7119
7120         * config.h.in, configure, configure.in, sudo.c:
7121         use getaddrinfo() instead of gethostbyname() if it is available
7122         [cc33c136aa6a]
7123
7124 2007-08-14  Todd C. Miller  <Todd.Miller@courtesan.com>
7125
7126         * parse.c, sudo.c:
7127         Deal with OSes where sizeof(gid_t) < sizeof(int).
7128         [130a89cbdfba]
7129
7130         * interfaces.c:
7131         repair non-getifaddrs() code after ipv6 integration
7132         [7ae7a89e2236]
7133
7134         * sudo.c:
7135         If we can open sudoers but fail to read the first byte, close the
7136         file stream before trying again.
7137         [6f31272fae7b]
7138
7139 2007-08-13  Todd C. Miller  <Todd.Miller@courtesan.com>
7140
7141         * toke.c:
7142         regen
7143         [4d7afe0aa6fa]
7144
7145         * gram.y, interfaces.c, interfaces.h, match.c, sudoers.pod, toke.l:
7146         Add IPv6 support; adapted from patches by YOSHIFUJI Hideaki
7147         [4e6ff2965a42]
7148
7149         * sudo.pod, sudoers.pod, visudo.pod:
7150         Add some missing markup Update copyright
7151         [7e6d3c686b5e]
7152
7153 2007-08-12  Todd C. Miller  <Todd.Miller@courtesan.com>
7154
7155         * configure, configure.in:
7156         fix sudo_noexec extension which got broken in the libtool update
7157         [3a5b447df861]
7158
7159 2007-08-10  Todd C. Miller  <Todd.Miller@courtesan.com>
7160
7161         * Makefile.in:
7162         explicitly specify -Tascii to nroff
7163         [45c8da4cbefe]
7164
7165 2007-08-08  Todd C. Miller  <Todd.Miller@courtesan.com>
7166
7167         * logging.c:
7168         remove an ANSI-ism that crept in
7169         [29086f87b2ca]
7170
7171 2007-08-07  Todd C. Miller  <Todd.Miller@courtesan.com>
7172
7173         * sudo.pod:
7174         Adjust list indents Prevent -- from being turned into an em dash Use
7175         a list for the environment instead of a literal paragraph
7176         [c3abcd8f76f4]
7177
7178         * visudo.pod:
7179         Use a list for the environment instead of an indented literal
7180         paragraph.
7181         [0ffcfcb7349f]
7182
7183         * sudoers.pod:
7184         Adjust list indentation
7185         [615c89e3123a]
7186
7187         * license.pod:
7188         add =head3
7189         [8b2e0d38c0bd]
7190
7191 2007-08-06  Todd C. Miller  <Todd.Miller@courtesan.com>
7192
7193         * sudo.pod:
7194         mention that when specifying a uid for the -u option the shell may
7195         require that the # be escaped
7196         [3e3a17bff150]
7197
7198 2007-08-02  Todd C. Miller  <Todd.Miller@courtesan.com>
7199
7200         * match.c:
7201         Fix off by one in group matching.
7202         [b529602b7fba]
7203
7204 2007-07-31  Todd C. Miller  <Todd.Miller@courtesan.com>
7205
7206         * env.c:
7207         Fix typo: PYTHONINSPEC should be PYTHONINSPECT. From David Krause.
7208         [ffbf8907c6e7]
7209
7210 2007-07-30  Todd C. Miller  <Todd.Miller@courtesan.com>
7211
7212         * configure, configure.in:
7213         Add missing define of HAVE_GSS_KRB5_CCACHE_NAME for the
7214         -lgssapi_krb5 case.
7215         [2b85a89c2252]
7216
7217         * aclocal.m4, configure, configure.in:
7218         Fix link tests such that new gcc doesn't optimize away the test.
7219         [83484ec95cba]
7220
7221 2007-07-29  Todd C. Miller  <Todd.Miller@courtesan.com>
7222
7223         * sudo.pod, sudoers.pod, visudo.pod:
7224         add missing over/back
7225         [251a12c89b91]
7226
7227         * sudo.pod, sudoers.pod, visudo.pod:
7228         Change FILES section to use =item
7229         [60b9efc3a0b2]
7230
7231         * env.c:
7232         Add back allocation of the env struct in rebuild_env but save a copy
7233         of the old pointer and free it before returning.
7234         [1100cd4fa997]
7235
7236         * env.c:
7237         Don't init the private environment in rebuild_env() since it may
7238         have already been done implicitly sudo_setenv/sudo_unsetenv.
7239
7240         Multiply length by sizeof(char *) in memcpy/memmove when copying the
7241         environment so we copy the full thing.
7242
7243         Add missing set of parens so we deref the right pointer in
7244         sudo_unsetenv when searching for a matching variable.
7245         [9086a8f756b1]
7246
7247 2007-07-26  Todd C. Miller  <Todd.Miller@courtesan.com>
7248
7249         * sudo.pod, sudoers.pod, visudo.pod:
7250         Use file markup for paths in the FILES section
7251         [940d99f731f2]
7252
7253         * sudo.pod, sudoers.pod, visudo.pod:
7254         Don't capitalize sudo/visudo
7255         [f067a455d44b]
7256
7257         * sudoers.pod:
7258         Sort sudoers options; based on a diff from Igor Sobrado.
7259         [a9b9befe85ac]
7260
7261 2007-07-25  Todd C. Miller  <Todd.Miller@courtesan.com>
7262
7263         * sudo.pod, sudoers.pod, visudo.pod:
7264         Use 8 and 5 instead of @mansectsu@ and @mansectform@ since the
7265         latter confuses pod2man. The Makefile rules for the .man.in file
7266         will add @mansectsu@ and @mansectform@ back in after pod2man is done
7267         anyway.
7268         [b50ea0db727c]
7269
7270 2007-07-22  Todd C. Miller  <Todd.Miller@courtesan.com>
7271
7272         * LICENSE, Makefile.in, license.pod:
7273         Move license info to pod format
7274         [25bdd82e592b]
7275
7276         * configure, configure.in, sudoers.pod:
7277         Substitute value of path_info into sudoers man page.
7278         [9ba661a82798]
7279
7280         * WHATSNEW:
7281         remove features that were back-ported to 1.6.9
7282         [e76d756cbe65]
7283
7284         * sudo.c, sudo.pod, visudo.c, visudo.pod:
7285         Sort SYNOPSIS and sync usage. From Igor Sobrado.
7286         [4970386c9e54]
7287
7288         * env.c:
7289         Only need sudo_setenv/sudo_unsetenv if we are going to use
7290         ldap_sasl_interactive_bind_s() but don't have
7291         gss_krb5_ccache_name().
7292         [f1a73d8b35c5]
7293
7294         * ChangeLog:
7295         rebuild without branch info
7296         [5d5a33494677]
7297
7298         * Makefile.in:
7299         Add ChangeLog target
7300         [a702034fdd89]
7301
7302         * auth/pam.c:
7303         Run cleanup code if the user hits ^C at the password prompt.
7304         [9cf87768e921]
7305
7306         * auth/pam.c:
7307         Some versions of pam_lastlog have a bug that will cause a crash if
7308         PAM_TTY is not set so if there is no tty, set PAM_TTY to the empty
7309         string.
7310         [5b63f6c88866]
7311
7312 2007-07-20  Todd C. Miller  <Todd.Miller@courtesan.com>
7313
7314         * Makefile.in:
7315         ChageLog not Changelog
7316         [1243d8473ceb]
7317
7318         * ChangeLog:
7319         sync
7320         [d887df98c6b0]
7321
7322         * Makefile.in:
7323         CHANGE -> Changelog
7324         [917738df30dd]
7325
7326         * TODO:
7327         sync
7328         [cd382f7d1948]
7329
7330 2007-07-19  Todd C. Miller  <Todd.Miller@courtesan.com>
7331
7332         * config.h.in, configure, configure.in, ldap.c:
7333         Add configure hooks for gss_krb5_ccache_name() and the gssapi
7334         headers.
7335         [139606209991]
7336
7337 2007-07-18  Todd C. Miller  <Todd.Miller@courtesan.com>
7338
7339         * env.c, sudo.c:
7340         rebuild_env() and insert_env_vars() no longer return environment
7341         pointer, they set environ directly.
7342
7343         No longer need to pass around an envp pointer since we just operate
7344         on environ now.
7345
7346         Add dosync argument to insert_env() that indicates whether it should
7347         reset environ when realloc()ing env.envp.
7348
7349         Use an initial size of 128 for the environment.
7350         [4735fd5fddb8]
7351
7352         * env.c:
7353         Split sudo_setenv() into an external version and a version only for
7354         use by rebuild_env().
7355         [fda7d655adb1]
7356
7357 2007-07-16  Todd C. Miller  <Todd.Miller@courtesan.com>
7358
7359         * ldap.c:
7360         Add support for using gss_krb5_ccache_name() instead of setting
7361         KRB5CCNAME. Also use sudo_unsetenv() in the non-
7362         gss_krb5_ccache_name() case if there was no KRB5CCNAME in the
7363         original environment. TODO: configure setup for
7364         gss_krb5_ccache_name()
7365         [fcafa5a49caf]
7366
7367         * README.LDAP:
7368         add krb5_ccname
7369         [fceb8f883886]
7370
7371         * README.LDAP, ldap.c:
7372         Add support for sasl_secprops in ldap.conf
7373         [1f06f4bf7347]
7374
7375         * env.c, sudo.h:
7376         Add sudo_unsetenv() and refactor private env syncing code into
7377         sync_env().
7378         [045ecb3fd22b]
7379
7380         * README.LDAP, ldap.c:
7381         The ldap.conf variable is sasl_auth_id not sasl_authid.
7382         [a5f98491311b]
7383
7384 2007-07-15  Todd C. Miller  <Todd.Miller@courtesan.com>
7385
7386         * ldap.c, sudo.c, sudo.h:
7387         Add support for krb5_ccname in ldap.conf. If specified, it will
7388         override the default value of KRB5CCNAME in the environment for the
7389         duration of the call to ldap_sasl_interactive_bind_s().
7390         [b08a10c3045b]
7391
7392         * env.c, sudo.h:
7393         Remove format_env() Add sudo_setenv() to replace most format_env() +
7394         insert_env() combinations. insert_env() no longer takes a struct
7395         environment *
7396         [131da52f43f3]
7397
7398         * ldap.c:
7399         Fix use_sasl vs. rootuse_sasl logic.
7400         [0c0417b6918c]
7401
7402         * README.LDAP, config.h.in, configure, configure.in, ldap.c:
7403         Add support for SASL auth when connecting to an LDAP server. Adapted
7404         from a diff by Tom McLaughlin.
7405         [a6285f1356ea]
7406
7407 2007-07-14  Todd C. Miller  <Todd.Miller@courtesan.com>
7408
7409         * configure, configure.in:
7410         Only enable AIX or BSD auth if no other exclusive auth method has
7411         been chosen. Allows people to e.g., use PAM on AIX without adding
7412         --without-aixauth. A better solution is needed to deal with default
7413         authentication since if a non-exclusive method is chosen we will
7414         still get an error.
7415         [83f7afdc0ec3]
7416
7417 2007-07-11  Todd C. Miller  <Todd.Miller@courtesan.com>
7418
7419         * HISTORY, Makefile.in, history.pod:
7420         Generate HISTORY from history.pod (which is also used for web pages)
7421         [60bcd5164931]
7422
7423 2007-07-09  Todd C. Miller  <Todd.Miller@courtesan.com>
7424
7425         * sudo.man.in, sudoers.man.in:
7426         regen
7427         [63956a366191]
7428
7429         * sudo.pod:
7430         Better explanation of environment handling in the sudo man page.
7431         [6c247742f7ee]
7432
7433         * env.c, sudo.c:
7434         Defer setting user-specified env vars until after authentication.
7435         [4750b79323ee]
7436
7437         * env.c:
7438         honor def_default_path for PATH set on the command line
7439         [6db31d9b6d65]
7440
7441         * env.c, sudo.c, sudo.pod, sudoers.pod:
7442         Allow user to set environment variables on the command line as long
7443         as they are allowed by env_keep and env_check. Ie: apply the same
7444         restrictions as normal environment variables. TODO: deal with
7445         secure_path
7446         [26c0da3840cf]
7447
7448 2007-07-08  Todd C. Miller  <Todd.Miller@courtesan.com>
7449
7450         * sudo.c, sudo_edit.c:
7451         Call rebuild_env() in call cases. Pass original envp to sudo_edit().
7452         Don't allow -E or env var setting in sudoedit mode. More accurate
7453         usage() when called as sudoedit.
7454         [a4af20658361]
7455
7456         * ldap.c:
7457         warn -> warning
7458         [d87d1192b048]
7459
7460         * sudo.pod:
7461         add -c option to sudoedit synopsis
7462         [15b596a7e2db]
7463
7464         * TODO:
7465         udpate to reality
7466         [e2f8fde89db1]
7467
7468         * parse.c:
7469         Use ALLOW/DENY instead of TRUE/FALSE when dealing with the return
7470         value from {user,host,runas,cmnd}_matches(). Rename *matches
7471         variables -> *match. Purely cosmetic.
7472         [e54a44c00a88]
7473
7474         * parse.c:
7475         Move setting of FLAG_NO_CHECK into the if(pwflag) block. No change
7476         in behavior.
7477         [c6272b4f2127]
7478
7479         * sudoers:
7480         add SETENV tag
7481         [3a3066bb6788]
7482
7483 2007-07-06  Todd C. Miller  <Todd.Miller@courtesan.com>
7484
7485         * parse.c:
7486         Make pwcheck local to the pwflag block. Use pwcheck even if user
7487         didn't match since Defaults options may still apply.
7488         [45da9efbbafd]
7489
7490         * check.c, sudo.c:
7491         Do not update timestamp if user not validated by sudoers.
7492         [a4a9d4364827]
7493
7494         * set_perms.c:
7495         for PERM_RUNAS, set the egid to the runas user's gid and restore to
7496         the user's original in PERM_ROOT
7497         [1514bfb32847]
7498
7499         * logging.c, mon_systrace.c, set_perms.c, sudo.h:
7500         PERM_FULL_ROOT is now no different than PERM_ROOT so remove
7501         PERM_FULL_ROOT
7502         [b9d047a3178c]
7503
7504         * check.c:
7505         don't check timestamp mtime if we are just going to remove it
7506         [5d2470bc6cbd]
7507
7508         * sudoers.pod:
7509         Move sudoers defaults parameters into their own section.
7510         [54701fbc0ff3]
7511
7512         * testsudoers.c:
7513         Reduce a level of indent by a few placed continue statements.
7514         [5d5a9838c8ef]
7515
7516         * parse.c:
7517         Make matching but negated commands/hosts/runas entries override a
7518         previous match as expected. Also reduce some levels of indent by a
7519         few placed continue statements.
7520         [dd59fa4b91a1]
7521
7522 2007-07-05  Todd C. Miller  <Todd.Miller@courtesan.com>
7523
7524         * parse.c:
7525         Print default runas in "sudo -l" if sudoers don't specify one.
7526         [07d408c400bd]
7527
7528         * match.c:
7529         Less hacky way of testing whether the domain was set.
7530         [a537059776e5]
7531
7532 2007-07-04  Todd C. Miller  <Todd.Miller@courtesan.com>
7533
7534         * INSTALL:
7535         Mention pam-devel and openldap-devel for Linux
7536         [9e708c54ecc3]
7537
7538 2007-07-03  Todd C. Miller  <Todd.Miller@courtesan.com>
7539
7540         * README.LDAP:
7541         or vs. are
7542         [abe8c0f3a410]
7543
7544 2007-07-01  Todd C. Miller  <Todd.Miller@courtesan.com>
7545
7546         * sudo.c:
7547         fix typo in Solaris project support
7548         [2ffeb2d80959]
7549
7550         * HISTORY:
7551         update
7552         [df162b36f120]
7553
7554         * sudo.c:
7555         Make -- on the command line match the manual page. The implied shell
7556         case has been simplified as a result.
7557         [cd217a1f6694]
7558
7559 2007-06-28  Todd C. Miller  <Todd.Miller@courtesan.com>
7560
7561         * sudoers2ldif:
7562         add simplistic support for sudoRunas; note that if a sudoers entry
7563         contains multiple Runas users, all will apply to the sudoRole
7564         [65b11421f5c8]
7565
7566         * sudoers2ldif:
7567         honor SETENV and NOSETENV tags
7568         [2c0d5ba7a09b]
7569
7570 2007-06-24  Todd C. Miller  <Todd.Miller@courtesan.com>
7571
7572         * mon_systrace.c:
7573         Redo setting of user_args. We now build up a private copy of argv
7574         first and then replace the NULs?with spaces.
7575         [ccbba72ea112]
7576
7577         * mon_systrace.c:
7578         getcwd() returns NULL on failure, not 0 on success
7579         [88cd9e66e530]
7580
7581         * mon_systrace.c:
7582         allow chunksiz to reach 1 before erroring out
7583         [619d68f14964]
7584
7585         * sudo.cat, sudo.man.in, sudoers.cat, sudoers.man.in, visudo.cat,
7586         visudo.man.in:
7587         regen
7588         [8db512d3caf0]
7589
7590 2007-06-23  Todd C. Miller  <Todd.Miller@courtesan.com>
7591
7592         * def_data.c, def_data.h, def_data.in, env.c, gram.c, gram.h, gram.y,
7593         logging.c, parse.c, parse.h, sudo.c, sudo.h, sudo.pod, sudoers.pod,
7594         toke.c, toke.l:
7595         Add support for setting environment variables on the command line.
7596         This is only allowed if the setenv sudoers options is enabled or if
7597         the command is prefixed with the SETENV tag.
7598         [5744caebd969]
7599
7600         * README.LDAP:
7601         replace Aaron's email address with the sudo-workers list
7602         [2ffce5f9afc0]
7603
7604         * configure:
7605         regen
7606         [8013dff82c0c]
7607
7608 2007-06-22  Todd C. Miller  <Todd.Miller@courtesan.com>
7609
7610         * schema.OpenLDAP, schema.iPlanet:
7611         Break schema out into separate files.
7612         [15e598e4c60b]
7613
7614         * Makefile.in, README.LDAP:
7615         Break schema out into separate files.
7616         [1a53966ca1fa]
7617
7618 2007-06-21  Todd C. Miller  <Todd.Miller@courtesan.com>
7619
7620         * auth/aix_auth.c:
7621         free message if set by authenticate()
7622         [849c220c1236]
7623
7624         * match.c:
7625         deal with NULL gr_mem
7626         [49e4d74f0bbe]
7627
7628 2007-06-20  Todd C. Miller  <Todd.Miller@courtesan.com>
7629
7630         * config.h.in:
7631         regen
7632         [fead999ad3e9]
7633
7634         * configure.in:
7635         add template for HAVE_PROJECT_H
7636         [e6c42c2eaad1]
7637
7638         * closefrom.c:
7639         include fcntl.h
7640         [54d98b382f03]
7641
7642 2007-06-19  Todd C. Miller  <Todd.Miller@courtesan.com>
7643
7644         * INSTALL:
7645         mention --with-project
7646         [d3ea3baad7c5]
7647
7648         * config.h.in, configure.in, sudo.c:
7649         Add Solaris 10 "project" support. From Michael Brantley.
7650         [f14f3c8c6554]
7651
7652         * sudoers.pod:
7653         fix typo
7654         [50db81a19787]
7655
7656         * configure:
7657         regen
7658         [ea71afd3e564]
7659
7660         * configure.in:
7661         Fix preservation of LDFLAGS in the LDAP case.
7662         [40a3a47e8059]
7663
7664         * memrchr.c:
7665         Remove dependecy on NULL
7666         [c957ae5e1733]
7667
7668         * configure:
7669         regen
7670         [4955ce0c6912]
7671
7672         * aclocal.m4, configure.in:
7673         Can't use the regular autoconf fnmatch() check since we need
7674         FNM_CASEFOLD so go back to our custom one.
7675         [f10d76237486]
7676
7677         * env.c:
7678         Fix preserving of variables in env_keep.
7679         [d040049d6b84]
7680
7681         * env.c:
7682         add XAUTHORIZATION
7683         [0d589a5fe015]
7684
7685         * UPGRADE:
7686         expand upon env resetting and mention that it began in 1.6.9 not
7687         1.7.
7688         [dba251655c76]
7689
7690         * sudoers.pod:
7691         Update descriptions of env_keep and env_check to match current
7692         reality.
7693         [dba77357954b]
7694
7695 2007-06-18  Todd C. Miller  <Todd.Miller@courtesan.com>
7696
7697         * env.c:
7698         Add LINGUAS to initial_checkenv_table. Add COLORS, HOSTNAME,
7699         LS_COLORS, MAIL, PS1, PS2, XAUTHORITY to intial_keepenv_table.
7700         [eec4632bd190]
7701
7702         * env.c, logging.c:
7703         Treat USERNAME environemnt variable like LOGNAME/USER
7704         [09f52dcfd70c]
7705
7706         * env.c:
7707         Don't need to populate keepenv table with the contents of the
7708         checkenv table.
7709         [527a14afd973]
7710
7711         * sudo.c:
7712         Don't force sudo into the C locale.
7713         [8a5bd301ef96]
7714
7715         * env.c:
7716         Make env_check apply when env_reset it true. Environment variables
7717         are passed through unless they contain '/' or '%'. There is no need
7718         to have a variable in both env_check and env_keep.
7719         [840c802721e4]
7720
7721 2007-06-16  Todd C. Miller  <Todd.Miller@courtesan.com>
7722
7723         * visudo.c:
7724         Remove an duplicate lock_file() call and add a comment.
7725         [5af9dcdf0eb6]
7726
7727         * UPGRADE:
7728         Add sudo 1.6.9 upgrade note.
7729         [1585149f2914]
7730
7731 2007-06-14  Todd C. Miller  <Todd.Miller@courtesan.com>
7732
7733         * interfaces.c:
7734         Solaris will return EINVAL if the buffer used in SIOCGIFCONF is too
7735         small. From Klaus Wagner.
7736         [d6899fc44f77]
7737
7738         * logging.c, sudo.h:
7739         Redo the long syslog line splitting based on a patch from Eygene
7740         Ryabinkin. Include memrchr() for systems without it.
7741         [66a50e8d553a]
7742
7743         * memrchr.c:
7744         Redo the long syslog line splitting based on a patch from Eygene
7745         Ryabinkin. Include memrchr() for systems without it.
7746         [2f6702b7d41b]
7747
7748         * Makefile.in, config.h.in, configure, configure.in:
7749         Redo the long syslog line splitting based on a patch from Eygene
7750         Ryabinkin. Include memrchr() for systems without it.
7751         [407a46190921]
7752
7753         * configure.in:
7754         Since we need to be able to convert timespec to timeval for utimes()
7755         the last 3 digits in the tv_nsec are not significant. This makes the
7756         sudoedit file date comparison work again.
7757         [9d0258849fa9]
7758
7759 2007-06-13  Todd C. Miller  <Todd.Miller@courtesan.com>
7760
7761         * aclocal.m4, configure, configure.in:
7762         Add SUDO_ADD_AUTH macro to deal with adding things to AUTH_OBJS.
7763         This deals with exclusive authentication methods in a simple way.
7764         [7d70072c0f35]
7765
7766 2007-06-12  Todd C. Miller  <Todd.Miller@courtesan.com>
7767
7768         * LICENSE:
7769         mkstemp.c is BSD code too.
7770         [29e236d98162]
7771
7772         * sudo.pod, sudoers.pod, visudo.pod:
7773         No commercial support for now.
7774         [7c76b3e192dd]
7775
7776 2007-06-11  Todd C. Miller  <Todd.Miller@courtesan.com>
7777
7778         * sudo.c:
7779         cleanenv() is no more.
7780         [518080514408]
7781
7782 2007-06-10  Todd C. Miller  <Todd.Miller@courtesan.com>
7783
7784         * ChangeLog:
7785         Display branch info in Changelog
7786         [44e3b27427c7]
7787
7788         * utimes.c:
7789         Include config.h early so we have it for TIME_WITH_SYS_TIME
7790         [4bf1a00d0703]
7791
7792         * ChangeLog:
7793         Fix Changelog generation and update.
7794         [6e960dbcbece]
7795
7796 2007-06-09  Todd C. Miller  <Todd.Miller@courtesan.com>
7797
7798         * closefrom.c:
7799         Use /proc/self/fd instead of /proc/$$/fd
7800
7801         Move old-style fd closing into closefrom_fallback() and call that if
7802         /proc/self/fd doesn't exist or the F_CLOSEM fcntl() fails
7803         [faa7e4810758]
7804
7805         * auth/kerb5.c, config.h.in, configure.in:
7806         o use krb5_verify_user() if available instead of doing it by hand o
7807         use krb5_init_secure_context() if we have it o pass an encryption
7808         type of 0 to krb5_kt_read_service_key() instead of
7809         ENCTYPE_DES_CBC_MD5 to let kerberos choose.
7810         [df7acf72bd7c]
7811
7812         * env.c:
7813         Check TERM and COLORTERM for '%' and '/' characters. From Debian.
7814         [f92d05197e40]
7815
7816         * configure.in:
7817         Fix closefrom() substitution in the Makefile
7818         [b642b13fcc5c]
7819
7820         * TROUBLESHOOTING:
7821         Mention alternate sudo pronunciation.
7822         [7c71dc73409f]
7823
7824 2007-06-07  Todd C. Miller  <Todd.Miller@courtesan.com>
7825
7826         * env.c:
7827         Remove KRB5_KTNAME from environment. Allow COLORTERM.
7828         [70f35a79f780]
7829
7830         * auth/kerb5.c:
7831         If we cannot get a valid service key using the default keytab it is
7832         a fatal error. Fixes a bug where sudo could be tricked into
7833         allowing access when it should not by a fake KDC. From Thor Lancelot
7834         Simon.
7835         [a3ae6a47cb23]
7836
7837 2007-05-12  Todd C. Miller  <Todd.Miller@courtesan.com>
7838
7839         * aclocal.m4, configure, configure.in:
7840         Update long long checks to use AC_CHECK_TYPES and to cache values.
7841         [047318eaaeb2]
7842
7843         * aclocal.m4, configure.in:
7844         Use AC_FUNC_FNMATCH instead of a homebrew fnmatch checker. We can't
7845         use AC_REPLACE_FNMATCH since that assumes replacing with GNU
7846         fnmatch.
7847         [80513a1003ea]
7848
7849 2007-05-11  Todd C. Miller  <Todd.Miller@courtesan.com>
7850
7851         * configure, configure.in:
7852         Add closefrom() to LIB_OBJS not SUDO_OBJS if it is missing since we
7853         need it for visudo now too.
7854         [50837c7c2b5e]
7855
7856 2007-04-24  Todd C. Miller  <Todd.Miller@courtesan.com>
7857
7858         * sudoers.pod:
7859         Attempt to clarify the bit talking about network numbers w/o
7860         netmasks.
7861         [211e68c1d034]
7862
7863         * sudo.pod:
7864         Clarify timestamp dir ownership sentence.
7865         [9178f132c7f7]
7866
7867 2007-04-20  Todd C. Miller  <Todd.Miller@courtesan.com>
7868
7869         * auth/pam.c:
7870         Linux PAM now defines __LINUX_PAM__, not __LIBPAM_VERSION. From
7871         Dmitry V. Levin.
7872         [81fce91667bc]
7873
7874 2007-04-16  Todd C. Miller  <Todd.Miller@courtesan.com>
7875
7876         * sudo.c:
7877         -i is also one of the mutually exclusive options to list it in the
7878         warning message. Noted by Chris Pepper.
7879         [7da73fb248e9]
7880
7881 2007-04-12  Todd C. Miller  <Todd.Miller@courtesan.com>
7882
7883         * visudo.pod:
7884         The sudoers variable is env_editor, not enveditor. From Jean-
7885         Francois Saucier.
7886         [2a86ec09a6db]
7887
7888 2007-03-29  Todd C. Miller  <Todd.Miller@courtesan.com>
7889
7890         * redblack.c:
7891         I tracked down the original author so credit him and include his
7892         license info.
7893         [3733553a1bba]
7894
7895 2007-02-06  Todd C. Miller  <Todd.Miller@courtesan.com>
7896
7897         * sudo.cat, sudo.man.in, sudo.pod, sudoers.cat, sudoers.man.in,
7898         sudoers.pod:
7899         Fix typos; from Jason McIntyre.
7900         [1ee4ce2512f2]
7901
7902         * logging.c:
7903         Restore signal mask before calling reapchild(). Fixes a possible
7904         race condition that could prevent sudo from properly waiting for the
7905         child.
7906         [9ee4192385dc]
7907
7908 2007-01-31  Todd C. Miller  <Todd.Miller@courtesan.com>
7909
7910         * pwutil.c:
7911         Don't declare pw_free() if we are not going to use it.
7912         [adb79a4289ca]
7913
7914         * env.c:
7915         Add NOEXEC support for AIX 5.3 which supports LDR_PRELOAD and
7916         LDR_PRELOAD64. The 64-bit version is not currently supported.
7917         Remove zero_env() prototype as it no longer exists.
7918         [b4fe65027fb6]
7919
7920 2006-12-11  Todd C. Miller  <Todd.Miller@courtesan.com>
7921
7922         * logging.c:
7923         Add "Auto-Submitted: auto-generated" line to sudo mail for rfc 3834.
7924         [78002ad90f7b]
7925
7926 2006-09-29  Todd C. Miller  <Todd.Miller@courtesan.com>
7927
7928         * auth/pam.c:
7929         If the user enters ^C at the password prompt, abort instead of
7930         trying to authenticate with an empty password (which causes an
7931         annoying delay).
7932         [da3f27b747c7]
7933
7934 2006-08-17  Todd C. Miller  <Todd.Miller@courtesan.com>
7935
7936         * closefrom.c, config.h.in, configure, configure.in:
7937         Add fcntl F_CLOSEM support to closefrom(); adapted from a diff by
7938         Darren Tucker.
7939         [0331b7780759]
7940
7941         * pwutil.c:
7942         pw_free() is only used by sudo_freepwcache() so ifdef it out too.
7943         [0014c0d9eeba]
7944
7945 2006-08-04  Todd C. Miller  <Todd.Miller@courtesan.com>
7946
7947         * config.guess, config.sub:
7948         Update to latest versions from cvs.savannah.gnu.org
7949         [aa0143101c20]
7950
7951 2006-07-31  Todd C. Miller  <Todd.Miller@courtesan.com>
7952
7953         * pwutil.c, sudo_edit.c:
7954         Move password/group cache cleaning out of sudo_end{pw,grp}ent() so
7955         we can close the passwd/group files early.
7956         [559074bd7eb7]
7957
7958         * config.h.in, configure, configure.in, set_perms.c:
7959         Add seteuid() flavor of set_perms() for systems without setreuid()
7960         or setresuid() that have a working seteuid(). Tested on Darwin.
7961         [508d8da99189]
7962
7963 2006-07-30  Todd C. Miller  <Todd.Miller@courtesan.com>
7964
7965         * mon_systrace.c:
7966         systrace_read() returns ssize_t
7967         [9f97d1d1a59d]
7968
7969         * configure, configure.in:
7970         Fix typo, -lldap vs. -ldap; from Tim Knox.
7971         [a8cc43c3bb2a]
7972
7973 2006-07-28  Todd C. Miller  <Todd.Miller@courtesan.com>
7974
7975         * HISTORY:
7976         Fix typo; Matt Ackeret
7977         [86964ee3dfbd]
7978
7979 2006-07-17  Todd C. Miller  <Todd.Miller@courtesan.com>
7980
7981         * sudo.c:
7982         Print sudoers path in -V mode for root.
7983         [dc43f2d75bd9]
7984
7985 2006-06-15  Todd C. Miller  <Todd.Miller@courtesan.com>
7986
7987         * ldap.c:
7988         Do a sub tree search instead of a base search (one level in the tree
7989         only) for sudo right objects. This allows system administrators to
7990         categorize the rights in a tree to make them easier to manage.
7991         [6d2d9abf996e]
7992
7993 2005-12-28  Todd C. Miller  <Todd.Miller@courtesan.com>
7994
7995         * sudo.pod:
7996         fix typo
7997         [1473413bcbda]
7998
7999 2005-12-04  Todd C. Miller  <Todd.Miller@courtesan.com>
8000
8001         * ldap.c:
8002         Convert GET_OPT and GET_OPTI to use just 2 args. Add timelimit and
8003         bind_timelimit support; adapted from gentoo.
8004         [afc816093026]
8005
8006 2005-11-23  Todd C. Miller  <Todd.Miller@courtesan.com>
8007
8008         * ldap.c:
8009         Support comments that start in the middle of a line
8010         [c25df6ee3db8]
8011
8012         * configure, configure.in:
8013         Define LDAP_DEPRECATED until we start using ldap_get_values_len()
8014         [ee249bfe230a]
8015
8016 2005-11-18  Todd C. Miller  <Todd.Miller@courtesan.com>
8017
8018         * closefrom.c:
8019         Silence gcc -Wsign-compare; djm@openbsd.org
8020         [28769ce6418d]
8021
8022         * error.c, sudo.c, sudo.h, testsudoers.c, visudo.c:
8023         cleanup() now takes an int as an arg so it can be used as a signal
8024         handler too.
8025         [2bb0df34d09c]
8026
8027         * sudo.c:
8028         Make a copy of the shell field in the passwd struct for NewArgv to
8029         avoid a use after free situation after sudo_endpwent() is called.
8030         [5dcc9ffd362e]
8031
8032 2005-11-17  Todd C. Miller  <Todd.Miller@courtesan.com>
8033
8034         * config.h.in, configure, configure.in:
8035         Add mkstemp() for those poor souls without it.
8036         [5fdd02e863e0]
8037
8038         * mkstemp.c:
8039         Add mkstemp() for those poor souls without it.
8040         [c99401207860]
8041
8042         * Makefile.in:
8043         Add mkstemp() for those poor souls without it.
8044         [9c1cf2678f24]
8045
8046 2005-11-15  Todd C. Miller  <Todd.Miller@courtesan.com>
8047
8048         * env.c:
8049         Add PERL5DB to list of environment variables to remove.
8050         [7375c27ecf75]
8051
8052 2005-11-13  Todd C. Miller  <Todd.Miller@courtesan.com>
8053
8054         * mon_systrace.c, mon_systrace.h:
8055         Instead of calling the check function twice with a state cookie use
8056         separate check/log functions.
8057
8058         Check more ioctl() calls for failure.
8059
8060         systrace_{read,write} now return the number of bytes read/written or
8061         -1 on error.
8062         [3dc8946d90e9]
8063
8064         * env.c:
8065         Add more environment variables to remove; from gentoo linux Add some
8066         comments about what bad env variables go to what (more to do)
8067         [6918110a6b82]
8068
8069 2005-11-11  Todd C. Miller  <Todd.Miller@courtesan.com>
8070
8071         * sudo.c, sudo_edit.c:
8072         Move sudo_end{gr,pw}ent() until just before the exec since they free
8073         up our cached copy of the passwd structs, including sudo_user and
8074         sudo_runas. Fixes a use-after-free bug.
8075         [54de3778bad0]
8076
8077         * visudo.c:
8078         Close all fd's before executing editor.
8079         [4fcc05e1bec8]
8080
8081         * sudo.c:
8082         Enable malloc debugging on OpenBSD when SUDO_DEVEL is set.
8083         [ef0e8ffa5c9f]
8084
8085         * check.c:
8086         Fix fd leak when lecture file option is enabled. From Jerry Brown
8087         [ce97f9207cd8]
8088
8089 2005-11-07  Todd C. Miller  <Todd.Miller@courtesan.com>
8090
8091         * env.c:
8092         Add PERLLIB, PERL5LIB and PERL5OPT to the default list of
8093         environment variables to remove. From Charles Morris
8094         [c96e1367d1c1]
8095
8096 2005-11-01  Todd C. Miller  <Todd.Miller@courtesan.com>
8097
8098         * env.c:
8099         add JAVA_TOOL_OPTIONS to initial_badenv_table for java 5
8100         [72a6a1571226]
8101
8102 2005-10-28  Todd C. Miller  <Todd.Miller@courtesan.com>
8103
8104         * env.c:
8105         add PS4 and SHELLOPTS to initial_badenv_table for bash
8106         [89dfb3f318f3]
8107
8108 2005-08-15  Todd C. Miller  <Todd.Miller@courtesan.com>
8109
8110         * sudoers.pod:
8111         Fix typo; Toby Peterson
8112         [b7a3222b23f4]
8113
8114 2005-08-02  Todd C. Miller  <Todd.Miller@courtesan.com>
8115
8116         * tsgetgrpw.c:
8117         Make return buffers static so they don't get clobbered
8118         [13323a39b9f5]
8119
8120 2005-07-28  Todd C. Miller  <Todd.Miller@courtesan.com>
8121
8122         * auth/securid5.c:
8123         Fix securid5 authentication, was not checking for ACM_OK. Also add
8124         default cases for the two switch()es. Problem noted by ccon at
8125         worldbank
8126         [14091e418333]
8127
8128 2005-06-27  Todd C. Miller  <Todd.Miller@courtesan.com>
8129
8130         * ldap.c:
8131         Remove ncat() in favor of just counting bytes and pre-allocating
8132         what is needed.
8133         [25b8712adb61]
8134
8135 2005-06-26  Todd C. Miller  <Todd.Miller@courtesan.com>
8136
8137         * ldap.c:
8138         Fix up some comments Add missing fclose() for the rootbinddn case
8139         [ae95c8a89711]
8140
8141         * ldap.c:
8142         align struct ldap_config
8143         [35d0d64c76f8]
8144
8145         * ldap.c:
8146         use LINE_MAX for max conf file line size
8147         [da116cb8853d]
8148
8149         * pathnames.h.in:
8150         add _PATH_LDAP_SECRET
8151         [128b04ecfab7]
8152
8153         * README.LDAP:
8154         Mention rootbinddn Give example ou=SUDOers container
8155         [852edc69bd1c]
8156
8157 2005-06-25  Todd C. Miller  <Todd.Miller@courtesan.com>
8158
8159         * INSTALL, configure, configure.in, ldap.c:
8160         Support rootbinddn in ldap.conf
8161         [1615c91522a1]
8162
8163         * env.c, sudo.pod, sudoers.pod:
8164         Preserve DISPLAY environment variable by default.
8165         [05f503d5f438]
8166
8167         * acsite.m4, configure:
8168         set need_lib_prefix=no for all cases; this is safe for LD_PRELOAD
8169         [18a04dea8d05]
8170
8171         * acsite.m4, configure:
8172         set need_version=no for all cases; this is safe for LD_PRELOAD
8173         [b542560e1a73]
8174
8175         * aclocal.m4:
8176         typo
8177         [c040df0fcd5a]
8178
8179         * configure, configure.in:
8180         Add dragonfly
8181         [f13794618636]
8182
8183         * auth/pam.c:
8184         Fix call to pam_end() when pam_open_session() fails.
8185         [0be47cdfdef1]
8186
8187         * configure:
8188         regen
8189         [7f5c13b4b800]
8190
8191         * acsite.m4:
8192         rebuild acsite.m4 from libtool 1.9f libtool.m4 ltoptions.m4
8193         ltsugar.m4 ltversion.m4
8194         [a7ba9fd1a2ab]
8195
8196         * config.guess, config.sub, ltmain.sh:
8197         merge in local changes: config.guess: o better openbsd support
8198         config.sub: o hiuxmpp support ltmain.sh o remove requirement that
8199         libs must begin with "lib" o don't print a bunch of crap about
8200         library installs o don't run ldconfig
8201         [f4149f2c720f]
8202
8203         * config.guess, config.sub, ltmain.sh:
8204         libtool 1.9f
8205         [82a534e7121f]
8206
8207         * configure.in:
8208         Update with autoupdate and make minor changes for libtool 1.9f
8209         [11b5ae5c1428]
8210
8211 2005-06-23  Todd C. Miller  <Todd.Miller@courtesan.com>
8212
8213         * parse.c:
8214         don't call sudo_ldap_display_cmnd if ldap not setup
8215         [8bcf6c094ffe]
8216
8217         * sudo_edit.c, visudo.c:
8218         Move declatation of struct timespec to its own include files for
8219         systems without it since it needs time_t defined.
8220         [b95c333299a0]
8221
8222         * gettime.c:
8223         Move declatation of struct timespec to its own include files for
8224         systems without it since it needs time_t defined.
8225         [021b4569cc0c]
8226
8227         * fileops.c:
8228         Move declatation of struct timespec to its own include files for
8229         systems without it since it needs time_t defined.
8230         [dd8573b2ee7d]
8231
8232         * emul/timespec.h:
8233         Move declatation of struct timespec to its own include files for
8234         systems without it since it needs time_t defined.
8235         [f95137771564]
8236
8237         * check.c, compat.h:
8238         Move declatation of struct timespec to its own include files for
8239         systems without it since it needs time_t defined.
8240         [2ef2ace8fe85]
8241
8242         * ldap.c:
8243         Don't set safe_cmnd for the "sudo ALL" case.
8244         [ad7fa9e07da0]
8245
8246 2005-05-27  Todd C. Miller  <Todd.Miller@courtesan.com>
8247
8248         * auth/pam.c:
8249         Call pam_open_session() and pam_close_session() to give pam_limits a
8250         chance to run. Idea from Karel Zak.
8251         [fed46d471350]
8252
8253 2005-04-24  Todd C. Miller  <Todd.Miller@courtesan.com>
8254
8255         * check.c, sudo.c:
8256         Add explicit cast from mode_t -> u_int in printf to silence warnings
8257         on Solaris
8258         [17bb961fe22d]
8259
8260         * parse.c:
8261         include grp.h to silence a warning on Solaris
8262         [14386fbab640]
8263
8264 2005-04-23  Todd C. Miller  <Todd.Miller@courtesan.com>
8265
8266         * parse.c:
8267         Fix printing of += and -= defaults.
8268         [a667604c56cd]
8269
8270 2005-04-17  Todd C. Miller  <Todd.Miller@courtesan.com>
8271
8272         * mon_systrace.c:
8273         Sanity check number of syscall args with argsize. Not really needed
8274         but a little paranoia never hurts.
8275         [6bb455a2c2d6]
8276
8277         * mon_systrace.c, mon_systrace.h:
8278         Don't do pointer arithmetic on void * Use int, not size_t/ssize_t
8279         for systrace lengths (since it uses int)
8280         [3cafccffcffd]
8281
8282 2005-04-16  Todd C. Miller  <Todd.Miller@courtesan.com>
8283
8284         * mon_systrace.c:
8285         Add some memsets for paranoia Fix namespace collsion w/ error Check
8286         rval of decode_args() and update_env() Remove improper setting of
8287         validated variable
8288         [3d385158354d]
8289
8290 2005-04-12  Todd C. Miller  <Todd.Miller@courtesan.com>
8291
8292         * parse.c, sudo.c, sudo.h:
8293         In -l mode, only check local sudoers file if def_ignore_sudoers is
8294         not set and call LDAP versions from display_privs() and
8295         display_cmnd() instead of directly from main(). Because of this we
8296         need to defer closing the ldap connection until after -l processing
8297         has ocurred and we must pass in the ldap pointer to display_privs()
8298         and display_cmnd().
8299         [1dfc2e8c9f2b]
8300
8301         * ldap.c:
8302         Reorganize LDAP code to better match normal sudoers parsing.
8303         Instead of storing strings for later printing in -l mode we do
8304         another query since the authenticating user and the user being
8305         listed may not be the same (the new -U flag). Also add support for
8306         "sudo -l command".
8307
8308         There is still a fair bit if duplicated code that can probably be
8309         refactored.
8310         [e9568f19bde5]
8311
8312 2005-04-11  Todd C. Miller  <Todd.Miller@courtesan.com>
8313
8314         * ldap.c:
8315         Replace pass variable with do_netgr for better readability.
8316         [1bba841b6e79]
8317
8318         * ldap.c:
8319         use DPRINTF macro
8320         [02b159b66bb5]
8321
8322         * ldap.c:
8323         estrdup, not strdup
8324         [22cdee7973c1]
8325
8326 2005-04-10  Todd C. Miller  <Todd.Miller@courtesan.com>
8327
8328         * parse.c:
8329         Add macro to test if the tag changed to improve readability.
8330         [4e11b4819556]
8331
8332         * parse.c:
8333         Avoid printing defaults header if there are no defaults to print...
8334         [41a28627df03]
8335
8336         * glob.c:
8337         Fix a warning on systems without strlcpy().
8338         [6814e0f0e4f4]
8339
8340         * pwutil.c:
8341         Use macros where possible for sudo_grdup() like sudo_pwdup().
8342         [30f201ff35cd]
8343
8344 2005-04-08  Todd C. Miller  <Todd.Miller@courtesan.com>
8345
8346         * utimes.c:
8347         It is possible for tv_usec to hold >= 1000000 usecs so add in
8348         tv_usec / 1000000.
8349         [794ac4d53a65]
8350
8351 2005-03-30  Todd C. Miller  <Todd.Miller@courtesan.com>
8352
8353         * auth/kerb5.c:
8354         The component in krb5_principal_get_comp_string() should be 1, not 0
8355         for Heimdal. From Alex Plotnick.
8356         [fefa351c5044]
8357
8358 2005-03-29  Todd C. Miller  <Todd.Miller@courtesan.com>
8359
8360         * alias.c, alloc.c, check.c, defaults.c, find_path.c, gram.c, gram.y,
8361         interfaces.c, ldap.c, logging.c, match.c, mon_systrace.c, pwutil.c,
8362         redblack.c, sudo.c, sudo.h, toke.c, toke.l, visudo.c:
8363         Add efree() for consistency with emalloc() et al. Allows us to rely
8364         on C89 behavior (free(NULL) is valid) even on K&R.
8365         [7876bb80d87c]
8366
8367         * parse.c, sudo.c:
8368         Move initgroups() for -U option into display_privs() so group
8369         matching in sudoers works correctly.
8370         [b074428ad2ca]
8371
8372 2005-03-27  Todd C. Miller  <Todd.Miller@courtesan.com>
8373
8374         * ldap.c:
8375         Removed duplicate call to ldap_unbind_s introduced along with
8376         sudo_ldap_close.
8377         [19acc1c20f7c]
8378
8379         * parse.c:
8380         Add missing space in Defaults printing
8381         [95d2935bf6d4]
8382
8383 2005-03-25  Todd C. Miller  <Todd.Miller@courtesan.com>
8384
8385         * pwutil.c:
8386         Sync sudo_pwdup with OpenBSD changes: use macros for size computaton
8387         and string copies.
8388         [6b6b241495e5]
8389
8390 2005-03-19  Todd C. Miller  <Todd.Miller@courtesan.com>
8391
8392         * pwutil.c:
8393         Zero old pw_passwd before replacing with version from shadow file.
8394         [3251b349dfe1]
8395
8396         * configure, configure.in:
8397         Only attempt shadow password detection if PAM is not being used Add
8398         shadow_* variables to make shadow password detection more generic.
8399         [d498a3423ac9]
8400
8401         * configure.in:
8402         Use OSDEFS for os-specific -D_FOO_BAR stuff rather than CPPFLAGS
8403         [04d55bbd5e35]
8404
8405 2005-03-13  Todd C. Miller  <Todd.Miller@courtesan.com>
8406
8407         * sudoers.pod:
8408         use a non-breaking space to avoid a double space after e.g.
8409         [11cdb54bdf7b]
8410
8411         * sudo.pod:
8412         commna, not colon after e.g.
8413         [8d5875ff72e0]
8414
8415 2005-03-12  Todd C. Miller  <Todd.Miller@courtesan.com>
8416
8417         * sudo_noexec.c:
8418         Add __ variants of the exec functions. GNU libc at least uses
8419         __execve() internally.
8420         [d1880473d790]
8421
8422         * indent.pro:
8423         Match reality a bit more.
8424         [633e3fa875a7]
8425
8426         * pwutil.c:
8427         Missed piece from rev. 1.6, fix sudo_getpwnam() too.
8428         [128f7b21c2ee]
8429
8430         * pwutil.c:
8431         Store shadow password after making a local copy of struct passwd in
8432         case normal and shadow routines use the same internal buffer in
8433         libc.
8434         [f806052a6ffc]
8435
8436 2005-03-11  Todd C. Miller  <Todd.Miller@courtesan.com>
8437
8438         * alloc.c, logging.c:
8439         Make varargs usage consistent with the rest of the code.
8440         [3d45affc9851]
8441
8442 2005-03-10  Todd C. Miller  <Todd.Miller@courtesan.com>
8443
8444         * sudo_noexec.c:
8445         Wrap more of the exec family since on Linux the others do not appear
8446         to go through the normal execve() path.
8447         [8167769b4e19]
8448
8449         * visudo.c:
8450         make print_unused static like proto says
8451         [ecf10e1bae55]
8452
8453         * glob.c:
8454         silence a warning on K&R systems
8455         [2e00425f1a5c]
8456
8457         * alias.c, error.c:
8458         make this build in K&R land
8459         [156f65f8525a]
8460
8461         * parse.c:
8462         make this build in K&R land
8463         [6fc9276889cb]
8464
8465 2005-03-08  Todd C. Miller  <Todd.Miller@courtesan.com>
8466
8467         * toke.c:
8468         regen
8469         [3b349748cd21]
8470
8471 2005-03-06  Todd C. Miller  <Todd.Miller@courtesan.com>
8472
8473         * ldap.c:
8474         return(foo) not return foo optimize _atobool() slightly
8475         [11d09d154ed5]
8476
8477         * ldap.c:
8478         Use TRUE/FALSE
8479         [53999320d98f]
8480
8481         * ldap.c:
8482         Reformat to match the rest of sudo's code.
8483         [1bd0f2afa0e7]
8484
8485         * sudo.pod:
8486         I am the primary author
8487         [5d311ecd85c6]
8488
8489 2005-02-23  Todd C. Miller  <Todd.Miller@courtesan.com>
8490
8491         * Makefile.in, README, RUNSON:
8492         The RUNSON file is toast--it confused too many people and really
8493         isn't needed in a configure-oriented world.
8494         [96a6ef7bbc08]
8495
8496         * INSTALL:
8497         alternate -> alternative
8498         [b65015c5d0a2]
8499
8500         * tgetpass.c:
8501         Use TCSADRAIN instead of TCSAFLUSH since some OSes have issues with
8502         TCSAFLUSH.
8503         [c66b4763ffdc]
8504
8505         * toke.l:
8506         Allow leading blanks before Defaults and Foo_Alias definitions
8507         [2add513d9277]
8508
8509         * Makefile.in:
8510         fix rules to build toke.o and gram.o in devel mode
8511         [96cbb414ebd3]
8512
8513 2005-02-20  Todd C. Miller  <Todd.Miller@courtesan.com>
8514
8515         * sudoers.pod:
8516         env_keep overrides set_logname
8517         [401877193a15]
8518
8519         * env.c:
8520         Fix disabling set_logname and make env_keep override set_logname.
8521         [0906e7a5ed93]
8522
8523         * compat.h, config.h.in, configure, configure.in:
8524         No longer need memmove()
8525         [43bdb6efe3f2]
8526
8527         * env.c, sudo.c:
8528         Just clean the environment once. This assumes that any further
8529         setenv/putenv will be able to handle the fact that we replaced
8530         environ with our own malloc'd copy but all the implementations I've
8531         checked do.
8532         [11658fe92ba2]
8533
8534 2005-02-16  Todd C. Miller  <Todd.Miller@courtesan.com>
8535
8536         * env.c, sudo.c:
8537         In -i mode, base the value of insert_env()'s dupcheck flag on
8538         DID_FOO flags. Move checks for $HOME resetting into rebuild_env()
8539         [8365b0bd0c71]
8540
8541 2005-02-13  Todd C. Miller  <Todd.Miller@courtesan.com>
8542
8543         * env.c, sudo.c:
8544         Move setting of user_path, user_shell, user_prompt and prev_user
8545         into init_vars() since user_shell at least is needed there.
8546         [37e22dce66e9]
8547
8548 2005-02-12  Todd C. Miller  <Todd.Miller@courtesan.com>
8549
8550         * Makefile.in:
8551         fix devel builds
8552         [9fbb15ef164c]
8553
8554         * sudo.c:
8555         Fix some printf format mismatches on error.
8556         [ffc1c3f11740]
8557
8558         * check.c:
8559         Fix some printf format mismatches on error.
8560         [7b3b508adf50]
8561
8562         * configure, gram.c, toke.c:
8563         regen
8564         [aa76f9d8b02a]
8565
8566         * Makefile.in, aclocal.m4, alias.c, alloc.c, auth/afs.c,
8567         auth/aix_auth.c, auth/bsdauth.c, auth/dce.c, auth/fwtk.c,
8568         auth/kerb4.c, auth/kerb5.c, auth/pam.c, auth/passwd.c,
8569         auth/rfc1938.c, auth/secureware.c, auth/securid.c, auth/securid5.c,
8570         auth/sia.c, auth/sudo_auth.c, auth/sudo_auth.h, check.c,
8571         closefrom.c, compat.h, configure.in, defaults.c, defaults.h,
8572         emul/utime.h, env.c, error.c, fileops.c, find_path.c, getprogname.c,
8573         getspwuid.c, gettime.c, goodpath.c, gram.y, interfaces.c,
8574         interfaces.h, ldap.c, logging.c, logging.h, match.c, mon_systrace.c,
8575         parse.c, redblack.c, redblack.h, set_perms.c, sigaction.c,
8576         snprintf.c, strcasecmp.c, strerror.c, strlcat.c, strlcpy.c, sudo.c,
8577         sudo.h, sudo.pod, sudo_edit.c, sudo_noexec.c, sudoers.pod,
8578         testsudoers.c, tgetpass.c, toke.l, utimes.c, version.h, visudo.c,
8579         visudo.pod, zero_bytes.c:
8580         Update copyright years.
8581         [0610c3654739]
8582
8583         * Makefile.binary.in:
8584         Update copyright years.
8585         [d78ffc9f2e2b]
8586
8587         * LICENSE:
8588         Update copyright years.
8589         [f60473bca4b1]
8590
8591         * BUGS, INSTALL, INSTALL.binary, Makefile.in, README, configure.in:
8592         version 1.7
8593         [aa977a544ca1]
8594
8595         * WHATSNEW:
8596         What's new in sudo 1.7, based on the 1.7 CHANGES entries.
8597         [ecfcf7269c14]
8598
8599 2005-02-11  Todd C. Miller  <Todd.Miller@courtesan.com>
8600
8601         * compat.h, logging.h, sudo.h:
8602         Add __printflike and use it with gcc to warn about printf-like
8603         format mismatches
8604         [b192ad4a0548]
8605
8606 2005-02-10  Todd C. Miller  <Todd.Miller@courtesan.com>
8607
8608         * CHANGES, ChangeLog:
8609         Replaced CHANGES file with ChangeLog generated from cvs logs
8610         [d9ace9dab98f]
8611
8612         * set_perms.c:
8613         Use warning/error instead of perror/fatal.
8614         [e33259df7738]
8615
8616         * config.guess:
8617         Update OpenBSD section
8618         [9d2c23de6801]
8619
8620         * UPGRADE:
8621         Add upgrading noted for 1.7
8622         [1fb6b6d6df07]
8623
8624         * env.c, sudo.c, sudoers.pod:
8625         Instead of zeroing out the environment, just prune out entries based
8626         on the env_delete and env_check lists. Base building up the new
8627         environment on the current environment and the variables we removed
8628         initially.
8629         [fc192df8fd15]
8630
8631         * config.h.in, configure, configure.in, sudo.c:
8632         Set locale to "C" if locales are supported, just to be safe.
8633         [91fbaa98f02e]
8634
8635         * toke.c, toke.l:
8636         Cast?argument to ctype functions to unsigned char.
8637         [e096b4d65796]
8638
8639 2005-02-08  Todd C. Miller  <Todd.Miller@courtesan.com>
8640
8641         * env.c:
8642         correct value for DID_USER
8643         [b5b05d36ec15]
8644
8645         * error.c, fnmatch.c, getcwd.c, glob.c, snprintf.c:
8646         #include <compat.h> not "compat.h"
8647         [7a0ad9a0ccd7]
8648
8649         * defaults.c:
8650         Reset the environment by default.
8651         [4ecc6423e0f0]
8652
8653         * sudo.c:
8654         Alloc an extra slot in NewArgv. Removes the need to malloc an new
8655         vector if execve() fails.
8656         [83dfb6f584a7]
8657
8658 2005-02-07  Todd C. Miller  <Todd.Miller@courtesan.com>
8659
8660         * INSTALL, config.h.in, configure, configure.in, sudo.c:
8661         Use execve(2) and wrap the command in sh if we get ENOEXEC.
8662         [c0c6af4e2a21]
8663
8664 2005-02-06  Todd C. Miller  <Todd.Miller@courtesan.com>
8665
8666         * sudo_noexec.c:
8667         Only include time.h on systems that lack struct timespec which gets
8668         defind in compat.h (using time_t).
8669         [e373e518b4cb]
8670
8671         * sudo_noexec.c:
8672         Include time.h for time_t in compat.h for systems w/o struct
8673         timespec.
8674         [a34b5637e458]
8675
8676         * compat.h, config.h.in, configure, configure.in:
8677         use bcopy on systems w/o memmove
8678         [f835eafd78c6]
8679
8680         * compat.h:
8681         __attribute__((__unused__)) doesn't work in gcc 2.7.2.1 so limit its
8682         use to gcc >= 2.8.
8683         [1cb9a4e58566]
8684
8685         * Makefile.in:
8686         Add explicit rule to build sudo_noexec.lo
8687         [df1dfcf8dd77]
8688
8689 2005-02-05  Todd C. Miller  <Todd.Miller@courtesan.com>
8690
8691         * INSTALL.configure, Makefile.in:
8692         No longer depend on VPATH; pointed out a bunch of missed
8693         dependencies.
8694         [601a45d4af6b]
8695
8696         * TROUBLESHOOTING:
8697         Help for PAM when account section is missing
8698         [9b8221256756]
8699
8700         * auth/pam.c:
8701         Give user a clue when there is a missing "account" section in the
8702         PAM config.
8703         [2529625c0495]
8704
8705         * auth/pam.c:
8706         Better error handling.
8707         [518c9bda23d8]
8708
8709         * config.h.in, configure, configure.in:
8710         Move _FOO_SOURCE to CPPFLAGS so it takes effect as early as
8711         possible. Silences a warning about isblank() on linux.
8712         [19c94d7ecdc8]
8713
8714         * auth/pam.c:
8715         Fix typo (missing comma) that caused an incorrect number of args to
8716         be passed to log_error().
8717         [0099dfec560f]
8718
8719 2005-02-01  Todd C. Miller  <Todd.Miller@courtesan.com>
8720
8721         * pwutil.c:
8722         Don't try to destroy a tree we didn't create.
8723         [d43c4fe03aa4]
8724
8725 2005-01-27  Todd C. Miller  <Todd.Miller@courtesan.com>
8726
8727         * alias.c, alloc.c, auth/afs.c, auth/aix_auth.c, auth/bsdauth.c,
8728         auth/dce.c, auth/fwtk.c, auth/kerb4.c, auth/kerb5.c, auth/pam.c,
8729         auth/passwd.c, auth/rfc1938.c, auth/secureware.c, auth/securid.c,
8730         auth/securid5.c, auth/sia.c, auth/sudo_auth.c, check.c, closefrom.c,
8731         compat.h, defaults.c, env.c, error.c, fileops.c, find_path.c,
8732         fnmatch.c, getcwd.c, getprogname.c, getspwuid.c, gettime.c,
8733         goodpath.c, gram.c, gram.y, interfaces.c, ldap.c, logging.c,
8734         match.c, mon_systrace.c, parse.c, pwutil.c, set_perms.c,
8735         sigaction.c, snprintf.c, strcasecmp.c, strerror.c, strlcat.c,
8736         strlcpy.c, sudo.c, sudo_edit.c, sudo_noexec.c, testsudoers.c,
8737         tgetpass.c, toke.c, toke.l, utimes.c, visudo.c, zero_bytes.c:
8738         Add __unused to rcsids
8739         [ad6b4ac45705]
8740
8741 2005-01-21  Todd C. Miller  <Todd.Miller@courtesan.com>
8742
8743         * configure, configure.in:
8744         Fix error message when mixing invalid auth types
8745         [68069b3ff5bc]
8746
8747         * INSTALL:
8748         PAM, AIX auth, BSD auth and login_cap are now on by default if the
8749         OS supports them.
8750         [4e44e9098cf0]
8751
8752         * auth/sudo_auth.h, config.h.in:
8753         s/HAVE_AUTHENTICATE/HAVE_AIXAUTH/g
8754         [2d569b43b23e]
8755
8756         * configure.in:
8757         Better checking for conflicting authentication methods Display the
8758         authentication methods used at the end of configure Rename --with-
8759         authenticate -> --with-aixauth Use --with-aixauth, --with-bsdauth,
8760         --with-pam, --with-logincap by default on systems that support them
8761         unless disabled. Add OSMAJOR variable that replaces old OSREV; now
8762         OSREV has full version number
8763         [a21115b6fe9f]
8764
8765 2005-01-18  Todd C. Miller  <Todd.Miller@courtesan.com>
8766
8767         * def_data.c, def_data.in, sudo.c, sudoers.pod:
8768         s/-O/-C/
8769         [ee73f1b81923]
8770
8771 2005-01-14  Todd C. Miller  <Todd.Miller@courtesan.com>
8772
8773         * configure.in:
8774         Replace: test -n "$FOO" || FOO="bar"
8775
8776         With: : ${FOO='bar'}
8777         [37552d9054fc]
8778
8779 2005-01-09  Todd C. Miller  <Todd.Miller@courtesan.com>
8780
8781         * pwutil.c, testsudoers.c, tsgetgrpw.c:
8782         Use function pointers to only call private passwd/group routines
8783         when using a nonstandard passwd/group file.
8784         [215908681dfb]
8785
8786 2005-01-06  Todd C. Miller  <Todd.Miller@courtesan.com>
8787
8788         * CHANGES:
8789         sync
8790         [2e55c03f5790]
8791
8792         * tsgetgrpw.c:
8793         Can't use strtok() since it doesn't handle empty fields so add
8794         getpwent()/getgrent() functions and call those.
8795         [bdaa5b0db70e]
8796
8797 2005-01-05  Todd C. Miller  <Todd.Miller@courtesan.com>
8798
8799         * Makefile.in:
8800         Fix dummied out toke.c and gram.c dependencies.
8801         [4b909c8b2ebe]
8802
8803         * Makefile.in:
8804         Rename PARSESRCS -> GENERATED since it is only used in the clean
8805         target Add devdir variable and use it to specify the path to parser
8806         sources
8807         [f27b3f41ca23]
8808
8809         * configure:
8810         regen
8811         [22c6435dbd46]
8812
8813         * configure.in:
8814         Add a devdir variables that defaults to $(srcdir) and is set to . if
8815         --devel was specified. Allows for proper dependecies building the
8816         parser.
8817         [a36d694c6d21]
8818
8819         * testsudoers.c:
8820         Add support for custom passwd/group files.
8821         [296549ff4b87]
8822
8823         * Makefile.in:
8824         Build private copy of pwutil.o for testsudoers with MYPW defined so
8825         it uses our own passwd/group routines.
8826         [bafa54ec78ca]
8827
8828         * visudo.c:
8829         Remove sudo_*{pw,gr}* stubs and add sudo_setspent/sudo_endspent
8830         stubs instead. We can now just use the caching sudo_*{pw,gr}*
8831         functions in pwutil.c Add comment about wanting to call
8832         sudo_endpwent/sudo_endgrent in cleanup()
8833         [7e59d6b5510d]
8834
8835         * tsgetgrpw.c:
8836         Remove caching; we will just use what is in pwutil.c Use global
8837         buffers for passwd/group structs Rename functions from sudo_* to
8838         my_*
8839         [8c1e068f574c]
8840
8841         * logging.c, sudo.c:
8842         g/c pwcache_init/pwcache_destroy
8843         [60a24909b947]
8844
8845         * sudo.h:
8846         Undo last commit and add sudo_setspent and sudo_endspent instead.
8847         [bac80db08296]
8848
8849         * getspwuid.c, pwutil.c:
8850         Move all but the shadow stuff from getspwuid.c to pwutil.c and
8851         pwcache_get and pwcache_put as they are no longer needed. Also add
8852         preprocessor magic to use private versions of the passwd and group
8853         routines if MYPW is defined (for use by testsudoers).
8854         [a16b8678a426]
8855
8856         * tsgetgrpw.c:
8857         zero out struct passwd/group before filling it in so if there are
8858         fields we don't handle they end up as 0.
8859         [274cb6a93301]
8860
8861         * logging.c, sudo.c, sudo.h, testsudoers.c, visudo.c:
8862         Adapt to pwutil.c
8863         [43ebd04c8b82]
8864
8865         * Makefile.in:
8866         Add tsgetgrpw.c and pwutil.c Rename the *OBJ variables for better
8867         readability.
8868         [7f88c6061e2d]
8869
8870         * tsgetgrpw.c:
8871         Passwd and group lookup routines for testsudoers that support
8872         alternate passwd and group files.
8873         [d7803101d34e]
8874
8875         * getspwuid.c, pwutil.c:
8876         Split off pw/gr cache and dup code into its own file. This allows
8877         visudo and testsudoers to use the pw/gr cache too.
8878         [ef333d3ffedf]
8879
8880 2005-01-02  Todd C. Miller  <Todd.Miller@courtesan.com>
8881
8882         * parse.c:
8883         Print Defaults info in "sudo -l" output and wrap lines based on the
8884         terminal width.
8885         [e559eae4250e]
8886
8887 2005-01-01  Todd C. Miller  <Todd.Miller@courtesan.com>
8888
8889         * match.c, testsudoers.c, visudo.c:
8890         Only check group vector in usergr_matches() if we are matching the
8891         invoking or list user. Always check the group members, even if
8892         there was a group vector.
8893         [d0c7ceb2a041]
8894
8895 2004-12-17  Todd C. Miller  <Todd.Miller@courtesan.com>
8896
8897         * LICENSE, Makefile.in, fnmatch.3:
8898         No longer bundle fnmatch.3
8899         [72db4a4ff4e1]
8900
8901         * CHANGES, TODO:
8902         checkpoint
8903         [e92781bfd99c]
8904
8905 2004-12-16  Todd C. Miller  <Todd.Miller@courtesan.com>
8906
8907         * sudo.c:
8908         sort usage
8909         [15e3b876ec2c]
8910
8911         * sudo.pod:
8912         Sort command line options
8913         [c1fa56584bc4]
8914
8915         * def_data.c, def_data.h, def_data.in, defaults.c, logging.c, sudo.c,
8916         sudo.pod, sudoers.pod:
8917         Add closefrom sudoers option to start closing at a point other than
8918         3. Add closefrom_override sudoers option and -C sudo flag to allow
8919         the user to specify a different closefrom starting point.
8920         [370652b099d1]
8921
8922         * pathnames.h.in:
8923         Add _PATH_DEVNULL for those without it.
8924         [0c4c3e0ceb8b]
8925
8926         * LICENSE:
8927         no more UCB strcasecmp
8928         [397a6298e07f]
8929
8930         * strcasecmp.c:
8931         replace BSD licensed one with version derived from pdksh
8932         [d7cfda8c57a2]
8933
8934 2004-12-10  Todd C. Miller  <Todd.Miller@courtesan.com>
8935
8936         * sudo.c:
8937         Fix last commit.
8938         [7afb9a180532]
8939
8940         * sudo.c:
8941         Make sure stdin, stdout and stderr are open and dup them to
8942         /dev/null if not.
8943         [590f387068bd]
8944
8945 2004-12-03  Todd C. Miller  <Todd.Miller@courtesan.com>
8946
8947         * ldap.c, mon_systrace.c, sudo.c, sudo.h:
8948         add sudo_ldap_close
8949         [4273a36765a7]
8950
8951         * fileops.c, gettime.c, sudo.c, sudo_edit.c, utimes.c, visudo.c:
8952         Use TIME_WITH_SYS_TIME
8953         [c32b59bf15fb]
8954
8955         * config.h.in, configure, configure.in:
8956         Add TIME_WITH_SYS_TIME_H
8957         [57cb146f451d]
8958
8959 2004-12-02  Todd C. Miller  <Todd.Miller@courtesan.com>
8960
8961         * env.c:
8962         Add missing braces to avoid DYLD_FORCE_FLAT_NAMESPACE being set
8963         unconditionally on darwin. From Toby Peterson.
8964         [d69959681c87]
8965
8966         * getspwuid.c:
8967         Check rbinsert() return value. In the case of faked up entries
8968         there is usually a negative response cached that we need to
8969         overwrite.
8970
8971         In pwfree() don't try to zero out a NULL pw_passwd pointer.
8972         [00b32d1a48c1]
8973
8974         * mon_systrace.c:
8975         Use the double fork trick to avoid the monitor process being waited
8976         for by the main program run through sudo.
8977         [e0ce556712ff]
8978
8979 2004-11-29  Todd C. Miller  <Todd.Miller@courtesan.com>
8980
8981         * sudo.c:
8982         Call initgroups() in -U mode so group matches work normally.
8983         [2235bea15283]
8984
8985         * def_data.h, mkdefaults:
8986         Don't print a trailing comma for the last entry in enum def_tupple
8987         [c43a96bb31df]
8988
8989 2004-11-28  Todd C. Miller  <Todd.Miller@courtesan.com>
8990
8991         * sudoers.cat, sudoers.man.in, sudoers.pod:
8992         Mention values when lecture, listpw and verifypw are used in boolean
8993         context.
8994         [a0b5c0abaccf]
8995
8996         * def_data.c, def_data.in:
8997         verifypw when used in a boolean TRUE context should be "all", not
8998         "any".
8999         [2eb076ddd5e2]
9000
9001 2004-11-26  Todd C. Miller  <Todd.Miller@courtesan.com>
9002
9003         * def_data.in, defaults.c:
9004         Allow tuples that can be used as booleans to be used as boolean
9005         TRUE. In this case the 2nd possible value of the tuple is used for
9006         TRUE.
9007         [bd99aa77e88b]
9008
9009 2004-11-25  Todd C. Miller  <Todd.Miller@courtesan.com>
9010
9011         * configure, configure.in:
9012         Correct the test for 2-parameter timespecsub
9013         [d41c9cb26b97]
9014
9015         * sudo.h:
9016         Add strub struct definitions for passwd, timeval and timespec
9017         [c4ce5c43d8c5]
9018
9019         * config.h.in, configure, configure.in, sudo_edit.c, visudo.c:
9020         Add check for 2-argument form of timespecsub (FreeBSD and BSD/OS)
9021         and fix a typo in the gettimeofday check.
9022         [8ac9893057ce]
9023
9024 2004-11-24  Todd C. Miller  <Todd.Miller@courtesan.com>
9025
9026         * match.c, testsudoers.c:
9027         Deal with user_stat being NULL as it is for visudo and testsudoers.
9028         [3605a6ff64d0]
9029
9030         * parse.c, sudo.c, sudo.cat, sudo.h, sudo.man.in, sudo.pod:
9031         Add -U option to use in conjunction with -l instead of -u. Add
9032         support for "sudo -l command" to test a specific command.
9033         [99638789d415]
9034
9035         * gram.c, gram.y, sudo.c:
9036         Set safe_cmnd after sudoers_lookup() if it has not been set.
9037         Previously it was set by sudo "ALL" in the parser but at that point
9038         the fully-qualified pathname has not yet been found.
9039         [ac30d98f8225]
9040
9041 2004-11-23  Todd C. Miller  <Todd.Miller@courtesan.com>
9042
9043         * parse.c, testsudoers.c:
9044         Correctly handle multiple privileges per userspec and runas
9045         inheritence.
9046         [a98a965181af]
9047
9048 2004-11-21  Todd C. Miller  <Todd.Miller@courtesan.com>
9049
9050         * defaults.c:
9051         Zero out sd_un for each entry in sudo_defs_table in init_defaults.
9052         [031d3cd4a848]
9053
9054 2004-11-19  Todd C. Miller  <Todd.Miller@courtesan.com>
9055
9056         * toke.c, toke.l:
9057         make per-command defaults work with sudoedit
9058         [e56fe33db916]
9059
9060         * ldap.c, parse.c, sudo.c, sudo.h:
9061         Remove the FLAG_NOPASS, FLAG_NOEXEC and FLAG_MONITOR flags.
9062         Instead, we just set the approriate defaults variable.
9063         [756eeecc1d86]
9064
9065         * sample.sudoers, sudoers.cat, sudoers.man.in, sudoers.pod:
9066         Document per-command Defaults.
9067         [92a0f84b91c1]
9068
9069         * defaults.c, defaults.h, gram.c, gram.h, gram.y, mon_systrace.c,
9070         sudo.c, testsudoers.c, toke.c, toke.l, visudo.c:
9071         Add support for command-specific Defaults entries. E.g.
9072         Defaults!/usr/bin/vi noexec
9073         [be3d52bf01cf]
9074
9075         * defaults.c, match.c, parse.c, parse.h, testsudoers.c:
9076         Change an occurence of user_matches() -> runas_matches() missed
9077         previously runas_matches(), host_matches() and cmnd_matches() only
9078         really need to pass in a list of members. user_matches() still
9079         needs to pass in a passwd struct because of "sudo -l"
9080         [833b22fc6fa0]
9081
9082         * parse.c:
9083         Check def_authenticate, def_noexec and def_monitor when setting
9084         return flags. XXX May be better to just set the defaults directly
9085         and get rid of those flags.
9086         [b6db22b59d69]
9087
9088         * alias.c, alloc.c, auth/afs.c, auth/aix_auth.c, auth/bsdauth.c,
9089         auth/dce.c, auth/fwtk.c, auth/kerb4.c, auth/kerb5.c, auth/pam.c,
9090         auth/passwd.c, auth/rfc1938.c, auth/secureware.c, auth/securid.c,
9091         auth/securid5.c, auth/sia.c, auth/sudo_auth.c, check.c, closefrom.c,
9092         defaults.c, env.c, error.c, fileops.c, find_path.c, fnmatch.c,
9093         getcwd.c, getprogname.c, getspwuid.c, gettime.c, glob.c, goodpath.c,
9094         gram.c, gram.y, interfaces.c, ldap.c, logging.c, match.c,
9095         mon_systrace.c, parse.c, redblack.c, set_perms.c, snprintf.c,
9096         strcasecmp.c, strerror.c, strlcat.c, strlcpy.c, sudo.c, sudo_edit.c,
9097         sudo_noexec.c, testsudoers.c, tgetpass.c, toke.c, toke.l, utimes.c,
9098         visudo.c, zero_bytes.c:
9099         Use: #include <config.h> Not: #include "config.h" That way we get
9100         the correct config.h when build dir != src dir
9101         [97e5670a442b]
9102
9103         * Makefile.in:
9104         Back out part of rev 1.263; fix -I order
9105         [197ea01cad5d]
9106
9107         * toke.c, toke.l:
9108         More robust parsing if #include; could be much better still.
9109         [31bc3cd8f045]
9110
9111         * sudo_edit.c, visudo.c:
9112         Make arg splitting in visudo and sudoedit consistent.
9113         [7bc74485f246]
9114
9115         * Makefile.in, alias.c, gram.c, gram.y, parse.h:
9116         Split alias routines out into their own file.
9117         [d90f633cf9ae]
9118
9119         * error.h:
9120         __attribute__ is already defined in compat.h
9121         [676ed3fe9203]
9122
9123         * visudo.c:
9124         quit() should not be __noreturn__ as it is non-void on some
9125         platforms.
9126         [e528c2b6ba10]
9127
9128         * auth/fwtk.c, auth/rfc1938.c, auth/securid.c, auth/securid5.c:
9129         Add local error/warning functions like err/warn but that call an
9130         additional cleanup routine in the error case. This means we no
9131         longer need to compile a special version of alloc.o for visudo.
9132         [e78e8aae882e]
9133
9134         * parse.h:
9135         Clarify comments about the data structures
9136         [ae894e266701]
9137
9138 2004-11-18  Todd C. Miller  <Todd.Miller@courtesan.com>
9139
9140         * visudo.c:
9141         Add support for VISUAL and EDITOR containing command line args. If
9142         env_editor is not set any args in VISUAL and EDITOR are ignored.
9143         Arguments are also now supported in def_editor.
9144         [ff7303b8e298]
9145
9146 2004-11-17  Todd C. Miller  <Todd.Miller@courtesan.com>
9147
9148         * parse.h:
9149         alias_matches() is no more
9150         [b59825e28084]
9151
9152         * CHANGES, TODO:
9153         sync
9154         [2b8f5f63c1de]
9155
9156         * Makefile.in:
9157         When regenerating the parser, don't replace gram.h unless it has
9158         changed.
9159         [819949668018]
9160
9161         * Makefile.in:
9162         remove Makefile.binary for distclean
9163         [351eec8d00b2]
9164
9165         * env.c:
9166         Preserve KRB5CCNAME in zero_env() and add a paranoia check to make
9167         sure we can't overflow new_env.
9168         [3284d17b9c6d]
9169
9170         * sudo_edit.c:
9171         paranoia when stripping trailing slashes from tempdir.
9172         [012f1aa2b81f]
9173
9174         * sudo.c:
9175         Set user_ngroups to 0 if getgroups() returns an error.
9176         [c46d43e9449a]
9177
9178 2004-11-16  Todd C. Miller  <Todd.Miller@courtesan.com>
9179
9180         * config.h.in, configure, configure.in, sudo.c:
9181         Add configure check for getgroups()
9182         [5d8a214e2cef]
9183
9184         * ldap.c:
9185         Use supplementary group vector in struct sudo_user.
9186         [3d0c463c034d]
9187
9188         * match.c:
9189         Only do string comparisons on the group members if there is no
9190         supplemental group list.
9191         [be1c8362f7ef]
9192
9193         * CHANGES, TODO:
9194         sync
9195         [db188bc5b975]
9196
9197         * sudo_edit.c:
9198         On Digital UNIX _PATH_VAR_TMP doesn't end with a trailing slash so
9199         chop off any trailing slashes we see and add an explicit one.
9200         [e1b477dafee1]
9201
9202         * match.c:
9203         remove bogus XXX comment
9204         [8aecb8a28d40]
9205
9206         * match.c:
9207         Get rid of alias_matches and correctly fall through to the non-alias
9208         cases when there is no alias with the specified name.
9209         [2cd555246f09]
9210
9211         * getspwuid.c:
9212         Cache non-existent passwd/group entries too.
9213         [8de9a467d271]
9214
9215         * gram.c:
9216         regen
9217         [9ece18c58f36]
9218
9219         * getspwuid.c:
9220         fix typo
9221         [9a7ae371eac1]
9222
9223         * check.c, getspwuid.c, glob.c, ldap.c, logging.c, match.c,
9224         mon_systrace.h, sudo.c, sudo.h, testsudoers.c, visudo.c:
9225         Implement group caching and use the passwd and group caches
9226         throughout.
9227         [f1d8c5015169]
9228
9229 2004-11-15  Todd C. Miller  <Todd.Miller@courtesan.com>
9230
9231         * match.c:
9232         Properly negate the return value of alias_matches() when
9233         appropriate.
9234         [ce59c4ce77ad]
9235
9236         * match.c:
9237         Make hostname_matches() return TRUE for a match, else FALSE like the
9238         caller expects.
9239         [1dc03902d3a2]
9240
9241         * Makefile.in:
9242         Add missing dependencies on gram.h
9243         [4f94bbb1d50c]
9244
9245         * match.c:
9246         Use runas_matches in alias_matches() now that we have it.
9247         [284d22e91178]
9248
9249         * parse.c, parse.h:
9250         Expand aliases in "sudo -l" mode
9251         [f67a38b79c44]
9252
9253         * gram.y, match.c:
9254         Use ALIAS for the member type when storing an alias instead of
9255         HOSTALIAS/RUNASALIAS/CMNDALIAS/USERALIAS since match.c relies on the
9256         more generic type. Expand runas_matches instead of calling
9257         user_matches() inside of it since user_matches() looks up
9258         USERALIASes, not RUNASALIASes.
9259         [52004d75232b]
9260
9261         * CHANGES, getspwuid.c:
9262         Paranoia; zero out pw_passwd before freeing passwd entry.
9263         [bd1b22638f00]
9264
9265         * LICENSE, Makefile.in, alloc.c, check.c, config.h.in, configure,
9266         configure.in, defaults.c, emul/err.h, env.c, err.c, error.c,
9267         error.h, find_path.c, interfaces.c, logging.c, mon_systrace.c,
9268         sudo.c, sudo.h, sudo_edit.c, testsudoers.c, visudo.c:
9269         Add local error/warning functions like err/warn but that call an
9270         additional cleanup routine in the error case. This means we no
9271         longer need to compile a special version of alloc.o for visudo.
9272         [25000b676cfe]
9273
9274         * match.c:
9275         Use userpw_matches() to compare usernames, not strcmp(), since the
9276         latter checks for "#uid".
9277         [fcbe4b859f66]
9278
9279         * getspwuid.c, mon_systrace.c, mon_systrace.h, sudo.c:
9280         Cache passwd db entries in 2 reb-black trees; one indexed by uid,
9281         the other by user name. The data returned from the cache should be
9282         considered read-only and is destroyed by sudo_endpwent().
9283         [ee2418ff3f86]
9284
9285         * match.c:
9286         add cast to uid_t
9287         [eb6415302d84]
9288
9289         * gram.y:
9290         missing free in alias_destroy
9291         [572ecb680ad8]
9292
9293         * redblack.c:
9294         Can't use rbapply() for rbdestroy since the destructor is passed a
9295         data pointer, not a node pointer.
9296         [11ce713830c0]
9297
9298         * getspwuid.c, logging.c, sudo.c, sudo.h:
9299         Create and use private versions of setpwent() and endpwent() that
9300         set/end the shadow password file too.
9301         [616bc76d23bf]
9302
9303         * gram.c, gram.h, gram.y, match.c, parse.h, testsudoers.c, visudo.c:
9304         Store aliases in a red-black tree.
9305         [ce017d540416]
9306
9307         * Makefile.in, redblack.c, redblack.h:
9308         red-black tree implementation
9309         [cd5586e8f48b]
9310
9311         * visudo.c:
9312         Edit all sudoers file if there were unused or undefined aliases and
9313         we are in strict mode.
9314         [b6d5f5bb7262]
9315
9316 2004-11-12  Todd C. Miller  <Todd.Miller@courtesan.com>
9317
9318         * CHANGES, def_data.c, def_data.h, def_data.in, defaults.c, env.c,
9319         find_path.c, sudoers.cat, sudoers.man.in, sudoers.pod, visudo.c:
9320         Bring back the "secure_path" Defaults option now that Defaults take
9321         effect before the path is searched.
9322         [2e52c0e27606]
9323
9324 2004-11-11  Todd C. Miller  <Todd.Miller@courtesan.com>
9325
9326         * logging.c, parse.c:
9327         A user can always list their own entries, even with -u. Better error
9328         message when failing to list another user's entries.
9329         [e2e24deb0071]
9330
9331         * parse.c, sudo.c, sudo.h:
9332         The syntax to list another user's entries is now "-u otheruser -l".
9333         Only root or users with sudo "ALL" may list other user's entries.
9334         [3c0657e8f5fe]
9335
9336         * sudo.cat, sudo.man.in, sudo.pod:
9337         Update env variable info in SECURITY NOTES
9338         [299716071024]
9339
9340         * env.c:
9341         strip CDPATH too
9342         [9b97643b26f9]
9343
9344         * env.c:
9345         strip exported bash functions from the environment.
9346         [9e5090c8284f]
9347
9348 2004-10-27  Todd C. Miller  <Todd.Miller@courtesan.com>
9349
9350         * sudo.c:
9351         Only reset sudo_user.pw based on SUDO_USER environment variables for
9352         real commands and sudoedit. This avoids a confusing message when a
9353         user tries "sudo -l" or "sudo -v" and is denied.
9354         [3ea6d0053274]
9355
9356         * gram.c, gram.y, parse.h:
9357         Extend LIST_APPEND to deal with appending lists too
9358         [d963e42f622f]
9359
9360 2004-10-26  Todd C. Miller  <Todd.Miller@courtesan.com>
9361
9362         * logging.c:
9363         Convert some bitwise AND to ISSET
9364         [130dc40d268e]
9365
9366         * lex.yy.c, toke.c:
9367         toke.c replaces lex.yy.c
9368         [048858df79e7]
9369
9370         * CHANGES, TODO:
9371         sync
9372         [d19e7abf251c]
9373
9374         * BUGS:
9375         new parser fixes most of the outstanding bugs
9376         [0891f66e3758]
9377
9378         * configure:
9379         regen
9380         [1a3358cc7283]
9381
9382         * visudo.c:
9383         Rework for the new parser. Now checks for unused aliases in sudoers.
9384         [ad462ede3094]
9385
9386         * testsudoers.c:
9387         Rewrite for the new parser. Now supports a -d flag (dump) and adds
9388         a -h flag (host). It now defaults to the local hostname unless
9389         otherwise specified.
9390         [1b69685cc601]
9391
9392         * sudo.h:
9393         Add new prototypes. Remove NOMATCH/UNSPEC (now in parse.h)
9394         [2e4fb3abfef0]
9395
9396         * sudo.c:
9397         Update for new parse. We now call find_path() *after* we have
9398         updated the global defaults based on sudoers. Also adds support for
9399         listing other user's privs if you are root.
9400         [cf3db9fc3024]
9401
9402         * mon_systrace.c:
9403         Working LDAP support; also remove a now-unneeded rewind().
9404         [649ecf1baf6b]
9405
9406         * logging.c, logging.h:
9407         Add NO_STDERR flag.
9408         [6cb935af94e0]
9409
9410         * ldap.c:
9411         Split sudo_ldap_check() into three pieces: sudo_ldap_open(),
9412         udo_ldap_update_defaults() and sudo_ldap_check(). This allows us to
9413         connecto to LDAP, apply the default options, find the command in the
9414         user's path, and then check whether the user is allowed to run it.
9415         The important thing here is that the default runas user may be
9416         specified as a default option and that needs to be set before we
9417         search for the command.
9418         [fc0426abc6f1]
9419
9420         * ldap.c:
9421         Add casts to unsigned char for isspace() to quiet a gcc warning.
9422         [e5358e3df439]
9423
9424         * defaults.h:
9425         Add prototype for update_defaults()
9426         [564dac3db74e]
9427
9428         * defaults.c:
9429         Don't warn about line numbers now that we operate on a set of data
9430         structures (or LDAP) and not a file.
9431         [bcd9ffb9b67c]
9432
9433         * config.h.in:
9434         No long use lsearch()
9435         [9d048c587319]
9436
9437         * Makefile.in:
9438         Update for new and changed file names.
9439         [6f424a7c4515]
9440
9441         * LICENSE:
9442         no more BSD lsearch.c
9443         [463a96d89026]
9444
9445         * match.c:
9446         foo_matches() routines now live in match.c Added user_matches(),
9447         runas_matches(), host_matches(), cmnd_matches() and alias_matches()
9448         that operate on the parsed sudoers file.
9449         [b14da8a0567e]
9450
9451         * parse.lex, toke.l:
9452         Move parse.lex -> toke.l Rename buffer_frob() -> switch_buffer()
9453         WORD no longer needs to exclude '@' kill yywrap()
9454         [a922294eb7b7]
9455
9456         * gram.c, gram.h, gram.y, parse.c, parse.h, parse.yacc, sudo.tab.c,
9457         sudo.tab.h:
9458         Rewritten parser that converts sudoers into a set of data
9459         structures. This eliminates ordering issues and makes it possible to
9460         apply sudoers Defaults entries before searching for the command.
9461         [30d2ec4d203c]
9462
9463         * configure.in, emul/search.h, lsearch.c:
9464         We won't be using lsearch() any longer.
9465         [29c4d54bfac0]
9466
9467         * ldap.c:
9468         sudo should not send mail if someone who runs 'sudo -l' has no
9469         entry.
9470         [6fc27a69fd9c]
9471
9472         * sudo.cat, sudo.man.in, sudoers.cat, sudoers.man.in, visudo.cat,
9473         visudo.man.in:
9474         regen
9475         [8166347917f3]
9476
9477         * visudo.pod:
9478         Update warnings to match new visudo
9479         [004c0766798f]
9480
9481         * sudoers.pod:
9482         The new parser doesn't have the old ordering constraints.
9483         [ffd43bd08661]
9484
9485         * sudo.pod:
9486         Document that -l now takes an optional username argument
9487         [278f9557de8b]
9488
9489 2004-10-25  Todd C. Miller  <Todd.Miller@courtesan.com>
9490
9491         * RUNSON:
9492         AIX 5.2.0.0 works
9493         [523acd29d858]
9494
9495         * ldap.c:
9496         If LDAP_OPT_SUCCESS is not defined, use LDAP_SUCCESS instead. Fixes
9497         a compilation problem with Solaris 9's native LDAP.
9498
9499         Set FLAG_MONITOR when needed.
9500         [35824ade672d]
9501
9502 2004-10-23  Todd C. Miller  <Todd.Miller@courtesan.com>
9503
9504         * mon_systrace.c:
9505         Call sudo_goodpath() *after* changing the cwd to match the traced
9506         process. Fixes relative paths.
9507         [12ee111d0ad7]
9508
9509 2004-10-21  Todd C. Miller  <Todd.Miller@courtesan.com>
9510
9511         * testsudoers.c:
9512         Kill set_perms() stub--it is no longer needed.
9513         [116ed702935d]
9514
9515 2004-10-13  Todd C. Miller  <Todd.Miller@courtesan.com>
9516
9517         * sudoers.cat, sudoers.man.in, sudoers.pod:
9518         stay_setuid now requires set_reuid() or setresuid()
9519         [8511f67e25d5]
9520
9521         * INSTALL, PORTING, TROUBLESHOOTING, config.h.in, configure,
9522         configure.in, set_perms.c, sudo.c, sudo.h:
9523         Kill use of POSIX saved uids; they aren't worth bothering with.
9524         [b3b1f19f18c1]
9525
9526 2004-10-07  Todd C. Miller  <Todd.Miller@courtesan.com>
9527
9528         * glob.c:
9529         remove call to issetugid()
9530         [63f2e492c08f]
9531
9532         * sudoers.cat, sudoers.man.in, sudoers.pod:
9533         Remove warning about wildcards. Now that we use glob() the bug is
9534         fixed.
9535         [b15729d32266]
9536
9537         * parse.c:
9538         Use glob(3) instead of fnmatch(3) for matching pathnames and stat
9539         each result that matches the basename of the user's command. This
9540         makes "cd /usr/bin ; sudo ./blah" work when sudoers allows
9541         /usr/bin/blah. Fixes bug #143.
9542         [e31eb6310340]
9543
9544         * config.h.in, configure, configure.in:
9545         Define HAVE_EXTENDED_GLOB for extended glob (GLOB_TILDE and
9546         GLOB_BRACE)
9547         [677ed6661e17]
9548
9549         * config.h.in, configure, configure.in:
9550         Check for a glob() that supports GLOB_BRACE and GLOB_TILDE
9551         [aaa2329dd266]
9552
9553         * LICENSE:
9554         reference glob
9555         [bedc9a923423]
9556
9557         * glob.c:
9558         4.4BSD glob(3) with fixes from OpenBSD and some unneeded extensions
9559         removed.
9560         [81799451473c]
9561
9562         * emul/glob.h:
9563         4.4BSD glob(3) with fixes from OpenBSD and some unneeded extensions
9564         removed.
9565         [0335cf31fb1e]
9566
9567 2004-10-05  Todd C. Miller  <Todd.Miller@courtesan.com>
9568
9569         * mon_systrace.c:
9570         Just return if STRIOCINJECT or STRIOCREPLACE fail. It probably
9571         means we are out of space in the stack gap...
9572         [5b02b702021e]
9573
9574         * CHANGES:
9575         sync
9576         [be3826273e56]
9577
9578         * mon_systrace.c:
9579         Take a stab at ldap sudoers support here.
9580         [9d023695b0de]
9581
9582         * mon_systrace.c, mon_systrace.h:
9583         Detach from tracee on SIGHUP, SIGINT and SIGTERM. Now "sudo reboot"
9584         doesn't cause reboot to inadvertanly kill itself.
9585         [d4aab2365610]
9586
9587         * mon_systrace.c:
9588         put "monitor" in the proctitle, not "systrace"
9589         [9a9025767d86]
9590
9591         * mon_systrace.c:
9592         When modifying the environment, don't replace envp when we can get
9593         away with just rewriting pointers in the traced process.
9594         [c03622f7a2e2]
9595
9596         * mon_systrace.c, mon_systrace.h:
9597         Add environment updating via STRIOCINJECT (if available).
9598         [037291016870]
9599
9600         * sudoers.cat, sudoers.man.in:
9601         regen
9602         [869acc511046]
9603
9604 2004-10-04  Todd C. Miller  <Todd.Miller@courtesan.com>
9605
9606         * lex.yy.c:
9607         regen
9608         [4e61a9bd3c97]
9609
9610         * parse.lex:
9611         Fix bug introduced in unput() removal; want yyless(0) not yyless(1)
9612         [b70d7bd6e147]
9613
9614         * mon_systrace.c:
9615         Include file is now mon_systrace.h
9616         [ead4e36d92ae]
9617
9618         * Makefile.in, configure, configure.in, def_data.c, def_data.h,
9619         def_data.in, lex.yy.c, parse.c, parse.h, parse.lex, parse.yacc,
9620         sudo.c, sudo.h, sudo.tab.c, sudo.tab.h, sudoers.pod:
9621         No longer call it tracing, it is now "monitoring" which should be
9622         more a obvious name to non-hackers.
9623         [aa811ded0789]
9624
9625 2004-10-01  Todd C. Miller  <Todd.Miller@courtesan.com>
9626
9627         * mon_systrace.c, mon_systrace.h:
9628         Fix some XXX
9629         [a271072dacc6]
9630
9631         * mon_systrace.c, mon_systrace.h:
9632         No need to include syscall.h, use 1024 as the max # of entries (the
9633         max that systrace(4) allows).
9634
9635         Only need to use SYSTR_POLICY_ASSIGN once
9636
9637         Change check_syscall() -> find_handler() and have it return the
9638         handler instead of just running it. We need this since handler now
9639         have two parts: one part that generates and answer and another that
9640         gets called after the answer is accepted (to do logging).
9641
9642         Add some missing check_exec for emul execv
9643         [a89d243f0525]
9644
9645         * sample.pam, sample.sudoers, sample.syslog.conf, sudoers:
9646         Add $Sudo$ tags.
9647         [6f3fedb0daba]
9648
9649         * config.h.in:
9650         Add missing HAVE_LINUX_SYSTRACE_H
9651         [ff75ab7bfc53]
9652
9653         * Makefile.in:
9654         add trace_systrace.o dependency
9655         [88a408668ab2]
9656
9657 2004-09-30  Todd C. Miller  <Todd.Miller@courtesan.com>
9658
9659         * configure, configure.in:
9660         Also look for systrace.h in /usr/include/linux
9661         [98b98b436cf3]
9662
9663         * mon_systrace.c, mon_systrace.h:
9664         Move all struct defs and prototypes into trace_systrace.h and mark
9665         all but systace_attach() static.
9666         [85511253b570]
9667
9668         * mon_systrace.c, mon_systrace.h:
9669         Add support for tracing emulations. At the moment, all emulations
9670         are compiled in. It might make sense to #ifdef them in the future,
9671         though this impeeds readability.
9672         [87bb50abf277]
9673
9674         * Makefile.in, configure, configure.in:
9675         rename systrace.c -> trace_systrace.c
9676         [31cfa4407d93]
9677
9678         * parse.yacc, sudo.tab.c:
9679         Allow this to build with a K&R compiler again
9680         [32876af5bb98]
9681
9682         * TODO:
9683         sync
9684         [46865bd70f7c]
9685
9686         * compat.h, sudo.c, visudo.c:
9687         Use __attribute__((__noreturn__))
9688         [65bbad71fe89]
9689
9690         * visudo.c:
9691         Exit() takes a negative value to indicate it was not called via
9692         signal.
9693         [b93032ed7b60]
9694
9695         * sudo.cat, sudo.man.in, sudoers.cat, sudoers.man.in, visudo.cat,
9696         visudo.man.in:
9697         regen
9698         [45bcf4661558]
9699
9700         * Makefile.in, visudo.c:
9701         Define Err() and Errx() that are like err() and errx() but call
9702         Exit() instead of exit(). Build private copy of alloc.o for visudo
9703         that calls Err() and Errx().
9704         [c6d02bf42edd]
9705
9706 2004-09-29  Todd C. Miller  <Todd.Miller@courtesan.com>
9707
9708         * lex.yy.c, sudo.tab.c:
9709         regen
9710         [39de7e7c59da]
9711
9712         * CHANGES:
9713         sync
9714         [ba481d9ed1aa]
9715
9716         * visudo.c:
9717         Overhaul visudo for editing multiple files: o visudo has been
9718         broken out into functions (more work needed here) o each file is
9719         now edited before sudoers is re-parsed o if a #include line is
9720         added that file will be edited too
9721
9722         TODO: o cleanup temp files when exiting via err() or errx() o
9723         continue breaking things out into separate functions
9724         [80c35cf534eb]
9725
9726         * parse.lex, sudo.c, sudo.h, testsudoers.c, visudo.c:
9727         Add keepopen arg to open_sudoers that open_sudoers can use to
9728         indicate to the caller that the fd should not be closed when it is
9729         done with it. To be used by visudo to keep locked fds from being
9730         closed prematurely (and thus losing the lock).
9731         [f330fe632470]
9732
9733         * parse.yacc, sudo.c:
9734         Add errorfile global that contains the name of the file that caused
9735         the error.
9736         [98079c7a37ed]
9737
9738         * parse.lex:
9739         return COMMENT to yacc grammar for a #include line
9740         [2024a8de4fa8]
9741
9742         * parse.lex:
9743         Remove us of unput() in favor of yyless() which is cheaper.
9744         [c61291902beb]
9745
9746         * parse.yacc:
9747         Allow an empty sudoers file.
9748         [62fb111db2e7]
9749
9750 2004-09-28  Todd C. Miller  <Todd.Miller@courtesan.com>
9751
9752         * mon_systrace.c:
9753         Rewind sudoers_fp now that sudoers_lookup() doesn't do it for us.
9754         [9e15869ef597]
9755
9756         * lex.yy.c, sudo.tab.c:
9757         regen
9758         [c29bdd43bfad]
9759
9760         * visudo.c:
9761         Do signal setup before calling edit_sudoers(). Don't shadow the
9762         "quiet" global.
9763         [74252efd09ff]
9764
9765         * visudo.c:
9766         If a sudoers file includes other files, edit those too. Does not yes
9767         deal with creating the new includes files itself.
9768         [06af7b9c173f]
9769
9770         * testsudoers.c:
9771         init_parser now takes a path
9772         [b5ee186eb192]
9773
9774         * parse.c, parse.h, parse.lex, parse.yacc:
9775         More scaffolding for dealing with multiple sudoers files: o
9776         init_parser() now takes a path used to populate the sudoers global
9777         o the sudoers global is used to print the correct file in yyerror()
9778         o when switching to a new sudoers file, perserve old file name and
9779         line number
9780         [d9be4970b8bd]
9781
9782         * Makefile.in, pathnames.h.in:
9783         Kill _PATH_SUDOERS_TMP; it is not meaningful now that we can have
9784         multiple sudoers files.
9785         [6ccc4e921c43]
9786
9787         * parse.c, sudo.c:
9788         Rewind sudoers_fp in open_sudoers() instead of sudoers_lookup() so
9789         we start at the right file position when reading include files.
9790         [91fcb961e7a4]
9791
9792         * sudoers.pod:
9793         document #include
9794         [fbb92a25a726]
9795
9796         * lex.yy.c:
9797         regen
9798         [50cd7a4c9dff]
9799
9800         * parse.lex:
9801         Add max depth of 128 for the include stack to avoid loops.
9802
9803         Since yyerror() doesn't stop parsing, pass return values back to
9804         yylex and call yyterminate() on error.
9805         [e79dbffb729d]
9806
9807 2004-09-27  Todd C. Miller  <Todd.Miller@courtesan.com>
9808
9809         * sudoers.pod:
9810         document tracing
9811         [165a467eadd8]
9812
9813         * sudo.pod:
9814         Mention PREVENTING SHELL ESCAPES section of sudoers man page
9815         [3217ccecd834]
9816
9817         * lex.yy.c, sudo.tab.c:
9818         regen
9819         [fbd58d1d3a76]
9820
9821         * parse.lex:
9822         Add support for #include in sudoers (visudo support TBD)
9823         [a78015ca81af]
9824
9825         * parse.yacc:
9826         make yyerror()'s argument const
9827         [7d8e168c019a]
9828
9829         * testsudoers.c, visudo.c:
9830         Add open_sudoers() stubs.
9831         [087466787198]
9832
9833         * sudo.c, sudo.h:
9834         Rename check_sudoers() open_sudoers() and make it return a FILE *
9835         [142fc511fc65]
9836
9837 2004-09-26  Todd C. Miller  <Todd.Miller@courtesan.com>
9838
9839         * BUGS, INSTALL, INSTALL.binary, Makefile.in, README, configure.in,
9840         version.h:
9841         Crank version
9842         [1adc3f839480]
9843
9844         * Makefile.in, sudo.psf:
9845         Better HP-UX depot construction
9846         [2d952b000e63]
9847
9848 2004-09-25  Todd C. Miller  <Todd.Miller@courtesan.com>
9849
9850         * mon_systrace.c:
9851         o Made children global so check_exec() can lookup a child. o
9852         Replaced uid in struct childinfo with struct passwd * (for runas) o
9853         new_child() now takes a parent pid so the runas info can be
9854         inherited o Added find_child() to lookup a child by its pid o
9855         update_child() now fills in a struct passwd o Converted the big
9856         if/else mess in set_policy to a switch o Syscalls that change uid
9857         are now "ask" so we get SYSTR_MSG_UGID events
9858         [29b9ea3f09a3]
9859
9860         * getspwuid.c:
9861         Add flag to sudo_pwdup that indicates whether or not to lookup the
9862         shadow password. Will be used to a struct passwd that has the
9863         shadow password already filled in.
9864         [e19d43dd7238]
9865
9866         * mon_systrace.c:
9867         add missing increment of addr in read_string()
9868         [f9eb0f060cb6]
9869
9870         * mon_systrace.c:
9871         Remove bogus call to update_child() and some cosmetic fixes
9872         [701ab0b97fef]
9873
9874         * mon_systrace.c:
9875         Don't leak /dev/systrace fd to tracee Make initialized global for
9876         simplicity If STRIOCATTACH returns EBUSY we are already being traced
9877         Check for user_args == NULL in setproctitle() call Add missing calls
9878         to STRIOCANSWER
9879         [1956edf9bc3a]
9880
9881         * sudo.c:
9882         g/c sudo_pwdup proto
9883         [b7c4d6249ecb]
9884
9885         * Makefile.in, sudo.psf:
9886         Add target for building a depot file
9887         [357019efd99b]
9888
9889         * mon_systrace.c:
9890         trim includes
9891         [501534428471]
9892
9893 2004-09-24  Todd C. Miller  <Todd.Miller@courtesan.com>
9894
9895         * lex.yy.c, sudo.tab.c, sudo.tab.h:
9896         regen
9897         [52fd250c6986]
9898
9899         * INSTALL:
9900         document --with-systrace
9901         [79623927c94e]
9902
9903         * config.h.in, configure, configure.in:
9904         Add check for setproctitle
9905         [1730cf1c26ed]
9906
9907         * mon_systrace.c:
9908         pass struct str_msg_ask in to syscall checker so it can set the
9909         error code
9910         [1703fd2fdef6]
9911
9912         * mon_systrace.c:
9913         systrace(4) support for sudo. On systems with the systrace(4)
9914         kernel facility (OpenBSD, NetBSD, Linux w/ patches) sudo can
9915         intercept exec calls and check the exec args against the sudoers
9916         file. In other words, sudo can now control subcommands and shell
9917         escapes.
9918         [928c9217c386]
9919
9920         * sudo.c, sudo.h:
9921         Call systrace_attach() if FLAG_TRACE is set.
9922         [014ba9402fa5]
9923
9924         * parse.c, parse.h, parse.lex, parse.yacc, sudo.h:
9925         Add trace Defaults option and TRACE/NOTRACE tags and set FLAG_TRACE
9926         [a99904db5e56]
9927
9928         * parse.c, sudo.c:
9929         Don't close sudoers_fp, keep it open and set close on exec flag
9930         instead.
9931         [43a9fec60bee]
9932
9933         * def_data.c, def_data.h, def_data.in:
9934         Add trace option
9935         [5b643b86730a]
9936
9937         * Makefile.in:
9938         Add systrace
9939         [47a0519c427c]
9940
9941         * INSTALL:
9942         SunOS /bin/sh blows up with configure
9943         [005a23cc5615]
9944
9945         * configure, configure.in:
9946         Include sys/param.h before systrace.h
9947         [9345bc8efecf]
9948
9949         * configure:
9950         regen
9951         [a8f53fcbb254]
9952
9953         * pathnames.h.in:
9954         _PATH_DEV_SYSTRACE
9955         [d2ad1e492a00]
9956
9957         * configure.in:
9958         line up options in --help
9959         [fa51f2821d09]
9960
9961         * config.h.in, configure.in:
9962         Add --with-systrace
9963         [a264d54bc413]
9964
9965 2004-09-23  Todd C. Miller  <Todd.Miller@courtesan.com>
9966
9967         * configure:
9968         regen
9969         [a4dad0bcc523]
9970
9971         * aclocal.m4, configure.in:
9972         make this work with autoconf-2.59
9973         [c4a92b6a684a]
9974
9975 2004-09-16  Todd C. Miller  <Todd.Miller@courtesan.com>
9976
9977         * sudo_edit.c:
9978         Simplify logic around open & stat of files and do sanity on edited
9979         file even if we lack fstat (still racable but worth doing).
9980         [adda65ade70c]
9981
9982 2004-09-15  Todd C. Miller  <Todd.Miller@courtesan.com>
9983
9984         * HISTORY:
9985         Add support url
9986         [bf6590fbde9f]
9987
9988         * Makefile.in:
9989         versino 1.6.8p1
9990         [b84ebfaf1552] [SUDO_1_6_8p1]
9991
9992         * CHANGES:
9993         more changes for 1.6.8p1
9994         [e23a9c0393b6]
9995
9996         * version.h:
9997         1.6.8p1
9998         [872f14504b5f]
9999
10000         * CHANGES, sudo_edit.c:
10001         Add sanity check so we don't try to edit something other than a
10002         regular file.
10003         [350134ec6d4e]
10004
10005 2004-09-15  Aaron Spangler  <aaron777@gmail.com>
10006
10007         * CHANGES:
10008         sync
10009         [3091ca9eae00]
10010
10011         * INSTALL:
10012         document --with-ldap-conf-file
10013         [0e2cd6b896f1]
10014
10015 2004-09-14  Todd C. Miller  <Todd.Miller@courtesan.com>
10016
10017         * CHANGES, ins_csops.h:
10018         political correctness strikes again
10019         [428e8bc77f55]
10020
10021         * RUNSON:
10022         sync
10023         [27f44bd423dc]
10024
10025 2004-09-12  Todd C. Miller  <Todd.Miller@courtesan.com>
10026
10027         * Makefile.binary.in, Makefile.in:
10028         Install sudoedit man link
10029         [19a55234fc1f]
10030
10031         * INSTALL:
10032         Update PAM note and mention where HP-UX users can download gcc
10033         binaries.
10034         [d37cdbbabfd4]
10035
10036         * Makefile.in:
10037         libtool wants to install stuff from .libs so fake one up for binary
10038         installations.
10039         [a681bc6fcfba]
10040
10041         * Makefile.binary.in:
10042         rm -f old sudoedit link instead of using ln -f set LIBTOOL correctly
10043         [3e0c4b3372cc]
10044
10045         * Makefile.in:
10046         Deal with "uname -m" having slashes in it rm -f old sudoedit link
10047         instead of using ln -f
10048         [cff33fb97e5b]
10049
10050         * Makefile.binary, Makefile.binary.in:
10051         Makefile.binary -> Makefile.binary.in for config.status substitution
10052         Add support for installing noexec bits
10053         [37d8bb3483c6]
10054
10055         * Makefile.in:
10056         Copy noexec bits into binary dists too No longer use my old arch
10057         script for making binary dists
10058         [e7058bab9e33]
10059
10060         * Makefile.binary:
10061         Install sudoedit link.
10062         [417d1e101711]
10063
10064 2004-09-11  Todd C. Miller  <Todd.Miller@courtesan.com>
10065
10066         * emul/utime.h:
10067         avoid __P so there is no need for compat.h to be included
10068         [6d8d1f1abf7d]
10069
10070         * utimes.c:
10071         Don't use HAVE_UTIME_H before including config.h.
10072         [013b7bb61181]
10073
10074 2004-09-10  Todd C. Miller  <Todd.Miller@courtesan.com>
10075
10076         * compat.h:
10077         Fix Solatis futimes macro
10078         [d4eda2ca0d29]
10079
10080 2004-09-09  Todd C. Miller  <Todd.Miller@courtesan.com>
10081
10082         * sudo_edit.c:
10083         Rename ots -> omtim for improved readability.
10084         [127ca5bb297c]
10085
10086 2004-09-08  Todd C. Miller  <Todd.Miller@courtesan.com>
10087
10088         * sudo_edit.c:
10089         Redo changes in revision 1.7. Don't really need to keep the temp
10090         file open; re-opening it with the invoking user's euid is
10091         sufficient.
10092         [55a883165a95]
10093
10094         * CHANGES:
10095         sync
10096         [9015b291170d]
10097
10098         * sudo.cat, sudo.man.in:
10099         regen
10100         [c0313f6ed783]
10101
10102         * sudo.pod:
10103         back out revision 1.70; it is no long applicable
10104         [b641d503aff6]
10105
10106         * env.c:
10107         Let the loader initialize nep
10108         [bec192139b02]
10109
10110         * config.h.in, configure, configure.in:
10111         Removed unneed check for fchown Add check for gettimeofday Move
10112         autoheader template stuff into separate AH_TEMPLATE lines
10113         [bfc0edbd43f2]
10114
10115         * check.c, compat.h, fileops.c, sudo.h, sudo_edit.c, visudo.c:
10116         Use timespec throughout.
10117         [1a178a23b69b]
10118
10119         * Makefile.in:
10120         gettime.[co]
10121         [6aeb48a7ab7f]
10122
10123         * gettime.c:
10124         function to return the current time in a struct timespec
10125         [bf8eb12cb63f]
10126
10127         * utimes.c:
10128         Not a darpa-sponsored file.
10129         [121ce5e2036c]
10130
10131 2004-09-07  Todd C. Miller  <Todd.Miller@courtesan.com>
10132
10133         * compat.h, config.h.in, configure, configure.in:
10134         Add a check for struct timespec and provide it for those without.
10135         [42124055030d]
10136
10137         * config.h.in, configure, configure.in, sudo_edit.c:
10138         Add checks for st_mtim and st_mtimespec and add macros for pulling
10139         the mtime sec and nsec out of struct stat. These are used in
10140         sudo_edit() to better tell whether or not the file has changed.
10141         [23debfbb3fab]
10142
10143         * check.c, fileops.c, sudo.h, sudo_edit.c, visudo.c:
10144         Add an extra param to touch() for nsec
10145         [56f7a4ba8ddb]
10146
10147         * sudo_edit.c:
10148         Call mkstemp() as the in invoking user so we don't have to chown the
10149         file later. Only touch() the temp file if we can do it via the file
10150         descriptor. Don't check for modification of the temp file if we lack
10151         fstat(). Catch errors read()ing the temp file.
10152         [665f52c70836]
10153
10154         * fileops.c:
10155         If path is NULL and fd == -1 return -1.
10156         [757a518a824c]
10157
10158         * sudo_edit.c:
10159         closefrom() is overkill, the only extra fds are the ones we opened
10160         so just close those in the child.
10161         [f361c9d2a1f4]
10162
10163         * Makefile.in, aclocal.m4, check.c, compat.h, config.h.in, configure,
10164         configure.in, fileops.c, sudo.h, sudo_edit.c, utime.c, utimes.c,
10165         visudo.c:
10166         Use utimes() and futimes() instead of utime() in touch(), emulating
10167         as needed. Not all systems are able to support setting the times of
10168         an fd so touch() takes both an fd and a file name as arguments.
10169         [3d9276f29717]
10170
10171 2004-09-07  Aaron Spangler  <aaron777@gmail.com>
10172
10173         * env.c:
10174         Rare SEGV
10175         [8995f828782d]
10176
10177 2004-09-06  Todd C. Miller  <Todd.Miller@courtesan.com>
10178
10179         * sudo.cat, sudo.man.in, sudoers.cat, sudoers.man.in, visudo.cat,
10180         visudo.man.in:
10181         regen
10182         [b8e9406711c5]
10183
10184         * sudo.pod, sudoers.pod, visudo.pod:
10185         Add SUPPORT section and re-order some of the sections to match the
10186         order we use in OpenBSD.
10187         [fa37bd917e2c]
10188
10189 2004-09-06  Aaron Spangler  <aaron777@gmail.com>
10190
10191         * env.c:
10192         Openldap ~/.ldaprc fix
10193         [1a37afe6850f]
10194
10195 2004-09-06  Todd C. Miller  <Todd.Miller@courtesan.com>
10196
10197         * sudo.pod:
10198         Talk about how the editor must write its changes to the original
10199         file and not just use rename(2).
10200         [c55ed91c5ee9]
10201
10202         * CHANGES:
10203         sync
10204         [62af26bd37a2]
10205
10206         * sudo_edit.c:
10207         Keep the temp file open instead of re-opening after the editor has
10208         exited.
10209         [de41eeb6dcf2]
10210
10211         * sample.pam:
10212         Update for current redhat/fedora core.
10213         [8cf083077333]
10214
10215 2004-09-03  Aaron Spangler  <aaron777@gmail.com>
10216
10217         * README.LDAP:
10218         tls_ examples
10219         [ba783d88a034]
10220
10221 2004-09-02  Aaron Spangler  <aaron777@gmail.com>
10222
10223         * ldap.c:
10224         config tls_* options
10225         [0b0e0797b3b9]
10226
10227 2004-08-29  Todd C. Miller  <Todd.Miller@courtesan.com>
10228
10229         * configure, configure.in:
10230         No need for -lcrypt when using pam.
10231         [41fff3a53e68]
10232
10233 2004-08-27  Todd C. Miller  <Todd.Miller@courtesan.com>
10234
10235         * configure:
10236         regen
10237         [75820aecce2c]
10238
10239 2004-08-27  Aaron Spangler  <aaron777@gmail.com>
10240
10241         * configure.in, ldap.c, pathnames.h.in:
10242         Allow --with-ldap-conf-file option to override LDAP_CONF
10243         [c9909bc484a5]
10244
10245         * ldap.c:
10246         cleanup debug message
10247         [1f6ca4824d8d]
10248
10249 2004-08-26  Aaron Spangler  <aaron777@gmail.com>
10250
10251         * README.LDAP:
10252         more config info
10253         [f2e7147fd507]
10254
10255 2004-08-24  Todd C. Miller  <Todd.Miller@courtesan.com>
10256
10257         * TODO, find_path.c, goodpath.c, parse.c, sudo.c, sudo.h, visudo.c:
10258         Add cmnd_base to struct sudo_user and set it in init_vars(). Add
10259         cmnd_stat to struct sudo_user and set it in sudo_goodpath(). No
10260         longer use gross statics in command_matches(). Also rename some
10261         variables for improved clarity.
10262         [7169a6c7bea4]
10263
10264 2004-08-21  Todd C. Miller  <Todd.Miller@courtesan.com>
10265
10266         * INSTALL:
10267         document HP's crippled compiler deficiency.
10268         [c405ea5a8d4c]
10269
10270         * INSTALL:
10271         Fix some thinkos in --with-editor and --with-env-editor
10272         descriptions. Noticed by Norihiko Murase.
10273         [dd781de1c985]
10274
10275         * configure, configure.in:
10276         --with-noexec takes an optional PATH argument.
10277         [8f6ab77f22cc]
10278
10279         * INSTALL:
10280         document --with-noexec
10281         [50cb1fc627ce]
10282
10283 2004-08-17  Todd C. Miller  <Todd.Miller@courtesan.com>
10284
10285         * RUNSON, TODO:
10286         sync
10287         [f2503bd13373] [SUDO_1_6_8]
10288
10289         * sudo_edit.c:
10290         Better warning message when sudoedit is unable to write to the
10291         destination file.
10292         [f78c18f2ffa8]
10293
10294         * sudo.cat, sudo.man.in:
10295         regen
10296         [7e2bf63d6d9a]
10297
10298         * sudo.pod:
10299         Don't italicize the string "sudoedit"
10300         [c691643bd269]
10301
10302 2004-08-16  Todd C. Miller  <Todd.Miller@courtesan.com>
10303
10304         * HISTORY:
10305         Mention GratiSoft.
10306         [dc53de581b2d]
10307
10308 2004-08-11  Todd C. Miller  <Todd.Miller@courtesan.com>
10309
10310         * sudo.tab.c:
10311         regen
10312         [8ae0484dfc38]
10313
10314         * parse.yacc:
10315         Reset used_runas to FALSE when re-intializing the parser.
10316         [b7403f353a02]
10317
10318 2004-08-09  Todd C. Miller  <Todd.Miller@courtesan.com>
10319
10320         * config.guess:
10321         Correct OpenBSD mips support
10322         [314fc7afc165]
10323
10324         * config.guess:
10325         Add OpenBSD/mips
10326         [ac87d0a773ef]
10327
10328 2004-08-07  Aaron Spangler  <aaron777@gmail.com>
10329
10330         * README.LDAP:
10331         More behavior notes
10332         [13be1d212b47]
10333
10334         * README.LDAP:
10335         Updates on current behavior
10336         [d498a8866d6f]
10337
10338 2004-08-06  Todd C. Miller  <Todd.Miller@courtesan.com>
10339
10340         * sudoers.pod:
10341         =back does not take an indentlevel (makes no difference to formatted
10342         files).
10343         [9c8523bb382a]
10344
10345         * sudo.pod:
10346         =back does not take an indentlevel (makes no difference to formatted
10347         files).
10348         [e5f479e24fa8]
10349
10350         * CHANGES:
10351         new
10352         [2dbd9aba8b33]
10353
10354         * sudo.c:
10355         Consistency. Use same error for bad -u #uid when targetpw is set as
10356         we do when a bad -u username is specified.
10357         [922961c4a9d6]
10358
10359         * TODO:
10360         Add checksum idea from Steve Mancini
10361         [e6ece1b766ba]
10362
10363         * sudoers.cat, sudoers.man.in:
10364         regen
10365         [370d2317829f]
10366
10367         * sudo.cat, sudo.man.in:
10368         regen
10369         [f93d41fc38b1]
10370
10371         * sudo.pod, sudoers.pod:
10372         Document the restriction on uids specified via -u when targetpw is
10373         set.
10374         [878fedb455db]
10375
10376         * sudo.c:
10377         Error out when targetpw is enabled and sudo is run with -u #uid but
10378         #uid does not exist in the passwd database. We can't do target
10379         authentication when the target is not in passwd!
10380         [27c5888c86eb]
10381
10382         * sudo.cat, sudo.man.in, sudoers.cat, sudoers.man.in:
10383         regen
10384         [ceb65711050c]
10385
10386         * TODO:
10387         Some more todo for the next release.
10388         [7b7417be7601]
10389
10390         * INSTALL:
10391         Make it clear that PAM should be used for DCE support when possible.
10392         [7502029fd385]
10393
10394         * sudoers.pod:
10395         o Document problems with wildcards and relative paths. o Make the
10396         order requirements more prominent. o Change a "set" to "reset" for
10397         clarity.
10398         [bacdd181b33f]
10399
10400 2004-08-05  Todd C. Miller  <Todd.Miller@courtesan.com>
10401
10402         * sudo.pod:
10403         Mention --with-secure-path, not SECURE_PATH.
10404         [41283ddde5e1]
10405
10406 2004-08-03  Aaron Spangler  <aaron777@gmail.com>
10407
10408         * ldap.c:
10409         reflect changes to parse.c
10410         [8880fe9b724d]
10411
10412 2004-08-02  Todd C. Miller  <Todd.Miller@courtesan.com>
10413
10414         * sudo.tab.c:
10415         regen
10416         [a57658ca9177]
10417
10418         * parse.c, parse.h, testsudoers.c, visudo.c:
10419         Don't pass user_cmnd and user_args to command_matches(), just use
10420         the globals there. Since we keep state with statics anyway it is
10421         misleading to pretend that passing in different cmnd and cmnd_args
10422         will work.
10423         [0a2544991fd6]
10424
10425         * parse.yacc:
10426         Don't pass user_cmnd and user_args to command_matches(), just use
10427         the globals there. Since we keep state with statics anyway it is
10428         misleading to pretend that passing in different cmnd and cmnd_args
10429         will work.
10430         [a4910bf6032b]
10431
10432         * parse.c:
10433         Fix a bug introduced in rev. 1.149. When checking for pseudo-
10434         commands check for a '/' anywhere in cmnd, not just the first
10435         character.
10436         [ce98142f03ca]
10437
10438 2004-07-31  Aaron Spangler  <aaron777@gmail.com>
10439
10440         * sudo.man.in, sudo.pod:
10441         Clarification thanks to Olivier Blin <oblin@mandrakesoft.com>
10442         [a91800e094b1]
10443
10444         * sudoers.man.in, sudoers.pod:
10445         Add ignore_local_sudoers
10446         [741ddcbf7083]
10447
10448         * README.LDAP:
10449         Sun One schema definition by Andreas.Bussjaeger@t-systems.com and
10450         janth@moldung.no
10451         [742c02e07cd9]
10452
10453 2004-07-29  Todd C. Miller  <Todd.Miller@courtesan.com>
10454
10455         * CHANGES:
10456         typo
10457         [e7cdefbd7a9a]
10458
10459 2004-07-23  Todd C. Miller  <Todd.Miller@courtesan.com>
10460
10461         * CHANGES:
10462         sync
10463         [734dafc4a85e]
10464
10465         * parse.c:
10466         Parse sudoers file as PERM_RUNAS not PERM_ROOT and remove a useless
10467         PERM_SUDOERS. Restore to PERM_ROOT upon exit of the parse.
10468         [151b7f593568]
10469
10470 2004-07-08  Todd C. Miller  <Todd.Miller@courtesan.com>
10471
10472         * CHANGES:
10473         PAM change
10474         [d8fb6d6a22d0]
10475
10476 2004-07-08  Aaron Spangler  <aaron777@gmail.com>
10477
10478         * ldap.c:
10479         Better debugging of ALL command
10480         [9db3e84029dc]
10481
10482 2004-07-08  Todd C. Miller  <Todd.Miller@courtesan.com>
10483
10484         * parse.c:
10485         When matching for "sudoedit" in sudoers check both the command the
10486         user typed *and* the command that is listed in the sudoers entry.
10487         [f36ca1f94095]
10488
10489 2004-07-04  Aaron Spangler  <aaron777@gmail.com>
10490
10491         * ldap.c:
10492         Added !command feature
10493         [ed539574611b]
10494
10495 2004-06-28  Todd C. Miller  <Todd.Miller@courtesan.com>
10496
10497         * auth/pam.c:
10498         Use pam_acct_mgmt() to check for disabled accounts; Brian Farrell
10499         [2be8e0e8813a]
10500
10501 2004-06-11  Todd C. Miller  <Todd.Miller@courtesan.com>
10502
10503         * LICENSE:
10504         License is ISC-style, not BSD-style
10505         [ac0589e1dd5d]
10506
10507         * CHANGES:
10508         sync
10509         [16058a30f404]
10510
10511 2004-06-10  Todd C. Miller  <Todd.Miller@courtesan.com>
10512
10513         * sudo.cat, sudo.man.in:
10514         regen
10515         [8820eb9c809b]
10516
10517         * sudo.pod:
10518         o Update some out of date bits to reality o Change the shell promt
10519         in examples to bourne-shell style o Clarify some details o Add a
10520         CAVEAT about "sudo cd /foo"
10521         [b0af373214b6]
10522
10523         * check.c:
10524         Don't ask for a password if invoking user == target user.
10525         [dd5c96141132]
10526
10527         * sudo.c:
10528         typo in comment
10529         [278d20f9b249]
10530
10531 2004-06-08  Todd C. Miller  <Todd.Miller@courtesan.com>
10532
10533         * sudoers.cat, sudoers.man.in:
10534         regen
10535         [9036c6f39eff]
10536
10537         * sudoers.pod:
10538         Expand on NOEXEC a little.
10539         [9a13756aebe4]
10540
10541         * TODO:
10542         sync
10543         [8d2c1af48de8]
10544
10545         * visudo.cat, visudo.man.in:
10546         regen
10547         [3921f01607c8]
10548
10549         * sudo.tab.c:
10550         regen
10551         [9338c3d68250]
10552
10553         * visudo.pod:
10554         Add a check in visudo for runas_default being set after it has
10555         already been used.
10556         [6700358d7ad8]
10557
10558         * CHANGES, parse.yacc, visudo.c:
10559         Add a check in visudo for runas_default being set after it has
10560         already been used.
10561         [803560986a8a]
10562
10563         * sudo.tab.c:
10564         regen
10565         [b60636e2cf63]
10566
10567         * parse.yacc:
10568         Add a MATCHED macro for testing whether foo_matches has been set to
10569         TRUE or FALSE. This is more readable than checking for >=0 or < 0.
10570         Doesn't change the actual code generated.
10571         [f376da8ccdc8]
10572
10573 2004-06-07  Todd C. Miller  <Todd.Miller@courtesan.com>
10574
10575         * sudoers.cat:
10576         regen
10577         [6cceb6d6c9bd]
10578
10579         * sudoers.man.in:
10580         regen
10581         [5acd12b730b3]
10582
10583         * sudoers.pod:
10584         Correct description of where Defaults specs should go.
10585         [6b11ff53d7ad]
10586
10587         * sudoers:
10588         Correct description of where Defaults specs should go.
10589         [868db857630d]
10590
10591         * testsudoers.c, visudo.c:
10592         update (c) year
10593         [272c8a53604c]
10594
10595         * logging.h:
10596         update (c) year
10597         [3cec76d400ce]
10598
10599         * ldap.c:
10600         update (c) year
10601         [f264632488a0]
10602
10603         * find_path.c:
10604         update (c) year
10605         [40c227af9227]
10606
10607         * auth/pam.c:
10608         update (c) year
10609         [87149e0eed50]
10610
10611         * auth/bsdauth.c, auth/kerb5.c:
10612         update (c) year
10613         [d72eb434c068]
10614
10615 2004-06-06  Todd C. Miller  <Todd.Miller@courtesan.com>
10616
10617         * sudo.tab.c:
10618         regen
10619         [83408d9e9d2e]
10620
10621         * auth/bsdauth.c, auth/kerb5.c, auth/pam.c, visudo.c:
10622         Remove trailing spaces, no actual code changes.
10623         [4c3bf2819293]
10624
10625         * tgetpass.c:
10626         Remove trailing spaces, no actual code changes.
10627         [96f6e0a24c26]
10628
10629         * ldap.c, logging.h, parse.c, parse.yacc, sudo.c, testsudoers.c:
10630         Remove trailing spaces, no actual code changes.
10631         [c7075d1cbed5]
10632
10633         * getcwd.c:
10634         Remove trailing spaces, no actual code changes.
10635         [776cc0374547]
10636
10637         * find_path.c:
10638         Remove trailing spaces, no actual code changes.
10639         [7ed7099f3c71]
10640
10641         * compat.h, defaults.c, env.c:
10642         Remove trailing spaces, no actual code changes.
10643         [893e83c33795]
10644
10645         * check.c:
10646         Remove trailing spaces, no actual code changes.
10647         [f77750f8803b]
10648
10649         * sudo.tab.c:
10650         regen
10651         [62e0ed883b31]
10652
10653         * parse.yacc:
10654         Fix a >=0 that should be <0 that was improperly converted when
10655         UNSPEC was added.
10656         [ad1531a55a49]
10657
10658         * parse.yacc:
10659         Add do {} while(0) around pop macro Set cmnd_matches to UNSPEC, not
10660         NOMATCH when resetting it.
10661         [ae017a12870a]
10662
10663         * parse.yacc:
10664         Fix pastos introduced in SETNMATCH addition.
10665         [6ea1c9d80681]
10666
10667 2004-06-05  Todd C. Miller  <Todd.Miller@courtesan.com>
10668
10669         * README.LDAP:
10670         Update for configure changes
10671         [637a635da287]
10672
10673         * sudo.tab.c:
10674         regen
10675         [4753c2788713]
10676
10677         * sudo.h:
10678         Add NOMATCH and UNSPEC defines (-1 and -2 respectively) and use
10679         these in parse.yacc. Also in parse.yacc initialize the *_matches
10680         vars to UNSPEC and add two macros, SETMATCH and SETNMATCH for use
10681         when setting *_matches to a value that may be
10682         NOMATCH/UNSPEC/TRUE/FALSE.
10683         [2ba622e15a4d]
10684
10685         * parse.yacc:
10686         Add NOMATCH and UNSPEC defines (-1 and -2 respectively) and use
10687         these in parse.yacc. Also in parse.yacc initialize the *_matches
10688         vars to UNSPEC and add two macros, SETMATCH and SETNMATCH for use
10689         when setting *_matches to a value that may be
10690         NOMATCH/UNSPEC/TRUE/FALSE.
10691         [746b519e41a6]
10692
10693         * parse.yacc:
10694         Initialize runas to -2, not -1 since we need to be able to
10695         distinguish between the initialized value and the value of a non-
10696         match when passing along the runas value to multiple commands.
10697
10698         The result of this is that an unmatched runas is now set to -1, not
10699         0. This is required now that parse.c treats a FALSE value for runas
10700         as being explicitly denied.
10701         [7791ed3621f6]
10702
10703 2004-06-03  Todd C. Miller  <Todd.Miller@courtesan.com>
10704
10705         * sudo.c, visudo.c:
10706         Error out if argc < 1.
10707         [ce6b2a9eda3c]
10708
10709         * getprogname.c:
10710         Error out if argc < 1.
10711         [c566cce8dc78]
10712
10713         * configure, configure.in:
10714         Add tests for what libs we need to link with for ldap and for
10715         whether or not lber.h needs to be explicitly included.
10716         [b2e9729cc4e7]
10717
10718 2004-06-03  Aaron Spangler  <aaron777@gmail.com>
10719
10720         * ldap.c:
10721         Solaris native LDAP build fix
10722         [39929e40eb11]
10723
10724 2004-06-01  Todd C. Miller  <Todd.Miller@courtesan.com>
10725
10726         * ldap.c:
10727         Set edn to NULL is ldap_get_dn() fails to avoid potential use of an
10728         unset variable.
10729         [6a4c20a66f98]
10730
10731         * sudo.h:
10732         Add prototype for sudo_ldap_list_matches
10733         [443b007a8dab]
10734
10735         * configure, configure.in:
10736         Better check for dirfd macro--we now set HAVE_DIRFD for the macro
10737         version too. Added check for dd_fd in `DIR' if no dirfd is found;
10738         this is now used to confitionally define the dirfd macro in
10739         compat.h.
10740         [567656978f7e]
10741
10742         * config.h.in:
10743         Better check for dirfd macro--we now set HAVE_DIRFD for the macro
10744         version too. Added check for dd_fd in `DIR' if no dirfd is found;
10745         this is now used to confitionally define the dirfd macro in
10746         compat.h.
10747         [34eace4faec8]
10748
10749         * compat.h:
10750         Better check for dirfd macro--we now set HAVE_DIRFD for the macro
10751         version too. Added check for dd_fd in `DIR' if no dirfd is found;
10752         this is now used to confitionally define the dirfd macro in
10753         compat.h.
10754         [8d50ff1bbf2a]
10755
10756         * closefrom.c:
10757         Only check /proc/$$/fd if we have the dirfd function/macro.
10758         [15e3ccce7553]
10759
10760         * compat.h, config.h.in, configure, configure.in:
10761         Add a check for a dirfd() function (like Linux) and add a dirfd
10762         macro in compat.h if there is no dirfd() function or macro.
10763         [1e95756edb50]
10764
10765         * closefrom.c, getcwd.c:
10766         dirfd() is now defined in compat.h as needed.
10767         [bb1d79271188]
10768
10769         * CHANGES:
10770         Clarify closefrom() note.
10771         [f4e4a5508dda]
10772
10773         * parse.c:
10774         When checking for a command in the directory, only copy the base dir
10775         once.
10776         [7a3276808b87]
10777
10778         * closefrom.c:
10779         If there is a /proc/$$/fd directory, behave like the Solaris
10780         closefrom() and only close the descriptors listed therein.
10781         [19de23779e84]
10782
10783         * alloc.c:
10784         compat.h guarantees INT_MAX is defined.
10785         [1bf0c79d4606]
10786
10787         * compat.h:
10788         Add definitions of OPEN_MAX and INT_MAX for those without it and
10789         remove definition of RLIM_INFINITY (now unused).
10790         [f827d1ebf96e]
10791
10792         * CHANGES, alloc.c, check.c, compat.h, find_path.c, getcwd.c, parse.c,
10793         sudo.c, sudo.h, visudo.c:
10794         Use PATH_MAX, not MAXPATHLEN since the former is standardized.
10795         [59788f211c24]
10796
10797 2004-05-31  Todd C. Miller  <Todd.Miller@courtesan.com>
10798
10799         * CHANGES:
10800         sync
10801         [d32fa124f1ad]
10802
10803         * RUNSON:
10804         Add some entries that were mailed in a while ago
10805         [ff8d5bfec54e]
10806
10807         * closefrom.c:
10808         o sysconf returns a long, not an int. o check for negative return
10809         value from sysconf/getdtablesize and use OPEN_MAX in this case. o
10810         define OPEN_MAX to 256 for those without it (a fair guess...)
10811         [ccf81ae6deb2]
10812
10813 2004-05-30  Todd C. Miller  <Todd.Miller@courtesan.com>
10814
10815         * UPGRADE:
10816         Mention change in parse order for RunAs entries.
10817         [dc73b0bca617]
10818
10819         * configure:
10820         regen
10821         [07cce8e0534e]
10822
10823 2004-05-29  Todd C. Miller  <Todd.Miller@courtesan.com>
10824
10825         * INSTALL, README.LDAP, config.h.in, configure.in:
10826         o --with-ldap now takes an optional dir as a parameter o added
10827         check for ldap_initialize() and start_tls_s()
10828         [2b846c7974c6]
10829
10830         * README.LDAP:
10831         Fix some typos, word choice and formatting issues.
10832         [00dc8ca84b10]
10833
10834 2004-05-28  Todd C. Miller  <Todd.Miller@courtesan.com>
10835
10836         * tgetpass.c:
10837         Use SA_INTERRUPT so SunOS works correctly, avoid stdio and just use
10838         read/write as it is simpler.
10839         [30f5446ee8b0]
10840
10841         * configure, configure.in:
10842         Remove hack overriding cross-compiler check. It should no longer be
10843         needed.
10844         [22a6cbd88608]
10845
10846         * compat.h:
10847         Remove select() compat bits since we no longer use select().
10848         [d7bbf7cd36f5]
10849
10850         * CHANGES, tgetpass.c:
10851         Use alarm() instead of select() for the timeout for systems that
10852         don't fully/properly implement select().
10853         [d7cc60f15800]
10854
10855 2004-05-27  Todd C. Miller  <Todd.Miller@courtesan.com>
10856
10857         * CHANGES:
10858         synbc
10859         [132a39788e07]
10860
10861         * RUNSON:
10862         update
10863         [61ef508380c6]
10864
10865         * set_perms.c:
10866         Deal with systems that have no way of setting the effective uid such
10867         as nsr-tandem-nsk.
10868         [306e00e9b5a4]
10869
10870         * configure, configure.in:
10871         Define NO_SAVED_IDS if we don't find seteuid()
10872         [8588f18345cf]
10873
10874         * config.h.in, configure, configure.in:
10875         Add back check for setreuid() since NSK doesn't have it.
10876         [43127bd703d1]
10877
10878         * sudoers.cat, sudoers.man.in:
10879         regen
10880         [af4f4b20e422]
10881
10882         * CHANGES:
10883         sync
10884         [29ca3b699c24]
10885
10886         * BUGS:
10887         sync
10888         [3593f17f72ed]
10889
10890         * parse.c:
10891         In sudoers_lookup() return VALIDATE_NOT_OK if the runas user was
10892         explicitly denied and the command matched. This fixes a long-
10893         standing bug and makes: foo machine = (ALL) /usr/bin/blah
10894         foo machine = (!bar) /usr/bin/blah
10895
10896         equivalent to: foo machine = (ALL, !bar) /usr/bin/blah
10897         [2f5ee244985a]
10898
10899         * sudoers.pod:
10900         Clarify mail_noperm
10901         [3238b2d41989]
10902
10903 2004-05-20  Aaron Spangler  <aaron777@gmail.com>
10904
10905         * Makefile.in:
10906         Missing DESTDIR in make install for sudo_noexec.la
10907         [91431e821525]
10908
10909 2004-05-17  Todd C. Miller  <Todd.Miller@courtesan.com>
10910
10911         * sudo.cat, sudo.man.in, sudoers.cat, sudoers.man.in, visudo.cat,
10912         visudo.man.in:
10913         regen
10914         [cdfde0dcb556]
10915
10916         * TODO:
10917         sync
10918         [4799b7d8b62c]
10919
10920         * sudoers.pod:
10921         Remove fastboot/fasthalt (who still remembers these?) and add a
10922         minimal sudoedit example.
10923         [19d299f233cd]
10924
10925         * sample.sudoers:
10926         Remove fastboot/fasthalt (who still remembers these?) and add a
10927         minimal sudoedit example.
10928         [b1bca73d6250]
10929
10930         * UPGRADE, sudo.c, visudo.c:
10931         filesystem -> file system
10932         [1e1afaf30469]
10933
10934         * TROUBLESHOOTING:
10935         filesystem -> file system
10936         [39fb594e9338]
10937
10938         * CHANGES, INSTALL:
10939         filesystem -> file system
10940         [85948b608ffe]
10941
10942         * sudo.pod, sudoers.pod:
10943         Fix some minor typos and formatting goofs
10944         [e94d243a0b90]
10945
10946         * lex.yy.c:
10947         regen
10948         [2eed0ab1f4c4]
10949
10950         * visudo.pod:
10951         remove my email addr
10952         [b63262c0389b]
10953
10954         * sudo.pod, sudoers.pod, visudo.pod:
10955         Use @mansectform@ and @mansectsu@ everywhere Make man page
10956         references links with L<>
10957         [f459f4b9ddb9]
10958
10959         * parse.lex:
10960         Accept quoted globbing characters and pass them verbatim for
10961         fnmatch()
10962         [8248b86e9380]
10963
10964         * UPGRADE:
10965         Document that /tmp/.odus is gone.
10966         [3667b66af5bb]
10967
10968         * pathnames.h.in:
10969         No longer use /tmp/.odus as a possible timestamp dir unless
10970         specifically configured to do so. Instead, if no /var/run exists,
10971         use /var/adm/sudo or /usr/adm/sudo.
10972         [48d94c9f9ad4]
10973
10974         * configure:
10975         No longer use /tmp/.odus as a possible timestamp dir unless
10976         specifically configured to do so. Instead, if no /var/run exists,
10977         use /var/adm/sudo or /usr/adm/sudo.
10978         [058d7b8cf07b]
10979
10980         * aclocal.m4:
10981         No longer use /tmp/.odus as a possible timestamp dir unless
10982         specifically configured to do so. Instead, if no /var/run exists,
10983         use /var/adm/sudo or /usr/adm/sudo.
10984         [cf52c4c2803f]
10985
10986         * CHANGES:
10987         No longer use /tmp/.odus as a possible timestamp dir unless
10988         specifically configured to do so. Instead, if no /var/run exists,
10989         use /var/adm/sudo or /usr/adm/sudo.
10990         [6058c4cefcec]
10991
10992         * set_perms.c, sudo.c, tgetpass.c, visudo.c:
10993         Preliminary changes to support nsr-tandem-nsk. Based on patches
10994         from Tom Bates.
10995         [2e5f81834383]
10996
10997         * logging.c:
10998         Preliminary changes to support nsr-tandem-nsk. Based on patches
10999         from Tom Bates.
11000         [934bbe6872b6]
11001
11002         * check.c, compat.h:
11003         Preliminary changes to support nsr-tandem-nsk. Based on patches
11004         from Tom Bates.
11005         [390b698b5924]
11006
11007 2004-05-16  Todd C. Miller  <Todd.Miller@courtesan.com>
11008
11009         * CHANGES:
11010         There was no 1.6.7p6.
11011         [8013d2e6b062]
11012
11013         * BUGS, CHANGES:
11014         sync
11015         [c38b41f32857]
11016
11017         * Makefile.in:
11018         add missing files to DISTFILES
11019         [e6a80ad03039]
11020
11021         * sudo.cat, sudoers.cat, visudo.cat:
11022         regen
11023         [027bc9746dd5]
11024
11025         * sudoers.man.in:
11026         regen
11027         [f5e85ef686cf]
11028
11029         * Makefile.in:
11030         Fix some line wrap and update (c) year
11031         [bad1f46aa1ca]
11032
11033 2004-04-28  Aaron Spangler  <aaron777@gmail.com>
11034
11035         * README.LDAP:
11036         Build Note
11037         [7a061248249b]
11038
11039 2004-04-07  Aaron Spangler  <aaron777@gmail.com>
11040
11041         * Makefile.in:
11042         Fix install-dirs
11043         [be0726dd92e7]
11044
11045 2004-04-05  Todd C. Miller  <Todd.Miller@courtesan.com>
11046
11047         * sudo.tab.c:
11048         regen
11049         [3f4f0d1ab8b9]
11050
11051         * visudo.c:
11052         In Exit() when used as a signal handler, emsg is a pointer so
11053         sizeof() is wrong so make it a #define instead. Also avoid using a
11054         negative exit value. Found by Aaron Campbell
11055         [78716a3a3fdc]
11056
11057 2004-03-24  Todd C. Miller  <Todd.Miller@courtesan.com>
11058
11059         * sudoers.pod:
11060         Remove bogus sentence about uids in a User_List. Document usernames
11061         vs. uid parsing in a Runas_List.
11062         [7ca510b5031c]
11063
11064         * parse.c, parse.h, parse.yacc, sudo.c, testsudoers.c, visudo.c:
11065         If the user specified a uid with the -u flag and the uid exists in
11066         the passwd file, set runas_user to the name, not the uid.
11067
11068         When comparing usernames in sudoers, if a name is really a uid
11069         (starts with '#') compare it numerically to pw_uid.
11070         [8d6935d04673]
11071
11072 2004-03-22  Todd C. Miller  <Todd.Miller@courtesan.com>
11073
11074         * auth/kerb5.c:
11075         krb5_mcc_ops should be const; Johnny C. Lam
11076         [aa8c753e426e]
11077
11078 2004-02-28  Aaron Spangler  <aaron777@gmail.com>
11079
11080         * CHANGES, config.h.in, ldap.c:
11081         Added start_tls support
11082         [7ef864c15b69]
11083
11084 2004-02-14  Todd C. Miller  <Todd.Miller@courtesan.com>
11085
11086         * Makefile.in:
11087         Clean up libtool stuff for 'make distclean' and add def_data.c,
11088         def_data.h to PARSESRCS.
11089         [bf9bb6bb06ab]
11090
11091 2004-02-14  Aaron Spangler  <aaron777@gmail.com>
11092
11093         * strlcat.c, strlcpy.c:
11094         Un-Fix last license munge
11095         [42654b77ac71]
11096
11097 2004-02-13  Todd C. Miller  <Todd.Miller@courtesan.com>
11098
11099         * configure:
11100         regen
11101         [e4de6b23a4dc]
11102
11103         * CHANGES, RUNSON, TODO:
11104         checkpoint
11105         [94e1ace84d5c]
11106
11107         * lex.yy.c, sudo.tab.c:
11108         regen
11109         [8ce784505643]
11110
11111         * auth/passwd.c, auth/rfc1938.c, auth/secureware.c, auth/securid.c,
11112         auth/securid5.c, auth/sia.c, auth/sudo_auth.c, auth/sudo_auth.h,
11113         emul/search.h, emul/utime.h:
11114         More to a less restrictive, ISC-style license.
11115         [a31b20e48003]
11116
11117         * auth/kerb5.c, auth/pam.c:
11118         More to a less restrictive, ISC-style license.
11119         [e41f92b41216]
11120
11121         * auth/dce.c, auth/fwtk.c, auth/kerb4.c:
11122         More to a less restrictive, ISC-style license.
11123         [87534c164a52]
11124
11125         * auth/bsdauth.c:
11126         More to a less restrictive, ISC-style license.
11127         [e21be6594b58]
11128
11129         * auth/afs.c, auth/aix_auth.c, zero_bytes.c:
11130         More to a less restrictive, ISC-style license.
11131         [6d234be91c5e]
11132
11133         * sudoers.man.in, sudoers.pod, testsudoers.c, tgetpass.c, visudo.c,
11134         visudo.man.in, visudo.pod:
11135         More to a less restrictive, ISC-style license.
11136         [b02aea324fd6]
11137
11138         * sudo_noexec.c:
11139         More to a less restrictive, ISC-style license.
11140         [a6da7631e0b2]
11141
11142         * strlcat.c, strlcpy.c, sudo.c, sudo.h, sudo.man.in, sudo.pod,
11143         sudo_edit.c:
11144         More to a less restrictive, ISC-style license.
11145         [71cdcc241e94]
11146
11147         * sigaction.c, strerror.c:
11148         More to a less restrictive, ISC-style license.
11149         [4bccdedca58a]
11150
11151         * ldap.c, logging.c, logging.h, parse.c, parse.h, pathnames.h.in,
11152         set_perms.c:
11153         More to a less restrictive, ISC-style license.
11154         [64d772d70ab3]
11155
11156         * getspwuid.c, goodpath.c, ins_2001.h, ins_classic.h, ins_csops.h,
11157         ins_goons.h, insults.h, interfaces.c, interfaces.h:
11158         More to a less restrictive, ISC-style license.
11159         [520381c60a54]
11160
11161         * find_path.c, getprogname.c:
11162         More to a less restrictive, ISC-style license.
11163         [f605d5eab6f1]
11164
11165         * fileops.c:
11166         More to a less restrictive, ISC-style license.
11167         [4129a8b38a67]
11168
11169         * env.c:
11170         More to a less restrictive, ISC-style license.
11171         [d5bd859757de]
11172
11173         * defaults.h:
11174         More to a less restrictive, ISC-style license.
11175         [008f5d5743f5]
11176
11177         * LICENSE, Makefile.in, alloc.c, check.c, closefrom.c, compat.h,
11178         defaults.c:
11179         More to a less restrictive, ISC-style license.
11180         [d8d7bfc8a18b]
11181
11182         * utime.c, version.h:
11183         More to a less restrictive, ISC-style license.
11184         [e2e038ad8209]
11185
11186         * parse.lex, parse.yacc:
11187         More to a less restrictive, ISC-style license.
11188         [2f5942e847a1]
11189
11190         * Makefile.binary:
11191         More to a less restrictive, ISC-style license.
11192         [1ed561734535]
11193
11194 2004-02-13  Aaron Spangler  <aaron777@gmail.com>
11195
11196         * sudoers2ldif:
11197         Merged in LDAP Support
11198         [3994c4d05947]
11199
11200         * ldap.c, sudo.c, sudo.h:
11201         Merged in LDAP Support
11202         [547eaa346fcc]
11203
11204         * def_data.c, def_data.h, def_data.in:
11205         Merged in LDAP Support
11206         [8fb255280e42]
11207
11208         * CHANGES, Makefile.in, README.LDAP, config.h.in, configure.in:
11209         Merged in LDAP Support
11210         [1038092a161e]
11211
11212 2004-02-08  Todd C. Miller  <Todd.Miller@courtesan.com>
11213
11214         * sudo.h, sudo_noexec.c:
11215         Only do "extern int errno" if errno is not a macro.
11216         [b2e02a08be8b]
11217
11218 2004-02-06  Todd C. Miller  <Todd.Miller@courtesan.com>
11219
11220         * set_perms.c:
11221         setreuid(0, 0) fails on QNX if the euid is not already 0 so set the
11222         euid first, then just call setuid(0) to set the real uid too.
11223         [f08546e2e0ee]
11224
11225         * set_perms.c:
11226         Use setresuid() and setreuid() for PERM_RUNAS when appropriate
11227         instead of seteuid() which may not exist.
11228         [ba508581befb]
11229
11230 2004-02-04  Todd C. Miller  <Todd.Miller@courtesan.com>
11231
11232         * LICENSE:
11233         2004
11234         [37425513a342]
11235
11236         * INSTALL, config.h.in, configure, configure.in, ins_classic.h:
11237         Add --with-pc-insults configure option
11238         [7daa5294c17b]
11239
11240         * visudo.man.in:
11241         Prefer VISUAL over EDITOR like old vipw did.
11242         [996252a4ab65]
11243
11244 2004-02-01  Todd C. Miller  <Todd.Miller@courtesan.com>
11245
11246         * sudo.man.in, sudoers.man.in:
11247         regen
11248         [a247f1c52eb9]
11249
11250         * sudoers.pod:
11251         Add a note that noexec is not a cure-all.
11252         [9e7fc535367d]
11253
11254         * sudoers.pod:
11255         Mention that disabling "root_sudo" is pretty pointless.
11256         [f38a415afba0]
11257
11258         * configure, configure.in:
11259         Substitute for root_sudo in sudoers.pod
11260         [ce483cfc86be]
11261
11262         * sudo.pod:
11263         Add sudoedit to the NAME section
11264         [51bc453ec2f6]
11265
11266         * sudoers.pod:
11267         Document that fact that setting ignore_dot in sudoers has no effect
11268         due to the fact that find_path() is called *before* sudoers is read.
11269         [6808df7e417c]
11270
11271 2004-01-30  Todd C. Miller  <Todd.Miller@courtesan.com>
11272
11273         * sudo_edit.c:
11274         Do not require _PATH_USRTMP to be set.
11275         [546f3270dd10]
11276
11277         * BUGS, CHANGES, TODO:
11278         sync
11279         [4205ddeab781]
11280
11281         * sudo.man.in:
11282         regen
11283         [e2143690a88a]
11284
11285         * sudo.pod:
11286         Clarify that when sudo is run by root with the SUDO_USER variable
11287         set, the sudoers lookup happens for root and not the SUDO_USER user.
11288         [47207bec1bdf]
11289
11290 2004-01-29  Todd C. Miller  <Todd.Miller@courtesan.com>
11291
11292         * auth/pam.c, auth/sudo_auth.c, interfaces.c, logging.c, parse.c,
11293         set_perms.c, sigaction.c, sudo.c, tgetpass.c:
11294         Use the SET, CLR and ISSET macros.
11295         [a8b0d7f1e8fd]
11296
11297         * fnmatch.c:
11298         Use the SET, CLR and ISSET macros.
11299         [1afbcba22ba6]
11300
11301         * defaults.c, env.c:
11302         Use the SET, CLR and ISSET macros.
11303         [2f39431e0a49]
11304
11305         * interfaces.h:
11306         MAIN was replaced with _SUDO_MAIN some time ago.
11307         [ea1b38f2ac9d]
11308
11309         * sudo.c:
11310         Don't look at prev_user until after we've parsed sudoers and done
11311         the password check. That way, if sudo/sudoedit is run from a root
11312         process that was invoked by sudo, we check sudoers for root, not the
11313         previous user. This makes sudoedit much more useful and means that
11314         for the sudo case, we get correct logging on who actually ran the
11315         command.
11316         [431dfbf20552]
11317
11318 2004-01-23  Todd C. Miller  <Todd.Miller@courtesan.com>
11319
11320         * sudo_edit.c:
11321         Add a comment describing why we need to be notified about our child
11322         stopping.
11323         [0bec3ce4b49d]
11324
11325 2004-01-22  Todd C. Miller  <Todd.Miller@courtesan.com>
11326
11327         * def_data.c, def_data.in:
11328         Update the noexec variable descriptions
11329         [9cb7f1aa0e57]
11330
11331         * sudoers.man.in, sudoers.pod:
11332         noexec now replaces more than just execve()
11333         [23cbdc0ee95c]
11334
11335         * sudo_noexec.c:
11336         Alas, all the world does not go through execve(2). Many systems
11337         still have an execv(2) system call, Linux 2.6 provides fexecve(2)
11338         and it is not uncommon for libc to have underscore ('_') versions of
11339         the functions to be used internally by the library. Instead of
11340         stubbing all these out by hand, define a macro and let it do the
11341         work. Extra exec functions pointed out by Reznic Valery.
11342         [9fa0cd871b0c]
11343
11344         * sudo.c, sudo_edit.c:
11345         Fix suspending the editor in -e mode. Because we do a fork() first
11346         we need to be notified when the child has been stopped and then send
11347         that same signal to ourself so the shell can do its job control
11348         thing.
11349         [773165eb6057]
11350
11351         * visudo.c:
11352         Use WIFEXITED and WEXITSTATUS macros. If there are systems out
11353         there that want to run sudo that still don't support these we can
11354         try to deal with that later.
11355         [6af68e4aff60]
11356
11357         * lex.yy.c:
11358         regen
11359         [403435317d5d]
11360
11361         * sudo.man.in, sudo.pod, sudoers.man.in, sudoers.pod:
11362         Document sudo -e / sudoedit
11363         [a80f6ea910af]
11364
11365         * configure, configure.in:
11366         fix typo
11367         [5020fcdc27f4]
11368
11369         * config.h.in, configure.in:
11370         Add SET/CLR/ISSET
11371         [03ff57286e7e]
11372
11373 2004-01-21  Todd C. Miller  <Todd.Miller@courtesan.com>
11374
11375         * sudo.c:
11376         Allow non-exclusive flags when invoked as sudoedit. Pretty print the
11377         long usage() line to not wrap (assumes 80 char display)
11378         [3941fa4004bb]
11379
11380         * Makefile.in, sudo.c:
11381         If sudo is invoked as "sudoedit" the -e flag is implied and no other
11382         flags are permitted.
11383         [929670b01293]
11384
11385         * sudo.h:
11386         Add a new flag, -e, that makes it possible to give users the ability
11387         to edit files with the editor of their choice as the invoking user,
11388         not the runas user. Temporary files are used for the actual edit
11389         and the temp file is copied over the original after the editor is
11390         done.
11391         [c4051414c1f4]
11392
11393         * Makefile.in, parse.c, parse.lex, sudo.c, sudo_edit.c:
11394         Add a new flag, -e, that makes it possible to give users the ability
11395         to edit files with the editor of their choice as the invoking user,
11396         not the runas user. Temporary files are used for the actual edit
11397         and the temp file is copied over the original after the editor is
11398         done.
11399         [37ac05c8ac3c]
11400
11401         * env.c, sudo.c:
11402         If real uid == 0 and the SUDO_USER environment variables is set, use
11403         that to determine the invoking user's true identity. That way the
11404         proper info gets logged by someone who has done "sudo su" but still
11405         uses sudo to as root. We can't do this for non-root users since
11406         that would open up a security hole, though perhaps it would be
11407         acceptable to use getlogin(2) on OSes where this a system call (and
11408         doesn't just look in the utmp file).
11409         [c2f9198708a1]
11410
11411         * pathnames.h.in:
11412         Add _PATH_TMP, _PATH_VARTMP and _PATH_USRTMP
11413         [7d9e5768df93]
11414
11415         * config.h.in, configure, configure.in:
11416         Add check for fchown(2)
11417         [a85df18798ed]
11418
11419 2004-01-20  Todd C. Miller  <Todd.Miller@courtesan.com>
11420
11421         * sudo.c:
11422         Back out portions of the -i commit that set NewArgv[0] in
11423         set_runaspw. It is far to late to set NewArgv[0] there and will have
11424         no effect anyway as cmnd and safe_cmnd have already been set.
11425         [c2d343430c1c]
11426
11427         * visudo.c, visudo.pod:
11428         Prefer VISUAL over EDITOR like old vipw did.
11429         [ae32f477cea3]
11430
11431 2004-01-19  Todd C. Miller  <Todd.Miller@courtesan.com>
11432
11433         * env.c, sudo.c:
11434         In -i mode always set new environment based on the runas user's
11435         passwd entry.
11436         [fa653b7887a8]
11437
11438 2004-01-18  Todd C. Miller  <Todd.Miller@courtesan.com>
11439
11440         * sudo.man.in, sudo.pod:
11441         Document the new -i flag and sync SYNOPSIS section with usage() in
11442         sudo.c. Also sort the flags in the OPTIONS section.
11443         [6aabc0ffc47e]
11444
11445         * sudo.c, sudo.h:
11446         o Add -i that acts similar to "su -", based on patches from David J.
11447         MacKenzie o Sort the flags in the usage message
11448         [c0fe7d6beffd]
11449
11450         * sudoers.man.in, sudoers.pod:
11451         Add a missing @runas_default@ substitution.
11452         [60516fe2d090]
11453
11454 2004-01-17  Todd C. Miller  <Todd.Miller@courtesan.com>
11455
11456         * sudo.c:
11457         Change euid to runas user before calling find_path().
11458         Unfortunately, though runas_user can be modified in sudoers we
11459         haven't parsed sudoers yet.
11460         [f469fdf2e313]
11461
11462         * sudoers.man.in, sudoers.pod:
11463         Add missing defintion of Parameter_List and use single pipes in the
11464         Defaults EBNF definition.
11465         [f7bed6e909bf]
11466
11467         * sudo.c:
11468         Fix a bug when set_runaspw() is used as a callback. We don't want
11469         to reset the contents of runas_pw if the user specified a user via
11470         the -u flag.
11471
11472         Avoid unnecessary passwd lookups in set_authpw(). In most cases we
11473         already have the info in runas_pw.
11474         [efc35623ba09]
11475
11476 2004-01-16  Todd C. Miller  <Todd.Miller@courtesan.com>
11477
11478         * check.c:
11479         Add Stan Lee / Uncle Ben quote to the lecture from RedHat
11480         [ebd5a76ccd7e]
11481
11482         * sudo.h:
11483         Update sudo_getepw() proto and add one for set_runaspw()
11484         [6ed65795c17f]
11485
11486         * parse.c:
11487         If we can't stat the command as root, try as the runas user instead.
11488         [ae713fca0e15]
11489
11490         * testsudoers.c, visudo.c:
11491         Add stub set_runaspw() function
11492         [42aa37050053]
11493
11494         * sudo.c:
11495         Add set_runaspw() function to fill in runas_pw. This will be used
11496         as a callback to update runas_pw when the runas user changes.
11497         [e570aa0088d0]
11498
11499         * env.c, sudo.c:
11500         PERM_RUNAS -> PERM_FULL_RUNAS
11501         [51eec6f9e89a]
11502
11503         * set_perms.c, sudo.h:
11504         Rename PERM_RUNAS -> PERM_FULL_RUNAS and add a PERM_RUNAS that just
11505         changes the euid.
11506         [877c6fe4d12c]
11507
11508         * getspwuid.c:
11509         Make sudo_pwdup() act like OpenBSD pw_dup() and allocate memory in
11510         one chunk for easy free()ing. Also change it from static to extern.
11511         [ab503260a7ec]
11512
11513         * defaults.c, defaults.h:
11514         Add callback support
11515         [a61c4ca983fb]
11516
11517         * mkdefaults:
11518         Add a callback field and use it for runas_default
11519         [96b69c27df5e]
11520
11521         * def_data.c, def_data.in:
11522         Add a callback field and use it for runas_default
11523         [d3e9f06872b8]
11524
11525 2004-01-15  Todd C. Miller  <Todd.Miller@courtesan.com>
11526
11527         * auth/fwtk.c:
11528         Add support for chalnecho and display server responses used by fwtk
11529         >= 2.0
11530         [b1870f7aaf0d]
11531
11532 2004-01-12  Todd C. Miller  <Todd.Miller@courtesan.com>
11533
11534         * sudoers.man.in, sudoers.pod:
11535         ld.so is ld.so.1 on solaris
11536         [2bf9a123fa4c]
11537
11538         * Makefile.in, config.h.in, configure, configure.in, sudo.c, sudo.h:
11539         Use closefrom() instead of doing the equivalent inline.
11540         [7e3ef6072884]
11541
11542         * closefrom.c:
11543         closefrom(3) for systems w/o it
11544         [35caf58bb636]
11545
11546 2004-01-09  Todd C. Miller  <Todd.Miller@courtesan.com>
11547
11548         * sudoers.man.in:
11549         Update from .pod file.
11550         [d4c94fc0e0c9]
11551
11552         * configure, configure.in:
11553         Substitute noexec_file for the sudoers man page
11554         [203d3376a551]
11555
11556         * sudo.man.in, sudo.pod:
11557         Mention noexec
11558         [014375ddbb06]
11559
11560         * sudoers.man.in, sudoers.pod:
11561         Document noexec
11562         [49a65d06201f]
11563
11564         * auth/pam.c, config.h.in, configure.in:
11565         Move PAM_CONST macro definition from config.h to pam.c where it
11566         belongs. We can't have this in config.h since that gets included too
11567         early.
11568         [e64748071637]
11569
11570         * auth/pam.c, config.h.in, configure, configure.in:
11571         Some PAM implementations put their headers in /usr/include/pam
11572         instead of /usr/include/security.
11573         [8cc749e9575c]
11574
11575         * configure.in:
11576         I missed changing the EXEC macro -> EXECV here when I changed this
11577         in config.h.in and sudo.c a while ago.
11578         [6f5afac7789f]
11579
11580         * acsite.m4:
11581         OpenBSD vax/m88k/hppa don't do shared libs
11582         [e4901d958bb7]
11583
11584         * configure, configure.in:
11585         o merge the hpux case entries into a single entry w/ its own sub-
11586         case statement. o HP-UX >= 11 support getspnam(), use it in
11587         preference to getprpwuid()
11588         [0caad428894e]
11589
11590         * configure, configure.in:
11591         eval $shrext so that it expands nicely on MacOS X
11592         [40419343eef8]
11593
11594         * Makefile.in:
11595         Don't lie about making a module, it does the wrong thing on mach
11596         [7629b28f5688]
11597
11598         * ltmain.sh:
11599         Remove requirement that libs must begin with "lib". They don't when
11600         we point directly at the lib using LD_PRELOAD or its equivalent.
11601         [d66f3de6ec85]
11602
11603         * acsite.m4:
11604         Disable support for c++, f77 and java. We don't need it, it takes a
11605         lot of time, and it hosed our check for shared lib support.
11606         [4f5749c52ce4]
11607
11608         * configure:
11609         regen
11610         [160865e9d15f]
11611
11612         * configure.in:
11613         Call AC_ENABLE_SHARED and check the status of enable_shared to know
11614         when shared libs are available.
11615         [42504c1668fc]
11616
11617         * acsite.m4:
11618         Duh, OpenBSD suports shared libs too
11619         [8e3cd9417475]
11620
11621         * config.h.in, configure.in:
11622         Only OpenPAM and Linux PAM use const qualifiers.
11623         [b2f76476e866]
11624
11625         * configure, configure.in:
11626         o No need to check for sed, libtool config does that for us o move
11627         check for --with-noexec until after libtool magic is run so we can
11628         use $can_build_shared and $shrext
11629         [668c656e89cc]
11630
11631         * ltmain.sh:
11632         Don't print a bunch of crap about library installs since we are not
11633         really installing a library.
11634         [83fbcad29fe4]
11635
11636         * env.c:
11637         Make format_env() varargs Add noexec support for Darwin, MacOS X,
11638         Irix, and Tru64
11639         [468885d75d10]
11640
11641         * acsite.m4, ltconfig, ltmain.sh:
11642         Update to libtool 1.5 with local changes: o no ldconfig in the
11643         finish step o assume no libprefix or version is needed
11644         [4961cffc3797]
11645
11646         * sudo_noexec.c:
11647         Fix compilation under K&R
11648         [8b309bf0b1b2]
11649
11650 2004-01-06  Todd C. Miller  <Todd.Miller@courtesan.com>
11651
11652         * CHANGES:
11653         checkpoint
11654         [3c368badab32]
11655
11656         * sudo_noexec.c:
11657         stub execve() that just returns EACCES; used for noexec
11658         functionality
11659         [1297acae283a]
11660
11661         * sudo.tab.h:
11662         Regen w/ updated byacc from OpenBSD; fixes a gcc 3.2 issue with
11663         generated code.
11664         [dcab78c49273]
11665
11666         * sudo.tab.c:
11667         Regen w/ updated byacc from OpenBSD; fixes a gcc 3.2 issue with
11668         generated code.
11669         [0a61c735eabe]
11670
11671 2004-01-05  Todd C. Miller  <Todd.Miller@courtesan.com>
11672
11673         * def_data.c, def_data.h, def_data.in:
11674         Move the environment defaults to the end and shorten a few of the
11675         descriptions.
11676         [66787b9c612c]
11677
11678         * configure, configure.in:
11679         no shared libs on ultris or convexos
11680         [2c5f3c456e32]
11681
11682         * Makefile.in, configure, configure.in:
11683         Build sudo_noexec shared object using libtool; could use some
11684         cleanup.
11685         [373f483555dd]
11686
11687         * acsite.m4, ltconfig, ltmain.sh:
11688         libtool scaffolding
11689         [c903a42e3d90]
11690
11691         * parse.yacc, sudo.tab.c:
11692         Merge the NOPASSWD/PASSWD and NOEXEC/EXEC rules so that order is not
11693         important.
11694         [c6e8a34639a4]
11695
11696         * defaults.c, env.c, lex.yy.c, parse.c, parse.h, parse.lex,
11697         parse.yacc, pathnames.h.in, sudo.c, sudo.h, sudo.tab.c:
11698         update copyright year
11699         [a16372ae1711]
11700
11701         * configure, configure.in, defaults.c, env.c, pathnames.h.in:
11702         Add _PATH_SUDO_NOEXEC and corresponding --with-noexec configure
11703         option. The default value of noexec_file is set to this.
11704         [7d88e1d3c494]
11705
11706         * def_data.c, def_data.h, def_data.in, env.c, lex.yy.c, parse.c,
11707         parse.h, parse.lex, parse.yacc, sudo.c, sudo.h, sudo.tab.c,
11708         sudo.tab.h:
11709         Add support for preloading a shared object containing a dummy
11710         execve() function that just sets error and returns -1. This adds a
11711         "noexec_file" option to load the filename as well as a "noexec" flag
11712         to enable it unconditionally. There is also a NOEXEC tag that can
11713         be attached to specific commands and an EXEC tag to disable it.
11714         [c8b6712feb91]
11715
11716         * mkdefaults:
11717         add missing newline to usage statement
11718         [e84746618362]
11719
11720         * config.h.in, sudo.c:
11721         Rename EXEC macro -> EXECV
11722         [ddaa0c027299]
11723
11724         * logging.c:
11725         Don't truncate usernames to 8 characters in the log message.
11726         [f62a20f27075]
11727
11728         * check.c, sudoers.man.in, sudoers.pod:
11729         Update copyright year
11730         [ca9964054085]
11731
11732         * check.c, def_data.c, def_data.h, def_data.in, sudoers.man.in,
11733         sudoers.pod:
11734         Add a new option, lecture_file, that can be used to point to a
11735         custom sudo lecture.
11736         [940133231216]
11737
11738 2003-12-31  Todd C. Miller  <Todd.Miller@courtesan.com>
11739
11740         * auth/aix_auth.c, auth/bsdauth.c, auth/fwtk.c, auth/pam.c,
11741         auth/sudo_auth.c:
11742         Add a zero_bytes() function to do the equivalent of bzero in such a
11743         way that will heopfully not be optimized away by sneaky compilers.
11744         [161b6d74bfb4]
11745
11746         * zero_bytes.c:
11747         Add a zero_bytes() function to do the equivalent of bzero in such a
11748         way that will heopfully not be optimized away by sneaky compilers.
11749         [d035abf0af94]
11750
11751         * Makefile.in, sudo.h:
11752         Add a zero_bytes() function to do the equivalent of bzero in such a
11753         way that will heopfully not be optimized away by sneaky compilers.
11754         [ff136de3e255]
11755
11756         * err.c:
11757         Use #ifdef __STDC__, not #if __STDC__.
11758         [6889dd6bc51a]
11759
11760 2003-12-30  Todd C. Miller  <Todd.Miller@courtesan.com>
11761
11762         * mkdefaults:
11763         Always put at least one space between the def_* macro name and its
11764         definition.
11765         [6b3ad0e6619a]
11766
11767         * configure, configure.in:
11768         Adjust code for --without-lecture to match new values.
11769         [062aa788a6b9]
11770
11771         * visudo.man.in:
11772         regen after pasto fix
11773         [3deec16906c0]
11774
11775         * sudoers.man.in, sudoers.pod:
11776         Document that "lecture" has changed from a flag to a tuple.
11777         [e2c03062b533]
11778
11779         * check.c, def_data.c, def_data.h, def_data.in, defaults.c,
11780         defaults.h, logging.c, mkdefaults, parse.c, sudo.c, sudo.h:
11781         Add support for tuples in def_data.in; these are implemented as an
11782         enum type. Currently there is only a single tuple enum but in the
11783         future we may have one tuple enum per T_TUPLE entry in def_data.in.
11784         Currently listpw, verifypw and lecture are tuples. This avoids the
11785         need to have two entries (one ival, one str) for pwflags and syslog
11786         values.
11787
11788         lecture is now a tuple with the following values: never, once,
11789         always
11790
11791         We no longer use both an int and string entry for syslog facilities
11792         and priorities. Instead, there are logfac2str() and logpri2str()
11793         functions that get used when we need to print the string values.
11794         [5293f946c836]
11795
11796         * auth/aix_auth.c, auth/bsdauth.c, auth/fwtk.c, auth/pam.c,
11797         auth/rfc1938.c, auth/securid5.c, auth/sia.c, auth/sudo_auth.c,
11798         check.c, def_data.h, defaults.c, defaults.h, env.c, find_path.c,
11799         logging.c, mkdefaults, parse.c, parse.yacc, set_perms.c, sudo.c,
11800         sudo.tab.c, visudo.c:
11801         Create def_* macros for each defaults value so we no longer need the
11802         def_{flag,ival,str,list,mode} macros (which have been removed). This
11803         is a step toward more flexible data types in def_data.in.
11804         [009c02934106]
11805
11806         * TODO:
11807         checkpoint
11808         [0a99a4bb5d15]
11809
11810 2003-12-23  Todd C. Miller  <Todd.Miller@courtesan.com>
11811
11812         * sudo.c:
11813         If we are in -k/-K mode, just spew to stderr. It is not unusual for
11814         users to place "sudo -k" in a .logout file which can cause sudo to
11815         be run during reboot after the YP/NIS/NIS+/LDAP/etc daemon has died.
11816         Previously, this would result in useless mail and logging.
11817         [d282e7ed63af]
11818
11819 2003-12-16  Todd C. Miller  <Todd.Miller@courtesan.com>
11820
11821         * visudo.pod:
11822         fix pasto in VISUAL description
11823         [1c6a6148b5f9]
11824
11825 2003-12-10  Todd C. Miller  <Todd.Miller@courtesan.com>
11826
11827         * configure:
11828         regen
11829         [f44312c63799]
11830
11831         * CHANGES:
11832         checkpoint
11833         [0c42e38f78d5]
11834
11835         * TROUBLESHOOTING:
11836         Some OSes (like Solaris) allow export w/ nosuid too
11837         [973ce85ffa12]
11838
11839 2003-08-12  Todd C. Miller  <Todd.Miller@courtesan.com>
11840
11841         * compat.h:
11842         We don't use FD_ZERO anymore so just define FD_SET (if not already
11843         there).
11844         [d1c8c11905cd]
11845
11846 2003-06-29  Todd C. Miller  <Todd.Miller@courtesan.com>
11847
11848         * auth/pam.c:
11849         Fix a core dump on Solaris by preserving the pam_handle_t we used
11850         during authentication for pam_prep_user(). If we didn't
11851         authenticate (ie: ticket still valid), we call pam_init() from
11852         pam_prep_user(). This is something of a hack; it may be better to
11853         change the auth API and add an auth_final() function that acts like
11854         pam_prep_user().
11855         [f787de49b175]
11856
11857 2003-06-21  Todd C. Miller  <Todd.Miller@courtesan.com>
11858
11859         * set_perms.c:
11860         Add explicit declaration of printerr variable in function header
11861         (was defaulting to int which is OK but oh so K&R :-). From Theo.
11862         [492c2358783f]
11863
11864 2003-06-09  Todd C. Miller  <Todd.Miller@courtesan.com>
11865
11866         * config.h.in, configure.in:
11867         s/HAVE_STOW/USE_STOW/
11868         [4b99e1824ece]
11869
11870         * logging.c:
11871         Also exit waitpid() loop when pid == 0. Fixes a problem where the
11872         sudo process would spin eating up CPU until sendmail finished when
11873         it has to send mail.
11874         [ec3d5792b9b4]
11875
11876 2003-05-30  Todd C. Miller  <Todd.Miller@courtesan.com>
11877
11878         * fnmatch.c:
11879         Remove advertising clause, UCB has disavowed it
11880         [43a26bbd6628]
11881
11882         * fnmatch.3:
11883         Remove advertising clause, UCB has disavowed it
11884         [3ff24291bcfa]
11885
11886 2003-05-22  Todd C. Miller  <Todd.Miller@courtesan.com>
11887
11888         * parse.c:
11889         Don't assume that getgrnam() calls don't modify contents of struct
11890         passwd returned by getpwnam(). On FreeBSD w/ NIS this can happen.
11891         Based on a patch from Kirk Webb.
11892         [5574c68f60f3]
11893
11894 2003-05-06  Todd C. Miller  <Todd.Miller@courtesan.com>
11895
11896         * configure.in:
11897         missing ;;
11898         [22378f2a9d31]
11899
11900         * configure.in:
11901         darwin has a broken setreuid() in at least some versions
11902         [d572aed930d2]
11903
11904         * env.c:
11905         Fix an off by one error when reallocating the environment; Kevin Pye
11906         [3d98e7cf097a]
11907
11908 2003-04-30  Todd C. Miller  <Todd.Miller@courtesan.com>
11909
11910         * sudoers.pod:
11911         Fix User_Spec definition; SEKINE Tatsuo
11912         [49b0da65e090]
11913
11914 2003-04-28  Todd C. Miller  <Todd.Miller@courtesan.com>
11915
11916         * HISTORY:
11917         More info on the early days from Coggs.
11918         [9381ca10b06b]
11919
11920 2003-04-21  Todd C. Miller  <Todd.Miller@courtesan.com>
11921
11922         * auth/kerb5.c:
11923         remove errant semicolon that prevented compilation under heimdal
11924         [d2f2bb73a598]
11925
11926 2003-04-16  Todd C. Miller  <Todd.Miller@courtesan.com>
11927
11928         * testsudoers.c, tgetpass.c, visudo.c, visudo.man.in, visudo.pod:
11929         add DARPA credit on affected files
11930         [7020785ee50d]
11931
11932         * sudoers.pod:
11933         add DARPA credit on affected files
11934         [83b46318750b]
11935
11936         * sigaction.c, strerror.c, sudo.c, sudo.h, sudo.man.in, sudo.pod,
11937         sudoers.man.in:
11938         add DARPA credit on affected files
11939         [d8adf1c2ba22]
11940
11941         * set_perms.c:
11942         add DARPA credit on affected files
11943         [3d79fdabb582]
11944
11945         * pathnames.h.in:
11946         add DARPA credit on affected files
11947         [e334cdda422f]
11948
11949         * logging.c, parse.c:
11950         add DARPA credit on affected files
11951         [8f75f822755b]
11952
11953         * auth/passwd.c, auth/rfc1938.c, auth/secureware.c, auth/securid.c,
11954         auth/securid5.c, auth/sia.c, auth/sudo_auth.c, fileops.c,
11955         find_path.c, getprogname.c, getspwuid.c, goodpath.c, interfaces.c,
11956         interfaces.h:
11957         add DARPA credit on affected files
11958         [da66e28fb3f5]
11959
11960         * auth/kerb5.c, auth/pam.c:
11961         add DARPA credit on affected files
11962         [15da3021b49c]
11963
11964         * auth/afs.c, auth/aix_auth.c, auth/bsdauth.c, auth/dce.c,
11965         auth/fwtk.c, auth/kerb4.c, parse.lex, parse.yacc, utime.c,
11966         version.h:
11967         add DARPA credit on affected files
11968         [868d54cbddea]
11969
11970         * env.c:
11971         add DARPA credit on affected files
11972         [90239f51ef0a]
11973
11974         * defaults.c, defaults.h:
11975         add DARPA credit on affected files
11976         [6a64205fd1eb]
11977
11978         * compat.h:
11979         add DARPA credit on affected files
11980         [316a735783c4]
11981
11982         * Makefile.in, alloc.c, check.c:
11983         add DARPA credit on affected files
11984         [cd939e05c810]
11985
11986         * LICENSE:
11987         slightly different wording for the darpa credit
11988         [e468909c4a21]
11989
11990 2003-04-15  Todd C. Miller  <Todd.Miller@courtesan.com>
11991
11992         * LICENSE:
11993         Add DARPA credit
11994         [8eb20e2cd63e]
11995
11996 2003-04-14  Todd C. Miller  <Todd.Miller@courtesan.com>
11997
11998         * auth/kerb5.c:
11999         Use krb5_princ_component() instead of krb5_princ_realm() for MIT
12000         Kerberos like we did before I messed things up ;-)
12001
12002         Use krb5_principal_get_comp_string() to do the same thing w/
12003         Heimdal. I'm not sure if the component should be 0 or 1 in this
12004         case.
12005
12006         #define ENCTYPE_DES_CBC_MD5 ETYPE_DES_CBC_MD5 for Heimdal since
12007         older versions lack ENCTYPE_DES_CBC_MD5. This is gross and there
12008         should be a configure check for this I guess.
12009         [74919a3933fe]
12010
12011 2003-04-13  Todd C. Miller  <Todd.Miller@courtesan.com>
12012
12013         * sample.sudoers:
12014         builtin -> built-in; Jason McIntyre
12015         [027f2187923e]
12016
12017         * TROUBLESHOOTING, config.h.in, configure, configure.in:
12018         builtin -> built-in; Jason McIntyre
12019         [70b81ac48943]
12020
12021         * sudoers.pod:
12022         built in -> built-in; Jason McIntyre
12023         [da658ef5138d]
12024
12025 2003-04-09  Todd C. Miller  <Todd.Miller@courtesan.com>
12026
12027         * CHANGES:
12028         checkpoint for 1.6.7p3
12029         [da85f989fadf]
12030
12031         * HISTORY:
12032         Update info on the early years @ SUNY-Buffalo from Cliff Spencer.
12033         Amazingly, sudo source from 1985 is available via groups.google.com
12034         [39e0fc85b89f]
12035
12036         * sudo.c:
12037         Don't change rl.rlim_max for RLIMIT_CORE. We need only set
12038         rl.rlim_cur to 0 to turn off core dumps. This may be needed for the
12039         RLIMIT_CORE restoration on some OSes.
12040         [7e2c1a7adfd8]
12041
12042 2003-04-04  Todd C. Miller  <Todd.Miller@courtesan.com>
12043
12044         * auth/kerb5.c:
12045         Make this compile on Heimdal and MIT Kerberos 5
12046         [44c07d615868]
12047
12048         * config.h.in, configure, configure.in:
12049         Check for heimdal even if we found krb5-config and define
12050         HAVE_HEIMDAL.
12051         [aba0126f0059]
12052
12053         * auth/kerb5.c:
12054         Replace ETYPE_DES_CBC_MD5 with ENCTYPE_DES_CBC_MD5. The former is
12055         no longer defined by MIT kerb5 (though it used to be and indeed
12056         remains so in Heimdal).
12057         [e5a6c64d7cd5]
12058
12059 2003-04-03  Todd C. Miller  <Todd.Miller@courtesan.com>
12060
12061         * mkinstalldirs:
12062         Remove newer stuff that passes multiple (possibly duplicate)
12063         directories to "mkdir -p" since that seems to break on Tru64 Unix at
12064         least. This basically brings back what shipped with sudo 1.6.6.
12065         [f2a1abd872b3]
12066
12067 2003-04-02  Todd C. Miller  <Todd.Miller@courtesan.com>
12068
12069         * auth/kerb5.c:
12070         Correct number of args to krb5_principal_get_realm() and fix an
12071         unclosed comment that hid the bug.
12072         [0b37f8ce7824]
12073
12074         * configure:
12075         regen
12076         [1876cb840fe0]
12077
12078         * configure.in:
12079         ++version
12080         [480aff7c048e]
12081
12082         * README:
12083         ++version
12084         [488e0bbff613]
12085
12086         * Makefile.in:
12087         ++version
12088         [97ef63cedc38]
12089
12090         * INSTALL.binary:
12091         ++version
12092         [a506204e77d0]
12093
12094         * INSTALL:
12095         ++version
12096         [555aeba5c2bf]
12097
12098         * CHANGES, version.h:
12099         ++version
12100         [f66985a64063]
12101
12102         * BUGS:
12103         ++version
12104         [ea3573432412]
12105
12106         * configure.in:
12107         use krb5-config to determine Kerberos V details if it exists
12108         [7b46bbdaf774]
12109
12110         * alloc.c, auth/fwtk.c, auth/rfc1938.c, auth/securid.c,
12111         auth/securid5.c, auth/sia.c, check.c, compat.h, defaults.c, env.c,
12112         find_path.c, interfaces.c, logging.c, parse.c, sudo.c, sudo.h,
12113         testsudoers.c, visudo.c:
12114         Use warn/err and getprogname() throughout. The main exception is
12115         openlog(). Since the admin may be filtering logs based on the
12116         program name in the log files, hard code this to "sudo".
12117         [9f180d015cfa]
12118
12119         * Makefile.in:
12120         Add getprogname.c and err.c
12121         [d411c54a07dc]
12122
12123         * configure:
12124         regen
12125         [6d585d391acc]
12126
12127         * config.h.in, configure.in:
12128         Add checks for getprognam(), __progname and err.h
12129         [bcbccf61d34a]
12130
12131         * emul/err.h:
12132         For systems withour err/warn functions.
12133         [1b33118884d9]
12134
12135         * err.c:
12136         For systems withour err/warn functions.
12137         [26721f6b041f]
12138
12139         * getprogname.c:
12140         For systems neither getprogname() nor __progname; uses Argv[0].
12141         [841cf42af1eb]
12142
12143 2003-04-01  Todd C. Miller  <Todd.Miller@courtesan.com>
12144
12145         * CHANGES:
12146         checkpoint for 1.6.7p1
12147         [5bfdaf441dce]
12148
12149         * sudo.c, testsudoers.c:
12150         fix strlcpy() rval check (innocuous)
12151         [e05ac7e0d1f3]
12152
12153         * check.c:
12154         oflow detection in expand_prompt() was faulty (false positives). The
12155         count was based on strlcat() return value which includes the length
12156         of the entire string.
12157         [086c5a0acb25]
12158
12159 2003-03-31  Todd C. Miller  <Todd.Miller@courtesan.com>
12160
12161         * RUNSON, TODO:
12162         checkpoint for the sudo 1.6.7 release
12163         [096bab4da29a] [SUDO_1_6_7]
12164
12165         * CHANGES:
12166         checkpoint for the sudo 1.6.7 release
12167         [87322187ed78]
12168
12169 2003-03-24  Todd C. Miller  <Todd.Miller@courtesan.com>
12170
12171         * logging.c:
12172         g/c unused variable
12173         [c57cd4a17765]
12174
12175         * configure:
12176         regen
12177         [e7c1f581dfac]
12178
12179         * configure.in:
12180         use man sections 8 and 5 for csops
12181         [87de581bda88]
12182
12183 2003-03-21  Todd C. Miller  <Todd.Miller@courtesan.com>
12184
12185         * configure:
12186         regen
12187         [cb1433a9c7a1]
12188
12189         * configure.in:
12190         Add -lskey or -lopie directly to SUDO_LIBS instead of having
12191         AC_CHECK_LIB() add them to LIBS. Fixes visudo linkage.
12192         [ac5667978939]
12193
12194         * configure:
12195         regen
12196         [638459118a2a]
12197
12198         * configure.in:
12199         Add --with-blibpath for AIX. An alternate libpath may be specified
12200         or
12201         -blibpath support can be disabled. Also change conifgure such that
12202         -blibpath is not specified if no -L libpaths were added to
12203         SUDO_LDFLAGS.
12204         [c7d17b480cad]
12205
12206         * aclocal.m4:
12207         Add --with-blibpath for AIX. An alternate libpath may be specified
12208         or
12209         -blibpath support can be disabled. Also change conifgure such that
12210         -blibpath is not specified if no -L libpaths were added to
12211         SUDO_LDFLAGS.
12212         [37022e991575]
12213
12214         * INSTALL:
12215         Add --with-blibpath for AIX. An alternate libpath may be specified
12216         or
12217         -blibpath support can be disabled. Also change conifgure such that
12218         -blibpath is not specified if no -L libpaths were added to
12219         SUDO_LDFLAGS.
12220         [4b4bbe5bbe1b]
12221
12222         * configure.in:
12223         add AIX blibpath support
12224         [16ba788bf086]
12225
12226         * INSTALL, configure.in:
12227         --with-skey and --with-opie now take an option directory argument
12228         This obsoletes a --with-csops hack (/tools/cs/skey)
12229
12230         Also remove the remaining direct uses of "echo"
12231         [5b4986a90c03]
12232
12233 2003-03-20  Todd C. Miller  <Todd.Miller@courtesan.com>
12234
12235         * configure.in:
12236         Detect KTH Kerberos IV and deal with it. Also make -lroken optional
12237         for KTH Kerberos IV and V.
12238         [119f97b48e18]
12239
12240         * aclocal.m4:
12241         Add SUDO_APPEND_LIBPATH function that add -L/path/to/dir (and
12242         -R/path/to/dir if $with_rpath) to the specified variable.
12243         [e55e49d076ce]
12244
12245         * INSTALL, configure.in:
12246         Add -R/path/to/libs for Solaris and SVR4. There is a new configure
12247         option, --with-rpath to control this behavior.
12248         [d4730c5399ab]
12249
12250         * configure.in:
12251         for kerb4 put libdes after libkrb on the link line
12252         [5c566100eab6]
12253
12254         * auth/kerb4.c:
12255         typo
12256         [6541b72b64a3]
12257
12258         * configure.in:
12259         fix kerberos lib check when a path is specified
12260         [ae833a914c6f]
12261
12262         * logging.c:
12263         Fix boolean thinko in SIGCHLD reaper and call reapchild after
12264         sending mail instead of doing a conditional sudo_waitpid.
12265         [86fa9a35df5a]
12266
12267 2003-03-19  Todd C. Miller  <Todd.Miller@courtesan.com>
12268
12269         * configure:
12270         regen
12271         [e6275cf528ba]
12272
12273         * configure.in:
12274         replace =DIR with [=DIR] where sensible
12275         [c39a59173b38]
12276
12277         * configure.in:
12278         o Use AC_MSG_* instead of "echo" o New Kerberos include/lib
12279         detection based on openssh's configure.in
12280         [5b7a340912df]
12281
12282         * INSTALL:
12283         --with-kerb4 and --with-kerb5 now take an optional argument.
12284         [71ed87fc9c64]
12285
12286 2003-03-16  Todd C. Miller  <Todd.Miller@courtesan.com>
12287
12288         * auth/securid.c:
12289         Kill remaining strcpy(), the programmer's guide says username is 32
12290         bytes.
12291         [bdba70fcd08d]
12292
12293         * auth/kerb4.c:
12294         trat uid_t as unsigned long for printf and use snprintf, not sprintf
12295         [8072f5f8966d]
12296
12297         * auth/rfc1938.c:
12298         use snprintf
12299         [fc0c70c665fe]
12300
12301 2003-03-15  Todd C. Miller  <Todd.Miller@courtesan.com>
12302
12303         * auth/afs.c, auth/aix_auth.c, auth/bsdauth.c, auth/dce.c,
12304         auth/fwtk.c, auth/kerb4.c, auth/kerb5.c, auth/pam.c, auth/passwd.c,
12305         auth/rfc1938.c, auth/sudo_auth.c:
12306         update copyright year
12307         [b0a10ccb1d0e]
12308
12309         * sudo.man.in, sudoers.man.in, visudo.man.in:
12310         update copyright year
12311         [8fce0034eb51]
12312
12313         * LICENSE, Makefile.in, aclocal.m4, alloc.c, check.c, compat.h,
12314         configure.in, env.c, find_path.c, interfaces.c, logging.c, parse.c,
12315         parse.lex, parse.yacc, set_perms.c, sudo.c, sudo.h, sudo.pod,
12316         sudoers.pod, testsudoers.c, version.h, visudo.c, visudo.pod:
12317         update copyright year
12318         [d541e75fe520]
12319
12320         * check.c, env.c, sudo.c:
12321         Cast [ug]ids to unsigned long and printf with %lu
12322         [2ede64d3592b]
12323
12324         * configure:
12325         regen
12326         [c7c3245bdf3e]
12327
12328         * configure.in:
12329         correct error messages for --with-sudoers-{mode,uid,gid}
12330         [77fc15b1c9db]
12331
12332         * alloc.c:
12333         make the malloc(0) error specific to each function to aid tracking
12334         down bugs.
12335         [a58c34374b4b]
12336
12337         * alloc.c:
12338         deal with platforms where size_t is signed and there is no SIZE_MAX
12339         or SIZE_T_MAX
12340         [7192abb4ab4e]
12341
12342         * auth/kerb5.c:
12343         Make this compile w/ Heimdal and fix some gcc warnings.
12344         [f52f026f31c2]
12345
12346         * sudo.c:
12347         Use stat_sudoers macro so --with-stow can work
12348         [c3674735c139]
12349
12350         * INSTALL, config.h.in, configure, configure.in:
12351         Add support for --with-stow based on patches from Robert Uhl
12352         [b274cc1dd52c]
12353
12354         * env.c:
12355         fix indentation
12356         [110d9f1721b1]
12357
12358         * configure.in:
12359         back out rev 1.352
12360         [1eee91c83f11]
12361
12362         * lex.yy.c:
12363         regen
12364         [72fba1c9590b]
12365
12366         * parse.lex:
12367         use strlcpy, not strncpy
12368         [4faccbaeccef]
12369
12370         * set_perms.c:
12371         Fix typo; check pw_uid, not pw_gid after setusercontext() failure.
12372         [33bf0d18fdc1]
12373
12374         * logging.c:
12375         use pid_t
12376         [3e0536993d2c]
12377
12378 2003-03-14  Todd C. Miller  <Todd.Miller@courtesan.com>
12379
12380         * strlcat.c, strlcpy.c:
12381         Make gcc shutup about unused rcsid
12382         [1669a0c74e9e]
12383
12384         * interfaces.c:
12385         Move the n == 0 check for the non-getifaddrs cas
12386         [2460be061b2a]
12387
12388         * auth/rfc1938.c:
12389         skeychallenge() on NetBSD take a size parameter
12390         [05acc2012801]
12391
12392         * configure:
12393         regen
12394         [24bccf4749e8]
12395
12396         * configure.in:
12397         put -ldl after -lpam, not before; fixes static linking on Linux
12398         [7f06b7b2b4d8]
12399
12400         * interfaces.c:
12401         Avoid malloc(0) and fix the loop invariant for the getifaddrs()
12402         case.
12403         [239a55068646]
12404
12405         * sudo.cat, sudoers.cat, visudo.cat:
12406         regen
12407         [4a2eed3981ca]
12408
12409         * sudo.man.in, sudoers.man.in, visudo.man.in:
12410         regen
12411         [2c96ea2cf930]
12412
12413         * Makefile.in:
12414         Preserve copyright notice from .pod file in .man.in file
12415         [519fbd09aebc]
12416
12417         * visudo.pod:
12418         Add sudoers(5) to SEE ALSO
12419         [77ecfe3aedf1]
12420
12421 2003-03-13  Todd C. Miller  <Todd.Miller@courtesan.com>
12422
12423         * lex.yy.c:
12424         regen
12425         [6f5751ce0b74]
12426
12427         * parse.lex:
12428         Don't assume libc can realloc() a NULL string. If malloc/realloc
12429         fails, make sure we just return; yyerror() is not terminal.
12430         [1b8618623708]
12431
12432         * lex.yy.c:
12433         regen
12434         [5d31b46191c6]
12435
12436         * parse.lex:
12437         simplify fill_args a little and use strlcpy for paranoia
12438         [0ea35a55542b]
12439
12440         * sudo.tab.c:
12441         regen
12442         [5a8d508d708b]
12443
12444         * check.c, env.c, find_path.c, parse.c, parse.yacc, sudo.c,
12445         testsudoers.c:
12446         Use strlc{at,py} for paranoia's sake and exit on overflow. In all
12447         cases the strings were either pre-allocated to the correct size of
12448         length checks were done before the copy but a little paranoia can go
12449         a long way.
12450         [e73d28f1d14e]
12451
12452         * sudo.h:
12453         Add strlc{at,py} protos
12454         [748ffc7fc7f4]
12455
12456         * env.c, interfaces.c:
12457         Use erealloc3()
12458         [47f2cb46aba8]
12459
12460         * configure:
12461         regen
12462         [e7e2fb79f935]
12463
12464         * alloc.c:
12465         Oflow test of nmemb > SIZE_MAX / size is fine (don't need >=). Use
12466         memcpy() instead of strcpy() in estrdup() so this is strcpy()-free.
12467         [7e0fa4d6fc1d]
12468
12469         * sudo.c:
12470         snprintf() a uid as %lu, not %ld to match the MAX_UID_T_LEN test in
12471         configure.
12472         [09ea4d3959e9]
12473
12474         * aclocal.m4:
12475         In MAX_UID_T_LEN test cast uid_t to unsigned long, just unsigned.
12476         [31b4fdfdb8bf]
12477
12478 2003-03-12  Todd C. Miller  <Todd.Miller@courtesan.com>
12479
12480         * sudo.c:
12481         Use snprintf() for paranoia
12482         [a2659ceb46de]
12483
12484         * parse.yacc:
12485         Use emalloc2 and erealloc3
12486         [90a069842401]
12487
12488         * Makefile.in:
12489         strlc{at,py} for those w/o it
12490         [bac82dc916ee]
12491
12492         * strlcat.c, strlcpy.c:
12493         stlc{at,py} for those w/o it.
12494         [ce7254f5db09]
12495
12496         * config.h.in, configure, configure.in:
12497         Add stlc{at,py} for those w/o it.
12498         [00f08219657a]
12499
12500         * alloc.c, sudo.h:
12501         Add erealloc3(), a realloc() version of emalloc2().
12502         [c96eaf08bbed]
12503
12504         * interfaces.c, sudo.c:
12505         Use emalloc2() to allocate N things of a certain size.
12506         [1e0aba365555]
12507
12508         * alloc.c, sudo.h:
12509         Add emalloc2() -- like calloc() but w/o the bzero and with
12510         error/oflow checking.
12511         [292150bc4153]
12512
12513         * alloc.c:
12514         Error out on malloc(0); suggested by theo
12515         [995279e81326]
12516
12517 2003-03-10  Todd C. Miller  <Todd.Miller@courtesan.com>
12518
12519         * configure, configure.in:
12520         fix a typo; David Krause
12521         [f161213a17ab]
12522
12523 2003-03-07  Todd C. Miller  <Todd.Miller@courtesan.com>
12524
12525         * sudo.pod:
12526         fix typo
12527         [3ae5ad9a351a]
12528
12529 2003-03-04  Todd C. Miller  <Todd.Miller@courtesan.com>
12530
12531         * env.c:
12532         Remove DYLD_ from the environment for MacOS X; from bbraun
12533         [38caad5a3935]
12534
12535 2003-03-01  Todd C. Miller  <Todd.Miller@courtesan.com>
12536
12537         * config.h.in, configure.in:
12538         not not; Anil Madhavapeddy
12539         [d4f4f0bfc66b]
12540
12541 2003-01-23  Todd C. Miller  <Todd.Miller@courtesan.com>
12542
12543         * sudo.pod, sudoers.pod, visudo.pod:
12544         typos; jmc@openbsd.org
12545         [868c0f09bf9e]
12546
12547 2003-01-20  Todd C. Miller  <Todd.Miller@courtesan.com>
12548
12549         * parse.yacc:
12550         Add some missing ';' rule terminators that bison warns about.
12551         [535b0b8dcce5]
12552
12553         * config.sub:
12554         fix typo I introduced in last merge
12555         [81db4e4f43fe]
12556
12557         * configure:
12558         regenerate with autoconf 2.57
12559         [ca0c1e9564f8]
12560
12561         * config.h.in:
12562         Add missing "$HOME"
12563         [209186197ad1]
12564
12565         * configure.in:
12566         Add some more square backets to make autoconf 2.57 happy
12567         [b5639c14faf7]
12568
12569         * config.sub, mkinstalldirs:
12570         Updates from autoconf-2.57
12571         [36be35eb331b]
12572
12573         * config.guess:
12574         Updates from autoconf-2.57
12575         [ea0f8ca622af]
12576
12577 2003-01-17  Todd C. Miller  <Todd.Miller@courtesan.com>
12578
12579         * sudo.tab.h:
12580         regen
12581         [13a65a421567]
12582
12583         * lex.yy.c, sudo.tab.c:
12584         regen
12585         [0b529db7cb6d]
12586
12587         * parse.lex, parse.yacc, sudoers.pod:
12588         Add support for Defaults>RunasUser
12589         [20d726373175]
12590
12591 2003-01-07  Todd C. Miller  <Todd.Miller@courtesan.com>
12592
12593         * visudo.c:
12594         fclose() yyin after each yyparse() is done and use fopen() instead
12595         of using freopen().
12596         [587f8a2df857]
12597
12598         * parse.lex:
12599         Better fix for sudoers files w/o a newline before EOF. It looks
12600         like the issue is that yyrestart() does not reset the start
12601         condition to INITIAL which is an issue since we parse sudoers
12602         multiple times.
12603         [920f8326968a]
12604
12605 2003-01-06  Todd C. Miller  <Todd.Miller@courtesan.com>
12606
12607         * parse.lex:
12608         Work around what appears to be a flex bug when dealing with files
12609         that lack a final newline before EOF. This adds a rule to match EOF
12610         in the non-initial states which resets the state to INITIAL and
12611         throws an error.
12612         [b94943bb1f81]
12613
12614         * visudo.c:
12615         o The parser needs sudoers to end with a newline but some editors
12616         (emacs) may not add one. Check for a missing newline at EOF and
12617         add one if needed. o Set quiet flag during initial sudoers parse (to
12618         get options) o Move yyrestart() call and always use freopen() to
12619         open yyin after initial sudoers parse.
12620         [12d12f9b07aa]
12621
12622 2002-12-15  Todd C. Miller  <Todd.Miller@courtesan.com>
12623
12624         * set_perms.c:
12625         Fix pasto/thinko in setresgid()/setregid() usage. Want to set
12626         effective gid, not real gid, when reading sudoers.
12627         [c7d18b810fcd]
12628
12629         * set_perms.c:
12630         don't compile set_perms_posix if we have setreuid or setresuid
12631         [b9cea7a81a29]
12632
12633 2002-12-14  Todd C. Miller  <Todd.Miller@courtesan.com>
12634
12635         * sudo.pod, sudoers.pod:
12636         document new prompt escapes
12637         [2f088076b640]
12638
12639         * check.c:
12640         Add %U and %H escapes and redo prompt rewriting. "%%" now gets
12641         collapsed to "%" as was originally intended. This also gets rid of
12642         lastchar (does lookahead instead of lookback) which should simplify
12643         the logic slightly.
12644         [4b707b77b3c7]
12645
12646 2002-12-13  Todd C. Miller  <Todd.Miller@courtesan.com>
12647
12648         * tgetpass.c:
12649         Write the prompt *after* turning off echo to avoid some password
12650         characters being echoed on heavily-loaded machines with fast
12651         typists.
12652         [d38c57775915]
12653
12654         * config.sub:
12655         Add support for mipseb; wiz@danbala.tuwien.ac.at
12656         [cfdac87ed5c8]
12657
12658         * configure.in:
12659         Fix IRIX fallout from name changes in man dir/sect Makefile
12660         variables. Patch from erici AT motown DOT cc DOT utexas DOT edu
12661         [9a7618755c23]
12662
12663         * auth/pam.c:
12664         Keep a local copy of tgetpass_flags so we don't add in TGP_ECHO to
12665         the global copy. Problem noted by Peter Pentchev.
12666         [d0a3e189cb06]
12667
12668 2002-11-28  Todd C. Miller  <Todd.Miller@courtesan.com>
12669
12670         * sudo.tab.c:
12671         regen
12672         [23b931359087]
12673
12674         * parse.yacc:
12675         Add missing yyerror() calls; YYERROR does not seem to call this for
12676         us.
12677         [0be7aeb3ac57]
12678
12679 2002-11-26  Todd C. Miller  <Todd.Miller@courtesan.com>
12680
12681         * sudo.c:
12682         fix typo in comment; Pedro Bastos
12683         [d7406c460e99]
12684
12685 2002-11-22  Todd C. Miller  <Todd.Miller@courtesan.com>
12686
12687         * INSTALL:
12688         document --disable-setresuid
12689         [fbd03d03a027]
12690
12691         * auth/aix_auth.c, auth/bsdauth.c, auth/fwtk.c, auth/pam.c,
12692         auth/sudo_auth.c:
12693         Sprinkle some volatile qualifiers to prevent over-enthusiastic
12694         optimizers from removing memset() calls.
12695         [5370ac0e6129]
12696
12697         * logging.c, parse.yacc:
12698         minor sign fixes pointed out by gcc -Wsign-compare
12699         [db872438337f]
12700
12701         * set_perms.c, sudo.c, sudo.h:
12702         Revamp set_perms. We now use a version based on setresuid() or
12703         setreuid() when possible since that allows us to support the
12704         stay_setuid option and we always know exactly what the semantics
12705         will be (various Linux kernels have broken POSIX saved uid support).
12706         [523bc212396c]
12707
12708         * config.h.in, configure:
12709         regen from configure.in
12710         [351877ea2624]
12711
12712         * configure.in:
12713         Add checks for setresuid() and a way to disable using it
12714         [a5b21653d169]
12715
12716         * compat.h:
12717         No long need to emulate set*[ug]id() via setres[ug]id() or
12718         setre[ug]id(). The new set_perms stuff only uses things it knows are
12719         there.
12720         [47884bd5d1d9]
12721
12722         * sudo.c:
12723         Before exec, restore state of signal handlers to be the same as when
12724         we were initialy invoked instead of just reseting to SIG_DFL. Fixes
12725         a problem when using sudo with nohup. Based on a patch from Paul
12726         Markham.
12727         [f8f5a1484faa]
12728
12729         * sudo.c:
12730         o timestamp_uid should be uid_t, not int o clarify error message
12731         when sudo is run by root and no_root_sudo is set
12732         [19dda0734264]
12733
12734 2002-09-19  Todd C. Miller  <Todd.Miller@courtesan.com>
12735
12736         * README:
12737         update ftp link for bison
12738         [98bc191016e3]
12739
12740 2002-07-20  Todd C. Miller  <Todd.Miller@courtesan.com>
12741
12742         * set_perms.c:
12743         Error out if setusercontext() fails and the runas user is not root.
12744         [089f9ade4686]
12745
12746 2002-05-20  Todd C. Miller  <Todd.Miller@courtesan.com>
12747
12748         * auth/securid5.c:
12749         Fix rcsid
12750         [07e9e85dcc2f]
12751
12752         * configure.in:
12753         Fix SecurID API test
12754         [5ec201f454a5]
12755
12756 2002-05-17  Todd C. Miller  <Todd.Miller@courtesan.com>
12757
12758         * env.c:
12759         typo in comment
12760         [9d385c9ac533]
12761
12762         * configure.in:
12763         securid5 stuff needs pthreads. Just adding -lpthread is suboptimal
12764         but I don't see a better way at the moment.
12765         [f89e55cbb313]
12766
12767         * Makefile.in, auth/securid5.c:
12768         SecurID API version 5 support from Michael Stroucken
12769         [68500ac7e531]
12770
12771         * configure.in:
12772         Add check for SecurID 5.0 API
12773         [1ee242e6de6b]
12774
12775 2002-05-08  Todd C. Miller  <Todd.Miller@courtesan.com>
12776
12777         * strerror.c:
12778         We actually do still need config.h to get the 'const' definition for
12779         K&R C.
12780         [d9c982032d85]
12781
12782 2002-05-05  Todd C. Miller  <Todd.Miller@courtesan.com>
12783
12784         * configure:
12785         regen with autoconf 2.5.3
12786         [c71fc086eef5]
12787
12788         * configure.in:
12789         Don't set sysconfdir to '/etc' if the user has specified a --prefix.
12790         [d90da1efafd9]
12791
12792         * configure.in:
12793         Some fixes for autoconf 2.53 from Robert Uhl o don't AC_SUBST
12794         LIBOBJS o force a 4th arg for AC_CHECK_HEADER() to workaround a bug
12795         [dd67afefa90d]
12796
12797         * env.c, sudo.c, sudo.h:
12798         No need for dump_badenv() now that dump_defaults() knows how to dump
12799         lists.
12800         [6bcda468501d]
12801
12802         * BUGS, INSTALL, INSTALL.binary, Makefile.in, README, configure.in,
12803         version.h:
12804         ++version
12805         [44e3b8f95f0b]
12806
12807         * sudoers.pod:
12808         document timestampowner
12809         [37ebd69e9dd1]
12810
12811         * check.c:
12812         Don't call set_perms() when doing timestamp stuff unless
12813         timestamp_uid != 0.
12814         [63a63d41d18c]
12815
12816         * auth/sudo_auth.c, check.c, logging.c, parse.c, set_perms.c, sudo.c,
12817         sudo.h, testsudoers.c:
12818         g/c second arg to set_perms--it is no longer used
12819         [7ac4ce50c612]
12820
12821 2002-05-03  Todd C. Miller  <Todd.Miller@courtesan.com>
12822
12823         * check.c, set_perms.c, sudo.c, sudo.h:
12824         Add support for non-root timestamp dirs. This allows the timestamp
12825         dir to be shared via NFS (though this is not recommended).
12826         [faa83dd2b7fb]
12827
12828         * def_data.c, def_data.h, def_data.in:
12829         Add timestampowner, "Owner of the authentication timestamp dir"
12830         [d47640d4c86a]
12831
12832 2002-05-02  Todd C. Miller  <Todd.Miller@courtesan.com>
12833
12834         * env.c:
12835         Don't try to pre-compute the size of the new envp, just allocate
12836         space up front and realloc as needed. Changes to the new env
12837         pointer must all be made through insert_env() which now keeps track
12838         of spaced used and allocates as needed.
12839         [39bc934a9f2c]
12840
12841 2002-04-26  Todd C. Miller  <Todd.Miller@courtesan.com>
12842
12843         * configure:
12844         regen
12845         [0e12c09bb790]
12846
12847         * configure.in:
12848         Fix two typo/pastos; from jrj@purdue.edu
12849         [b718a4bf1181]
12850
12851 2002-04-25  Todd C. Miller  <Todd.Miller@courtesan.com>
12852
12853         * INSTALL.binary, README:
12854         ++version
12855         [a1e33027278c] [SUDO_1_6_6]
12856
12857         * configure, sudo.cat, sudo.man.in, sudoers.cat, sudoers.man.in,
12858         visudo.cat, visudo.man.in:
12859         regen
12860         [19eb2be283ef]
12861
12862         * CHANGES, RUNSON, TODO:
12863         Sync with 1.6.6
12864         [2ff9a9087f63]
12865
12866         * check.c:
12867         The the loop used to expand %h and %u, the lastchar variable was not
12868         being initialized. This means that if the last char in the prompt
12869         is '%' and the first char is 'h' or 'u' a extra copy of the host or
12870         user name would be copied, for which space had not been allocated.
12871         [b2e27197857d]
12872
12873 2002-04-18  Todd C. Miller  <Todd.Miller@courtesan.com>
12874
12875         * BUGS, INSTALL, Makefile.in, configure.in, version.h:
12876         crank version to 1.6.6
12877         [cfd08689e597]
12878
12879         * auth/afs.c:
12880         #undef VOID to get rid of an AFS warning
12881         [b40760564dc1]
12882
12883         * env.c:
12884         Use easprintf instead of emalloc + sprintf for some things.
12885         [e7bfe2e69a03]
12886
12887 2002-03-16  Todd C. Miller  <Todd.Miller@courtesan.com>
12888
12889         * lex.yy.c, sudo.tab.c:
12890         regen
12891         [35327104383d]
12892
12893         * parse.c, parse.lex, parse.yacc, testsudoers.c:
12894         Remove Chris Jepeway's email address so people don't bug him ;-)
12895         [c03410747a69]
12896
12897 2002-03-12  Todd C. Miller  <Todd.Miller@courtesan.com>
12898
12899         * sudo.c:
12900         Move endpwent() to be after set_perms(PERM_RUNAS, ...) and also call
12901         endgrent() at the same time.
12902         [28b6097d5d1a]
12903
12904 2002-02-22  Todd C. Miller  <Todd.Miller@courtesan.com>
12905
12906         * INSTALL:
12907         Make it clear which configure options take arguments.
12908         [38529e7efad0]
12909
12910 2002-01-25  Todd C. Miller  <Todd.Miller@courtesan.com>
12911
12912         * compat.h:
12913         HP-UX 9.x has RLIMIT_* but no RLIM_INFINITY. If there is no
12914         RLIM_INFINITY, just pretend it is -1. This works because we only
12915         check for RLIM_INFINITY and do not set anything to that value.
12916         [53173d34e6eb]
12917
12918 2002-01-22  Todd C. Miller  <Todd.Miller@courtesan.com>
12919
12920         * auth/pam.c:
12921         Zero and free allocated memory when there is a conversation error.
12922         [e342133db579]
12923
12924         * auth/bsdauth.c:
12925         Use sigaction() not signal()
12926         [126c2790561f]
12927
12928         * INSTALL:
12929         Mention that some linux kernels have broken POSIX saved ID support
12930         [571ef1a893d3]
12931
12932         * CHANGES:
12933         checkpoint for 1.6.5p2
12934         [9e9e456f7f43]
12935
12936         * configure:
12937         regen
12938         [d53703a46708]
12939
12940         * configure.in:
12941         Add --disable-setreuid flag
12942         [3b9f2679cb55]
12943
12944         * INSTALL:
12945         Document new --disable-setreuid option and change description for
12946         --disable-saved-ids to match new error message.
12947         [14fd3e5f60a5]
12948
12949         * set_perms.c:
12950         fatal() now takes an argument that determines whether or not to call
12951         perror().
12952         [d826b25e62ff]
12953
12954         * TROUBLESHOOTING:
12955         Update for new error messages from set_perms()
12956         [78007c3f76a9]
12957
12958         * PORTING:
12959         Update for new error messages from set_perms()
12960         [60c545a6bcff]
12961
12962 2002-01-21  Todd C. Miller  <Todd.Miller@courtesan.com>
12963
12964         * auth/pam.c:
12965         Make this compile w/o warnings
12966         [b90843a29af5]
12967
12968         * auth/pam.c:
12969         Mention that we can't use pam_acct_mgmt()
12970         [1dfc5a6e0479]
12971
12972         * auth/aix_auth.c, auth/bsdauth.c, auth/fwtk.c, auth/pam.c:
12973         The user's password was not zeroed after use when AIX
12974         authentication, BSD authentication, FWTK or PAM was in use.
12975         [b18fff30b1e7]
12976
12977 2002-01-20  Todd C. Miller  <Todd.Miller@courtesan.com>
12978
12979         * auth/pam.c:
12980         Avoid giving PAM a NULL password response, use the empty string
12981         instead. This avoids a log warning when the user hits ^C at the
12982         password prompt when PAM is in use.
12983         [c3315805e4e4]
12984
12985         * auth/pam.c:
12986         Don't check the return value of pam_setcred(). In Linux-PAM 0.75
12987         pam_setcred() returns the last saved return code, not the return
12988         code for the setcred module. Because we haven't called
12989         pam_authenticate(), this is not set and so pam_setcred() returns
12990         PAM_PERM_DENIED.
12991         [73db145fa179]
12992
12993         * Makefile.in:
12994         Don't need a '/' between $(DESTDIR) and a directory.
12995         [0901ca618176]
12996
12997         * Makefile.binary:
12998         Don't need a '/' between $(DESTDIR) and a directory.
12999         [cd7eb6098b87]
13000
13001 2002-01-18  Todd C. Miller  <Todd.Miller@courtesan.com>
13002
13003         * configure:
13004         regen
13005         [41b12c039282]
13006
13007         * configure.in:
13008         o BSDi also has a bogus setreuid() o Old FreeBSD has a bogus
13009         setreuid() o new NetBSD has a real setreuid() o add check for
13010         freeifaddrs() if getifaddrs() exists.
13011         [a82ee3b01733]
13012
13013         * config.h.in, interfaces.c:
13014         Older BSDi releases lack freeifaddrs() so add a test for that and if
13015         it is not present just use free().
13016         [6270671ea9d5]
13017
13018 2002-01-17  Todd C. Miller  <Todd.Miller@courtesan.com>
13019
13020         * CHANGES, RUNSON:
13021         Checkpoint for 1.6.5p1
13022         [26134ecf9b36]
13023
13024         * auth/passwd.c:
13025         Return AUTH_FAILURE in passwd_init() if skeyaccess() denies access
13026         to normal passwords, not AUTH_FATAL (which just causes an exit).
13027         [785e0f4bc0e2]
13028
13029         * visudo.c:
13030         Don't use memory after it has been freed.
13031         [c60492739fdb]
13032
13033         * auth/passwd.c:
13034         skeyaccess() wants a struct passwd * not a char *; Patch from
13035         Phillip E. Lobbes
13036         [65a1d3806fcd] [SUDO_1_6_5]
13037
13038         * BUGS:
13039         ++version
13040         [b2e1825e692e]
13041
13042         * CHANGES, RUNSON, TODO:
13043         checkpoint for sudo 1.6.5
13044         [d730945622e7]
13045
13046 2002-01-16  Todd C. Miller  <Todd.Miller@courtesan.com>
13047
13048         * configure:
13049         regen
13050         [49744c403ac9]
13051
13052         * INSTALL, INSTALL.binary, Makefile.in, README, configure.in:
13053         version 1.6.5
13054         [ec30a5f7fc45]
13055
13056         * sudo.cat, sudo.man.in, sudoers.cat, sudoers.man.in, visudo.cat,
13057         visudo.man.in:
13058         sudo version 1.6.5
13059         [458a3bed535d]
13060
13061         * logging.c:
13062         o when invoking the mailer as root use a hard-coded environment that
13063         doesn't include any info from the user's environment. Basically
13064         paranoia.
13065
13066         o Add support for the NO_ROOT_MAILER compile-time option and run the
13067         mailer as the user and not root if NO_ROOT_MAILER is defined.
13068         [4df351ec92ce]
13069
13070         * set_perms.c, sudo.h:
13071         Bring back PERM_FULL_USER
13072         [edb6039bb284]
13073
13074         * configure:
13075         regen
13076         [3eb2943afa03]
13077
13078         * version.h:
13079         version 1.6.5
13080         [044fc9a0c72b]
13081
13082         * INSTALL, config.h.in, configure.in:
13083         Add --disable-root-mailer option to run the mailer as the user and
13084         not root.
13085         [e9f805397963]
13086
13087         * CHANGES:
13088         checkpoint for 1.6.4p2
13089         [b58aae5aa98a]
13090
13091         * PORTING:
13092         Mention the "seteuid(0): Operation not permitted" problem here too
13093         just for good measure.
13094         [90135b37a691]
13095
13096 2002-01-15  Todd C. Miller  <Todd.Miller@courtesan.com>
13097
13098         * env.c, getspwuid.c, sudo.c:
13099         The SHELL environment variable was preserved from the user's
13100         environment instead of being reset based on the passwd database when
13101         the "env_reset" option was used. Now it is reset as it should be.
13102         [300066ef3c71]
13103
13104         * configure:
13105         regen
13106         [a47d779e6552]
13107
13108         * INSTALL, TROUBLESHOOTING, config.h.in, configure.in, set_perms.c,
13109         sudo.c:
13110         Add a configure option to turn off use of POSIX saved IDs
13111         [fb18cc8e94d0]
13112
13113         * configure:
13114         regen
13115         [d4f2f20025b6]
13116
13117         * configure.in:
13118         add --with-efence option
13119         [45c4f33a8e88]
13120
13121         * sudo.c:
13122         Only OR in MODE_RESET_HOME if MODE_RUN is set. Fixes a problem where
13123         "sudo -l" would not work if always_set_home was set.
13124         [c3a6de6c4800]
13125
13126         * lex.yy.c:
13127         regen
13128         [417424452998]
13129
13130         * parse.lex:
13131         Quoted commas were not being treated correctly in command line
13132         arguments.
13133         [753415541b37]
13134
13135         * sudo.c:
13136         o Move the call to rebuild_env() until after MODE_RESET_HOME is set.
13137         Otherwise, the set_home option has no effect.
13138
13139         o Fix use of freed memory when the "fqdn" flag is set. This was
13140         introduced by the fix for the "segv when gethostbynam() fails" bug.
13141         Also, we no longer call set_fqdn() if the "fqdn" flag is not set so
13142         there is no need to check the "fqdn" flag in set_fqdn() itself.
13143         [4b6a4245c04e]
13144
13145         * env.c:
13146         Add 'continue' statements to optimize the switch statement. From
13147         Solar.
13148         [a82c76975ae5]
13149
13150 2002-01-13  Todd C. Miller  <Todd.Miller@courtesan.com>
13151
13152         * sudoers.cat, sudoers.man.in:
13153         Regen from new sudoers.pod
13154         [6ecc07b3d0e1] [SUDO_1_6_4]
13155
13156         * sudoers.pod:
13157         Add caveat about stay_setuid flag
13158         [9d228a7bea1b]
13159
13160         * sudo.c:
13161         If set_perms == set_perms_posix and the stay_setuid flag is not set,
13162         set all uids to 0 and use set_perms_fallback().
13163         [c4e54d1ec86f]
13164
13165         * set_perms.c, sudo.h:
13166         Remove PERM_FULL_USER (which is no longer used) and add
13167         PERM_FULL_ROOT (used when exec'ing the mailer).
13168         [15406c522ea2]
13169
13170         * logging.c:
13171         Use set_perms(PERM_FULL_ROOT, 0) before exec'ing the mailer since we
13172         never want to run the mailer setuid.
13173         [2294853e0666]
13174
13175 2002-01-12  Todd C. Miller  <Todd.Miller@courtesan.com>
13176
13177         * sudo.cat, sudo.man.in, sudo.pod, visudo.cat, visudo.man.in,
13178         visudo.pod:
13179         Use sudo.ws instead of courtesan.com in URLs
13180         [55204002a308]
13181
13182         * Makefile.binary, Makefile.in:
13183         Fix mansect substitution
13184         [b7b5cbc3aa91]
13185
13186         * Makefile.in:
13187         Substitute man sections in Makefile.binary
13188         [040deb785e56]
13189
13190         * Makefile.binary:
13191         Sync install targets with Makefile.in and substitute in man
13192         sections.
13193         [77882a275281]
13194
13195         * INSTALL, INSTALL.binary:
13196         version is 1.6.4
13197         [0f87aabbcb70]
13198
13199         * Makefile.in:
13200         Repair bindist target
13201         [8d43bfe7e2d1]
13202
13203         * CHANGES:
13204         sync for 1.6.4
13205         [13ca3d4a0a72]
13206
13207 2002-01-10  Todd C. Miller  <Todd.Miller@courtesan.com>
13208
13209         * install-sh:
13210         Fix case where neither whoami nor id are found
13211         [424dd270bc47]
13212
13213 2002-01-09  Todd C. Miller  <Todd.Miller@courtesan.com>
13214
13215         * install-sh:
13216         If neither whoami nor id exists, just assume we are root.
13217         [2d2644e42c53]
13218
13219         * alloc.c:
13220         Add explicit cast to (VOID *) on malloc/realloc. Seems to be needed
13221         on AIX which for some reason isn't pulling in the malloc prototype.
13222         [231440d2ee3b]
13223
13224 2002-01-08  Todd C. Miller  <Todd.Miller@courtesan.com>
13225
13226         * Makefile.in, aclocal.m4, compat.h, parse.c, sudo.c:
13227         (c) 2002
13228         [700e3b41a68e]
13229
13230         * CHANGES:
13231         checkpoint
13232         [33e604bd8d5b]
13233
13234         * sudo.c:
13235         Defer assigning new environment until right before the exec.
13236         [f13c49e75c1c]
13237
13238         * parse.c:
13239         kill extra blank line
13240         [12ef22e9dae3]
13241
13242 2002-01-07  Todd C. Miller  <Todd.Miller@courtesan.com>
13243
13244         * configure:
13245         regen
13246         [a6cd2d788f74]
13247
13248         * configure.in:
13249         Use -O not -O2 for m88k-motorola-sysv* since motorola gcc-derived
13250         compiler doesn't recognise -O2.
13251         [5234aa543692]
13252
13253         * HISTORY:
13254         Clarify origins of Root Group sudo a bit based on info from
13255         billp@rootgroup.com
13256         [4deef01c4208]
13257
13258 2002-01-03  Todd C. Miller  <Todd.Miller@courtesan.com>
13259
13260         * LICENSE:
13261         2002
13262         [6c8e089dbd1a]
13263
13264         * CHANGES:
13265         checkpoint for 1.6.4rc1
13266         [3349eb87a49f]
13267
13268 2002-01-02  Todd C. Miller  <Todd.Miller@courtesan.com>
13269
13270         * config.h.in:
13271         now generated via autoheader
13272         [84657d303cb9]
13273
13274         * configure:
13275         regen
13276         [207bfa6a13f6]
13277
13278         * compat.h:
13279         Move in some stuff that was previously in config.h.
13280         [e576d8b6480f]
13281
13282         * aclocal.m4, configure.in:
13283         Add info for autoheader.
13284         [0549cd5da27c]
13285
13286 2002-01-01  Todd C. Miller  <Todd.Miller@courtesan.com>
13287
13288         * Makefile.in:
13289         o Add DESTDIR support o Use -M, -O, and -G instead of -m, -o, and
13290         -g to facilitate non-root installs
13291         [619216038f56]
13292
13293         * install-sh:
13294         Add -M option (like -m but only for root) If we can't find "whoami",
13295         use "id" w/ some sed.
13296         [b39121c8b792]
13297
13298         * configure:
13299         regen
13300         [b39b93ff9804]
13301
13302         * configure.in:
13303         allow user to always override mansectsu and mansectform
13304         [0fca5e63bd90]
13305
13306 2001-12-31  Todd C. Miller  <Todd.Miller@courtesan.com>
13307
13308         * mkinstalldirs:
13309         update from autoconf 2.52
13310         [07bd75a508c3]
13311
13312         * config.guess, config.sub:
13313         Update from autoconf 2.52
13314         [857b90fe31b7]
13315
13316         * configure:
13317         regen with autoconf 2.52
13318         [08e7d1ea2aeb]
13319
13320         * configure.in:
13321         o Call AC_PROG_CC_STDC to find out how to run the compiler in ANSI
13322         mode o Remove compiler-specific checks for HP-UX now that we use
13323         AC_PROG_CC_STDC
13324         [d433a70b6208]
13325
13326         * RUNSON:
13327         Checkpoint
13328         [babf6d2235d1]
13329
13330         * auth/pam.c:
13331         o Add pam_prep_user function to call pam_setcred() for the target
13332         user; on Linux this often sets resource limits. o When calling
13333         pam_end(), try to convert the auth->result to a PAM_FOO value.
13334         This is a hack--we really need to stash the last PAM_FOO value
13335         received and use that instead.
13336         [6ad6f340dd2a]
13337
13338         * set_perms.c, sudo.h:
13339         o Add pam_prep_user function to call pam_setcred() for the target
13340         user; on Linux this often sets resource limits.
13341         [67795421ac82]
13342
13343         * env.c:
13344         Fix off by one error in number of bytes allocated via malloc (does
13345         not affected any released version of sudo).
13346         [5f5915360111]
13347
13348 2001-12-30  Todd C. Miller  <Todd.Miller@courtesan.com>
13349
13350         * lex.yy.c:
13351         regen
13352         [8208c0277775]
13353
13354         * parse.lex:
13355         Allow '@', '(', ')', ':' in arguments to a defaults variable w/o
13356         requiring that they be quoted.
13357         [ae59bc8f68dd]
13358
13359         * sudoers.cat, sudoers.man.in, sudoers.pod:
13360         Mention that no double quotes are needed when
13361         adding/deleting/assigning a single value to a list.
13362         [25efc940a1f0]
13363
13364         * Makefile.in:
13365         Don't rely on mkdefaults being executable, call perl explicitly.
13366         [6edc97ba5f1d]
13367
13368         * sudo.tab.c:
13369         regen
13370         [49130b2e7e4d]
13371
13372         * parse.yacc:
13373         Remove some XXX that are no longer relevant.
13374         [d460ac0d3767]
13375
13376         * defaults.c:
13377         o Roll our own loop instead of using strpbrk() for better
13378         grokability o When adding to a list we must malloc() and use
13379         memcpy(), not strdup() since we must only copy len bytes from str.
13380         [649bef08e1f0]
13381
13382 2001-12-21  Todd C. Miller  <Todd.Miller@courtesan.com>
13383
13384         * sudo.tab.c:
13385         regen
13386         [f0bbf2c38c0e]
13387
13388         * parse.yacc:
13389         typo in comment
13390         [2563711ff593]
13391
13392 2001-12-19  Todd C. Miller  <Todd.Miller@courtesan.com>
13393
13394         * CHANGES:
13395         checkpoint
13396         [a6d8a29fb30e]
13397
13398         * configure:
13399         regen
13400         [bdfcaaf3bd13]
13401
13402         * configure.in:
13403         avoid the -g flag unless --with-devel was specified
13404         [a976707bef30]
13405
13406         * Makefile.in:
13407         mkdefaults, def_data.in and sigaction.c were missing from the
13408         tarball
13409         [6917ffbaa412]
13410
13411         * Makefile.in:
13412         def_data.c was missing
13413         [87c78b11453d]
13414
13415 2001-12-18  Todd C. Miller  <Todd.Miller@courtesan.com>
13416
13417         * env.c:
13418         Fix setting of $USER and $LOGNAME in the non-reset_env case. Also
13419         allow HOME, SHELL, LOGNAME, and USER to be specified in keep_env
13420         [fc8698e6a45e]
13421
13422         * TODO:
13423         Another TODO item
13424         [6f251d6cd466]
13425
13426         * sudoers:
13427         Add comment for Default section so folks know where it should go.
13428         [7edba626f392]
13429
13430 2001-12-17  Todd C. Miller  <Todd.Miller@courtesan.com>
13431
13432         * tgetpass.c:
13433         Use TCSETAF, not TCSETA to set terminal in termio case
13434         [fbd172f6c5d3]
13435
13436         * sudoers.cat, sudoers.man.in:
13437         regen from sudoers.pod
13438         [64edd2de816e]
13439
13440         * sudoers.pod:
13441         o Typo, Runas_User_List should be Runas_List o a User_List can not
13442         contain a uid o mention that the Defaults section should come after
13443         Alias definitions but before the user specifications
13444         [54070ba2092b]
13445
13446 2001-12-15  Todd C. Miller  <Todd.Miller@courtesan.com>
13447
13448         * sudoers.cat, sudoers.man.in:
13449         regen
13450         [e62d1d97693c]
13451
13452         * sudoers.pod:
13453         Fix listpw and verifypw sections, they were not being formatted
13454         properly.
13455         [123868c2f3e9]
13456
13457         * sudoers.cat, sudoers.man.in:
13458         regen
13459         [f94841f8b374]
13460
13461         * sudoers.pod:
13462         fix typos
13463         [f278f1c1184e]
13464
13465         * configure:
13466         regen
13467         [d2270049ba9f]
13468
13469         * config.h.in, configure.in:
13470         use AC_SYS_POSIX_TERMIOS instead of rolling our own
13471         [c1a13f1354b9]
13472
13473         * README:
13474         Reference sudo.ws not courtesan.com
13475         [ca13be67ebd7]
13476
13477         * PORTING:
13478         Add notes on shadow passwords
13479         [aa13863f2314]
13480
13481         * BUGS:
13482         In list mode (sudo -l), characters escaped with a backslash are
13483         shown verbatim with the backslash.
13484         [1a75a2858be2]
13485
13486         * sudoers:
13487         Add simple examples from OpenBSD (Marc Espie)
13488         [3ae9a9ae4125]
13489
13490         * tgetpass.c:
13491         Catch SIGTTIN and SIGTTOU too and treat them like SIGTSTP.
13492         [f8817699ee10]
13493
13494         * CHANGES:
13495         minor prettyification
13496         [f523587929b9]
13497
13498         * CHANGES:
13499         Updated change log
13500         [39d9010ee7a8]
13501
13502         * testsudoers.c:
13503         Fix CIDR handling here too.
13504         [c91db8344c32]
13505
13506         * auth/pam.c:
13507         Apparently a NULL response is OK
13508         [83bae61078d9]
13509
13510         * TODO:
13511         Checkpoint for upcoming beta release
13512         [efb95c09df2a]
13513
13514         * TROUBLESHOOTING:
13515         Many people believe that adding a runas spec should obviate the need
13516         for the -u flag. It does not.
13517         [c698bad85b0e]
13518
13519         * RUNSON:
13520         checkpoint update for upcoming 1.6.4 beta
13521         [009e465a0a45]
13522
13523         * config.h.in:
13524         o Add HAVE_STDLIB_H and HAVE_MEMORY_H o Define HAVE_STRINGS_H even
13525         if HAVE_STRING_H is defined -- this is safe now
13526         [d27c035f4e14]
13527
13528         * PORTING:
13529         Add signals section
13530         [2d24c13cb3c8]
13531
13532         * configure:
13533         regen
13534         [2b80a939e2ed]
13535
13536         * configure.in:
13537         Fix check for sigaction_t
13538         [6fa41c89ab20]
13539
13540         * sudo.c:
13541         XXX - should call find_path() as runas user, not root. Can't do
13542         that until the parser changes though.
13543         [f0b4f85651bd]
13544
13545         * sudo.c:
13546         If find_path() fails as root, try again as the invoking user (useful
13547         for NFS). Idea from Chip Capelik.
13548         [e03fa7872692]
13549
13550         * sudo.cat, sudo.man.in, sudoers.cat, sudoers.man.in:
13551         Regenerate after pod file changes
13552         [48e4bd75ec21]
13553
13554         * def_data.c, def_data.h, def_data.in, set_perms.c, sudo.c, sudo.h,
13555         sudo.pod, sudoers.pod:
13556         Add new sudoers option "preserve_groups". Previously sudo would not
13557         call initgroups() if the target user was root. Now it always calls
13558         initgroups() unless the -P command line option or the
13559         "preserve_groups" sudoers option is set. Idea from TJ Saunders.
13560         [4f730359f101]
13561
13562 2001-12-14  Todd C. Miller  <Todd.Miller@courtesan.com>
13563
13564         * compat.h, config.h.in:
13565         Use new HAVE_SIGACTION_T define
13566         [dfb25f3cae5b]
13567
13568         * logging.c:
13569         Fix compilation on K&C
13570         [7355e3275e34]
13571
13572         * configure:
13573         regen
13574         [a710584f92f0]
13575
13576         * configure.in:
13577         Add check for sigaction_t -- IRIX already defines this so don't
13578         redefine it.
13579         [df9c5737f6da]
13580
13581         * snprintf.c:
13582         fix typo
13583         [3d782b8134c8]
13584
13585         * interfaces.c:
13586         need stdlib.h here too
13587         [c789d8973ab2]
13588
13589         * configure:
13590         regen
13591         [44822856bf46]
13592
13593         * configure.in:
13594         Remove redundant checks for string.h, strings.h and unistd.h
13595         [933c94f8bbf4]
13596
13597         * sudo.cat, sudo.man.in, sudoers.cat, sudoers.man.in, visudo.cat,
13598         visudo.man.in:
13599         Regen from pod files
13600         [ad18c590f638]
13601
13602         * BUGS:
13603         Update for 1.6.4
13604         [26bc88b69d22]
13605
13606         * configure, lex.yy.c, sudo.tab.c:
13607         regen
13608         [bef89fd6fa2d]
13609
13610         * strerror.c:
13611         Return EINVAL if errnum > sys_nerr
13612         [0512374e6661]
13613
13614         * auth/sudo_auth.h:
13615         o Update copyright year
13616         [a877016db6e2]
13617
13618         * LICENSE, Makefile.binary, Makefile.in, aclocal.m4, compat.h,
13619         config.h.in, defaults.h, interfaces.h, pathnames.h.in, sudo.h,
13620         sudo.pod:
13621         o Update copyright year
13622         [e15a1b39039f]
13623
13624         * configure.in:
13625         o Don't define STDC_HEADERS unconditionally for IRIX o Update
13626         copyright year
13627         [82a8cb819e07]
13628
13629         * README:
13630         update version
13631         [d82e523a16b4]
13632
13633         * auth/afs.c, auth/aix_auth.c, auth/bsdauth.c, auth/dce.c,
13634         auth/fwtk.c, auth/kerb4.c, auth/kerb5.c, auth/pam.c, auth/passwd.c,
13635         auth/rfc1938.c, auth/secureware.c, auth/securid.c, auth/sia.c,
13636         auth/sudo_auth.c, logging.c, parse.c, parse.lex, parse.yacc,
13637         set_perms.c, snprintf.c, sudo.c, testsudoers.c, tgetpass.c, utime.c,
13638         visudo.c:
13639         o Reorder some headers and use STDC_HEADERS define properly o Update
13640         copyright year
13641         [fe39f76b3795]
13642
13643         * lsearch.c:
13644         o Reorder some headers and use STDC_HEADERS define properly o Update
13645         copyright year
13646         [764ba3d4fa13]
13647
13648         * getspwuid.c, goodpath.c, interfaces.c:
13649         o Reorder some headers and use STDC_HEADERS define properly o Update
13650         copyright year
13651         [fb46d46140d4]
13652
13653         * getcwd.c:
13654         o Reorder some headers and use STDC_HEADERS define properly o Update
13655         copyright year
13656         [b199d70ac7ab]
13657
13658         * alloc.c, check.c, defaults.c, env.c, fileops.c, find_path.c,
13659         fnmatch.c:
13660         o Reorder some headers and use STDC_HEADERS define properly o Update
13661         copyright year
13662         [dab8f192a3ed]
13663
13664         * configure:
13665         regen
13666         [156658f25cea]
13667
13668         * tgetpass.c:
13669         flags set in signal handlers should be volatile sig_atomic_t
13670         [c22931a5535e]
13671
13672         * config.h.in, configure.in:
13673         Add checks for volatile and sig_atomic_t
13674         [b03b3341381d]
13675
13676         * configure, lex.yy.c:
13677         regen
13678         [ed9daba88217]
13679
13680         * def_data.c, def_data.h, def_data.in, defaults.c, env.c, find_path.c,
13681         sudo.c, sudoers.pod:
13682         Remove "secure_path" Defaults option since it cannot work with the
13683         existing parser.
13684         [c9e54a0f5971]
13685
13686         * find_path.c, sudo.c:
13687         Unset "secure_path" if user_is_exempt()
13688         [fb7544565ae8]
13689
13690         * env.c, pathnames.h.in:
13691         o Remove assumption that PATH and TERM are not listed in env_keep o
13692         If no PATH is in the environment use a default value o If TERM is
13693         not set in the non-reset case also give it a default value.
13694         [c987eb7df268]
13695
13696         * aclocal.m4, configure.in, defaults.c, pathnames.h.in:
13697         _PATH_SENDMAIL -> _PATH_SUDO_SENDMAIL so --without-sendmail works on
13698         systems that define in paths.h
13699         [51865b0cdebf]
13700
13701         * auth/passwd.c, auth/sudo_auth.c, auth/sudo_auth.h:
13702         Add support for skeyaccess(3) if it is present in libskey.
13703         [8add77c7d3e7]
13704
13705 2001-12-13  Todd C. Miller  <Todd.Miller@courtesan.com>
13706
13707         * sudo.c:
13708         Only need to do 'lc = login_getclass(NULL)' if lc == NULL
13709         [5a3d3cbf2c6d]
13710
13711         * parse.lex:
13712         '\\' is a perfectly legal character to have in a command line
13713         argument.
13714         [c15a466ef00e]
13715
13716         * sudo.c:
13717         o Defer call to set_fqdn() until it is safe to use log_error() o
13718         Don't print errno string value if gethostbyname fails, it is not
13719         relevant
13720         [c0c6bcf08bcb]
13721
13722         * parse.c:
13723         Fix CIDR -> in_addr_t conversion.
13724         [2f307ebeb63f]
13725
13726 2001-12-12  Todd C. Miller  <Todd.Miller@courtesan.com>
13727
13728         * sudoers.pod:
13729         Remove an extra "User_List" in the User_Spec definition From
13730         ybertrand AT snoopymail.com
13731         [97bde59ea280]
13732
13733         * parse.c:
13734         Make 'listpw=never' work for users who are not explicitly mentioned
13735         in sudoers.
13736         [258f0f30a428]
13737
13738         * sudoers.pod:
13739         Remove gratuitous '=' in EBNF grammar; era AT iki.fi
13740         [4b0f03872ee1]
13741
13742         * sudoers.pod:
13743         Document new list Defaults type and convert env_keep and env_delete
13744         to lists. Document new env_check option.
13745         [a07f1f079fe3]
13746
13747         * lex.yy.c, sudo.tab.c, sudo.tab.h:
13748         regen parser
13749         [e39ac6c6581b]
13750
13751         * parse.lex:
13752         Don't let '#' appear in a {WORD} and restrict #foo in a Runas spec
13753         to #[0-9-]+.
13754         [69c5388908f3]
13755
13756         * configure:
13757         regen
13758         [0f1877b88cb3]
13759
13760         * aclocal.m4:
13761         Simpler SUDO_FUNC_ISBLANK that uses AC_TRY_LINK
13762         [6545503ae361]
13763
13764         * config.h.in, configure.in:
13765         Add check for skeyaccess(3)
13766         [6caf69fe6359]
13767
13768         * visudo.pod:
13769         Document new -c, -f, and -q options
13770         [13d0203c21d3]
13771
13772         * visudo.c:
13773         o Add -f option (alternate sudoers file) o Convert to use getopt(3)
13774         [4c2b664d617d]
13775
13776         * configure:
13777         regen
13778         [6d5bd932e7b5]
13779
13780         * aclocal.m4, config.h.in, configure.in:
13781         Add check for isblank and a replacement macro if it doesn't exist.
13782         [b524f5e4f953]
13783
13784 2001-12-11  Todd C. Miller  <Todd.Miller@courtesan.com>
13785
13786         * visudo.c:
13787         In check-only mode, don't create sudoers if it does not already
13788         exist.
13789         [c748a2d5acad]
13790
13791         * parse.yacc:
13792         o Add a new token, DEFVAR, to indicate a Defaults variable name o
13793         Add support for "+=" and "-=" list operators o replace some 1 and 0
13794         with TRUE and FALSE for greater legibility.
13795         [554cb174b37e]
13796
13797         * parse.lex:
13798         o Use exclusive start conditions to remove some ambiguity in the
13799         lexer. Also reorder some things for clarity. o Add support for
13800         "+=" and "-=" list operators. o Use the new DEFVAR token to denote
13801         a Defaults variable name.
13802         [3a2cf8323e26]
13803
13804         * sudo.h:
13805         Prototype init_envtables()
13806         [b74916469dab]
13807
13808         * env.c:
13809         o Convert environment handling to use lists instead of strings.
13810         This greatly simplifies routines that need to do "foreach" type
13811         operations. o Add new init_envtables() function to set env_check
13812         and env_delete defaults based on initial_badenv_table and
13813         initial_checkenv_table (formerly sudo_badenv_table).
13814         [0a8b404658b6]
13815
13816         * defaults.c, defaults.h:
13817         o Add a new LIST type and functions to manipulate it. o This is for
13818         use with environment handling variables. o Call new
13819         init_envtables() routine inside init_defaults() to initialize the
13820         environment lists.
13821         [ae73e64f0902]
13822
13823         * def_data.c, def_data.h, def_data.in:
13824         Convert environment options to use the new LIST type and add a new
13825         one, env_check that only deletes if the sanity check fails.
13826         [3019503936de]
13827
13828         * testsudoers.c:
13829         Add dummy version of init_envtables()
13830         [9d9e3ee609d9]
13831
13832         * parse.yacc:
13833         honor quiet mode
13834         [8330fba6167c]
13835
13836         * visudo.c:
13837         Add check-only mode
13838         [dab411bc8c35]
13839
13840         * mkdefaults:
13841         Fix generation of entries with NULL descriptions.
13842         [ea75b9fed02e]
13843
13844 2001-12-09  Todd C. Miller  <Todd.Miller@courtesan.com>
13845
13846         * tgetpass.c:
13847         Use sigaction_t and quiet a gcc warning.
13848         [6f67d719c452]
13849
13850         * sudo.c:
13851         Must reset signal handlers before we exec
13852         [300418120e1a]
13853
13854         * auth/aix_auth.c, auth/bsdauth.c, auth/fwtk.c, auth/pam.c,
13855         auth/sudo_auth.c:
13856         Be carefule now that tgetpass() can return NULL (user hit ^C). PAM
13857         version needs testing. Set SIGTSTP to SIG_DFL during password entry
13858         so user can suspend us.
13859         [00304aa58747]
13860
13861         * tgetpass.c:
13862         Add support for interrupting/suspending tgetpass via keyboard input.
13863         If you suspend sudo from the password prompt and resume it will re-
13864         prompt you.
13865         [4af2b5101d32]
13866
13867         * sudo.c:
13868         Don't block keyboard interrupt signals, just set them to SIG_IGN.
13869         [d46d7f67ef6b]
13870
13871 2001-12-08  Todd C. Miller  <Todd.Miller@courtesan.com>
13872
13873         * config.h.in:
13874         add back HAVE_SIGACTION
13875         [c9c7702c603e]
13876
13877         * configure:
13878         regen
13879         [09fe669d337f]
13880
13881         * config.h.in, configure.in, logging.c, sudo.c, visudo.c:
13882         Kill POSIX_SIGNALS define and old signal support now that we emulate
13883         POSIX ones Also be sure to correctly initialize struct sigaction.
13884         [4bc2a6dbb2be]
13885
13886         * strerror.c:
13887         Don't need config.h or "#ifndef HAVE_STRERROR" wrapper.
13888         [1ad64a19f328]
13889
13890         * compat.h:
13891         Add scaffolding for POSIX signal emulation
13892         [945861d4c93b]
13893
13894         * sigaction.c:
13895         o Add missing ';' so this compiles o Can't use NULL since we don't
13896         include stdio.h
13897         [04d0cac7438f]
13898
13899         * sigaction.c:
13900         Emulate sigaction() using sigvec()
13901         [d0b54a989875]
13902
13903 2001-11-13  Todd C. Miller  <Todd.Miller@courtesan.com>
13904
13905         * sudoers.pod:
13906         Document new behavior of negative values of timestamp_timeout Fix a
13907         typo
13908         [4c0716570d01]
13909
13910         * sudo.pod:
13911         Add security note about command not being logged after 'sudo su' and
13912         friends.
13913         [43294851a33c]
13914
13915         * sudo.pod:
13916         Mention that -V prints default values when run as root, including
13917         the list of environment variables to clear.
13918         [d9e5e550a8c3]
13919
13920         * Makefile.in:
13921         Run pod2man with --quotes=none to avoid stupid quoting of C<>
13922         entries.
13923         [997b23c35dbe]
13924
13925 2001-11-12  Todd C. Miller  <Todd.Miller@courtesan.com>
13926
13927         * auth/sudo_auth.c, def_data.c, def_data.h, def_data.in, sudoers.pod:
13928         Add mail_badpass option Also modify mail_always behavior to also
13929         send mail when the password is wrong
13930         [838d40ccafce]
13931
13932         * env.c, sudo.c, sudo.h:
13933         Dump default bad env table when 'sudo -V' is run by root.
13934         [f67f1b8048b0]
13935
13936         * sudoers.pod:
13937         document env_delete
13938         [d74f893663a2]
13939
13940         * env.c:
13941         Add support for '*' in env_keep when not resetting the environment
13942         (ie: the normal case).
13943         [fd4fb62ea8fd]
13944
13945         * env.c:
13946         Add env_delete variable that lets the user replace/add to the
13947         bad_env_table. Allow '*' wildcard in env_keep entries.
13948         [aa728bc35e29]
13949
13950 2001-11-06  Todd C. Miller  <Todd.Miller@courtesan.com>
13951
13952         * mkinstalldirs:
13953         Force umask to 022 to guarantee sane directory permissions.
13954         [9ab3cfe70569]
13955
13956 2001-11-02  Todd C. Miller  <Todd.Miller@courtesan.com>
13957
13958         * Makefile.in:
13959         add sudo.tab.h and sudo.tab.c to sudo.tab.o dependency
13960         [671010465e6f]
13961
13962         * mkdefaults:
13963         fix breakage in last commit
13964         [8318f8851e56]
13965
13966         * Makefile.in:
13967         acsite.m4 -> aclocal.m4
13968         [30c146873a01]
13969
13970         * check.c:
13971         fix I_TS_TIMEOUT vs. I_TIMESTAMP_TIMEOUT pasto in previous commit
13972         [4dc8b39954da]
13973
13974         * def_data.c:
13975         regenerated from def_data.in
13976         [915ea16ce1eb]
13977
13978         * check.c, defaults.c, defaults.h:
13979         Add new T_UINT type that most things use instead of T_INT If
13980         timestamp_timeout is < 0 then treat the ticket as never expiring (to
13981         be expired manually by the user).
13982         [3a3a636a2a5d]
13983
13984         * def_data.in:
13985         change most T_INT -> T_UINT
13986         [a2228d2457af]
13987
13988         * mkdefaults:
13989         fix warning when no args
13990         [ca70a5394af5]
13991
13992         * visudo.c:
13993         Change 2 Exit() -> exit() Avoid stdio in Exit() and call _exit() if
13994         we are a signal handler. We no longer print the signal number but
13995         the user can just check the exit value for that.
13996         [dc424f631fef]
13997
13998 2001-10-16  Todd C. Miller  <Todd.Miller@courtesan.com>
13999
14000         * logging.c:
14001         when setting up pipes in child process check for case where stdin ==
14002         pipe fd 0
14003         [518112d76184]
14004
14005 2001-10-11  Todd C. Miller  <Todd.Miller@courtesan.com>
14006
14007         * visudo.c:
14008         Ignore editor exit value since XPG4 says vi's exit value is the
14009         count of editing errors made (failed searches, etc).
14010         [b9d952284865]
14011
14012 2001-10-05  Todd C. Miller  <Todd.Miller@courtesan.com>
14013
14014         * configure:
14015         regen
14016         [cb3aa586f03b]
14017
14018         * configure.in:
14019         sco now is identified by config.guess as *-sco-*
14020         [46664bbdea61]
14021
14022         * configure.in:
14023         Check for getspnam() in -lgen if not in -lc for UnixWare.
14024         [0f152ad1ba93]
14025
14026 2001-09-18  Todd C. Miller  <Todd.Miller@courtesan.com>
14027
14028         * sudoers.pod, visudo.pod:
14029         "upper case" -> "uppercase"
14030         [f9151f232326]
14031
14032         * sudoers.pod:
14033         fix typos and grammar; pjanzen@foatdi.harvard.edu
14034         [2855d73d0237]
14035
14036 2001-08-28  Todd C. Miller  <Todd.Miller@courtesan.com>
14037
14038         * sudoers.pod:
14039         Missing word (specify); krapht@secureops.com
14040         [65523eb37a2c]
14041
14042 2001-08-23  Todd C. Miller  <Todd.Miller@courtesan.com>
14043
14044         * sudo.c:
14045         If we fail to lookup a login class, apply the default one.
14046         [d4869faa6816]
14047
14048         * logging.c:
14049         In log_error() free message, not logline unconditionally, then free
14050         logline if it is not the same as message. No function change but
14051         this mirrors how they are allocated.
14052         [565e5f6cc643]
14053
14054 2001-07-17  Todd C. Miller  <Todd.Miller@courtesan.com>
14055
14056         * configure:
14057         regenerate
14058         [834a48f548a2]
14059
14060         * configure.in:
14061         remove some backslash quotes that are unneeded
14062         [50d401d6e2ca]
14063
14064         * configure.in:
14065         o Tweaks to make this work with autoconf-2.50 o Use AC_LIBOBJ
14066         instead of changing LIBOBJS directly o Use AC_REPLACE_FUNCS where we
14067         can o Use AC_CHECK_FUNCS instead of AC_CHECK_FUNC so we don't have
14068         to AC_DEFINE things manually.
14069         [f502c5f15f92]
14070
14071         * config.guess, config.sub:
14072         Updated from autoconf-2.50
14073         [6140205915ef]
14074
14075 2001-05-22  Todd C. Miller  <Todd.Miller@courtesan.com>
14076
14077         * README:
14078         Update mailing list section. We use mailman now, not majordomo.
14079         [b9a8ca45e6dc]
14080
14081 2001-05-10  Todd C. Miller  <Todd.Miller@courtesan.com>
14082
14083         * getspwuid.c, logging.c, sudo.c:
14084         Use setpwent()/endpwent() + all the shadow variants to make sure we
14085         don't inadvertantly leak an fd to the child. Apparently Linux's
14086         shadow routines leave the fd open even if you don't call setspent().
14087         Reported by mike@gistnet.com; different patch used.
14088         [d33792ef6c01]
14089
14090 2001-04-13  Todd C. Miller  <Todd.Miller@courtesan.com>
14091
14092         * sudoers.pod:
14093         s/eg./e.g./
14094         [bd32a0acaf93]
14095
14096         * tgetpass.c:
14097         select() may return EAGAIN. If so, continue like we do for EINTR.
14098         [5f202c943818]
14099
14100         * logging.c:
14101         Fix a non-exploitable buffer overflow in the word splitting code.
14102         This should really be rewritten.
14103         [4c724363863a]
14104
14105         * Makefile.in:
14106         FAQ link goes away
14107         [1d26dd6c8972]
14108
14109         * INSTALL:
14110         Tell people to look in sample.syslog.conf for examples, not FAQ
14111         [affcae3f43ca]
14112
14113         * TROUBLESHOOTING:
14114         Update list of env vars that are cleared
14115         [234e56f1435a]
14116
14117         * sudo.c:
14118         remove struct env_table decl since that stuff has all moved to env.c
14119         [5dd923148777]
14120
14121 2001-04-04  Todd C. Miller  <Todd.Miller@courtesan.com>
14122
14123         * fileops.c:
14124         Fix a pasto in flock-style unlocking and include <sys/file.h> for
14125         flock on older systems; twetzel@gwdg.de
14126         [d5420d9d2861]
14127
14128         * configure:
14129         regen to get NeXT lockf/flock fix
14130         [d3ba6ed70e15]
14131
14132         * configure.in:
14133         force NeXT to use flock since lockf is broken
14134         [bd5391dca1bb]
14135
14136 2001-03-30  Todd C. Miller  <Todd.Miller@courtesan.com>
14137
14138         * check.c:
14139         Use stashed user_gid when checking against exempt gid since sudo
14140         sets its gid to a a value that makes sudoers readable. Previously
14141         if you used gid 0 as the exempt group everyone would be exempt. From
14142         Paul Kranenburg <pk@cs.few.eur.nl>
14143         [0b140cc3a817]
14144
14145 2001-03-29  Todd C. Miller  <Todd.Miller@courtesan.com>
14146
14147         * configure:
14148         regen
14149         [cc455408f32b]
14150
14151         * aclocal.m4:
14152         #include stdio.h in SUDO_CHECK_TYPE since IRIX 6 aparently defines
14153         some types (such as ssize_t) therein.
14154         [b6aee85ca331]
14155
14156 2001-03-02  Todd C. Miller  <Todd.Miller@courtesan.com>
14157
14158         * defaults.c:
14159         Fix negation of paths in a boolean context. Problem found by
14160         apt@UH.EDU
14161         [8aee217a7cdf]
14162
14163 2001-02-23  Todd C. Miller  <Todd.Miller@courtesan.com>
14164
14165         * visudo.c:
14166         pasto
14167         [ad32b277bf68]
14168
14169 2001-02-17  Todd C. Miller  <Todd.Miller@courtesan.com>
14170
14171         * visudo.c:
14172         SA_RESETHAND means the opposite of what I was thinking--oops To
14173         block all signals in old-style signals use ~0, not 0xffffffff
14174         [6ecdd793590a]
14175
14176 2001-02-04  Todd C. Miller  <Todd.Miller@courtesan.com>
14177
14178         * defaults.c:
14179         coerce difference of pointers to int when used in a string length
14180         printf format; deraadt@openbsd.org
14181         [a9d10f07180d]
14182
14183 2001-01-17  Todd C. Miller  <Todd.Miller@courtesan.com>
14184
14185         * visudo.c:
14186         Block all signals in Exit() to avoid a signal race. There is still
14187         a tiny window but I'm not going to worry about it.
14188         [6661805c0458]
14189
14190 2001-01-07  Todd C. Miller  <Todd.Miller@courtesan.com>
14191
14192         * env.c:
14193         glibc uses the LANGUAGE env var so clear that too; Solar Designer
14194         [d4ba95628afb]
14195
14196         * lex.yy.c:
14197         Regenerate with a fix to flex.skl that preserves errno from
14198         clobbering by isatty().
14199         [607eec736e19]
14200
14201 2000-12-31  Todd C. Miller  <Todd.Miller@courtesan.com>
14202
14203         * auth/aix_auth.c, auth/bsdauth.c, auth/fwtk.c, auth/pam.c,
14204         auth/sia.c, auth/sudo_auth.c:
14205         Some defaults I_ defines got renamed.
14206         [ec19b23caaf3]
14207
14208         * Makefile.in, check.c, def_data.c, def_data.h, def_data.in,
14209         defaults.c, defaults.h, env.c, logging.c, mkdefaults, parse.yacc,
14210         set_perms.c, sudo.c, sudo.tab.c:
14211         Move defaults info into its own files from which we generate .h and
14212         .c files. This makes adding or rearranging variables much simpler.
14213         [e91b880b5043]
14214
14215 2000-12-30  Todd C. Miller  <Todd.Miller@courtesan.com>
14216
14217         * configure, configure.in:
14218         fix typo in last commit
14219         [10a6ee2bae71]
14220
14221         * compat.h, config.h.in, configure, configure.in:
14222         Add check + emulation for setegid (like seteuid).
14223         [29492092bd2f]
14224
14225         * env.c:
14226         Make env_keep override badenv_table as documented Fix traversal of
14227         badenv_table (broken in last commit)
14228         [37c9f0d22673]
14229
14230         * set_perms.c, sudo.c, sudo.h:
14231         Don't try and build saved uid version of set_perms on systems w/o
14232         them. Rename set_perms_saved_uid() -> set_perms_posix() Make
14233         set_perms_setreuid simply be set_perms_fallback() and simply include
14234         the appropriate function at compile time (setreuid() vs. setuid()).
14235         [3107333c062c]
14236
14237         * sudoers.cat, sudoers.man.in, sudoers.pod:
14238         PATH is also preserved when env_reset is in effect
14239         [90e45c5711ff]
14240
14241         * CHANGES, Makefile.in, check.c, compat.h, config.h.in, configure,
14242         configure.in, defaults.c, defaults.h, env.c, find_path.c,
14243         getspwuid.c, set_perms.c, sudo.c, sudo.cat, sudo.h, sudo.man.in,
14244         sudo.pod, sudoers.cat, sudoers.man.in, sudoers.pod, testsudoers.c,
14245         visudo.c, visudo.cat, visudo.man.in:
14246         New Defaults options: o stay_setuid - sudo will remain setuid if
14247         system has saved uids or setreuid(2) o env_reset - reset the
14248         environment to a sane default o env_keep - preserve environment
14249         variables that would otherwise be cleared
14250
14251         No longer use getenv/putenv/setenv functions--do environment munging
14252         by hand. Potentially dangerous environment variables can be cleared
14253         only if they contain '/' pr '%' characters to protect buggy
14254         programs. Moved environment routines into env.c (new file)
14255         [c2f97651db4c]
14256
14257         * INSTALL:
14258         Clear up --without-passwd description
14259         [2f336dab6733]
14260
14261         * putenv.c, sudo_setenv.c:
14262         We now build up a new environment from scratch and assign it to
14263         "environ".
14264         [6ae6152f2238]
14265
14266 2000-12-19  Todd C. Miller  <Todd.Miller@courtesan.com>
14267
14268         * sudo.pod, visudo.pod:
14269         Grammatical fixes from Paul Janzen
14270         [e03ead2e56f8]
14271
14272 2000-12-15  Todd C. Miller  <Todd.Miller@courtesan.com>
14273
14274         * visudo.c:
14275         If there was a syntax error and the user just wants to quit, unlink
14276         sudoers if it is zero length.
14277         [74ba7921f520]
14278
14279         * visudo.c:
14280         'Q' means ignore parse error, not 'q'
14281         [e8d0e4491fe6]
14282
14283         * visudo.c:
14284         Open sudoers for writing with mode SUDOERS_MODE From Dimitry Andric
14285         <dim@xs4all.nl>
14286         [b24990a72491]
14287
14288 2000-12-13  Todd C. Miller  <Todd.Miller@courtesan.com>
14289
14290         * set_perms.c:
14291         Add missing #ifdef HAVE_LOGIN_CAP_H; ayamura@ayamura.org
14292         [41a8db10e076]
14293
14294 2000-12-09  Todd C. Miller  <Todd.Miller@courtesan.com>
14295
14296         * config.guess, config.sub:
14297         Darwin / Mac OS X support from Wilfredo Sanchez <wsanchez@apple.com>
14298         [6052da895d2e]
14299
14300 2000-11-03  Todd C. Miller  <Todd.Miller@courtesan.com>
14301
14302         * sudo.c, visudo.c:
14303         Use exit(127), not exit(-1)
14304         [9ff0c3eada34]
14305
14306         * Makefile.in, defaults.c, defaults.h, set_perms.c, sudo.c:
14307         Move set_perms() to its own file and use POSIX saved uid or
14308         setreuid() if available.
14309
14310         Added stay_setuid option for systems that have libraries that
14311         perform extra paranoia checks in system libraries for setuid
14312         programs (ie: anything with issetugid(2)).
14313         [28960f842698]
14314
14315         * sudo.c:
14316         strip more bits from the environment and add a facility for
14317         stripping things only if they contain '/' or '%' to address printf
14318         format string vulnerabilities in other programs.
14319         [b98d6375f299]
14320
14321 2000-11-02  Todd C. Miller  <Todd.Miller@courtesan.com>
14322
14323         * configure:
14324         regen
14325         [7e74e5c91049]
14326
14327         * configure.in:
14328         For NCR, add -lc89 to LIBS, not SUDO_LIBS and cache the existence of
14329         strcasecmp().
14330         [a418e9e70442]
14331
14332         * configure:
14333         regen
14334         [bbff244a52bc]
14335
14336         * configure.in:
14337         Check for strcasecmp(3) in -lc89 for NCR Unix
14338         [361c99576681]
14339
14340 2000-11-01  Todd C. Miller  <Todd.Miller@courtesan.com>
14341
14342         * config.h.in:
14343         Define HAVE_INNETGR #ifdef HAVE__INNETGR
14344         [473cdb92b6db]
14345
14346         * configure:
14347         regen
14348         [4e6364a195e0]
14349
14350         * compat.h, config.h.in, configure.in:
14351         Add check for _innetgr(3) since NCR systems have that instead of
14352         innetgr(3).
14353         [25e6852e7494]
14354
14355 2000-10-31  Todd C. Miller  <Todd.Miller@courtesan.com>
14356
14357         * auth/securid.c:
14358         check return value of creadcfg() call sd_close() after sd_auth()
14359         store username in sd->username so we don't rely on the USER env
14360         variable
14361         [d106b4f42722]
14362
14363 2000-10-30  Todd C. Miller  <Todd.Miller@courtesan.com>
14364
14365         * INSTALL:
14366         document --with-bsdauth
14367         [f1518ecc2ee9]
14368
14369         * configure:
14370         regen
14371         [dceb35071ea8]
14372
14373         * configure.in:
14374         --with-bsdauth assumes --with-logincap
14375         [4200778083fd]
14376
14377         * auth/bsdauth.c, auth/fwtk.c:
14378         When prompting for a response to a challenge, if the user just hits
14379         return then reprompt with echo turned on.
14380         [a539b6474a97]
14381
14382 2000-10-29  Todd C. Miller  <Todd.Miller@courtesan.com>
14383
14384         * sudo.c:
14385         Remove debugging code that should not have been committed, oops.
14386         [9862607b77a7]
14387
14388         * auth/bsdauth.c:
14389         Use lower-level routines and get the password ourselves. Checks for
14390         a challenge and if there is one echo is not turned off.
14391         [2d8fcd166baa]
14392
14393         * auth/pam.c, auth/sudo_auth.h:
14394         minor housekeeping, no real code changes
14395         [d0074a277fb4]
14396
14397 2000-10-27  Todd C. Miller  <Todd.Miller@courtesan.com>
14398
14399         * sudo.c:
14400         Fix a coredump in the logging functions if gethostname(2) fails by
14401         deferring the call to log_error() until things are better setup.
14402
14403         Fix return value of set_loginclass() in non-BSD-auth case.
14404
14405         Hard-code 'sudo' in the usage message so we can fit more options on
14406         a line
14407         [d9d1b7579818]
14408
14409         * logging.c:
14410         Fix errant ';' (typo) that broken MSG_ONLY
14411         [849b2276a470]
14412
14413 2000-10-26  Todd C. Miller  <Todd.Miller@courtesan.com>
14414
14415         * sudo.cat, sudo.man.in:
14416         regen
14417         [bb3c8c6704d1]
14418
14419         * sudo.pod:
14420         Document -a flag
14421         [e18316cebaac]
14422
14423         * Makefile.in, auth/bsdauth.c, auth/sudo_auth.h, config.h.in,
14424         configure, configure.in, getspwuid.c, sudo.c:
14425         Add support for BSD authentication.
14426         [f374cfd9ca0d]
14427
14428 2000-10-19  Todd C. Miller  <Todd.Miller@courtesan.com>
14429
14430         * sudoers.pod:
14431         Fix typo; from sato@complex.eng.hokudai.ac.jp
14432         [3085fee9766e]
14433
14434 2000-10-12  Todd C. Miller  <Todd.Miller@courtesan.com>
14435
14436         * sudoers.pod:
14437         Mention negating umask
14438         [c9e410294dae]
14439
14440         * defaults.c:
14441         Allow user to specify umask of 0777 (same as !umask)
14442         [bb771daa96fe]
14443
14444 2000-10-09  Todd C. Miller  <Todd.Miller@courtesan.com>
14445
14446         * sudo.pod, visudo.pod:
14447         Fix a typo and give a URL for the sudo history.
14448         [77f73199aedb]
14449
14450 2000-10-08  Todd C. Miller  <Todd.Miller@courtesan.com>
14451
14452         * defaults.c, sudo.pod:
14453         fix typos; pepper@reppep.com
14454         [5532c7421340]
14455
14456 2000-09-14  Todd C. Miller  <Todd.Miller@courtesan.com>
14457
14458         * sudo.c, sudo.h, sudo_setenv.c:
14459         sudo_setenv() now exits on memory alloc failure instead of returning
14460         -1.
14461         [71f1cf18f47b]
14462
14463 2000-09-07  Todd C. Miller  <Todd.Miller@courtesan.com>
14464
14465         * sudo.c:
14466         Strip out NLSPATH and PATH_LOCALE from the environment for FreeBSD
14467         and possibly others.
14468         [b69d985b0d22]
14469
14470         * logging.c:
14471         Don't use vsyslog(3) since HP-UX (and others?) lack it. This means
14472         that "%m" won't be expanded but we don't use that anyway since the
14473         logging routines may splat to stderr as well.
14474         [8d37a544d0c0]
14475
14476         * defaults.c, defaults.h, sudo.c, sudoers.cat, sudoers.man.in,
14477         sudoers.pod:
14478         Add always_set_home variable
14479         [dbcaff646e07]
14480
14481         * configure, configure.in:
14482         Have to hard code default values in help since the defaults are set
14483         _after_ the help stuff.
14484         [7b5d6d72f55c]
14485
14486 2000-08-31  Todd C. Miller  <Todd.Miller@courtesan.com>
14487
14488         * lex.yy.c, parse.lex:
14489         Allow special characters (including '#') to be embedded in pathnames
14490         if quoted by a '\\'. The quoted chars will be dealt with by
14491         fnmatch(). Unfortunately, 'sudo -l' still prints the '\\'.
14492         [3ed33cf09977]
14493
14494 2000-08-13  Todd C. Miller  <Todd.Miller@courtesan.com>
14495
14496         * install-sh:
14497         Better path searching for programs we need.
14498         [60517cb1f0d6]
14499
14500         * TROUBLESHOOTING:
14501         Add section on "C compiler cannot create executables" errors.
14502         [e4ada6eaee59]
14503
14504         * Makefile.binary, Makefile.in, version.h:
14505         Crank version
14506         [93d1bd5b7f5e]
14507
14508         * aclocal.m4, configure, configure.in, sudo.cat, sudo.man.in,
14509         sudo.pod, sudoers.cat, sudoers.man.in, sudoers.pod, visudo.cat,
14510         visudo.man.in, visudo.pod:
14511         Substitute values from configure into man pages.
14512         [619854c356c1]
14513
14514 2000-08-12  Todd C. Miller  <Todd.Miller@courtesan.com>
14515
14516         * parse.c, sudo.c:
14517         The listpw and verifypw sudoers options would not take effect
14518         because the value of the default was checked *before* sudoers was
14519         parsed. Instead of passing in the value of PWCHECK_* to
14520         sudoers_lookup(), pass in the arg for def_ival() so the check can be
14521         deferred until after sudoers is parsed.
14522         [4f596e358f72]
14523
14524 2000-08-11  Todd C. Miller  <Todd.Miller@courtesan.com>
14525
14526         * tgetpass.c:
14527         When writing prompt, no need to write the NUL as well;
14528         hag@linnaean.org
14529         [fbcdd7b431ee]
14530
14531 2000-06-09  Todd C. Miller  <Todd.Miller@courtesan.com>
14532
14533         * install-sh:
14534         When looking for chown, check in /sbin too
14535         [657ba6653f8c]
14536
14537 2000-06-05  Todd C. Miller  <Todd.Miller@courtesan.com>
14538
14539         * visudo.c:
14540         Remove extraneous call to init_defaults() and set runas_user to NULL
14541         betweem parses so init_defaults will reset it each time, thus
14542         avoiding a reference to free()d data.
14543         [7421fcd692af]
14544
14545 2000-06-04  Todd C. Miller  <Todd.Miller@courtesan.com>
14546
14547         * config.h.in, interfaces.c, interfaces.h, sudo.c:
14548         Add support for using getifaddrs() to get the list of ip addr /
14549         netmask pairs. Currently IPv4-only.
14550         [a35bc4f7306d]
14551
14552         * visudo.c:
14553         Add a missing check for UserEditor == NULL Add missing '+' before
14554         line number when invoking editor to fix a syntax error
14555         [f0d4635f6082]
14556
14557 2000-05-12  Todd C. Miller  <Todd.Miller@courtesan.com>
14558
14559         * sudo.c:
14560         Call clean_env very early in main() for paranoia's sake. Idea from
14561         Marc Esipovich.
14562         [f8d72ebd0115]
14563
14564 2000-05-10  Todd C. Miller  <Todd.Miller@courtesan.com>
14565
14566         * sudo.h:
14567         Update proto for evasprintf and easprintf
14568         [d147d6e58419]
14569
14570         * alloc.c:
14571         Make easprintf() and evasprintf() return an int.
14572         [b2ca5d089667]
14573
14574         * check.c:
14575         If the targetpw flag is set, use target username as part of the
14576         timestamp path. If tty tickets are in effect cat the tty and the
14577         target username with a ':' as the separator.
14578         [de11abc693c2]
14579
14580 2000-05-09  Todd C. Miller  <Todd.Miller@courtesan.com>
14581
14582         * auth/pam.c:
14583         Backout part of last change; setting PAM_USER to the invoking user
14584         breaks things like targetpw.
14585         [427218a7387f]
14586
14587         * auth/pam.c:
14588         set tty and username via pam_set_item
14589         [85d1922dbcc9]
14590
14591         * auth/sudo_auth.c, check.c, getspwuid.c, sudo.c, sudo.h:
14592         Fix root, runas, and target authentication for non-passwd file auth
14593         methods.
14594         [a14535e7b30c]
14595
14596 2000-04-22  Todd C. Miller  <Todd.Miller@courtesan.com>
14597
14598         * sudo.cat, sudo.man.in, sudo.pod, sudoers.cat, sudoers.man.in,
14599         sudoers.pod, visudo.cat, visudo.man.in, visudo.pod:
14600         Use B<-Z> not C<-Z> for command line flags in all places. This is
14601         more consistent and works around a bug in Pod::Man.
14602         [64b5a05f30c5]
14603
14604         * sudoers.cat, sudoers.man.in, sudoers.pod:
14605         Fix an occurence of 'semicolon' that should be 'colon'
14606         [4ea5aacae3fb]
14607
14608 2000-04-19  Todd C. Miller  <Todd.Miller@courtesan.com>
14609
14610         * configure, configure.in:
14611         Fix --with-badpri help line
14612         [3cc40977c043]
14613
14614 2000-04-17  Todd C. Miller  <Todd.Miller@courtesan.com>
14615
14616         * defaults.c, logging.c, sudo.c:
14617         Bracket calls to syslog with an openlog() and closelog() since some
14618         authentication methods (like PAM) may do their own logging via
14619         syslog. Since we don't use syslog much (usually just once per
14620         session) this doesn't really incur a performance penalty. It also
14621         Fixes a SEGV with pam_kafs.
14622         [fe1cc28529f6]
14623
14624 2000-04-15  Todd C. Miller  <Todd.Miller@courtesan.com>
14625
14626         * sudo.c:
14627         Fix -H flag. runas_homedir is only valid after
14628         set_perms(PERM_RUNAS, mode)
14629         [ce9b1c6f68a6]
14630
14631 2000-04-12  Todd C. Miller  <Todd.Miller@courtesan.com>
14632
14633         * INSTALL:
14634         Clarify the fact that insults are not enabled just by including them
14635         in the binary.
14636         [d5a31d48320c]
14637
14638 2000-04-07  Todd C. Miller  <Todd.Miller@courtesan.com>
14639
14640         * sudo.cat, sudo.man.in, sudoers.cat, sudoers.man.in, visudo.cat,
14641         visudo.man.in:
14642         Regenerated with perl 5.6.0 pod2man
14643         [21751433768b]
14644
14645         * Makefile.in:
14646         Give date string to pod2man since its default is ugly and it ain't
14647         got no alibi.
14648         [0080b2f6298f]
14649
14650         * Makefile.in:
14651         Do section substitution on the output of pod2man and remove hack
14652         needed for old pod2man.
14653         [1ef843d5c78b]
14654
14655         * sudo.pod, sudoers.pod, visudo.pod:
14656         Put back real man sections, we will do the substitution later.
14657         [f728c1abad7e]
14658
14659 2000-04-02  Todd C. Miller  <Todd.Miller@courtesan.com>
14660
14661         * configure, configure.in:
14662         Don't bother checking for the path to vi if user specified --with-
14663         editor
14664         [bf698487e0d5]
14665
14666 2000-04-01  Todd C. Miller  <Todd.Miller@courtesan.com>
14667
14668         * CHANGES, visudo.c:
14669         Visudo now does its own fork/exec instead of calling system(3).
14670         [99bbcd88863b]
14671
14672         * CHANGES, INSTALL, Makefile.in, sudoers.cat, sudoers.man.in,
14673         sudoers.pod, visudo.c:
14674         Visudo now checks for the existence of an editor and gives a
14675         sensible error if it does not exist.
14676
14677         The path to the editor for visudo is now a colon-separated list of
14678         allowable editors. If the user has $EDITOR set and it matches one
14679         of the allowed editors that editor will be used. If not, the first
14680         editor in the list that actually exists is used.
14681         [cc86eb9f5440]
14682
14683         * sudo.cat, sudo.man.in, sudo.pod:
14684         Clear up confusion wrt sudo's return value.
14685         [9385b12d8e79]
14686
14687 2000-03-27  Todd C. Miller  <Todd.Miller@courtesan.com>
14688
14689         * Makefile.in:
14690         Strip sudo and visudo for bindist target
14691         [a995ddd79177]
14692
14693         * sudo.cat, sudo.man.in, sudo.pod, sudoers.cat, sudoers.man.in,
14694         sudoers.pod, visudo.cat, visudo.man.in, visudo.pod:
14695         Use @mansectsu@ and @mansectform@ in the man page bodies as well.
14696         [5eb9e60a726f] [SUDO_1_6_3]
14697
14698         * visudo.cat, visudo.man.in, visudo.pod:
14699         Typo: @sysconf@ -> @sysconfdir@
14700         [f07f52fcd099]
14701
14702         * Makefile.in:
14703         'make dist' should not cause any files to be modified so remove its
14704         dependencies.
14705         [7f44a2666a9c]
14706
14707         * CHANGES:
14708         Whoops, forgot to add release marker
14709         [16c0f16b35b8]
14710
14711 2000-03-26  Todd C. Miller  <Todd.Miller@courtesan.com>
14712
14713         * CHANGES:
14714         Final change for 1.6.3 (or so I hope)
14715         [473c89da6123]
14716
14717         * sudo.cat, sudoers.cat, visudo.cat:
14718         Use SYSV man sections since BSD systems will have nroff...
14719         [0a6bd154324e]
14720
14721 2000-03-24  Todd C. Miller  <Todd.Miller@courtesan.com>
14722
14723         * parse.yacc, sudo.tab.c:
14724         When checking to see if the host/user matches in a defaults spec,
14725         check against TRUE, not just non-zero since it might be -1.
14726         [41f2b7ad3fdd]
14727
14728         * configure, configure.in:
14729         OSF/1 puts file formats in section 4, not 5.
14730         [d77c1301afa9]
14731
14732         * CHANGES, INSTALL, sudo.c:
14733         Make login class support work on BSD/OS
14734         [e9bbe3c08ade]
14735
14736         * RUNSON:
14737         Update for 1.6.3
14738         [c40ce1d76c4d]
14739
14740         * configure, configure.in:
14741         If there is no inet_addr but there *is* an __inet_addr that's ok
14742         since inet_addr is probably just a macro then. The better thing to
14743         do would be to look for the macro, but this is fine for now.
14744         [1b8865ae4d68]
14745
14746         * configure, configure.in:
14747         Don't use shlicc for BSD/OS 4.x
14748         [83fbf6dedd2c]
14749
14750         * Makefile.in, configure, configure.in:
14751         *.man lives in cwd, *.cat lives in $(srcdir), add a @mansrcdir@
14752         configure variable so we can deal with this. Also, only remove *.man
14753         for 'distclean' not 'clean'.
14754         [30d56e6de214]
14755
14756         * sudo.c:
14757         set_loginclass() should be static like the proto says
14758         [d570a2d55fb8]
14759
14760 2000-03-23  Todd C. Miller  <Todd.Miller@courtesan.com>
14761
14762         * fnmatch.c:
14763         Add #ifdef __STDC__ around the rangematch function header to avoid
14764         promotion of test to int, thus violating the prototype. Gcc handles
14765         this gracefully but more std ANSI compilers will complain.
14766         [7d98c3e332b2]
14767
14768         * emul/fnmatch.h:
14769         Pull in newer fnmatch(3) that supports FNM_CASEFOLD
14770         [4e1320852f8b]
14771
14772         * aclocal.m4, configure, fnmatch.3, fnmatch.c:
14773         Pull in newer fnmatch(3) that supports FNM_CASEFOLD Check for
14774         FNM_CASEFOLD in configure
14775         [9ef952bf1896]
14776
14777         * CHANGES, TODO:
14778         update for 1.6.3
14779         [e4ba6368a0c5]
14780
14781         * sudo.tab.c, sudo.tab.h, testsudoers.c, visudo.c:
14782         Fully qualified hosts w/ wildcards were not matching the FQHOST
14783         token type. There's really no need for a separate token for fully-
14784         qualified vs. unqualified anymore so FQHOST is now history and
14785         hostname_matches now decides which hostname (short or long) to check
14786         based on whether or not the pattern contains a '.'.
14787         [fbd2887d9811]
14788
14789         * parse.h:
14790         Fully qualified hosts w/ wildcards were not matching the FQHOST
14791         token type. There's really no need for a separate token for fully-
14792         qualified vs. unqualified anymore so FQHOST is now history and
14793         hostname_matches now decides which hostname (short or long) to check
14794         based on whether or not the pattern contains a '.'.
14795         [dd7bbe223461]
14796
14797         * lex.yy.c, parse.c, parse.lex, parse.yacc:
14798         Fully qualified hosts w/ wildcards were not matching the FQHOST
14799         token type. There's really no need for a separate token for fully-
14800         qualified vs. unqualified anymore so FQHOST is now history and
14801         hostname_matches now decides which hostname (short or long) to check
14802         based on whether or not the pattern contains a '.'.
14803         [630d9d205397]
14804
14805         * parse.c, parse.h, parse.yacc, sudo.tab.c, sudoers.cat,
14806         sudoers.man.in, sudoers.pod, testsudoers.c, visudo.c:
14807         Add support for wildcards in the hostname.
14808         [d8d821ed4238]
14809
14810         * Makefile.in:
14811         Add targets for *.man.in, using config.status to generate *.man from
14812         *.man.in
14813         [640e50ede485]
14814
14815         * sudoers.cat, sudoers.man.in, sudoers.pod:
14816         Document set_logname option and enbolden refs to sudo and visudo.
14817         [9622b3a48707]
14818
14819         * INSTALL, Makefile.in, aclocal.m4, configure, configure.in, sudo.cat,
14820         sudo.man.in, sudo.pod, sudoers.cat, sudoers.man.in, sudoers.pod,
14821         visudo.cat, visudo.man.in, visudo.pod:
14822         Add FreeBSD login.conf support (untested on BSD/OS) based on a patch
14823         from Michael D. Marchionna. configure now does substitution on the
14824         man pages, allowing us to fix up the paths and set the section
14825         correctly. Based on an idea from Michael D. Marchionna.
14826         [463e928a0a2f]
14827
14828         * auth/passwd.c:
14829         Better fix for handling HP-UX aging info.
14830         [3950f42d8549]
14831
14832         * sudo.c:
14833         Add support for set_logname run-time default
14834         [c6a7cc76b8b4]
14835
14836         * sudo.man.in, sudoers.man.in, visudo.man.in:
14837         configure does substitution on these to produce *.man
14838         [b83fc3c1bfc9]
14839
14840         * sudo.man, sudoers.man, visudo.man:
14841         These files now get generated from *.man.in at configure time.
14842         [c499061f79e0]
14843
14844 2000-03-22  Todd C. Miller  <Todd.Miller@courtesan.com>
14845
14846         * defaults.c, defaults.h:
14847         Add set_logname option so users can turn off setting of LOGNAME/USER
14848         environment variables.
14849         [6316869180b8]
14850
14851         * lsearch.c, parse.c, testsudoers.c:
14852         kill register
14853         [6e104e653748]
14854
14855 2000-03-13  Todd C. Miller  <Todd.Miller@courtesan.com>
14856
14857         * auth/passwd.c:
14858         HP-UX adds extra info at the end for password aging so when
14859         comparing the result of crypt to pw_passwd we only compare the first
14860         len(epass) bytes *unless* the user entered an empty string for a
14861         password.
14862         [3d24d4e4e889]
14863
14864         * logging.c:
14865         Get rid of grandchild hack, it was causing problems and there is
14866         really no need for it. This fixes a bug where we spin eating up CPU
14867         when the user runs a long-running process like a shell.
14868         [5743b10b1e81]
14869
14870 2000-03-07  Todd C. Miller  <Todd.Miller@courtesan.com>
14871
14872         * sudo.c:
14873         User can always specify a login class if he/she is already root.
14874         [710d160cef9f]
14875
14876         * config.h.in, configure, configure.in, defaults.c, defaults.h,
14877         sudo.c, sudo.h:
14878         FreeBSD login class (login.conf) support.
14879         [026b981d6328]
14880
14881 2000-03-06  Todd C. Miller  <Todd.Miller@courtesan.com>
14882
14883         * auth/sudo_auth.c:
14884         HAVE_SECUREWARE -> HAVE_GETPRPWNAM; fixes secureware support
14885         [9cd4929f1a78]
14886
14887 2000-03-03  Todd C. Miller  <Todd.Miller@courtesan.com>
14888
14889         * auth/passwd.c:
14890         Truncate unencrypted password to 8 chars if encrypted password is
14891         exactly 13 characters (indicateing standard a DES password). Many
14892         versions of crypt() do this for you, but not all (like HP-UX's).
14893         [a9d0259cb193]
14894
14895 2000-03-02  Todd C. Miller  <Todd.Miller@courtesan.com>
14896
14897         * INSTALL, RUNSON:
14898         Mention that gcc on dynix may have problems
14899         [77b97fa5bf1b]
14900
14901 2000-02-29  Todd C. Miller  <Todd.Miller@courtesan.com>
14902
14903         * Makefile.in:
14904         Link visudo with NET_LIBS since we now call syslog via defaults.c
14905         [9e3830b277cc]
14906
14907         * defaults.c:
14908         Use Argv[0] as the first arg to openlog() since visudo uses this
14909         too.
14910         [e61078f328ec]
14911
14912 2000-02-28  Todd C. Miller  <Todd.Miller@courtesan.com>
14913
14914         * sudo.c:
14915         Stash coredumpsize resource limit and retsore it before the exec()
14916         Otherwise the child ends up with a coredumpsize of 0.
14917         [f6a4783835a3]
14918
14919 2000-02-27  Todd C. Miller  <Todd.Miller@courtesan.com>
14920
14921         * sudo.cat, sudo.man, sudo.pod:
14922         document -S flag
14923         [3ebd805b7142]
14924
14925         * sudo.c:
14926         fix usage string
14927         [66b2dfa47fe8]
14928
14929         * CHANGES, RUNSON, TODO, auth/aix_auth.c, auth/fwtk.c, auth/pam.c,
14930         auth/sudo_auth.c, sudo.c, sudo.h, tgetpass.c:
14931         Added -S flag (read passwd from stdin) and tgetpass_flags global
14932         that holds flags to be passed in to tgetpass(). Change echo_off
14933         param to tgetpass() into a flags field. There are currently 2
14934         possible flags for tgetpass(): TGP_ECHO and TGP_STDIN. In
14935         tgetpass(), abstract the echo set/clear via macros and if (flags &
14936         TGP_ECHO) but echo is not set on the terminal, but sure to set it.
14937         [a4fcbb712cd0]
14938
14939         * tgetpass.c:
14940         Fixed a bug that caused an infinite loop when the password timeout
14941         was disabled.
14942         [2be1ffc5a39f]
14943
14944 2000-02-18  Todd C. Miller  <Todd.Miller@courtesan.com>
14945
14946         * CHANGES, defaults.c, defaults.h, getspwuid.c, sudo.c, sudo.h,
14947         sudoers.cat, sudoers.man, sudoers.pod, visudo.c:
14948         Add rootpw, runaspw, and targetpw options.
14949         [2d4563e46df7]
14950
14951         * CHANGES, defaults.c, sudoers.cat, sudoers.man, sudoers.pod,
14952         visudo.c:
14953         enveditor -> env_editor
14954         [ddc5f856e583]
14955
14956 2000-02-16  Todd C. Miller  <Todd.Miller@courtesan.com>
14957
14958         * BUGS, INSTALL, Makefile.in, README, configure, configure.in,
14959         sudo.cat, sudo.man, sudoers.cat, sudoers.man, version.h, visudo.cat,
14960         visudo.man:
14961         crank versino to 1.6.3
14962         [a5f7d3e74360]
14963
14964         * INSTALL, TODO, defaults.c, defaults.h, sudoers.cat, sudoers.man,
14965         sudoers.pod, visudo.c:
14966         Add 'editor' and 'enveditor' sudoers defaults and make visudo honor
14967         them. This means that visudo will now parse the sudoers file
14968         *before* it is edited so a bogus sudoers file will cause a warning
14969         to go to stderr. Also, visudo checks the variables once--it does not
14970         check them after each editor run since that could be confusing.
14971         [9f5af18e9212]
14972
14973 2000-02-15  Todd C. Miller  <Todd.Miller@courtesan.com>
14974
14975         * RUNSON:
14976         1.6.2 -> 1.6.2p1
14977         [e25b74f1d1af]
14978
14979         * check.c, sudo.c, sudo.h:
14980         Move user_is_exempt prototype into sudo.h
14981         [daf26a6ded8a]
14982
14983 2000-02-13  Todd C. Miller  <Todd.Miller@courtesan.com>
14984
14985         * configure, configure.in:
14986         Fix thinko, some && should have been || in the last commit
14987         [4b9b2d487ded]
14988
14989         * configure, configure.in:
14990         Don't initialized Makefile variables to be NULL since the user may
14991         want to import variables from their environment.
14992         [7be019f4422c]
14993
14994 2000-02-04  Todd C. Miller  <Todd.Miller@courtesan.com>
14995
14996         * configure, configure.in:
14997         typo
14998         [38f4d8971f0a]
14999
15000 2000-01-28  Todd C. Miller  <Todd.Miller@courtesan.com>
15001
15002         * sudo.tab.c:
15003         fix a yacc (skeleton.c) warning
15004         [a2da228a937b]
15005
15006 2000-01-27  Todd C. Miller  <Todd.Miller@courtesan.com>
15007
15008         * INSTALL, RUNSON, configure, configure.in:
15009         Make pam work on HP-UX 11.0;jaearick@colby.edu
15010         [b94de0ff6f42]
15011
15012         * CHANGES:
15013         recent changes; prepare for 1.6.2p1
15014         [b291635ea141]
15015
15016         * find_path.c:
15017         Don't apply SECURE_PATH if user is example; jmknoble@pobox.com
15018         [4306285c4f6e]
15019
15020 2000-01-26  Todd C. Miller  <Todd.Miller@courtesan.com>
15021
15022         * sudo.tab.c:
15023         Regen with yacc that has a memory leak plugged.
15024         [e26383a04eb7]
15025
15026         * sudoers.cat, sudoers.man, sudoers.pod:
15027         Expanded docs on sudoers 'defaults' options based on INSTALL file
15028         info.
15029         [54c3d62d6c74]
15030
15031         * INSTALL:
15032         Fix some while lies
15033         [d15311782150]
15034
15035 2000-01-24  Todd C. Miller  <Todd.Miller@courtesan.com>
15036
15037         * Makefile.in:
15038         When making a bindist, link FAQ to TROUBLESHOOTING instead of
15039         copying.
15040         [2d88a6ac88cf]
15041
15042         * sudoers.cat, sudoers.man, sudoers.pod:
15043         Add netgroup caveat
15044         [28d119f466e3] [SUDO_1_6_2]
15045
15046         * RUNSON:
15047         Last minute updates
15048         [89fb4ed22d52]
15049
15050         * TROUBLESHOOTING:
15051         PAM entry
15052         [a9fd59f39457]
15053
15054         * auth/pam.c:
15055         correct a comment
15056         [a29627225ba9]
15057
15058         * CHANGES, RUNSON:
15059         update for 1.6.2
15060         [b7f1c40ea732]
15061
15062         * auth/pam.c:
15063         Better detection of PAM errors and fix custom prompts with PAM.
15064         Based on patches from "Cloyce D. Spradling" <cloyce@headgear.org>
15065         [ff69234b94a5]
15066
15067 2000-01-20  Todd C. Miller  <Todd.Miller@courtesan.com>
15068
15069         * snprintf.c:
15070         Cast ULONG_MAX to unsigned long long when comparing to an unsigned
15071         long long value.
15072         [9d918c3a2ecd]
15073
15074 2000-01-19  Todd C. Miller  <Todd.Miller@courtesan.com>
15075
15076         * CHANGES, config.h.in, configure, configure.in, visudo.c:
15077         Fix sudoers locking in visudo. We now lock the sudoers file itself,
15078         not the temp file (since locking the temp file can foul up editors).
15079         The previous locking scheme didn't work because the fd was closed
15080         too early.
15081         [de2011bb11ed]
15082
15083         * config.h.in, configure, configure.in:
15084         Don't need test for ftruncate() any more.
15085         [e5f71c848104]
15086
15087         * configure, configure.in:
15088         Add a test for the -Aa flag w/ HP-UX's cc. Fixes compilation with
15089         the unbundled HP-UX cc.
15090         [2c373612c644]
15091
15092 2000-01-18  Todd C. Miller  <Todd.Miller@courtesan.com>
15093
15094         * sudoers.cat, sudoers.man, sudoers.pod:
15095         "a a" -> "a"; Aaron Campbell <aaron@cs.dal.ca>
15096         [05360d2c314e]
15097
15098 2000-01-17  Todd C. Miller  <Todd.Miller@courtesan.com>
15099
15100         * LICENSE, Makefile.in, defaults.c, defaults.h, parse.c, parse.h,
15101         parse.yacc, sudo.c, sudo.h, sudoers.pod, testsudoers.c, tgetpass.c,
15102         version.h, visudo.c:
15103         update copyright year on changed files
15104         [5792a2a28a4c]
15105
15106         * RUNSON:
15107         updates
15108         [edf8f19aa403]
15109
15110         * CHANGES:
15111         aix fix
15112         [4d4a243b31e2]
15113
15114         * INSTALL:
15115         Crank version to 1.6.2
15116         [bcb5cb411624]
15117
15118         * configure:
15119         Crank version to 1.6.2
15120         [32a19f33427f]
15121
15122         * sudo.c:
15123         When using rlimit check for RLIM_INFINITY When computing the value
15124         of maxfd, use min(getdtablesize(), RLIMIT_NOFILE)
15125         [8c16166802e5]
15126
15127         * CHANGES:
15128         recent changes
15129         [09fc7112e44d]
15130
15131         * BUGS, Makefile.in, README, configure.in, sudo.cat, sudo.man,
15132         sudoers.cat, sudoers.man, version.h, visudo.cat, visudo.man:
15133         Crank version to 1.6.2
15134         [055fa61a7c61]
15135
15136         * INSTALL, defaults.c, defaults.h, sudo.c, sudo.h, sudoers.pod:
15137         Add 'shell_noargs' runtime option back in. We have to defer
15138         checking until after the sudoers file has been parsed but since
15139         there are now other options that operate that way this one can too.
15140         Based on a patch from bguillory@email.com.
15141         [231db7a007a6]
15142
15143         * defaults.c, defaults.h, parse.c, sudo.c, sudo.h:
15144         Add "listpw" and "verifypw" options.
15145         [190683bac878]
15146
15147         * sudoers.cat, sudoers.man, sudoers.pod:
15148         o Fix some typos/omissions o Add section on verifypw and listpw o
15149         Define how NOPASSWD interacts with the -v and -l flags
15150         [6feb7350eb79]
15151
15152 2000-01-14  Todd C. Miller  <Todd.Miller@courtesan.com>
15153
15154         * configure, configure.in:
15155         For HP-UX cc, add -Aa to CPPFLAGS. For HP-UX always add
15156         -D_HPUX_SOURCE to CPPFLAGS.
15157         [06cc35d89dc8]
15158
15159         * defaults.c, defaults.h:
15160         In struct sudo_defs_types, move the union to the end and don't
15161         initialize the union member since that only works with an ANSI
15162         compiler. We set the value of the union by hand in init_defaults()
15163         anyway. This allows sudo to compile on a K&R compiler again.
15164         [623487e1fcfa]
15165
15166 2000-01-11  Todd C. Miller  <Todd.Miller@courtesan.com>
15167
15168         * parse.c, parse.h, parse.yacc, sudo.tab.c, testsudoers.c, visudo.c:
15169         netgr_matches needs to check shost as well as host since they may be
15170         different.
15171         [3f43ace23d3e]
15172
15173         * tgetpass.c:
15174         End on \r as well as \n
15175         [cb7c6e6f4202]
15176
15177 2000-01-03  Todd C. Miller  <Todd.Miller@courtesan.com>
15178
15179         * sudo.c:
15180         Update statbuf.st_mode based on SUDOERS_MODE when we are chaning
15181         from 0400 to whatever SUDOERS_MODE is (converting from the old
15182         sudoers mode). Assumes that SUDOERS_MODE is less restrictive than
15183         0400 which should always be the case.
15184         [34cd83d49d20]
15185
15186         * parse.c, parse.yacc, sudo.c, sudo.h, sudo.tab.c:
15187         Make treatment of -l and -v sane wrt NOPASSWD flags. Now allow -l
15188         w/o a passwd if there is *any* entry for the user on the host with a
15189         NOPASSWD flag. For -v, only allow w/o a passwd if *all* entries for
15190         the user on the host w/ the specified runas user have the NOPASSWD
15191         flag set.
15192         [4b3b85697653]
15193
15194         * Makefile.in:
15195         add check target
15196         [3d24d34a76fd]
15197
15198 1999-12-16  Todd C. Miller  <Todd.Miller@courtesan.com>
15199
15200         * visudo.c:
15201         Treat EOF at whatnow prompt like 'x' instead of looping.
15202         [5deffc27114c]
15203
15204 1999-12-10  Todd C. Miller  <Todd.Miller@courtesan.com>
15205
15206         * CHANGES:
15207         recent changes
15208         [5836a9452568] [SUDO_1_6_1]
15209
15210 1999-12-09  Todd C. Miller  <Todd.Miller@courtesan.com>
15211
15212         * config.h.in, configure, configure.in, sudo.c:
15213         Add check for initgroups() since old SYSV lacks this.
15214         [657a6005a569]
15215
15216         * CHANGES, RUNSON, aclocal.m4, config.h.in, configure, configure.in,
15217         parse.c, testsudoers.c:
15218         o Kill HAVE_FNMATCH_H o Only define HAVE_FNMATCH if <fnmatch.h>
15219         exists.
15220         [17d081e917d6]
15221
15222 1999-12-06  Todd C. Miller  <Todd.Miller@courtesan.com>
15223
15224         * auth/sudo_auth.c:
15225         Don't allow insults to be enabled if the insults[] array is empty.
15226         Otherwise there would be division by zero.
15227         [b20c14db6029]
15228
15229         * insults.h:
15230         Don't allow insults to be enabled if the insults[] array is empty.
15231         Otherwise there would be division by zero.
15232         [028f130204b0]
15233
15234         * CHANGES, RUNSON:
15235         Don't allow insults to be enabled if the insults[] array is empty.
15236         Otherwise there would be division by zero.
15237         [974f4780254b]
15238
15239         * insults.h:
15240         Don't care about USE_INSULTS #define since the insult stuff may be
15241         overridden at runtime.
15242         [b873df8b299c]
15243
15244         * auth/sudo_auth.c:
15245         Honor insults flag.
15246         [756111640fdc]
15247
15248         * CHANGES, parse.c:
15249         Don't ask the user for a password if the user is not allowed to run
15250         the command and the authenticate flag (in sudoers) is false.
15251         [cea9fdc09c76]
15252
15253         * CHANGES, RUNSON, lex.yy.c, parse.lex:
15254         o Whenever we get a bare newline we change to the INITIAL state. o
15255         Enter GOTRUNAS when we see Runas_Alias
15256
15257         This allows #uid to work in a RunasAlias.
15258         [a475513e7c7a]
15259
15260 1999-12-05  Todd C. Miller  <Todd.Miller@courtesan.com>
15261
15262         * CHANGES, parse.yacc, sudo.tab.c:
15263         fix parsing of runas lists: o oprunasuser and runaslist now return a
15264         value o in a runasspec, if a runaslist does not return TRUE, set
15265         runas_matches to FALSE. Normally, a runaslist only returns FALSE
15266         for explicitly denied users. o since runaslist does not modify the
15267         stack there is no need for a push/pop in runasalias.
15268         [82b305b34a8c]
15269
15270         * check.c, sudo.c:
15271         Don't kill the user's tickets until after sudoers has been parsed
15272         since tty_tickets and ticket_dir could be set in sudoers.
15273         [f43e25367f3a]
15274
15275         * BUGS, CHANGES, Makefile.binary, Makefile.in, README, RUNSON,
15276         configure, configure.in, sudo.cat, sudo.man, sudoers.cat,
15277         sudoers.man, tgetpass.c, version.h, visudo.cat, visudo.man:
15278         crank version to 1.6
15279         [95f8bdcf9bb2]
15280
15281         * testsudoers.c:
15282         add set_fqdn() stub
15283         [bbc81af5b41a]
15284
15285 1999-12-02  Todd C. Miller  <Todd.Miller@courtesan.com>
15286
15287         * INSTALL, defaults.c, defaults.h, sudo.c, sudo.h, sudoers.cat,
15288         sudoers.man, sudoers.pod, visudo.c:
15289         o Kill shell_noargs option, it cannot work since the command needs
15290         to be set before sudoers is parsed. o Fix the "set_home" sudoers
15291         option (only worked at compile time). o Fix "fqdn" sudoers option.
15292         We now set host/shost via set_fqdn which gets called when the
15293         "fqdn" option is set in sudoers. o Move the openlog() to
15294         store_syslogfac() so this gets overridden correctly from the
15295         sudoers file.
15296         [3dca861f0f5d]
15297
15298         * auth/securid.c:
15299         SecurID support should compile now.
15300         [a544e5c6ea34]
15301
15302 1999-11-29  Todd C. Miller  <Todd.Miller@courtesan.com>
15303
15304         * sudo.cat, sudo.man, sudo.pod, sudoers.cat, sudoers.man, visudo.cat,
15305         visudo.man, visudo.pod:
15306         fix some syntactic goofs
15307         [b3451f0d5239]
15308
15309 1999-11-28  Todd C. Miller  <Todd.Miller@courtesan.com>
15310
15311         * Makefile.in, sudo.html, sudoers.html, visudo.html:
15312         No longer need the .html files as they are generated automatically
15313         on the web site.
15314         [1b4aa4204584]
15315
15316         * CHANGES, LICENSE:
15317         kill characters that made wml unhappy
15318         [b988fbc6da56]
15319
15320         * HISTORY:
15321         typo
15322         [a418963f7fce]
15323
15324 1999-11-25  Todd C. Miller  <Todd.Miller@courtesan.com>
15325
15326         * README:
15327         majordomo@cs.colorado.edu -> majordomo@courtesan.com
15328         [5d151e8ffd3b]
15329
15330         * Makefile.in, configure:
15331         Wrap script execution w/ /bin/sh for the benefit of ctm
15332         [3a9c4766b2c3]
15333
15334 1999-11-24  Todd C. Miller  <Todd.Miller@courtesan.com>
15335
15336         * sudo.c:
15337         Make the -s flag be exclusive too. Also reorder the flags in the
15338         exclusive usage message so they are alphabetical.
15339         [4c7af200db34]
15340
15341 1999-11-23  Todd C. Miller  <Todd.Miller@courtesan.com>
15342
15343         * auth/pam.c:
15344         make pam errors other than PAM_PERM_DENIED fatal
15345         [64bcb3fd2baf]
15346
15347         * auth/API:
15348         fix typo
15349         [f3134c88b12e]
15350
15351         * INSTALL:
15352         make it clear that /etc/pam.d/sudo is required on linux
15353         [213cc3eaad82]
15354
15355         * auth/pam.c:
15356         fix a warning on redhat and spew an error if pam_authenticate()
15357         returns an error other than AUTH_SUCCESS or PAM_PERM_DENIED
15358         [7e46dd19da89]
15359
15360         * sudo.cat, sudo.html, sudo.man, sudo.pod:
15361         Be very clear that the password required is the user's not root's
15362         [a6da127347e5]
15363
15364 1999-11-20  Todd C. Miller  <Todd.Miller@courtesan.com>
15365
15366         * Makefile.in:
15367         add sample.syslog.conf to DISTFILES and BINFILES
15368         [8661c27c007e]
15369
15370 1999-11-19  Todd C. Miller  <Todd.Miller@courtesan.com>
15371
15372         * RUNSON:
15373         updates from Brian Jackson + some formatting
15374         [6d31c6fa63f8]
15375
15376 1999-11-18  Todd C. Miller  <Todd.Miller@courtesan.com>
15377
15378         * INSTALL.binary, Makefile.binary, README, RUNSON:
15379         o One RUNSon update o Changes for automating real binary releases
15380         [dd9585f4406c]
15381
15382         * Makefile.in:
15383         Add bindist target
15384         [546ed3fa94bb]
15385
15386 1999-11-16  Todd C. Miller  <Todd.Miller@courtesan.com>
15387
15388         * TROUBLESHOOTING:
15389         talk about run-time options in addition to compile-time options
15390         [1eb813ff0a9a] [SUDO_1_6_0]
15391
15392         * CHANGES:
15393         fix typos
15394         [65e92bb70a7b]
15395
15396         * sudo.c:
15397         need sys/time.h if HAVE_SETRLIMIT
15398         [ce31655a8a60]
15399
15400         * PORTING, README, RUNSON, sudo.c, sudo.cat, sudo.html, sudo.man,
15401         sudo.pod, visudo.cat, visudo.html, visudo.man, visudo.pod:
15402         get rid of references to sudo-bugs. Now mention the web site or the
15403         sudo@ alias
15404         [a9db861fd8c6]
15405
15406         * sudoers.html:
15407         repair pod2html damage
15408         [62ece4277f1f]
15409
15410         * RUNSON, TODO:
15411         Update for 1.6 release
15412         [98569c57ba2a]
15413
15414         * sudoers.cat, sudoers.html, sudoers.man, sudoers.pod:
15415         Add warning about using ALL in a command context.
15416         [6c77685ab280]
15417
15418 1999-11-09  Todd C. Miller  <Todd.Miller@courtesan.com>
15419
15420         * visudo.c:
15421         Call yyrestart() on a parse error to reset the lexer state.
15422         [1370a27acdb2]
15423
15424         * lex.yy.c, parse.lex:
15425         Don't need YY_FLUSH_BUFFER after all Move yyrestart() into visudo.c
15426         since it might not get called in yywrap if we get a parse error
15427         (and we only reread the file on error anyway).
15428         [37f4b449e28e]
15429
15430         * lex.yy.c, parse.lex:
15431         Call YY_FLUSH_BUFFER macro in yywrap() to clean up any buffers that
15432         might still exist. Call yyrestart() instead of using the deprecated
15433         YY_NEW_FILE macro.
15434         [7d0d873046c6]
15435
15436         * lex.yy.c, parse.lex:
15437         flex doesn't need %N table size declarations
15438         [268b020fd60a]
15439
15440         * sudoers.cat, sudoers.html, sudoers.man, sudoers.pod:
15441         Mention what characters need to be escaped in names.
15442         [72ccbb6b0f31]
15443
15444 1999-11-08  Todd C. Miller  <Todd.Miller@courtesan.com>
15445
15446         * configure:
15447         regen
15448         [65827abb5c7b]
15449
15450         * INSTALL:
15451         clarify Mac OS X entry
15452         [8da1549a71f5]
15453
15454         * RUNSON:
15455         update
15456         [0cff8df7459f]
15457
15458         * configure.in:
15459         o Use AC_MSG_ERROR throughout o Check syslog configure options for
15460         danity
15461         [4cb81e642e5c]
15462
15463 1999-11-05  Todd C. Miller  <Todd.Miller@courtesan.com>
15464
15465         * defaults.c:
15466         Fix printing of type T_MODE in dump_defaults()
15467         [a868bb6f5515]
15468
15469         * strcasecmp.c:
15470         missing sys/types.h
15471         [ca694ca325b6]
15472
15473         * INSTALL:
15474         Break out options that may be overridden at run time into their own
15475         section. Add a not about Max OS X and correct some lies.
15476         [d8bcfd120593]
15477
15478 1999-11-04  Todd C. Miller  <Todd.Miller@courtesan.com>
15479
15480         * CHANGES, config.h.in, configure, configure.in, sudo.c:
15481         o Now use getrlimit to find the highest fd when closing all non-std
15482         fd's o Turn off core dumps via setrlimit for the sake of paranoia
15483         [dd9f651b6def]
15484
15485         * RUNSON:
15486         updates
15487         [f581841fe615]
15488
15489 1999-11-01  Todd C. Miller  <Todd.Miller@courtesan.com>
15490
15491         * CHANGES:
15492         updates
15493         [553baa1d44c7]
15494
15495         * tgetpass.c:
15496         When read()'ing, do a single character at a time to be sure we don't
15497         go oast the newline.
15498         [907d33f55bb4]
15499
15500         * sudo.c:
15501         For the sudo_root option, check against user_uid, not getuid() since
15502         at this point, ruid == euid == 0.
15503         [92d5c51939b4]
15504
15505         * RUNSON:
15506         some updates
15507         [e3ed0c1f312b]
15508
15509         * logging.h:
15510         Fix compilation problem when --with-logging=file was specified.
15511         This means that syslog is now required to build sudo but that should
15512         not be a problem. If it is it can be fixed trivially with a
15513         configure check for syslog() or syslog.h.
15514         [839a4b069190]
15515
15516         * tgetpass.c:
15517         Make this work again for things like "sudo echo hi | more" where the
15518         tty gets put into character at a time mode. We read until we read
15519         end of line or we run out of space (similar to fgets(3)).
15520         [c8f746df2e63]
15521
15522 1999-10-20  Todd C. Miller  <Todd.Miller@courtesan.com>
15523
15524         * sudoers.cat, sudoers.html, sudoers.man, sudoers.pod:
15525         change ital to bold
15526         [f860978e530a]
15527
15528         * RUNSON:
15529         update
15530         [9bcfbb405568]
15531
15532 1999-10-16  Todd C. Miller  <Todd.Miller@courtesan.com>
15533
15534         * defaults.c:
15535         Error out if syslog parameters are given without a value. For
15536         Ultrix or 4.2BSD "syslog" is allowed without a value since there are
15537         no facilities in the 4.2BSD syslog.
15538         [69e7a686f5f0]
15539
15540 1999-10-15  Todd C. Miller  <Todd.Miller@courtesan.com>
15541
15542         * defaults.c:
15543         Ignore the syslog facility for systems w/ old syslog like Ultrix.
15544         [5c250adbbb84]
15545
15546         * TROUBLESHOOTING:
15547         people with "." early in their path can have problems running sudo
15548         from the build dir ;-)
15549         [20a1744a24a4]
15550
15551 1999-10-13  Todd C. Miller  <Todd.Miller@courtesan.com>
15552
15553         * sudo.cat, sudo.html, sudo.man, sudo.pod:
15554         Remove -r realm option
15555         [127caa537f95]
15556
15557         * auth/kerb5.c, auth/sudo_auth.c, auth/sudo_auth.h, configure,
15558         configure.in, sudo.c:
15559         New krb5 code from Frank Cusack <fcusack@iconnet.net>.
15560         [7177a3893a62]
15561
15562         * CHANGES:
15563         update to reality
15564         [766cfbb512d6]
15565
15566 1999-10-12  Todd C. Miller  <Todd.Miller@courtesan.com>
15567
15568         * auth/fwtk.c:
15569         include <auth.h> to get function prototypes.
15570         [d6c7c12d09fe]
15571
15572         * sudo.cat, sudo.html, sudo.man, sudo.pod:
15573         document -L flag
15574         [dc803e1ce0d7]
15575
15576 1999-10-11  Todd C. Miller  <Todd.Miller@courtesan.com>
15577
15578         * sudo.c:
15579         in set_perms(), always call setuid(0) before changing the ruid/euid
15580         so we always know it will succeed.
15581         [8cced1b862bf]
15582
15583         * defaults.h:
15584         #undef T_FOO to avoid conflicts with system defines (like on
15585         ULTRIX).
15586         [d9f0aac092b0]
15587
15588         * TODO, sample.sudoers, sudoers.cat, sudoers.html, sudoers.man,
15589         sudoers.pod:
15590         Docuement "Defaults" lines in /etc/sudoers. Still needs some
15591         fleshing out but this is a start.
15592         [521a1e629bbc]
15593
15594 1999-10-10  Todd C. Miller  <Todd.Miller@courtesan.com>
15595
15596         * use strtol, not strtoul since not everyone has not strtoul
15597         [988462f093cc]
15598
15599         * defaults.c:
15600         use strtol, not strtoul since not everyone has not strtoul
15601         [fce835ce62e3]
15602
15603         * lex.yy.c, parse.lex:
15604         last {WORD} rule should only apply in the INITIAL state
15605         [9b57570bfa83]
15606
15607         * lex.yy.c, parse.lex:
15608         o Add support for escaped characters in the WORD macro o Modify
15609         fill() to squash escape chars
15610         [87572d59e4e0]
15611
15612         * defaults.c, defaults.h:
15613         o Add T_PATH flag to allow simple sanity checks for default values
15614         that are supposed to be pathnames. o Fix a duplicate free when
15615         visudo finds an error.
15616         [bdc6855a6c6d]
15617
15618 1999-10-09  Todd C. Miller  <Todd.Miller@courtesan.com>
15619
15620         * defaults.c, defaults.h, logging.c:
15621         mail_if_foo -> mail_foo
15622         [cbee9415875d]
15623
15624 1999-10-08  Todd C. Miller  <Todd.Miller@courtesan.com>
15625
15626         * compat.h, defaults.c, defaults.h, sudo.c, tgetpass.c:
15627         o Add requiretty option o Move O_NOCTTY to compat.h
15628         [65b8bf0e1795]
15629
15630         * logging.c:
15631         The exit() in log_error() was mistakenly removed in a previous
15632         version. Put it back...
15633         [9473449130a4]
15634
15635 1999-10-07  Todd C. Miller  <Todd.Miller@courtesan.com>
15636
15637         * INSTALL, TODO, auth/aix_auth.c, auth/fwtk.c, auth/pam.c,
15638         auth/rfc1938.c, auth/sia.c, auth/sudo_auth.c, check.c, config.h.in,
15639         configure, configure.in, defaults.c, defaults.h, find_path.c,
15640         getspwuid.c, logging.c, parse.yacc, sudo.c, sudo.tab.c:
15641         o Change defaults stuff to put the value right in the struct. o
15642         Implement mailer_flags o Store syslog stuff both in int and string
15643         form. Setting the string form magically updates the int version.
15644         o Add boolean attribute to strings where it makes sense to say !foo
15645         [4698953f9a36]
15646
15647         * tgetpass.c:
15648         add O_NOCTTY when opening /dev/tty just in case
15649         [4c6d1d1bb300]
15650
15651 1999-10-06  Todd C. Miller  <Todd.Miller@courtesan.com>
15652
15653         * auth/API:
15654         cleanup function no longer takes a status arg
15655         [0819edbfe7f8]
15656
15657         * INSTALL:
15658         the the
15659         [19aadb65ea28]
15660
15661 1999-09-15  Todd C. Miller  <Todd.Miller@courtesan.com>
15662
15663         * TODO, config.h.in, configure, configure.in, logging.c:
15664         Use strftime() instead of ctime() if it is available.
15665         [fb60ea63b514]
15666
15667 1999-09-14  Todd C. Miller  <Todd.Miller@courtesan.com>
15668
15669         * defaults.c:
15670         fix copyright date
15671         [4a53b54aa72f]
15672
15673         * RUNSON:
15674         update ReliantUNIX entry
15675         [de618a4f67d9]
15676
15677         * defaults.c, defaults.h, logging.c:
15678         add log_year option
15679         [251a9e20568a]
15680
15681         * configure, configure.in:
15682         add --without-sendmail to help output
15683         [93162f199902]
15684
15685         * configure, configure.in:
15686         enforce an otctal arg for --with-suoders-mode
15687         [45e1b04ccad3]
15688
15689 1999-09-08  Todd C. Miller  <Todd.Miller@courtesan.com>
15690
15691         * BUGS, INSTALL, Makefile.in, TODO, aclocal.m4, auth/aix_auth.c,
15692         auth/fwtk.c, auth/kerb5.c, auth/pam.c, auth/rfc1938.c, auth/sia.c,
15693         auth/sudo_auth.c, check.c, config.h.in, configure, configure.in,
15694         defaults.c, defaults.h, find_path.c, lex.yy.c, logging.c, parse.h,
15695         parse.lex, parse.yacc, sudo.c, sudo.h, sudo.tab.c, sudo.tab.h,
15696         testsudoers.c, version.c, visudo.c:
15697         Add support for "Defaults" line in sudoers to make configuration
15698         variables changable at runtime (and on a global, per-host and per-
15699         user basis). Both the names and the internal representation are
15700         still subject to change. It was necessary to make sudo_user.runas
15701         but a char ** instead of a char * since this value can be changed by
15702         a Defaults line. There is a similar (but more complicated) issue
15703         with sudo_user.prompt but it is handled differently at the moment.
15704
15705         Add a "-L" flag to list the name of options with their descriptions.
15706         This may only be temporary.
15707
15708         Move some prototypes to parse.h
15709
15710         Be much less restrictive on what is allowed for a username.
15711         [f71abf7ba80c]
15712
15713         * sample.syslog.conf:
15714         Add more info
15715         [e952e6f42d4d]
15716
15717 1999-09-04  Todd C. Miller  <Todd.Miller@courtesan.com>
15718
15719         * LICENSE, fnmatch.3, fnmatch.c, getcwd.c, lsearch.c, snprintf.c,
15720         strcasecmp.c:
15721         UCB has dropped the advertising clause from their license.
15722         [a5602b36a341]
15723
15724 1999-08-31  Todd C. Miller  <Todd.Miller@courtesan.com>
15725
15726         * auth/sudo_auth.h:
15727         move dce_verofy proto to correct section
15728         [972c815af558]
15729
15730         * auth/dce.c:
15731         remove XXX
15732         [820631855be0]
15733
15734 1999-08-28  Todd C. Miller  <Todd.Miller@courtesan.com>
15735
15736         * emul/fnmatch.h:
15737         Add fnmatch() prototype
15738         [79e84576d92a]
15739
15740         * fnmatch.c, parse.c, testsudoers.c:
15741         Move inclusion of emul/fnmatch.h to be after sudo.h for __P
15742         [1182c89fa811]
15743
15744         * sudo.h:
15745         add strcasecmp proto
15746         [512d1d8a6a0c]
15747
15748         * auth/sudo_auth.c:
15749         add check for case where there are no auth methods
15750         [e4af2b91b43e]
15751
15752         * configure, configure.in:
15753         Define _XOPEN_EXTENDED_SOURCE on AIX and __USE_FIXED_PROTOTYPES__ on
15754         SunOS4 w/ gcc
15755         [746ce8bcec23]
15756
15757         * getspwuid.c, lex.yy.c, parse.lex, parse.yacc, sudo.tab.c:
15758         include strings.h everywhere we include string.h
15759         [6f7d5d437e7b]
15760
15761         * version.c:
15762         nicer output when showing auth methods
15763         [0eac4b977f9d]
15764
15765         * version.c:
15766         Add support for SEND_MAIL_WHEN_NO_HOST
15767         [9f20a3a3fae6]
15768
15769         * config.h.in, configure, configure.in:
15770         Add _GNU_SOURCE for Linux
15771         [c7bd8c511847]
15772
15773         * lex.yy.c, parse.lex:
15774         fix definition of OCTECT
15775         [4af30e63244d]
15776
15777         * configure, configure.in:
15778         aix_auth.o not authenticate.o
15779         [fe95dfb08df4]
15780
15781 1999-08-27  Todd C. Miller  <Todd.Miller@courtesan.com>
15782
15783         * sudo.c:
15784         Only block SIGINT, SIGQUIT, SIGTSTP (which can be generated from the
15785         keyboard). Since we run with ruid/euid == 0 the user can't really
15786         signal us in nasty ways.
15787         [a7f6487c0f48]
15788
15789         * visudo.c:
15790         Don't need to worry about catching too many signals since we do
15791         locking on the tmp file. If a lockfile is really stale, it will be
15792         detected and overwritten.
15793         [28983db3e749]
15794
15795         * INSTALL, Makefile.in:
15796         include auth/API in tarball
15797         [014991600252]
15798
15799         * auth/sudo_auth.c:
15800         move memset() of plaintext pw outside of verify loop and only do the
15801         memset if we are *not* in standalone mode.
15802         [66f8e87567e2]
15803
15804         * auth/sudo_auth.c, auth/sudo_auth.h:
15805         DCE is not a standalone method
15806         [34963e2d8a1b]
15807
15808         * sudo.c:
15809         fix --enable-noargs-shell
15810         [4234062abbb0]
15811
15812         * snprintf.c:
15813         "#ifdef __STDC__" not "#if __STDC__" (I missed one)
15814         [c430b80454c6]
15815
15816         * auth/fwtk.c, auth/sia.c:
15817         _cleanup() function returns an int.
15818         [d1a1cc071ec1]
15819
15820         * auth/dce.c:
15821         there were still some return(0)'s hanging around, make them
15822         AUTH_FAILURE
15823         [1002aa1962c3]
15824
15825         * parse.c:
15826         typo in comment
15827         [5abc410dbfd2]
15828
15829         * version.c:
15830         add missing semicolon
15831         [a262283b52a5]
15832
15833         * auth/sudo_auth.h:
15834         missing backslash
15835         [bf89f6bd2900]
15836
15837 1999-08-26  Todd C. Miller  <Todd.Miller@courtesan.com>
15838
15839         * CHANGES, config.h.in, configure, configure.in:
15840         Kill _XOPEN_EXTENDED_SOURCE -- causes problems on some OSes
15841         [f1a9bca0cf67]
15842
15843         * Makefile.in:
15844         add parse.h to HDRS
15845         [a3d054987766]
15846
15847         * Makefile.in, configure, configure.in:
15848         Kill VISUDO_LIBS and VISUDO_LDFLAGS. Add LIBS, NET_LIBS, and
15849         LDFLAGS. Common libs go in LIBS, commong ld flags go in LDFLAGS and
15850         network libs like -lsocket, -lnsl go in NET_LIBS. This allows
15851         testsudoers to build on Solaris and is a bit cleaner in general.
15852         [4e6239e97002]
15853
15854         * UPGRADE:
15855         mention ptmp -> sudoers.tmp
15856         [ec3baa0fe8a1]
15857
15858         * config.h.in, configure, configure.in:
15859         Define _XOPEN_SOURCE_EXTENDED not _XOPEN_SOURCE
15860         [6f93dc7f39f5]
15861
15862         * RUNSON:
15863         add 2 reports
15864         [ce0fcc00ee4e]
15865
15866         * auth/kerb5.c:
15867         Minor changes, mostly cosmetic. verify_krb_v5_tgt() changed to
15868         return a value more like a system function
15869         [0dd56aa21424]
15870
15871         * auth/dce.c:
15872         Add an XXX
15873         [58fc8562c212]
15874
15875         * TODO:
15876         more things todo!
15877         [5a459d0cf339]
15878
15879         * sample.sudoers:
15880         update based on what is in the man page
15881         [1a0477db96fa]
15882
15883         * parse.yacc, sudo.tab.c:
15884         minor change to first line printed in -l mode
15885         [69eb57d96952]
15886
15887         * sudo.cat, sudo.html, sudo.man, sudo.pod:
15888         rename "ENVIRONMENT VARIABLES" section to "ENVIRONMENT" to be more
15889         standard and add "EXAMPLES" section
15890         [7e543335ebe1]
15891
15892         * visudo.cat, visudo.html, visudo.man, visudo.pod:
15893         rename "ENVIRONMENT VARIABLES" section to "ENVIRONMENT" to be more
15894         standard
15895         [f82d87ed65c2]
15896
15897         * logging.c, parse.c, sudo.h:
15898         add FLAG_NO_CHECK
15899         [c7d69176a2d7]
15900
15901         * lex.yy.c, parse.lex:
15902         make an OCTET really be limited to 0-255
15903         [6ee568dd6a02]
15904
15905         * UPGRADE:
15906         mention timestamp changes
15907         [e44d5302bf60]
15908
15909         * PORTING:
15910         cosmetic cleanup
15911         [36fa3a2664dd]
15912
15913         * sudoers.cat, sudoers.html, sudoers.man, sudoers.pod:
15914         new sudoers(8) man page
15915         [e674d06283d0]
15916
15917 1999-08-24  Todd C. Miller  <Todd.Miller@courtesan.com>
15918
15919         * version.c:
15920         Update comments about syslog name tables
15921         [63830a782dcb]
15922
15923         * CHANGES, LICENSE, Makefile.in, configure, configure.in, parse.yacc,
15924         strcasecmp.c, sudo.tab.c:
15925         include strcasecmp() for those without it
15926         [a0d8e2488bbc]
15927
15928         * sample.sudoers:
15929         Use the : operator some more and fix a typo
15930         [18804c70da86]
15931
15932         * HISTORY:
15933         update the history of sudo
15934         [9d9b3d5279b3]
15935
15936         * parse.c, parse.lex, testsudoers.c:
15937         CIDR-style netmask support
15938         [768644467353]
15939
15940         * CHANGES:
15941         recent changes
15942         [a4319e9d07cb]
15943
15944         * sudo.tab.c, sudo.tab.h:
15945         these should be generated with byacc, not bison
15946         [f57b9489b752]
15947
15948         * lex.yy.c:
15949         regen
15950         [522461f95dfa]
15951
15952         * parse.h, parse.yacc, sudo.tab.c, sudo.tab.h:
15953         In "sudo -l" mode, the type of the stored (expanded) alias was not
15954         stored with the contents. This could lead to incorrect output if
15955         the sudoers file had different alias types with the same name.
15956         Normal parsing (ie: not in '-l' mode) is unaffected.
15957         [823fe2bc4b79]
15958
15959 1999-08-23  Todd C. Miller  <Todd.Miller@courtesan.com>
15960
15961         * configure, configure.in:
15962         define _XOPEN_SOURCE to get at crypt() proto on some systems
15963         [1b3769b86fb9]
15964
15965 1999-08-22  Todd C. Miller  <Todd.Miller@courtesan.com>
15966
15967         * snprintf.c:
15968         fix comment
15969         [fc1264df00f7]
15970
15971         * tgetpass.c:
15972         don't need limits.h
15973         [f1631829af45]
15974
15975         * snprintf.c:
15976         kill bogus reference to vfprintf
15977         [a0b99b25d389]
15978
15979         * sample.sudoers, sudoers:
15980         better examples
15981         [b4d87ea64cc8]
15982
15983         * snprintf.c:
15984         Add some const in the K&R defs. This is safe since we define const
15985         away if the compiler doesn't grok it.
15986         [614d6e83d45e]
15987
15988         * aclocal.m4, configure:
15989         Better test for working long long support. Ultrix compiler supports
15990         basic long long but not all operations on them.
15991         [5da1508710ed]
15992
15993         * aclocal.m4, auth/secureware.c, config.h.in, configure, getspwuid.c,
15994         snprintf.c, sudo.c:
15995         Add check for LONG_IS_QUAD #undef MAXINT before including
15996         hpsecurity.h to silence an HP-UX warning Check for U?LONG_LONG_MAX
15997         in snprintf.c and use LONG_IS_QUAD
15998         [a1f7993367fc]
15999
16000 1999-08-21  Todd C. Miller  <Todd.Miller@courtesan.com>
16001
16002         * LICENSE, aclocal.m4, config.h.in, configure, configure.in,
16003         snprintf.c:
16004         UCB-derived snprintf + asprintf support. Supports quads if the
16005         compiler does. No floating point yet, perhaps later...
16006         [0caf05aba945]
16007
16008 1999-08-20  Todd C. Miller  <Todd.Miller@courtesan.com>
16009
16010         * auth/API, auth/sudo_auth.c, auth/sudo_auth.h, check.c, find_path.c,
16011         goodpath.c, logging.c, parse.c, sudo.c:
16012         Run most of the code as root, not the invoking user. It doesn't
16013         really gain us anything to run as the user since an attacker can
16014         just have an setuid(0) in their egg. Running as root solves
16015         potential problems wrt signalling.
16016         [408e530dda01]
16017
16018         * sudo.tab.c:
16019         regen
16020         [f8cfb37e37de]
16021
16022 1999-08-19  Todd C. Miller  <Todd.Miller@courtesan.com>
16023
16024         * logging.c, sudo.c:
16025         Don't wait for child to finish in log_error(), let the signal
16026         handler get it if we are still running, else let init reap it for
16027         us. The extra time it takes to wait lets the user know that mail is
16028         being sent.
16029
16030         Install SIGCHLD handler in main() and for POSIX signals, block
16031         everything
16032         *except* SIGCHLD.
16033         [d2b6ab0ef3be]
16034
16035         * INSTALL, config.h.in, configure, configure.in, logging.c, parse.c,
16036         parse.yacc, sudo.c, sudo.h:
16037         sudoers_lookup() now returns a bitmap instead of an int. This makes
16038         it possible to express things like "failed to validate because user
16039         not listed for this host". Some thigns that were previously
16040         VALIDATE_FOO are now FLAG_FOO. This may change later on.
16041
16042         Reorganized code in log_auth() and sudo.c to deal with above
16043         changes.
16044
16045         Safer versions of push/pushcp with in the do { ... } while (0) style
16046
16047         parse.yacc now saves info on the stack to allow parse.c to determine
16048         if a user was listed, but not for the host he/she tried to run on.
16049
16050         Added --with-mail-if-no-host option
16051         [63326cb01efc]
16052
16053 1999-08-17  Todd C. Miller  <Todd.Miller@courtesan.com>
16054
16055         * parse.yacc, sudo.h, sudo.tab.c, visudo.c, visudo.cat, visudo.html,
16056         visudo.man, visudo.pod:
16057         o NewArgv and NewArgc don't need to be externally visible. o If
16058         pedantic > 1, it is a parse error. o Add -s (strict) option to
16059         visudo which sets pedantic to 2.
16060         [5d7d81b55cd5]
16061
16062         * HISTORY, INSTALL:
16063         Just have sudo-bugs contact info in one place
16064         [e7f6588ea683]
16065
16066         * sudo.cat, sudo.html, sudo.man, sudo.pod:
16067         Add BUGS section
16068         [6607d96ea510]
16069
16070         * Makefile.in, configure, configure.in:
16071         Add testsudoers to default build target if --with-devel Don't clean
16072         generated parser files unless "distclean".
16073         [5827b769dc57]
16074
16075         * parse.yacc, sudo.tab.c:
16076         In pedantic mode we need to save *all* the aliases, not just those
16077         that match, or we get spurious warnings.
16078         [24f5b1f0e1de]
16079
16080         * TROUBLESHOOTING:
16081         reference samples.sylog.conf
16082         [11841668380a]
16083
16084 1999-08-14  Todd C. Miller  <Todd.Miller@courtesan.com>
16085
16086         * sample.syslog.conf:
16087         Sample entries for syslog.conf
16088         [0f7697d878a1]
16089
16090         * CHANGES:
16091         recent changes
16092         [8bca8810c6bd]
16093
16094         * auth/API, auth/afs.c, auth/aix_auth.c, auth/dce.c, auth/fwtk.c,
16095         auth/kerb4.c, auth/kerb5.c, auth/pam.c, auth/passwd.c,
16096         auth/rfc1938.c, auth/secureware.c, auth/securid.c, auth/sia.c,
16097         auth/sudo_auth.c, auth/sudo_auth.h:
16098         In struct sudo_auth, turn need_root and configured into flags and
16099         add a flag to specify an auth method is running alone (the only
16100         one). Pass auth methods their sudo_auth pointer, not the data
16101         pointer. This allows us to get at the flags and tell if we are the
16102         only auth method. That, in turn, allows the method to be able to
16103         decide what should/should not be a fatal error. Currently only
16104         rfc1938 uses it this way, which allows us to kill the OTP_ONLY
16105         define and te hackery that went with it. With access to the
16106         sudo_auth struct, methods can also get at a string holding their
16107         cannonical name (useful in error messages).
16108         [b7e320fc6511]
16109
16110         * INSTALL, Makefile.in, README, config.h.in, configure, configure.in,
16111         getspwuid.c, lex.yy.c, parse.lex, parse.yacc, sudo.tab.c,
16112         sudo.tab.h:
16113         o --with-otp deprecated, use --without-passwd instead o real
16114         dependencies in the Makefile o --with-devel option to enable yacc,
16115         lex, and -Wall o style -- "foo -> bar" becomes "foo->bar" o ALL goes
16116         back to being a token, not a string but don't leak memory o rename
16117         hsotspec -> host in parse.yacc
16118         [912c45226cb2]
16119
16120 1999-08-12  Todd C. Miller  <Todd.Miller@courtesan.com>
16121
16122         * BUGS, CHANGES:
16123         recent changes
16124         [801fa6e55687]
16125
16126         * auth/sudo_auth.c, configure, configure.in, interfaces.c, snprintf.c,
16127         sudo.c, sudo.h:
16128         o Digital UNIX needs to check for *snprintf() before -ldb is added
16129         to LIBS since -ldb includes a bogus snprintf(). o Add forward refs
16130         for struct mbuf and struct rtentry for Digital UNIX. o Reorder some
16131         functions in snprintf.c to fix -Wall o Add missing includes to fix
16132         more -Wall
16133         [8d207203e126]
16134
16135         * INSTALL, auth/sudo_auth.c, check.c, config.h.in, configure,
16136         configure.in, parse.yacc, sudo.tab.c, testsudoers.c, version.c,
16137         visudo.c:
16138         o Add a "pedentic" flag to the parser. This makes sudo warn in
16139         cases where an alias may be used before it is defined. Only turned
16140         on for visudo and testsudoers. o Add --disable-authentication option
16141         that makes sudo not require authentication by default. The PASSWD
16142         tag can be used to require authentication for an entry. We no
16143         longer overload --without-passwd.
16144         [f307e09adf98]
16145
16146         * lex.yy.c, parse.lex:
16147         Break 'WORD' regexp def into HOSTNAME and USERNAME. These days a
16148         username can contain just about anything so be very permissive. Also
16149         drop the unused \. punctuation.
16150         [06a50614ff89]
16151
16152 1999-08-09  Todd C. Miller  <Todd.Miller@courtesan.com>
16153
16154         * parse.yacc, sudo.tab.c:
16155         o add a 'val' element to aliasinfo struct and move -> parse.h o
16156         find_alias() now returns an aliasinfo * instead of boolean o
16157         add_alias() now takes a value parameter to store in the
16158         aliasinfo.val o The cmnd, hostspec, runasuser, and user rules now
16159         return: 1) positive match 0) negative match (due to '!')
16160         -1) no match This means setting $$ explicitly in all cases, which I
16161         should have done in the first place. It also means that we always
16162         store a value that is != -1 and when we see a '!' we can set
16163         *_matches to !rv if rv != -1. The upshot of all of this is that '!'
16164         now works the way it should in lists and some of the rules are more
16165         uniform and sensible.
16166         [ad8e73b5d581]
16167
16168         * Makefile.in:
16169         add parse.h dependency
16170         [4ccccd464d30]
16171
16172         * parse.h:
16173         kill unused *_matched macros
16174         [02cba6dcb732]
16175
16176         * parse.yacc:
16177         Allow a list of users as the first thing in a user spec, not just a
16178         single entry. This makes things more uniform, though it does allow
16179         you to write user specs that are hard to read.
16180         [3c4c91c508ca]
16181
16182         * sudo.tab.c:
16183         parse.yacc
16184         [feca81881bb6]
16185
16186         * configure:
16187         regen
16188         [6f247010bb3b]
16189
16190         * configure.in:
16191         fix check for crypt() in libufc
16192         [82770736f4b0]
16193
16194 1999-08-07  Todd C. Miller  <Todd.Miller@courtesan.com>
16195
16196         * README:
16197         sudo-users list now exists
16198         [4716d2bb0bbf]
16199
16200         * INSTALL, PORTING, README, TODO, TROUBLESHOOTING:
16201         Update to reality.
16202         [1eda2d57e42a]
16203
16204         * CHANGES, Makefile.in, TODO, TROUBLESHOOTING, check.c, compat.h,
16205         config.h.in, configure, configure.in, fileops.c, logging.c, sudo.h,
16206         version.c, visudo.c:
16207         o Move lock_file() and touch() into fileops.c so visudo can use them
16208         o Visudo now locks the sudoers temp file instead of bailing when the
16209         temp file already exists. This fixes the problem of stale temp
16210         files but it does *require* that you not try to put the temp file in
16211         a world-writable directory. This shoud not be an issue as the temp
16212         file should live in the same dir as sudoers. o Visudo now only
16213         installs the temp file as sudoers if it changed.
16214         [2517cd06c070]
16215
16216 1999-08-06  Todd C. Miller  <Todd.Miller@courtesan.com>
16217
16218         * logging.c:
16219         add fcntl locking
16220         [c304adeaf515]
16221
16222         * config.h.in, configure, configure.in, logging.c:
16223         Lock the log file.
16224         [d8652704fbdf]
16225
16226         * Makefile.in, TROUBLESHOOTING, parse.c, pathnames.h.in, sudo.c,
16227         visudo.c, visudo.cat, visudo.html, visudo.man, visudo.pod:
16228         o /etc/stmp -> /etc/sudoers.tmp since solaris uses stmp as shadow
16229         temp file o _PATH_SUDO_SUDOERS -> _PATH_SUDOERS and _PATH_SUDO_STMP
16230         -> _PATH_SUDOERS_TMP
16231         [68cad8975807]
16232
16233 1999-08-05  Todd C. Miller  <Todd.Miller@courtesan.com>
16234
16235         * INSTALL, check.c, config.h.in, configure, configure.in, version.c:
16236         o Kill *_MESSAGE and replace with NO_LECTURE o Add more things to
16237         root sudo -V config reporting
16238         [cdd2613a9dcf]
16239
16240         * configure, configure.in:
16241         aix_auth.o not authenticate.o
16242         [d972e35f6730]
16243
16244         * config.h.in:
16245         Add --with-goodpri and --with-badpri configure options to specify
16246         the syslog priority to use.
16247         [2595ae50ab86]
16248
16249         * INSTALL, configure, configure.in, logging.h:
16250         Add --with-goodpri and --with-badpri configure options to specify
16251         the syslog priority to use.
16252         [8276ee9b2b49]
16253
16254         * compat.h:
16255         kill crufty AIX stuff
16256         [a4f35ef9854e]
16257
16258         * Makefile.in:
16259         Sigh, some versions of make (like Solaris's) don't deal with $< like
16260         I would expect. Both GNU and BSD makes get this right but... So, we
16261         just expand $< inline at the cost of some ugliness.
16262         [b1b456f8801f]
16263
16264         * version.c:
16265         If the invoking user is root, sudo will now print configure info in
16266         -V mode. Currently just prints logging info, to be expanded later.
16267         [392f7ed99267]
16268
16269         * logging.c, logging.h, sudo.c, sudo.h:
16270         o new defines for syslog facility and priority o use new
16271         print_version() functino for -V mode
16272         [78abc5142985]
16273
16274         * check.c:
16275         Don't need version.c
16276         [db9a830ad893]
16277
16278         * aclocal.m4, config.h.in, configure, configure.in:
16279         Add check for syslog facilities and priorities tables in syslog.h
16280         [b86213e5fc5c]
16281
16282         * Makefile.in:
16283         o authenticate -> aix_auth o add version.c
16284         [44b6b9a8d0f5]
16285
16286         * auth/sudo_auth.c:
16287         Missed a prompt -> user_prompt conversion
16288         [e4c60b1f210c]
16289
16290 1999-08-04  Todd C. Miller  <Todd.Miller@courtesan.com>
16291
16292         * TODO:
16293         sudo should lock its logfile
16294         [6d2830b28b07]
16295
16296         * parse.yacc, sudo.tab.c:
16297         o Add '!' correctly when expanding Aliases. o Add shortcut macros
16298         for append() to make things more readable. o The separator in
16299         append() is now a string instead of a char. o In append(), only
16300         prepend the separator if the last char is not a '!'. This is a
16301         hack but it greatly simplifies '!' handling. o In -l mode, Runas
16302         lists and NOPASSWD/PASSWD tags are now inherited across entries in
16303         a list (matches current behavior). o Fix formatting in -l mode such
16304         that items in a list are separated by a space. Greatlt improves
16305         readability. o Space for name field in struct aliasinfo is now
16306         allocated dyanically instead of using a (big) buffer. o In
16307         add_alias(), only search the list once (lsearch instead of lfind +
16308         lsearch)
16309         [51f7e07addb9]
16310
16311         * lex.yy.c, sudo.tab.c, sudo.tab.h:
16312         regen
16313         [5c19bb05dc21]
16314
16315         * configure, configure.in:
16316         Solais pam doesn't require anye xtra setup
16317         [a25ba03d91d1]
16318
16319         * parse.yacc:
16320         o Simpler '!' support now that the lexer deals with multiple !'s for
16321         us. o In the case of opFOO, have FOO give a boolean return value and
16322         set foo_matches in opFOO, not FOO. o Treat 'ALL' as a string since
16323         it gets fill()'d in parse.lex--fixes a small memory leak. In the
16324         long run it may be better to just fix parse.lex and make ALL back
16325         into a token. However, having it be a string is useful since it
16326         can be easily passed back to the parent rule if we so desire.
16327         [b3c64b443018]
16328
16329         * parse.lex:
16330         o Remove some unnecessary backslashes o collapse multiple !'s by
16331         using !+ and checking if yyleng is even or odd. this allows us to
16332         simplify ! handling in parse.yacc
16333         [76330e8da8e3]
16334
16335         * sudo.c:
16336         -u flag was being ignored
16337         [e30283207585]
16338
16339 1999-08-01  Todd C. Miller  <Todd.Miller@courtesan.com>
16340
16341         * Makefile.in:
16342         correct fix
16343         [a0e2377dec8f]
16344
16345         * Makefile.in:
16346         work around pod2man stupididy
16347         [7c755640b67f]
16348
16349         * Makefile.in:
16350         correct dependencies for .cat
16351         [5ed7b0653b68]
16352
16353         * sudo.cat, sudo.man, visudo.cat, visudo.man:
16354         regen
16355         [b74510dd6a0a]
16356
16357         * sudo.pod, visudo.pod:
16358         Add copyright Update to reality
16359         [188e9b046c15]
16360
16361         * parse.c, sudo.c, sudo.h:
16362         rename validate() to the more descriptive sudoers_lookup()
16363         [7a1cb652f379]
16364
16365         * auth/aix_auth.c:
16366         use tgetpass
16367         [b8ba5daec40a]
16368
16369 1999-07-31  Todd C. Miller  <Todd.Miller@courtesan.com>
16370
16371         * CHANGES:
16372         updates
16373         [e61460cdf4a0]
16374
16375         * HISTORY, INSTALL, Makefile.in, README, RUNSON, TROUBLESHOOTING,
16376         configure, configure.in, sudo.c:
16377         Sudo, not CU Sudo
16378         [9061b3573c0c]
16379
16380         * LICENSE:
16381         add 4th term to license similar to term 5 in the apache license
16382         [92712e895afb]
16383
16384         * emul/search.h, emul/utime.h:
16385         add 4th term to license similar to term 5 in the apache license
16386         [4f93a8b9396e]
16387
16388         * auth/afs.c, auth/aix_auth.c, auth/dce.c, auth/fwtk.c, auth/kerb4.c,
16389         auth/kerb5.c, auth/pam.c, auth/passwd.c, auth/rfc1938.c,
16390         auth/secureware.c, auth/securid.c, auth/sia.c, auth/sudo_auth.c,
16391         auth/sudo_auth.h, insults.h, interfaces.c, interfaces.h, lex.yy.c,
16392         logging.c, logging.h, parse.c, parse.h, parse.lex, parse.yacc,
16393         pathnames.h.in, putenv.c, strerror.c, sudo.c, sudo.h, sudo.tab.c,
16394         sudo_setenv.c, testsudoers.c, tgetpass.c, utime.c, version.h,
16395         visudo.c:
16396         add 4th term to license similar to term 5 in the apache license
16397         [afae9f2bf9ec]
16398
16399         * ins_2001.h, ins_classic.h, ins_csops.h, ins_goons.h:
16400         add 4th term to license similar to term 5 in the apache license
16401         [c389d3fdafac]
16402
16403         * Makefile.in, alloc.c, check.c, compat.h, config.h.in, find_path.c,
16404         getspwuid.c, goodpath.c:
16405         add 4th term to license similar to term 5 in the apache license
16406         [969e63dbd38e]
16407
16408         * LICENSE, aclocal.m4, auth/rfc1938.c, check.c, configure.in,
16409         insults.h, logging.c, sudo.c, sudo.h:
16410         there was a 1995 release too
16411         [5963fd89457a]
16412
16413 1999-07-28  Todd C. Miller  <Todd.Miller@courtesan.com>
16414
16415         * CHANGES:
16416         updates
16417         [254b794f16ab]
16418
16419         * check.c:
16420         Use dirs instead of files for timestamp. This allows tty and non-
16421         tty schemes to coexist reasonably. Note, however, that when you
16422         update a tty ticket, the mtime on the user dir gets updated as well.
16423         [44bfac32f799]
16424
16425         * configure, configure.in:
16426         Fix getprpwnam() checking on SCO. Need to link with "-lprot -lx"
16427         when linking test program, not just -lprot. Also add check for
16428         getspnam(). The SCO docs indicate that /etc/shadow can be used but
16429         this may be a lie.
16430         [2ba21d36cc1e]
16431
16432 1999-07-24  Todd C. Miller  <Todd.Miller@courtesan.com>
16433
16434         * auth/API:
16435         first cut at auth API description
16436         [3d10df021eb8]
16437
16438 1999-07-22  Todd C. Miller  <Todd.Miller@courtesan.com>
16439
16440         * auth/fwtk.c, auth/kerb4.c, auth/kerb5.c, auth/pam.c, auth/rfc1938.c,
16441         auth/secureware.c, auth/securid.c, auth/sudo_auth.c,
16442         auth/sudo_auth.h:
16443         auth API change. There is now an init method that gets run before
16444         the main loop. This allows auth routines to differentiate between
16445         initialization that happens once vs. setup that needs to run each
16446         time through the loop.
16447         [76df1c0d3478]
16448
16449         * auth/kerb5.c, logging.c:
16450         use easprintf() and evasprintf()
16451         [fd97d96dc12f]
16452
16453         * alloc.c, sudo.h:
16454         add easprintf() and evasprintf(), error checking versions of
16455         asprintf() and vasprintf()
16456         [f54385de20b7]
16457
16458         * TODO:
16459         remove 2 items. One done, one won't do.
16460         [64513b47bc7a]
16461
16462         * lex.yy.c, sudo.tab.c:
16463         regen
16464         [4aa299de2752]
16465
16466         * configure, sudo.cat, sudo.html, sudo.man, sudoers.html, visudo.cat,
16467         visudo.html, visudo.man:
16468         regen
16469         [553c0d1209be]
16470
16471         * CHANGES:
16472         new changes
16473         [d7be00b7e36b]
16474
16475         * sudo.pod:
16476         o Document -K flag and update meaning of -k flag. o BSD-style
16477         copyright o Document clearing of BIND resolver environment variables
16478         o Clarify bit about shared libs o suggest rc files create /tmp/.odus
16479         if your OS gives away files
16480         [4a4092be1455]
16481
16482         * visudo.pod:
16483         BSD license
16484         [ad0bfd0a4630]
16485
16486         * version.h:
16487         BSD-style copyright
16488         [ecc6479325be]
16489
16490         * tgetpass.c:
16491         o BSD copyright o no need to block signals, we now do that in main()
16492         o cosmetic changes
16493         [61958beda7ab]
16494
16495         * testsudoers.c, visudo.c:
16496         o BSD-style copyright o Use "struct sudo_user" instead of old
16497         globals. o some cometic cleanup
16498         [88c0c6924082]
16499
16500         * sudo_setenv.c:
16501         BSD-style copyright
16502         [df20290129a0]
16503
16504         * sudo.h:
16505         o BSD copyright o logging and parser bits moved to their own .h
16506         files o new "struct sudo_user" to encapsulate many of the old
16507         globals.
16508         [50fc86bf25cb]
16509
16510         * sudo.c:
16511         o no longer contains sudo 1.1/1.2 code o BSD copyright o use new
16512         logging routines o simplified flow of control o BIND resolver
16513         additions to badenv_table
16514         [8c53f15bfcb0]
16515
16516         * strerror.c:
16517         BSD-style copyright
16518         [7c906c3a82ac]
16519
16520         * snprintf.c:
16521         Now compiles on more K&R compilers
16522         [07ab1d3231c7]
16523
16524         * putenv.c:
16525         BSD-style copyright, cosmetic changes
16526         [c42371295881]
16527
16528         * pathnames.h.in:
16529         BSD-style copyright
16530         [e5c34ebd4cf1]
16531
16532         * parse.c, parse.h, parse.lex, parse.yacc:
16533         BSD-style copyright. Move parser-specific defines and structs into
16534         parse.h + other cosmetic changes
16535         [d3088efb6228]
16536
16537         * logging.h:
16538         defines for logging routines
16539         [13147941c02d]
16540
16541         * find_path.c, getspwuid.c, goodpath.c, interfaces.c:
16542         BSD-style copyright, cosmetic changes
16543         [e8205e91a4fa]
16544
16545         * ins_2001.h, ins_classic.h, ins_csops.h, ins_goons.h, insults.h,
16546         interfaces.h:
16547         BSD-style copyright
16548         [b9499da7cdce]
16549
16550         * configure.in:
16551         o tgetpass.c is no longer optional o kill DCE_OBJS, add AUTH_OBJS o
16552         kill --disable-tgetpass o add --without-passwd o changes to fill in
16553         AUTH_OBJS for new auth api o check for strerror(), v?snprintf() and
16554         v?asprintf() o replace --with-AuthSRV with --with-fwtk
16555         [9a3f39b9c128]
16556
16557         * config.h.in:
16558         BSD-style copyright. Remove USE_GETPASS and HAVE_UTIME_NULL. Add
16559         HAVE_FWTK, HAVE_STRERROR, HAVE_SNPRINTF, HAVE_VSNPRINTF,
16560         HAVE_ASPRINTF, HAVE_VASPRINTF, WITHOUT_PASSWD and NO_PASSWD
16561         [9a09054db53a]
16562
16563         * compat.h:
16564         BSD-style copyright; Add S_IFLNK and MIN/MAX id they are missing.
16565         [25509c566975]
16566
16567         * alloc.c:
16568         BSD-style copyright
16569         [4967be892363]
16570
16571         * TROUBLESHOOTING:
16572         no more --with-getpass
16573         [afd5b670c196]
16574
16575         * TODO:
16576         Take out things I've done...
16577         [375420c8270e]
16578
16579         * README:
16580         Refer to LICENSE
16581         [c486c8db30f6]
16582
16583         * PORTING:
16584         --with-getpass no longer exists
16585         [db48202df1bb]
16586
16587         * Makefile.in:
16588         BSD-style copyright. Update to reflect reality wrt new files and
16589         new auth modules.
16590         [61a2ca7940fb]
16591
16592         * INSTALL:
16593         Remove --with-AuthSRV and --disable-tgetpass. Add --with-fwtk and
16594         --without-passwd.
16595         [64e8f9e1c05e]
16596
16597         * HISTORY:
16598         Update history a bit
16599         [df60c0a871b8]
16600
16601         * COPYING, LICENSE:
16602         Now distributed under a BSD-style license
16603         [d1a184ccabe1]
16604
16605         * auth/sudo_auth.c:
16606         o BSD-style copyright o Add support for NO_PASSWD/WITHOUT_PASSWD
16607         options. o skey/opie replaced by rfc1938 code o new struct sudo_user
16608         global
16609         [891b57060868]
16610
16611         * auth/pam.c, auth/sia.c:
16612         BSD-style copyright and use new log functions
16613         [65c44445ea84]
16614
16615         * auth/kerb5.c:
16616         o BSD-style copyright o Use new log functiongs o Use asprintf() and
16617         snprintf() where sensible.
16618         [1ff0feaacf95]
16619
16620         * check.c:
16621         Rewrote all the old sudo 1.1/1.2 code. Timestamp handling is now
16622         done more reasonably--better sanity checks and tty-based stamps are
16623         now done as files in a directory with the same name as the invoking
16624         user, eg. /var/run/sudo/millert/ttyp1. It is not currently possible
16625         to mix tty and non-tty based ticket schemes but this may change in
16626         the future (it requires sudo to use a directory instead of a file in
16627         the non-tty case). Also, ``sudo -k'' now sets the ticket back to
16628         the epoch and ``sudo -K'' really deletes the file. That way you
16629         don't get the lecture again just because you killed your ticket in
16630         .logout. BSD-style copyright now.
16631         [ec3460f85be8]
16632
16633         * logging.c:
16634         o rewritten logging routines. log_error() now takes printf-style
16635         varargs and log_auth() for the return value of validate(). o BSD-
16636         style copyright
16637         [438292025c4e]
16638
16639         * auth.c, check_sia.c, dce_pwent.c, secureware.c:
16640         superceded by new auth API
16641         [412060590da7]
16642
16643         * auth/kerb4.c:
16644         BSD-style copyright
16645         [cc4e800833c7]
16646
16647         * auth/fwtk.c:
16648         Use snprintf() where it makes sense and add a BSD-style copyright
16649         [1b7502388a74]
16650
16651         * auth/afs.c, auth/aix_auth.c, auth/dce.c, auth/passwd.c,
16652         auth/rfc1938.c, auth/secureware.c, auth/securid.c, auth/sudo_auth.h:
16653         BSD-style copyright
16654         [42583bedae5c]
16655
16656         * emul/utime.h, utime.c:
16657         BSD-style copyright
16658         [3985c90aba47]
16659
16660         * emul/search.h:
16661         this has been rewritten so use my BSD-style copyright
16662         [176df1b0de6f]
16663
16664 1999-07-15  Todd C. Miller  <Todd.Miller@courtesan.com>
16665
16666         * snprintf.c:
16667         include malloc.h if no stdlib.h
16668         [7b123f1d1d03]
16669
16670         * snprintf.c:
16671         KTH snprintf()/asprintf() for systems w/o them
16672         [3ca9aefb9d01]
16673
16674         * strerror.c:
16675         strerror() for systems w/o it
16676         [7f0bd8a1c1b4]
16677
16678 1999-07-12  Todd C. Miller  <Todd.Miller@courtesan.com>
16679
16680         * visudo.c:
16681         stylistic changes
16682         [6f99aceb7170]
16683
16684         * parse.c, parse.lex, parse.yacc:
16685         Add contribution info in the main comment
16686         [e50cec10acd6]
16687
16688 1999-07-11  Todd C. Miller  <Todd.Miller@courtesan.com>
16689
16690         * auth/pam.c:
16691         remove missed ref to PAM_nullpw
16692         [a43e59692cdb]
16693
16694         * auth/sudo_auth.h:
16695         pasto
16696         [891ff138ab89]
16697
16698         * auth/kerb5.c:
16699         more or less complete now--still untested
16700         [21036732faa0]
16701
16702         * auth/afs.c, auth/pam.c:
16703         don't use user_name macro, it will go away
16704         [def7cf727349]
16705
16706         * auth/opie.c, auth/rfc1938.c, auth/skey.c, auth/sudo_auth.h:
16707         combine skey/opie code into rfc1938.c
16708         [44d88ca93d3e]
16709
16710         * auth/dce.c, auth/sudo_auth.h:
16711         DCE authentication method; basically unchanged from dce_pwent.c
16712         [4d468473dd6f]
16713
16714         * auth/aix_auth.c, auth/sudo_auth.h:
16715         AIX authenticate() support. Could probably be much better
16716         [000013321a33]
16717
16718         * auth/sia.c:
16719         Fix an uninitialized variable and some cleanup. Now works (tested)
16720         [fd6ad88ff055]
16721
16722         * auth/sia.c, auth/sudo_auth.h:
16723         SIA support for digital unix
16724         [5335f3e70eab]
16725
16726         * auth/pam.c:
16727         don't use prompt global, it will go away
16728         [fadd22dd6ce4]
16729
16730         * auth/secureware.c:
16731         correct copyright years
16732         [6aa07c49f51b]
16733
16734         * auth/afs.c, auth/fwtk.c, auth/kerb4.c, auth/kerb5.c, auth/opie.c,
16735         auth/pam.c, auth/passwd.c, auth/secureware.c, auth/securid.c,
16736         auth/skey.c, auth/sudo_auth.c, auth/sudo_auth.h:
16737         New authentication API and methods
16738         [9debe9b59c79]
16739
16740 1999-07-08  Todd C. Miller  <Todd.Miller@courtesan.com>
16741
16742         * sudo.tab.c:
16743         regen
16744         [84578e82c1a6]
16745
16746         * parse.yacc:
16747         only save an entry if user_matches && host_matches, even if the
16748         stack is empty (fix for previous commit)
16749         [00984b078d8a]
16750
16751         * sudo.tab.c:
16752         regen
16753         [66acf160b4b7]
16754
16755         * parse.yacc:
16756         1) Always save an entry on the stack if it is empty. This fixes the
16757         -l and -v flags that were broken by earlier parser changes.
16758
16759         2) In a Runas list, don't negate FALSE -> TRUE since that would make
16760         !foo match any time the user specified a runas user (via -u) other
16761         than foo.
16762         [f322eb54b015]
16763
16764         * testsudoers.c:
16765         interfaces and num_interfaces are now auto, not extern
16766         [113add5c6518]
16767
16768 1999-07-07  Todd C. Miller  <Todd.Miller@courtesan.com>
16769
16770         * auth.c:
16771         use a static global to keep stae about empty passwords
16772         [bc02e30807d8]
16773
16774         * check_sia.c:
16775         make PASSWORD_NOT_CORRECT logging consistent with other modules
16776         [21962549d5fd]
16777
16778 1999-07-05  Todd C. Miller  <Todd.Miller@courtesan.com>
16779
16780         * auth.c:
16781         PAM prompt code was wrong, looks like we have to kludge it after
16782         all.
16783         [91f246155ead]
16784
16785         * auth.c:
16786         In the PAM code, when a user hits return at the first password
16787         prompt, exit without a warning just like the normal auth code
16788         [918f59bacdb7]
16789
16790         * configure, configure.in:
16791         kludge around cross-compiler false positives
16792         [5e5fc8356400]
16793
16794         * auth.c, check.c, check_sia.c, logging.c, sudo.h, tgetpass.c:
16795         New (correct) PAM code Tgetpass now takes an echo flag for use with
16796         PAM_PROMPT_ECHO_ON Block SIGINT and SIGTSTP during auth remove a
16797         useless umask setting Change error from BAD_ALLOCATION ->
16798         BAD_AUTH_INIT (for use with sia/PAM) Some cosmetic changes to auth.c
16799         for consistency
16800         [e71397f09dd8]
16801
16802         * sudo.c:
16803         Some -Wall and kill some trailing spaces
16804         [8229b43d5c4e]
16805
16806         * configure.in:
16807         define -D__EXTENSIONS__ for solaris so we get crypt() proto
16808         [7533e4436cab]
16809
16810 1999-06-22  Todd C. Miller  <Todd.Miller@courtesan.com>
16811
16812         * RUNSON:
16813         add Dynix 4.4.4
16814         [b69f773efbce]
16815
16816         * INSTALL, config.h.in, configure, configure.in:
16817         for kerberos V < version, fall back on old kerb4 auth code
16818         [d685ed3a1d8e]
16819
16820         * INSTALL:
16821         clarify some things
16822         [2f5ba2e8e53a]
16823
16824         * UPGRADE, sudoers.cat, sudoers.man, sudoers.pod:
16825         typos
16826         [8925a109c093]
16827
16828 1999-06-14  Todd C. Miller  <Todd.Miller@courtesan.com>
16829
16830         * sudo.c:
16831         mention why DONT_LEAK_PATH_INFO is not the default
16832         [0346260cb4ec]
16833
16834 1999-06-03  Todd C. Miller  <Todd.Miller@courtesan.com>
16835
16836         * tgetpass.c:
16837         Fix open(2) return value checking, was NULL for fopen, should be -1
16838         for open
16839         [355878bf6d8a]
16840
16841         * configure:
16842         regen
16843         [68bf82871862]
16844
16845         * configure.in:
16846         better wording for solaris pam notice
16847         [04e88c7a6c42]
16848
16849         * CHANGES:
16850         document recent changes
16851         [7c922c5622ef]
16852
16853         * TROUBLESHOOTING:
16854         Update shadow password section
16855         [e8448bae7d66]
16856
16857         * auth.c:
16858         move authentication code from check.c to auth.c
16859         [e9f6ecae2399]
16860
16861         * Makefile.in, check.c, sudo.h:
16862         move authentication code to auth.c
16863         [124cded85f46]
16864
16865 1999-05-17  Todd C. Miller  <Todd.Miller@courtesan.com>
16866
16867         * Makefile.in, check.c, check_sia.c, compat.h, find_path.c,
16868         getspwuid.c, goodpath.c, interfaces.c, interfaces.h, lex.yy.c,
16869         logging.c, parse.c, parse.lex, parse.yacc, secureware.c, sudo.c,
16870         sudo.h, sudo.tab.c, sudo_setenv.c, testsudoers.c, tgetpass.c,
16871         visudo.c:
16872         Move interface-related defines to interfaces.h so we don't have to
16873         include <netinet/in.h> everywhere.
16874         [e7599d8ea0bf]
16875
16876 1999-05-14  Todd C. Miller  <Todd.Miller@courtesan.com>
16877
16878         * CHANGES, INSTALL, TODO, check.c, compat.h, getspwuid.c, logging.c,
16879         parse.yacc, sudo.c, sudo.tab.c, tgetpass.c:
16880         o Replace _PASSWD_LEN braindeath with our own SUDO_MAX_PASS. It
16881         turns out the old DES crypt does the right thing with passwords
16882         longert than 8 characters. o Fix common typo (necesary ->
16883         necessary) o Update TODO list
16884         [ad75007a6f13]
16885
16886 1999-05-03  Todd C. Miller  <Todd.Miller@courtesan.com>
16887
16888         * sudo.c:
16889         set $LOGNAME when we set $USER
16890         [391596210fd7]
16891
16892 1999-04-27  Todd C. Miller  <Todd.Miller@courtesan.com>
16893
16894         * INSTALL:
16895         add comment about digital unix and interfaces.c warning with gcc
16896         [e20f815901cc]
16897
16898 1999-04-15  Todd C. Miller  <Todd.Miller@courtesan.com>
16899
16900         * sample.sudoers:
16901         use modern paths and give examples for some of the new parser
16902         features
16903         [e7b2e507c695]
16904
16905 1999-04-10  Todd C. Miller  <Todd.Miller@courtesan.com>
16906
16907         * parse.c:
16908         fix comment
16909         [5eb0d005a65f]
16910
16911         * alloc.c, check.c, check_sia.c, dce_pwent.c, find_path.c,
16912         getspwuid.c, goodpath.c, interfaces.c, lex.yy.c, logging.c, parse.c,
16913         parse.lex, parse.yacc, putenv.c, secureware.c, sudo.c, sudo.tab.c,
16914         sudo_setenv.c, testsudoers.c, tgetpass.c, utime.c, visudo.c:
16915         Function names should be flush with the start of the line so they
16916         can be found trivially in an editor and with grep
16917         [3c400abde574]
16918
16919         * find_path.c, interfaces.c, lex.yy.c, parse.c, parse.lex, parse.yacc,
16920         sudo.c, sudo.tab.c, testsudoers.c, tgetpass.c, visudo.c:
16921         free(3) is already void, no need to cast it
16922         [6981e1ebda0f]
16923
16924         * logging.c, sudo.c, sudo.h:
16925         catch case where cmnd_safe is not set (this should not be possible)
16926         [3e1e3038546c]
16927
16928         * CHANGES, logging.c, parse.c, parse.yacc, sudo.c, sudo.h, sudo.tab.c,
16929         testsudoers.c, visudo.c:
16930         Stash the "safe" path (ie: the one listed in sudoers) to the command
16931         instead of stashing the struct stat. Should be safer.
16932         [aa2883fcf57e]
16933
16934 1999-04-08  Todd C. Miller  <Todd.Miller@courtesan.com>
16935
16936         * INSTALL, Makefile.in, UPGRADE:
16937         notes on updating from an earlier release
16938         [df9fffa4ab2c]
16939
16940         * CHANGES:
16941         updated
16942         [574f5065d15a]
16943
16944 1999-04-07  Todd C. Miller  <Todd.Miller@courtesan.com>
16945
16946         * parse.yacc, sudo.tab.c, sudo.tab.h, sudoers.cat, sudoers.html,
16947         sudoers.man, sudoers.pod:
16948         You can now specifiy a host list instead of just a host or alias.
16949         Ie: user = host1,host2,ALIAS,!host3 my_command now works.
16950         [e3942bb78021]
16951
16952         * testsudoers.c:
16953         Quiet -Wall
16954         [a3edc8b08c3a]
16955
16956         * parse.yacc, sudo.tab.c:
16957         Move the push from the beginning of cmndspec to the end. This means
16958         we no longer have to do a push at the end of privilege, just reset
16959         some values.
16960         [8ea66e5860c6]
16961
16962         * sudoers.cat, sudoers.html, sudoers.man, sudoers.pod:
16963         runas-lists and NOPASSWD/PASSWD modifiers are now sticky and you can
16964         use "!" most everywhere
16965         [aadae4d1c9d5]
16966
16967 1999-04-06  Todd C. Miller  <Todd.Miller@courtesan.com>
16968
16969         * sudoers.pod:
16970         modernize paths and update su example based on sample.sudoers one
16971         [3f6a37e16c83]
16972
16973         * sample.sudoers:
16974         New runas semantics
16975         [756ee92865b7]
16976
16977         * CHANGES, Makefile.in, alloc.c, config.h.in, configure, configure.in,
16978         strdup.c, sudo.h:
16979         In estrdup(), do the malloc ourselves so we don't need to rely on
16980         the system strdup(3) which may or may not exist. There is now no
16981         need to provide strdup() for those w/o it. Also, the prototype for
16982         estrdup() was wrong, it returns char * and its param is const.
16983         [5f1f984da8e3]
16984
16985         * getcwd.c:
16986         $Sudo tag
16987         [e4188a35e68c]
16988
16989         * check.c:
16990         buf should be prompt; Michael Robokoff <mrobo@networkcs.com>
16991         [2aec87c86cde]
16992
16993         * CHANGES, TODO, parse.yacc, sudo.tab.c:
16994         It is now possible to use the '!' operator in a runas list as well
16995         as in a Cmnd_Alias, Host_Alias and User_Alias.
16996         [a4fdaabda990]
16997
16998         * logging.c, sudo.h:
16999         Kill GLOBAL_NO_SPW_ENT (not used) and crank GLOBAL_PROBLEM
17000         [73d0376785ae]
17001
17002         * sudo.h:
17003         Definitions of *_matched were wrong--user top, not top-2 as
17004         subscript.
17005         [5f8350a57362]
17006
17007         * logging.c, parse.c, parse.yacc, sudo.c, sudo.h, sudo.tab.c:
17008         Add VALIDATE_NOT_OK_NOPASS for when user is not allowed to run a
17009         command but the NOPASSWD flag was set. Make runasspec, runaslist,
17010         runasuser, and nopasswd typeless in parse.yacc Add support for '!'
17011         in the runas list Fix double printing of '%' and '+' for groups and
17012         netgroups respectively Add *_matched macros (no need for local stack
17013         variable). Should only be used directly after a pop (since top must
17014         be >= 2).
17015         [392b1400c4e6]
17016
17017         * aclocal.m4, configure.in:
17018         Add copyright, somewhat silly
17019         [55c2cdd82dca]
17020
17021 1999-04-05  Todd C. Miller  <Todd.Miller@courtesan.com>
17022
17023         * BUGS, INSTALL, Makefile.in, README, alloc.c, check.c, check_sia.c,
17024         compat.h, config.h.in, configure, configure.in, dce_pwent.c,
17025         emul/utime.h, find_path.c, getspwuid.c, goodpath.c, ins_2001.h,
17026         ins_classic.h, ins_csops.h, ins_goons.h, insults.h, interfaces.c,
17027         lex.yy.c, logging.c, parse.c, parse.lex, parse.yacc, pathnames.h.in,
17028         putenv.c, secureware.c, strdup.c, sudo.c, sudo.cat, sudo.h,
17029         sudo.man, sudo.tab.c, sudo_setenv.c, sudoers.cat, sudoers.man,
17030         testsudoers.c, tgetpass.c, utime.c, version.h, visudo.c, visudo.cat,
17031         visudo.man:
17032         Crank version to 1.6 and combine copyright statements
17033         [0e1c791658ae]
17034
17035         * sample.sudoers:
17036         Use ! not ^ to do negation
17037         [1480a0761730]
17038
17039         * lex.yy.c, sudo.tab.c:
17040         regen
17041         [89ca5a46684b]
17042
17043         * parse.lex, parse.yacc:
17044         Make runas and NOPASSWD tags persistent across entris in a command
17045         list. Add a PASSWD tag to reverse NOPASSWD. When you override a
17046         runas or *PASSWD tag the value given becomes the new default for the
17047         rest of the command list.
17048         [f1bbb4066542]
17049
17050 1999-04-02  Todd C. Miller  <Todd.Miller@courtesan.com>
17051
17052         * CHANGES, RUNSON:
17053         update for 1.5.9
17054         [a1ae9d4a7d54] [SUDO_1_5_9]
17055
17056         * visudo.c:
17057         Shift return value of system(3) by 8 to get real exit value and if
17058         it is not 1 or 0 print the retval along with the error message.
17059         [c1ff50d743fb]
17060
17061 1999-03-30  Todd C. Miller  <Todd.Miller@courtesan.com>
17062
17063         * Makefile.in:
17064         testsudoers needs LIBOBJS too
17065         [972571b4e4bf]
17066
17067         * parse.c, parse.yacc, sudo.tab.c:
17068         Fix another parser bug. For a sudoers entry like this: millert
17069         ALL=/bin/ls,(daemon) !/bin/ls sudo would not allow millert to run ls
17070         as root.
17071         [51968e1eb33d]
17072
17073         * CHANGES:
17074         new change
17075         [271c6110bb62]
17076
17077         * parse.yacc, sudo.tab.c:
17078         Save entries that match a ! command on the matching stack too
17079         [5afb5107116c]
17080
17081         * sudo.c:
17082         Make sudo's usage info better when mutually exclusive args are given
17083         and don't rely on argument order to detect this; nick@zeta.org.au
17084         [2422753c88fd]
17085
17086 1999-03-29  Todd C. Miller  <Todd.Miller@courtesan.com>
17087
17088         * CHANGES, Makefile.in, RUNSON:
17089         updates from CU
17090         [b37381e3dafb]
17091
17092         * Makefile.in:
17093         use gzip
17094         [94a64e52a166]
17095
17096         * parse.yacc, sudo.tab.c:
17097         Fix off by one error introduced in *alloc changes
17098         [95ede581153a]
17099
17100         * BUGS, CHANGES, INSTALL, Makefile.in, README, alloc.c, check.c,
17101         check_sia.c, compat.h, config.h.in, configure, configure.in,
17102         dce_pwent.c, emul/utime.h, find_path.c, getspwuid.c, goodpath.c,
17103         ins_2001.h, ins_classic.h, ins_csops.h, ins_goons.h, insults.h,
17104         interfaces.c, lex.yy.c, logging.c, parse.c, parse.lex, parse.yacc,
17105         pathnames.h.in, putenv.c, secureware.c, strdup.c, sudo.c, sudo.cat,
17106         sudo.h, sudo.man, sudo.tab.c, sudo_setenv.c, sudoers.cat,
17107         sudoers.man, testsudoers.c, tgetpass.c, utime.c, version.h,
17108         visudo.c, visudo.cat, visudo.html, visudo.man, visudo.pod:
17109         ++version
17110         [c6d88f024e37]
17111
17112         * Makefile.in, check.c, find_path.c, getspwuid.c, goodpath.c,
17113         interfaces.c, lex.yy.c, logging.c, parse.c, parse.lex, parse.yacc,
17114         putenv.c, secureware.c, strdup.c, sudo.c, sudo.h, sudo.tab.c,
17115         sudo_setenv.c, testsudoers.c, utime.c, visudo.c:
17116         Use emalloc/erealloc/estrdup
17117         [44221d97361a]
17118
17119         * alloc.c:
17120         error checking memory allocation routines
17121         [5f8c1e7bbc71]
17122
17123         * parse.yacc, sudo.tab.c:
17124         Still not right, this fixes it for real
17125         [ad553b6f5339]
17126
17127         * parse.yacc, sudo.tab.c:
17128         Fix for previous commit
17129         [4d6f989f9bf2]
17130
17131         * CHANGES, INSTALL, parse.yacc:
17132         Fix a parser bug that was exposed when mixing different runas specs
17133         and ! commands. For example: millert ALL=(daemon)
17134         /usr/bin/whoami,!/bin/ls would allow millert to run whoami as root
17135         as well as daemon when it should just allow daemon. The problem was
17136         that comma-separated commands in a list shared the same entry on the
17137         matching stack. Now they get their own entry iff there is a full
17138         match. It may be better to just make the runas spec persistent
17139         across all commands in a list like the user and host entries of the
17140         matching stack. However, since that is a fairly major change it
17141         should gets its own minor rev increase.
17142         [c4b939cdcc8e]
17143
17144 1999-03-28  Todd C. Miller  <Todd.Miller@courtesan.com>
17145
17146         * check.c, config.h.in:
17147         Simplify PAM code and fix a PAM-related warning on Linux
17148         [2468399523b6]
17149
17150 1999-03-26  Todd C. Miller  <Todd.Miller@courtesan.com>
17151
17152         * CHANGES:
17153         updates
17154         [29d4a997769c]
17155
17156         * sample.sudoers:
17157         better su entry
17158         [76d8285a72ba]
17159
17160         * configure:
17161         regen
17162         [b7450cc6975d]
17163
17164         * check.c, configure.in:
17165         new pam code that works on solaris, should work on linux too;
17166         aelberg@home.com
17167         [84c16c0ff259]
17168
17169 1999-03-19  Todd C. Miller  <Todd.Miller@courtesan.com>
17170
17171         * RUNSON:
17172         more entries
17173         [b6bef8660759]
17174
17175         * config.h.in:
17176         only include strings.h if there is no string.h
17177         [b66054a32b00]
17178
17179 1999-03-17  Todd C. Miller  <Todd.Miller@courtesan.com>
17180
17181         * config.guess:
17182         Sinix is now being called ReliantUNIX; bjjackso@us.oracle.com
17183         [c086d2fe63af]
17184
17185 1999-03-13  Todd C. Miller  <Todd.Miller@courtesan.com>
17186
17187         * sudo.c:
17188         shost must be set before log functions are called #ifdef HOST_IN_LOG
17189         [d49a7944358f]
17190
17191 1999-03-07  Todd C. Miller  <Todd.Miller@courtesan.com>
17192
17193         * CHANGES, lex.yy.c, parse.lex:
17194         Fix a bug wrt quoting characters in command args. Stop processing
17195         an arg when you hit a backslash so the quoted-character detection
17196         can catch it.
17197         [2281438d7f41]
17198
17199 1999-02-26  Todd C. Miller  <Todd.Miller@courtesan.com>
17200
17201         * interfaces.c:
17202         include sys/time.h; aparently AIX needs it. ppz@cdu.elektra.ru
17203         [31118a9e9916]
17204
17205 1999-02-24  Todd C. Miller  <Todd.Miller@courtesan.com>
17206
17207         * configure, configure.in:
17208         add missing case statement so --without-sendmail works
17209         [ca25614f7dd9]
17210
17211 1999-02-23  Todd C. Miller  <Todd.Miller@courtesan.com>
17212
17213         * CHANGES:
17214         more
17215         [4d70e44f7f93]
17216
17217 1999-02-22  Todd C. Miller  <Todd.Miller@courtesan.com>
17218
17219         * configure, configure.in:
17220         only search for -lsun in irix <= 4.x
17221         [e604238317b1]
17222
17223         * configure, configure.in:
17224         back out last configure.in change now that I've hacked autoconf to
17225         fix the real problem and add a missing newline
17226         [2dabf59a79b5]
17227
17228         * CHANGES:
17229         updated
17230         [bb35d526552f]
17231
17232         * getcwd.c:
17233         add def of dirfd() for those without it
17234         [95f0173d8441]
17235
17236         * configure, configure.in:
17237         When falling back to checking for socket() when linking with
17238         "-lsocket -lnsl" check for main() instead since autoconf has already
17239         cached the results of checking for socket() in -lsocket. This is
17240         really an autoconf bug as it should use the extra libs as part of
17241         the cache variable name.
17242         [a845f8b710ad]
17243
17244         * configure.in:
17245         typo
17246         [a7d62f62a478]
17247
17248 1999-02-21  Todd C. Miller  <Todd.Miller@courtesan.com>
17249
17250         * configure.in:
17251         fix occurrence of $with_timeout that should be
17252         $with_password_timeout; Michael.Neef@neuroinformatik.ruhr-uni-
17253         bochum.de
17254         [8c4da2cf73d1]
17255
17256 1999-02-17  Todd C. Miller  <Todd.Miller@courtesan.com>
17257
17258         * sudo.cat, sudo.html, sudo.man, sudo.pod:
17259         fix grammar; espie@openbsd.org
17260         [7031d9dfbc3e] [SUDO_1_5_8]
17261
17262 1999-02-11  Todd C. Miller  <Todd.Miller@courtesan.com>
17263
17264         * parse.yacc, sudo.c, testsudoers.c:
17265         add cast for strdup in places it does not have it
17266         [7ce4478d3b0f]
17267
17268 1999-02-09  Todd C. Miller  <Todd.Miller@courtesan.com>
17269
17270         * configure, configure.in:
17271         define for_BSD_TYPES irix
17272         [858337ff4af8]
17273
17274 1999-02-07  Todd C. Miller  <Todd.Miller@courtesan.com>
17275
17276         * Makefile.in, sudo.cat, sudo.html, sudo.man, sudo.pod:
17277         Make it clear that it is the user's password, not root's, that we
17278         want.
17279         [ae0f51b35ee4]
17280
17281         * check.c, sudo.h:
17282         If the user enters an empty password and really has no password,
17283         accept the empty password they entered. Perviously, they could
17284         enter anything
17285         *but* an empty password. Also, add GETPASS macro that calls either
17286         tgetpass() or getpass() depending on how sudo was configured.
17287         Problem noted by jdg@maths.qmw.ac.uk
17288         [2fde21ce94c1]
17289
17290 1999-02-03  Todd C. Miller  <Todd.Miller@courtesan.com>
17291
17292         * Makefile.in, check.c, check_sia.c, compat.h, config.h.in,
17293         dce_pwent.c, emul/utime.h, find_path.c, getspwuid.c, goodpath.c,
17294         ins_2001.h, ins_classic.h, ins_csops.h, ins_goons.h, insults.h,
17295         interfaces.c, logging.c, parse.c, parse.lex, parse.yacc,
17296         pathnames.h.in, putenv.c, secureware.c, strdup.c, sudo.c, sudo.h,
17297         sudo_setenv.c, testsudoers.c, tgetpass.c, utime.c, version.h,
17298         visudo.c:
17299         add explicate copyright
17300         [d3b4449834a5]
17301
17302         * CHANGES:
17303         mention -lsocket, -lnsl configure changes
17304         [9140af4ad8ae]
17305
17306 1999-02-02  Todd C. Miller  <Todd.Miller@courtesan.com>
17307
17308         * sudo.c:
17309         Don't clobber errno after calling check_sudoers().
17310         [59bd581b2654]
17311
17312 1999-02-01  Todd C. Miller  <Todd.Miller@courtesan.com>
17313
17314         * configure, configure.in:
17315         When linking with both -lsocket and -lnsl be sure to do so in that
17316         order. Also, when we can't find socket() or inet_addr() and have to
17317         try linking with both libs, issue a warning.
17318         [0ee547163067]
17319
17320         * sudo.cat, sudo.man, sudo.pod:
17321         clarify bad timestamp and fmt
17322         [70e42cf56c75]
17323
17324 1999-01-23  Todd C. Miller  <Todd.Miller@courtesan.com>
17325
17326         * INSTALL, RUNSON:
17327         be clear that pam is linux-only and add a RUNSON entry
17328         [7fdeab875e0d]
17329
17330 1999-01-22  Todd C. Miller  <Todd.Miller@courtesan.com>
17331
17332         * CHANGES, INSTALL, configure, configure.in:
17333         fix and correctly document --with-umask; problem noted by
17334         adap@adap.org
17335         [11cd0481d63a]
17336
17337 1999-01-20  Todd C. Miller  <Todd.Miller@courtesan.com>
17338
17339         * configure, configure.in:
17340         only use /usr/{man,catman}/local to store man pages if suer didn't
17341         override prefix or mandir
17342         [781ad2cbe9be]
17343
17344         * INSTALL, configure, configure.in:
17345         fix typo, make --with-SecurID take an arg
17346         [026a9b4014fc]
17347
17348 1999-01-19  Todd C. Miller  <Todd.Miller@courtesan.com>
17349
17350         * RUNSON:
17351         updates from users
17352         [2286982b31e6]
17353
17354         * CHANGES, INSTALL, check.c, configure, configure.in:
17355         FWTK 'authsrv' support from Kevin Kadow <kadow@MSG.NET>
17356         [23aa4e5c6b02]
17357
17358         * configure, configure.in:
17359         better fix for the problem of unresolved symbols in -lnsl or
17360         -lsocket
17361         [82fe70fc287f]
17362
17363         * configure, configure.in:
17364         when checking for functions in -lnsl and -lsocket link with both of
17365         them to avoid unresolved symbols on some weirdo systems
17366         [1734a591808e]
17367
17368 1999-01-18  Todd C. Miller  <Todd.Miller@courtesan.com>
17369
17370         * BUGS, CHANGES, RUNSON, TODO:
17371         old changes that didn't make it into RCS before the RCS->CVS switch
17372         [846eb2b8f9aa]
17373
17374 1999-01-17  Todd C. Miller  <Todd.Miller@courtesan.com>
17375
17376         * Makefile.in, check.c, check_sia.c, compat.h, config.h.in,
17377         configure.in, dce_pwent.c, emul/search.h, emul/utime.h, find_path.c,
17378         getspwuid.c, goodpath.c, ins_2001.h, ins_classic.h, ins_csops.h,
17379         ins_goons.h, insults.h, interfaces.c, lex.yy.c, logging.c,
17380         lsearch.c, parse.c, parse.lex, parse.yacc, pathnames.h.in, putenv.c,
17381         secureware.c, strdup.c, sudo.c, sudo.pod, sudo_setenv.c,
17382         sudoers.pod, testsudoers.c, tgetpass.c, utime.c, visudo.c,
17383         visudo.pod:
17384         add sudo tags
17385         [962f81eaa5ab]
17386
17387         * sudo.h:
17388         testing Sudo tag
17389         [e84cbc521129]
17390
17391         * version.h:
17392         testing Sudo tag
17393         [a8c3a3998b88]
17394
17395         * BUGS, INSTALL, Makefile.in, README, check.c, check_sia.c, compat.h,
17396         config.h.in, configure, configure.in, dce_pwent.c, emul/utime.h,
17397         find_path.c, getspwuid.c, goodpath.c, ins_2001.h, ins_classic.h,
17398         ins_csops.h, ins_goons.h, insults.h, interfaces.c, lex.yy.c,
17399         logging.c, parse.c, parse.lex, parse.yacc, pathnames.h.in, putenv.c,
17400         secureware.c, strdup.c, sudo.c, sudo.cat, sudo.h, sudo.man,
17401         sudo_setenv.c, sudoers.cat, sudoers.man, testsudoers.c, tgetpass.c,
17402         utime.c, version.h, visudo.c, visudo.cat, visudo.man:
17403         crank version and regen files
17404         [23eacf00a1a4]
17405
17406         * Makefile.in:
17407         kill rcs goop in update_version and fix now that version is a const
17408         [e6e50bd8d1e1]
17409
17410         * INSTALL, check.c, config.h.in, configure, configure.in, logging.c,
17411         sudo.c, sudo.h, sudo.pod:
17412         kerb5 support from fcusack@iconnet.net
17413         [8134027986e2]
17414
17415         * realpath.c, sudo_realpath.c:
17416         we no longer use realpath
17417         [0f5f64abc646]
17418
17419         * qualify.c:
17420         replaced by find_path.c
17421         [9e32a87e09c4]
17422
17423         * options.h:
17424         all options are now configure flags
17425         [ee6bd9610102]
17426
17427         * lex.yy.c:
17428         regen
17429         [bdbf8a18161f]
17430
17431         * getwd.c:
17432         superceded by getcwd.c
17433         [1e54ee0990b4]
17434
17435         * getpass.c:
17436         superceded by tgetpass.c
17437         [4e0d1edc30e3]
17438
17439         * SUPPORTED:
17440         superceded by RUNSON
17441         [854c5a21cb53]
17442
17443         * OPTIONS:
17444         No longer used now that we have configure options for everything.
17445         [9b1ae1c89259]
17446
17447         * configure:
17448         regen based on configure.in
17449         [3a4d73936973]
17450
17451         * sudo.cat, sudo.html, sudo.man, sudoers.cat, sudoers.html,
17452         sudoers.man, visudo.cat, visudo.html, visudo.man:
17453         regen based on sudo.pod, sudoers.pod, and visudo.pod
17454         [c267beb90778]
17455
17456 1998-12-11  Todd C. Miller  <Todd.Miller@courtesan.com>
17457
17458         * check.c:
17459         fix tty tickets in remove_timestamp (didn't use ':')
17460         [fd964a74a32b]
17461
17462 1998-12-07  Todd C. Miller  <Todd.Miller@courtesan.com>
17463
17464         * interfaces.c:
17465         close sock when we are done with it
17466         [95de0380f8a4]
17467
17468 1998-11-28  Todd C. Miller  <Todd.Miller@courtesan.com>
17469
17470         * parse.yacc:
17471         never say "error on line -1"
17472         [361db1491121]
17473
17474 1998-11-24  Todd C. Miller  <Todd.Miller@courtesan.com>
17475
17476         * configure.in:
17477         check for -lnsl before -lsocket
17478         [8e966d6bbcb5]
17479
17480         * configure.in:
17481         quote '[', ']' used in ranges correctly
17482         [fa4f9c6ff651]
17483
17484 1998-11-21  Todd C. Miller  <Todd.Miller@courtesan.com>
17485
17486         * config.h.in:
17487         add missing NO_ROOT_SUDO noted by drno@tsd.edu
17488         [c969f25d1667]
17489
17490 1998-11-20  Todd C. Miller  <Todd.Miller@courtesan.com>
17491
17492         * version.h:
17493         1.5.7
17494         [7a22de0bc148]
17495
17496         * INSTALL:
17497         more info for 1.5.7
17498         [30ad9e784799]
17499
17500         * README:
17501         update for 1.5.7
17502         [cd03a0a27cd2]
17503
17504         * parse.yacc:
17505         make increases of cm_list_size and ga_list_size be similar to
17506         increases of stacksize (ie: >= not > in initial compare).
17507         [6bd450a896c7]
17508
17509         * parse.yacc:
17510         when we get a syntax error, report it for the previous line since
17511         that's generally where the error occurred.
17512         [c4ac84058f0b]
17513
17514 1998-11-18  Todd C. Miller  <Todd.Miller@courtesan.com>
17515
17516         * config.h.in, configure.in, interfaces.c:
17517         add back check for sys/sockio.h but only use it if SIOCGIFCONF is
17518         not defined
17519         [d197f31fd1e4] [SUDO_1_5_7]
17520
17521         * config.h.in:
17522         define BSD_COMP for svr4
17523         [87ac1147ff79]
17524
17525         * check.c, check_sia.c, find_path.c, getcwd.c, getspwuid.c,
17526         goodpath.c, interfaces.c, logging.c, lsearch.c, parse.c, parse.lex,
17527         parse.yacc, putenv.c, secureware.c, strdup.c, sudo.c, sudo_setenv.c,
17528         testsudoers.c, tgetpass.c, utime.c, visudo.c:
17529         more -Wall
17530         [d98e2d32db2a]
17531
17532         * configure.in:
17533         kill check for sockio,h
17534         [4399779014c1]
17535
17536         * config.h.in:
17537         no more HAVE_SYS_SOCKIO_H
17538         [67484528e347]
17539
17540         * check.c, check_sia.c, find_path.c, getcwd.c, getspwuid.c,
17541         goodpath.c, interfaces.c, logging.c, lsearch.c, parse.c, parse.lex,
17542         parse.yacc, putenv.c, secureware.c, strdup.c, sudo.c, sudo_setenv.c,
17543         testsudoers.c, tgetpass.c, utime.c, visudo.c:
17544         -Wall
17545         [2b7e83976788]
17546
17547 1998-11-16  Todd C. Miller  <Todd.Miller@courtesan.com>
17548
17549         * sudo.c:
17550         add missing inform_user()
17551         [8689528c6d55]
17552
17553 1998-11-14  Todd C. Miller  <Todd.Miller@courtesan.com>
17554
17555         * find_path.c:
17556         return NOT_FOUND if given fully qualified path and it does not exist
17557         previously it would perror(ENOENT) which bypasses the option to not
17558         leak path info
17559         [ccbc3d0130ae]
17560
17561         * configure.in:
17562         for kerb5, check for -lkerb4, fall back on -lkrb for kerb, check for
17563         -ldes
17564         [c77d3b484ece]
17565
17566 1998-11-13  Todd C. Miller  <Todd.Miller@courtesan.com>
17567
17568         * INSTALL:
17569         tty tickets are user:tty now
17570         [a53a303a614d]
17571
17572         * check.c:
17573         when using tty tickets make it user:tty not user.tty as a username
17574         could have a '.' in it
17575         [3160b3f5c890]
17576
17577 1998-11-10  Todd C. Miller  <Todd.Miller@courtesan.com>
17578
17579         * sudo.c:
17580         add "ignoring foo found in ." for auth successful case
17581         [24257169e0bd]
17582
17583 1998-11-09  Todd C. Miller  <Todd.Miller@courtesan.com>
17584
17585         * sudo.c:
17586         add missing printf param
17587         [8c905124f777]
17588
17589 1998-11-08  Todd C. Miller  <Todd.Miller@courtesan.com>
17590
17591         * INSTALL, config.h.in, configure.in, find_path.c, sudo.c, sudo.h:
17592         go back to printing "command not found" unless --disable-path-info
17593         specified. Also, tell user when we ignore '.' in their path and it
17594         would have been used but for --with-ignore-dot.
17595         [066e118c11e4]
17596
17597         * check.c, sudo.c:
17598         Only one space after a colon, not two, in printf's
17599         [38452f4c8007]
17600
17601 1998-11-05  Todd C. Miller  <Todd.Miller@courtesan.com>
17602
17603         * sudo.pod:
17604         document setting $USER
17605         [80557fe6aede]
17606
17607         * check.c:
17608         fix bugs with prompt expansion
17609         [44c4fca5f009]
17610
17611         * sudo.c:
17612         set $USER for root too
17613         [4b525e1c6269]
17614
17615 1998-11-04  Todd C. Miller  <Todd.Miller@courtesan.com>
17616
17617         * getspwuid.c:
17618         typo
17619         [5107446f43e0]
17620
17621         * configure.in:
17622         HP-UX's iscomsec is in -lsec, not libc
17623         [03c9f700b795]
17624
17625         * configure.in:
17626         remove some entries in the OS case statement that did nothing
17627         [ea96e7e0f624]
17628
17629         * TROUBLESHOOTING:
17630         add "cd" section and flush out syslog section
17631         [5107f7363b78]
17632
17633         * Makefile.in:
17634         no more sudo-lex.yy.c
17635         [ed50826efbbc]
17636
17637         * check_sia.c:
17638         add custom prompt support
17639         [6a285cea10b7]
17640
17641         * testsudoers.c:
17642         kill perror("malloc") since we already have a good error messages
17643         pw_ent -> pw for brevity
17644         [eee31052921e]
17645
17646         * sudo.c:
17647         kill perror("malloc") since we already have a good error messages
17648         pw_ent -> pw for brevity set $USER if -u specified
17649         [9f3753461f8a]
17650
17651         * parse.yacc:
17652         kill perror("malloc") since we already have a good error messages
17653         [849459088ac3]
17654
17655         * parse.c:
17656         kill perror("malloc") since we already have a good error messages
17657         pw_ent -> pw for brevity when checking if %group matches, look up
17658         user in password file so that %groups works in a RunAs spec.
17659         [0489b4ecc59a]
17660
17661         * logging.c:
17662         kill perror("malloc") since we already have a good error messages
17663         [3191a18b3526]
17664
17665         * check.c, getspwuid.c, interfaces.c:
17666         kill perror("malloc") since we already have a good error messages
17667         pw_ent -> pw for brevity
17668         [7193fdb38cf9]
17669
17670 1998-11-03  Todd C. Miller  <Todd.Miller@courtesan.com>
17671
17672         * tgetpass.c:
17673         the prompt is expanded before tgetpass is called
17674         [0f408f508041]
17675
17676         * sudo.h:
17677         tgetpass now has the same args as getpass again
17678         [b6778cd9d79f]
17679
17680         * getspwuid.c:
17681         add iscomsec, issecure support
17682         [007be7ec7ae7]
17683
17684         * check.c:
17685         we now expand any %h or %u in the prompt before passing to tgetpass
17686         [f3db8c9ee387]
17687
17688         * configure.in:
17689         add check for syslog(3) in -lsocket, -lnsl, -linet
17690         [5a96f902ce00]
17691
17692         * config.h.in:
17693         add HAVE_ISCOMSEC and HAVE_ISSECURE
17694         [f640b0d4cf05]
17695
17696         * configure.in:
17697         add check for iscomsec in HP-UX
17698         [b28b249040f0]
17699
17700         * configure.in:
17701         check for issecure if we have getpwanam on SunOS some options are
17702         incompatible with DUNIX SIA check for dispcrypt on DUNIX
17703         [a49d05d9c913]
17704
17705 1998-10-25  Todd C. Miller  <Todd.Miller@courtesan.com>
17706
17707         * config.h.in:
17708         add HAVE_DISPCRYPT
17709         [7376d543d8d6]
17710
17711         * secureware.c:
17712         add back support for non-dispcrypt based checking for older DUNIX
17713         [977b98e936be]
17714
17715         * INSTALL:
17716         sia changes
17717         [c5387c06e30f]
17718
17719         * configure.in:
17720         SIA becomes the default on Digital UNIX now havbe --disable-sia to
17721         turn it off...
17722         [3b647558ea13]
17723
17724         * check.c:
17725         move local includes after system ones
17726         [b2abad4c4aef]
17727
17728 1998-10-24  Todd C. Miller  <Todd.Miller@courtesan.com>
17729
17730         * check.c, check_sia.c, sudo.h:
17731         add pass_warn() which prints out INCORRECT_PASSWORD or an insult to
17732         stderr
17733         [547cbf299661]
17734
17735         * check_sia.c:
17736         fix while loop in sia_attempt_auth() that checks the password. Only
17737         the first iteration was working.
17738         [1886fd1ac831]
17739
17740 1998-10-22  Todd C. Miller  <Todd.Miller@courtesan.com>
17741
17742         * aclocal.m4:
17743         don't trust UID_MAX or MAXUID
17744         [2aeddb1654d8]
17745
17746         * configure.in:
17747         fix two pastos
17748         [c18f0a10b75d]
17749
17750         * configure.in:
17751         fix typo
17752         [1eb3190ef12d]
17753
17754         * getspwuid.c, secureware.c:
17755         init crypt_type to INT_MAX since it is legal to be negative in DUNX
17756         5.0
17757         [cefbde04822d]
17758
17759         * configure.in:
17760         for secureware on dunix, use -lsecurity -ldb -laud -lm but check for
17761         -ldb since DUNX < 4.0 lacks it
17762         [e6b11d971068]
17763
17764 1998-10-21  Todd C. Miller  <Todd.Miller@courtesan.com>
17765
17766         * check.c, compat.h, config.h.in, configure.in, getspwuid.c,
17767         secureware.c, sudo.c, tgetpass.c:
17768         getprpwuid is broken in HP-UX 10.20 at least (it sleeps for 2
17769         minutes if the shadow files don't exist).
17770         [2f297d095004]
17771
17772 1998-10-20  Todd C. Miller  <Todd.Miller@courtesan.com>
17773
17774         * INSTALL:
17775         updated --with-editor blurb
17776         [77d8a3ea7328]
17777
17778         * TROUBLESHOOTING:
17779         tell how to put sudoers in a different dir
17780         [456cd20eb1d0]
17781
17782         * configure.in:
17783         add missing quotes around $with_editor
17784         [22881748ab1b]
17785
17786         * configure.in:
17787         typo in --with-editor bits
17788         [ab6964580681]
17789
17790         * INSTALL:
17791         I don't expect it to work on Solaris
17792         [1c2fceaaf56e]
17793
17794         * check.c:
17795         add back security/pam_misc.h
17796         [6ffd30033c1e]
17797
17798 1998-10-19  Todd C. Miller  <Todd.Miller@courtesan.com>
17799
17800         * INSTALL:
17801         remove dunix note since configure checks for this now
17802         [e9904512b8e8]
17803
17804         * configure.in:
17805         add check for broken dunix prot.h (4.0 < 4.0D is bad)
17806         [8a4c1e6aef3b]
17807
17808         * getspwuid.c, secureware.c, tgetpass.c:
17809         new dunix shadow code, use dispcrypt(3)
17810         [1b936bc7268c]
17811
17812         * config.h.in:
17813         add HAVE_INITPRIVS
17814         [4369f4c4f914]
17815
17816         * sudo.c:
17817         call initprivs() if we have it for getprpwuid later on
17818         [11cf5915d826]
17819
17820         * Makefile.in:
17821         clean pathnames.h too
17822         [5f1df3262613]
17823
17824         * configure.in:
17825         quote "Sorry, try again." with [] since it has a comma in it set
17826         LIBS when we add stuff to SUDO_LIBS set SECUREWARE when we find
17827         getprpwuid() so we can check for bigcrypt, set_auth_parameters, and
17828         initprivs later.
17829         [e226b0a3f250]
17830
17831         * INSTALL:
17832         update Digital UNIX note about acl.h
17833         [80132b71d73a]
17834
17835         * INSTALL:
17836         add --with-sia
17837         --without-root-sudo -> --disable-root-sudo some reordering
17838         [198386358818]
17839
17840         * secureware.c:
17841         add whitespace
17842         [4aadaf1a54b0]
17843
17844         * Makefile.in, check.c, config.h.in, configure.in, logging.c, sudo.h:
17845         add SIA support
17846         [fa3ddbb9cc51]
17847
17848         * check_sia.c:
17849         Initial revision
17850         [2968551d40e4]
17851
17852 1998-10-18  Todd C. Miller  <Todd.Miller@courtesan.com>
17853
17854         * configure.in:
17855         when checking for -lsocket, -lnsl, and -linet, check for the
17856         specific functions we need from them.
17857         [8d33e64362a3]
17858
17859         * config.h.in, sudo.h:
17860         move Syslog_* defs into sudo.h
17861         [03d1774f25c7]
17862
17863         * Makefile.in, sudo.h:
17864         added check_secureware
17865         [e46e3cbb9a97]
17866
17867         * configure.in:
17868         finished adding AC_MSG_CHECKING and AC_MSG_RESULT bits
17869         [dbefe1856503]
17870
17871         * insults.h:
17872         don't define CLASSIC_INSULTS and CSOPS_INSULTS if no other sets
17873         defined. configure now does that for us
17874         [e4520ea0581f]
17875
17876         * configure.in:
17877         move some --with options around change a bunch of echo's to
17878         AC_MSG_CHECKING, AC_MSG_RESULT pairs
17879         [ffdf6869fdd7]
17880
17881         * configure.in:
17882         change $with_foo-bar -> $with_foo_bar kill extra " that caused a
17883         syntax error add some echo verbage
17884         [3278c49bf74b]
17885
17886 1998-10-17  Todd C. Miller  <Todd.Miller@courtesan.com>
17887
17888         * check.c:
17889         moved SecureWare stuff into secureware.c
17890         [42d3d3ac35dc]
17891
17892         * secureware.c:
17893         Initial revision
17894         [aa7f72a249cf]
17895
17896         * INSTALL:
17897         update url to solaris gcc bins
17898         [36a3eb668777]
17899
17900         * INSTALL:
17901         change option formatter and flesh out someentries
17902         [6fbd1db4a8ad]
17903
17904         * TROUBLESHOOTING, sudo.pod, visudo.pod:
17905         environmental variable -> environment variable
17906         [6f14d708e32d]
17907
17908         * BUGS:
17909         everything is now done via configure
17910         [c217858f58ab]
17911
17912         * README:
17913         prev rev was 1.5.6
17914         [7b4177103c35]
17915
17916         * Makefile.in:
17917         passing SUDOERS_MODE, SUDOERS_UID, SUDOERS_GID correctly
17918         [31c6b0a5e0e2]
17919
17920         * config.h.in:
17921         SUDOERS_MODE, SUDOERS_UID, SUDOERS_GID now come from the Makefile
17922         [d406a1ef6d25]
17923
17924         * Makefile.in:
17925         merge OSDEFS and OPTIONS into DEFS get sudoers_uid, sudoers_gid,
17926         sudoers_mode from configure
17927         [1c509500655a]
17928
17929         * configure.in:
17930         SUDOERS_MODE, SUDOERS_UID, and SUDOERS_GID now get substituted into
17931         the Makefile, not config.h
17932         [d4482f1492fe]
17933
17934         * INSTALL:
17935         document all --with/--enable options
17936         [22d81b312d7f]
17937
17938 1998-10-15  Todd C. Miller  <Todd.Miller@courtesan.com>
17939
17940         * insults.h:
17941         options.h is no more
17942         [560946a33f7f]
17943
17944         * config.h.in:
17945         assimilated options.h
17946         [dd8ce74613c1]
17947
17948         * configure.in:
17949         moved options from options.h to configure
17950         [d39662f71b4e]
17951
17952         * check.c, find_path.c, getspwuid.c, goodpath.c, interfaces.c,
17953         logging.c, parse.c, parse.lex, parse.yacc, sudo.c, sudo.pod,
17954         sudo_setenv.c, visudo.c:
17955         no more options.h
17956         [43924bf0858d]
17957
17958         * INSTALL, Makefile.in, PORTING, TROUBLESHOOTING:
17959         remove references to options.h
17960         [ef3474295395]
17961
17962         * dce_pwent.c, interfaces.c, sudo.c:
17963         kill sys/time.h
17964         [4d833f0034e4]
17965
17966         * tgetpass.c:
17967         if select return < -1 still prompt for pw
17968         [e0009e5c93a2]
17969
17970         * options.h:
17971         convert LOGGING, LOGFAC, MAXLOGFILELEN, IGNORE_DOT_PATH into
17972         configure options
17973         [e60a1e546516]
17974
17975         * parse.c:
17976         FAST_MATCH is no longer an optino
17977         [c448dbb3464b]
17978
17979         * check.c:
17980         remove_timestamp() if timestamp is preposterous
17981         [70d9a86c6ecd]
17982
17983         * options.h:
17984         convert more options to --with/--enable
17985         [34646d9b09dc]
17986
17987         * INSTALL, aclocal.m4:
17988         logfile -> logpath
17989         [42de502bc637]
17990
17991         * configure.in:
17992         convert more options into --with and --enable
17993         [92d0898c9844]
17994
17995         * tgetpass.c:
17996         catch EINTR in select and restart
17997         [f045d2f234d7]
17998
17999         * logging.c:
18000         sys/errno -> errno
18001         [7f0c5beab6f2]
18002
18003 1998-09-24  Todd C. Miller  <Todd.Miller@courtesan.com>
18004
18005         * sudo.c:
18006         UMASK -> SUDO_UMASK.
18007         [48f308661514]
18008
18009         * check.c, logging.c:
18010         time.h, not sys/time.h
18011         [91de049c79e4]
18012
18013 1998-09-21  Todd C. Miller  <Todd.Miller@courtesan.com>
18014
18015         * logging.c:
18016         MAILER -> _PATH_SENDMAIL
18017         [df65d6896639]
18018
18019         * INSTALL, configure.in:
18020         no more --with-C2, now it is --disable-shadow
18021         [18bfcab3b9ab]
18022
18023         * aclocal.m4, check.c, compat.h, config.h.in, configure.in,
18024         getspwuid.c, sudo.c, tgetpass.c:
18025         new shadow password scheme. Always include shadow support if the
18026         platform supports it and the user did not disable it via configure
18027         [2135d93bb4a9]
18028
18029 1998-09-20  Todd C. Miller  <Todd.Miller@courtesan.com>
18030
18031         * configure.in:
18032         --with-getpass -> --{enable,disable}-tgetpass
18033         [451b33fdd4c7]
18034
18035         * Makefile.in:
18036         pathnames.h -> pathnames.h.in
18037         [b109022eca69]
18038
18039         * check.c:
18040         fix version string
18041         [761b25c314ea]
18042
18043         * check.c:
18044         move pam_conv to be static to auth function remove pam_misc.h
18045         (solaris doesn't have one)
18046         [a682e4da987a]
18047
18048         * aclocal.m4:
18049         _CONFIG_PATH_* -> _PATH_* or _PATH_SUDO_* kill SUDO_PROG_PWD
18050         [e6005d0599b5]
18051
18052         * configure.in:
18053         munge pathnames.h.in -> pathnames.h kill SUDO_PROG_PWD
18054         [24c0ac2155ef]
18055
18056         * pathnames.h.in:
18057         convert to pathnames.h.in
18058         [013bddf7f684]
18059
18060 1998-09-19  Todd C. Miller  <Todd.Miller@courtesan.com>
18061
18062         * configure.in:
18063         fix typo in sysv4 matching case /.
18064         [2994c4f88cf5]
18065
18066 1998-09-18  Todd C. Miller  <Todd.Miller@courtesan.com>
18067
18068         * check.c:
18069         pam stuff needs to run as root, not user, for shadow passwords
18070         [d94ff75de503]
18071
18072 1998-09-17  Todd C. Miller  <Todd.Miller@courtesan.com>
18073
18074         * BUGS, INSTALL, README, configure.in:
18075         updated version
18076         [775adc7de7ac]
18077
18078         * Makefile.in, check.c, compat.h, config.h.in, dce_pwent.c,
18079         emul/utime.h, find_path.c, getspwuid.c, goodpath.c, ins_2001.h,
18080         ins_classic.h, ins_csops.h, ins_goons.h, insults.h, interfaces.c,
18081         logging.c, options.h, parse.c, parse.lex, parse.yacc,
18082         pathnames.h.in, putenv.c, strdup.c, sudo.c, sudo.h, sudo_setenv.c,
18083         testsudoers.c, tgetpass.c, utime.c, visudo.c:
18084         updated version
18085         [5ca599fb6b93]
18086
18087         * check.c:
18088         user version.h for long message
18089         [47a52ac7e542]
18090
18091         * check.c:
18092         this is version 1.5.6
18093         [8451ac79eee2]
18094
18095 1998-09-16  Todd C. Miller  <Todd.Miller@courtesan.com>
18096
18097         * Makefile.in:
18098         remove errant backslash
18099         [0222a8a650ff]
18100
18101 1998-09-15  Todd C. Miller  <Todd.Miller@courtesan.com>
18102
18103         * options.h, parse.yacc, pathnames.h.in:
18104         fix version string
18105         [fdee73255d64] [SUDO_1_5_6]
18106
18107         * BUGS, CHANGES, TODO:
18108         updtaed for 1.5.6
18109         [752443bf7f26]
18110
18111         * RUNSON:
18112         updated for 1.5.6
18113         [0f878123fe6a]
18114
18115 1998-09-14  Todd C. Miller  <Todd.Miller@courtesan.com>
18116
18117         * interfaces.c:
18118         kill unused localhost_mask var copy if name to ifr_tmp after we zero
18119         it
18120         [8e89c364cef2]
18121
18122 1998-09-13  Todd C. Miller  <Todd.Miller@courtesan.com>
18123
18124         * INSTALL:
18125         Better description of new vs. old sudoers modes fix some typos
18126         better description of /usr/ucb/cc gotchas on slowaris
18127         [c00b2a6fc1e8]
18128
18129         * Makefile.in:
18130         add sample.pam
18131         [ec7f6cc19b00]
18132
18133         * sudo.c:
18134         set NewArgv[0] to user_shell, not basename(user_shell)
18135         [1e907cbc9f7b]
18136
18137 1998-09-12  Todd C. Miller  <Todd.Miller@courtesan.com>
18138
18139         * README:
18140         mention TROUBLESHOOTING more fix some typos
18141         [2c2e6907d4a4]
18142
18143         * configure.in:
18144         move --enable/--disable to be after --with
18145         [9b30097f76c1]
18146
18147         * INSTALL:
18148         document --enable/--disable
18149         [c522362e38a8]
18150
18151         * INSTALL:
18152         document --with-pam
18153         [7e38932c78ac]
18154
18155 1998-09-11  Todd C. Miller  <Todd.Miller@courtesan.com>
18156
18157         * configure.in:
18158         Add message for pam users
18159         [d224f277e3cd]
18160
18161         * sample.pam:
18162         Initial revision
18163         [3a84d7045f54]
18164
18165         * config.h.in:
18166         fix HAVE_PAM
18167         [2f0f303ebd88]
18168
18169         * check.c, config.h.in, configure.in:
18170         pam support, from Gary Calvin <GCalvin@kenwoodusa.com>
18171         [ea3e0a72d707]
18172
18173 1998-09-10  Todd C. Miller  <Todd.Miller@courtesan.com>
18174
18175         * config.h.in:
18176         add HOST_IN_LOG and WRAP_LOG
18177         [822c36eeb6a8]
18178
18179         * logging.c:
18180         add WRAP_LOG and HOST_IN_LOG
18181         [3cf6052bd27e]
18182
18183         * configure.in:
18184         add --enable-log-host and --enable-log-wrap
18185         [c968cc12b353]
18186
18187         * aclocal.m4:
18188         use AC_DEFINE_UNQUOTED for --with-logfile and --with-timedir
18189         [915fef7e11a1]
18190
18191 1998-09-09  Todd C. Miller  <Todd.Miller@courtesan.com>
18192
18193         * compat.h:
18194         add howmany macro
18195         [9107a057a7c8]
18196
18197         * tgetpass.c:
18198         include sys/param.h to get howmany macro
18199         [7e908b5e1f32]
18200
18201 1998-09-08  Todd C. Miller  <Todd.Miller@courtesan.com>
18202
18203         * OPTIONS, options.h, parse.yacc, sudo.c, testsudoers.c, visudo.c:
18204         add RUNAS_DEFAULT
18205         [1e76398ea3fd]
18206
18207 1998-09-07  Todd C. Miller  <Todd.Miller@courtesan.com>
18208
18209         * fnmatch.c:
18210         bring in stdio.h for NULL
18211         [69c016610cbb]
18212
18213         * aclocal.m4:
18214         allow /bin/{ksh,bach} and /usr/bin/{ksh,bash} as sh
18215         [15ab2972f8d0]
18216
18217         * sudo.c:
18218         use HAVE_SET_AUTH_PARAMETERS
18219         [8abfdc8c80f7]
18220
18221         * config.h.in:
18222         add HAVE_SET_AUTH_PARAMETERS
18223         [673a5ebd5539]
18224
18225         * configure.in:
18226         add *-*-hiuxmpp* add test for set_auth_parameters() if secureware
18227         [a401f5a7469a]
18228
18229         * config.sub:
18230         add support for HI-UX/MPP SR220001 02-03 0 SR2201
18231         [cb657b7acaae]
18232
18233         * interfaces.c:
18234         initialize previfname
18235         [26a1902f56dc]
18236
18237         * interfaces.c:
18238         Don't use SIOCGIFADDR, we don't need it Use SIOCGIFFLAGS if we have
18239         it check ifr_flags against IFF_UP and IFF_LOOPBACK instead of
18240         kludging it
18241         [fa5c890c313b]
18242
18243         * configure.in:
18244         typo
18245         [bff579fbe95c]
18246
18247         * Makefile.in:
18248         don't need special build line for sudo.tab.o
18249         [10c0a0a912e4]
18250
18251         * Makefile.in:
18252         don't clean sudo.tab.[ch]
18253         [c40d5968efbb]
18254
18255         * sudo.c:
18256         Sudo should prompt for a password before telling the user that a
18257         command could not be found.
18258         [d718c85a0047]
18259
18260         * BUGS:
18261         for 1.5.6
18262         [0cc1fe5b9129]
18263
18264         * INSTALL, README:
18265         no longer require yacc
18266         [d9096fc5b8b6]
18267
18268         * Makefile.in:
18269         typo
18270         [70feb1aefbd5]
18271
18272         * Makefile.in:
18273         y.tab -> sudo.tab include pre-yacc'd parse.yacc
18274         [cc802025fd44]
18275
18276         * parse.lex:
18277         include sudo.tab.h, not y.tab.h don't break out of command args if
18278         you get a '='
18279         [728ad26dbda5]
18280
18281         * insults.h:
18282         fix version ,
18283         [242bbce1b2d4]
18284
18285         * ins_2001.h, ins_classic.h, ins_csops.h, ins_goons.h:
18286         fix version
18287         [2bb9086fea1e]
18288
18289         * compat.h:
18290         fix version
18291         [7e634d498ce6]
18292
18293         * getcwd.c:
18294         getcwd(3) from OpenBSD for those without it.
18295         [6c68d0df8f6c]
18296
18297         * sudo.h:
18298         HAVE_GETWD -> HAVE_GETCWD
18299         [2ad1e64d60c0]
18300
18301         * configure.in:
18302         pretend sunos doesn't have getcwd(3) since it opens a pipe to
18303         getpwd!
18304         [677992ba5a6a]
18305
18306         * parse.c:
18307         use NAMLEN() macro
18308         [8f5685aa3165]
18309
18310         * fnmatch.c:
18311         remove duplicate include of string.h
18312         [6024f3051ac3]
18313
18314         * configure.in:
18315         call SUDO_TYPE_DEV_T and SUDO_TYPE_INO_T
18316         [3d82a9c22cc2]
18317
18318         * aclocal.m4:
18319         add SUDO_TYPE_DEV_T and SUDO_TYPE_INO_T
18320         [53fbc47282f9]
18321
18322         * config.h.in:
18323         add dev_t and ino_t
18324         [5929bb0c7e1a]
18325
18326 1998-07-28  Todd C. Miller  <Todd.Miller@courtesan.com>
18327
18328         * check.c:
18329         fix OTP_ONLY for opie
18330         [7edcfa78f2ec]
18331
18332 1998-06-24  Todd C. Miller  <Todd.Miller@courtesan.com>
18333
18334         * testsudoers.c, tgetpass.c:
18335         include stdlib.h for malloc proto
18336         [c9f4b99a2fe9]
18337
18338 1998-05-19  Todd C. Miller  <Todd.Miller@courtesan.com>
18339
18340         * Makefile.in:
18341         make update_version saner
18342         [d522f93ee04a]
18343
18344         * config.h.in:
18345         add HAVE_WAITPID, HAVE_WAIT3, and sudo_waitpid()
18346         [c9a2d21dc608]
18347
18348         * configure.in:
18349         check for waitpid and wait3 or no waitpid
18350         [1f18c3224184]
18351
18352         * logging.c:
18353         used waitpid or wait3 if we have 'em
18354         [391c3279ee65]
18355
18356 1998-05-02  Todd C. Miller  <Todd.Miller@courtesan.com>
18357
18358         * visudo.c:
18359         fix some fprintf args, ariel@oz.engr.sgi.com (Ariel Faigon)
18360         [fbf53b18178f]
18361
18362 1998-04-28  Todd C. Miller  <Todd.Miller@courtesan.com>
18363
18364         * configure.in:
18365         don't need to explicately mention -lsocket -lnsl for sequent
18366         [1898dc055352]
18367
18368 1998-04-25  Todd C. Miller  <Todd.Miller@courtesan.com>
18369
18370         * configure.in:
18371         dynix should not link with -linet
18372         [278a4b9cfe2a]
18373
18374 1998-04-10  Todd C. Miller  <Todd.Miller@courtesan.com>
18375
18376         * INSTALL:
18377         mention that HP-UX doesn't ship with yacc
18378         [bde5147198c0]
18379
18380 1998-04-07  Todd C. Miller  <Todd.Miller@courtesan.com>
18381
18382         * check.c:
18383         ignore kerberos if we can't get the local realm
18384         [1e311a091a27]
18385
18386 1998-04-06  Todd C. Miller  <Todd.Miller@courtesan.com>
18387
18388         * BUGS, INSTALL, README, configure.in:
18389         ++version
18390         [499ffc746018]
18391
18392         * version.h:
18393         ++
18394         [35ba1ee01bd3]
18395
18396         * Makefile.in, check.c, config.h.in, dce_pwent.c, emul/utime.h,
18397         find_path.c, getcwd.c, getspwuid.c, goodpath.c, interfaces.c,
18398         logging.c, parse.c, parse.lex, putenv.c, strdup.c, sudo.c, sudo.h,
18399         sudo_setenv.c, testsudoers.c, tgetpass.c, utime.c, visudo.c:
18400         updated version
18401         [b4990a513f31]
18402
18403         * check.c, sudo.h:
18404         fix version
18405         [5710795834e8]
18406
18407         * getcwd.c:
18408         don't use popen/pclose. Do it inline.
18409         [29e57b0646a4]
18410
18411         * lsearch.c:
18412         add rcsid
18413         [b2b55c39858d]
18414
18415         * sudo.c:
18416         typo
18417         [d381ac39ed0f]
18418
18419         * check.c, compat.h, ins_2001.h, ins_classic.h, ins_csops.h,
18420         ins_goons.h, insults.h, options.h, parse.yacc, pathnames.h.in,
18421         sudo.h:
18422         updated version
18423         [462d6e1a2d75]
18424
18425         * check.c, find_path.c, parse.c, sudo.c, testsudoers.c:
18426         MAX* + 1 -> MAX*
18427         [2c2eeb78d34f]
18428
18429         * Makefile.in:
18430         getwd.c -> getcwd.c
18431         [7d718c32fc02]
18432
18433         * config.h.in:
18434         kill HAVE_GETWD
18435         [6ad3d702343f]
18436
18437         * configure.in:
18438         getcwd, not getwd
18439         [33e5b9841f58]
18440
18441         * getcwd.c:
18442         use MAX* not MAX* + 1 always run pwd as using getwd() defeats the
18443         purpose
18444         [24e58d340161]
18445
18446 1998-03-31  Todd C. Miller  <Todd.Miller@courtesan.com>
18447
18448         * OPTIONS, options.h:
18449         add STUB_LOAD_INTERFACES
18450         [d747cb23ca83]
18451
18452         * Makefile.in, check.c, compat.h, config.h.in, dce_pwent.c,
18453         emul/utime.h, find_path.c, getspwuid.c, getwd.c, goodpath.c,
18454         ins_2001.h, ins_classic.h, ins_csops.h, ins_goons.h, insults.h,
18455         interfaces.c, logging.c, options.h, parse.c, parse.lex, parse.yacc,
18456         pathnames.h.in, putenv.c, strdup.c, sudo.c, sudo.h, sudo_setenv.c,
18457         testsudoers.c, tgetpass.c, utime.c, visudo.c:
18458         updated version
18459         [0798229312cc]
18460
18461         * configure.in:
18462         support *-ccur-sysv4 and fix two typos
18463         [24a823ad7cc9]
18464
18465 1998-03-28  Todd C. Miller  <Todd.Miller@courtesan.com>
18466
18467         * configure.in:
18468         don't echo about with_logfile and with_timedir
18469         [31e4a1e2d9ad]
18470
18471         * INSTALL:
18472         document --with-logfile and --with-timedir
18473         [674f811a40e0]
18474
18475         * aclocal.m4:
18476         support --with-logfile and --with-timedir
18477         [2fc36b35db12]
18478
18479         * configure.in:
18480         Add --with-logfile and --with-timedir
18481         [09045bf07e29]
18482
18483         * sudo.c:
18484         change size computation of NewArgv for UNICOS
18485         [b50df07da3a1]
18486
18487 1998-02-19  Todd C. Miller  <Todd.Miller@courtesan.com>
18488
18489         * configure.in:
18490         treate -*-sysv4* like *-*-svr4
18491         [471b7ef4dbf2]
18492
18493 1998-02-18  Todd C. Miller  <Todd.Miller@courtesan.com>
18494
18495         * configure.in:
18496         fix spacing for --with-authenticate help
18497         [8321cb37c410]
18498
18499         * Makefile.in, check.c, compat.h, config.h.in, dce_pwent.c,
18500         emul/utime.h, find_path.c, getspwuid.c, getwd.c, goodpath.c,
18501         ins_2001.h, ins_classic.h, ins_csops.h, ins_goons.h, insults.h,
18502         interfaces.c, logging.c, options.h, parse.c, parse.lex, parse.yacc,
18503         pathnames.h.in, putenv.c, strdup.c, sudo.c, sudo.h, sudo_setenv.c,
18504         testsudoers.c, tgetpass.c, utime.c, visudo.c:
18505         updated version
18506         [dc1ab97312eb]
18507
18508         * parse.yacc:
18509         fix off by one error in push macro
18510         [bece59c8c3a9]
18511
18512 1998-02-17  Todd C. Miller  <Todd.Miller@courtesan.com>
18513
18514         * configure.in:
18515         removed bogus alloca hack
18516         [a68dd720462d]
18517
18518         * check.c:
18519         added AIX 4.x authenticate() support
18520         [12985eb448a0]
18521
18522         * parse.yacc:
18523         include alloca.h if using bison and not gcc and it exists. fixes an
18524         alloca problem on hpux 10.x
18525         [e3b5c4f26072]
18526
18527         * INSTALL:
18528         mention --with-authenticate
18529         [78a1c96820e7]
18530
18531         * configure.in:
18532         added AIX authenticate() support
18533         [c983193ec252]
18534
18535         * config.h.in:
18536         add HAVE_AUTHENTICATE
18537         [7b0e5f5db5d9]
18538
18539         * interfaces.c:
18540         dynamically size ifconf buffer
18541         [10afb0e9b2f9]
18542
18543         * configure.in:
18544         quote '[' and ']'
18545         [8fc38a4defad]
18546
18547         * Makefile.in, check.c, compat.h, config.h.in, dce_pwent.c,
18548         emul/utime.h, find_path.c, getspwuid.c, getwd.c, goodpath.c,
18549         ins_2001.h, ins_classic.h, ins_csops.h, ins_goons.h, insults.h,
18550         logging.c, options.h, parse.c, parse.lex, parse.yacc,
18551         pathnames.h.in, putenv.c, strdup.c, sudo.c, sudo.h, sudo_setenv.c,
18552         testsudoers.c, tgetpass.c, utime.c, visudo.c:
18553         updated version
18554         [5f66de71ec61]
18555
18556         * visudo.pod:
18557         add ERRORS section
18558         [3df3edb73cf6]
18559
18560 1998-02-16  Todd C. Miller  <Todd.Miller@courtesan.com>
18561
18562         * TROUBLESHOOTING:
18563         add busy stmp file explanation
18564         [6c555d469b6f]
18565
18566 1998-02-15  Todd C. Miller  <Todd.Miller@courtesan.com>
18567
18568         * configure.in:
18569         the name of the cached var that signals whether or not you are cross
18570         compiling changed. It is now ac_cv_prog_cc_cross
18571         [123911c0658c]
18572
18573 1998-02-11  Todd C. Miller  <Todd.Miller@courtesan.com>
18574
18575         * INSTALL:
18576         mention glibc 2.07 is fixed wrt lsearch()\.
18577         [ded758524582]
18578
18579 1998-02-07  Todd C. Miller  <Todd.Miller@courtesan.com>
18580
18581         * sample.sudoers, sudoers.pod:
18582         better example of su but not root su
18583         [b3199610be21]
18584
18585 1998-02-06  Todd C. Miller  <Todd.Miller@courtesan.com>
18586
18587         * Makefile.in, check.c, compat.h, config.h.in, dce_pwent.c,
18588         emul/utime.h, find_path.c, getspwuid.c, getwd.c, goodpath.c,
18589         ins_2001.h, ins_classic.h, ins_csops.h, ins_goons.h, insults.h,
18590         interfaces.c, logging.c, options.h, parse.c, parse.lex, parse.yacc,
18591         pathnames.h.in, putenv.c, strdup.c, sudo.c, sudo.h, sudo_setenv.c,
18592         testsudoers.c, tgetpass.c, utime.c, visudo.c:
18593         updated version
18594         [46922b84e86b]
18595
18596         * Makefile.in:
18597         correct regexp for updating version
18598         [8032728b2a8a]
18599
18600         * tgetpass.c:
18601         remove bogus flush of stderr spew prompt before turning off echo.
18602         Seems to fix a weird problem where if sudo complained about a bogus
18603         stamp file the user would sometimes not have a chance to enter a
18604         password
18605         [7aa1493cc141]
18606
18607         * check.c:
18608         fix bogus flush of stderr
18609         [6d047871c5e8]
18610
18611         * sudo.c:
18612         close fd's <=2 not <=3 and move that chunk of code up
18613         [553e4faac195]
18614
18615         * configure.in:
18616         support hpux1[0-9] not just hpux10
18617         [5a34a000ff8a]
18618
18619 1998-01-30  Todd C. Miller  <Todd.Miller@courtesan.com>
18620
18621         * parse.c:
18622         set sudoers_fp to nil after closing
18623         [221a8b4bbf34]
18624
18625 1998-01-24  Todd C. Miller  <Todd.Miller@courtesan.com>
18626
18627         * config.guess, config.sub:
18628         updated from autoconf 2.12
18629         [6fc86a0fc61b]
18630
18631         * configure.in:
18632         add *-*-svr4 rule
18633         [38f0427f7c9d]
18634
18635 1998-01-23  Todd C. Miller  <Todd.Miller@courtesan.com>
18636
18637         * tgetpass.c:
18638         fix select usage for high fd's (dynamically allocate readfds)
18639         [c2d1f76e0321]
18640
18641         * check.c:
18642         kill extra whitespace
18643         [d784b6c9c514]
18644
18645         * sudo.c:
18646         do an initgroups() before running a command, unless the target user
18647         is root.
18648         [4ca561287480]
18649
18650 1998-01-22  Todd C. Miller  <Todd.Miller@courtesan.com>
18651
18652         * TROUBLESHOOTING:
18653         tell people to use tabs, not spaces, in syslog.conf
18654         [8ae90a205134]
18655
18656 1998-01-21  Todd C. Miller  <Todd.Miller@courtesan.com>
18657
18658         * Makefile.in, config.h.in, dce_pwent.c, emul/utime.h, getwd.c,
18659         parse.lex, putenv.c, strdup.c, testsudoers.c, utime.c:
18660         updated version
18661         [4d855ff5de26]
18662
18663         * check.c, find_path.c, getspwuid.c, goodpath.c, interfaces.c,
18664         logging.c, parse.c, sudo.c, sudo_setenv.c, tgetpass.c, visudo.c:
18665         updated version
18666         [8e007e178b33]
18667
18668         * compat.h, ins_2001.h, ins_classic.h, ins_csops.h, ins_goons.h,
18669         insults.h, options.h, parse.yacc, pathnames.h.in, sudo.h:
18670         updated version
18671         [9ddea5c8814d]
18672
18673         * Makefile.in:
18674         more tweaks to update_version
18675         [047698752855]
18676
18677         * Makefile.in:
18678         fixed up update_version rule
18679         [47b6fa34b77f]
18680
18681         * configure.in:
18682         ++version
18683         [c1ca664e30b7]
18684
18685         * Makefile.in:
18686         removed supe of check.c
18687         [8f340a05296a]
18688
18689         * INSTALL:
18690         ++version I missed
18691         [a298e6c17491]
18692
18693         * RUNSON:
18694         updated
18695         [a14f6057bc15]
18696
18697         * BUGS, INSTALL, Makefile.in, README, check.c, compat.h, config.h.in,
18698         dce_pwent.c, emul/utime.h, find_path.c, getspwuid.c, getwd.c,
18699         goodpath.c, ins_2001.h, ins_classic.h, ins_csops.h, ins_goons.h,
18700         insults.h, interfaces.c, logging.c, options.h, parse.c, parse.lex,
18701         parse.yacc, pathnames.h.in, putenv.c, strdup.c, sudo.c, sudo.h,
18702         sudo_setenv.c, testsudoers.c, tgetpass.c, utime.c, version.h,
18703         visudo.c:
18704         updated version
18705         [02231b1a3ab3]
18706
18707         * CHANGES:
18708         updated for 1.5.5
18709         [634e5fcaf40b]
18710
18711         * Makefile.in:
18712         add rules to update version stuff in files so I don't need to do it
18713         by hand
18714         [3620ad60485a]
18715
18716         * sudo.h:
18717         sudoers_fp is now extern
18718         [88c6e9b9ea84]
18719
18720         * sudo.c:
18721         in check_sudoers, cache the sudoers file handle in sudoers_fp so we
18722         don't have to open it again in the parse. This may help with weird
18723         solaris problems where EAGAIN sometime occurrs.
18724         [d3c26451ed1d]
18725
18726         * parse.c:
18727         sudoers file open is now done only in check_sudoers() so we just do
18728         a rewind() instead of an open. May help people on solaris who were
18729         getting EAGAIN.
18730         [c8b8c7722fa5]
18731
18732 1998-01-16  Todd C. Miller  <Todd.Miller@courtesan.com>
18733
18734         * INSTALL:
18735         mention that newer glibc is fixed
18736         [20f06f5d3ef3]
18737
18738 1998-01-13  Todd C. Miller  <Todd.Miller@courtesan.com>
18739
18740         * sudo.c:
18741         newer irix uses _RLDN32_* envariables for 32-bit binaries so ignore
18742         _RLD* instead of _RLD_*
18743         [1e22c588d602]
18744
18745         * parse.c:
18746         typo
18747         [d0b7cb85f08a]
18748
18749         * parse.c:
18750         fix that bug for real
18751         [5a6eeca6d04b]
18752
18753         * INSTALL:
18754         document Linux's libc6 brokenness.
18755         [0246c1aa64ee]
18756
18757         * parse.yacc:
18758         -Wall
18759         [d0e452fb1e2d]
18760
18761         * RUNSON:
18762         updated
18763         [4949a1bbd0a9] [SUDO_1_5_4]
18764
18765         * TROUBLESHOOTING:
18766         remind people to HUP syslogd
18767         [590962faa4f0]
18768
18769         * Makefile.in:
18770         add -O flag to tar
18771         [622d02de339d]
18772
18773         * RUNSON:
18774         updated
18775         [a72930d6e615]
18776
18777         * TODO:
18778         updated
18779         [4a51bd458390]
18780
18781         * sudo.pod:
18782         remove author's email addr. people should mail sudo-bugs
18783         [9b6bbdb3a6d9]
18784
18785         * INSTALL:
18786         fix version
18787         [246274c6c8af]
18788
18789         * README, check.c, compat.h, config.h.in, configure.in, dce_pwent.c,
18790         find_path.c, getspwuid.c, getwd.c, goodpath.c, ins_2001.h,
18791         ins_classic.h, ins_csops.h, ins_goons.h, insults.h, interfaces.c,
18792         logging.c, options.h, parse.c, parse.lex, parse.yacc,
18793         pathnames.h.in, putenv.c, strdup.c, sudo.c, sudo.h, sudo_setenv.c,
18794         testsudoers.c, tgetpass.c, utime.c, version.h, visudo.c:
18795         ++version
18796         [f532ff4ee766]
18797
18798         * RUNSON:
18799         updated
18800         [62d5c71358b5]
18801
18802         * INSTALL, Makefile.in:
18803         ++version
18804         [1a7c7628edfc]
18805
18806         * CHANGES:
18807         updated fort 1.5.4
18808         [7e4873508c99]
18809
18810         * check.c:
18811         exit(1) if user enters no passwd
18812         [f382c0e35e4e]
18813
18814         * BUGS:
18815         ++version
18816         [fab6a867ab67]
18817
18818         * parse.c:
18819         commands can start with ./* not just /* -- fixes a serious security
18820         hole.
18821         [244d2fe35ee3]
18822
18823 1997-12-21  Todd C. Miller  <Todd.Miller@courtesan.com>
18824
18825         * sudo.c:
18826         Don't set the tty variable to NULL when we lack a tty, leave it as
18827         "unknown".
18828         [193b26daba03]
18829
18830 1997-11-23  Todd C. Miller  <Todd.Miller@courtesan.com>
18831
18832         * sample.sudoers:
18833         fix usage of (username) in conjunction with , and !
18834         [7ae68607f68f]
18835
18836         * visudo.c:
18837         catch the case where the user is not in the passwd file
18838         [31650258deb0]
18839
18840         * tgetpass.c:
18841         use fileno(input) + 1 instead of getdtablesize() as the nfds arg to
18842         select(2)
18843         [60ab2d9a9ee8]
18844
18845         * sudo.c:
18846         define tty global to an initial value to avoid dumping core in
18847         logging functions when passwd file is unavailable.
18848         [77056c7bc908]
18849
18850         * sudo.c:
18851         do the set_perms(PERM_USER, sudo_mode) after we have gotten the
18852         passwd entry
18853         [1fdb8e579a5a]
18854
18855         * sudo.pod:
18856         talk about problem of ALL
18857         [1cd1905c9f6f]
18858
18859 1997-10-10  Todd C. Miller  <Todd.Miller@courtesan.com>
18860
18861         * README:
18862         new web location
18863         [d24dc26f6da5]
18864
18865         * INSTALL:
18866         fdesc bug is fixed in Open/Net BSD
18867         [7d4d81b08ac3]
18868
18869         * HISTORY:
18870         updates from Nieusma
18871         [3a43769a1b78]
18872
18873 1997-10-09  Todd C. Miller  <Todd.Miller@courtesan.com>
18874
18875         * dce_pwent.c:
18876         move compat.h after the system includes
18877         [5ea43a5968ac]
18878
18879 1997-08-06  Todd C. Miller  <Todd.Miller@courtesan.com>
18880
18881         * logging.c:
18882         save errno from being clobbered by wait(). From Theo
18883         [f2d1c48cd592]
18884
18885 1997-05-21  Todd C. Miller  <Todd.Miller@courtesan.com>
18886
18887         * compat.h:
18888         fix an occurence of setresuid -> setreuid (typo)
18889         [394de35c9b1c]
18890
18891 1997-03-19  Todd C. Miller  <Todd.Miller@courtesan.com>
18892
18893         * install-sh:
18894         check for path to strip
18895         [2b7ef824bd55]
18896
18897 1997-01-16  Todd C. Miller  <Todd.Miller@courtesan.com>
18898
18899         * logging.c:
18900         deal with maxfilelen < 0 case
18901         [f0af095178d7]
18902
18903         * OPTIONS:
18904         fixed descriptin
18905         [629f60bd4b5f]
18906
18907 1996-12-12  Todd C. Miller  <Todd.Miller@courtesan.com>
18908
18909         * sudo.c:
18910         correct error message if mode/owner wrong and not statable by owner
18911         but is statable by root.
18912         [cb631ce2e85e]
18913
18914 1996-11-23  Todd C. Miller  <Todd.Miller@courtesan.com>
18915
18916         * config.guess, config.sub:
18917         autoconf 2.11
18918         [f3cbe59e0756]
18919
18920 1996-11-16  Todd C. Miller  <Todd.Miller@courtesan.com>
18921
18922         * CHANGES, RUNSON, TODO:
18923         sudo 1.5.3.
18924         [2be3229b8626]
18925
18926 1996-11-14  Todd C. Miller  <Todd.Miller@courtesan.com>
18927
18928         * parse.yacc, sudo.h:
18929         command_alias -> generic_alias
18930         [c404ca8c510d] [SUDO_1_5_3]
18931
18932         * sample.sudoers:
18933         added Runas_Alias example and fixed syntax errors
18934         [c304053f4a8a]
18935
18936         * OPTIONS, options.h:
18937         updated MAILSUBJECT
18938         [18d1573fcd2a]
18939
18940         * logging.c:
18941         added %h expansion
18942         [a4bff9b284fd]
18943
18944         * INSTALL, Makefile.in, README, check.c, compat.h, config.h.in,
18945         configure.in, dce_pwent.c, find_path.c, getspwuid.c, getwd.c,
18946         goodpath.c, ins_2001.h, ins_classic.h, ins_csops.h, ins_goons.h,
18947         insults.h, interfaces.c, logging.c, options.h, parse.c, parse.lex,
18948         parse.yacc, pathnames.h.in, putenv.c, strdup.c, sudo.c, sudo.h,
18949         sudo_setenv.c, testsudoers.c, tgetpass.c, utime.c, version.h,
18950         visudo.c:
18951         ++version
18952         [211ff20f956f]
18953
18954         * BUGS, emul/utime.h:
18955         ++version
18956         [cde5376579e3]
18957
18958         * sudoers.pod:
18959         document Runas_Alias
18960         [b1a58f28fb2c]
18961
18962         * visudo.pod:
18963         q (uid) -> Q
18964         [d256649a0e6b]
18965
18966         * visudo.c:
18967         buffer oflow checking q (uit) -> Q if yyparse() fails drop into
18968         whatnow
18969         [1cb183d15626]
18970
18971         * parse.yacc:
18972         add size params to sprintf
18973         [9228f698921f]
18974
18975         * parse.lex:
18976         allow trailing space after '\\' but before '\n'
18977         [f51dbbf69fdf]
18978
18979         * find_path.c:
18980         off by one error in path size check
18981         [a6d75ccd7632]
18982
18983         * check.c:
18984         sprintf paranoia
18985         [3ffb12d198dd]
18986
18987 1996-11-12  Todd C. Miller  <Todd.Miller@courtesan.com>
18988
18989         * parse.yacc:
18990         fixed more_aliases
18991         [aab12f2a50af]
18992
18993         * visudo.c:
18994         now warns if killed by signal ./
18995         [310c186a0fd7]
18996
18997 1996-11-11  Todd C. Miller  <Todd.Miller@courtesan.com>
18998
18999         * parse.yacc:
19000         fix Runas_Alias stuff Alias's in runas list now get expanded (but it
19001         is gross)
19002         [45590b83120f]
19003
19004         * sudo.c:
19005         Can now deal with SUDOERS_UID == 0 and SUDOERS_MODE == 0400
19006         [d53e01c14c58]
19007
19008         * parse.yacc:
19009         add Runas_Alias support change FOO to FOO_ALIAS (ie: USER_ALIAS)
19010         [7a4a040aae2d]
19011
19012         * parse.lex:
19013         Add Runas_Alias and simplify a rule.
19014         [6f794a769a37]
19015
19016         * parse.yacc:
19017         always store User_Alias's since they can be used inside of a runas
19018         list. Sigh. Really need a Runas_Alias instead.
19019         [3bab058a873e]
19020
19021 1996-10-30  Todd C. Miller  <Todd.Miller@courtesan.com>
19022
19023         * visudo.c:
19024         deal with case where there is no sudoers file
19025         [fa38b3bb244d]
19026
19027 1996-10-12  Todd C. Miller  <Todd.Miller@courtesan.com>
19028
19029         * TROUBLESHOOTING:
19030         added one
19031         [e61346d06725]
19032
19033 1996-10-11  Todd C. Miller  <Todd.Miller@courtesan.com>
19034
19035         * HISTORY, testsudoers.c:
19036         developement -> development
19037         [4df55e293941]
19038
19039         * INSTALL:
19040         added a note
19041         [3845fb83dbc0]
19042
19043         * RUNSON:
19044         for 1.5.2
19045         [5489b7298942]
19046
19047         * CHANGES:
19048         updated
19049         [0741834929e6]
19050
19051 1996-10-10  Todd C. Miller  <Todd.Miller@courtesan.com>
19052
19053         * PORTING:
19054         removed seteuid() notes
19055         [1010a60f281d] [SUDO_1_5_2]
19056
19057 1996-10-09  Todd C. Miller  <Todd.Miller@courtesan.com>
19058
19059         * compat.h:
19060         better seteuid() emulatino
19061         [e807623b662c]
19062
19063         * configure.in:
19064         added check for seteuid
19065         [8cf9fabc6f4f]
19066
19067         * config.h.in:
19068         added HAVE_SETEUID
19069         [596db46aa828]
19070
19071 1996-10-08  Todd C. Miller  <Todd.Miller@courtesan.com>
19072
19073         * configure.in:
19074         first stab at sequent support
19075         [b85a7bfcac76]
19076
19077         * config.h.in:
19078         added HAVE_SYS_SELECT_H
19079         [93ecdd042463]
19080
19081         * compat.h:
19082         sequent -> _SEQUENT_
19083         [63a38b6da98c]
19084
19085         * compat.h:
19086         added seteuid() macro for DYNIX
19087         [695bd63c5ea6]
19088
19089         * tgetpass.c:
19090         _AIX -> HAVE_SYS_SELECT_H
19091         [b31221211bc2]
19092
19093 1996-10-07  Todd C. Miller  <Todd.Miller@courtesan.com>
19094
19095         * BUGS, INSTALL, Makefile.in, OPTIONS, README, config.h.in, logging.c,
19096         parse.c, parse.lex, parse.yacc, putenv.c, strdup.c, sudo_setenv.c,
19097         testsudoers.c, tgetpass.c, utime.c, visudo.c:
19098         ++version
19099         [8052992fd453]
19100
19101         * check.c, compat.h, dce_pwent.c, emul/utime.h, find_path.c,
19102         getspwuid.c, getwd.c, goodpath.c, ins_2001.h, ins_classic.h,
19103         ins_csops.h, ins_goons.h, insults.h, interfaces.c, options.h,
19104         pathnames.h.in, version.h:
19105         ++version
19106         [f7ad15e1598a]
19107
19108         * sudo.pod:
19109         added -H and SUDO_PS1
19110         [bb965241e30c]
19111
19112         * configure.in:
19113         use SUDO_FUNC_FNMATCH
19114         [6a8350d85fb2]
19115
19116         * aclocal.m4:
19117         added SUDO_FUNC_FNMATCH
19118         [45b32c91c4ba]
19119
19120         * sudo.c:
19121         added -H flag
19122         [11ebc6872fd6]
19123
19124         * sudo.h:
19125         added MODE_RESET_HOME /
19126         [67a7f8bcbbd6]
19127
19128 1996-10-05  Todd C. Miller  <Todd.Miller@courtesan.com>
19129
19130         * INSTALL:
19131         mention OPIE
19132         [5723515d5bbd]
19133
19134         * options.h:
19135         SKEY -> OTP
19136         [c1d268130bc4]
19137
19138         * configure.in:
19139         added opie support
19140         [123872b41b20]
19141
19142         * compat.h, config.h.in:
19143         added HAVE_OPIE
19144         [528c71afc1e5]
19145
19146         * check.c:
19147         added HAVE_OPIE and changed to *_OTP_*
19148         [4c62f5db872a]
19149
19150         * OPTIONS:
19151         SKEY -> OTP
19152         [bd858e5e9652]
19153
19154 1996-10-04  Todd C. Miller  <Todd.Miller@courtesan.com>
19155
19156         * check.c:
19157         moved fclose() in skey stuff.
19158         [11f7dc8431a6]
19159
19160 1996-10-03  Todd C. Miller  <Todd.Miller@courtesan.com>
19161
19162         * putenv.c:
19163         index -> strchr remove unnecesary stuff
19164         [af2d05238062]
19165
19166         * check.c:
19167         now call skeychallenge() to get challenge instead of making one up
19168         ourselves. this way, we get extra goodies in the prompt.
19169         [49b770d98d3a]
19170
19171 1996-09-10  Todd C. Miller  <Todd.Miller@courtesan.com>
19172
19173         * CHANGES:
19174         added one
19175         [3f5149357e2a] [SUDO_1_5_1]
19176
19177         * parse.lex:
19178         allow logins to start with a number (YUCK!)
19179         [7ed7ef324741]
19180
19181 1996-09-08  Todd C. Miller  <Todd.Miller@courtesan.com>
19182
19183         * TROUBLESHOOTING:
19184         added soalris 2.5 vs 2.4 note
19185         [16160a251aae]
19186
19187         * configure.in:
19188         DUNIX doesn't need -lnsl
19189         [be924cc322c3]
19190
19191         * CHANGES:
19192         *** empty log message ***
19193         [1b2937521981]
19194
19195         * check.c, compat.h, config.h.in, dce_pwent.c, find_path.c,
19196         getspwuid.c, getwd.c, goodpath.c, ins_2001.h, ins_classic.h,
19197         ins_csops.h, ins_goons.h, insults.h, interfaces.c, logging.c,
19198         options.h, parse.c, parse.lex, parse.yacc, pathnames.h.in, putenv.c,
19199         strdup.c, sudo.c, sudo.h, sudo_setenv.c, testsudoers.c, tgetpass.c,
19200         utime.c, version.h, visudo.c:
19201         courtesan
19202         [5f203589bbfe]
19203
19204         * PORTING, README, RUNSON:
19205         courtesan
19206         [d72517f4937e]
19207
19208         * INSTALL, Makefile.in, TROUBLESHOOTING:
19209         courtesan
19210         [5c007e3c7a71]
19211
19212         * visudo.pod:
19213         *** empty log message ***
19214         [37ebe85bd4e1]
19215
19216         * sudo.pod, visudo.pod:
19217         courtesan
19218         [37f02e2130ea]
19219
19220 1996-09-07  Todd C. Miller  <Todd.Miller@courtesan.com>
19221
19222         * HISTORY:
19223         added courtesan ./
19224         [b01435226276]
19225
19226 1996-09-06  Todd C. Miller  <Todd.Miller@courtesan.com>
19227
19228         * sudo.c:
19229         added $SUDO_PROMPT support
19230         [cb1fa72c093d]
19231
19232 1996-09-04  Todd C. Miller  <Todd.Miller@courtesan.com>
19233
19234         * check.c:
19235         print long skey challemged to stderr, not stdout
19236         [750fc775b3b2]
19237
19238 1996-09-01  Todd C. Miller  <Todd.Miller@courtesan.com>
19239
19240         * CHANGES:
19241         updated for 1.5.1
19242         [9b615f393057]
19243
19244         * emul/utime.h:
19245         ++version
19246         [a94de18deafb]
19247
19248 1996-08-31  Todd C. Miller  <Todd.Miller@courtesan.com>
19249
19250         * RUNSON:
19251         updated for 1.5.1
19252         [4092f20ab634]
19253
19254 1996-08-30  Todd C. Miller  <Todd.Miller@courtesan.com>
19255
19256         * check.c:
19257         use shost, not host for tgetpass
19258         [6061c49ff9be]
19259
19260         * sudo.pod:
19261         documented %u and %h
19262         [6d2922d29897]
19263
19264         * OPTIONS:
19265         documented %u and %h
19266         [1a71da13a864]
19267
19268         * configure.in:
19269         fixed typo
19270         [1230dec2b062]
19271
19272         * INSTALL, Makefile.in, README, check.c, compat.h, config.h.in,
19273         dce_pwent.c, find_path.c, getspwuid.c, getwd.c, goodpath.c,
19274         ins_2001.h, ins_classic.h, ins_csops.h, ins_goons.h, insults.h,
19275         interfaces.c, logging.c, options.h, parse.c, parse.lex, parse.yacc,
19276         pathnames.h.in, putenv.c, strdup.c, sudo.c, sudo.h, sudo_setenv.c,
19277         testsudoers.c, tgetpass.c, utime.c, version.h, visudo.c:
19278         ++version
19279         [65ce8eabf77a]
19280
19281         * BUGS:
19282         ++version
19283         [afecab53aab7]
19284
19285 1996-08-29  Todd C. Miller  <Todd.Miller@courtesan.com>
19286
19287         * Makefile.in, configure.in, version.h:
19288         ++version
19289         [fb3ff940d672]
19290
19291         * sudo.h:
19292         new tgetpass() params
19293         [9eccc5b0f8ae]
19294
19295         * check.c:
19296         pass use and host to tgetpass
19297         [c56d9d13c401]
19298
19299         * tgetpass.c:
19300         added %u and %h escapes
19301         [04ae775d3e5d]
19302
19303         * OPTIONS, check.c, options.h:
19304         added NO_MESSAGE
19305         [3927dad19057]
19306
19307         * configure.in:
19308         added cray (unicos) support
19309         [1122210c5fb1]
19310
19311 1996-08-27  Todd C. Miller  <Todd.Miller@courtesan.com>
19312
19313         * OPTIONS, options.h, sudo.c:
19314         added SHELL_SETS_HOME
19315         [0b26909b0929]
19316
19317 1996-08-25  Todd C. Miller  <Todd.Miller@courtesan.com>
19318
19319         * INSTALL:
19320         added note about "make install"
19321         [7e56ea76d4b4]
19322
19323         * parse.yacc:
19324         changed length/size params from int to size_t
19325         [5654e5ceb1b3]
19326
19327         * OPTIONS:
19328         now get CSOPS insults as well by default
19329         [297323d0179a]
19330
19331         * insults.h:
19332         use csops insults too by default
19333         [07fafc136169]
19334
19335         * INSTALL, Makefile.in, README, config.h.in, configure.in, version.h:
19336         version = 1.5
19337         [4b8772b11e3b]
19338
19339         * sudo.c:
19340         added runas_homedir
19341         [b0e0d4417a15]
19342
19343         * TODO:
19344         updated for 1.5
19345         [66259df825d5]
19346
19347         * RUNSON:
19348         updated for 1.5
19349         [e08bc9ebfe95]
19350
19351         * CHANGES:
19352         1.5 release
19353         [8c16942fea41]
19354
19355         * INSTALL:
19356         added "upgrading" notes
19357         [210d968964ff]
19358
19359 1996-08-22  Todd C. Miller  <Todd.Miller@courtesan.com>
19360
19361         * visudo.c:
19362         now do chmod and chown after edit of temp file and before rename
19363         [de174e34faa7] [SUDO_1_5_0]
19364
19365 1996-08-18  Todd C. Miller  <Todd.Miller@courtesan.com>
19366
19367         * Makefile.in:
19368         ++version added INSTALL.configure
19369         [c9e9214f52ae]
19370
19371         * configure.in, version.h:
19372         ++version
19373         [5985abed3eb2]
19374
19375         * TROUBLESHOOTING:
19376         *** empty log message ***
19377         [d65c540ec52e]
19378
19379         * parse.yacc:
19380         added missing cast
19381         [e7247319a7d5]
19382
19383         * sudo.c:
19384         sets $HOME to pw_dir of runas user
19385         [d3f7f4d05752]
19386
19387         * sudo.pod:
19388         document $HOME change
19389         [854454d458c4]
19390
19391 1996-08-17  Todd C. Miller  <Todd.Miller@courtesan.com>
19392
19393         * sudo.pod:
19394         fixed up some wording
19395         [b0c8582f2c97]
19396
19397         * check.c, dce_pwent.c, find_path.c, getspwuid.c, getwd.c, goodpath.c,
19398         interfaces.c, logging.c, parse.c, parse.lex, parse.yacc, putenv.c,
19399         strdup.c, sudo.c, sudo_setenv.c, testsudoers.c, tgetpass.c, utime.c,
19400         visudo.c:
19401         ++version
19402         [748be723fd8b]
19403
19404         * compat.h, ins_2001.h, ins_classic.h, ins_csops.h, ins_goons.h,
19405         insults.h, options.h, pathnames.h.in, sudo.h:
19406         ++version
19407         [acdf8b1b2a1b]
19408
19409         * emul/utime.h:
19410         ++version
19411         [b3f35298ab8d]
19412
19413         * sudo.h:
19414         name nad type changes
19415         [db24ab3da141]
19416
19417         * testsudoers.c:
19418         now works with new sudo
19419         [379346c42cc2]
19420
19421         * parse.yacc:
19422         fixed some XXX
19423         [f5fe4c990052]
19424
19425         * parse.yacc:
19426         some variable name changes + comment headers for functions.
19427         [3dc3bd9aa73d]
19428
19429         * tgetpass.c:
19430         added extra paren's to make compilers happy
19431         [9e4968a34d56]
19432
19433         * sudo.c:
19434         *** empty log message ***
19435         [70c924c1ed69]
19436
19437         * parse.c:
19438         now uses init_parser() if not in sudoers and tries "list" or
19439         "validate" scold but don't be nasty.
19440         [c0d8fb3f8c9e]
19441
19442         * TROUBLESHOOTING:
19443         now can use upper case login names
19444         [c772fffcefe5]
19445
19446         * visudo.c:
19447         now uses init_parser()
19448         [b9efae7243fd]
19449
19450         * INSTALL, README:
19451         updated
19452         [27dc8283fdc8]
19453
19454         * PORTING:
19455         added info about PASSWORD_TIMEOUT
19456         [980e15d892f8]
19457
19458         * INSTALL.configure:
19459         Initial revision
19460         [8292e89a08d3]
19461
19462         * BUGS:
19463         fixed a bug ,
19464         [c6e46f5624f9]
19465
19466         * parse.yacc:
19467         now dynamically allocates memory for the stacks -- no more
19468         overflows!
19469         [8615c35b6ad3]
19470
19471         * sudo.pod:
19472         -l now explands command aliases
19473         [39f45605935d]
19474
19475         * parse.yacc:
19476         hacks to expand command aliases for `sudo -l'
19477         [e4eb752608f9]
19478
19479         * sudo.c:
19480         remove $ENV and $BASH_ENV (dangerous in ksh, posix sh, and bash)
19481         [01327ca5084b]
19482
19483         * sudo.h:
19484         added struct command_alias
19485         [dd2f32764082]
19486
19487         * sudo.pod:
19488         fixed a bug
19489         [e708ff08d2eb]
19490
19491         * lsearch.c:
19492         in compar() key should be first arg
19493         [fc14c3fa62ee]
19494
19495 1996-08-15  Todd C. Miller  <Todd.Miller@courtesan.com>
19496
19497         * BUGS:
19498         fixed some bugs
19499         [639dfe425bd5]
19500
19501         * parse.yacc:
19502         can now deal with upcase HOST and USER names
19503         [c6aa7bcfb00d]
19504
19505         * sudo.c:
19506         don't yell too loudly at non-sudoers if they do "sudo -l"
19507         [4ef146128d89]
19508
19509         * sudo.pod:
19510         fixed thinko
19511         [830f2f0f22e7]
19512
19513         * parse.c:
19514         fix comment
19515         [d20ce9e17ddc]
19516
19517 1996-08-09  Todd C. Miller  <Todd.Miller@courtesan.com>
19518
19519         * parse.c, parse.yacc:
19520         added support for new `sudo -l' stuff
19521         [7dceaef3c733]
19522
19523         * sudo.c:
19524         now uses list_matches()
19525         [293364821b61]
19526
19527         * sudo.h:
19528         added struct sudo_match
19529         [b2684179d179]
19530
19531         * configure.in:
19532         now more -lgnumalloc
19533         [4f8ae42617d8]
19534
19535 1996-08-01  Todd C. Miller  <Todd.Miller@courtesan.com>
19536
19537         * install-sh:
19538         added more paths for chown and whoami
19539         [6e685a19426c]
19540
19541 1996-07-31  Todd C. Miller  <Todd.Miller@courtesan.com>
19542
19543         * check.c:
19544         typo
19545         [3adfa01c04bc]
19546
19547 1996-07-30  Todd C. Miller  <Todd.Miller@courtesan.com>
19548
19549         * aclocal.m4:
19550         fixed DUNIX check for shadow pw
19551         [c25324bcd27b]
19552
19553         * tgetpass.c:
19554         now only turn off echo if it is already on. this fixes a race when
19555         you use sudo in a pipelin
19556         [28388c2de21c]
19557
19558         * INSTALL:
19559         updated
19560         [b45ac9366b7e]
19561
19562         * configure.in:
19563         changed "test -z $foo && do_this" to if; then construct
19564         [2183c4426bca]
19565
19566 1996-07-29  Todd C. Miller  <Todd.Miller@courtesan.com>
19567
19568         * configure.in:
19569         added missing defines of SHADOW_TYPE
19570         [be89ea68a7f3]
19571
19572 1996-07-26  Todd C. Miller  <Todd.Miller@courtesan.com>
19573
19574         * check.c:
19575         protect AUTH_CRYPT_OLDCRYPT and AUTH_CRYPT_C1CRYPT since they are
19576         only in dunix 4.x
19577         [1e7c1c677263]
19578
19579         * getspwuid.c:
19580         added AUTH_CRYPT_C1CRYPT support
19581         [88d6b0058b20]
19582
19583         * parse.c:
19584         no longer return VALIDATE_NOT_OK if there was a runas that didn't
19585         match. Now we can have runas stuff on more than one line.
19586         [52b68920d7b7]
19587
19588         * getspwuid.c, sudo.c, tgetpass.c:
19589         use SHADOW_TYPE instead of HAVE_C2_SECURITY
19590         [cf401dfcbc06]
19591
19592         * configure.in:
19593         got rid of HAVE_C2_SECURITY SHADOW_TYPE is always defined to
19594         something
19595         [c7a233c4dd93]
19596
19597         * config.h.in:
19598         removed HAVE_C2_SECURITY added SPW_BSD
19599         [8314405e9754]
19600
19601         * compat.h:
19602         use SHADOW_TYPE instead of HAVE_C2_SECURITY
19603         [6f94870df17f]
19604
19605         * check.c:
19606         SHADOW_TYPE is always defined so just against its value
19607         [72c69a55d02f]
19608
19609         * aclocal.m4:
19610         added SUDO_CHECK_SHADOW_DUNIX
19611         [ef025ae9d496]
19612
19613 1996-07-25  Todd C. Miller  <Todd.Miller@courtesan.com>
19614
19615         * sudoers.pod:
19616         * -> ?* in one example added another instance of (runas) and one of
19617         NOPASSWD:
19618         [d74fe1dcbe7d]
19619
19620 1996-07-24  Todd C. Miller  <Todd.Miller@courtesan.com>
19621
19622         * configure.in:
19623         added back check for config.cache from other host type
19624         [0ba87871f585]
19625
19626         * parse.lex:
19627         removed an instance of \"
19628         [1e008d3709f6]
19629
19630         * sample.sudoers:
19631         added an example
19632         [dbfcf68ee330]
19633
19634         * sudoers.pod:
19635         updated wrt new wildcard matching
19636         [193fa44a475b]
19637
19638         * configure.in:
19639         new check for shadow passwords if we don't know anything
19640         [67465df7dc9a]
19641
19642         * aclocal.m4:
19643         new SUDO_CHECK_SHADOW_GENERIC
19644         [3563b16a41b8]
19645
19646         * configure.in:
19647         added back check for -lsocket (oops)
19648         [a80882ee1cb6]
19649
19650         * configure.in:
19651         better (working) check for shadow passwd type if we know to use C2.
19652         [3cdd2a59a641]
19653
19654         * configure.in:
19655         now uses AC_CANONICAL_HOST to figure out os type
19656         [80db7fe6e704]
19657
19658         * Makefile.in:
19659         added config.{guess,sub}
19660         [c6be7e3ca384]
19661
19662         * aclocal.m4:
19663         removed unused stuff to figure out os type
19664         [c9a0f3b57123]
19665
19666         * config.sub:
19667         added openbsd
19668         [bfc6bfec3668]
19669
19670         * config.sub:
19671         Initial revision
19672         [e6e06ce0d17d]
19673
19674         * config.guess:
19675         Initial revision
19676         [99dd06f79199]
19677
19678         * testsudoers.c:
19679         don't call fnmatch() with FNM_PATHNAME flag unless it can only be a
19680         pathname. need to check against sudoers_args even if user_args is
19681         nil
19682         [66e6cf77f5d6]
19683
19684         * parse.c:
19685         don't call fnmatch() with FNM_PATHNAME flag unless it can only be a
19686         pathname need to check against sudoers_args even if user_args is nil
19687         [74374df17311]
19688
19689 1996-07-23  Todd C. Miller  <Todd.Miller@courtesan.com>
19690
19691         * check.c:
19692         added support for AUTH_CRYPT_OLDCRYPT w/ DUNIX C2
19693         [cbb00261c415]
19694
19695         * testsudoers.c:
19696         now takes command line args and uses cmnd_args
19697         [f0c2fd35a527]
19698
19699         * parse.lex:
19700         fill_args was adding an extra leading space
19701         [692fc999b2e8]
19702
19703 1996-07-22  Todd C. Miller  <Todd.Miller@courtesan.com>
19704
19705         * visudo.c:
19706         fixed dummy command_matches()
19707         [93d9543db6e2]
19708
19709         * parse.yacc:
19710         fixed prototype
19711         [7b0addfbd429]
19712
19713         * sudo.h:
19714         added cmnd_args
19715         [8f47c4ae65ef]
19716
19717         * parse.yacc:
19718         now uses flat args string
19719         [016e65877da3]
19720
19721         * parse.c, parse.lex:
19722         now uses flat arg string
19723         [5b5f2e3f4c09]
19724
19725         * visudo.c:
19726         added cmnd_args def
19727         [876867134775]
19728
19729         * sudo.c:
19730         now sets cmnd_args global
19731         [e6fee70cb59b]
19732
19733         * logging.c:
19734         cmnd_args is now exported from sudo.[ch]
19735         [7a9cd36e356f]
19736
19737 1996-07-21  Todd C. Miller  <Todd.Miller@courtesan.com>
19738
19739         * parse.yacc:
19740         can't rely on cmnd_matches as much as I thought -- added some $$
19741         stuff back in to prevent namespace pollution problems.
19742         [3c45fedb5af3]
19743
19744         * parse.yacc:
19745         Simplified parse rules wrt runas and NOPASSWD (more consistent).
19746         [e6d838c8a4c7]
19747
19748 1996-07-20  Todd C. Miller  <Todd.Miller@courtesan.com>
19749
19750         * parse.lex:
19751         NOPASSWD may now have blanks before the ':' '(' only starts a
19752         'runas' if in the initial state to avoid collision with command args
19753         [c5c01172f499]
19754
19755         * configure.in:
19756         added checks for specific shadow passwd schemes
19757         [b7e3d1f7b84f]
19758
19759         * aclocal.m4:
19760         added routines to check for specific shadow passwd types
19761         [e5e1d19960a6]
19762
19763 1996-07-18  Todd C. Miller  <Todd.Miller@courtesan.com>
19764
19765         * configure.in:
19766         added support for ncr boxen
19767         [bea9dc5aae7f]
19768
19769         * aclocal.m4:
19770         added support for detecting ncr boxen
19771         [8653a158a924]
19772
19773 1996-07-16  Todd C. Miller  <Todd.Miller@courtesan.com>
19774
19775         * configure.in:
19776         added sinix support
19777         [5de2b2173ee1]
19778
19779 1996-07-14  Todd C. Miller  <Todd.Miller@courtesan.com>
19780
19781         * TROUBLESHOOTING:
19782         added info about "config.cache from other other" error.
19783         [845b10198e0b]
19784
19785         * aclocal.m4:
19786         now makes sure you don't have a config.cache file from another OS
19787         [4fe32571c021]
19788
19789         * configure.in:
19790         now sets $LIBS when needed to configure links with libs when doing
19791         tests hpux10 now uses SPW_SECUREWARE for C2 added check for
19792         bigcrypt(3) if SPW_SECUREWARE
19793         [2df6b8ca538f]
19794
19795         * getspwuid.c:
19796         fixed typo
19797         [fe1cb1d792d6]
19798
19799         * tgetpass.c:
19800         now include stuff for SPW_SECUREWARE to get AUTH_MAX_PASSWD_LENGTH
19801         [f71138372c07]
19802
19803         * getspwuid.c:
19804         no more SPW_HPUX10
19805         [cfdeb18bc16b]
19806
19807         * config.h.in:
19808         no more SPW_HPUX10 added HAVE_BIGCRYPT
19809         [00d296479a61]
19810
19811         * compat.h:
19812         now uses AUTH_MAX_PASSWD_LENGTH if SPW_SECUREWARE
19813         [6c6d9e680417]
19814
19815         * check.c:
19816         SPW_SECUREWARE now uses bigcrypt
19817         [be71fc66690f]
19818
19819 1996-07-13  Todd C. Miller  <Todd.Miller@courtesan.com>
19820
19821         * sample.sudoers:
19822         fixed 2 syntax errors
19823         [45eee19ef4ac]
19824
19825         * sudoers:
19826         root may now run ALL as ALL
19827         [1b54c6b9b212]
19828
19829 1996-07-12  Todd C. Miller  <Todd.Miller@courtesan.com>
19830
19831         * interfaces.c:
19832         fixed a typo/thinko that broke BSD's with sa_len
19833         [603438360126]
19834
19835 1996-07-08  Todd C. Miller  <Todd.Miller@courtesan.com>
19836
19837         * check.c, configure.in:
19838         updated AFS support
19839         [e572eb8d177a]
19840
19841         * TROUBLESHOOTING:
19842         added entry about /usr/ucb/cc
19843         [025b353aa9d3]
19844
19845         * INSTALL:
19846         prep no longer holds gcc binaries
19847         [8b0942958049]
19848
19849         * INSTALL:
19850         updated AFS note
19851         [7af6efd5abe4]
19852
19853         * Makefile.in:
19854         added @AFS_LIBS@
19855         [97b6fe6ad7d6]
19856
19857         * compat.h:
19858         AFS allows long passwords
19859         [5fb17122c302]
19860
19861         * testsudoers.c:
19862         fixed -u user support
19863         [b1a0c1648639]
19864
19865         * parse.c:
19866         sudo -v now groks VALIDATE_OK_NOPASS
19867         [74fc03fffe7e]
19868
19869         * parse.yacc:
19870         fixed no_passwd vs. runas_matched
19871         [549a9b791a6a]
19872
19873         * TROUBLESHOOTING:
19874         took out stuff about NFS-mounting since it is no longer an issue
19875         [d95ab7fbbc61]
19876
19877         * INSTALL:
19878         added --with-libraries > --with-libpath --with-incpath
19879         [d5d15a7a0f4c]
19880
19881         * parse.yacc:
19882         was setting runas_matches to -1 in wrong place
19883         [db2b1deb8d33]
19884
19885         * check.c:
19886         removed usersec.h which is not present in new AFS versions
19887         [618b016dd17f]
19888
19889         * tgetpass.c:
19890         now deals with timeout <= 0
19891         [ba53a1257255]
19892
19893         * OPTIONS:
19894         updated
19895         [75093bd8fdca]
19896
19897         * configure.in:
19898         BSD/OS >= 2.0 now uses shlicc instead of just gcc
19899         [ff6dbf7825c2]
19900
19901         * sudo.c:
19902         fixed backwards compatibility with sudo 1.4 sudoers mode for root
19903         readable/writable filesystems
19904         [2694ed627221]
19905
19906         * Makefile.in:
19907         now gives INSTALL -c flag
19908         [63db055a2fd1]
19909
19910         * parse.yacc:
19911         slightly simpler initialization of no_passwd and runas_matches
19912         [463a1b5fa323]
19913
19914         * testsudoers.c:
19915         added -u username support
19916         [38b072fcd6b3]
19917
19918         * configure.in:
19919         improved --with-libraries support
19920         [047dbc5f0af2]
19921
19922 1996-07-07  Todd C. Miller  <Todd.Miller@courtesan.com>
19923
19924         * configure.in:
19925         added --with-incpath, --with-libpath, --with-libraries
19926         [20f20d6c718c]
19927
19928         * parse.yacc:
19929         now initializes some fields that weren't getting set to -1 pretty
19930         gross -- need a rewrite.
19931         [021c160390c6]
19932
19933 1996-06-26  Todd C. Miller  <Todd.Miller@courtesan.com>
19934
19935         * alloca.c:
19936         removed emacs'isms
19937         [9d4ec2efe057]
19938
19939         * configure.in:
19940         no longer add -lPW to *_LIBS since we include alloca.c
19941         [a626d1bbea80]
19942
19943         * config.h.in:
19944         added HAVE_ALLOCA_H
19945         [15491e2a6cff]
19946
19947         * Makefile.in:
19948         added alloca.c
19949         [0400f25e1fe4]
19950
19951         * alloca.c:
19952         Initial revision
19953         [06d033aa4882]
19954
19955         * configure.in:
19956         ++version
19957         [f52c0fb98f90]
19958
19959 1996-06-25  Todd C. Miller  <Todd.Miller@courtesan.com>
19960
19961         * sudo.c:
19962         now set uid to 1 instead of nobody for PERM_SUDOERS since nobody is
19963         not always set to a valid uid.
19964         [c2669f77704d]
19965
19966         * OPTIONS:
19967         fixed entry for SUDO_MODE
19968         [d7272f6035b8]
19969
19970         * sudo.c:
19971         Fixed NFS-mounted sudoers file under solaris both uid *and* gid were
19972         being set to -2. Now beat NFS to the punch and set uid to "nobody"
19973         ourselves, preserving group 0 to read sudoers.
19974         [b1fbc5dd1e34]
19975
19976         * parse.c:
19977         moved set_perms(PERM_ROOT) to be before yyparse()
19978         [7619d8080735]
19979
19980         * logging.c:
19981         fixed a typo
19982         [318acc48cde0]
19983
19984         * configure.in:
19985         no longer need AC_PROG_INSTALL
19986         [de01b1336dc8]
19987
19988         * Makefile.in:
19989         always use install-sh to avoid install(1)'s that use get{pw,gr}nam
19990         [ea2351986406]
19991
19992         * INSTALL:
19993         make clean -> make distclean
19994         [704a98e8ba10]
19995
19996 1996-06-20  Todd C. Miller  <Todd.Miller@courtesan.com>
19997
19998         * parse.yacc:
19999         removed some unnecsary if's
20000         [f00db6508132]
20001
20002         * Makefile.in, version.h:
20003         ++version
20004         [bdb6740b24c8]
20005
20006         * parse.c, testsudoers.c:
20007         now includes netgroup.h
20008         [93f5a06352bc]
20009
20010         * interfaces.c:
20011         removed cats of ioctl to int since they didn't shut up -Wall
20012         [83e9f912cd7a]
20013
20014         * interfaces.c:
20015         explicately cast ioctl() to int since it it not always declared
20016         [2ff9294e469e]
20017
20018         * sudo.h:
20019         added declarations for yyparse() and yylex()
20020         [6071321ab771]
20021
20022         * parse.yacc:
20023         fixed an occurence of '==' -> '='
20024         [2c46d2e11d57]
20025
20026         * config.h.in, configure.in:
20027         added check for netgroup.h
20028         [73403050f4e3]
20029
20030         * sudo.c:
20031         fixed 2 compiler warnings
20032         [680929b0bd97]
20033
20034         * sudo.c:
20035         SHELL_IF_NO_ARGS caused core dump since NewArg[cv] weren't being
20036         initialized
20037         [18707ecd07c2]
20038
20039 1996-06-19  Todd C. Miller  <Todd.Miller@courtesan.com>
20040
20041         * sudo.pod:
20042         fixed a typo
20043         [e4b5c12aa130]
20044
20045 1996-06-17  Todd C. Miller  <Todd.Miller@courtesan.com>
20046
20047         * parse.yacc:
20048         fixed a formatting thingie
20049         [c79327b6f19b]
20050
20051         * parse.c, parse.yacc:
20052         fixed -u support with multiple user lists on a line
20053         [e4d1066adca2]
20054
20055         * configure.in:
20056         unixware needs -lgen
20057         [b5bf9bca63cc]
20058
20059         * README:
20060         updated ftp location
20061         [b25a033f7921]
20062
20063         * sudoers.pod:
20064         add net_addr/netmask support
20065         [674e83516d1e]
20066
20067         * sample.sudoers:
20068         added net_addr/mask example
20069         [774878e89b28]
20070
20071         * parse.c, parse.lex:
20072         added support for net_addr/netmask
20073         [e33de27325d8]
20074
20075 1996-06-16  Todd C. Miller  <Todd.Miller@courtesan.com>
20076
20077         * sudoers.pod:
20078         ^ -> !
20079         [1a084950d6ef]
20080
20081 1996-06-15  Todd C. Miller  <Todd.Miller@courtesan.com>
20082
20083         * RUNSON:
20084         updated for 1.4.3
20085         [c82019025d09]
20086
20087         * CHANGES:
20088         udpated for 1.4.3
20089         [ceaa81adb8f0]
20090
20091         * BUGS, TODO, TROUBLESHOOTING:
20092         updated
20093         [ff94fae4b853]
20094
20095         * sample.sudoers:
20096         updated with examples of new stuff
20097         [99d0b4cb4c9c]
20098
20099         * INSTALL, README:
20100         ++version
20101         [b763b80fe836]
20102
20103         * sudoers.pod:
20104         updated wrt -u and NOPASSWD
20105         [0b5b722ea0f4]
20106
20107         * sudo.pod:
20108         updated wrt -u and CAVEATS
20109         [71d5d53b5d18]
20110
20111 1996-06-09  Todd C. Miller  <Todd.Miller@courtesan.com>
20112
20113         * sudo.c:
20114         fixed usage()
20115         [114c7d09b550]
20116
20117         * parse.lex:
20118         now use :foo: character classes (makes no diff for generated lexer)
20119         [7b0aeb737a02]
20120
20121 1996-06-07  Todd C. Miller  <Todd.Miller@courtesan.com>
20122
20123         * check.c:
20124         fixed LONG_SKEY_PROMPT stuff
20125         [0efe78b4bdda]
20126
20127 1996-06-06  Todd C. Miller  <Todd.Miller@courtesan.com>
20128
20129         * visudo.c:
20130         fixed a comment
20131         [3d289017104b]
20132
20133         * lsearch.c:
20134         make more like NetBSD one -- now compiles w/o warnings
20135         [932206296a54]
20136
20137         * emul/search.h:
20138         fixed decls of lsearch()
20139         [c58cf4584c45]
20140
20141         * config.h.in, configure.in, getspwuid.c:
20142         added SPW_HPUX10
20143         [d74e5eaa5f17]
20144
20145         * check.c:
20146         hpux 10 uses bigcrypt() if C2
20147         [359eb63f4021]
20148
20149 1996-06-04  Todd C. Miller  <Todd.Miller@courtesan.com>
20150
20151         * parse.c:
20152         now always uses fnmatch to match args
20153         [a9d91f35256a]
20154
20155         * tgetpass.c:
20156         back to using stdio instead of raw i/o since that caused some
20157         problems
20158         [e7ce2bc92974]
20159
20160 1996-05-29  Todd C. Miller  <Todd.Miller@courtesan.com>
20161
20162         * sudo.c:
20163         now give usage warning if use -l,-v,-k with args
20164         [6b48180c4fea]
20165
20166 1996-05-28  Todd C. Miller  <Todd.Miller@courtesan.com>
20167
20168         * sudo.c:
20169         NewArgc is now set to 1 for -l, -v, -k
20170         [7497cb1416a8]
20171
20172         * sudo.c:
20173         now sets sudoers to correct group if mode is 0400
20174         [484c43d99718]
20175
20176         * install-sh:
20177         updated to version used by inn and bind
20178         [28683ad8725a]
20179
20180         * configure.in:
20181         now uses -lgnumalloc if it exists
20182         [3651ca4415a2]
20183
20184         * Makefile.in:
20185         "make install" now sets uid/gid and mode on sudoers if it exists
20186         [1f5216191ae9]
20187
20188         * sudo.c:
20189         rmeoved debugging statements
20190         [aeda278e2c26]
20191
20192         * parse.yacc:
20193         added a missing free()
20194         [592c9482a159]
20195
20196         * sudo.c:
20197         now uses user_gid instead of getegid (which was wrong anyway) to set
20198         SUDO_GID Now sets command line args in SUDO_COMMAND envariabled
20199         (logging.c depends on args being in the environment)
20200         [9f5328a3b942]
20201
20202         * logging.c:
20203         now uses SUDO_COMMAND envariable to get command args rather than
20204         building it up again.
20205         [7f8edc5bccb7]
20206
20207         * parse.c:
20208         now uses user_gid
20209         [4b9303ae45fe]
20210
20211         * sudo.c:
20212         fixed off by one error in allocation NewArgv
20213         [921ea1a4e7c6]
20214
20215         * parse.c:
20216         in sudoers, 'command ""' now means command with no args
20217         [a5273648ace2]
20218
20219         * configure.in:
20220         added check for fnmatch(3) and fnmatch.h
20221         [258916a7866f]
20222
20223         * config.h.in:
20224         added HAVE_FNMATCH
20225         [b9860d361e93]
20226
20227         * Makefile.in:
20228         replaced wildcat.* with fnmatch.*
20229         [03ad9ee21a1c]
20230
20231         * testsudoers.c:
20232         now uses fnmatch()
20233         [5a7f7de987a9]
20234
20235 1996-05-27  Todd C. Miller  <Todd.Miller@courtesan.com>
20236
20237         * parse.c:
20238         now uses fnmatch() instead of wildmat a trailing star (*) by itself
20239         now matches multiple args added support for wildcards in the
20240         pathname in sudoers
20241         [1f7fb950b868]
20242
20243 1996-05-25  Todd C. Miller  <Todd.Miller@courtesan.com>
20244
20245         * fnmatch.c:
20246         now includes compat.h and config.h
20247         [090206b95cf8]
20248
20249         * config.h.in:
20250         added HAVE_FNMATCH_H
20251         [90eb42150173]
20252
20253         * configure.in:
20254         now checks for alloca() (if needed by bison or dce) and links with
20255         -lPW if it contains alloca() and libv and compiler do not.
20256         [cfa2b3cef49a]
20257
20258         * emul/fnmatch.h, fnmatch.3, fnmatch.c:
20259         Initial revision
20260         [20b1f762a32a]
20261
20262 1996-04-29  Todd C. Miller  <Todd.Miller@courtesan.com>
20263
20264         * sudo.c:
20265         now fixes mode on sudoers if set to 0400 to aid in upgrade
20266         [d4bdfd521820]
20267
20268 1996-04-28  Todd C. Miller  <Todd.Miller@courtesan.com>
20269
20270         * Makefile.in:
20271         fixed pod2man usage
20272         [5adf2ec77b27]
20273
20274         * Makefile.in, configure.in, version.h:
20275         ++version
20276         [b4029de876d0]
20277
20278         * testsudoers.c, visudo.c:
20279         runas_user is now initialized to "root"
20280         [8537d97bff39]
20281
20282         * sudo.h:
20283         removed PERM_FULL_ROOT
20284         [241f8bbf647f]
20285
20286         * sudo.c:
20287         runas_user defaults to "root" so no more need to PERM_RUNAS
20288         [fc0c0dfc72ba]
20289
20290         * parse.c:
20291         will now only running commands as root if there was no runas list
20292         (or if root is in the runas list)
20293         [40c587666c81]
20294
20295         * logging.c:
20296         now logs "USER=%s"
20297         [b733504c87fd]
20298
20299         * parse.yacc:
20300         runas_matches is now set to false if we get a negative match
20301         [5495b150b300]
20302
20303         * parse.lex:
20304         make #uid work + some minor cleanup
20305         [07851bbce03a]
20306
20307         * sample.sudoers:
20308         added support for NOPASSWD and "runas" from garp@opustel.com /
20309         [7a9c67b51fa5]
20310
20311         * visudo.c:
20312         added support for "runas" from garp@opustel.com replaced
20313         SUDOERS_OWNER with SUDOERS_UID, SUDOERS_GID added support for
20314         SUDOERS_MODE
20315         [e714209b9885]
20316
20317         * testsudoers.c:
20318         added support for "runas" from garp@opustel.com
20319         [b837f856da10]
20320
20321         * sudo.h:
20322         added support for NO_PASSWD and runas from garp@opustel.com replaced
20323         SUDOERS_OWNER with SUDOERS_UID and SUDOERS_GID and added support
20324         fro SUDOERS_MODE
20325         [cea6f26679b7]
20326
20327         * sudo.c:
20328         added support for NO_PASSWD and runas from garp@opustel.com replaced
20329         SUDOERS_OWNER with SUDOERS_UID and SUDOERS_GID and added support fro
20330         SUDOERS_MODE
20331         [61b5434237c5]
20332
20333         * parse.yacc:
20334         added support for NO_PASSWD and runas from garp@opustel.com
20335         [72ebd3056f22]
20336
20337         * parse.c, parse.lex:
20338         added support for NO_PASSWD and runas from garp@opustel.com
20339         [fef6dbdd114d]
20340
20341         * logging.c:
20342         added support for SUDOERS_WRONG_MODE and "runas"
20343         [e794efc2b443]
20344
20345         * configure.in:
20346         added --with-CC only link with -lshadow on linux (with shadow pw) if
20347         libc lacks getspnam()
20348         [3ecf4ae21002]
20349
20350         * OPTIONS, options.h:
20351         removed NO_PASSWD since it is not possible to do this in the sudoers
20352         file itself. Replaced SUDOERS_OWNER with SUDOERS_UID and
20353         SUDOERS_GID. Added SUDOERS_MODE.
20354         [2eaa4891ef48]
20355
20356         * Makefile.in:
20357         now uses SUDOERS_UID and SUDOERS_GID
20358         [8d615f0fdb2a]
20359
20360 1996-04-27  Todd C. Miller  <Todd.Miller@courtesan.com>
20361
20362         * INSTALL:
20363         added --with-CC
20364         [a1b8286a81b8]
20365
20366 1996-04-06  Todd C. Miller  <Todd.Miller@courtesan.com>
20367
20368         * parse.lex:
20369         added double quote support
20370         [a5e4fc7e3a2b]
20371
20372         * sudoers.pod:
20373         documented double quoting
20374         [c6ea47969a44]
20375
20376 1996-04-05  Todd C. Miller  <Todd.Miller@courtesan.com>
20377
20378         * mkinstalldirs:
20379         Initial revision
20380         [dcb86d65ad8f]
20381
20382         * check.c:
20383         fixed some indentation
20384         [4d1c5ab8072b]
20385
20386         * Makefile.in:
20387         fixed a typo
20388         [0d27eebc7227]
20389
20390         * Makefile.in:
20391         added install-dirs .
20392         [f499b99b8be7]
20393
20394 1996-04-04  Todd C. Miller  <Todd.Miller@courtesan.com>
20395
20396         * dce_pwent.c:
20397         new version from "Jeff A. Earickson" <jaearick@colby.edu>
20398         [422481be5fbd]
20399
20400 1996-04-03  Todd C. Miller  <Todd.Miller@courtesan.com>
20401
20402         * configure.in:
20403         $CSOPS -> $with_csops (whoops, missed one)
20404         [b04c6948130e]
20405
20406         * BUGS:
20407         updated
20408         [c4d5713e227d]
20409
20410         * parse.lex:
20411         FQHOST now has same constraints as non-FQHOST
20412         [e1c3bf2381d1]
20413
20414         * INSTALL:
20415         added note about OS's w/ shadow passwords turned on by default
20416         [166257f43be4]
20417
20418 1996-04-02  Todd C. Miller  <Todd.Miller@courtesan.com>
20419
20420         * configure.in:
20421         fixed a typo
20422         [e5c3e2e9a359]
20423
20424         * configure.in:
20425         added support for --without-THING sanitized shadow pw situtation by
20426         adding support for
20427         --without-C2
20428         [65dc6bf64cce]
20429
20430         * tgetpass.c:
20431         fixed a typo wrt placement of an end paren
20432         [a8780f818231]
20433
20434         * check.c:
20435         was closing an fd that may not have been opened
20436         [760271c7bdc9]
20437
20438 1996-03-22  Todd C. Miller  <Todd.Miller@courtesan.com>
20439
20440         * OPTIONS, options.h, sudo.c:
20441         added NO_PASSWD
20442         [28ff1dc93d7a]
20443
20444 1996-03-20  Todd C. Miller  <Todd.Miller@courtesan.com>
20445
20446         * configure.in:
20447         now always use shadow pw on some arches
20448         [069161ccffda]
20449
20450 1996-03-19  Todd C. Miller  <Todd.Miller@courtesan.com>
20451
20452         * configure.in:
20453         added pyramid support
20454         [a0eb57a3a531]
20455
20456         * configure.in:
20457         no longer check for C2 if alternate passwd method is used no longer
20458         check for some libs twice
20459         [2d0c3c902b40]
20460
20461         * parse.yacc:
20462         moved fqdn stuff into parse.lex (FQHOST)
20463         [d9c9abd481d8]
20464
20465         * parse.lex:
20466         added FQHOST rules
20467         [4a1695acff6d]
20468
20469         * tgetpass.c:
20470         now define TCSASOFT in necesary
20471         [3fac2e21c9ab]
20472
20473         * tgetpass.c:
20474         now uses read/write instead of stdio string goop to avoid problems
20475         with select(2)
20476         [67fd174e518c]
20477
20478         * OPTIONS, find_path.c, options.h:
20479         -DNO_DOT_PATH -> -DIGNORE_DOT_PATH
20480         [d05ba5100d28]
20481
20482 1996-03-17  Todd C. Miller  <Todd.Miller@courtesan.com>
20483
20484         * INSTALL:
20485         added note about no shadow auto-detect if using alternate auth
20486         schemes
20487         [b425592232a3]
20488
20489         * configure.in:
20490         don't check for C2 if AFS or DCE (unless they said --with-C2)
20491         [61342962171a]
20492
20493         * testsudoers.c:
20494         now groks shost
20495         [85dda17303f6]
20496
20497         * OPTIONS, find_path.c, options.h:
20498         added NO_DOT_PATH
20499         [c261ca1fb196]
20500
20501 1996-03-16  Todd C. Miller  <Todd.Miller@courtesan.com>
20502
20503         * find_path.c:
20504         checkdot now works correctly
20505         [3bc4835bb3e9]
20506
20507 1996-03-12  Todd C. Miller  <Todd.Miller@courtesan.com>
20508
20509         * configure.in:
20510         can't have DCE and C2 passwords both...
20511         [fb9a8ab7ca66]
20512
20513 1996-03-11  Todd C. Miller  <Todd.Miller@courtesan.com>
20514
20515         * parse.yacc, sudo.c, sudo.h, visudo.c:
20516         now uses shost even if not FQDN
20517         [87f7498b3a1f]
20518
20519         * configure.in:
20520         now looks for skey in /usr/lib and doesn't require libskey to be in
20521         /usr/local/lib just because skey.h is (for my netbsd box :-)
20522         [ceb1763e37d2]
20523
20524         * aclocal.m4, config.h.in, pathnames.h.in:
20525         _SUDO_PATH_ -> _CONFIG_PATH_
20526         [84d97ad13d75]
20527
20528         * aclocal.m4, sudo.pod:
20529         /var/run/.odus -> /var/run/sudo
20530         [922da220b8f5]
20531
20532         * pathnames.h.in:
20533         now uses _SUDO_PATH_TIMEDIR
20534         [5ecab0155fdf]
20535
20536         * OPTIONS:
20537         udpated FQDN
20538         [361b6f7440c0]
20539
20540         * aclocal.m4, configure.in:
20541         added SUDO_TIMEDIR
20542         [368c95c8c950]
20543
20544         * config.h.in:
20545         added _SUDO_PATH_TIMEDIR
20546         [3879864d808c]
20547
20548         * sudo.pod:
20549         updated wrt /var/run/sudo
20550         [9e14f2a429d3]
20551
20552         * sudo.c, sudo.h:
20553         added support for shost if FQDN
20554         [51a3f51a09a1]
20555
20556         * parse.yacc, visudo.c:
20557         now uses shost if FQDN
20558         [d19da2e92b42]
20559
20560         * check.c:
20561         Now use skeylookup() instead off skeychallenge()
20562         [4c7438bb2ae0]
20563
20564 1996-02-28  Todd C. Miller  <Todd.Miller@courtesan.com>
20565
20566         * logging.c:
20567         mail_argv should not contain ALERTMAIL as it includes "-t"
20568         [67ffaaa8f843]
20569
20570 1996-02-22  Todd C. Miller  <Todd.Miller@courtesan.com>
20571
20572         * INSTALL, Makefile.in, README, configure.in, version.h:
20573         ++version
20574         [e08fd4a809fc]
20575
20576         * compat.h:
20577         added more _PASSWD_LEN stuff -- now uses PASS_MAX too
20578         [2f20c3153689]
20579
20580         * tgetpass.c:
20581         now includes limits.h moved _PASSWD_LEN -> compat.h
20582         [b1ca3cafdacc]
20583
20584 1996-02-06  Todd C. Miller  <Todd.Miller@courtesan.com>
20585
20586         * INSTALL, README:
20587         ++version
20588         [3eacf32803f5]
20589
20590         * Makefile.in:
20591         ++versoin
20592         [3b91c317630a]
20593
20594         * Makefile.in:
20595         fixed a typo
20596         [3661ac4a7803]
20597
20598         * configure.in:
20599         ++version
20600         [60e842973745]
20601
20602 1996-02-05  Todd C. Miller  <Todd.Miller@courtesan.com>
20603
20604         * RUNSON:
20605         updated
20606         [def2c3c24195]
20607
20608         * CHANGES:
20609         done for 1.4.1 (I hope)
20610         [2ab543769a40]
20611
20612         * sudoers.pod:
20613         added info on wildcards
20614         [ce3bd41bc063]
20615
20616         * sample.sudoers:
20617         added wildcard example
20618         [762feb0577bd]
20619
20620         * Makefile.in:
20621         now uses *.pod to build *.man and *.cat & *.html
20622         [3ec14962028b]
20623
20624         * configure.in:
20625         addedSUDO_PROG_BSHELL !ll
20626         [3c80b320bf16]
20627
20628         * visudo.pod:
20629         fixed up some formatting
20630         [12166c434526]
20631
20632         * sudoers.pod:
20633         redid section describing sample sudoers stuff
20634         [b8065cceec71]
20635
20636         * sudo.pod:
20637         fixed some formatting
20638         [aa9a681add0f]
20639
20640         * getspwuid.c:
20641         now treats "" as bourne shell
20642         [30194a72ad56]
20643
20644         * Makefile.in:
20645         TESTOBJS nwo includes wildmat.o
20646         [86cc6500f84d]
20647
20648         * testsudoers.c:
20649         now works with NewArg[cv]
20650         [2f72674ce942]
20651
20652         * sudo.c:
20653         removed an XXX (fixed it in getspwuid.c)
20654         [e791ee0d1a68]
20655
20656         * aclocal.m4:
20657         added check for bourne shell
20658         [a2fd51676b8a]
20659
20660         * pathnames.h.in:
20661         added _PATH_BSHELL
20662         [e7c10011d47b]
20663
20664         * config.h.in:
20665         added _SUDO_PATH_BSHELL
20666         [6a1182898de9]
20667
20668 1996-02-04  Todd C. Miller  <Todd.Miller@courtesan.com>
20669
20670         * visudo.c:
20671         unixware vi returns 256 instead of 0
20672         [234ffc7c6786]
20673
20674         * INSTALL:
20675         added Linux note
20676         [5f85efcd2b58]
20677
20678         * logging.c:
20679         fixed up some XXX's. file log format now looks a little more like
20680         real syslog(3) format.
20681         [6df55707bfc3]
20682
20683         * README, TROUBLESHOOTING:
20684         updated wrt lex/flex
20685         [eb787d69156b]
20686
20687         * Makefile.in:
20688         commented out rule to build lex.yy.c from parse.lex since we ship
20689         with a pre-flex'd parser
20690         [7507e2ce4a95]
20691
20692         * parse.c, parse.yacc, visudo.c:
20693         path_matches -> command_matches
20694         [0bd469424f86]
20695
20696         * logging.c:
20697         eliminated some strcat()'s
20698         [9878a79bc374]
20699
20700         * configure.in:
20701         no longer checks for lex/flex (now assumes flex)
20702         [a086ccc73798]
20703
20704         * configure.in:
20705         now checks for $kerb_dir_candidate/krb.h instead of just
20706         kerb_dir_candidate
20707         [9133bc3c5208]
20708
20709 1996-02-03  Todd C. Miller  <Todd.Miller@courtesan.com>
20710
20711         * parse.yacc:
20712         now use a 'hook' expression instead of an iffy one :-)
20713         [9560df01b8c0]
20714
20715 1996-02-02  Todd C. Miller  <Todd.Miller@courtesan.com>
20716
20717         * visudo.c:
20718         now works with new sudo arg stuff
20719         [310a0d43ddad]
20720
20721         * parse.yacc:
20722         fixed dereferencing deadbeef
20723         [474ef8a8006b]
20724
20725         * sudo.c:
20726         changed an occurrence of Argv to NewArgv
20727         [205b012b7691]
20728
20729         * parse.lex:
20730         took out support for quoted commands since there is no need...
20731         [5c5036d353b1]
20732
20733         * parse.c:
20734         fixed a typo in a for() loop
20735         [7e8d5283c43b]
20736
20737         * logging.c:
20738         protected against dereferencing rogue pointers
20739         [56debd517717]
20740
20741         * sudo.c:
20742         now uses NewArgv amd NewArgc so cmnd_aegs is no longer needed this
20743         also allows us to eliminate some kludges in parse_args() and
20744         eliminate superfluous code.
20745         [5122f66ad150]
20746
20747         * logging.c:
20748         no longer uses cmnd_args, now uses NewArgv instead.
20749         [abddd23cf068]
20750
20751         * sudo.h:
20752         added struct sudo_command, NewArgc, and NewArgv removed cmnd_args
20753         (no longer used)
20754         [78410984fb05]
20755
20756         * Makefile.in:
20757         added wildmat.c to SRCS & SUDOBJS
20758         [3800efb41794]
20759
20760         * parse.yacc:
20761         COMMAND is now a struct containing the path and args
20762         [5c32822c5b94]
20763
20764         * parse.lex:
20765         replaced append() with fill_cmnd() and fill_args. command args from
20766         a sudoers entry are now stored in an arrary for easy matching.
20767         [a981d7f4eb0d]
20768
20769         * parse.c:
20770         command line args from sudoers file are now in an array like ones
20771         passed in from the command line
20772         [1d9e37e84519]
20773
20774 1996-02-01  Todd C. Miller  <Todd.Miller@courtesan.com>
20775
20776         * parse.c:
20777         wildwat stuff now works
20778         [49d16488531f]
20779
20780 1996-01-29  Todd C. Miller  <Todd.Miller@courtesan.com>
20781
20782         * version.h:
20783         ++version
20784         [53e55463ef89]
20785
20786         * Makefile.in:
20787         ++version added wildmat.*
20788         [0508297a4711]
20789
20790 1996-01-28  Todd C. Miller  <Todd.Miller@courtesan.com>
20791
20792         * parse.lex:
20793         added support for quoted commands (w/ or w/o args)
20794         [b9a637155673]
20795
20796 1996-01-22  Todd C. Miller  <Todd.Miller@courtesan.com>
20797
20798         * sudo.pod, visudo.pod:
20799         cleaned up formatting
20800         [4591d4195437]
20801
20802         * sudo.pod, visudo.pod:
20803         Initial revision
20804         [7564a8242750]
20805
20806 1996-01-21  Todd C. Miller  <Todd.Miller@courtesan.com>
20807
20808         * sudoers.pod:
20809         looks reasonable, could be mroe readable
20810         [a5be2d19d9e0]
20811
20812         * sudoers.pod:
20813         Initial revision
20814         [957888be31a6]
20815
20816 1996-01-16  Todd C. Miller  <Todd.Miller@courtesan.com>
20817
20818         * RUNSON:
20819         updated
20820         [633743aa924b]
20821
20822         * OPTIONS:
20823         updated NO_ROOT_SUDO entry
20824         [f1c15b1dec9e]
20825
20826 1996-01-15  Todd C. Miller  <Todd.Miller@courtesan.com>
20827
20828         * RUNSON:
20829         *** empty log message ***
20830         [5b63de579ff7] [SUDO_1_4_0]
20831
20832         * sudo.c:
20833         fixed SECURE_PATH
20834         [6002889f606d]
20835
20836         * RUNSON:
20837         udpa`ted for 1.4
20838         [6014a8592815]
20839
20840         * configure.in:
20841         AIX aixcrypt.exp now uses $(srcdir)
20842         [b0d57674fef4]
20843
20844         * TROUBLESHOOTING:
20845         added entry for anal ansi compilers
20846         [4193cec1c6b1]
20847
20848 1996-01-14  Todd C. Miller  <Todd.Miller@courtesan.com>
20849
20850         * INSTALL:
20851         added info on libcrypt_i for SCO
20852         [575497d56698]
20853
20854         * TODO:
20855         *** empty log message ***
20856         [d0aaf67b9913]
20857
20858         * sample.sudoers:
20859         added comments
20860         [a7773f7eda8d]
20861
20862         * TODO:
20863         1.4 release
20864         [1dade29e9fd9]
20865
20866         * CHANGES:
20867         ++version
20868         [67241be40780]
20869
20870         * INSTALL, OPTIONS, README, config.h.in, configure.in:
20871         ++version
20872         [2e0a37897f68]
20873
20874         * BUGS:
20875         ++version and fixed ISC
20876         [78963f01a0e3]
20877
20878         * check.c, compat.h, dce_pwent.c, find_path.c, getspwuid.c, getwd.c,
20879         goodpath.c, ins_2001.h, ins_classic.h, ins_csops.h, ins_goons.h,
20880         insults.h, logging.c, options.h, pathnames.h.in, putenv.c, strdup.c,
20881         sudo.c, sudo.h, sudo_setenv.c, testsudoers.c, tgetpass.c, utime.c,
20882         visudo.c:
20883         ++version
20884         [b6227f29b3d9]
20885
20886         * interfaces.c:
20887         added STUB_LOAD_INTERFACES ++version
20888         [d8150a3fd577]
20889
20890         * Makefile.in, emul/utime.h, parse.c, parse.lex, parse.yacc,
20891         version.h:
20892         ++version
20893         [da9e90e69bdc]
20894
20895         * PORTING:
20896         added info about fd_set in tgetpass added info on interfaces.c
20897         [a39902febd17]
20898
20899 1996-01-11  Todd C. Miller  <Todd.Miller@courtesan.com>
20900
20901         * dce_pwent.c:
20902         added sudo header
20903         [fc0f2c48682e]
20904
20905         * tgetpass.c:
20906         fixed a typo
20907         [43d40b72ee8f]
20908
20909         * Makefile.in:
20910         tgetpass.o is now only linked in with sudo (not visudo)
20911         [7407c5ff11f8]
20912
20913 1996-01-09  Todd C. Miller  <Todd.Miller@courtesan.com>
20914
20915         * BUGS, INSTALL, Makefile.in, OPTIONS, README, config.h.in,
20916         configure.in:
20917         ++version
20918         [9b82ad805d6b]
20919
20920         * emul/utime.h:
20921         added copyright notice
20922         [4380f16cd075]
20923
20924         * check.c, compat.h, find_path.c, getspwuid.c, getwd.c, goodpath.c,
20925         ins_2001.h, ins_classic.h, ins_csops.h, ins_goons.h, insults.h,
20926         interfaces.c, logging.c, options.h, parse.c, parse.lex, parse.yacc,
20927         pathnames.h.in, putenv.c, strdup.c, sudo.c, sudo.h, sudo_setenv.c,
20928         testsudoers.c, tgetpass.c, utime.c, version.h, visudo.c:
20929         ++version
20930         [32717fdb5d05]
20931
20932         * tgetpass.c:
20933         minor cleanup and now includes sys/bsdtypes for svr4'ish boxen
20934         [326864428da2]
20935
20936         * configure.in:
20937         ISC now gets -lcrypt now check for sys/bsdtypes.h
20938         [e064799c054b]
20939
20940         * config.h.in:
20941         added check for sys/bsdtypes.h
20942         [9adb9533c363]
20943
20944 1996-01-07  Todd C. Miller  <Todd.Miller@courtesan.com>
20945
20946         * parse.yacc:
20947         removed debugging stuff (setting freed ptr to NULL)
20948         [02fe8eec63a0]
20949
20950         * TROUBLESHOOTING:
20951         added 2 entries
20952         [02884e2733e2]
20953
20954         * Makefile.in:
20955         added FAQ
20956         [074d8dfcf28d]
20957
20958         * TROUBLESHOOTING:
20959         added section on syslog
20960         [e6bc02a22b86]
20961
20962         * configure.in:
20963         added AC_ISC_POSIX for better ISC support
20964         [8436b3e12af2]
20965
20966         * config.h.in:
20967         fixed typo
20968         [f1b3922babf4]
20969
20970         * config.h.in:
20971         added define for _POSIX_SOURCE
20972         [ded6d92b34f9]
20973
20974 1996-01-04  Todd C. Miller  <Todd.Miller@courtesan.com>
20975
20976         * configure.in:
20977         fixed check for lsearch()
20978         [75baa5bc28a3]
20979
20980 1995-12-22  Todd C. Miller  <Todd.Miller@courtesan.com>
20981
20982         * interfaces.c:
20983         fixed for AIX now deal if num_interfaces == 0 (should not happen)
20984         [ae450e859227]
20985
20986 1995-12-20  Todd C. Miller  <Todd.Miller@courtesan.com>
20987
20988         * configure.in:
20989         now only define HAVE_LSEARCH if there is a corresponding search.h
20990         [8ce645c5d17f]
20991
20992         * interfaces.c:
20993         works on ISC again
20994         [ccac920d424c]
20995
20996 1995-12-18  Todd C. Miller  <Todd.Miller@courtesan.com>
20997
20998         * configure.in:
20999         now define HAVE_LSEARCH if we find lsearch() in libcompat
21000         [7343e4313a87]
21001
21002         * lsearch.c:
21003         char * -> const char *
21004         [1c0b11c2300a]
21005
21006         * configure.in:
21007         now looks in -lcompat for lsearch()
21008         [a1cc1d6fcd09]
21009
21010         * Makefile.in:
21011         remove sudo.core visudo.core for clan target
21012         [b523456a85df]
21013
21014         * aclocal.m4:
21015         added UID_MAX support in check for MAX_UID_T_LEN
21016         [7ab262b1173f]
21017
21018         * Makefile.in:
21019         fixed another occurence of sudo_getpwuid.*
21020         [fb5809c07da2]
21021
21022         * Makefile.in, getspwuid.c:
21023         sudo_getpwuid.c -> getspwuid.c
21024         [875f2ef808b4]
21025
21026         * configure.in:
21027         moved the "echo"
21028         [ad7b8f966076]
21029
21030         * BUGS, CHANGES, INSTALL, Makefile.in, OPTIONS, README, check.c,
21031         compat.h, config.h.in, configure.in, find_path.c, getspwuid.c,
21032         getwd.c, goodpath.c, ins_2001.h, ins_classic.h, ins_csops.h,
21033         ins_goons.h, insults.h, interfaces.c, logging.c, options.h, parse.c,
21034         parse.lex, parse.yacc, pathnames.h.in, putenv.c, strdup.c, sudo.c,
21035         sudo.h, sudo_setenv.c, testsudoers.c, tgetpass.c, utime.c,
21036         version.h, visudo.c:
21037         ++version
21038         [ee57c6410ffa]
21039
21040         * testsudoers.c:
21041         added group support
21042         [54d8097df8bd]
21043
21044         * sample.sudoers:
21045         added group entry
21046         [50994d31fd49]
21047
21048         * sudoers.man:
21049         documented group support
21050         [0a16707f8fed]
21051
21052         * parse.c, parse.lex, parse.yacc, visudo.c:
21053         added group support
21054         [427218c879c8]
21055
21056 1995-12-15  Todd C. Miller  <Todd.Miller@courtesan.com>
21057
21058         * check.c:
21059         tkfile was too short and overflowed the kerberos realm
21060         [53823a1ff5af]
21061
21062 1995-12-11  Todd C. Miller  <Todd.Miller@courtesan.com>
21063
21064         * sudo.c:
21065         now copy command args directly from Argv
21066         [77408278b6fd]
21067
21068         * sudo.c:
21069         replaced code to copy cmnd_args so that is does not use realloc
21070         since most realloc()'s really stink
21071         [b29a0ff73fb6]
21072
21073 1995-12-08  Todd C. Miller  <Todd.Miller@courtesan.com>
21074
21075         * configure.in:
21076         syslog() fixed in hpux 10.01
21077         [2648e6f0cdb0]
21078
21079 1995-12-06  Todd C. Miller  <Todd.Miller@courtesan.com>
21080
21081         * configure.in:
21082         AC_CHECK_LIB() now sets SUDO_LIBS (and VISUDO_LIBS if appropriate)
21083         [8f108b8d8711]
21084
21085         * configure.in:
21086         better error if cannot find skey incs or libs
21087         [5887662ee9d3]
21088
21089         * aclocal.m4:
21090         now use a temp file for determining max len of uid_t in string form.
21091         the old hacky way broke on netbsd
21092         [b68f470fa9f8]
21093
21094         * sudo.c:
21095         added set of parens and a space
21096         [8a3d4826d022]
21097
21098 1995-12-05  Todd C. Miller  <Todd.Miller@courtesan.com>
21099
21100         * dce_pwent.c:
21101         fixes from Jeff Earickson <jaearick@colby.edu> ,
21102         [bde0f0b756ec]
21103
21104         * check.c:
21105         modified a comment
21106         [e2a97f1afbbe]
21107
21108         * Makefile.in:
21109         fixed up testsudoers target
21110         [d39c4e7bb609]
21111
21112         * configure.in:
21113         DCE changes from Jeff Earickson <jaearick@colby.edu> LIBS ->
21114         SUDO_LIBS and VISUDO_LIBS LDFLAGS -> SUDO_FDFLAGS and VISUDO_LDFLAGS
21115         [da7a1c433828]
21116
21117         * Makefile.in:
21118         LIBS -> SUDO_LIBS , VISUDO_LIBS LDFLAGS -> SUDO_LDFLAGS,
21119         VISUDO_LDFLAGS
21120         [4b69503e8487]
21121
21122 1995-11-28  Todd C. Miller  <Todd.Miller@courtesan.com>
21123
21124         * configure.in:
21125         fix for C2 on hpux 10 now uses -linet if it exists
21126         [8d300112263d]
21127
21128         * check.c:
21129         LONG_SKEY_PROMPT is less of a klusge /
21130         [dcc144abaac3]
21131
21132         * configure.in:
21133         fixed typos w/ dce stuff
21134         [f7dfd6d4e149]
21135
21136         * Makefile.in:
21137         added dce_pwent.c
21138         [79047acdc516]
21139
21140 1995-11-26  Todd C. Miller  <Todd.Miller@courtesan.com>
21141
21142         * INSTALL:
21143         amended section on combining authentication mechanisms
21144         [dc5138c7c716]
21145
21146         * PORTING:
21147         minor updates for 1.3.6
21148         [fe80c13bd994]
21149
21150         * TROUBLESHOOTING:
21151         added 2 more entries
21152         [c7201439a0f5]
21153
21154         * BUGS:
21155         updated for 1.3.6
21156         [979b414d2a2d]
21157
21158         * README:
21159         overhauled
21160         [3af8b60eb594]
21161
21162         * INSTALL:
21163         rewrote for sudo 1.3.6
21164         [b16027b9c726]
21165
21166         * TROUBLESHOOTING:
21167         added 3 entries
21168         [934c9ee3f153]
21169
21170 1995-11-25  Todd C. Miller  <Todd.Miller@courtesan.com>
21171
21172         * find_path.c, getspwuid.c, sudo.c:
21173         added explict casts for strdup since many includes don't prototype
21174         it. gag me.
21175         [3e19a11f2fcc]
21176
21177         * sudo.h:
21178         removed prototype for sudo_getpwuid() since convex C compiler choked
21179         on it.
21180         [c3ea74ca67b0]
21181
21182         * sudo.c:
21183         added prototype for sudo_getpwuid()
21184         [4a8e3cdc2b98]
21185
21186         * lsearch.c:
21187         now compiles on strict ANSI compilers
21188         [3ce5d72d0b08]
21189
21190         * check.c:
21191         added LONG_SKEY_PROMPT support
21192         [48a18b8a2332]
21193
21194         * Makefile.in:
21195         added extra $'s for make to eat up, yum.
21196         [2995b214e12b]
21197
21198         * OPTIONS, options.h:
21199         added LONG_SKEY_PROMPT
21200         [f23ae799b5a4]
21201
21202 1995-11-24  Todd C. Miller  <Todd.Miller@courtesan.com>
21203
21204         * check.c:
21205         s/key support now works with normal s/key as well as logdaemon
21206         [d67573f523bf]
21207
21208         * OPTIONS, options.h:
21209         added SKEY_ONLY
21210         [bbf07654e0de]
21211
21212         * compat.h:
21213         set _PASSWD_LEN to 256 for any of KERB4, DCE, SKEY
21214         [205895b96a36]
21215
21216         * INSTALL:
21217         added DCE note added more AIX notes
21218         [6345403b3522]
21219
21220         * sudo.c:
21221         now include pthread.h for DCE support
21222         [6fe02865f679]
21223
21224         * check.c:
21225         dce_pwent() is ok after all .,
21226         [d26a8746a55d]
21227
21228         * logging.c:
21229         now uses SYSLOG() macro that equates to either syslog() or
21230         syslog_wrapper
21231         [42ac4cff8045]
21232
21233         * dce_pwent.c:
21234         minor formatting changes. renamed check() to somthing less generic
21235         [71859f217be1]
21236
21237         * check.c, logging.c, parse.yacc, sudo.c, sudo.h, testsudoers.c,
21238         visudo.c:
21239         now uses user_pw_ent and simple macros to get at the contents
21240         [f4cbf3e7145a]
21241
21242 1995-11-23  Todd C. Miller  <Todd.Miller@courtesan.com>
21243
21244         * check.c:
21245         simpler dec unix C2 support
21246         [86bc8f75250e]
21247
21248         * getspwuid.c:
21249         now sets crypt_type for DEC unix C2
21250         [99aeadd18266]
21251
21252 1995-11-21  Todd C. Miller  <Todd.Miller@courtesan.com>
21253
21254         * configure.in:
21255         added csops paths for skey
21256         [b8ca672e2117]
21257
21258         * getspwuid.c:
21259         now includes string.h for strdup() prototype
21260         [3605259c3620]
21261
21262         * getspwuid.c:
21263         fixed a few typos
21264         [46c97e4ea417]
21265
21266         * check.c:
21267         now includes skey.h
21268         [11e611ce1b61]
21269
21270         * getspwuid.c:
21271         fixed up comments
21272         [223dac56f0c8]
21273
21274         * check.c:
21275         moved a lot of the shadow passwd crap to sudo_getpwuid()
21276         [97d8887fb7d3]
21277
21278         * sudo.c:
21279         now uses sudo_pw_ent
21280         [d014dadbef48]
21281
21282         * testsudoers.c:
21283         now uses sudo_pw_ent
21284         [d92936ed7e34]
21285
21286         * visudo.c:
21287         now sets sudo_pw_ent
21288         [ff75cdfcf8b3]
21289
21290         * getspwuid.c:
21291         Initial revision
21292         [6deb6df9d7bc]
21293
21294         * tgetpass.c:
21295         moved dce stuff into compat.h
21296         [1124284396e7]
21297
21298         * logging.c, sudo.h:
21299         now uses sudo_pw_ent
21300         [404ff20a5067]
21301
21302         * Makefile.in:
21303         added sudo_getpwuid.c
21304         [6666d0644512]
21305
21306         * compat.h:
21307         added dce support
21308         [3c3b36a7ce0e]
21309
21310         * parse.yacc:
21311         now uses sudo_pw_ent
21312         [9f5e8d11bd68]
21313
21314 1995-11-20  Todd C. Miller  <Todd.Miller@courtesan.com>
21315
21316         * check.c:
21317         fixed exempt_group stuff for OS's that don't put base gid in group
21318         vector
21319         [003f153bd396]
21320
21321         * check.c:
21322         S/Key support now works with sunos4 shadow passwords
21323         [1eb64a5efff1]
21324
21325         * Makefile.in:
21326         fixed clean rule
21327         [5695a2c62816]
21328
21329         * config.h.in, configure.in:
21330         added DCE support
21331         [f53c766c1947]
21332
21333         * tgetpass.c:
21334         DCE & KERB support
21335         [904cf436506a]
21336
21337         * check.c:
21338         first stab at dce support
21339         [aea5ca07b1e3]
21340
21341         * dce_pwent.c:
21342         now smells like sudo
21343         [8b3d609b49cd]
21344
21345         * dce_pwent.c:
21346         Initial revision
21347         [b573555f2399]
21348
21349         * check.c:
21350         skey'd sudo now works w/ normal password as well
21351         [8d038f9f6e94]
21352
21353 1995-11-19  Todd C. Miller  <Todd.Miller@courtesan.com>
21354
21355         * Makefile.in, OPTIONS, check.c, compat.h, config.h.in, find_path.c,
21356         getwd.c, goodpath.c, ins_2001.h, ins_classic.h, ins_csops.h,
21357         ins_goons.h, insults.h, interfaces.c, logging.c, options.h, parse.c,
21358         parse.lex, parse.yacc, pathnames.h.in, putenv.c, strdup.c, sudo.c,
21359         sudo.h, sudo_setenv.c, testsudoers.c, tgetpass.c, utime.c,
21360         version.h, visudo.c:
21361         updated version number
21362         [ba7e346d7904]
21363
21364         * README:
21365         updated to reflect version change
21366         [1d15cf1d8cc8]
21367
21368         * configure.in:
21369         --with options now line up ++version
21370         [08ebf625fbca]
21371
21372         * sudo.h:
21373         removed unecesary S/Key stuff
21374         [68188cba90af]
21375
21376         * configure.in:
21377         fixed S/Key support
21378         [f6d9cbc36618]
21379
21380         * Makefile.in:
21381         -I stuff now goes in CPPFLAGS
21382         [7b8e53c5b046]
21383
21384         * check.c:
21385         fixed SKey support
21386         [52c1a5cf4435]
21387
21388         * README:
21389         updated version
21390         [bed6498a10bb]
21391
21392         * OPTIONS:
21393         fixed description of EXEMPTGROUP
21394         [cfeead55edc2]
21395
21396         * sudo.c:
21397         more people use _RLD_ than just alphas...
21398         [6a3c7090a6f6]
21399
21400         * Makefile.in:
21401         replaced $man_prefix with $mandir
21402         [dc4b36a550e2]
21403
21404         * configure.in:
21405         fixed a typo
21406         [a38a4acddcaf]
21407
21408         * Makefile.in:
21409         now use more GNU'ish dir names
21410         [c5498391a520]
21411
21412         * configure.in:
21413         now set *dir correctly (can override from command line)
21414         [523ff98fd438]
21415
21416         * sudo.c:
21417         now deal with situations where we getwd() fails
21418         [88a9e61dccbb]
21419
21420 1995-11-17  Todd C. Miller  <Todd.Miller@courtesan.com>
21421
21422         * Makefile.in:
21423         added etc_dir, bin_dir, sbin_dir
21424         [75fd08d92842]
21425
21426         * configure.in:
21427         added sbin_dir
21428         [3cb318c0d8d1]
21429
21430         * Makefile.in:
21431         now ship a flex-generated lex.yy.c
21432         [4d083ed70dce]
21433
21434         * Makefile.in:
21435         now sets _PATH_SUDO_SUDOERS, _PATH_SUDO_STMP, SUDOERS_OWNER
21436         [4d51dc9c3780]
21437
21438         * pathnames.h.in:
21439         _PATH_SUDO_SUDOERS & _PATH_SUDO_STMP are now overridden via Makefile
21440         [773fd163d52f]
21441
21442         * options.h:
21443         no more error for redefining SUDOERS_OWNER
21444         [4ba336644c6a]
21445
21446         * OPTIONS:
21447         expanded SUDOERS_OWNER section
21448         [12fae405759e]
21449
21450 1995-11-16  Todd C. Miller  <Todd.Miller@courtesan.com>
21451
21452         * visudo.c:
21453         now warn if chown(2) failed
21454         [d0d1db6e3a1f]
21455
21456         * logging.c:
21457         better default warning for NO_SUDOERS_FILE
21458         [5260b458ac64]
21459
21460         * sudo.c:
21461         added missing set_perms() no more cryptic message if the sudoers
21462         file is zero length, now just give a parse error
21463         [b81ea724838a]
21464
21465         * logging.c:
21466         better diagnostics if NO_SUDOERS_FILE
21467         [877e878663c5]
21468
21469         * sudo.c:
21470         check_sudoers() now catches sudoers files that are not readable (but
21471         are stat'able).
21472         [fea05663b3de]
21473
21474 1995-11-13  Todd C. Miller  <Todd.Miller@courtesan.com>
21475
21476         * configure.in:
21477         now add -D__STDC__ for convex cc (not gcc)
21478         [c80fc53ff51b]
21479
21480         * configure.in:
21481         MAN_PREFIX -> man_prefix now sets prefix and exec_prefix
21482         [fe238226a057]
21483
21484         * Makefile.in:
21485         now uses exec_prefix & prefix from configure
21486         [f62fca5f56bd]
21487
21488         * find_path.c, getwd.c, goodpath.c, interfaces.c, logging.c, parse.c,
21489         parse.lex, parse.yacc, sudo.c, sudo.h, sudo_setenv.c, tgetpass.c,
21490         utime.c, visudo.c:
21491         options.h is now <> instead of "" so shadow build trees can have a
21492         custom copy of options.h
21493         [e6782676099c]
21494
21495         * check.c:
21496         user_is_exempt() is no longer a hack, it now uses getgrnam()
21497         [287f8d5356f7]
21498
21499         * options.h:
21500         EXEMPTGROUP is now "sudo"
21501         [61487304dbe1]
21502
21503         * configure.in:
21504         MAN_POSTINSTALL now contains a leading space
21505         [eaad4ac34012]
21506
21507         * Makefile.in:
21508         removed leading tab if @MAN_POSTINSTALL@ not defined now removes
21509         testsudoers in clean:
21510         [e01711baceb8]
21511
21512         * tgetpass.c:
21513         includes pwd.h to get _PASSWD_LEN definition
21514         [8ec174f263f1]
21515
21516 1995-10-30  Todd C. Miller  <Todd.Miller@courtesan.com>
21517
21518         * sudo.c:
21519         unset the KRB_CONF envariable if using kerberos so we don't get
21520         spoofed into using a bogus server
21521         [2561a0274fca]
21522
21523 1995-09-29  Todd C. Miller  <Todd.Miller@courtesan.com>
21524
21525         * parse.yacc:
21526         now explicately initialize match[] tp be FALSE
21527         [0e45e5c47766]
21528
21529 1995-09-23  Todd C. Miller  <Todd.Miller@courtesan.com>
21530
21531         * sudo.c:
21532         removed unused variable now passes -Wall
21533         [3452508bc16d]
21534
21535         * parse.yacc:
21536         yyerror and dumpaliases are now void's now passes -Wall
21537         [2769dfb51993]
21538
21539         * parse.lex:
21540         added prototype for yyerror
21541         [1f3f0c1b4ab4]
21542
21543         * check.c, logging.c, parse.c:
21544         now passes -Wall
21545         [eab57e5e81d2]
21546
21547         * interfaces.c:
21548         rmeoved unused cruft now passes -Wall
21549         [7a47e1866f4b]
21550
21551         * Makefile.in:
21552         fixed headers that moved to emul dir
21553         [e680c1e5049b]
21554
21555         * logging.c:
21556         fixed deref of nil pointer if no args
21557         [973b9bea432f]
21558
21559 1995-09-15  Todd C. Miller  <Todd.Miller@courtesan.com>
21560
21561         * OPTIONS:
21562         added a caveat to FQDN section
21563         [dcf6e2a5fff4]
21564
21565 1995-09-13  Todd C. Miller  <Todd.Miller@courtesan.com>
21566
21567         * Makefile.in:
21568         more $srcdir support for install targets
21569         [f6eac78436dd]
21570
21571         * find_path.c, interfaces.c, parse.c, parse.lex, parse.yacc, putenv.c,
21572         strdup.c, sudo.c, sudo_setenv.c, testsudoers.c, visudo.c:
21573         don't include malloc.h if we include stdlib.h
21574         [fca2ff307cd8]
21575
21576         * parse.yacc:
21577         local search.h now lives in emul
21578         [51c458904424]
21579
21580         * check.c, utime.c:
21581         local utime.h now lives in emul dir
21582         [f92fc9e8c8de]
21583
21584         * lsearch.c:
21585         local search.h now lives in emul
21586         [579efc407439]
21587
21588         * Makefile.in:
21589         added support for building in other than the sourcedir
21590         [2ab53a43f7d4]
21591
21592 1995-09-10  Todd C. Miller  <Todd.Miller@courtesan.com>
21593
21594         * OPTIONS:
21595         annotated CSOPS_INSULTS option
21596         [9e57d45a0afa]
21597
21598         * TROUBLESHOOTING:
21599         updated shadow passwords blurb
21600         [39b785bc7253]
21601
21602         * sudo.c:
21603         if SHELL_IF_NO_ARGS is set, "sudo -- foo" now runs a shell and
21604         passes along foo as the arguments
21605         [a91077aa8fc5]
21606
21607 1995-09-09  Todd C. Miller  <Todd.Miller@courtesan.com>
21608
21609         * parse.lex:
21610         collapsed pathname and dir sections into one -- its now less
21611         expensive
21612         [89caa03bec25]
21613
21614         * parse.lex:
21615         fixed spacing quoting [,:\\=] now works correctly append() and
21616         fill() now take args to make the above work
21617         [09d023d9ef3a]
21618
21619         * sudo.c:
21620         fixed a typo that caused commands with no tty on fd 0 but a tty on
21621         fd 1 to erroneously have "none" as their tty
21622         [07d2c0e7977c]
21623
21624 1995-09-04  Todd C. Miller  <Todd.Miller@courtesan.com>
21625
21626         * check.c:
21627         timestampfile is now a global static removed decl of timestampfile
21628         in remove_timestamp since we can just use the global one
21629         [f0cbdc6aab1c]
21630
21631         * check.c:
21632         created touch() to update timestamps added USE_TTY_TICKETS support
21633         (bit of a kludge)
21634         [cee1dd0318f8]
21635
21636         * compat.h:
21637         added _S_IFDIR and S_ISDIR
21638         [b4a51cc9628e]
21639
21640         * OPTIONS, options.h:
21641         added USE_TTY_TICKETS
21642         [b4e22f81f25e]
21643
21644         * parse.yacc:
21645         removed const from casts for lsearch() & lfind() to placate irix 4.x
21646         C compiler
21647         [5003081f76ea]
21648
21649 1995-09-03  Todd C. Miller  <Todd.Miller@courtesan.com>
21650
21651         * sudo.c:
21652         now only strip '/dev/' off of a tty if it starts with '/dev/'
21653         [7f62bcd24039]
21654
21655         * pathnames.h.in:
21656         added _PATH_DEV
21657         [6375f44d1910]
21658
21659         * configure.in:
21660         AC_HAVE_HEADERS -> AC_CHECK_HEADERS now check for tcgetattr only if
21661         have termios.h
21662         [9c60391235fd]
21663
21664         * tgetpass.c:
21665         fixed incorrect #ifdef termio uses "unsigned short" not int for
21666         c_?flag
21667         [d032e6a29845]
21668
21669         * parse.lex, parse.yacc:
21670         fixed a spelling error
21671         [cad6a944c7b1]
21672
21673         * Makefile.in:
21674         fixed typo
21675         [204a65403e7c]
21676
21677 1995-09-02  Todd C. Miller  <Todd.Miller@courtesan.com>
21678
21679         * Makefile.in:
21680         fixed a comment
21681         [268f760e57ad]
21682
21683         * parse.yacc:
21684         added dotcat() to cat 2 strings w/ a dot effeciently now that we
21685         dynamically allocate strings they need to be free()'d
21686         [ec2e2152f415]
21687
21688         * parse.lex:
21689         dynamically allocates space for strings
21690         [d10ac3533d66]
21691
21692         * sudo.h:
21693         no more MAXCOMMANDLENGTH
21694         [e2e1219bff8a]
21695
21696         * sudo.h:
21697         added decl of tty
21698         [c8ae81303ee5]
21699
21700         * logging.c, sudo.c:
21701         moved tty stuff into sudo.c
21702         [e028abefeb07]
21703
21704 1995-09-01  Todd C. Miller  <Todd.Miller@courtesan.com>
21705
21706         * parse.c:
21707         fixed a logic bug. Was denying a command if user gave command line
21708         args but there were none in the sudoers file which is wrong.
21709         [7489a99b8e8a]
21710
21711         * sudo.h:
21712         MAXCOMMMANDLEN dropped down to 1K
21713         [38ef54ba290b]
21714
21715         * parse.lex:
21716         return foo; -> return(foo);
21717         [0e8be1b57001]
21718
21719         * parse.yacc:
21720         fixed netgr_matches() prototype
21721         [e69f15910464]
21722
21723         * parse.lex:
21724         added support for escaping "termination" characters
21725         [8bd4ef50f35c]
21726
21727         * parse.c:
21728         buf is now of size MAXPATHLEN+1 since it never holds command args
21729         [2ce4b763058c]
21730
21731         * sudo.c:
21732         fixed comments
21733         [0c74a3d2ebb0]
21734
21735         * goodpath.c:
21736         fixed negation problem (doh!)
21737         [782814e3a2d1]
21738
21739         * parse.yacc:
21740         fixed 2nd parameter to lfind()
21741         [63d7b1623c08]
21742
21743         * parse.lex:
21744         now do bounds checking in fill() and append()
21745         [54381b563251]
21746
21747         * sudo.c:
21748         include netdb.h as we should added a missing void cast added
21749         SHELL_IF_NO_ARGS support now use realloc() properly. would fail if
21750         realloc actually moved the string instead of shrinking it
21751         [897ccdec9c06]
21752
21753         * sample.sudoers:
21754         updated with examples of new features
21755         [9b3ed00e8aa6]
21756
21757         * goodpath.c:
21758         now set errno to EACCES if not a regular file or not executable
21759         [2d069548a5ea]
21760
21761         * find_path.c:
21762         if given a fully-qualified or relative path we now check it with
21763         sudo_goodpath() and error out with the appropriate error message if
21764         the file does not exist or is not executable
21765         [590f89dd8dec]
21766
21767         * emul/search.h, lsearch.c:
21768         now use correct args for lfind
21769         [fccdcdbf020e]
21770
21771         * logging.c:
21772         added a comment
21773         [fab9f49708ea]
21774
21775         * insults.h:
21776         added in CSOps insults
21777         [ad8eb1862adc]
21778
21779         * ins_csops.h:
21780         Initial revision
21781         [de5a475ec018]
21782
21783         * tgetpass.c:
21784         added RCS id
21785         [c3ffd550a482]
21786
21787         * sudo.h:
21788         increased MAXCOMMANDLENGTH to 8k HAVE_GETCWD -> HAVE_GETWD
21789         [aba25c90d08a]
21790
21791         * OPTIONS:
21792         added CLASSIC_INSULTS, CSOPS_INSULTS, SHELL_IF_NO_ARGS
21793         [e27bd62e9ccf]
21794
21795         * sudo.c:
21796         fixed -k load_interfaces() now gets called if FQDN is set
21797         -p now works with -s
21798         [07ca2a34bae8]
21799
21800         * parse.c:
21801         don't try to stat() "pseudo commands" like "validate"
21802         [75527045984b]
21803
21804         * options.h:
21805         added CLASSIC_INSULTS added CSOPS_INSULTS added SHELL_IF_NO_ARGS
21806         [07b157a0eafd]
21807
21808         * configure.in:
21809         added SecurID support added other insults to --with-csops
21810         [6c992ceb244c]
21811
21812         * config.h.in:
21813         added HAVE_SECURID
21814         [e734ff617fe8]
21815
21816         * Makefile.in:
21817         added clobber target added ins_csops.h now gets CFLAGS from
21818         configure
21819         [d1e29c7cec25]
21820
21821         * aclocal.m4:
21822         relaxed SUDO_FULL_VOID
21823         [fb4084f27406]
21824
21825         * visudo.c:
21826         function comment blocks are now in same style as rest of code
21827         [04a2931354c5]
21828
21829         * testsudoers.c:
21830         added support for command line args in /etc/sudoers
21831         [bfe4e1bcc655]
21832
21833         * sudoers.man:
21834         updated to have command args in the sudoers file
21835         [1cd34355e9ea]
21836
21837         * sudo.man:
21838         added -s and -- flags added SHELL to ENVIRONMENT VARIABLES section
21839         [930b48023b68]
21840
21841 1995-08-19  Todd C. Miller  <Todd.Miller@courtesan.com>
21842
21843         * parse.yacc:
21844         PATH renamed to COMMAND
21845         [4e109a6de3cd]
21846
21847         * parse.lex:
21848         it is now a parse error for directories to have args attached to
21849         them
21850         [2ab10a146b54]
21851
21852         * logging.c:
21853         now say command args if telling user to buzz off
21854         [933de26ded8b]
21855
21856         * sudo.c:
21857         -s no longer indicates end of args sped up loading on cmnd_args in
21858         load_cmnd()
21859         [eac99a4da862]
21860
21861         * parse.c:
21862         removed an unreachable statement
21863         [634302623c49]
21864
21865         * parse.lex:
21866         made more efficient by pulling out the terminators when in GOTCMND
21867         state and making them their own rule
21868         [80798f1e1166]
21869
21870 1995-08-14  Todd C. Miller  <Todd.Miller@courtesan.com>
21871
21872         * sudo.h:
21873         removed MAXLOGLEN since it is no longer used
21874         [102824196b71]
21875
21876         * parse.lex:
21877         now allows command args
21878         [d29dfa1e5254]
21879
21880         * parse.c:
21881         now groks command arguments
21882         [6c414cb7f105]
21883
21884         * logging.c:
21885         now sets tty correctly when piped input
21886         [de46a30c0406]
21887
21888         * sudo.c:
21889         fixed loading of cmnd_args (was including command name too)
21890         [15319a425ea6]
21891
21892         * logging.c:
21893         fixed a core dump due to incorrect if construct
21894         [582363c7d7fa]
21895
21896 1995-08-13  Todd C. Miller  <Todd.Miller@courtesan.com>
21897
21898         * configure.in:
21899         only add -lsun is irix < 5 don't look for -lnsl or -lsocket if irix
21900         [da591fe9b931]
21901
21902         * aclocal.m4:
21903         fixed check for ISC
21904         [52e59f2082a7]
21905
21906         * sudo.c:
21907         now sets cmnd_args used by log_error() and that will be used by the
21908         parse to check against command args
21909         [c6804389723b]
21910
21911         * sudo.h:
21912         added cmnd_args
21913         [4d00446b4a8d]
21914
21915         * logging.c:
21916         now dynamically allocate logline since we can guess at its size
21917         [4bed8c8446aa]
21918
21919 1995-08-05  Todd C. Miller  <Todd.Miller@courtesan.com>
21920
21921         * logging.c:
21922         cleaned up a bunch of unnecesary #ifdef's eliminated a buffer remove
21923         "register" since the compiler knows more than I do now do a
21924         "basename" of the tty
21925         [3b1bbf0b3da1]
21926
21927 1995-07-31  Todd C. Miller  <Todd.Miller@courtesan.com>
21928
21929         * configure.in:
21930         ++version
21931         [5ce552f9a5f1]
21932
21933         * sudo.h:
21934         added shell extern changed MODE_* to be bit masks to allow for
21935         several options together
21936         [06f9dc4f400c]
21937
21938         * sudo.c:
21939         added -s (shell) option made MODE_* masks so we can do bitwise & and
21940         | to see if multiple flags are set.
21941         [01f8143010ad]
21942
21943         * check.c:
21944         added securid support
21945         [909e078005fe]
21946
21947 1995-07-30  Todd C. Miller  <Todd.Miller@courtesan.com>
21948
21949         * logging.c:
21950         removed a bunch of unnecesary strncpy()'s and replaced with strcat()
21951         [644506b57d61]
21952
21953 1995-07-29  Todd C. Miller  <Todd.Miller@courtesan.com>
21954
21955         * Makefile.in, version.h:
21956         ++version
21957         [3cd6f1fbc3d9]
21958
21959 1995-07-27  Todd C. Miller  <Todd.Miller@courtesan.com>
21960
21961         * parse.yacc:
21962         fixed free() of an uninitialized pointer (yuck)
21963         [8c404ee502ee]
21964
21965         * testsudoers.c:
21966         added netgr_matches
21967         [e7c9fa2f774c]
21968
21969         * parse.c:
21970         cleaned up netgr_matches
21971         [8108f00b810e]
21972
21973 1995-07-26  Todd C. Miller  <Todd.Miller@courtesan.com>
21974
21975         * RUNSON:
21976         updated for 1.3.4
21977         [4741704310a1]
21978
21979 1995-07-25  Todd C. Miller  <Todd.Miller@courtesan.com>
21980
21981         * Makefile.in:
21982         now installs sudoers.man -- really should clean this up though.
21983         [455631d45a1d]
21984
21985         * Makefile.in:
21986         added sudoers.cat and sudoers.man
21987         [0bdedd6c7363]
21988
21989         * sudo.man:
21990         pulled out stuff on the sudoers file format into a separate man page
21991         [de215d999cb9]
21992
21993         * sudoers.man:
21994         Initial revision
21995         [f25eafbb7095]
21996
21997         * HISTORY:
21998         fixed up my email address
21999         [254fbf80be74]
22000
22001         * configure.in:
22002         added checks for innetgr and getdomainname
22003         [24a99cb7e97e]
22004
22005         * visudo.c:
22006         added dummy netgr_matches function
22007         [1841ff2c01da]
22008
22009         * parse.c:
22010         added netgr_matches
22011         [ec90db6a97b8]
22012
22013         * parse.lex, parse.yacc:
22014         added NETGROUP support
22015         [c9dd93e3bc4b]
22016
22017         * config.h.in:
22018         added HAVE_INNETGR & HAVE_GETDOMAINNAME
22019         [14abd494d875]
22020
22021 1995-07-24  Todd C. Miller  <Todd.Miller@courtesan.com>
22022
22023         * sudo.c:
22024         rewrote clean_env() that has rm_env() builtin
22025         [55cb43818a95]
22026
22027 1995-07-23  Todd C. Miller  <Todd.Miller@courtesan.com>
22028
22029         * check.c:
22030         now cast uid to long in sprintf
22031         [b549eea40aeb]
22032
22033         * OPTIONS:
22034         added _INSULTS suffix to HAL & GOONS end
22035         [ed620d0aad30]
22036
22037         * options.h:
22038         added _INSULTS suffix to HAL & GOONS
22039         [9f72e9b83afd]
22040
22041         * ins_2001.h, ins_classic.h, ins_goons.h, insults.h:
22042         converted to new scheme of insult "unions" end
22043         [2f6d2b412132]
22044
22045         * sudo.c:
22046         now uses MAX_UID_T_LEN
22047         [c1df79e0f389]
22048
22049         * configure.in:
22050         added SUDO_UID_T_LEN !l
22051         [195f0b9f5f84]
22052
22053         * config.h.in:
22054         added MAX_UID_T_LEN
22055         [73f42ae4f14d]
22056
22057         * check.c:
22058         now use MAX_UID_T_LEN
22059         [df9c063234cb]
22060
22061         * aclocal.m4:
22062         added check for max len of uid_t fixed sco vs. isc check
22063         [d558f36d2223]
22064
22065 1995-07-19  Todd C. Miller  <Todd.Miller@courtesan.com>
22066
22067         * configure.in:
22068         corrected version
22069         [828dd1571e86]
22070
22071         * configure.in:
22072         added sco support
22073         [af1e2f616638]
22074
22075         * aclocal.m4:
22076         hack to check for sco
22077         [549ab99a9a43]
22078
22079         * interfaces.c:
22080         removed #include <net/route.h> since it was hosing some OS's
22081         [ac78a7c04005]
22082
22083 1995-07-18  Todd C. Miller  <Todd.Miller@courtesan.com>
22084
22085         * find_path.c:
22086         fixed prreadlink() prototype
22087         [b380fe1f2b11]
22088
22089         * check.c:
22090         added parens in #if's
22091         [e96ade691b82]
22092
22093         * configure.in:
22094         added SPW_ prefix
22095         [a302683a1483]
22096
22097         * sudo.h:
22098         moved SPW_* to config.h.in
22099         [6b3be70e34cf]
22100
22101         * sudo.c:
22102         added a set of parens
22103         [8188d735d695]
22104
22105         * config.h.in:
22106         added SPW_*
22107         [5ead6371cf60]
22108
22109         * sudo.h:
22110         added SPW_* reordered error codes
22111         [dead25b4ed0a]
22112
22113         * check.c:
22114         moved SPW_* to sudo.h
22115         [ca51fb04caf4]
22116
22117 1995-07-17  Todd C. Miller  <Todd.Miller@courtesan.com>
22118
22119         * sudo.c:
22120         SPW_AUTH -> SPW_SECUREWARE
22121         [6b512b2bc5dc]
22122
22123         * logging.c:
22124         GLOBAL_NO_AUTH_ENT -> GLOBAL_NO_SPW_ENT
22125         [defdd0944e2f]
22126
22127         * configure.in:
22128         AUTH -> SECUREWARE
22129         [d1f8a17001dd]
22130
22131         * check.c:
22132         SPW_AUTH -> SPW_SECUREWARE
22133         [af0e8d8b89b2]
22134
22135         * check.c:
22136         now uses SHADOW_TYPE to make shadow pw support more readable and
22137         modular. It's a start...
22138         [8c2a59667014]
22139
22140         * configure.in:
22141         added autodetection of shadow passwords
22142         [85f81fa54b1b]
22143
22144         * sudo.c:
22145         now uses SHADOW_TYPE define
22146         [355e5dc09b07]
22147
22148         * config.h.in:
22149         added SHADOW_TYPE which replaces SUNOS4 & __svr4__ defines
22150         [c0c06e83e483]
22151
22152         * aclocal.m4:
22153         added SUDO_CHECK_SHADOW
22154         [464301301639]
22155
22156 1995-07-12  Todd C. Miller  <Todd.Miller@courtesan.com>
22157
22158         * configure.in:
22159         define SVR4 for ISC define BROKEN_SYSLOG for hpux took out test for
22160         memmove() since we dno longer use it...
22161         [8aefa87d7d31]
22162
22163         * CHANGES:
22164         updated
22165         [ce97b3fd7182]
22166
22167         * logging.c:
22168         added BROKEN_SYSLOG support
22169         [a45c3bca36f6]
22170
22171         * config.h.in:
22172         added BROKEN_SYSLOG
22173         [6f6abf0a6268]
22174
22175         * check.c:
22176         now only bitch it timestamp > time_now + 2 * timeout to allow for a
22177         machine udpating its time from a server
22178         [546bc8d35325]
22179
22180         * sudo.man:
22181         added 2 security notes updated Nieusma's email addr
22182         [616756c56977]
22183
22184         * lsearch.c:
22185         changed a memmove() to memcpy() since we don't have to worry about
22186         overlapping segments.
22187         [30baa478526b]
22188
22189 1995-07-11  Todd C. Miller  <Todd.Miller@courtesan.com>
22190
22191         * interfaces.c:
22192         cleanup up the loop when interfaces are groped in so that it is
22193         readable
22194         [1fa39446bd69]
22195
22196         * Makefile.in, version.h:
22197         ++version
22198         [b46bd2b1770f]
22199
22200 1995-07-09  Todd C. Miller  <Todd.Miller@courtesan.com>
22201
22202         * CHANGES:
22203         annotated 124-126
22204         [b82a2b3ec7ce]
22205
22206 1995-07-07  Todd C. Miller  <Todd.Miller@courtesan.com>
22207
22208         * check.c:
22209         fixed permissions check on /tmp/.odus
22210         [cc2431a65468]
22211
22212 1995-07-06  Todd C. Miller  <Todd.Miller@courtesan.com>
22213
22214         * check.c:
22215         fixed some comments
22216         [8896d09b4fda]
22217
22218         * check.c:
22219         now checks owner & mode of timedir also checks for bogus dates on
22220         timestamp file
22221         [a0fad5df5b0a]
22222
22223         * OPTIONS:
22224         updated TIMEOUT info
22225         [033cc22d9e04]
22226
22227         * logging.c, sudo.h:
22228         added BAD_STAMPDIR and BAD_STAMPFILE
22229         [31d9ce691101]
22230
22231         * compat.h:
22232         added definition of S_IRWXU
22233         [ff2dab091a9b]
22234
22235         * CHANGES:
22236         updated
22237         [a40df90284f1]
22238
22239 1995-07-03  Todd C. Miller  <Todd.Miller@courtesan.com>
22240
22241         * interfaces.c:
22242         added #ifdef to make it compile on strange arches
22243         [4a127f12afce]
22244
22245 1995-07-02  Todd C. Miller  <Todd.Miller@courtesan.com>
22246
22247         * aclocal.m4:
22248         fixed check for fulkl void impl.
22249         [b6f2a4a361d8]
22250
22251         * check.c:
22252         added mssing "static"
22253         [520552f2772b]
22254
22255         * insults.h:
22256         replaced #elif with #else #if constructs for ancient C compilers
22257         [39ab2d365b57]
22258
22259         * INSTALL:
22260         updated irix c2 & kerb5 info
22261         [ae79b99b4905]
22262
22263         * configure.in:
22264         added shadow pw support for irix
22265         [632469d9c528]
22266
22267 1995-07-01  Todd C. Miller  <Todd.Miller@courtesan.com>
22268
22269         * BUGS, TODO:
22270         updated
22271         [2a96bb18ac30]
22272
22273         * CHANGES:
22274         last changes for sudo 1.3.3
22275         [c1c0cd1034b8]
22276
22277         * configure.in:
22278         now calls SUDO_SOCK_SA_LEN
22279         [14ea78159d45]
22280
22281         * config.h.in:
22282         added HAVE_SA_LEN
22283         [cc2a346aa905]
22284
22285         * aclocal.m4:
22286         added SUDO_SOCK_SA_LEN
22287         [456a2025644a]
22288
22289         * interfaces.c:
22290         now works with ip implementations that use sa_len in sockaddr
22291         [90be6e028077]
22292
22293         * INSTALL:
22294         added note about buggy AIX compiler
22295         [c0f6d427e4e4]
22296
22297         * interfaces.c:
22298         now include sys/time.h for AIX
22299         [2510858ab38b]
22300
22301 1995-06-28  Todd C. Miller  <Todd.Miller@courtesan.com>
22302
22303         * Makefile.in:
22304         getcwd -> getwd
22305         [66085ebca98e]
22306
22307         * interfaces.c:
22308         now works for ISC and others. yay.
22309         [f336d4ffc927]
22310
22311 1995-06-26  Todd C. Miller  <Todd.Miller@courtesan.com>
22312
22313         * Makefile.in, version.h:
22314         version++
22315         [836cffc2078d]
22316
22317 1995-06-23  Todd C. Miller  <Todd.Miller@courtesan.com>
22318
22319         * aclocal.m4:
22320         fixed test for full void impl
22321         [fb004107e7b9]
22322
22323         * sudo.c:
22324         now check to see that st_dev is non-zero before assuming that we are
22325         being spoofed
22326         [1b0e1c30c506]
22327
22328 1995-06-20  Todd C. Miller  <Todd.Miller@courtesan.com>
22329
22330         * aclocal.m4, configure.in:
22331         SUDO_FUNC_UTIME_NULL -> AC_FUNC_UTIME_NULL
22332         [4953379bfb01]
22333
22334 1995-06-19  Todd C. Miller  <Todd.Miller@courtesan.com>
22335
22336         * aclocal.m4:
22337         fixed include file order for SUDO_FUNC_UTIME_POSIX
22338         [ff64ab7df44f]
22339
22340         * logging.c:
22341         added cast for ttyname()
22342         [444f05f56758]
22343
22344         * configure.in:
22345         fixed typo
22346         [de068e748431]
22347
22348         * check.c:
22349         now deal correctly with all known variation of utime() -- yippe
22350         [b778a4195a89]
22351
22352         * configure.in:
22353         added SUDO_FUNC_UTIME_POSIX
22354         [cf635f2269d6]
22355
22356         * aclocal.m4:
22357         added SUDO_FUNC_UTIME_NULL and SUDO_FUNC_UTIME_POSIX
22358         [d79593be4b73]
22359
22360         * config.h.in:
22361         added HAVE_UTIME_POSIX
22362         [c67b4ac0dca5]
22363
22364         * check.c:
22365         fixed a typo
22366         [b14df5680f59]
22367
22368         * check.c:
22369         no longer assume !HAVE_UTIME_NULL means old BSD utime()
22370         [0aeaf4b2f38b]
22371
22372         * check.c:
22373         fixed fascist C compiler warning
22374         [c61ddf2f1f93]
22375
22376         * interfaces.c:
22377         now set strioctl.ic_timout in STRSET() now initialize num_interfaces
22378         to 0 (just to be anal)
22379         [c54cc2ba0052]
22380
22381 1995-06-18  Todd C. Miller  <Todd.Miller@courtesan.com>
22382
22383         * sudo.h:
22384         increaed MAXLOGLEN by MAXPATHLEN to account for ttyname
22385         [74cf585a54fb]
22386
22387         * logging.c:
22388         added tty logging
22389         [e27d8dcfbd78]
22390
22391         * interfaces.c:
22392         reworked the ISC code
22393         [bcf57ce8ae69]
22394
22395         * Makefile.in, version.h:
22396         updated version
22397         [032941c9b94d]
22398
22399         * check.c:
22400         now expect old-style utime(3) if utime() can't take NULL as an arg
22401         [018dd4a73030]
22402
22403         * configure.in:
22404         added check for utime.h
22405         [0b76e8feb618]
22406
22407         * config.h.in:
22408         added HAVE_UTIME_H
22409         [62ee42feda46]
22410
22411         * Makefile.in:
22412         added CPPFLAGS STATIC_FLAGS -> LDFLAGS
22413         [fa3201d294e1]
22414
22415         * configure.in:
22416         now search for kerb libs and includes
22417         [cc332401e571]
22418
22419         * check.c:
22420         added support for utime(2)'s that can't take a NULL parameter
22421         [98797fedf69f]
22422
22423         * utime.c:
22424         moved HAVE_UTIME_NULL stuff to update_timestamp() where t belongs
22425         [6ce6d825fb44]
22426
22427         * configure.in:
22428         added utime(s) stuff
22429         [a2afb744403e]
22430
22431         * check.c:
22432         now use utime()
22433         [48902240a51e]
22434
22435         * config.h.in:
22436         added HAVE_UTIME and HAVE_UTIME_NULL
22437         [9a56ab65d4f4]
22438
22439 1995-06-17  Todd C. Miller  <Todd.Miller@courtesan.com>
22440
22441         * utime.c:
22442         now use HAVE_UTIME_NULL
22443         [e3944de09a92]
22444
22445         * emul/utime.h, utime.c:
22446         Initial revision
22447         [a2cbf2ef3427]
22448
22449         * check.c:
22450         need to setuid(0) to make kerb4 stuff work.
22451         [c6cfda4039d7]
22452
22453         * tgetpass.c:
22454         no more special case for kerberos
22455         [4a5c33145be9]
22456
22457         * config.h.in:
22458         took out setreuid and setresuid stuff added kerb5 stuff (use kerb4
22459         emulation)
22460         [a607ee43e650]
22461
22462         * compat.h:
22463         no longer need setreuid() emulation now set _PASSWD_LEN to 128 if
22464         kerberos
22465         [02fb274cc136]
22466
22467         * check.c:
22468         now use private ticket file for kerberos support to avoid trouncing
22469         on system one
22470         [28d8b6b812c7]
22471
22472 1995-06-15  Todd C. Miller  <Todd.Miller@courtesan.com>
22473
22474         * sudo.h:
22475         added SPOOF_ATTEMPT & cmnd_st
22476         [d3b42a1f4d0d]
22477
22478         * sudo.c:
22479         added anti-spoofing support
22480         [ab1e2aa44a57]
22481
22482         * parse.c:
22483         now use global cmnd_st
22484         [47018265a1a6]
22485
22486         * logging.c:
22487         added SPOOF_ATTEMPT suypport
22488         [7bbe9dd2a021]
22489
22490         * testsudoers.c, visudo.c:
22491         added void casts where appropriate
22492         [f191441ba333]
22493
22494         * parse.yacc:
22495         fixed up spacing and added void casts where appropriate
22496         [15d886fc809c]
22497
22498         * sudo.c:
22499         fixed problem with "-p prompt" but no args
22500         [6fc048261a3e]
22501
22502 1995-06-14  Todd C. Miller  <Todd.Miller@courtesan.com>
22503
22504         * sudo.man:
22505         added BUGS and annotated -l description
22506         [e5c506de2603]
22507
22508         * sudo.h:
22509         validate() now takes a flag
22510         [26627becc60a]
22511
22512         * sudo.c:
22513         validate() now takes a flag added -l
22514         [a4f7bb97fe54]
22515
22516         * parse.yacc:
22517         added support for -l
22518         [e7a9b10b0ad3]
22519
22520         * parse.c:
22521         validate() now takes a flag that says whether or not to check the
22522         command
22523         [9e1e67f4e281]
22524
22525 1995-06-08  Todd C. Miller  <Todd.Miller@courtesan.com>
22526
22527         * logging.c:
22528         now deals with Argv == 1
22529         [0acb637ab635]
22530
22531         * sudo.man:
22532         added -p option
22533         [e60382fc0561]
22534
22535         * sudo.c:
22536         added prompt support reworked parse_args()
22537         [2f605267ed4a]
22538
22539         * sudo.h:
22540         added prompt
22541         [5ab021bdb419]
22542
22543         * options.h:
22544         added PASSPROMPT
22545         [614727ff44a2]
22546
22547         * check.c:
22548         now use BUFSIZ as length of kerb password added kpass so pass is
22549         always a char * now use prompt global when asking for a password
22550         [76be09af784f]
22551
22552         * tgetpass.c:
22553         now use BUFSIZ as _PASSWD_LEN if using kerberos
22554         [1e907eed312b]
22555
22556         * OPTIONS:
22557         added PASSPROMPT
22558         [ddb2f405ce40]
22559
22560 1995-06-07  Todd C. Miller  <Todd.Miller@courtesan.com>
22561
22562         * configure.in:
22563         only look for -lufc or -lcrypt if crypt() not in libc
22564         [9717d315661f]
22565
22566         * check.c:
22567         don't exit on kerb error, just warn if k_errno == KDC_PR_UNKNOWN
22568         (unknown user) silently fail
22569         [2b48693d4ee9]
22570
22571         * INSTALL:
22572         added kerb4 note
22573         [986e393f740c]
22574
22575         * tgetpass.c:
22576         HAVE_KERBEROS -> HAVE_KERB4
22577         [e438bfb5e6aa]
22578
22579         * check.c:
22580         removed debugging printf
22581         [1cf9f5cbffa5]
22582
22583         * configure.in:
22584         KERBEROS -> KERB4 added checks for setreuid & setresuid
22585         [01e9945beb1e]
22586
22587         * config.h.in:
22588         HAVE_KERBEROS -> HAVE_KERB4 added HAVE_SETREUID and HAVE_SETRESUID
22589         [0e0bb5b8ac3e]
22590
22591         * compat.h:
22592         added deif of UID_NO_CHANGE & GID_NO_CHANGE added setreuid emulation
22593         with setresuid if applic
22594         [9dae24c47696]
22595
22596         * check.c:
22597         HAVE_KERBEROS -> HAVE_KERB4 now only do the stupid chown() hack if
22598         no setreuid() or a broken one
22599         [1fca642bdb8e]
22600
22601 1995-06-06  Todd C. Miller  <Todd.Miller@courtesan.com>
22602
22603         * configure.in:
22604         added kerberos support
22605         [da5639b9b8e7]
22606
22607         * config.h.in:
22608         added HAVE_KERBEROS
22609         [fcc5be550e65]
22610
22611         * tgetpass.c:
22612         added KERBEROS support (long passwords)
22613         [303ba6924dd2]
22614
22615         * check.c:
22616         added kerberos support
22617         [e40afe98fc1d]
22618
22619 1995-06-03  Todd C. Miller  <Todd.Miller@courtesan.com>
22620
22621         * sudo.h:
22622         added MODE_BACKGROUND
22623         [9b483c932016]
22624
22625         * sudo.man:
22626         escaped dashes added -b option
22627         [62e84f1a7714]
22628
22629         * sudo.c:
22630         added -b option
22631         [7e78aaefeb95]
22632
22633         * check.c:
22634         added crypt() for osf/1 3.x enhanced secuiry
22635         [e9aa5abdb7d5]
22636
22637         * configure.in:
22638         now check for -lcrypt
22639         [5cb9c67e9fa2]
22640
22641         * interfaces.c:
22642         added ENXIO like EADDRNOTAVAIL
22643         [74223bb1ba75]
22644
22645 1995-05-08  Todd C. Miller  <Todd.Miller@courtesan.com>
22646
22647         * configure.in:
22648         now emulate getwd(), not getcwd()
22649         [3e5439d9a5f4]
22650
22651         * sudo.c:
22652         getcwd() -> getwd()
22653         [6392a96a658e]
22654
22655         * getwd.c:
22656         getcwd -> getwd
22657         [1b0ab9bae11e]
22658
22659 1995-05-02  Todd C. Miller  <Todd.Miller@courtesan.com>
22660
22661         * ins_2001.h, ins_classic.h, ins_goons.h:
22662         Initial revision
22663         [86db60d8cf00]
22664
22665         * insults.h:
22666         broke out insults into separate include files
22667         [0a01993bd38a]
22668
22669         * OPTIONS, options.h:
22670         added GOONS
22671         [e283203c6515]
22672
22673         * Makefile.in:
22674         added ins_2001.h ins_classic.h ins_goons.h
22675         [2a39cd6a4cd2]
22676
22677         * Makefile.in, version.h:
22678         ++version
22679         [05ebf4f5e41a]
22680
22681         * visudo.c:
22682         moved signal handler setup to setup_signals()
22683         [3dd976c04540]
22684
22685         * sudo.h:
22686         added load_interfaces()
22687         [af2d473b09e2]
22688
22689         * sudo.c:
22690         moved load_interfaces to interfaces.c
22691         [5c8c138e5d4c]
22692
22693         * parse.yacc:
22694         added clearaliases
22695         [aeb4ff301daa]
22696
22697         * OPTIONS, options.h:
22698         added FAST_MATCH
22699         [f49ea3d1b525]
22700
22701         * parse.lex:
22702         now uses clearaliases variable
22703         [a2dda415bf61]
22704
22705         * interfaces.c:
22706         Initial revision
22707         [a1990e3f5c69]
22708
22709         * Makefile.in:
22710         added interfaces.[co]
22711         [1e8e5984de97]
22712
22713         * testsudoers.c:
22714         now uses ip addrs and netmasks via load_interfaces()
22715         [54b8f7a6835e]
22716
22717         * sudo.c:
22718         now remove IFS instead of setting to "sane" value
22719         [ce7eec9f115e]
22720
22721 1995-05-01  Todd C. Miller  <Todd.Miller@courtesan.com>
22722
22723         * parse.c:
22724         added FAST_MATCH
22725         [816d4f5fe81a]
22726
22727 1995-04-30  Todd C. Miller  <Todd.Miller@courtesan.com>
22728
22729         * Makefile.in:
22730         sudo_goodpath.c-> goodpath.c
22731         [a5072c4e1de2]
22732
22733         * sudo.c:
22734         added Andy's new ISC changes
22735         [caa6bbee358e]
22736
22737 1995-04-14  Todd C. Miller  <Todd.Miller@courtesan.com>
22738
22739         * OPTIONS:
22740         added a sentence to SECURE_PATH info
22741         [cad6e1569d15]
22742
22743         * BUGS:
22744         added one
22745         [4b35cf699a83]
22746
22747         * CHANGES:
22748         updated
22749         [5fded9dc62f0]
22750
22751         * RUNSON:
22752         updated
22753         [33cb993cfd39]
22754
22755 1995-04-13  Todd C. Miller  <Todd.Miller@courtesan.com>
22756
22757         * RUNSON:
22758         updated for beta3
22759         [a05dc6a91995]
22760
22761         * Makefile.in, version.h:
22762         ++version
22763         [54aaf3fadc75]
22764
22765         * aclocal.m4:
22766         sendmail is now looked for in \17/usr/ucblib
22767         [231ac1a4662f]
22768
22769         * sudo.c:
22770         fixed indentation
22771         [fb137400c8c2]
22772
22773         * aclocal.m4:
22774         fixed a typo
22775         [e03f1acc468b]
22776
22777         * sudo.c:
22778         updated ISC mods
22779         [070290d4754b]
22780
22781         * configure.in:
22782         added unixware case
22783         [e90250bae0d9]
22784
22785         * check.c:
22786         user_is_exempt is no longer hidden
22787         [1a341765b8af]
22788
22789         * RUNSON:
22790         updated
22791         [a9c4898b26dd]
22792
22793         * aclocal.m4:
22794         isc and riscos changes
22795         [98b5d86585d1]
22796
22797         * OPTIONS:
22798         added NOTE about new interaction of EXEMPTGROUP and SECURE_PATH
22799         [e1ecc464ce4b]
22800
22801         * Makefile.in:
22802         fixed a typo and added testsudoers stuff
22803         [435d60e163dc]
22804
22805         * testsudoers.c:
22806         Initial revision
22807         [6ce14a448662]
22808
22809 1995-04-12  Todd C. Miller  <Todd.Miller@courtesan.com>
22810
22811         * parse.yacc:
22812         applied fixed patch from Chris
22813         [cd6144203d13]
22814
22815 1995-04-11  Todd C. Miller  <Todd.Miller@courtesan.com>
22816
22817         * Makefile.in:
22818         fixed a typo
22819         [34f8a54ba041]
22820
22821         * parse.yacc:
22822         added a set of braces for bison
22823         [f0e43b938914]
22824
22825         * parse.yacc:
22826         merged in Chris' changes to dekludge the parser.
22827         [82d6e373ab1c]
22828
22829         * logging.c:
22830         send_mail() was calling find_path() which is wrong since find_path()
22831         stores cmnd in a static var. Anyhow, it doesn't make much sense
22832         since MAILER should always be fully qualified
22833         [6eae6a0b8098]
22834
22835 1995-04-10  Todd C. Miller  <Todd.Miller@courtesan.com>
22836
22837         * sample.sudoers:
22838         added User_Alias stuff
22839         [aaba8c8e918d]
22840
22841         * aclocal.m4:
22842         SUDO_NEXT now looks for /usr/lib/NextStep/software_version
22843         [52bd81f34b32]
22844
22845         * RUNSON:
22846         added DEC UNIX 3.0 w/ gcc
22847         [7daf570775b5]
22848
22849         * visudo.c:
22850         Exit was being used in places where exit should be used
22851         [6026a89c07ed]
22852
22853         * sudoers:
22854         added "User alias specification"
22855         [a487b6e234f8]
22856
22857         * parse.yacc:
22858         fixed probs caused by making nslots and naliases a size_t
22859         [0be919384f3f]
22860
22861         * RUNSON:
22862         added KSR, upped rev to 1.3.1b2
22863         [ce04ee6faadf]
22864
22865         * logging.c, parse.yacc:
22866         1024 -> BUFSIZ
22867         [cd6dda45fa11]
22868
22869         * parse.yacc:
22870         void * -> VOID * naliases and nslots are now size_t to appease
22871         lsearch on 64-bit machines
22872         [bf2f807c0dc1]
22873
22874 1995-04-09  Todd C. Miller  <Todd.Miller@courtesan.com>
22875
22876         * TODO:
22877         did a bunch of things and added a bunch :-)
22878         [42afd957b829]
22879
22880         * PORTING:
22881         updated
22882         [972f95c85776]
22883
22884         * visudo.man:
22885         closer to BSD manpage style
22886         [07ae88f50325]
22887
22888         * sudo.man:
22889         closer to standard BSD man format
22890         [372c28dcc135]
22891
22892         * compat.h, config.h.in, emul/search.h, insults.h, options.h,
22893         pathnames.h.in, sudo.h, version.h:
22894         added RCS id
22895         [c0ec90b81002]
22896
22897         * sudo.h:
22898         removed crufty #defines that are no longer used
22899         [35e2b4b477f0]
22900
22901         * BUGS:
22902         fixed a bug
22903         [5bb3e1bee85e]
22904
22905         * sudo.man:
22906         updated based on sudo changes
22907         [e65de1cae438]
22908
22909         * parse.yacc:
22910         now allow ALL keyword in User_Aliases now allow ALL keyword as well
22911         as a NAME or ALIAS
22912         [1fb31404dd0f]
22913
22914         * CHANGES:
22915         updated
22916         [b24018ac610b]
22917
22918         * sudo.c:
22919         now sets SUDO_COMMAND and SUDO_GID envariables.
22920         [e9d791557fb7]
22921
22922         * aclocal.m4:
22923         fixed bug with full void impl check
22924         [35715301023c]
22925
22926         * parse.yacc:
22927         fixed User_Alias supoprt
22928         [4c30dfbaaa07]
22929
22930         * parse.yacc:
22931         added stubs for User_Alias support
22932         [f4afbd247edf]
22933
22934         * sudo.c:
22935         now sets removes # bogus interfaces from num_interfaces
22936         [6f077fac9ab1]
22937
22938         * parse.lex:
22939         added User_Alias support
22940         [bc7997e5df85]
22941
22942 1995-04-08  Todd C. Miller  <Todd.Miller@courtesan.com>
22943
22944         * Makefile.in:
22945         removed extraneous TODO
22946         [bc87a3b14d6d]
22947
22948 1995-04-07  Todd C. Miller  <Todd.Miller@courtesan.com>
22949
22950         * visudo.c:
22951         ntwk_matches -> addr_matches
22952         [475044e288b8]
22953
22954         * parse.yacc:
22955         ntwk_matches -> addr_matches
22956         [dd1f4093fd2d]
22957
22958         * parse.c:
22959         ntwk_matches -> addr_matches now use inet_addr() not inet_network()
22960         (which expects octet boundaries) fixes for OSF (sizeof(int) !=
22961         sizeof(long))
22962         [acd2f556940f]
22963
22964         * sudo.c:
22965         took out debugging info
22966         [044023063eca]
22967
22968         * aclocal.m4:
22969         OS was being set to unknown before non-uname based host checks.
22970         This caused no checks to happen since $OS was not zero-length.
22971         [335a7267479d]
22972
22973         * sudo.c:
22974         fixed loading of interfaces struct still has debugging info in
22975         though
22976         [2d1a18998c1e]
22977
22978         * parse.c:
22979         fixed typo
22980         [175674a3a9fa]
22981
22982 1995-04-06  Todd C. Miller  <Todd.Miller@courtesan.com>
22983
22984         * Makefile.in:
22985         ++version
22986         [55d191b5daa3]
22987
22988         * version.h:
22989         ++
22990         [d7d1f115696a]
22991
22992         * visudo.c:
22993         removed extraneous extern decl of "top
22994         [50355621047d]
22995
22996         * visudo.c:
22997         now zeros "top"
22998         [4e683210345b]
22999
23000         * parse.yacc:
23001         removed parser_cleanup (no need for it now)
23002         [afa59f222b6c]
23003
23004         * parse.lex:
23005         now calls reset_aliases() directly
23006         [3a23cbd60fc0]
23007
23008 1995-04-04  Todd C. Miller  <Todd.Miller@courtesan.com>
23009
23010         * OPTIONS:
23011         added a sentence to SECURE_PATH description
23012         [c5bf75b85af0]
23013
23014         * parse.c:
23015         fixed my stupid bug where I used NAMLEN on something I wanted to
23016         just get the name from. argh.
23017         [111f460f6540]
23018
23019 1995-04-03  Todd C. Miller  <Todd.Miller@courtesan.com>
23020
23021         * lsearch.c:
23022         fixed argument order of memmove() that i hosed when converting from
23023         bcopy(). arghh.
23024         [2f5336045c8b]
23025
23026         * Makefile.in:
23027         finally fixed DISTFILES line
23028         [a1b419e73a63]
23029
23030         * Makefile.in:
23031         tabs -> spaces
23032         [280fb03e5764]
23033
23034         * Makefile.in:
23035         added missing files to DISTFILES
23036         [991fc1cd2263]
23037
23038         * Makefile.in:
23039         SUPPORTED -> RUNSON
23040         [7580e65b05fb]
23041
23042 1995-04-01  Todd C. Miller  <Todd.Miller@courtesan.com>
23043
23044         * TODO:
23045         updated
23046         [fe764a29c1cc]
23047
23048         * RUNSON:
23049         updated for pl5b1 release
23050         [aefc35bd2291]
23051
23052         * BUGS, TODO:
23053         updated
23054         [8f0ea249b687]
23055
23056         * check.c:
23057         fixed bug where if you hit return at first sudo prompt it would
23058         still log as a failure
23059         [24539c854692]
23060
23061         * CHANGES:
23062         updated
23063         [251cc7b3ede4]
23064
23065         * aclocal.m4:
23066         better test for bogus void * implementation
23067         [efe23180cb88]
23068
23069         * logging.c:
23070         added PASSWORDS_NOT_CORRECT
23071         [bd12c73f83f7]
23072
23073         * check.c:
23074         added PASSWORDS_NOT_CORRECT stuff]
23075         [90de391a979f]
23076
23077         * sudo.h:
23078         added PASSWORDS_NOT_CORRECT
23079         [727fbeb76fc5]
23080
23081         * tgetpass.c:
23082         moved pathnames.h
23083         [4f910e5a8df7]
23084
23085         * sudo.c:
23086         removed some unused vars and fixed up uid2str
23087         [70e92c7f9076]
23088
23089         * putenv.c:
23090         moved compat.h
23091         [b271091586f6]
23092
23093         * getcwd.c, getwd.c:
23094         added pathnames.h
23095         [6f25218f133f]
23096
23097 1995-03-31  Todd C. Miller  <Todd.Miller@courtesan.com>
23098
23099         * parse.yacc:
23100         fixed a typo I introduced in the last checkin :-(
23101         [62c3af75c4fe]
23102
23103         * parse.lex:
23104         can't have #ifdef's where N is defined so just do this the broken
23105         way for AIX
23106         [c5648a5594e4]
23107
23108         * parse.yacc:
23109         better hack from Chris (but still a hack)
23110         [6b6d8aed93f3]
23111
23112         * parse.lex:
23113         stupid hack for broken aix lex
23114         [efc3f9e5280e]
23115
23116         * tgetpass.c:
23117         now includes compat.h \ 6
23118         [401822173f77]
23119
23120         * visudo.c:
23121         now includes fcntl.h
23122         [63865c2f8ac6]
23123
23124         * compat.h:
23125         added FD_SET and FD_ZERO for 4.2BSD
23126         [00c5597c0bb0]
23127
23128         * parse.yacc:
23129         dirty hack to fix parser bug. i don't really like this but it works
23130         for now...
23131         [5b8bbdc81569]
23132
23133         * sudo.c:
23134         uid2str is now static like the prototype says
23135         [f2a97b5cb870]
23136
23137 1995-03-30  Todd C. Miller  <Todd.Miller@courtesan.com>
23138
23139         * CHANGES, SUPPORTED, TODO, TROUBLESHOOTING:
23140         updated
23141         [6f79c3e92716]
23142
23143         * RUNSON:
23144         Initial revision
23145         [12a09ef9e884]
23146
23147         * sudo.c:
23148         check_sudoers now returns an error code and sudo calls inform_user
23149         and log_error based on the return value.
23150         [340eca188d9a]
23151
23152         * logging.c, sudo.h:
23153         added entries for new errors
23154         [6050d8542e1f]
23155
23156         * parse.c:
23157         now set uid to that of SUDOERS_OWNER while parsing sudoers file
23158         [3683c42bc9b0]
23159
23160         * Makefile.in:
23161         took out testsudoers \ 6
23162         [65317d49db48]
23163
23164         * sudo.c:
23165         now explicately checks that it is setuid root
23166         [2fe1be60ef6a]
23167
23168         * sudo.c:
23169         If a user has no passwd entry sudo would segv (writing to a garbage
23170         pointer). Now allocate space before writing :-)
23171         [d08e7eb5e5ef]
23172
23173         * configure.in:
23174         reordered AC_CHECK_FUNCS
23175         [4c82e56c6f4f]
23176
23177         * config.h.in:
23178         fixed memset macro
23179         [77ede6b714ab]
23180
23181         * tgetpass.c, visudo.c:
23182         bzero -> memset
23183         [1a005bb322c8]
23184
23185         * logging.c:
23186         bzero -> memset when a parse error is logged the line number of the
23187         error is now logged too
23188         [a42d68047723]
23189
23190         * INSTALL:
23191         added Sunos to blurb about c2 security
23192         [af750a1d131e]
23193
23194         * configure.in:
23195         added a SUN4 define for C2 security
23196         [6ad5b23a3eb0]
23197
23198         * config.h.in:
23199         bcopy -> memmove bzero -> memset
23200         [5494460c8464]
23201
23202         * lsearch.c:
23203         bcopy -> memmove char * -> VOID *
23204         [a15f5c316e16]
23205
23206         * check.c:
23207         added support for sunos with C2 security
23208         [03fea5bb21e6]
23209
23210         * OPTIONS, options.h:
23211         reordered
23212         [1686265af3e1]
23213
23214         * pathnames.h.in:
23215         _PATH_SUDO_LOGFILE now set based on configure
23216         [5867b58e4a04]
23217
23218         * configure.in:
23219         added SUDO_LOGFILE and SUDO_TYPE_SIZE_T
23220         [1984d9fd1b5c]
23221
23222         * config.h.in:
23223         added _SUDO_PATH_LOGFILE
23224         [dd3eebe62580]
23225
23226         * aclocal.m4:
23227         added SUDO_LOGFILE to find where to put sudo.log added
23228         SUDO_CHECK_TYPE (just AC_CHECK_TYPE but checks unistd.h too) added
23229         SUDO_TYPE_SIZE_T (calls SUDO_CHECK_TYPE)
23230         [c589a515a99a]
23231
23232 1995-03-29  Todd C. Miller  <Todd.Miller@courtesan.com>
23233
23234         * TROUBLESHOOTING:
23235         Initial revision
23236         [f42f1baba3a8]
23237
23238         * sudo.c:
23239         now do set_perms(PERM_ROOT) before the getpwuid() in load_global()
23240         to work around a problem is trusted hpux shadow passwords. yuck.
23241         [ae1f13b54687]
23242
23243         * parse.yacc:
23244         backed out a change in malloc/realloc
23245         [ab868db0ad69]
23246
23247         * parse.yacc:
23248         now include stdlib.h
23249         [957eef0631eb]
23250
23251         * visudo.c:
23252         now do an freopen() of the stmp file so that yyin will always point
23253         to the same thing. This is important for flex since we are doing a
23254         YY_NEWFILE
23255         [44558922fd3e]
23256
23257         * parse.yacc:
23258         replaced yywrap() with parser_cleanup() since yywrap() needs to be
23259         in parse.lex to be able to use YY_NEW_FILE. sigh.
23260         [12dd09921074]
23261
23262         * parse.lex:
23263         now have a rule that matches anything that doesn't match an
23264         explicite rule. well, you know what i mean (. matches anything not
23265         yet matched). However, this means that there is input still queued
23266         up so we need to do a YY_NEW_FILE; in yywrap. So, yywrap has moved
23267         into parse.lex and it calls parser_cleanup() which is most of the
23268         old yywrap() sigh.
23269         [7f4042bc48d6]
23270
23271         * SUPPORTED:
23272         no longer used
23273         [8f220be4da94]
23274
23275         * getcwd.c, getwd.c:
23276         moved compat.h to be the last include file
23277         [9f3a65e2d485]
23278
23279         * parse.yacc:
23280         fixed type of aliascmp() args
23281         [1c27eb989bdf]
23282
23283         * find_path.c:
23284         NULL -> '\0'
23285         [5c8d8cf1692e]
23286
23287         * parse.yacc:
23288         added casts to lfind and lsearch args for irix
23289         [61027ddeecf8]
23290
23291         * Makefile.in:
23292         bsdinstall -> install-sh
23293         [61de6612c5a5]
23294
23295         * INSTALL:
23296         added info about make realclean
23297         [29c6324d727f]
23298
23299         * Makefile.in:
23300         updated VERSION added dependencies for visudo.cat
23301         [09077d7229d4]
23302
23303         * version.h:
23304         -> pl5b1
23305         [5d21c7ad1a41]
23306
23307         * sudo.c:
23308         took out -l
23309         [fc1478d81b38]
23310
23311         * Makefile.in:
23312         now there is a real visudo.man and visudo.cat
23313         [58aeac43a6dd]
23314
23315         * sudo.man:
23316         took out visudo stuff
23317         [4a6ac4393343]
23318
23319         * visudo.man:
23320         Initial revision
23321         [cba348843db8]
23322
23323         * parse.c, parse.lex, parse.yacc:
23324         updated copyright
23325         [ffa16b70944a]
23326
23327         * README:
23328         updated for pl5
23329         [a26e423e9e5f]
23330
23331         * sudo.man:
23332         updated Nieusma & Hieb email addresses
23333         [f0083e71989d]
23334
23335         * INSTALL:
23336         updated to include options.h and OPTIONS
23337         [ee59e2b76c94]
23338
23339         * CHANGES, TODO:
23340         updated
23341         [51e011ad5220]
23342
23343         * BUGS:
23344         eliminated bug #1 (yay)
23345         [e7e88515494e]
23346
23347         * configure.in:
23348         sunos no longer gets linked statically
23349         [2e5b3ff3108f]
23350
23351 1995-03-28  Todd C. Miller  <Todd.Miller@courtesan.com>
23352
23353         * parse.lex:
23354         prototype now uses __P()
23355         [68ecdcab4c70]
23356
23357         * parse.lex:
23358         make fill() non-ansi
23359         [d6509972260b]
23360
23361         * parse.c:
23362         made -v (validate) work
23363         [13c9d520638c]
23364
23365         * logging.c:
23366         now gives host
23367         [f04859cdba5a]
23368
23369         * find_path.c:
23370         don't check for execute/statable if fq or relative path given
23371         [4bbe851f3973]
23372
23373         * parse.c:
23374         added a cast
23375         [345c308f72f3]
23376
23377         * visudo.c:
23378         now include ctype.h for islower and tolower macros
23379         [582c0aa332d5]
23380
23381         * goodpath.c:
23382         moved _S_IFMT & _S_ISREG to compat.h
23383         [828e4ca4e7b4]
23384
23385         * sudo.c:
23386         moved a set of parens
23387         [5783474ecf37]
23388
23389         * strdup.c:
23390         now include compat.h
23391         [75e2036b94af]
23392
23393         * emul/search.h:
23394         void * -> VOID *
23395         [cedcfaf04161]
23396
23397         * parse.yacc:
23398         now cast malloc & realloc return vals added search for HAVE_LSEARCH
23399         now use strcmp if no strcasecmp available
23400         [d6a42bc3d4ae]
23401
23402         * lsearch.c:
23403         void * -> VOID *
23404         [886adc44f607]
23405
23406         * config.h.in:
23407         removed HAVE_FLEX added VOID added HAVE_DIRENT_H, HAVE_SYS_NDIR_H,
23408         HAVE_SYS_DIR_H, HAVE_NDIR_H added HAVE_LSEARCH
23409         [3b50d7fb4349]
23410
23411         * compat.h:
23412         added _S_IFMT, _S_IFREG, and S_ISREG
23413         [73d506c7d53c]
23414
23415         * aclocal.m4:
23416         took out SUDO_PROG_INSTALL 1.x to 2.x changes added echo and results
23417         to most SUDO_* macros
23418         [8442155f5936]
23419
23420         * Makefile.in:
23421         no more -I.
23422         [63462f195bd4]
23423
23424         * configure.in:
23425         various 1.x ro 2.x autoconf changes now check for strcasecmp now use
23426         AC_INSTALL_PROG instead of custom one added check for fully woorking
23427         void implementation
23428         [5ac6b6e6230f]
23429
23430         * Makefile.in:
23431         added lsearch & search.h visudo links into $(LIBOBJS)
23432         [bc119cda4598]
23433
23434         * aclocal.m4:
23435         partial 1.x to 2.x changes added SUDO_FULL_VOID
23436         [1194d01fa5c5]
23437
23438         * visudo.c:
23439         whatnow_help was prototyped to be static be was not declared as
23440         such
23441         [0f85489dd426]
23442
23443         * configure.in:
23444         autoconf 2.x changes took out HAVE_FLEX (no longer used) added check
23445         for dirent/dir/ndir.h
23446         [7408f3854948]
23447
23448         * parse.c:
23449         now use groovy gnu autoconf macro AC_HEADER_DIRENT
23450         [e465db9f5dfa]
23451
23452         * getcwd.c, getwd.c:
23453         MAXPATHLEN -> MAXPATHLEN+1
23454         [714d87424e21]
23455
23456         * emul/search.h, lsearch.c:
23457         Initial revision
23458         [55d79482c535]
23459
23460 1995-03-27  Todd C. Miller  <Todd.Miller@courtesan.com>
23461
23462         * parse.yacc:
23463         eliminated bison warnings
23464         [61ca0a96da22]
23465
23466         * parse.lex:
23467         added missing case
23468         [6be0f849747c]
23469
23470         * visudo.c:
23471         now iincludes signal.h
23472         [221e0fcc144f]
23473
23474         * parse.yacc:
23475         only clear data structures on a parse error
23476         [7b1c0f1a4527]
23477
23478         * visudo.c:
23479         whatnow() now gives help on invalid input
23480         [e5a4cd88c587]
23481
23482         * visudo.c:
23483         added a whatnow() function (sort of like mh)
23484         [932d9b145f1c]
23485
23486         * parse.yacc:
23487         kill_aliases -> reset_aliases yywrap() now cleans up by calling
23488         reset_aliases() and clearing top took reset stuff out of yyerror()
23489         since it doesn't beling there (and doesn't work anyway). errorlineno
23490         is now initially set to -1 so we can set it to the first error that
23491         occurrs (it was getting set to the last)
23492         [2f71f95a974c]
23493
23494         * parse.lex:
23495         added a void cast
23496         [18ae6042dce4]
23497
23498         * visudo.c:
23499         rewrote from scratch based on 4.3BSD vipw.c
23500         [2f6814f18576]
23501
23502 1995-03-26  Todd C. Miller  <Todd.Miller@courtesan.com>
23503
23504         * sudo.c, sudo.h:
23505         removed ocmnd
23506         [a31735f41ad4]
23507
23508         * sudo.h:
23509         no more sudo_realpath() and find_path() changed params
23510         [8e85c3b39159]
23511
23512         * sudo.c:
23513         find_path() changed since no more realpath()
23514         [b25366c7f2ee]
23515
23516         * parse.yacc:
23517         on error, errorlineno is set to the line where the error occurred
23518         added kill_aliases() to free the aliases struct now clean up in
23519         yyerror() so we can reparse cleanly
23520         [2342f578c27a]
23521
23522         * options.h, parse.c:
23523         no more USE_REALPATH
23524         [cfc59babeaff]
23525
23526         * logging.c:
23527         changed to use new find_path()
23528         [91c7a38e7751]
23529
23530         * find_path.c:
23531         removed all the realpath() stuff
23532         [cc21a43a8562]
23533
23534         * Makefile.in:
23535         sudo_realpath.c -> sudo_goodpath.c
23536         [03a9b1ddec2f]
23537
23538         * visudo.c:
23539         now works correctly with utk parser
23540         [08aa554a0ce8]
23541
23542         * goodpath.c:
23543         Initial revision
23544         [1ea607e1ffb2]
23545
23546         * sudo_realpath.c:
23547         eliminated a compiler warning
23548         [198bcccc55b6]
23549
23550         * sudo.c:
23551         elinated compiler warning
23552         [e2384f9a878b]
23553
23554         * sudo_realpath.c:
23555         added sudo_goodpath()
23556         [43878c4cc540]
23557
23558         * sudo.h:
23559         added prototype for sudo_goodpath
23560         [23e8627a2265]
23561
23562         * parse.c:
23563         added support for /sys/dir.h
23564         [eca897087741]
23565
23566         * options.h:
23567         USE_REALPATH turned off
23568         [620ac8b63d85]
23569
23570         * find_path.c:
23571         added calls to sudo_goodpath()
23572         [ad170904fbcd]
23573
23574         * configure.in:
23575         added check for dirent.h
23576         [7964a8c26855]
23577
23578         * config.h.in:
23579         added HAVE_DIRENT_H
23580         [1f785fec7e19]
23581
23582         * configure.in:
23583         added in linux shadow pass stuff \ 6
23584         [e585a5785f50]
23585
23586 1995-03-24  Todd C. Miller  <Todd.Miller@courtesan.com>
23587
23588         * visudo.c:
23589         added back host, user, cmnd, parse_error
23590         [0ec19f3d64f4]
23591
23592         * visudo.c:
23593         added in utk changes plus some minor cosmetic changes
23594         [c5c1921c8a58]
23595
23596         * sudo.c, sudo_realpath.c:
23597         added void casts for printf's
23598         [9c6ff11c0082]
23599
23600         * options.h:
23601         added a define of USE_REALPATH
23602         [db3711c9efc5]
23603
23604         * configure.in:
23605         there is no more visudoers/Makefile
23606         [36e1bc1f78d0]
23607
23608         * Makefile.in:
23609         added in utk changes (visudo is now built from the toplevel)
23610         [76203d4b345d]
23611
23612         * find_path.c:
23613         added (void) casts to printf's
23614         [dd5cb1e060ac]
23615
23616         * parse.c, parse.lex, parse.yacc, sudo.h, sudo_realpath.c:
23617         merged in utk changes
23618         [35563307fd8e]
23619
23620 1995-03-23  Todd C. Miller  <Todd.Miller@courtesan.com>
23621
23622         * find_path.c:
23623         now check to see that what we are trying to run is a file (or a link
23624         to a file, we do a stat(2) so there is no diff)
23625         [05889c4bcace]
23626
23627 1995-03-13  Todd C. Miller  <Todd.Miller@courtesan.com>
23628
23629         * CHANGES:
23630         updated
23631         [3e8047bb26fb]
23632
23633         * Makefile.in:
23634         aclocal.m4 -> acsite.m4 make realclean updated for new autoconf \ 6
23635         [0bdbaa7c4c7d]
23636
23637         * sudo.man:
23638         added myself as maintainer
23639         [77a9d75aab84]
23640
23641 1995-02-17  Todd C. Miller  <Todd.Miller@courtesan.com>
23642
23643         * sudo.c:
23644         changed setegid -> setgid
23645         [7f4788d73b6f]
23646
23647 1995-02-06  Todd C. Miller  <Todd.Miller@courtesan.com>
23648
23649         * configure.in:
23650         fixed the test for irix 5.x to skip bad libs
23651         [bfef896de013]
23652
23653         * aclocal.m4:
23654         now initialize OS and OSREV
23655         [cc302756e440]
23656
23657 1995-01-27  Todd C. Miller  <Todd.Miller@courtesan.com>
23658
23659         * configure.in:
23660         irix5 changes
23661         [ac985b23f5f2]
23662
23663         * configure.in:
23664         AC_WITH -> AC_ARG_WITH changes other misc changes for autoconf 2.1
23665         compatibility
23666         [0cf8c92a06d7]
23667
23668 1995-01-19  Todd C. Miller  <Todd.Miller@courtesan.com>
23669
23670         * visudo.c:
23671         use YY_NEW_FILE, not yyrestart since OSF flex doesn't do the righ
23672         thing wrt yyrestart (grrrr)
23673         [18e8eabfbb82]
23674
23675 1995-01-16  Todd C. Miller  <Todd.Miller@courtesan.com>
23676
23677         * Makefile.in:
23678         added visudoers/compat.h to DISTFILES
23679         [db23b574b034]
23680
23681         * configure.in:
23682         fixed an echo
23683         [7cbc0462b89d]
23684
23685         * sudo.c:
23686         added ocmnd declaration adjusted for find_path()'s new parameters
23687         [d929cd156474]
23688
23689         * sudo.h:
23690         added ocmnd extern adjusted find_path() prototype
23691         [e0004daf5d3c]
23692
23693         * parse.c:
23694         cmndcmp() now takes 3 arguments and checks against the qualified as
23695         well as the unqualified pathname. more code that should use
23696         cmndcmp() but did not, now does
23697         [6f70a8c17bee]
23698
23699         * options.h:
23700         added to a comment
23701         [7a78680426b2]
23702
23703         * logging.c:
23704         changed to use new find_path() parameter passing
23705         [840981d30db4]
23706
23707         * find_path.c:
23708         find_path() now takes 2 copyout parameters (one for the qualified
23709         pathname and one for the unqualified pathname). The third parameter
23710         may be NULL.
23711         [851503b005e9]
23712
23713         * configure.in:
23714         no longer munge pathnames.h
23715         [427d8796c5a9]
23716
23717         * pathnames.h.in:
23718         changed _PATH_* to use _SUDO_PATH_* (which are defined in config.h)
23719         as a result, pathnames.h does not need to be run through configure
23720         and the user can override the configured values easily.
23721         [2e378f2ebe88]
23722
23723         * config.h.in:
23724         added _SUDO_PATH_* entries
23725         [0857de7cebab]
23726
23727         * aclocal.m4:
23728         _PATH* -> _SUDO_PATH_*
23729         [7601193f56cc]
23730
23731         * Makefile.in:
23732         updated DISTFILES and HDRS .o's now depend on config.h
23733         [39d8601965cf]
23734
23735 1995-01-13  Todd C. Miller  <Todd.Miller@courtesan.com>
23736
23737         * compat.h:
23738         removed extraneous #endif
23739         [27d4c5f2ce7e]
23740
23741         * aclocal.m4:
23742         added SUDO_PROG_MV
23743         [76dda3bdd816]
23744
23745         * configure.in:
23746         added SUDO_PROG_MV added riscos and isc os types took out
23747         -DSHORT_MESSAGE from --with-csops since it is now the default
23748         [68c206ad976e]
23749
23750         * sudo.c:
23751         move the include of id.h to compat.h now includes options.h
23752         [45a1eaafb3a8]
23753
23754         * sudo.h:
23755         moved compatibility #defines to compat.h
23756         [0eee27057698]
23757
23758         * pathnames.h.in:
23759         added _PATH_MV
23760         [e830797ab320]
23761
23762         * config.h.in:
23763         move __P to compat.h
23764         [188e12e0ba93]
23765
23766         * getcwd.c, getwd.c, putenv.c:
23767         now includes compat.h
23768         [c72cb6d73981]
23769
23770         * compat.h:
23771         Initial revision
23772         [d4d2f359ae03]
23773
23774 1995-01-12  Todd C. Miller  <Todd.Miller@courtesan.com>
23775
23776         * sudo.h:
23777         pull user-configurable stuff out and put in options.h
23778         [ef929467b070]
23779
23780 1995-01-11  Todd C. Miller  <Todd.Miller@courtesan.com>
23781
23782         * parse.lex, parse.yacc, visudo.c:
23783         now includes options.h
23784         [e36d7c82add1]
23785
23786         * check.c, find_path.c, logging.c, parse.c, sudo_realpath.c,
23787         sudo_setenv.c:
23788         now includes options.h
23789         [f186ba03de07]
23790
23791         * Makefile.in:
23792         added visudoers/options.h
23793         [e5350c476494]
23794
23795         * OPTIONS, options.h:
23796         Initial revision
23797         [9b6b5001e318]
23798
23799         * Makefile.in:
23800         added OPTIONS and options.h
23801         [25448341e16a]
23802
23803         * logging.c:
23804         changed #ifdef's to use LOGGING and SLOG_SYSLOG/SLOG_FILE
23805         [5dd6385dd1d3]
23806
23807         * check.c, sudo.h:
23808         changed PASSWORD_TIMEOUT to minutes
23809         [0ec6aab98738]
23810
23811 1994-12-17  Todd C. Miller  <Todd.Miller@courtesan.com>
23812
23813         * visudo.c:
23814         now only do Editor +line_num if line_num != 0
23815         [b69f04b5e3c7]
23816
23817 1994-12-16  Todd C. Miller  <Todd.Miller@courtesan.com>
23818
23819         * visudo.c:
23820         now use mv if rename(2) fails
23821         [83210dca1bab]
23822
23823         * BUGS:
23824         added a visudo bug
23825         [d61a806f9aa7]
23826
23827         * check.c:
23828         expanded comment
23829         [641f2cba94cb]
23830
23831 1994-11-12  Todd C. Miller  <Todd.Miller@courtesan.com>
23832
23833         * check.c:
23834         fixed user_is_exempt to return 0 if EXEMPTGROUP is not set
23835         [7a11135039a8]
23836
23837 1994-11-10  Todd C. Miller  <Todd.Miller@courtesan.com>
23838
23839         * sudo.c:
23840         added mips & isc support
23841         [e258dc053119]
23842
23843         * parse.c:
23844         added support for non-root owned sudoers file
23845         [fea07e65a0fc]
23846
23847         * check.c:
23848         added exempt group support
23849         [928fb4bd9ad5]
23850
23851         * sudo.h:
23852         added set_perms() support added SUDOERS_OWNER so can have non-root
23853         own sudoers file added exempt group support added isc support
23854         [61c578d31fc1]
23855
23856         * visudo.c:
23857         now copy sudoers to temp file via read/write (not stdio) now chown
23858         new sudoers file to SUDOERS_OWNER
23859         [a5176c59df70]
23860
23861 1994-11-08  Todd C. Miller  <Todd.Miller@courtesan.com>
23862
23863         * configure.in:
23864         added skey support
23865         [35a8d2fabdb7]
23866
23867         * sudo_realpath.c:
23868         be_* -> setperms()
23869         [a1631d686e1c]
23870
23871         * sudo.h:
23872         fixed typo added set_perms support added skey support added
23873         seteuid()/setegid() emulation for AIX
23874         [c0c8d6771406]
23875
23876         * sudo.c:
23877         be_* -> setperms() now check to make sure sudoers file is owned by
23878         root nread/write by only root
23879         [13ab1e261f1a]
23880
23881         * logging.c, parse.c:
23882         be_* -> setperms()
23883         [21499d845c8f]
23884
23885         * check.c:
23886         be_* -> set_perms() added skey support
23887         [df51b56871c1]
23888
23889 1994-11-06  Todd C. Miller  <Todd.Miller@courtesan.com>
23890
23891         * Makefile.in:
23892         ++version
23893         [3c1abbe4e43c]
23894
23895         * version.h:
23896         ++
23897         [1d2f9b540a95]
23898
23899 1994-10-21  Todd C. Miller  <Todd.Miller@courtesan.com>
23900
23901         * sudo.c:
23902         now sets IFS
23903         [eabbb41b9f08]
23904
23905         * insults.h:
23906         fixed typo
23907         [c7997f19216e]
23908
23909 1994-10-15  Todd C. Miller  <Todd.Miller@courtesan.com>
23910
23911         * config.h.in:
23912         added HAVE_SKEY
23913         [da948ec4186b]
23914
23915 1994-10-04  Todd C. Miller  <Todd.Miller@courtesan.com>
23916
23917         * CHANGES:
23918         updated
23919         [f4b55ab007ea]
23920
23921         * Makefile.in:
23922         ++version
23923         [0489068b8c95]
23924
23925         * version.h:
23926         ++
23927         [d189faedf423]
23928
23929         * sudo.c:
23930         now bail if ARgv[1] > MAXPATHLEN
23931         [0cea8ecc9dc2]
23932
23933         * configure.in:
23934         added function check for tcgetattr(3)
23935         [e03289b22c2f]
23936
23937         * config.h.in:
23938         only define HAVE_TERMIOS_H if you have tcgetattr(3)
23939         [757eab83d1a2]
23940
23941         * config.h.in:
23942         added check for tcgetattr
23943         [c5ae92715930]
23944
23945 1994-09-26  Todd C. Miller  <Todd.Miller@courtesan.com>
23946
23947         * CHANGES:
23948         updated
23949         [cbc419883108]
23950
23951 1994-09-22  Todd C. Miller  <Todd.Miller@courtesan.com>
23952
23953         * parse.lex:
23954         now only include unistd.h for linux
23955         [e9adeab95ef0]
23956
23957 1994-09-21  Todd C. Miller  <Todd.Miller@courtesan.com>
23958
23959         * Makefile.in:
23960         added visudo.8 generation
23961         [d6a3f0f887f8]
23962
23963         * configure.in:
23964         added -Wl,-bI:./aixcrypt.exp to aix flags
23965         [72594a21edcf]
23966
23967 1994-09-20  Todd C. Miller  <Todd.Miller@courtesan.com>
23968
23969         * BUGS:
23970         added one
23971         [9993a349e096]
23972
23973         * CHANGES:
23974         updated
23975         [297b31ec4cdd]
23976
23977         * README:
23978         added mailing list info
23979         [10372f94a2b2]
23980
23981         * parse.yacc:
23982         now use sudolineno instead of yylineno fixed bison warnings
23983         [25a83e62057b]
23984
23985         * configure.in:
23986         now use -no_library_replacement for osf don't make a static binary
23987         for hpux >= 9.0
23988         [1fa7b892f1a3]
23989
23990         * tgetpass.c:
23991         added string.h/strings.h inclusion
23992         [71faa98fc0a1]
23993
23994         * config.h.in:
23995         added ssize_t def
23996         [406284bd1ac0]
23997
23998         * parse.lex:
23999         added inclusion of string.h/strings.h
24000         [6985b1df5d09]
24001
24002         * aclocal.m4:
24003         fixed uname | sed (needed to quote the '[')
24004         [4cd2d3415c1a]
24005
24006         * parse.lex:
24007         replaced yylineno with sudolineno fixed bison syntax errors
24008         [0bd31a5fab26]
24009
24010         * visudo.c:
24011         changed yylineno to sudolineno since yylineno cannot be counted
24012         upon.
24013         [38c30104d0ae]
24014
24015         * TODO:
24016         updated
24017         [5d4746f1a752]
24018
24019         * parse.c:
24020         added code to support command listings
24021         [030172e133fd]
24022
24023         * sudo.c:
24024         added code for -l flag
24025         [801dbbc82778]
24026
24027         * sudo.man:
24028         fixed typo added info for -l flag
24029         [8916ca945d65]
24030
24031         * configure.in:
24032         AC_SSIZE_T -> SUDO_SSIZE_T
24033         [c61f7f47013f]
24034
24035         * aclocal.m4:
24036         added SUDO_SSIZE_T
24037         [0ccdb77be84d]
24038
24039         * sudo.h:
24040         added MODE_LIST
24041         [9b2bd844c76c]
24042
24043         * configure.in:
24044         added AC_SSIZE_T
24045         [35cca208f9b5]
24046
24047         * find_path.c, sudo_realpath.c:
24048         readlink() is now declared as returning ssize~_t
24049         [0640a08d1407]
24050
24051         * configure.in:
24052         added -laud for OSF c2
24053         [b7539c905efc]
24054
24055 1994-09-02  Todd C. Miller  <Todd.Miller@courtesan.com>
24056
24057         * Makefile.in, visudo.c:
24058         changed sudo-bugs.cs.colorado.edu -> sudo-bugs@cs.colorado.edu
24059         [067fd9bcb5e1]
24060
24061         * config.h.in, parse.lex, parse.yacc, pathnames.h.in:
24062         changed sudo-bugs.cs.colorado.edu -> sudo-bugs@cs.colorado.edu
24063         [fc46e7c7110a]
24064
24065         * check.c, find_path.c, getcwd.c, getwd.c, insults.h, logging.c,
24066         parse.c, putenv.c, strdup.c, sudo.c, sudo.h, sudo_realpath.c,
24067         sudo_setenv.c, tgetpass.c, version.h:
24068         changed sudo-bugs.cs.colorado.edu -> sudo-bugs@cs.colorado.ed
24069         [d1d4fbc53a98]
24070
24071 1994-09-01  Todd C. Miller  <Todd.Miller@courtesan.com>
24072
24073         * Makefile.in:
24074         ++version
24075         [b7066d97633f]
24076
24077         * version.h:
24078         ++
24079         [65ec69d88110]
24080
24081         * logging.c:
24082         added host to alertmail messages
24083         [d973c19ce777]
24084
24085         * CHANGES, TODO:
24086         udpated
24087         [5a65eb16faeb]
24088
24089         * logging.c:
24090         fixed logging problem where mail would not say which user it was
24091         [35723edcc5d2]
24092
24093         * configure.in:
24094         added -laud for gcc if osf & c2
24095         [18f1e0ae5548]
24096
24097         * check.c:
24098         moved set_auth_parameters to sudo.c
24099         [d23112fe01db]
24100
24101         * sudo.c:
24102         added set_auth_parameters for osf
24103         [eb70f65214ac]
24104
24105         * configure.in:
24106         cleaned up -static stuff
24107         [01e9575f0422]
24108
24109         * Makefile.in:
24110         ++version
24111         [7ac3bff5c770]
24112
24113         * version.h:
24114         ++
24115         [10a4ff478469]
24116
24117         * sudo.c:
24118         changed setenv() to sudo_setenv()
24119         [40a78abb9946]
24120
24121         * check.c:
24122         fixed osf problem
24123         [3d69b118efb8]
24124
24125         * configure.in:
24126         added OSF C2 stuff
24127         [38cff3ad4093]
24128
24129         * CHANGES:
24130         updated
24131         [cd341dd0581a]
24132
24133         * check.c:
24134         added osf auth support & removed some extra spaces
24135         [a448cdd81514]
24136
24137         * INSTALL, SUPPORTED:
24138         added osf C2 stuff
24139         [f70484796146]
24140
24141 1994-08-31  Todd C. Miller  <Todd.Miller@courtesan.com>
24142
24143         * TODO:
24144         added 2 suggestions
24145         [695fbdbd86e6]
24146
24147         * Makefile.in:
24148         removed README.v1.3.1 and added VERSION stuff
24149         [f69403eb04c6]
24150
24151         * version.h:
24152         pl1
24153         [21580c0f8cb1]
24154
24155 1994-08-30  Todd C. Miller  <Todd.Miller@courtesan.com>
24156
24157         * version.h:
24158         1.3.1final
24159         [630114970298]
24160
24161         * Makefile.in:
24162         added HISTORY
24163         [901bff251614]
24164
24165         * sudo.man:
24166         mention HISTPRY file
24167         [86dbcfd4326e]
24168
24169         * sudo.c:
24170         use sizeof instead of a constant in 1 place
24171         [d819604c68ca]
24172
24173         * parse.yacc:
24174         added unistd.h
24175         [6f9500f9fe7e]
24176
24177         * parse.lex:
24178         added unistd.h
24179         [468b81a276eb]
24180
24181         * README:
24182         udpated
24183         [7e275618923a]
24184
24185         * HISTORY:
24186         Initial revision
24187         [5db1b0a3939b]
24188
24189 1994-08-17  Todd C. Miller  <Todd.Miller@courtesan.com>
24190
24191         * version.h:
24192         ++
24193         [7dfbb4a810bb] [SUDO_1_3_1]
24194
24195         * CHANGES:
24196         updated
24197         [7820ee610bf8]
24198
24199         * sudo_setenv.c:
24200         added unistd.h include
24201         [30cf2b654525]
24202
24203 1994-08-16  Todd C. Miller  <Todd.Miller@courtesan.com>
24204
24205         * sudo.c:
24206         added sys/time.h for AIX
24207         [199fc8caf3a3]
24208
24209 1994-08-15  Todd C. Miller  <Todd.Miller@courtesan.com>
24210
24211         * configure.in:
24212         added check for -lsocket and sys/sockio.h
24213         [f9abfbb31031]
24214
24215         * config.h.in:
24216         took out libshadow check and added in sys/sockio.h check
24217         [0c4b0393ac80]
24218
24219         * sudo.c:
24220         now include sockio.h instead of ioctl.h if it exists "sudo -" now
24221         gets a better error message
24222         [53041bea5483]
24223
24224         * sample.sudoers:
24225         now has a dir and subnet entry
24226         [56b820f65438]
24227
24228 1994-08-13  Todd C. Miller  <Todd.Miller@courtesan.com>
24229
24230         * sudo.c:
24231         removed if_ether.h
24232         [b4f64507493e]
24233
24234         * TODO:
24235         added an item
24236         [ea2a1bb6922a]
24237
24238         * sudo.man:
24239         added network and ip addresses to man page
24240         [01c85016511f]
24241
24242         * sudo.c:
24243         no error if can't get interfaces or netmask since networking may not
24244         be in the kernel.
24245         [50b8890e2134]
24246
24247         * parse.c:
24248         nwo check for interfaces == NULL
24249         [dc1b3eef0db2]
24250
24251         * parse.c:
24252         fixed a bug that caused directory specs in a Cmnd_Alias to fail if
24253         the last entry in the spec failed (ie: it was only looking at the
24254         last entry). CLeaned things up by adding the cmndcmp() function--all
24255         neat & tidy
24256         [007e93578e5e]
24257
24258         * CHANGES:
24259         added one
24260         [40e8a2cef497]
24261
24262 1994-08-12  Todd C. Miller  <Todd.Miller@courtesan.com>
24263
24264         * sudo.c:
24265         now do two passes to skip bogus interfaces (lo0, etc)
24266         [465e30aecaf7]
24267
24268         * parse.lex, parse.yacc, visudo.c:
24269         added include of netinet/in.h
24270         [11e3816ed362]
24271
24272         * logging.c, sudo_realpath.c, sudo_setenv.c:
24273         added ninclude of netinet/in.h
24274         [daccfa40fe1e]
24275
24276         * check.c, find_path.c, getcwd.c, getwd.c:
24277         added include of netinet/in.h
24278         [0222f95e06ad]
24279
24280         * version.h:
24281         ++
24282         [d6b0cfa35a38]
24283
24284         * sudo.h:
24285         added interfaces global
24286         [ba52fa8ad75e]
24287
24288         * parse.c:
24289         now uses new interfaces global
24290         [17473ad5ecba]
24291
24292         * sudo.c:
24293         now ip addresses are gleaned fw/o dns
24294         [8828bb2007e0]
24295
24296 1994-08-10  Todd C. Miller  <Todd.Miller@courtesan.com>
24297
24298         * sudo.c:
24299         added load_ip_addrs() to load the ip_addrs global var
24300         [60c825f04238]
24301
24302         * parse.c:
24303         added hostcmp() to compare hostnames, ip addrs, and network addrs
24304         [ab0e40e37537]
24305
24306         * sudo.h:
24307         added ip_addrs def added load_ip_addrs prototype
24308         [c41c565d0777]
24309
24310 1994-08-08  Todd C. Miller  <Todd.Miller@courtesan.com>
24311
24312         * CHANGES:
24313         updated
24314         [2a128dbe9bcb]
24315
24316         * Makefile.in:
24317         removed multiple entries in DISTFILES
24318         [2490f4f371e6]
24319
24320         * visudo.c:
24321         ansified the !STDC_HEADERS decls
24322         [646ba06d17ae]
24323
24324         * find_path.c, getcwd.c, getwd.c, putenv.c, strdup.c:
24325         don't do malloc decl if gnuc
24326         [f1bad1925f98]
24327
24328         * sudo.c:
24329         can't use getopt(3) since it munges args to the command to be run as
24330         root don't do malloc decl if gnuc
24331         [38e78f6da14e]
24332
24333         * find_path.c, getcwd.c, getwd.c, putenv.c, strdup.c, sudo.c,
24334         sudo_realpath.c, sudo_setenv.c:
24335         ansi-fied !STDC_HEADER function prottypes
24336         [51d8cad89976]
24337
24338         * getcwd.c, getwd.c:
24339         added missing paren
24340         [6a1fae70e27e]
24341
24342         * Makefile.in:
24343         added putenv.c to DISTFILES
24344         [a5e4523eabbb]
24345
24346         * sudo_setenv.c:
24347         added params to func decls when STDC_HEADERS is not defined now can
24348         count on putenv() being there
24349         [fd587796189b]
24350
24351         * sudo_realpath.c:
24352         took out errno decl since sudo.h does it for us fixed up a next cc
24353         warning added params to func decls when STDC_HEADERS is not defined
24354         [70fa5152ace6]
24355
24356         * sudo.h:
24357         took out environ extern added local declaratio of putenv() if local
24358         version is needed
24359         [a84bae6c020d]
24360
24361         * find_path.c, getcwd.c, getwd.c, strdup.c, sudo.c:
24362         added params to func decls when STDC_HEADERS is not defined
24363         [f406f0e47ac0]
24364
24365         * config.h.in:
24366         added memcpy check check to see that ansi vs bsd macros are ntot
24367         already defiend before defining (ie: avoid redefinition)
24368         [879ae026e19f]
24369
24370         * configure.in:
24371         removed fluff setenv check plus check w/ replace for putenv if also
24372         no setenv
24373         [e3c03814ad4b]
24374
24375         * putenv.c:
24376         Initial revision
24377         [3cff63e2dc1b]
24378
24379 1994-08-06  Todd C. Miller  <Todd.Miller@courtesan.com>
24380
24381         * sudo_setenv.c:
24382         Initial revision
24383         [4d637631fa6b]
24384
24385         * sudo.h:
24386         rm'd s realp[ath added sudo_realpath and sudo_setenv
24387         [07ba001ff57e]
24388
24389         * sudo.c:
24390         now use sudo_setenvc
24391         [fd81e04d5ef0]
24392
24393         * configure.in:
24394         added puteenv and setenv, removed realpath
24395         [27bfacfb513b]
24396
24397         * config.h.in:
24398         added putenv & setenv
24399         [515f14eaf6e4]
24400
24401         * Makefile.in:
24402         added sudo_setenv
24403         [217731a717c5]
24404
24405         * version.h:
24406         ++
24407         [eadb346d7129]
24408
24409 1994-08-05  Todd C. Miller  <Todd.Miller@courtesan.com>
24410
24411         * configure.in:
24412         added MAN_POSTINSTALL and /usr/share/catman for irix
24413         [2a9496c1bdba]
24414
24415         * Makefile.in:
24416         added MAN_POSTINSTALL
24417         [89b0d4695529]
24418
24419         * CHANGES:
24420         added
24421         [48c021ba8a70]
24422
24423         * sudo.man:
24424         added SUDO_* plus new options
24425         [c0759cff5683]
24426
24427         * CHANGES:
24428         added one
24429         [7d44a3922d56]
24430
24431         * configure.in:
24432         took out shadow lib
24433         [07cf3de18701]
24434
24435         * TODO:
24436         adde done
24437         [a27a578e8afe]
24438
24439         * visudo.c:
24440         now use yyrestart() if flex now reset yylineno to 0
24441         [77d67ce0b677]
24442
24443         * Makefile.in:
24444         support for installing a cat page instead of a man page if no nroff
24445         [44671c0fc0fa]
24446
24447         * configure.in:
24448         now defines HAVE_FLEX fixed up man stuff so that it looks for nroff
24449         to determine whether or not to install a cat or man page
24450         [0562d069c135]
24451
24452         * config.h.in:
24453         added HAVE_FLEX
24454         [c5490bae39d3]
24455
24456         * sudo.c:
24457         not set ret to MODE_RUN initially
24458         [88b4983c195b]
24459
24460         * find_path.c:
24461         made command (and therefor cmnd dynamically allocated)
24462         [95b82e32b6de]
24463
24464         * TODO:
24465         did #8
24466         [fb6f41308cdf]
24467
24468         * version.h:
24469         ++
24470         [14112ecab5ae]
24471
24472         * sudo_realpath.c:
24473         changed bufs from MAXPATHLEN to MAXPATHLEN+1
24474         [0ad4f34e55c0]
24475
24476         * sudo.h:
24477         added MODE_ removed validate_only and added remove_timestamp()
24478         [dd5f99c57728]
24479
24480         * sudo.c:
24481         usage() now takes an int (exit value) added parse_args() to parse
24482         command line arguments moved call to find_path() from load_globals
24483         to new function load_cmnd() removed validate_only global -- now use
24484         the concept of "modes" added -h and -k options
24485         [c3887090b28a]
24486
24487         * parse.c:
24488         no longer use global validate_only now checks for command called
24489         "validate" removed check for non-fully qualified commands since that
24490         is done by find_path
24491         [7d56fbd26369]
24492
24493         * find_path.c:
24494         changed MAXPATHLEN r to MAXPATHLEN+1
24495         [a86e8664d971]
24496
24497         * find_path.c:
24498         fixed off by one error with MAXPATHLEN and fixed a comment
24499         [58adcef8c981]
24500
24501         * check.c:
24502         check_timestamp no longer runs reminder(), it is implied in the
24503         return val added remove_timestamp()
24504         [42ab5a77066f]
24505
24506         * CHANGES:
24507         updated
24508         [8e69b31df024]
24509
24510 1994-08-04  Todd C. Miller  <Todd.Miller@courtesan.com>
24511
24512         * BUGS:
24513         fixed on
24514         [bc34f1ac4280]
24515
24516         * sudo_realpath.c:
24517         took out old_errno
24518         [a168d00a0768]
24519
24520         * CHANGES:
24521         updated
24522         [04ba80922df7]
24523
24524 1994-08-03  Todd C. Miller  <Todd.Miller@courtesan.com>
24525
24526         * logging.c:
24527         moved send_mail to after syslog
24528         [4d4188087834]
24529
24530         * sudo.c:
24531         now set SUDO_ envariables
24532         [e5963f1bd3bb]
24533
24534 1994-08-01  Todd C. Miller  <Todd.Miller@courtesan.com>
24535
24536         * version.h:
24537         ++
24538         [2a4534845d8c]
24539
24540         * sudo_realpath.c:
24541         now print error if chdir fails
24542         [0d75c8973d49]
24543
24544         * find_path.c:
24545         removed an XXX
24546         [e2077bcb35aa]
24547
24548 1994-07-26  Todd C. Miller  <Todd.Miller@courtesan.com>
24549
24550         * CHANGES:
24551         updated
24552         [e30a2b39b41a]
24553
24554         * configure.in:
24555         no more static binaries for aix
24556         [77a0beb6bd80]
24557
24558 1994-07-25  Todd C. Miller  <Todd.Miller@courtesan.com>
24559
24560         * INSTALL:
24561         fixed typo
24562         [ba5e0d391bc4]
24563
24564         * sudo_realpath.c:
24565         took out stuff not needed for sudo now does be_root/be_user itself
24566         now uses cwd global
24567         [4f6d4641d793]
24568
24569         * version.h:
24570         +=2
24571         [97da927b297c]
24572
24573         * logging.c, sudo.c:
24574         be_root/be_user is now down in sudo_realpath()
24575         [f331662fa50f]
24576
24577         * logging.c, sudo.h:
24578         now works with 4.2BSD syslog (blech)
24579         [98e39d89dd36]
24580
24581         * find_path.c:
24582         now use sudo_realpath()
24583         [ab436a8ebd02]
24584
24585         * config.h.in:
24586         took out realpth() stuff since we now use sudo_realpath()
24587         [8de5ef9f6044]
24588
24589         * configure.in:
24590         ultrix enhanced sec
24591         [815fb7fffcc0]
24592
24593         * SUPPORTED:
24594         added ultrix enhanced sec.
24595         [6466766c8062]
24596
24597         * INSTALL:
24598         updated
24599         [d681a634297a]
24600
24601         * check.c:
24602         ultrix enhanced security suport
24603         [f10c8decbcc2]
24604
24605         * Makefile.in:
24606         added sudo_realpath.c
24607         [6b9bcd3be022]
24608
24609         * CHANGES:
24610         updated
24611         [2fa8084c1b53]
24612
24613         * tgetpass.c:
24614         increased passwd len to 24 for c2 security
24615         [ec64838be62d]
24616
24617         * BUGS:
24618         updated BUGS
24619         [ca00d8fec2ce]
24620
24621 1994-07-15  Todd C. Miller  <Todd.Miller@courtesan.com>
24622
24623         * check.c:
24624         now use user global var
24625         [568769719013]
24626
24627         * configure.in:
24628         took out -ls
24629         [490a44180d5f]
24630
24631 1994-07-14  Todd C. Miller  <Todd.Miller@courtesan.com>
24632
24633         * configure.in:
24634         added AFS libs
24635         [4fb40c8c01ba]
24636
24637         * sudo.h:
24638         user is now a char * added epasswd
24639         [27a919fafdfb]
24640
24641         * sudo.c:
24642         added tzset() to load_globals added epasswd (encrypted password)
24643         global made user dynamically allocated
24644         [b99ef9bdbfce]
24645
24646         * configure.in:
24647         added tzset test
24648         [27592dd1214b]
24649
24650         * config.h.in:
24651         added HAVE_TZSET
24652         [b13f4213f3d0]
24653
24654         * check.c:
24655         cleaned up encrypted passwd grab somewhat
24656         [c8ba9a4db38a]
24657
24658         * configure.in:
24659         fixed AFS typo
24660         [2bfcbce237b6]
24661
24662         * INSTALL:
24663         added AFS not
24664         [80c67329393c]
24665
24666         * CHANGES:
24667         udpated
24668         [2f09ecdd5d31]
24669
24670         * logging.c:
24671         can now log to both syslog & a file
24672         [4d5c0932bc01]
24673
24674         * sudo.h:
24675         added BOTH_LOGS
24676         [623c539be824]
24677
24678         * CHANGES:
24679         updated
24680         [a1c7f5ef3616]
24681
24682         * configure.in:
24683         --with-AFS
24684         [28718d8f5daf]
24685
24686         * config.h.in:
24687         added HAVE_AFS
24688         [2e32bb4e63e4]
24689
24690         * check.c:
24691         added afs changes
24692         [fe4d0ff320a2]
24693
24694         * sudo.h:
24695         removed AFS stuff :-)
24696         [a40387e6fa27]
24697
24698         * tgetpass.c:
24699         include sys/select for AIX
24700         [f32c5a8f2c84]
24701
24702         * sudo.h:
24703         added AFS
24704         [da2ab3dd0348]
24705
24706         * version.h:
24707         ++
24708         [452d4dfe25af]
24709
24710 1994-07-07  Todd C. Miller  <Todd.Miller@courtesan.com>
24711
24712         * CHANGES, SUPPORTED:
24713         updated
24714         [e7dfe6f23a37]
24715
24716         * logging.c:
24717         can now have MAILER undefined
24718         [1d33b98b35e1]
24719
24720         * INSTALL:
24721         new sub-note about MAILER
24722         [d35c636a0574]
24723
24724         * sudo.man:
24725         added blurb about password timeout
24726         [70c2ee50de20]
24727
24728         * configure.in:
24729         convex c2 changes
24730         [367138a6232e]
24731
24732         * aclocal.m4:
24733         took out duplicate define of _CONVEX_SOURCE
24734         [647182138450]
24735
24736         * Makefile.in:
24737         added OSDEFS
24738         [7fdcd50602d1]
24739
24740         * config.h.in:
24741         added spaces
24742         [f2b8a05e48f3]
24743
24744         * tgetpass.c:
24745         added a goto if fgets fails
24746         [68a6586d9c45]
24747
24748         * sudo.h:
24749         use __hpux not hpux convex c2 stuff
24750         [5c377a8d5f34]
24751
24752         * sudo.c:
24753         use __hpux not hpux
24754         [9363bc0f9f9e]
24755
24756         * logging.c:
24757         convex c2 stuff
24758         [ea5630975ac4]
24759
24760         * config.h.in:
24761         define ansi-ish cpp os defines if non-ansi are defined for hpux &
24762         convex
24763         [664f53a5e786]
24764
24765         * INSTALL:
24766         updated to say we support sonvex C2
24767         [5f2f8b87013e]
24768
24769         * check.c:
24770         added convex c2 support
24771         [9a665d4918fa]
24772
24773 1994-07-01  Todd C. Miller  <Todd.Miller@courtesan.com>
24774
24775         * tgetpass.c:
24776         no more ioctl never returns NULL uses fgets() and select() to
24777         timeout
24778         [b333e6d63e97]
24779
24780 1994-06-29  Todd C. Miller  <Todd.Miller@courtesan.com>
24781
24782         * configure.in:
24783         things were testing -n "$GCC" instead of -z "$GCC"
24784         [059a9b15ede2]
24785
24786         * tgetpass.c:
24787         now works + uses fgets()
24788         [353d7ebcb7bb]
24789
24790 1994-06-28  Todd C. Miller  <Todd.Miller@courtesan.com>
24791
24792         * tgetpass.c:
24793         select doesn't seem to recognize a single '\n' as input waiting so
24794         we can;t use it, sigh.
24795         [f76e3218b835]
24796
24797 1994-06-26  Todd C. Miller  <Todd.Miller@courtesan.com>
24798
24799         * PORTING:
24800         updated tgetpass() blurb
24801         [95baac736b49]
24802
24803         * configure.in:
24804         added --with-getpass
24805         [42ac0bdf58ed]
24806
24807         * Makefile.in:
24808         added tgetpass stuff
24809         [e2b38c635663]
24810
24811         * tgetpass.c:
24812         now uses stdio
24813         [36af8ff66e35]
24814
24815         * version.h:
24816         ++
24817         [4e81c9db19bd]
24818
24819 1994-06-24  Todd C. Miller  <Todd.Miller@courtesan.com>
24820
24821         * PORTING:
24822         updated ,.
24823         [54f523770a05]
24824
24825         * config.h.in:
24826         added USE_GETPASS && HAVE_C2_SECURITY
24827         [86b355cb2953]
24828
24829         * configure.in:
24830         fixed a test aded --with-C2 and --with-tgetpass
24831         [abf6181588ef]
24832
24833         * check.c:
24834         added hpux C2 shit
24835         [20d4177ffa88]
24836
24837         * Makefile.in:
24838         took out tgetpass.*
24839         [cc82fd9984b4]
24840
24841         * INSTALL:
24842         added C2 blurb
24843         [1d2bfc35e4b6]
24844
24845 1994-06-13  Todd C. Miller  <Todd.Miller@courtesan.com>
24846
24847         * configure.in:
24848         no termio(s) for ultrix since it is broken
24849         [d3e82e835350]
24850
24851         * check.c:
24852         added a space (yeah, anal)
24853         [05e4b31ca68c]
24854
24855         * realpath.c, sudo_realpath.c:
24856         fixed it (duh, rtfm)
24857         [f13097cb8cb6]
24858
24859 1994-06-08  Todd C. Miller  <Todd.Miller@courtesan.com>
24860
24861         * config.h.in:
24862         took out bsd signal stuff for irix
24863         [e179cdafc97a]
24864
24865         * visudo.c:
24866         comments in #endif
24867         [e3a629190f5e]
24868
24869         * configure.in:
24870         don't define BSD signals for irix
24871         [3ce57bffb7f0]
24872
24873         * TODO:
24874         did some...
24875         [274241cd0f74]
24876
24877         * CHANGES:
24878         updated
24879         [8f29fc755faf]
24880
24881         * realpath.c, sudo_realpath.c:
24882         took out unneeded code by changing where a strings was terminated
24883         [b5564d62d30e]
24884
24885 1994-06-07  Todd C. Miller  <Todd.Miller@courtesan.com>
24886
24887         * realpath.c, sudo_realpath.c:
24888         fix bug where /dirname would return NULL
24889         [b85f470daf26]
24890
24891         * sudo.h:
24892         move __P to config.h
24893         [7763c0ff3f28]
24894
24895         * getcwd.c, getwd.c, realpath.c, sudo_realpath.c:
24896         added errno definition
24897         [4cc9d2d9782a]
24898
24899         * config.h.in:
24900         added __P
24901         [ca06f5aa58f3]
24902
24903         * config.h.in:
24904         added HAVE_FCHDIR
24905         [206d714641e0]
24906
24907         * strdup.c:
24908         now include stdio
24909         [0d8458da0e1d]
24910
24911         * realpath.c, sudo_realpath.c:
24912         now works if no fchdir
24913         [e035911b6722]
24914
24915         * visudo.c:
24916         define SA_RESETHAND to null if not defined
24917         [afec03e84342]
24918
24919         * configure.in:
24920         added check & replace
24921         [c1a65481441c]
24922
24923         * configure.in:
24924         took out -static for nextstep -- it doesn't work
24925         [fa1a1a611743]
24926
24927 1994-06-06  Todd C. Miller  <Todd.Miller@courtesan.com>
24928
24929         * logging.c:
24930         moved #endif to where it belongs
24931         [07d3a8972097]
24932
24933         * SUPPORTED:
24934         correction
24935         [0c1ecba3e5a3]
24936
24937         * configure.in:
24938         now checks for strdup realpath getcwd bzero
24939         [f029a1917515]
24940
24941         * config.h.in:
24942         emulate bzero
24943         [d792352e44a3]
24944
24945         * visudo.c:
24946         added posic signals
24947         [2ed0005f90fc]
24948
24949         * tgetpass.c:
24950         bzero cast
24951         [6d91b1a1526f]
24952
24953         * logging.c:
24954         added posix signals
24955         [67ede9c22a05]
24956
24957         * configure.in:
24958         removed BROKEN_GETPASS added new srcs toreplace missing functions
24959         [cf44274bb1c8]
24960
24961         * config.h.in:
24962         added posix signal stuff
24963         [a3c1c98fe8ef]
24964
24965         * Makefile.in:
24966         added new srcs
24967         [b6a079afee47]
24968
24969         * visudo.c:
24970         updated useag
24971         [589ed091c44f]
24972
24973         * tgetpass.c:
24974         now uses posix signals
24975         [30f74964074f]
24976
24977         * PORTING:
24978         updated sto reflect major changes
24979         [bcfc309e017b]
24980
24981         * CHANGES, TODO:
24982         updated
24983         [23aacbd54278]
24984
24985         * tgetpass.c:
24986         uses sysconf() if available
24987         [a27431c90bab]
24988
24989         * sudo.h:
24990         added PASSWORD_TIMEOUT + prototypes for new functions
24991         [d7473c2f77c4]
24992
24993         * realpath.c, sudo_realpath.c:
24994         for those w/o this in libc
24995         [1e47aa7a9d46]
24996
24997         * getcwd.c, getwd.c:
24998         Initial revision
24999         [c90dea57a84f]
25000
25001         * find_path.c:
25002         rewrote to use realpath(3) - nis now all my code
25003         [d2c3bb8fb37d]
25004
25005         * config.h.in:
25006         added HAVE_REALPATH
25007         [02c10352a8c7]
25008
25009         * check.c:
25010         now use tgetpass
25011         [b5c021fc179f]
25012
25013         * Makefile.in:
25014         added LIBOBJS use tgetpass.c
25015         [230a7b3eeaa3]
25016
25017 1994-06-05  Todd C. Miller  <Todd.Miller@courtesan.com>
25018
25019         * tgetpass.c:
25020         works now :-)
25021         [025e7a3875ba]
25022
25023         * tgetpass.c:
25024         Initial revision
25025         [3316ab33b230]
25026
25027         * pathnames.h.in:
25028         added /dev/tty
25029         [29242585e53f]
25030
25031 1994-06-04  Todd C. Miller  <Todd.Miller@courtesan.com>
25032
25033         * version.h:
25034         incremented
25035         [f2e54b48280f]
25036
25037         * sudo.c:
25038         always use getcwd
25039         [c6068e8a4029]
25040
25041         * config.h.in:
25042         added check for getwd
25043         [ab1e102ad673]
25044
25045         * configure.in:
25046         replace strdup & realpath & getcwd if missing
25047         [b0eb14f2a1c3]
25048
25049         * pathnames.h.in:
25050         added _PATH_PWD
25051         [309d2388f69a]
25052
25053         * aclocal.m4:
25054         added SUDO_PROG_PWD
25055         [e16e85deb96c]
25056
25057         * strdup.c:
25058         Initial revision
25059         [810efdc15007]
25060
25061         * realpath.c, sudo_realpath.c:
25062         Initial revision
25063         [d85eee438e09]
25064
25065 1994-06-03  Todd C. Miller  <Todd.Miller@courtesan.com>
25066
25067         * configure.in:
25068         quoted quare brackets
25069         [d0e7ca111d98]
25070
25071 1994-06-02  Todd C. Miller  <Todd.Miller@courtesan.com>
25072
25073         * sudo.c:
25074         no need to strdup() a constant
25075         [a8c44712df9a]
25076
25077         * CHANGES:
25078         updated
25079         [71364129cca0]
25080
25081         * sudo.man:
25082         added validate
25083         [0bb198095a26]
25084
25085         * sudo.c:
25086         added -v to usage
25087         [31ea71f11dbb]
25088
25089         * parse.c, sudo.c, sudo.h:
25090         added validate_only stuff
25091         [9bcd853d3c90]
25092
25093 1994-05-30  Todd C. Miller  <Todd.Miller@courtesan.com>
25094
25095         * configure.in:
25096         now finds sed
25097         [6374bb0d3f28]
25098
25099         * aclocal.m4:
25100         $OSREV is now an int
25101         [ace0666d66cf]
25102
25103 1994-05-29  Todd C. Miller  <Todd.Miller@courtesan.com>
25104
25105         * configure.in:
25106         added mtxinu to caser
25107         [73a776887b16]
25108
25109         * sudo.h:
25110         added EXEC macro
25111         [2e8eb28b710a]
25112
25113         * sudo.c:
25114         now use the EXEC nmacro now only do a gethostbyname() if FQDN is set
25115         [56afb4f658d5]
25116
25117         * logging.c:
25118         changed mail_argv[] def now use EXEC() macro
25119         [ddcabd28edb1]
25120
25121         * check.c:
25122         took out crypt() definition
25123         [0e657724cf5f]
25124
25125         * version.h:
25126         upped the version
25127         [62c5d66119fc]
25128
25129         * configure.in:
25130         always look for -lnsl
25131         [d7b594f0313b]
25132
25133         * aclocal.m4:
25134         added an echo
25135         [1caae3491dc5]
25136
25137         * sudo.h:
25138         SHORT_MESSAGE is now the default
25139         [cfce35c3119a]
25140
25141         * config.h.in:
25142         fixed typo
25143         [6499a564bf75]
25144
25145         * configure.in:
25146         added missing AC_DEFINE(SVR4) for solaris
25147         [feef0b17b94f]
25148
25149         * sudo.man:
25150         documented the -v flag
25151         [a6429f2bc2cf]
25152
25153         * SUPPORTED:
25154         updated
25155         [088886e79540]
25156
25157         * check.c:
25158         proto-ized crypt()
25159         [801e4ff5b121]
25160
25161         * config.h.in:
25162         added LIBSHADOW undef
25163         [8df588e9ee2b]
25164
25165         * configure.in:
25166         nwo set OS to be lowercase
25167         [561ebed833e4]
25168
25169 1994-05-28  Todd C. Miller  <Todd.Miller@courtesan.com>
25170
25171         * configure.in:
25172         now use SUDO_OSTYPE to set $OS
25173         [0e60aee23098]
25174
25175         * aclocal.m4:
25176         now use uname to determine os
25177         [99705e58d400]
25178
25179         * visudo.c:
25180         added prototypes & moved sig handler around
25181         [1f0bc8d23b51]
25182
25183         * sudo.h:
25184         added prototyppes
25185         [be3935a2b163]
25186
25187         * check.c, logging.c, sudo.c:
25188         added prototypes
25189         [2079b4605ab8]
25190
25191         * parse.c:
25192         added comment
25193         [a34d147d8399]
25194
25195         * config.h.in:
25196         nwo use _BSD_SIGNALS not _BSD_COMPAT
25197         [63663195f047]
25198
25199         * aixcrypt.exp:
25200         Initial revision
25201         [890aed08357e]
25202
25203         * Makefile.in:
25204         added aixcrypt.exp
25205         [1005a183105f]
25206
25207         * parse.lex, parse.yacc:
25208         moved config.h to top of includes
25209         [9569c49aa5f3]
25210
25211 1994-05-25  Todd C. Miller  <Todd.Miller@courtesan.com>
25212
25213         * find_path.c:
25214         now don't bitch if get EACCESS (treat like EPERM)
25215         [dbeffb638de4]
25216
25217         * visudo.c:
25218         added -v flag and usage()
25219         [4d44ed60ed75]
25220
25221         * version.h:
25222         fixed a typo
25223         [cf3f9347ae41]
25224
25225         * sudo.c:
25226         cast Argv to a const for exec added -v flag
25227         [d11b6efc0e45]
25228
25229         * logging.c:
25230         mail_argv is now a const
25231         [93bb5d90bb6f]
25232
25233         * configure.in:
25234         only set RETSIGTYPE if it is not set already
25235         [c97aac260b77]
25236
25237         * aclocal.m4:
25238         now defines & STDC_HEADERS for Irix
25239         [9c2b24ad1fc5]
25240
25241         * Makefile.in:
25242         added version.h
25243         [9f79e880229a]
25244
25245         * insults.h, sudo.h:
25246         prevent multiple inclusion
25247         [d68c8a9243ce]
25248
25249         * version.h:
25250         Initial revision
25251         [dbb39c5ef8d9]
25252
25253         * parse.lex, parse.yacc:
25254         now includes config.h
25255         [f117e036a56b]
25256
25257         * aclocal.m4:
25258         now talks about sunos 4.x
25259         [c9054aa92d4e]
25260
25261         * visudo.c:
25262         calls to Exit now pass an arg
25263         [a92104670551]
25264
25265 1994-05-24  Todd C. Miller  <Todd.Miller@courtesan.com>
25266
25267         * visudo.c:
25268         signal handler now takes an int argument
25269         [26f480c41523]
25270
25271         * CHANGES:
25272         updated
25273         [8c166a9d796b]
25274
25275         * sudo.c:
25276         ok, the getcwd() is now *really* done as the user
25277         [ab86cf85134a]
25278
25279         * configure.in:
25280         changed AIX STATIC_FLAGS
25281         [b9c0a3ba5663]
25282
25283         * aclocal.m4:
25284         solaris now defines SVR4
25285         [c3e20cac96f5]
25286
25287         * sudo.h:
25288         added cwd and fixed stupid core dump that makes no sense. sigh.
25289         [7a9755436dbb]
25290
25291         * sudo.c:
25292         moved getcwd stuff into load_globals
25293         [ec2bc90df1f3]
25294
25295         * parse.c:
25296         took out externs that are in suod.h
25297         [93c4b3f856d7]
25298
25299         * logging.c:
25300         moved cwd into load_globals
25301         [050de754d228]
25302
25303         * find_path.c:
25304         moved cwd stuff
25305         [22f3f3b4c34d]
25306
25307         * Makefile.in:
25308         fixed make distclean & realclean
25309         [c9964d89bcef]
25310
25311         * TODO:
25312         updated .,
25313         [e513581ef0e3]
25314
25315         * CHANGES:
25316         added solaris changes
25317         [505d930daf27]
25318
25319         * aclocal.m4:
25320         added solaris changes, need to rework
25321         [33f20fb16c49]
25322
25323         * configure.in:
25324         cleaned up for solaris
25325         [2fb8cfa05d0f]
25326
25327         * logging.c:
25328         reinstall reapchild signal handler for non-bsd signals
25329         [3d1dc545113d]
25330
25331         * sudo.h:
25332         took out getdtablesize() emulation for HP-UX (no longer needed)
25333         [1fc83d170f34]
25334
25335         * sudo.c:
25336         support for HAVE_SYSCONF
25337         [50ca2a7a224a]
25338
25339         * visudo.c:
25340         added <fcntl.h> for solaris & reorg'd the includes + minor prettying
25341         up /
25342         [0a570e826dd4]
25343
25344         * config.h.in:
25345         added HAVE_SYSCONF
25346         [2b9a9f3a4e94]
25347
25348 1994-05-16  Todd C. Miller  <Todd.Miller@courtesan.com>
25349
25350         * configure.in:
25351         now tells you what os you are running /.
25352         [06c6332a895b]
25353
25354         * aclocal.m4:
25355         took out extra ','
25356         [e8c75ce59f4a]
25357
25358 1994-05-14  Todd C. Miller  <Todd.Miller@courtesan.com>
25359
25360         * config.h.in:
25361         added _BSD_COMPAT
25362         [73c5099806c2]
25363
25364         * aclocal.m4:
25365         fixed for irix5
25366         [1047d1f6c0eb]
25367
25368         * CHANGES:
25369         updated
25370         [1bc4969fee96]
25371
25372         * sudo.c:
25373         uid seinitialized to -2
25374         [8d7812b1878b]
25375
25376 1994-04-28  Todd C. Miller  <Todd.Miller@courtesan.com>
25377
25378         * sudo.c:
25379         now removes LIBPATH for AIX
25380         [075392eb1dd9]
25381
25382 1994-03-13  Todd C. Miller  <Todd.Miller@courtesan.com>
25383
25384         * configure.in:
25385         now uses ufc if it finds it
25386         [ab6ce30a5958]
25387
25388 1994-03-12  Todd C. Miller  <Todd.Miller@courtesan.com>
25389
25390         * sudo.h:
25391         no longer define yyval & yylval since yacc does it
25392         [09d250aea50a]
25393
25394         * parse.lex:
25395         now defines yylval as extenr
25396         [8ec2b88952bc]
25397
25398         * configure.in:
25399         BROKEN_GETPASS is now an OPTION
25400         [3714f4bb8312]
25401
25402         * config.h.in:
25403         took out BROKEN_GETPASS
25404         [9c4f6aa50137]
25405
25406         * Makefile.in:
25407         took out big comment
25408         [4c13cff0e556]
25409
25410         * README:
25411         updated
25412         [b8b9902b620d]
25413
25414         * Makefile.in:
25415         took out README.beta
25416         [ed2cd861e82b]
25417
25418         * SUPPORTED:
25419         Initial revision
25420         [2fffc51e6606]
25421
25422         * INSTALL:
25423         now reference SUPPORTED .,
25424         [d112c30be1f2]
25425
25426         * config.h.in:
25427         now check for convex OR __convex__
25428         [a0e5701a3069]
25429
25430         * aclocal.m4:
25431         now check for convex or __convex__
25432         [5dae2bfbe3bc]
25433
25434         * Makefile.in:
25435         added dist target
25436         [400a54de57db]
25437
25438         * aclocal.m4:
25439         use __convex__
25440         [58a19470ed0b]
25441
25442         * find_path.c:
25443         now use _S_* stat stuff to be ansi-like
25444         [28cce560e048]
25445
25446         * INSTALL:
25447         updated for configure directions
25448         [a034ccc7c30a]
25449
25450         * Makefile.in:
25451         distclean now removes config.h and pathnames.h
25452         [300f2349b4ab]
25453
25454         * CHANGES:
25455         updated
25456         [646f7e9430c1]
25457
25458         * TODO:
25459         fixed typoe
25460         [70fd6361b2bc]
25461
25462         * visudo.c:
25463         updated version
25464         [cf13d87d789f]
25465
25466         * Makefile.in:
25467         updated version
25468         [8c5dacc27a7a]
25469
25470         * config.h.in, pathnames.h.in:
25471         added copyright header
25472         [747ce3d3d6b7]
25473
25474         * check.c, find_path.c, insults.h, logging.c, parse.c, parse.lex,
25475         parse.yacc, sudo.c, sudo.h:
25476         udpated version
25477         [4751c39bad18]
25478
25479         * visudo.c:
25480         udpated to use configure + pathnames.h
25481         [d45dff76a1cd]
25482
25483         * aclocal.m4:
25484         updated
25485         [f05a367a55be]
25486
25487         * Makefile.in, config.h.in, configure.in:
25488         updated
25489         [524778598879]
25490
25491         * sudo.h:
25492         now works with configure
25493         [83fc40e533f4]
25494
25495         * check.c, find_path.c, getpass.c, logging.c, parse.c, sudo.c:
25496         updated to work with configure + pathnames.h
25497         [cb67fa6ab52d]
25498
25499         * Makefile.in:
25500         added LEXLIB
25501         [f43cad4ab0a2]
25502
25503 1994-03-10  Todd C. Miller  <Todd.Miller@courtesan.com>
25504
25505         * COPYING:
25506         updated gnu general licence to versio 2
25507         [2b0b56112ddc]
25508
25509         * config.h.in, pathnames.h.in:
25510         Initial revision
25511         [4b586f39ec2d]
25512
25513         * sudo.h:
25514         changed to work with configure
25515         [13f3506ddf16]
25516
25517 1994-03-09  Todd C. Miller  <Todd.Miller@courtesan.com>
25518
25519         * Makefile.in, aclocal.m4, configure.in:
25520         Initial revision
25521         [a8636ae77371]
25522
25523         * visudo.c:
25524         now uses defines used by configure
25525         [de438d118993]
25526
25527 1994-03-01  Todd C. Miller  <Todd.Miller@courtesan.com>
25528
25529         * find_path.c:
25530         sudo won't bitch about EPERM now, for real
25531         [ce26d9ef7e3f]
25532
25533 1994-02-28  Todd C. Miller  <Todd.Miller@courtesan.com>
25534
25535         * logging.c:
25536         renamed exec_argv to eliminate a libc name clash with ksros
25537         [bcb4350d8411]
25538
25539         * CHANGES:
25540         corrected
25541         [dae68d422efd]
25542
25543         * logging.c, sudo.c, sudo.h:
25544         execve -> execv
25545         [40cc2c4bdb15]
25546
25547         * TODO:
25548         upated
25549         [9275a8b8fc45]
25550
25551         * PORTING:
25552         added 2 mroe items
25553         [6cbb5c56993c]
25554
25555         * CHANGES:
25556         updated
25557         [73f34f8e571a]
25558
25559         * sudo.h:
25560         added UMASK and mode_t declaration
25561         [7c2015e1d171]
25562
25563         * sudo.c:
25564         added UMASK
25565         [d37be7523680]
25566
25567         * logging.c:
25568         now opens log file with mode 077
25569         [0825cc3ee841]
25570
25571         * check.c:
25572         saved current umask ans restores it
25573         [659c1aaae8e8]
25574
25575         * sudo.h:
25576         added MAXLOGFILELEN
25577         [34331c7dee90]
25578
25579         * logging.c:
25580         split long log lines. FOr syslog, split into multiple entries, for
25581         a log file, indent the extra for readability
25582         [72c9e4cdba6e]
25583
25584 1994-02-27  Todd C. Miller  <Todd.Miller@courtesan.com>
25585
25586         * CHANGES:
25587         added changes
25588         [81196833673d]
25589
25590         * sudo.h:
25591         MAXLOGLEN & MAXSYSLOGLEN are now different (as they should be)
25592         [1aa69e903840]
25593
25594 1994-02-25  Todd C. Miller  <Todd.Miller@courtesan.com>
25595
25596         * TODO:
25597         added input from Brett M Hogden <hogden@rge.com>
25598         [80f01fc88ce9]
25599
25600 1994-02-16  Todd C. Miller  <Todd.Miller@courtesan.com>
25601
25602         * sudo.c:
25603         added rmenv() to remove stuff from environ. can now uses execvp()
25604         OR execve() becuase of this.
25605         [e7fc2535bd67]
25606
25607         * logging.c:
25608         now uses execvp() OR execve()
25609         [56391aa1f99d]
25610
25611         * sudo.h:
25612         added USE_EXECVE
25613         [f21f38050b95]
25614
25615         * sudo.h:
25616         added environ
25617         [6b805e23c6f6]
25618
25619         * find_path.c:
25620         now ignore EPERM
25621         [c8fd7117a1d7]
25622
25623         * sudo.h:
25624         moved some func decls out of sudo.h and into sudo.c as statics /.
25625         [5f555c267d27]
25626
25627         * CHANGES:
25628         updated
25629         [431f478af320]
25630
25631         * sudo.h:
25632         took out Envp
25633         [6f722be7793d]
25634
25635 1994-02-14  Todd C. Miller  <Todd.Miller@courtesan.com>
25636
25637         * BUGS:
25638         Initial revision
25639         [4a8ecf0da95c]
25640
25641 1994-02-10  Todd C. Miller  <Todd.Miller@courtesan.com>
25642
25643         * CHANGES:
25644         added SECURE_PATH
25645         [1c72cb222609]
25646
25647         * sudo.c, sudo.h:
25648         added SECURE_PATH
25649         [5bf5357a63c5]
25650
25651         * sudo.h:
25652         added SECURE_PATH
25653         [3976a74405ac]
25654
25655         * INSTALL:
25656         added sample.sudoers note
25657         [1b395d29aaeb]
25658
25659         * sudoers:
25660         Initial revision
25661         [485888d07477]
25662
25663 1994-02-09  Todd C. Miller  <Todd.Miller@courtesan.com>
25664
25665         * find_path.c:
25666         fixed typo
25667         [bfc3cc4d41ca]
25668
25669         * PORTING:
25670         took out SAVED_UID garbage
25671         [b7c2d3469661] [SUDO_1_3_0]
25672
25673         * INSTALL:
25674         mentioned HAL
25675         [253d6695df90]
25676
25677         * sudo.h:
25678         added HAL line
25679         [29ec1a4ac6de]
25680
25681         * insults.h:
25682         added HAL insults
25683         [7d7c96d77c74]
25684
25685         * TODO:
25686         updated
25687         [aa2ed9790586]
25688
25689         * logging.c:
25690         more verbose error if mailer not found
25691         [fca47fd00cb6]
25692
25693         * check.c:
25694         now do getpwent as root for soem shadow password systems (bsdi)
25695         [e0339e110d46]
25696
25697 1994-02-08  Todd C. Miller  <Todd.Miller@courtesan.com>
25698
25699         * sudo.h:
25700         took out SAVED_UID garbade
25701         [fcb0e81dcdb5]
25702
25703         * sudo.c:
25704         took out SAVED_UID garbage since it don't work
25705         [507e9513e9c2]
25706
25707 1994-02-06  Todd C. Miller  <Todd.Miller@courtesan.com>
25708
25709         * README:
25710         updated
25711         [d2b6b253dae5]
25712
25713         * insults.h:
25714         added a missing space :-)
25715         [8940ea991f87]
25716
25717         * sudo.c, sudo.h:
25718         took out multimax cruft
25719         [c2606b365181]
25720
25721         * INSTALL:
25722         minor update
25723         [05fb6ee73131]
25724
25725         * PORTING:
25726         finished
25727         [c4ac47c84dc5]
25728
25729         * sudo.c:
25730         fixed a typo + indentation
25731         [7eab40aae8fa]
25732
25733 1994-02-05  Todd C. Miller  <Todd.Miller@courtesan.com>
25734
25735         * sudo.h:
25736         took outumoved some defines to the config file ,. ,.
25737         [defff05beb52]
25738
25739         * PORTING:
25740         Initial revision
25741         [c803e9127959]
25742
25743         * TODO:
25744         did #6
25745         [c6fa1c946c31]
25746
25747         * sudo.h:
25748         added HAS_SAVED_UID
25749         [6a88a39c0a07]
25750
25751         * sudo.c:
25752         put back AIX cruft
25753         [a24d2507ddd4]
25754
25755 1994-02-03  Todd C. Miller  <Todd.Miller@courtesan.com>
25756
25757         * sudo.c:
25758         aix changes
25759         [1663915f754a]
25760
25761 1994-02-02  Todd C. Miller  <Todd.Miller@courtesan.com>
25762
25763         * CHANGES:
25764         updated
25765         [a8cc73747cae]
25766
25767         * check.c, logging.c, parse.c, sudo.c, sudo.h:
25768         now is only root when abs necesary
25769         [3c9d12c5cdfe]
25770
25771         * check.c:
25772         added missing %s\n
25773         [609320b72d89]
25774
25775 1994-01-31  Todd C. Miller  <Todd.Miller@courtesan.com>
25776
25777         * install-sh:
25778         Initial revision
25779         [b5bba140a175]
25780
25781         * TODO:
25782         updated
25783         [c9d2eba602af]
25784
25785         * CHANGES:
25786         updated
25787         [932f1fc3bb14]
25788
25789         * sudo.c:
25790         now removed _RLD_* for alphas
25791         [54a36e648158]
25792
25793         * INSTALL:
25794         updated for new config scheme
25795         [61c8ae800444]
25796
25797         * find_path.c:
25798         more verbose eror messages
25799         [b4fd123db42d]
25800
25801 1994-01-27  Todd C. Miller  <Todd.Miller@courtesan.com>
25802
25803         * TODO:
25804         now have solaris
25805         [371002fbf266]
25806
25807         * sudo.h:
25808         define __svr4__ for SOLARIS
25809         [0b5cf5ed936d]
25810
25811         * check.c:
25812         added svr4 junk for shadow pws for solaris 2.x
25813         [91ed58f21618]
25814
25815         * check.c, sudo.c:
25816         took out setuid(0) and setreuid(udi) garbage. Its not needed since
25817         we start out setuid with the correct perms.
25818         [07689e782b0b]
25819
25820         * check.c, sudo.c, sudo.h:
25821         now use setreuid()
25822         [7d64d685d78e]
25823
25824 1994-01-26  Todd C. Miller  <Todd.Miller@courtesan.com>
25825
25826         * sudo.man:
25827         revised AUTHORS secrtion & added ENV_EDITOR stuff to VARIABLES
25828         sectoin
25829         [b26967b1e19b]
25830
25831         * visudo.c:
25832         now uses ENV_EDITOR if you want to use the EDITOR envar
25833         [a4f8fcb9bd1d]
25834
25835         * sudo.h:
25836         now uses ENV_EDITOR if you want to use the EDITOR envar >> .
25837         [028cc55c4328]
25838
25839 1993-12-07  Todd C. Miller  <Todd.Miller@courtesan.com>
25840
25841         * INSTALL:
25842         rewrote most of this
25843         [a6750923f9c9]
25844
25845         * README:
25846         minor update + spell fix
25847         [a411717a7249]
25848
25849         * sudo.h:
25850         added all options that are in the Makefile
25851         [6db3b3b841b3]
25852
25853         * getpass.c:
25854         now use USE_TERMIO #define for sgi & hpux
25855         [b91f89ae6be1]
25856
25857         * TODO:
25858         todo: posix sigs
25859         [4548a56eb2ef]
25860
25861 1993-12-06  Todd C. Miller  <Todd.Miller@courtesan.com>
25862
25863         * check.c, find_path.c:
25864         always include strings.h
25865         [1fc20bda92c0]
25866
25867         * visudo.c:
25868         added STATICEDITOR
25869         [0596f820716e]
25870
25871         * sudo.h:
25872         sgi has vi in /usr/bin too
25873         [94203b62bfd9]
25874
25875         * sudo.man:
25876         added VISUAL
25877         [87c2844c4cac]
25878
25879 1993-12-03  Todd C. Miller  <Todd.Miller@courtesan.com>
25880
25881         * sudo.h:
25882         sue /usr/bin/vi on some systems
25883         [e3ad9190f35e]
25884
25885         * sudo.c:
25886         fixed warning (include strings.h)
25887         [0b896de4d8a0]
25888
25889         * sudo.man:
25890         added John_Rouillard@dl5000.bc.edu's changes (new features)
25891         [f41b4205a8cf]
25892
25893         * CHANGES:
25894         changes from John_Rouillard@dl5000.bc.edu
25895         [6bdef8e948d5]
25896
25897         * visudo.c:
25898         added EDITOR envar
25899         [5c4bf716de21]
25900
25901         * check.c, find_path.c, parse.c, sudo.c:
25902         added patches from John_Rouillard directory spec
25903         uses EDITOR
25904         [f62a435f8c41]
25905
25906 1993-12-02  Todd C. Miller  <Todd.Miller@courtesan.com>
25907
25908         * getpass.c:
25909         added flush for hpux
25910         [07cfdd6a7b55]
25911
25912 1993-11-30  Todd C. Miller  <Todd.Miller@courtesan.com>
25913
25914         * sudo.c:
25915         no longer assume malloc returns a char *
25916         [7480bd2756f3]
25917
25918         * sudo.c:
25919         alpha change to remove LD_-like thing fixed SHLIB_PATH stuff -- now
25920         gets removed correctly
25921         [8587166c6ac8]
25922
25923         * sudo.h:
25924         added STD_HEADERS macro
25925         [480f5a9a516c]
25926
25927         * sudo.c:
25928         now uses STD_HEADERS macor for ansi
25929         [c5018806fd59]
25930
25931         * find_path.c:
25932         now uses STD_HEADERS macro
25933         [ad821e0788ea]
25934
25935         * check.c:
25936         niceties for C compiler bitches -- no real change
25937         [0fc0b1a5fb64]
25938
25939 1993-11-29  Todd C. Miller  <Todd.Miller@courtesan.com>
25940
25941         * visudo.c:
25942         now doesn't fclose a file never opened.
25943         [ee888ec9427d]
25944
25945 1993-11-28  Todd C. Miller  <Todd.Miller@courtesan.com>
25946
25947         * sudo.man:
25948         added visudo line
25949         [698d51c66407]
25950
25951         * sudo.man:
25952         added error stuff added me in there...
25953         [d202fd34b906]
25954
25955         * CHANGES:
25956         noted insults
25957         [998a22c2230c]
25958
25959         * INSTALL:
25960         added blurb about reading stuff
25961         [e71db100798f]
25962
25963         * sudo.h:
25964         added insults
25965         [c110431cec56]
25966
25967         * insults.h:
25968         corrected somments and removed newlines
25969         [493706fd488c]
25970
25971         * check.c:
25972         now uses insults
25973         [6d23cf06a0ef]
25974
25975         * insults.h:
25976         Initial revision
25977         [83153c26b4a3]
25978
25979         * INSTALL:
25980         added dec syslog note
25981         [555437273237]
25982
25983         * sample.sudoers:
25984         added real stuff in there
25985         [53442a7fba78]
25986
25987         * TODO:
25988         added a todo
25989         [c630472bd4dc]
25990
25991         * TODO:
25992         added one
25993         [806464453284]
25994
25995 1993-11-27  Todd C. Miller  <Todd.Miller@courtesan.com>
25996
25997         * sample.sudoers:
25998         Initial revision
25999         [7db0a9f1ca8f]
26000
26001         * sudo.man:
26002         updated with changes
26003         [d9bf254c6c08]
26004
26005         * sudo.man:
26006         Initial revision
26007         [dd6f11174ac6]
26008
26009         * indent.pro:
26010         Initial revision
26011         [dbfbb494fad9]
26012
26013         * CHANGES, COPYING, INSTALL, README, TODO:
26014         Initial revision
26015         [6d98f489a079]
26016
26017         * visudo.c:
26018         updated version number and took out jeff's old addr since it is no
26019         good
26020         [ee47c24818cb]
26021
26022         * check.c, find_path.c, logging.c, parse.c, parse.lex, parse.yacc,
26023         sudo.c, sudo.h:
26024         updated version number and took out jeff's email (since it is
26025         invalid)
26026         [54616458a52e]
26027
26028 1993-10-28  Todd C. Miller  <Todd.Miller@courtesan.com>
26029
26030         * check.c:
26031         added fflush()
26032         [145c881f4fb4]
26033
26034 1993-10-23  Todd C. Miller  <Todd.Miller@courtesan.com>
26035
26036         * find_path.c:
26037         now return NULL instead pf\b\bof exiting for nopn\b\bn-fatal errors
26038         [8bc74f8cb1ae]
26039
26040 1993-10-21  Todd C. Miller  <Todd.Miller@courtesan.com>
26041
26042         * check.c:
26043         new banner
26044         [5387ab2af516]
26045
26046         * parse.lex:
26047         now sudo.h gets included first
26048         [2acb01c18e18]
26049
26050 1993-10-18  Todd C. Miller  <Todd.Miller@courtesan.com>
26051
26052         * parse.lex:
26053         now can use flex
26054         [164d3839adf0]
26055
26056         * sudo.h:
26057         linux patch
26058         [f1b6b1b1a2ca]
26059
26060         * sudo.c:
26061         hpux 9 fix, removes SHLIB_PATH linux patch
26062         [67611dc1737f]
26063
26064         * check.c:
26065         linux diff
26066         [c24536682397]
26067
26068 1993-10-15  Todd C. Miller  <Todd.Miller@courtesan.com>
26069
26070         * find_path.c:
26071         stat now ignores EINVAL
26072         [c7761a5dc642]
26073
26074 1993-10-06  Todd C. Miller  <Todd.Miller@courtesan.com>
26075
26076         * find_path.c, sudo.c:
26077         now declare strdup as extern
26078         [6b7d6f8784b5]
26079
26080 1993-10-04  Todd C. Miller  <Todd.Miller@courtesan.com>
26081
26082         * visudo.c:
26083         reformatted with indent + by hand
26084         [9d43084e4990]
26085
26086         * check.c, find_path.c, getpass.c, logging.c, parse.c, sudo.c, sudo.h:
26087         used indent to "fix" coding style
26088         [489ffacbdc70]
26089
26090         * find_path.c:
26091         now checks '.' or '.' or '' in PATH -- but does it LAST should maybe
26092         move the code that does this into the loop body. makes it messier
26093         tho. hmmm.
26094         [c4d22b48da9a]
26095
26096 1993-09-08  Todd C. Miller  <Todd.Miller@courtesan.com>
26097
26098         * find_path.c:
26099         redid the fix for non-executable files in an easier to read way plus
26100         some minor aethetic changes
26101         [84fe337f1426]
26102
26103         * find_path.c:
26104         fixed bug with non-executable tings of same name in path introduced
26105         by checkig errno after stat(2).
26106         [c2a812cfcbc1]
26107
26108 1993-09-05  Todd C. Miller  <Todd.Miller@courtesan.com>
26109
26110         * sudo.c:
26111         fixed off by one error
26112         [fabb7cee0041]
26113
26114         * find_path.c:
26115         now handles decending below '/' correctly
26116         [5d2ddfc0b220]
26117
26118         * sudo.c:
26119         now actually builds Envp instead of munging envp
26120         [bdc4b08f6898]
26121
26122 1993-09-04  Todd C. Miller  <Todd.Miller@courtesan.com>
26123
26124         * parse.yacc:
26125         now includes sys/param.h
26126         [efbb494ab4de]
26127
26128         * visudo.c:
26129         now includes sys/param.h
26130         [ad6c91d59958]
26131
26132         * sudo.h:
26133         fixed ifndef -> ifdef
26134         [7aebe822d863]
26135
26136         * qualify.c:
26137         make more like find_path.c
26138         [853b2dab2e03]
26139
26140         * find_path.c:
26141         rewritten by millert
26142         [c6a043cc11b3]
26143
26144         * sudo.h:
26145         fixed MAXCOMMANDLENGTH now uses USE_CWD and NEED_STRDUP added info
26146         about new defines in the comment
26147         [39ffefce3aec]
26148
26149         * logging.c:
26150         now uses USE_CWD
26151         [fa0f3b118bb3]
26152
26153         * sudo.h:
26154         added delc for clean_envp() and Envp
26155         [a12034e300c2]
26156
26157         * sudo.c:
26158         now rips LD_* env vars out of envp and passed sanitized Envp to exec
26159         [d201a218e056]
26160
26161         * logging.c:
26162         now uses execve()
26163         [f3e01032cd33]
26164
26165         * find_path.c:
26166         ENOTDIR is ok now too (in case part of the path is bogus)
26167         [b5cbbb201bb5]
26168
26169         * qualify.c:
26170         now works correctly (ttaltotal rewrite)
26171         [0c25d64a5c68]
26172
26173         * parse.lex:
26174         now includes sys/param.h didn't match trailing / -- fix from
26175         rouilj@cs.umb.edu
26176         [b6363ba110af]
26177
26178 1993-06-11  Todd C. Miller  <Todd.Miller@courtesan.com>
26179
26180         * sudo.c:
26181         moved around the #ifndef _AIX
26182         [7d4330950c20]
26183
26184         * check.c, logging.c, parse.c:
26185         Initial revision
26186         [c101e9572d7f]
26187
26188 1993-03-20  Todd C. Miller  <Todd.Miller@courtesan.com>
26189
26190         * qualify.c:
26191         Initial revision
26192         [5a5f21d0e0bf]
26193
26194 1993-03-13  Todd C. Miller  <Todd.Miller@courtesan.com>
26195
26196         * find_path.c:
26197         now works if you do sudo bin/test
26198         [07835120ce43]
26199
26200         * find_path.c:
26201         works
26202         [c3da8b5efa20]
26203
26204 1993-03-02  Todd C. Miller  <Todd.Miller@courtesan.com>
26205
26206         * sudo.h:
26207         Initial revision
26208         [28a1caa38b72]
26209
26210         * visudo.c:
26211         Initial revision
26212         [0e5cd7c3cdbe]
26213
26214         * parse.lex, parse.yacc:
26215         Initial revision
26216         [5f2d0cccb06b]
26217
26218 1993-02-16  Todd C. Miller  <Todd.Miller@courtesan.com>
26219
26220         * sudo.c:
26221         took out errno.h
26222         [7466431a2655]
26223
26224         * sudo.c:
26225         now spews error if exec fails and exits with -1
26226         [e5c41ea725c1]
26227
26228         * sudo.c:
26229         Initial revision
26230         [8aeabe39a0c2]
26231
26232         * find_path.c:
26233         now only execs files with (an) executable bit set.
26234         [0a451f9c0e58]
26235
26236         * find_path.c:
26237         Initial revision
26238         [02a534891a35]
26239
26240 1993-02-15  Todd C. Miller  <Todd.Miller@courtesan.com>
26241
26242         * getpass.c:
26243         added nice comment
26244         [ea8b2aaa9389]
26245
26246         * getpass.c:
26247         now works on sgi's
26248         [bf2b7c6d0960]
26249
26250         * getpass.c:
26251         Initial revision
26252         [9f4de251c1b5]
26253