Imported Upstream version 1.8.6p8
[debian/sudo] / ChangeLog
1 2013-04-11  Todd C. Miller  <Todd.Miller@courtesan.com>
2
3         * NEWS, configure, configure.in:
4         Update for sudo 1.8.6p8
5         [1d2d78415eed]
6
7         * plugins/sudoers/auth/passwd.c, plugins/sudoers/auth/secureware.c:
8         Check for crypt() returning NULL. Traditionally, crypt() never
9         returned NULL but newer versions of eglibc have a crypt() that does.
10         Bug #598
11         [887b9df243df]
12
13 2013-04-10  Todd C. Miller  <Todd.Miller@courtesan.com>
14
15         * src/ttyname.c:
16         AIX may have a 64-bit pr_ttydev that we need to convert to 32-bit
17         before we try to match it against st_rdev.
18         [5dab449fb962]
19
20         * src/ttyname.c:
21         Break out of the loop if sudo_ttyname_scan() returns non-NULL. Fixes
22         a problem finding the tty name when it is not in /dev/pts.
23         [6c205d087fa0]
24
25 2013-02-25  Todd C. Miller  <Todd.Miller@courtesan.com>
26
27         * plugins/sudoers/check.c:
28         Completely ignore time stamp file if it is set to the epoch,
29         regardless of what gettimeofday() returns.
30         [ebd6cc75020f]
31
32         * plugins/sudoers/check.c, plugins/sudoers/sudoers.c,
33         plugins/sudoers/sudoers.h:
34         Store the session ID in the tty ticket file too. A tty may only be
35         in one session at a time so if the session ID doesn't match we
36         ignore the ticket.
37         [049a12a5cc14]
38
39         * configure, configure.in:
40         Sudo 1.8.6p7
41         [3334bc872111]
42
43         * NEWS:
44         Update for Sudo 1.8.6p7
45         [3b853ddc529c]
46
47 2013-02-11  Todd C. Miller  <Todd.Miller@courtesan.com>
48
49         * NEWS:
50         Add Sudo 1.8.6p7
51         [77480be0f378]
52
53 2013-01-31  Todd C. Miller  <Todd.Miller@courtesan.com>
54
55         * NEWS:
56         Clarify ttyname changes.
57         [9963ed81732d]
58
59         * NEWS:
60         Add 1.8.6p6
61         [162ea7fae117]
62
63         * src/ttyname.c:
64         Remove ttyname() fall back code on systems where we can query the
65         kernel for the tty device via /proc or sysctl(). If there is no
66         controlling tty, it is better to just treat the tty as unknown
67         rather than to blindly use what is hooked up to std{in,out,err}.
68         [2f3225a2a4a4]
69
70 2013-01-24  Todd C. Miller  <Todd.Miller@courtesan.com>
71
72         * plugins/sudoers/iolog.c:
73         Add __dso_public to extern declaration of declaration to match
74         actual definition.
75         [e16ecb5c6677]
76
77         * configure, configure.in:
78         Sudo 1.8.6p5
79         [8d7c8bd159c5]
80
81         * NEWS:
82         Add 1.8.6p5
83         [1cb9b7c4f626]
84
85 2013-01-23  Todd C. Miller  <Todd.Miller@courtesan.com>
86
87         * plugins/sudoers/visudo.c:
88         Fix potential stack overflow due to infinite recursion in alias
89         cycle detection. From Daniel Kopecek.
90         [77f2228877bc]
91
92 2013-01-18  Todd C. Miller  <Todd.Miller@courtesan.com>
93
94         * compat/getgrouplist.c, config.h.in, configure, configure.in:
95         Use _getgroupsbymember() on Solaris to get the groups list. Fixes
96         performance problems with the getgroupslist() compat on Solaris
97         systems with network-based group databases.
98         [6ab76bea5ea4]
99
100 2013-01-13  Todd C. Miller  <Todd.Miller@courtesan.com>
101
102         * src/sudo.c:
103         Add missing call to save_signals().
104         [708b8db3b30e]
105
106 2013-01-11  Todd C. Miller  <Todd.Miller@courtesan.com>
107
108         * configure, configure.in:
109         Use -fstack-protector-all in preference to -fstack-protector where
110         supported.
111         [52ac4eadf5c9]
112
113 2013-01-10  Todd C. Miller  <Todd.Miller@courtesan.com>
114
115         * configure, configure.in:
116         Only test for -fstack-protector and -fvisibility=hidden on GNU
117         compatible compilers.
118         [5f31c5b4edc9]
119
120 2013-01-03  Todd C. Miller  <Todd.Miller@courtesan.com>
121
122         * NEWS:
123         Add Sudo 1.8.6p4
124         [88358d481baa]
125
126         * configure, configure.in:
127         Sudo 1.8.6p4
128         [e8032237c4b1]
129
130         * common/Makefile.in, compat/Makefile.in, configure, configure.in,
131         plugins/sample/Makefile.in, plugins/sample_group/Makefile.in,
132         plugins/sudoers/Makefile.in, plugins/system_group/Makefile.in,
133         src/Makefile.in:
134         Break out stack smashing protector options into SSP_CFLAGS and
135         SSP_LDFLAGS so we can use it everywhere (unlike LT_LDFLAGS).
136         [9c3662776afa]
137
138 2013-01-01  Todd C. Miller  <Todd.Miller@courtesan.com>
139
140         * doc/CONTRIBUTORS, plugins/sudoers/redblack.c:
141         In rbrepair(), make sure we never try to change the color of the
142         sentinel node, which is the first entry, not the root. From Michael
143         King
144         [24ebb817e1ee]
145
146 2012-12-27  Todd C. Miller  <Todd.Miller@courtesan.com>
147
148         * configure, configure.in:
149         Disable PIE on FreeBSD/ia64, otherwise sudo will segfault.
150         [ce07ef64d410]
151
152 2012-11-25  Todd C. Miller  <Todd.Miller@courtesan.com>
153
154         * plugins/sudoers/visudo.c:
155         Avoid NULL deref for unknown Defaults in strict mode.
156         [4c2d9717d91e]
157
158 2012-11-06  Todd C. Miller  <Todd.Miller@courtesan.com>
159
160         * plugins/sudoers/audit.c, plugins/sudoers/logging.c,
161         plugins/sudoers/logging.h, plugins/sudoers/sudoers.c:
162         Do not inform the user that the command was not permitted by the
163         policy if they do not successfully authenticate. This is a
164         regression introduced in sudo 1.8.6.
165         [e5c1e760954e]
166
167         * src/parse_args.c:
168         The -a option should be #ifdef HAVE_BSD_AUTH_H, not -A.
169         [4e112e7da105]
170
171 2012-10-26  Todd C. Miller  <Todd.Miller@courtesan.com>
172
173         * doc/CONTRIBUTORS, plugins/sudoers/sudo_nss.c:
174         Allow sudo to be build with sss support without also including ldap
175         support. From Stephane Graber.
176         [7e0bd9191589]
177
178 2012-09-24  Todd C. Miller  <Todd.Miller@courtesan.com>
179
180         * src/exec_pty.c:
181         Fix running commands that need the terminal in the background when
182         I/O logging is enabled. E.g. "sudo vi &". When the command is
183         foregrounded, it will now resume properly.
184         [c30ec73a5da8]
185
186 2012-11-13  Todd C. Miller  <Todd.Miller@courtesan.com>
187
188         * plugins/sudoers/Makefile.in:
189         Fold preinstall into install-plugin and pass the path to the plugin
190         binary to the preinstall command.
191         [994f8f58495e]
192
193 2012-11-06  Todd C. Miller  <Todd.Miller@courtesan.com>
194
195         * plugins/sudoers/Makefile.in:
196         Add preinstall target that runs SUDO_PREINSTALL_CMD. Used to fixup
197         the rpath in HP-UX SOM shared libraries for the LDAP libs.
198         [685796ea58fe]
199
200         * NEWS, configure, configure.in:
201         sudo 1.8.6p3
202         [97fef3d9ed65]
203
204 2012-09-17  Todd C. Miller  <Todd.Miller@courtesan.com>
205
206         * doc/fixman.sh:
207         Don't use embedded newline when matching, use \n. This got expanded
208         at some point. Bug #573
209         [6652f834b8f5]
210
211         * plugins/sudoers/sudoreplay.c:
212         Fall back on lstat(2) if d_type in struct dirent is DT_UNKNOWN. Not
213         all file systems support d_type. Bug #572
214         [8b861c62945f]
215
216         * plugins/sudoers/sudoreplay.c:
217         Avoid calling fclose(NULL) in the error path when we cannot open an
218         I/O log file.
219         [9401d5c4bb05]
220
221 2012-09-16  Todd C. Miller  <Todd.Miller@courtesan.com>
222
223         * NEWS, configure, configure.in:
224         Sudo 1.8.6p2
225         [6e32496280f2]
226
227         * src/exec.c:
228         When setting the signal handler for SIGTSTP to the default value in
229         non-I/O log mode, store the old handler value for when we restore it
230         after resume.
231         [242628694e42]
232
233 2012-09-12  Todd C. Miller  <Todd.Miller@courtesan.com>
234
235         * NEWS:
236         Mention support for SUCCESS=return in /etc/nsswitch.conf
237         [ef1f35aa0863]
238
239         * NEWS, configure, configure.in:
240         sudo 1.8.6p1
241         [73a5e1f004b3]
242
243 2012-09-11  Todd C. Miller  <Todd.Miller@courtesan.com>
244
245         * plugins/sudoers/env.c:
246         Avoid setting LOGNAME, USER and USERNAME variables twice when
247         set_logname is enabled.
248         [0de4f5fbd1d4]
249
250         * plugins/sudoers/env.c:
251         Fix duplicate detection in sudo_putenv(), do not prune out the
252         variable we just set when overwriting an existing instance. Fixes
253         bug #570
254         [854ee714c831]
255
256         * plugins/sudoers/env.c:
257         Add some debuggging
258         [a25cd3305823]
259
260 2012-09-04  Todd C. Miller  <Todd.Miller@courtesan.com>
261
262         * plugins/sudoers/sudo_nss.c:
263         Disable word wrap in list mode when stdout is a pipe to make "sudo
264         -l | grep ..." more useful. Adapted from a diff by Daniel Kopecek.
265         [65ade04511fd]
266
267         * common/lbuf.c:
268         Print a trailing newline in lbuf_print() when there is not enough
269         space to do word wrapping and the lbuf does not end with a newline.
270         [c0200e19cd09]
271
272         * plugins/sudoers/sudo_nss.c, plugins/sudoers/sudoers.c:
273         Add support for [SUCCESS=return] in nsswitch.conf; from Daniel
274         Kopecek
275         [5c480316e3ce]
276
277         * MANIFEST:
278         Add sssd.c
279         [9cadd014ef97]
280
281 2012-09-01  Todd C. Miller  <Todd.Miller@courtesan.com>
282
283         * plugins/sudoers/po/da.mo, plugins/sudoers/po/fi.mo,
284         plugins/sudoers/po/hr.mo, plugins/sudoers/po/sl.mo,
285         plugins/sudoers/po/uk.mo, src/po/fi.mo, src/po/hr.mo, src/po/it.mo,
286         src/po/ru.mo, src/po/sl.mo, src/po/uk.mo, src/po/vi.mo:
287         regen .po files
288         [62423d4d143d]
289
290         * MANIFEST, plugins/sudoers/po/vi.mo:
291         Add Vietnamese sudoers translation from translationproject.org
292         [33666a605525]
293
294         * NEWS:
295         mention PIE
296         [05032e5304c6]
297
298         * MANIFEST, plugins/sudoers/po/vi.po:
299         Add Vietnamese sudoers translation from translationproject.org
300         [015c2204bae2]
301
302 2012-08-29  Todd C. Miller  <Todd.Miller@courtesan.com>
303
304         * Makefile.in, compat/Makefile.in, mkdep.pl:
305         Add missing signame dependency
306         [e493bfb01929]
307
308         * src/exec.c, src/ttyname.c:
309         Silence compiler warnings.
310         [1c5374b66d9b]
311
312         * MANIFEST, compat/Makefile.in, compat/sig2str.c, compat/strsigname.c,
313         config.h.in, configure, configure.in, include/missing.h, mkdep.pl,
314         src/exec.c, src/exec_pty.c:
315         Replace strsigname() with sig2str(), emulating it as needed.
316         [1e348cca1fa6]
317
318         * config.h.in, configure, configure.in, src/utmp.c:
319         Use fseeko() for legacy utmp handling if available.
320         [b4bbd8d2c0e9]
321
322 2012-08-28  Todd C. Miller  <Todd.Miller@courtesan.com>
323
324         * compat/strsigname.c, config.h.in, configure, configure.in:
325         Detect sys_sigabbrev[] and use it in place of sys_signame[] if
326         present. For some reason glibc does not declare sys_sigabbrev so we
327         must add an extern definition of our own.
328         [b38f3fbd7078]
329
330         * compat/strsignal.c, compat/strsigname.c:
331         Handle NULL entries in sys_siglist and sys_signame.
332         [a388959d9654]
333
334         * compat/mksiglist.c, compat/mksiglist.h, compat/mksigname.c,
335         compat/mksigname.h, compat/strsignal.c, compat/strsigname.c:
336         Convert my_sys_sig{list,name} -> sudo_sys_sig{list,name}
337         [711e41aba59a]
338
339 2012-08-27  Todd C. Miller  <Todd.Miller@courtesan.com>
340
341         * NEWS:
342         sync
343         [5a2522488754]
344
345         * src/exec.c:
346         Pass on SIGTSTP to the command if it was sent by a user process (not
347         the kernel or the terminal) when we are not I/O logging and set the
348         default SIGTSTP handler when we re-send the signal to ourself,
349         restoring our handler after we resume.
350         [4259c47e31c0]
351
352         * src/exec.c:
353         Shells typically change their process group when they start up so
354         that they can implement job control. Most well-behaved shells
355         change the pgrp back to its original value before suspending so we
356         must not try to restore in that case, lest we race with the child
357         upon resume, potentially stopping sudo with SIGTTOU while the
358         command continues to run. Some shells, such as pdksh, just suspend
359         the shell by sending SIGSTOP to themselves without restoring the
360         pgrp. In this case we need to change the pgrp back for them. Should
361         fix bug #568
362         [6ac6751ffd17]
363
364 2012-08-26  Todd C. Miller  <Todd.Miller@courtesan.com>
365
366         * MANIFEST, compat/Makefile.in, compat/mksigname.c,
367         compat/mksigname.h, compat/strsignal.c, compat/strsigname.c,
368         config.h.in, configure, configure.in, include/missing.h, mkdep.pl,
369         src/exec.c, src/exec_pty.c:
370         Use strsigname() to print signal names in the debug output. If the
371         system has no strsigname(), use our own.
372         [0735f18906b9]
373
374 2012-08-23  Todd C. Miller  <Todd.Miller@courtesan.com>
375
376         * plugins/sudoers/regress/testsudoers/test5.inc,
377         plugins/sudoers/regress/testsudoers/test5.sh:
378         Remove generated file and change path for temporary include file.
379         [4e9fa830c6b5]
380
381         * plugins/sudoers/Makefile.in:
382         When running regress tests, list pass/fail rate for each dir
383         (testsudoers and visudo) instead of the total. Also prevent the
384         result files from clobbering each other by keeping them in the
385         relevant directories.
386         [6aac53baff7d]
387
388         * plugins/sudoers/gram.c, plugins/sudoers/gram.y,
389         plugins/sudoers/toke.c, plugins/sudoers/toke.l:
390         Don't print an error message in yyerror() if open_sudoers() fails,
391         we've already printed an error message. Also restore the check for
392         sudoers_warnings in yyerror().
393         [aa6036df5fb2]
394
395         * plugins/sudoers/gram.c, plugins/sudoers/gram.y,
396         plugins/sudoers/toke.c, plugins/sudoers/toke.h,
397         plugins/sudoers/toke.l:
398         Avoid printing the >>> parse error <<< message for testsudoers when
399         the -t flag is specified.
400         [76f3433c8992]
401
402 2012-08-22  Todd C. Miller  <Todd.Miller@courtesan.com>
403
404         * plugins/sudoers/parse.c:
405         Fix NULL deref when an entry has no Runas_Entry
406         [4b14983ff6e7]
407
408         * plugins/sudoers/po/ja.mo, plugins/sudoers/po/ja.po,
409         plugins/sudoers/po/pl.mo, plugins/sudoers/po/pl.po,
410         plugins/sudoers/po/zh_CN.mo, plugins/sudoers/po/zh_CN.po,
411         src/po/ja.mo, src/po/ja.po, src/po/pl.mo, src/po/pl.po,
412         src/po/zh_CN.mo, src/po/zh_CN.po:
413         sync with translationproject.org
414         [440e9c9b37de]
415
416         * NEWS:
417         sync
418         [3142ba2dce60]
419
420         * plugins/sudoers/check.c:
421         Correct the check_user() comment header.
422         [73da30308fff]
423
424         * plugins/sudoers/auth/sudo_auth.c:
425         Change a log_fatal() into log_error() when no auth methods are
426         configured. The caller already checks the return value.
427         [05f5c39793a7]
428
429         * plugins/sudoers/logging.c:
430         Add missing debug_return
431         [3a76bb7c2fe7]
432
433 2012-08-21  Todd C. Miller  <Todd.Miller@courtesan.com>
434
435         * doc/sudo.cat, doc/sudo.man.in, doc/sudo.mdoc.in,
436         doc/sudo_plugin.cat, doc/sudo_plugin.man.in,
437         doc/sudo_plugin.mdoc.in, doc/sudoers.cat, doc/sudoers.ldap.cat,
438         doc/sudoers.ldap.man.in, doc/sudoers.ldap.mdoc.in,
439         doc/sudoers.man.in, doc/sudoers.mdoc.in:
440         Make the capitalization consistent for .Ss and .Sx
441         [5c5735ee4b2f]
442
443         * doc/Makefile.in, doc/fixman.sh, doc/fixmdoc.sh, doc/sudo.cat,
444         doc/sudo.man.in, doc/sudo.mdoc.in:
445         Add COMMAND EXECUTION section that describes how sudo runs the
446         command, the extra sudo processes and signal handling.
447         [dff2d88e984e]
448
449 2012-08-18  Todd C. Miller  <Todd.Miller@courtesan.com>
450
451         * Makefile.in:
452         Happy Easter
453         [4b9d697c6b83]
454
455 2012-08-17  Todd C. Miller  <Todd.Miller@courtesan.com>
456
457         * compat/Makefile.in:
458         Don't echo the awk command when building siglist.in
459         [21daa72921e6]
460
461         * doc/fixman.sh, doc/sudo.cat, doc/sudo.man.in, doc/sudo.mdoc.in,
462         doc/sudoers.cat, doc/sudoers.man.in, doc/sudoers.mdoc.in:
463         Cosmetic changes.
464         [19259528e9ad]
465
466         * doc/Makefile.in:
467         The HISTORY, LICENSE and CONTRIBUTORS files are not longer
468         generated.
469         [ea6ac9e981e6]
470
471         * MANIFEST, plugins/sudoers/po/da.po, plugins/sudoers/po/fi.po,
472         plugins/sudoers/po/hr.po, plugins/sudoers/po/it.mo,
473         plugins/sudoers/po/it.po, plugins/sudoers/po/sl.po,
474         plugins/sudoers/po/uk.po, src/po/de.mo, src/po/de.po, src/po/fi.po,
475         src/po/hr.po, src/po/it.po, src/po/ru.po, src/po/sl.po,
476         src/po/uk.po, src/po/vi.po:
477         Sync with translationproject.org and add Italian sudoers
478         translation.
479         [9276740aea59]
480
481 2012-08-16  Todd C. Miller  <Todd.Miller@courtesan.com>
482
483         * doc/sudoers.cat, doc/sudoers.man.in, doc/sudoers.mdoc.in:
484         Expand description of fqdn to talk about systems where the hosts
485         file is searched before DNS.
486         [4ee812ca6116]
487
488 2012-08-15  Todd C. Miller  <Todd.Miller@courtesan.com>
489
490         * doc/Makefile.in:
491         For cat pages there is nothing to make unless DEVEL is set.
492         [fab4a5b68708]
493
494         * configure, configure.in, doc/Makefile.in:
495         Always use mandoc to format cat pages and remove now-extraneous
496         nroff configure tests.
497         [5747f4ed5762]
498
499         * pp:
500         sync polypkg from git
501         [89ddf6ea3e3f]
502
503         * plugins/sudoers/sudoers.c:
504         Use AI_FQDN instead of AI_CANONNAME if available since "canonical"
505         is not always the same as "fully qualified".
506         [7c1d9c098386]
507
508 2012-08-14  Todd C. Miller  <Todd.Miller@courtesan.com>
509
510         * doc/sudoers.mdoc.in:
511         Fix some typos. Describe error messages not related to policy
512         permissions.
513         [f5ebf9030d85]
514
515         * plugins/sudoers/defaults.c, plugins/sudoers/defaults.h,
516         plugins/sudoers/visudo.c:
517         Add new check_defaults() function to check (but not update) the
518         Defaults entries. Visudo can now use this instead of
519         update_defaults to check all the defaults regardless instead of just
520         the global Defaults entries.
521         [3fa879ce1b65]
522
523 2012-08-13  Todd C. Miller  <Todd.Miller@courtesan.com>
524
525         * doc/sudoers.cat, doc/sudoers.man.in, doc/sudoers.mdoc.in:
526         Document sudoers log format.
527         [08998a7061ab]
528
529         * NEWS:
530         Update for sudo 1.8.5p3
531         [6e102a5d4e8d]
532
533         * src/load_plugins.c:
534         Add missing check for I/O plugin API version when checking for the
535         presence of I/O plugin hooks.
536         [ef05c7eeaf81]
537
538         * src/hooks.c:
539         Can't call debug code in the process_hooks_xxx functions() since
540         ctime() may look up the timezone via the TZ environment variable.
541         [2179fb26bd8e]
542
543 2012-08-10  Todd C. Miller  <Todd.Miller@courtesan.com>
544
545         * src/exec_common.c, src/sesh.c, src/utmp.c:
546         Include signal.h before sudo_exec.h since it uses sigset_t * in the
547         fork_pty prototype.
548         [94fc0d859600]
549
550         * doc/sudo.cat, doc/sudo.man.in, doc/sudo.mdoc.in, doc/sudoreplay.cat,
551         doc/sudoreplay.man.in, doc/sudoreplay.mdoc.in, doc/visudo.cat,
552         doc/visudo.man.in, doc/visudo.mdoc.in:
553         Remove OPTIONS section; options now go inside DESCRIPTION
554         [a619fc58a746]
555
556         * plugins/sudoers/po/sudoers.pot, src/po/sudo.pot:
557         regen
558         [44719d80bc06]
559
560         * MANIFEST, NEWS, plugins/sudoers/po/da.mo, plugins/sudoers/po/da.po,
561         plugins/sudoers/po/eo.mo, plugins/sudoers/po/eo.po,
562         plugins/sudoers/po/fi.mo, plugins/sudoers/po/fi.po,
563         plugins/sudoers/po/hr.mo, plugins/sudoers/po/hr.po,
564         plugins/sudoers/po/ja.mo, plugins/sudoers/po/ja.po,
565         plugins/sudoers/po/pl.mo, plugins/sudoers/po/pl.po,
566         plugins/sudoers/po/sl.mo, plugins/sudoers/po/sl.po,
567         plugins/sudoers/po/uk.mo, plugins/sudoers/po/uk.po,
568         plugins/sudoers/po/zh_CN.mo, plugins/sudoers/po/zh_CN.po,
569         src/po/da.mo, src/po/da.po, src/po/hr.mo, src/po/hr.po,
570         src/po/sl.mo, src/po/sl.po, src/po/vi.mo, src/po/vi.po:
571         Sync with translationproject.org and add new Slovenian translation.
572         [34b4b966bbac]
573
574         * common/alloc.c, plugins/sudoers/check.c, plugins/sudoers/env.c,
575         plugins/sudoers/linux_audit.c, plugins/sudoers/sudoers.c,
576         plugins/sudoers/testsudoers.c:
577         Reduce the number of "internal error, foo overflow" messages that
578         need to be translated.
579         [93ffa2b3d53f]
580
581         * NEWS:
582         Mention HP-UX reboot fix.
583         [1e39b5aa32ac]
584
585         * INSTALL, NEWS, common/sudo_debug.c, configure, configure.in,
586         doc/CONTRIBUTORS, include/sudo_debug.h, mkdep.pl, pathnames.h.in,
587         plugins/sudoers/Makefile.in, plugins/sudoers/sssd.c,
588         plugins/sudoers/sudo_nss.c, plugins/sudoers/sudoers.c:
589         Support for using SSSD (http://fedorahosted.org/sssd/) as a sudoers
590         data source. From Daniel Kopecek and Pavel Brezina.
591         [3f85e95d6928]
592
593 2012-08-09  Todd C. Miller  <Todd.Miller@courtesan.com>
594
595         * common/sudo_conf.c, src/load_plugins.c:
596         If sudo.conf contains an I/O plugin but no policy plugin, use
597         sudoers for the policy plugin. If a policy plugin is specified
598         without an I/O plugin, only the policy plugin will be loaded.
599         [ea192df2439d]
600
601         * doc/Makefile.in, doc/sudoers.man.in:
602         Do not modify the .Os section when building the .man.in file from
603         .mdoc.in.
604         [a9f9628e147f]
605
606         * doc/sudoers.cat, doc/sudoers.man.in, doc/sudoers.mdoc.in:
607         Add a note about wildcards matching multiple words and include an
608         example. Also mention that for sudoedit, a wildcard in command line
609         args does not match a slash.
610         [fcb9fbac14e0]
611
612 2012-08-07  Todd C. Miller  <Todd.Miller@courtesan.com>
613
614         * src/exec_pty.c, src/sudo_exec.h:
615         Fix a comment, update a variable name in a prototype; all cosmetic.
616         [e89f10cbd6e1]
617
618         * plugins/sudoers/iolog.c:
619         Cast 2nd argument of lseek() to off_t if it is a constant for
620         systems with 64-bit off_t but without a proper lseek() prototype.
621         [d8779da135d0]
622
623         * compat/getline.c, plugins/sudoers/check.c, plugins/sudoers/env.c,
624         plugins/sudoers/gram.c, plugins/sudoers/gram.y,
625         plugins/sudoers/visudo.c:
626         Fix some warnings from clang checker-267
627         [1e44ef7860b5]
628
629         * plugins/sample/sample_plugin.c:
630         Fix memory leak found by clang checker-267
631         [f8a43617fdfb]
632
633 2012-08-06  Todd C. Miller  <Todd.Miller@courtesan.com>
634
635         * src/exec.c, src/exec_pty.c, src/sudo.h, src/sudo_exec.h:
636         If we receive a signal from the command we executed, do not forward
637         it back to the command. This fixes a problem with BSD-derived
638         versions of the reboot command which send SIGTERM to all other
639         processes, including the sudo process. Sudo would then deliver
640         SIGTERM to reboot which would die before calling the reboot() system
641         call, effectively leaving the system in single user mode.
642         [4ffab9ab9e98]
643
644 2012-08-03  Todd C. Miller  <Todd.Miller@courtesan.com>
645
646         * doc/fixman.sh, doc/fixmdoc.sh:
647         Remove section about Solaris 10 on other systems. Add missing
648         sudoers.man.in bit to fixman.sh.
649         [176559199ba7]
650
651 2012-08-02  Todd C. Miller  <Todd.Miller@courtesan.com>
652
653         * doc/sudoers.cat, doc/sudoers.man.in, doc/sudoers.mdoc.in:
654         Expand section on Solaris privileges.
655         [3a1bfa2f1743]
656
657         * NEWS:
658         Expand a bit on the Solaris priv set changes.
659         [bffb78b4a520]
660
661         * plugins/sudoers/gram.c, plugins/sudoers/gram.y,
662         plugins/sudoers/parse.c, plugins/sudoers/parse.h,
663         plugins/sudoers/testsudoers.c, plugins/sudoers/visudo.c:
664         The second argument to init_parser() is now bool.
665         [fb727a4fb651]
666
667         * plugins/sudoers/gram.c, plugins/sudoers/gram.y:
668         Fix printing of parse error message to stderr.
669         [dea6b420b84f]
670
671         * plugins/sudoers/check.c, plugins/sudoers/defaults.c,
672         plugins/sudoers/match.c, plugins/sudoers/parse.c,
673         plugins/sudoers/parse.h, plugins/sudoers/sudoers.c,
674         plugins/sudoers/sudoers.h, plugins/sudoers/testsudoers.c:
675         If a command matches using an empty Runas_List (i.e. Runas_List is
676         present but empty) and the -u option was not specified, set runas_pw
677         to user_pw instead of using runas_default. This is intended to be
678         used in conjunction with the Solaris Privilege Set support for rules
679         that grant privileges without changing the user.
680         [e84a081f3c11]
681
682         * doc/sudoers.cat, doc/sudoers.man.in, doc/sudoers.mdoc.in,
683         plugins/sudoers/gram.c, plugins/sudoers/gram.h,
684         plugins/sudoers/gram.y, plugins/sudoers/match.c,
685         plugins/sudoers/parse.c, plugins/sudoers/sudoers_version.h:
686         Add support for parsing an empty Runas_List, which only allows the
687         command to be run as the invoking user. This can be used in
688         conjunction with the Solaris Privilege Set support to grant
689         privileges without changing the user.
690         [dc34373792fc]
691
692 2012-08-01  Todd C. Miller  <Todd.Miller@courtesan.com>
693
694         * doc/fixman.sh:
695         Fix HP-UX, just use ".TH name section" like the vendor manuals.
696         [559738237c92]
697
698         * plugins/sudoers/toke.c, plugins/sudoers/toke.l:
699         Fix compilation on Solaris
700         [2d310302207c]
701
702         * .hgignore, MANIFEST, doc/Makefile.in, doc/fixman.sh, doc/fixmdoc.sh,
703         doc/sudo.man.sh, doc/sudo.mdoc.sh, doc/sudoers.man.sh,
704         doc/sudoers.mdoc.sh:
705         Generate a sed script file when munging *.mdoc or *.man instead of
706         passing sed expressions on the command line. Older seds do not
707         support \n in a replacement so generate and run a sed script
708         instead.
709         [0bcce3f1ca18]
710
711         * doc/Makefile.in, doc/sudo.man.in, doc/sudo_plugin.man.in,
712         doc/sudoers.ldap.man.in, doc/sudoers.man.in, doc/sudoreplay.man.in,
713         doc/visudo.man.in:
714         Use "Sudo VERSION" as the 4th arg to .TH instead of just "VERSION"
715         [fe0f10b63776]
716
717 2012-07-31  Todd C. Miller  <Todd.Miller@courtesan.com>
718
719         * src/exec.c:
720         When checking whether a signal is user-generated, compare si_code
721         against SI_USER instead of <= 0 since on HP-UX, terminal-related
722         signals get a code of 0.
723         [4e9021243343]
724
725         * src/sudo.c:
726         SuSE Enterprise Linux uses RLIMIT_NPROC and _SC_CHILD_MAX
727         interchangably. This causes problems when setting RLIMIT_NPROC to
728         RLIM_INFINITY due to a bug in bash where bash tries to honor the
729         value of _SC_CHILD_MAX but treats a value of -1 as an error, and
730         uses a default value of 32 instead.
731
732         Previously, we just checked RLIMIT_NPROC and, if it was unlimited,
733         restored the previous value of RLIMIT_NPROC. However, that makes it
734         impossible to set nproc to unlimited. We now only restore the nproc
735         resource limit if sysconf(_SC_CHILD_MAX) is negative. In most
736         cases, pam_limits will set RLIMIT_NPROC for us.
737         [cb71cc8d0b08]
738
739 2012-07-30  Todd C. Miller  <Todd.Miller@courtesan.com>
740
741         * plugins/sudoers/ldap.c:
742         Active Directory apparently requires that tenths of a second be
743         present in a date so append .0 to the "now" value in the time
744         filter. Also remove space for the global AND from TIMEFILTER_LENGTH
745         since it was not being used consistently. Buffers of
746         TIMEFILTER_LENGTH now need to account for the terminating NUL byte.
747         [d28619ff6e45]
748
749         * plugins/sudoers/toke.c, plugins/sudoers/toke.l:
750         Fix SELinux build
751         [cc0d1f4e851b]
752
753 2012-07-29  Todd C. Miller  <Todd.Miller@courtesan.com>
754
755         * MANIFEST:
756         Remove pod versinons of HISTORY, CONTRIBUTORS and LICENSE as they
757         were not being kept in sync.
758         [fc3ad1847cb1]
759
760         * doc/HISTORY, doc/Makefile.in, doc/contributors.pod, doc/history.pod,
761         doc/license.pod:
762         Remove pod versinons of HISTORY, CONTRIBUTORS and LICENSE as they
763         were not being kept in sync.
764         [950363dffe3a]
765
766 2012-07-27  Todd C. Miller  <Todd.Miller@courtesan.com>
767
768         * plugins/sudoers/logging.c:
769         Fix printing of the permission denied message to standard error when
770         a user is not allowed to run a command. This got broken by the
771         recent logging changes.
772         [b7af63da3ca1]
773
774         * plugins/sudoers/sudoers_version.h:
775         Bump grammar version for Solaris privs.
776         [2a2baf024477]
777
778         * doc/schema.ActiveDirectory:
779         Fix errors introduced when sudoNotBefore, sudoNotAfter and sudoOrder
780         were added. From David Hicks.
781         [3fc432a8edb4]
782
783 2012-07-26  Todd C. Miller  <Todd.Miller@courtesan.com>
784
785         * plugins/sudoers/Makefile.in:
786         Remove lex.yy.c when building toke.c
787         [72bb9e62b289]
788
789         * doc/Makefile.in:
790         Fix building docs in a build dir.
791         [7a6f435af022]
792
793         * doc/sudo.man.pl, doc/sudo.pod, doc/sudo_plugin.pod,
794         doc/sudoers.ldap.pod, doc/sudoers.man.pl, doc/sudoers.pod,
795         doc/sudoreplay.pod, doc/visudo.pod:
796         Remove pod versions of the manual; we now use mdoc.
797         [5c967d2dd5db]
798
799         * MANIFEST, doc/Makefile.in, doc/sudo.man.sh, doc/sudo.mdoc.sh,
800         doc/sudoers.man.sh, doc/sudoers.mdoc.sh:
801         Add post-processing scripts to strip out login class, BSD auth,
802         SELinux and privilege set bits when they are not supported.
803         [d0d51f72f597]
804
805         * NEWS, configure.in, doc/CONTRIBUTORS, doc/Makefile.in,
806         doc/contributors.pod, doc/sudoers.cat, doc/sudoers.man.in,
807         doc/sudoers.man.pl, doc/sudoers.mdoc.in, doc/sudoers.pod,
808         plugins/sudoers/def_data.c, plugins/sudoers/def_data.h,
809         plugins/sudoers/def_data.in, plugins/sudoers/gram.c,
810         plugins/sudoers/gram.h, plugins/sudoers/gram.y,
811         plugins/sudoers/parse.c, plugins/sudoers/parse.h,
812         plugins/sudoers/sudoers.c, plugins/sudoers/sudoers.h,
813         plugins/sudoers/testsudoers.c, plugins/sudoers/toke.c,
814         plugins/sudoers/toke.l, src/sudo.c, src/sudo.h:
815         Merge in Solaris privilege support by Darren Moffat and John
816         Zolnowsky
817         [3aa0a64f2f5c]
818
819 2012-07-25  Todd C. Miller  <Todd.Miller@courtesan.com>
820
821         * doc/contributors.pod:
822         Sync with CONTRIBUTORS file
823         [9a0852306ad9]
824
825         * doc/sudo.man.in, doc/sudo_plugin.man.in, doc/sudoers.ldap.man.in,
826         doc/sudoers.man.in, doc/sudoreplay.man.in:
827         Regen .man.in files with my private mandoc.
828         [dc3c9fc449eb]
829
830         * doc/Makefile.in:
831         add MANDOC variable
832         [35527e66afc5]
833
834 2012-07-20  Todd C. Miller  <Todd.Miller@courtesan.com>
835
836         * doc/sudo.man.in, doc/sudo_plugin.man.in, doc/sudoers.ldap.man.in,
837         doc/sudoers.man.in, doc/sudoreplay.man.in, doc/visudo.man.in:
838         Regen .man.in files with hacked mandoc to avoid issues with historic
839         nroff.
840         [d45cfa7d665f]
841
842 2012-07-19  Todd C. Miller  <Todd.Miller@courtesan.com>
843
844         * doc/sudo.mdoc.in, doc/sudoers.mdoc.in:
845         Fix groff warnings.
846         [111d522ca807]
847
848         * doc/Makefile.in:
849         Fix dependencies for .man.in files.
850         [aefeffe1af2b]
851
852         * .hgignore:
853         Add doc/*.mdoc to ignore file
854         [1e4de6ef2ad8]
855
856         * INSTALL, MANIFEST, NEWS, configure, configure.in, doc/Makefile.in,
857         doc/sudo.cat, doc/sudo.man.in, doc/sudo.mdoc.in,
858         doc/sudo_plugin.cat, doc/sudo_plugin.man.in,
859         doc/sudo_plugin.mdoc.in, doc/sudoers.cat, doc/sudoers.ldap.cat,
860         doc/sudoers.ldap.man.in, doc/sudoers.ldap.mdoc.in,
861         doc/sudoers.man.in, doc/sudoers.mdoc.in, doc/sudoreplay.cat,
862         doc/sudoreplay.man.in, doc/sudoreplay.mdoc.in, doc/visudo.cat,
863         doc/visudo.man.in, doc/visudo.mdoc.in:
864         Build .man.in and .cat files from .mdoc.in files. Add new --with-man
865         and --with-mdoc configure options.
866         [c963fd7e8f80]
867
868 2012-07-18  Todd C. Miller  <Todd.Miller@courtesan.com>
869
870         * doc/sudo.mdoc.in, doc/sudo_plugin.mdoc.in, doc/sudoers.ldap.mdoc.in,
871         doc/sudoers.mdoc.in, doc/sudoreplay.mdoc.in, doc/visudo.mdoc.in:
872         Sudo manuals formatted in mdoc, to replace the pod versions.
873         [e6dca4030451]
874
875         * doc/sudo_plugin.cat, doc/sudo_plugin.man.in, doc/sudo_plugin.pod,
876         doc/sudoers.cat, doc/sudoers.ldap.cat, doc/sudoers.ldap.man.in,
877         doc/sudoers.ldap.pod, doc/sudoers.man.in, doc/sudoers.pod,
878         doc/sudoreplay.cat, doc/sudoreplay.man.in, doc/sudoreplay.pod,
879         doc/visudo.cat, doc/visudo.man.in, doc/visudo.pod:
880         More minor costmetic fixes.
881         [a7287a68385a]
882
883 2012-07-12  Todd C. Miller  <Todd.Miller@courtesan.com>
884
885         * doc/sudo.cat, doc/sudo.man.in, doc/sudo.pod:
886         Minor cosmetic fixes.
887         [9c48bdaf3946]
888
889 2012-07-11  Todd C. Miller  <Todd.Miller@courtesan.com>
890
891         * plugins/sudoers/logging.c, plugins/sudoers/po/sudoers.pot:
892         Use "a password is required" instead of "password required" when the
893         -n flag is used and we need to read a password.
894         [a3c30fc41648]
895
896 2012-07-10  Todd C. Miller  <Todd.Miller@courtesan.com>
897
898         * NEWS:
899         Mention logging changes.
900         [8238fd6e02e8]
901
902         * plugins/sudoers/po/sudoers.pot:
903         regen
904         [e2cf634ba63b]
905
906         * doc/sudoers.cat, doc/sudoers.man.in, doc/sudoers.pod:
907         Document that other mail_* flags have precedence over mail_badpass.
908         [9f4cc9188f40]
909
910         * plugins/sudoers/auth/sudo_auth.c, plugins/sudoers/check.c,
911         plugins/sudoers/logging.c, plugins/sudoers/logging.h,
912         plugins/sudoers/sudoers.c, plugins/sudoers/sudoers.h:
913         Move log_denial() calls and logic to log_failure(). Move
914         authentication failure logging to log_auth_failure(). Both of these
915         call audit_failure() for us.
916
917         This subtly changes logging for commands that are denied by sudoers
918         but where the user failed to enter the correct password.
919         Previously, these would be logged as "N incorrect password attempts"
920         but now are logged as "command not allowed". Fixes bug #563
921         [cad35f0b3ad7]
922
923 2012-07-06  Todd C. Miller  <Todd.Miller@courtesan.com>
924
925         * common/aix.c:
926         Do not set a resource limit to zero when we are unable to fetch a
927         value from /etc/security/limits.
928         [62bfb0a7895e]
929
930 2012-07-05  Todd C. Miller  <Todd.Miller@courtesan.com>
931
932         * sudo.pp:
933         Add "Provides: sudo" to debian sudo-ldap package
934         [beb8afa0beb2]
935
936 2012-07-02  Todd C. Miller  <Todd.Miller@courtesan.com>
937
938         * configure, configure.in, zlib/Makefile.in:
939         Define NO_VIZ for zlib when gcc doesn't support symbol visibility
940         attributes.
941         [9fdcbf526386]
942
943         * configure, configure.in:
944         Use the autoconf cache when checking for symbol export control
945         support.
946         [03c2cce8711f]
947
948         * INSTALL, common/Makefile.in, compat/Makefile.in, configure,
949         configure.in, mkpkg, plugins/sample/Makefile.in,
950         plugins/sample_group/Makefile.in, plugins/sudoers/Makefile.in,
951         plugins/system_group/Makefile.in, src/Makefile.in:
952         Add configure check for building PIE executables instead of doing it
953         in mkpkg.
954         [02b5b78ef258]
955
956         * sudo.pp:
957         MacOS pp backend doesn't like modes longer than 4 characters.
958         [01b49022bf01]
959
960 2012-07-01  Todd C. Miller  <Todd.Miller@courtesan.com>
961
962         * configure, configure.in:
963         Add -Wc,-fstack-protector to LT_LDFLAGS instead of adding
964         -fstack-protector to LDFLAGS so it doesn't get stripped out. Libtool
965         will strip -fstack-protector from the linker flags and we always
966         link with libtool.
967         [0a0a0250ac2b]
968
969 2012-06-29  Todd C. Miller  <Todd.Miller@courtesan.com>
970
971         * doc/sudo.cat, doc/sudo.man.in, doc/sudo_plugin.cat,
972         doc/sudo_plugin.man.in, doc/sudoers.cat, doc/sudoers.ldap.cat,
973         doc/sudoers.ldap.man.in, doc/sudoers.man.in, doc/sudoreplay.cat,
974         doc/sudoreplay.man.in, doc/visudo.cat, doc/visudo.man.in:
975         Regen for sudo 1.8.6
976         [1657ee28b496]
977
978         * NEWS, doc/sudoers.ldap.pod:
979         Document improved Tivoli Directory Server support.
980         [fb411edf4687]
981
982         * config.h.in, configure, configure.in, plugins/sudoers/ldap.c:
983         Add support for ldaps using Tivoli LDAP libraries. Add ldap.conf
984         option to specify Tivoli key db password. Allow TLS ciphers to be
985         configured for Tivoli.
986         [737e17c91e60]
987
988 2012-06-28  Todd C. Miller  <Todd.Miller@courtesan.com>
989
990         * plugins/sudoers/ldap.c:
991         Tivoli Directory Server 6.3 libs always return a (bogus) error when
992         setting LDAP_OPT_CONNECT_TIMEOUT.
993         [504406637c38]
994
995         * NEWS:
996         Update
997         [687a755604e8]
998
999         * plugins/sudoers/ldap.c:
1000         Treat LDAP_OPT_CONNECT_TIMEOUT (Tivoli Directory Server 6.3) the
1001         same as LDAP_OPT_CONNECT_TIMEOUT (OpenSSH). Don't make failure to a
1002         set an ldap option fatal.
1003         [17cf93ae3304]
1004
1005 2012-06-27  Todd C. Miller  <Todd.Miller@courtesan.com>
1006
1007         * plugins/sudoers/sudoers.c:
1008         Zero pointers in sudo_user struct after freeing, just in case.
1009         [8eff1f80b943]
1010
1011         * plugins/sudoers/sudoers.c:
1012         Free user_gids in close function if it has not already been freed.
1013         [cbce28877f37]
1014
1015         * plugins/sudoers/pwutil.c, plugins/sudoers/sudoers.c,
1016         plugins/sudoers/sudoers.h:
1017         Defer group ID to name resolution until we actually need it.
1018         [463e75b81e89]
1019
1020         * src/sudo.c:
1021         It is safe to read in sudo.conf before calling user_info().
1022         [3290b6434e3c]
1023
1024         * plugins/sudoers/env.c, plugins/sudoers/ldap.c:
1025         Use MAX_UID_T_LEN + 1 for uid/gid buffers, not MAX_UID_T_LEN to
1026         prevent potential truncation. Bug #562.
1027         [29d9fc4e0c4e]
1028
1029 2012-06-25  Todd C. Miller  <Todd.Miller@courtesan.com>
1030
1031         * sudo.pp:
1032         If installing with installp, error out if there is already an
1033         instance of the rpm package installed.
1034         [ec24c6faba22]
1035
1036         * mkpkg:
1037         Add --disable-nls for AIX
1038         [192ac2f7d65e]
1039
1040 2012-06-22  Todd C. Miller  <Todd.Miller@courtesan.com>
1041
1042         * sudo.pp:
1043         Debian sudo-ldap packages should now depend on libldap-2.4-2, not
1044         libldap2.
1045         [cbcec71e6b58]
1046
1047 2012-06-21  Todd C. Miller  <Todd.Miller@courtesan.com>
1048
1049         * sudo.pp:
1050         Add Homepage and Bugs to debian control file.
1051         [0f19d7d14e66]
1052
1053 2012-06-20  Todd C. Miller  <Todd.Miller@courtesan.com>
1054
1055         * mkpkg:
1056         fix typo when setting aix_freeware
1057         [2fd6feb50195]
1058
1059         * common/Makefile.in, compat/Makefile.in, configure, configure.in,
1060         doc/Makefile.in, include/Makefile.in, plugins/sample/Makefile.in,
1061         plugins/sample_group/Makefile.in, plugins/sudoers/Makefile.in,
1062         plugins/system_group/Makefile.in, src/Makefile.in, zlib/Makefile.in:
1063         Don't run regress tests or sudoers sanity check (using the newly-
1064         built visudo) when cross compiling. Bug #560
1065         [0c4e3f68b2f5]
1066
1067         * MANIFEST, configure, configure.in, plugins/sample/Makefile.in,
1068         plugins/sample/sample_plugin.exp, plugins/sample/sample_plugin.map,
1069         plugins/sample/sample_plugin.sym, plugins/sample_group/Makefile.in,
1070         plugins/sample_group/sample_group.exp,
1071         plugins/sample_group/sample_group.map,
1072         plugins/sample_group/sample_group.sym, plugins/sudoers/Makefile.in,
1073         plugins/sudoers/sudoers.exp, plugins/sudoers/sudoers.map,
1074         plugins/sudoers/sudoers.sym, plugins/system_group/Makefile.in,
1075         plugins/system_group/system_group.exp,
1076         plugins/system_group/system_group.map,
1077         plugins/system_group/system_group.sym:
1078         Rename foo.sym -> foo.exp Remove foo.map from the repo and generate
1079         it on demand Use a loader option file for HP-UX ld to explicitly
1080         export symbols
1081         [2402ff5302ab]
1082
1083         * src/Makefile.in:
1084         Remove extraneous backslash
1085         [8ca054de138c]
1086
1087         * plugins/sudoers/regress/check_symbols/check_symbols.c:
1088         Don't check for errorx as an exported symbols as it is now a macro.
1089         Check for user_in_group() instead.
1090         [7b02c8ecd3ea]
1091
1092 2012-06-19  Todd C. Miller  <Todd.Miller@courtesan.com>
1093
1094         * configure, configure.in:
1095         Adjust ld map file support to use an anonymous scope to match the
1096         updated .map files.
1097         [49be44282d9e]
1098
1099 2012-06-18  Todd C. Miller  <Todd.Miller@courtesan.com>
1100
1101         * config.h.in, configure, configure.in, include/gettext.h:
1102         Older versions of Solaris lack ngettext()
1103         [028af10dfa5f]
1104
1105         * configure, configure.in:
1106         Move the check for -static-libgcc until after AC_LANG_WERROR has
1107         been called and use AX_CHECK_COMPILE_FLAG().
1108         [a7b09120e7ff]
1109
1110         * include/gettext.h:
1111         Sudo defines HAVE_SETLOCALE not HAVE_LOCALE_H
1112         [3aa2780d4a4e]
1113
1114         * include/error.h, include/sudo_debug.h:
1115         Fix gcc 2.x variant macro support.
1116         [8e71c2370997]
1117
1118         * plugins/sudoers/logging.c, plugins/sudoers/sudoreplay.c:
1119         Fix compilation on gcc 2.95 and other compilers that only allow
1120         variable declarations at the beginning of a block.
1121         [9d80c802bb46]
1122
1123         * configure, configure.in, plugins/sudoers/Makefile.in:
1124         Link check_symbols with SUDO_LIBS to make sure we link with the
1125         requisite libraries to successfully dlopen sudoers.so. This is
1126         needed on HP-UX where a program dlopen()ing a shared object that
1127         uses pthreads must also be linked with pthreads (and HP-UX LDAP uses
1128         pthreads).
1129         [b8961cd82337]
1130
1131         * plugins/sudoers/regress/check_symbols/check_symbols.c:
1132         Add check for exported local symbols. This will cause a "make
1133         check" failure on systems where we don't support symbol hiding.
1134         [8aa549389bb1]
1135
1136         * configure, configure.in:
1137         Additional ${foo} -> $(foo) Makefile tweaks.
1138         [046bbde18f52]
1139
1140         * plugins/sample/sample_plugin.map,
1141         plugins/sample_group/sample_group.map, plugins/sudoers/sudoers.map,
1142         plugins/system_group/system_group.map:
1143         No need to provide a name for the scope in the map file since we
1144         don't use the it for versioning.
1145         [5ed4b997560d]
1146
1147 2012-06-17  Todd C. Miller  <Todd.Miller@courtesan.com>
1148
1149         * MANIFEST, plugins/sudoers/Makefile.in,
1150         plugins/sudoers/regress/check_symbols/check_symbols.c:
1151         Add regress test for symbol visibility.
1152         [9adddd4e0518]
1153
1154 2012-06-15  Todd C. Miller  <Todd.Miller@courtesan.com>
1155
1156         * NEWS, configure, configure.in:
1157         sudo 1.8.6
1158         [57008a7afb77]
1159
1160         * configure, configure.in, include/missing.h:
1161         Add support for controlling symbol visibility using the HP and
1162         Solaris C compilers.
1163         [46d5b468979e]
1164
1165         * plugins/sudoers/iolog.c, plugins/sudoers/iolog_path.c,
1166         plugins/sudoers/regress/iolog_path/check_iolog_path.c,
1167         plugins/sudoers/sudoers.h:
1168         Use the expanded io log dir when updating the sequence number.
1169         Includes a workaround for older versions of sudo where the sequence
1170         number was stored in the unexpanded io log dir.
1171         [210797dab9a8]
1172
1173 2012-06-14  Todd C. Miller  <Todd.Miller@courtesan.com>
1174
1175         * src/parse_args.c:
1176         Simplify "sudo -s" argv rewriting.
1177         [7be143dae7c5]
1178
1179         * MANIFEST, configure, configure.in, plugins/sample/Makefile.in,
1180         plugins/sample_group/Makefile.in, plugins/sudoers/Makefile.in,
1181         plugins/system_group/Makefile.in, src/Makefile.in,
1182         src/sudo_noexec.map:
1183         Don't use a map file for sudo_noexec.so since Solaris ld doesn't
1184         allow '*' in the global section. The libtool export flag is now
1185         added to LT_LDFLAGS instead of commenting/uncommenting lines.
1186         [38fc37a66b04]
1187
1188 2012-06-13  Todd C. Miller  <Todd.Miller@courtesan.com>
1189
1190         * config.h.in, configure, configure.in, include/missing.h:
1191         The visibility attribute was actually added in gcc 3.3.x, not 4.0.
1192         Just assume that if -fvisibility=hidden works that the attribute is
1193         usable.
1194         [d3904d6faf14]
1195
1196         * plugins/sudoers/check.c, plugins/sudoers/iolog.c,
1197         plugins/sudoers/iolog_path.c, plugins/sudoers/ldap.c,
1198         plugins/sudoers/match.c, plugins/sudoers/pwutil.c,
1199         plugins/sudoers/set_perms.c, plugins/sudoers/sudoers.c,
1200         plugins/sudoers/sudoers.h, plugins/sudoers/sudoers.map,
1201         plugins/sudoers/sudoers.sym, plugins/sudoers/testsudoers.c,
1202         plugins/system_group/system_group.c:
1203         Export group cache from sudoers.so for system_group.so to use.
1204         [16695d207fc5]
1205
1206         * MANIFEST, configure, configure.in, include/missing.h,
1207         plugins/sample/Makefile.in, plugins/sample/sample_plugin.map,
1208         plugins/sample_group/Makefile.in,
1209         plugins/sample_group/sample_group.map, plugins/sudoers/Makefile.in,
1210         plugins/sudoers/iolog.c, plugins/sudoers/sudoers.c,
1211         plugins/sudoers/sudoers.map, plugins/system_group/Makefile.in,
1212         plugins/system_group/system_group.map, src/sudo_noexec.c,
1213         src/sudo_noexec.map:
1214         Use gcc's visibility attribute to specify when symbols are visible
1215         or hidden, if available. If not available, use an ELF version
1216         script if it is supported. If all else fails, fall back to using
1217         libtool's -export-symbols.
1218         [64e889921727]
1219
1220 2012-06-12  Todd C. Miller  <Todd.Miller@courtesan.com>
1221
1222         * sudo.pp:
1223         Add mode for installed locale files but leave the directories with
1224         default mode and owner.
1225         [142237dbb31f]
1226
1227 2012-06-11  Todd C. Miller  <Todd.Miller@courtesan.com>
1228
1229         * mkpkg, sudo.pp:
1230         Install AIX packages under /opt/freeware with links in /usr/bin and
1231         /usr/sbin. This matches the layout of the sudo package from AIX
1232         freeware.
1233         [0b79d47bbe01]
1234
1235         * Makefile.in, configure, configure.in, plugins/sample/Makefile.in,
1236         plugins/sample_group/Makefile.in, plugins/sudoers/Makefile.in,
1237         plugins/system_group/Makefile.in, src/Makefile.in, sudo.pp:
1238         Install shared objects with mode 0644 except on HP-UX which needs
1239         the executable bit set.
1240         [ae416af0ba6c]
1241
1242         * Makefile.in, doc/Makefile.in, include/Makefile.in,
1243         plugins/sudoers/Makefile.in, src/Makefile.in:
1244         Make installed file modes consistent with the file modes in the sudo
1245         package.
1246         [307386373289]
1247
1248 2012-06-08  Todd C. Miller  <Todd.Miller@courtesan.com>
1249
1250         * doc/sudoers.pod:
1251         Add "%:" prefix when talking about QAS non-Unix group support.
1252         [7cb25f6861f8]
1253
1254         * pp, sudo.pp:
1255         Fix packaging of symbolic links on HP-UX when the link source
1256         already exists in the filesystem.
1257         [c9bb48031596]
1258
1259         * mkpkg:
1260         Only specify prefix if we are overriding the default value. Fixes
1261         the man dir (/usr/local/man vs. /usr/local/share/man).
1262         [65351b6c1697]
1263
1264         * sudo.pp:
1265         Fix setting of sudoedit_man variable.
1266         [9beed9ae5bba]
1267
1268         * doc/Makefile.in:
1269         Echo the command when linking the sudoedit manual.
1270         [6c83b5657b55]
1271
1272 2012-06-07  Todd C. Miller  <Todd.Miller@courtesan.com>
1273
1274         * mkpkg, sudo.pp:
1275         Build .deb packages with selinux support.
1276         [3fd9cb1b4526]
1277
1278 2012-06-04  Todd C. Miller  <Todd.Miller@courtesan.com>
1279
1280         * sudo.pp:
1281         Don't list paths for unstripped binaries in the lintial overrides.
1282         [4c8e16f1773b]
1283
1284         * pp:
1285         Add support for Installed-Size header in control file, required by
1286         newer debian versions.
1287         [e97d76234bee]
1288
1289         * pp:
1290         Fix extended description in .deb files.
1291         [d35e27ace146]
1292
1293         * sudo.pp:
1294         Add Depends, Replaces and Conflicts headers for .deb packages.
1295         [76eb6c4b3278]
1296
1297 2012-06-01  Todd C. Miller  <Todd.Miller@courtesan.com>
1298
1299         * plugins/sudoers/sudo_nss.c:
1300         If there are no privs to print, write the message to the lbuf
1301         instead of printing it directly.
1302         [ecd56226abb7]
1303
1304 2012-05-31  Todd C. Miller  <Todd.Miller@courtesan.com>
1305
1306         * sudo.pp:
1307         Set -e in %pos and %preun for debian to quiet a lintian warning.
1308         [8bb908514df9]
1309
1310         * doc/Makefile.in, src/Makefile.in, sudo.pp:
1311         Install sudoedit and the sudoedit manual as symbolic links, not hard
1312         links and package them as such.
1313         [f317ff3cf3e7]
1314
1315         * sudo.pp:
1316         Make sudo binary permissions 755 instead of 111 Add lintian
1317         overrides file for .deb files.
1318         [991cd7d7f0e1]
1319
1320         * configure, configure.in, doc/Makefile.in, mkpkg:
1321         Replace out of date MAN_POSTINSTALL with MANCOMPRESS and
1322         MANCOMPRESSEXT which can be used to compress the installed manual
1323         pages. Compress the man pages for .deb files to appease lintian.
1324         [4e34083b41d2]
1325
1326         * sudo.pp:
1327         Debian fixes:
1328          * fix modes to be more in line with what Debian expects
1329          * add section
1330          * install LICENSE as copyright and ChangeLog as changelog
1331          * create stub changelog.debian
1332         [7f6c5647f588]
1333
1334         * pp:
1335         Fix find command to properly skip files in the DEBIAN dir when
1336         building md5sums.
1337         [8918bde941fa]
1338
1339         * pp, sudo.pp:
1340         Use a debian-compliant package maintainer field.
1341         [fc51a94170eb]
1342
1343 2012-05-30  Todd C. Miller  <Todd.Miller@courtesan.com>
1344
1345         * plugins/sudoers/sudoreplay.c:
1346         No need to loop over atomic_writev(), it guarantees to write all
1347         data or return an error.
1348
1349         Fix handling of stdout/stderr that contains "\r\n" and handle a
1350         "\r\n" pair that spans a buffer.
1351         [8aaf02d90c45]
1352
1353 2012-05-29  Todd C. Miller  <Todd.Miller@courtesan.com>
1354
1355         * NEWS:
1356         Update for sudo 1.8.5p2
1357         [d369d4d40a19]
1358
1359         * plugins/sudoers/sudoreplay.c:
1360         Instead of doing extra write()s when replaying stdout, build up a
1361         vector for writev() instead. This results in far fewer system
1362         calls.
1363         [303d866c025c]
1364
1365 2012-05-27  Todd C. Miller  <Todd.Miller@courtesan.com>
1366
1367         * src/env_hooks.c, src/sudo.h, src/tgetpass.c:
1368         Provide unhooked version of getenv() and use it when looking up
1369         DISPLAY and SUDO_ASKPASS in the environment.
1370         [04dbdccf4a14]
1371
1372 2012-05-25  Todd C. Miller  <Todd.Miller@courtesan.com>
1373
1374         * plugins/sudoers/sudoreplay.c:
1375         When replaying a log of stdout or stderr, do newline to carriage
1376         return + linefeed conversion. We cannot have termios do this for us
1377         since we've disabled output postprocessing (POST) when setting raw
1378         mode.
1379         [61352a7d996f]
1380
1381 2012-05-24  Todd C. Miller  <Todd.Miller@courtesan.com>
1382
1383         * configure, configure.in:
1384         When checking for -fstack-protector, treat warnings as fatal errors.
1385         [4124cd12d511]
1386
1387 2012-05-22  Todd C. Miller  <Todd.Miller@courtesan.com>
1388
1389         * configure, configure.in:
1390         Fix test for -z relro
1391         [548bdb6f5c4a]
1392
1393         * MANIFEST:
1394         Add m4/ax_check_compile_flag.m4 and m4/ax_check_link_flag.m4
1395         [ed063264a2a1]
1396
1397         * INSTALL, aclocal.m4, configure, configure.in,
1398         m4/ax_check_compile_flag.m4, m4/ax_check_link_flag.m4:
1399         Build with -fstack-protector and link with -zrelo where supported.
1400         Added --disable-hardening option to disable hardening options.
1401         [0b6c1a1ceb03]
1402
1403 2012-05-21  Todd C. Miller  <Todd.Miller@courtesan.com>
1404
1405         * plugins/sudoers/Makefile.in,
1406         plugins/sudoers/regress/testsudoers/test1.sh,
1407         plugins/sudoers/regress/testsudoers/test2.sh,
1408         plugins/sudoers/regress/testsudoers/test3.sh,
1409         plugins/sudoers/regress/testsudoers/test4.out.ok,
1410         plugins/sudoers/regress/testsudoers/test4.sh,
1411         plugins/sudoers/regress/testsudoers/test5.inc,
1412         plugins/sudoers/regress/testsudoers/test5.out.ok,
1413         plugins/sudoers/regress/testsudoers/test5.sh,
1414         plugins/sudoers/testsudoers.c:
1415         Add tests for sudoers mode, owner and group checks.
1416         [a7607443aba0]
1417
1418         * plugins/sudoers/set_perms.c, plugins/sudoers/sudoers.c:
1419         If sudoers_mode is group-readable but the actual sudoers file is
1420         not, open the file as uid 0, not uid 1. This fixes a problem when
1421         sudoers has a more restrictive mode than what sudo expects to find.
1422         In older versions, sudo would silently chmod the file to add the
1423         group-readable bit.
1424         [c056b6003e6f]
1425
1426         * INSTALL, common/secure_path.c, config.h.in, configure, configure.in:
1427         No longer throw an error if sudoers is a symbolic link. Deprecated
1428         the --with-stow option as that is now (effectively) the default.
1429         [8ce783e54886]
1430
1431 2012-05-18  Todd C. Miller  <Todd.Miller@courtesan.com>
1432
1433         * plugins/sudoers/Makefile.in,
1434         plugins/sudoers/regress/testsudoers/test2.inc,
1435         plugins/sudoers/regress/testsudoers/test2.out.ok,
1436         plugins/sudoers/regress/testsudoers/test2.sh,
1437         plugins/sudoers/regress/testsudoers/test3.d/root,
1438         plugins/sudoers/regress/testsudoers/test3.out.ok,
1439         plugins/sudoers/regress/testsudoers/test3.sh:
1440         Add basic tests for #include and #includedir
1441         [b303e4218951]
1442
1443         * plugins/sudoers/testsudoers.c:
1444         Add -U sudoers_uid option to testsudoers.
1445         [3f8ed13501ba]
1446
1447 2012-05-17  Todd C. Miller  <Todd.Miller@courtesan.com>
1448
1449         * NEWS, configure, configure.in:
1450         Update for 1.8.5p1
1451         [c33c49bf5b4b]
1452
1453         * plugins/sudoers/toke.c, plugins/sudoers/toke.l:
1454         Fix #includedir; from Mike Frysinger
1455         [d4833d4e39a0]
1456
1457         * plugins/sudoers/check.c:
1458         Don't prompt for a password if the user is in the exempt group, is
1459         root, or is running the command as themselves even if the -k option
1460         was specified. This makes "sudo -k command" consistent with the
1461         behavior one would get if the user ran "sudo -k" immediately before
1462         running the command.
1463         [632b3961df00]
1464
1465 2012-05-15  Todd C. Miller  <Todd.Miller@courtesan.com>
1466
1467         * INSTALL:
1468         Fix capitalization
1469         [7258aa977caf]
1470
1471         * mkpkg:
1472         Build PIE executable on Mac OS X 10.5 and above.
1473         [2a5c7ef92182]
1474
1475 2012-05-14  Todd C. Miller  <Todd.Miller@courtesan.com>
1476
1477         * NEWS:
1478         Update for sudo 1.8.4p5
1479         [21164f508b68]
1480
1481         * plugins/sudoers/match_addr.c:
1482         Add missing break between AF_INET and AF_INET6 in
1483         addr_matches_if_netmask()
1484         [672a4793931a]
1485
1486         * plugins/sudoers/mon_systrace.c:
1487         Move systrace monitor code to the attic
1488         [d6faf4754e9c]
1489
1490 2012-05-11  Todd C. Miller  <Todd.Miller@courtesan.com>
1491
1492         * src/exec.c:
1493         The pointer to the siginfo_t struct in a signal handler may be NULL.
1494         [41a4ee934b53]
1495
1496 2012-05-10  Todd C. Miller  <Todd.Miller@courtesan.com>
1497
1498         * plugins/sudoers/pwutil.c:
1499         Fix an alignment problem on NetBSD systems with a 64-bit time_t and
1500         strict alignment. Based on a patch from Martin Husemann.
1501         [1e5ba3c18f17]
1502
1503         * include/missing.h:
1504         Add offsetof macro for those without it.
1505         [e44cb51d2587]
1506
1507         * MANIFEST:
1508         add system_group plugin
1509         [6169793b510c]
1510
1511 2012-05-09  Todd C. Miller  <Todd.Miller@courtesan.com>
1512
1513         * compat/dlopen.c:
1514         Implement RTLD_NEXT and fix RTLD_DEFAULT for HP-UX.
1515         [85bd03bc5d94]
1516
1517 2012-05-08  Todd C. Miller  <Todd.Miller@courtesan.com>
1518
1519         * NEWS:
1520         Mention system_group plugin
1521         [05393dd4bdb8]
1522
1523         * Makefile.in, plugins/sudoers/Makefile.in,
1524         plugins/system_group/Makefile.in:
1525         update depends
1526         [6feb0b824fc4]
1527
1528         * plugins/system_group/system_group.c:
1529         Only call gr_delref() when use sudo's password caching functions.
1530         [1103442e21fa]
1531
1532         * plugins/sample_group/Makefile.in, plugins/system_group/Makefile.in:
1533         Add missing dependency on libreplace.la
1534         [05bfd9d4657f]
1535
1536         * compat/dlopen.c:
1537         Emulate RTLD_DEFAULT and RTLD_SELF w/ shl_findsym() using NULL and
1538         PROG_HANDLE.
1539         [2382d0693acc]
1540
1541         * Makefile.in, configure, configure.in,
1542         plugins/system_group/Makefile.in,
1543         plugins/system_group/system_group.c,
1544         plugins/system_group/system_group.sym:
1545         Add group plugin that does lookups by name using the system group
1546         database.
1547         [2ddbb604112f]
1548
1549         * plugins/sudoers/po/pl.mo, plugins/sudoers/po/pl.po, src/po/pl.mo,
1550         src/po/pl.po:
1551         sync with translationproject.org
1552         [4ef05df4226d]
1553
1554 2012-05-03  Todd C. Miller  <Todd.Miller@courtesan.com>
1555
1556         * plugins/sudoers/po/eo.mo, plugins/sudoers/po/eo.po,
1557         plugins/sudoers/po/fi.mo, plugins/sudoers/po/fi.po,
1558         plugins/sudoers/po/ja.mo, plugins/sudoers/po/ja.po,
1559         plugins/sudoers/po/uk.mo, plugins/sudoers/po/uk.po,
1560         plugins/sudoers/po/zh_CN.mo, plugins/sudoers/po/zh_CN.po,
1561         src/po/de.mo, src/po/de.po, src/po/eo.mo, src/po/eo.po,
1562         src/po/fi.mo, src/po/fi.po, src/po/ja.mo, src/po/ja.po,
1563         src/po/ru.mo, src/po/ru.po, src/po/sr.mo, src/po/sr.po,
1564         src/po/uk.mo, src/po/uk.po, src/po/vi.mo, src/po/vi.po,
1565         src/po/zh_CN.mo, src/po/zh_CN.po:
1566         sync with translationproject.org
1567         [115c3f828fc5]
1568
1569 2012-05-01  Todd C. Miller  <Todd.Miller@courtesan.com>
1570
1571         * sudo.pp:
1572         Add mode for docdir and use '-' (default) for localedir mode. Fixes
1573         a problem on Linux when building in a directory with the setgid bit
1574         set.
1575         [582279c8bcb1]
1576
1577 2012-04-30  Todd C. Miller  <Todd.Miller@courtesan.com>
1578
1579         * pp:
1580         Match CentOS 6.0
1581         [1e99ef210f98]
1582
1583 2012-04-24  Todd C. Miller  <Todd.Miller@courtesan.com>
1584
1585         * NEWS:
1586         Update with recent changes
1587         [c5fc220ba696]
1588
1589         * pp:
1590         Fix version check on AIX
1591         [d272e39112f4]
1592
1593         * plugins/sudoers/po/sudoers.pot, src/po/sudo.pot:
1594         regen
1595         [72b23509465a]
1596
1597         * plugins/sudoers/ldap.c:
1598         Need to call ldapssl_clientauth_init() for start_tls on Mozilla LDAP
1599         SDK.
1600         [87b685e70b9a]
1601
1602         * plugins/sudoers/ldap.c:
1603         Fix printing of invalid uri
1604         [645aa53acdde]
1605
1606         * plugins/sudoers/auth/pam.c:
1607         Pass PAM_SILENT when deleting creds to remove an annoying warning
1608         message on Solaris.
1609         [1dd0301ef293]
1610
1611 2012-04-23  Todd C. Miller  <Todd.Miller@courtesan.com>
1612
1613         * src/utmp.c:
1614         Fix the setutxent and endutxent compatibility defines (this time
1615         correctly) when only setutent and endutent are available.
1616         [d136d2867db9]
1617
1618         * plugins/sudoers/ldap.c:
1619         sudo_ldap_set_options_global() should not take an LDAP handle as an
1620         argument since the options affect the global settings.
1621         [1dc39b9d20f2]
1622
1623         * mkpkg:
1624         Debian sudo has not been built with --with-exempt=sudo since 1.6.8.
1625         [c7716291a856]
1626
1627         * doc/sudo_plugin.cat, doc/sudo_plugin.man.in, doc/sudo_plugin.pod,
1628         plugins/sudoers/auth/pam.c, src/exec.c, src/exec_pty.c, src/sudo.c,
1629         src/sudo.h:
1630         Call the policy's init_session() function before we fork the child.
1631         That way, the session is created and destroyed in the same process,
1632         which is needed by some modules, such as pam_mount.
1633         [ece552ba002e]
1634
1635         * doc/TROUBLESHOOTING:
1636         Add entry for SSL LDAP errors on Mozilla SDKs when the cert dir is
1637         not specified.
1638         [bd293e100b28]
1639
1640         * plugins/sudoers/auth/pam.c:
1641         Delete creds after closing the PAM session.
1642         [5158d726d6a5]
1643
1644         * plugins/sudoers/ldap.c:
1645         Provide a more useful error message if using a Mozilla-style LDAP
1646         SDK and you forgot to specify TLS_CERT in ldap.conf.
1647         [7cb78feb899c]
1648
1649         * src/exec_pty.c:
1650         Add missing initialization of a sigaction structure when I/O
1651         logging. Fixes a potential problem when suspending the command.
1652         [f4480f2ba816]
1653
1654         * plugins/sudoers/ldap.c:
1655         Split global and per-connection LDAP options into separate arrays.
1656         Set global LDAP options before calling ldap_initialize() or
1657         ldap_init(). After we have an LDAP handle, set the per-connection
1658         options. Fixes a problem with OpenLDAP using the nss crypto backend;
1659         bug #342
1660         [265c9d2dc12b]
1661
1662         * plugins/sudoers/po/da.mo, plugins/sudoers/po/da.po,
1663         plugins/sudoers/po/fi.mo, plugins/sudoers/po/fi.po,
1664         plugins/sudoers/po/pl.mo, plugins/sudoers/po/pl.po,
1665         plugins/sudoers/po/uk.mo, plugins/sudoers/po/uk.po,
1666         plugins/sudoers/po/zh_CN.mo, plugins/sudoers/po/zh_CN.po,
1667         src/po/de.mo, src/po/de.po, src/po/hr.mo, src/po/hr.po,
1668         src/po/vi.mo, src/po/vi.po, src/po/zh_CN.mo, src/po/zh_CN.po:
1669         sync with translationproject.org
1670         [6d7fe44be21e]
1671
1672 2012-04-21  Todd C. Miller  <Todd.Miller@courtesan.com>
1673
1674         * src/sudo.c, src/sudo.h:
1675         Move struct passwd pointer into struct command details.
1676         [d6fb1eff2065]
1677
1678 2012-04-20  Todd C. Miller  <Todd.Miller@courtesan.com>
1679
1680         * pp:
1681         Sync with upstream for Mac OS X (and other) fixes.
1682         [c2f4998d01b0]
1683
1684         * mkpkg:
1685         Only built Mac intel universal binary on an intel machine.
1686         [0009e0b7e5a8]
1687
1688         * src/Makefile.in:
1689         Do not pass libtool the -static-libtool-libs option when building
1690         sudo and sesh. Otherwise, libtool may prefer a static version of an
1691         installed library over a dynamic one when linking.
1692         [6fbac9adc885]
1693
1694 2012-04-19  Todd C. Miller  <Todd.Miller@courtesan.com>
1695
1696         * MANIFEST, NEWS, doc/CONTRIBUTORS, plugins/sudoers/po/hr.mo,
1697         plugins/sudoers/po/hr.po, src/po/de.mo, src/po/de.po:
1698         Add German translation for sudo Add Croatian translation for sudoers
1699         [fa4da1a6530c]
1700
1701         * plugins/sudoers/iolog.c:
1702         typo fix in comment
1703         [abd721d1288e]
1704
1705 2012-04-16  Todd C. Miller  <Todd.Miller@courtesan.com>
1706
1707         * NEWS:
1708         Update with recent changes
1709         [6fa11e8448b9]
1710
1711         * Makefile.in, plugins/sudoers/po/sudoers.pot, src/po/sudo.pot:
1712         Sort xgettext output by file name.
1713         [f650841810f0]
1714
1715         * doc/sudoreplay.cat, doc/sudoreplay.man.in, doc/sudoreplay.pod:
1716         Clarify what "sudoreplay -l" displays and mention that it is sorted.
1717         [84031c117bd6]
1718
1719         * config.h.in, configure, configure.in, src/ttyname.c:
1720         Use AC_HEADER_MAJOR to determine where major/minor are defined.
1721         [3c949650a223]
1722
1723         * config.h.in, configure, configure.in, src/ttyname.c:
1724         Include sys/mkdev.h if present instead of sys/sysmacros.h for
1725         minor(). This is needed on Solaris (at least) where the makedev
1726         macros in sysmacros.h are obsolete and library functions should be
1727         used instead.
1728         [343928acf81e]
1729
1730         * mkpkg:
1731         When building on Mac OS X, only set SDK_FLAGS if specified osversion
1732         doesn't match host.
1733         [d84c6efac872]
1734
1735 2012-04-15  Todd C. Miller  <Todd.Miller@courtesan.com>
1736
1737         * src/ttyname.c:
1738         Add back buf and tty variables for _ttyname() case that were
1739         inadvertantly removed.
1740         [a4a820b22a44]
1741
1742 2012-04-13  Todd C. Miller  <Todd.Miller@courtesan.com>
1743
1744         * plugins/sudoers/po/sudoers.pot:
1745         regen
1746         [5446b12c1250]
1747
1748         * configure, configure.in:
1749         Remove b8 from version number.
1750         [5adc4dcec061]
1751
1752         * src/ttyname.c:
1753         remove some XXX
1754         [187579a5f593]
1755
1756         * src/ttyname.c:
1757         When looking for a device match, do a breadth-first search instead
1758         of depth-first. We already special case /dev/pts/ so chances are
1759         good that if it is not a pseudo-tty it is in the base of /dev/. Also
1760         avoid a stat(2) when possible if struct dirent has d_type.
1761         [0183f8a1b278]
1762
1763         * doc/sudo_plugin.cat, doc/sudo_plugin.man.in, doc/sudo_plugin.pod,
1764         src/sudo.c, src/sudo.h:
1765         Pass pid, ppid, sid, pgid and tcpgid to plugin in user_info list.
1766         [f0574d878491]
1767
1768         * src/po/eo.mo, src/po/es.mo, src/po/es.po, src/po/fi.mo,
1769         src/po/ja.mo, src/po/pl.mo, src/po/ru.mo, src/po/uk.mo,
1770         src/po/vi.mo:
1771         sync with translationproject.org
1772         [4527ea78fbd5]
1773
1774         * MANIFEST, NEWS, doc/CONTRIBUTORS, src/po/gl.mo, src/po/gl.po,
1775         src/po/hr.mo, src/po/hr.po:
1776         New Croatian and Galician translations from translationproject.org
1777         [ad4bd924b4de]
1778
1779         * src/ttyname.c:
1780         Add depth-first traversal of /dev/ for the /proc case when not
1781         /dev/pts/N
1782         [499bd3456774]
1783
1784         * config.h.in, configure, configure.in, plugins/sudoers/sudoreplay.c:
1785         If struct dirent has d_type, use it to avoid an extra stat().
1786         [741dabbe4bcd]
1787
1788         * plugins/sudoers/sudoreplay.c:
1789         Sort output of "sudoreplay -l"
1790         [c0615795bd4b]
1791
1792 2012-04-12  Todd C. Miller  <Todd.Miller@courtesan.com>
1793
1794         * plugins/sudoers/sudoreplay.c:
1795         Fix duplicate free introduced in last rev
1796         [efdaabe69d75]
1797
1798 2012-04-11  Todd C. Miller  <Todd.Miller@courtesan.com>
1799
1800         * plugins/sudoers/auth/pam.c:
1801         Instead of treating ^C from tgetpass() specially, always return
1802         AUTH_INTR if tgetpass() returned NULL. Treat PAM_AUTHINFO_UNAVAIL
1803         like PAM_AUTH_ERR which Mac OS X returns this when there is no tty.
1804         [a3b17298d4d0]
1805
1806         * config.h.in, configure, configure.in, src/ttyname.c:
1807         Rototill code to determine the tty. For Linux, we now look up the
1808         tty device in /proc/pid/stat instead of trying to open
1809         /proc/pid/fd/[0-2]. The sudo_ttyname_dev() function maps the given
1810         device number to a string. On BSD, we can use devname(). On
1811         Solaris, _ttyname_dev() does what we want. TODO: write /dev/
1812         traversal code for the generic sudo_ttyname_dev().
1813         [6b22be4d09f0]
1814
1815 2012-04-10  Todd C. Miller  <Todd.Miller@courtesan.com>
1816
1817         * src/ttyname.c:
1818         Define PRNODEV for those w/o it.
1819         [f17290e64559]
1820
1821         * config.h.in, configure, configure.in, src/ttyname.c:
1822         Check for SVR4-style struct psinfo.pr_ttydev and use that to
1823         determine the tty if std{in,out,err} are not ttys.
1824         [76ad33a91f4b]
1825
1826         * src/ttyname.c:
1827         Better support for SVR4-style /proc entries where we can't use
1828         ttyname() on the /proc/pid/fd/[0-2] entries. We can, however,
1829         attempt to map the device number back to the correct pseudo-tty
1830         slave device.
1831         [4f9f48cc79eb]
1832
1833         * src/ttyname.c:
1834         When trying to determine the tty name, check parent's stderr in
1835         addition to its stdin and stdout.
1836         [604644056c7d]
1837
1838         * src/exec_pty.c:
1839         Treat a tty read failure like EOF as it usually means the pty has
1840         gone away. Handle write() on the tty returning EIO.
1841         [16957f4a706f]
1842
1843         * src/exec.c, src/exec_pty.c:
1844         Linux select() may return ENOMEM if there is a kernel resource
1845         shortage. Older Solaris select() may return EIO instead of EBADF
1846         when the tty goes away. If we get an unhandled select() failure,
1847         kill the child and exit cleanly.
1848         [d93940a311ab]
1849
1850         * src/ttyname.c:
1851         Open /proc/pid/fd/[0-2] in non-blocking mode just in case we might
1852         block in open.
1853         [a9f809d09d52]
1854
1855 2012-04-09  Todd C. Miller  <Todd.Miller@courtesan.com>
1856
1857         * plugins/sudoers/set_perms.c:
1858         Fix restoration of AIX permissions.
1859         [30c717115988]
1860
1861         * src/parse_args.c:
1862         Allow the -k flag to be used along with the -i and -s flags.
1863         [0653b17c97f1]
1864
1865         * plugins/sudoers/sudoreplay.c:
1866         Plug memory leak in parse_logfile() in the error path.
1867         [9cce86fa833b]
1868
1869         * plugins/sudoers/po/zh_CN.mo, plugins/sudoers/po/zh_CN.po,
1870         src/po/da.mo, src/po/da.po, src/po/eo.po, src/po/es.po,
1871         src/po/fi.po, src/po/it.mo, src/po/it.po, src/po/ja.po,
1872         src/po/pl.po, src/po/ru.po, src/po/uk.po, src/po/vi.po,
1873         src/po/zh_CN.mo, src/po/zh_CN.po:
1874         sync with translationproject.org
1875         [14af43d0b170]
1876
1877 2012-04-08  Todd C. Miller  <Todd.Miller@courtesan.com>
1878
1879         * compat/regress/glob/globtest.c, config.h.in, configure,
1880         configure.in, plugins/sudoers/match.c:
1881         Do not use GLOB_BRACE or GLOB_TILDE flags to glob()--we want the
1882         glob() and fnmatch() results to be consistent.
1883         [4226750d73c2]
1884
1885 2012-04-06  Todd C. Miller  <Todd.Miller@courtesan.com>
1886
1887         * MANIFEST, common/Makefile.in, common/ttysize.c, src/Makefile.in,
1888         src/ttysize.c:
1889         Move ttysize.c to common so sudoreplay can use it.
1890         [b4a0aa514cd4]
1891
1892         * plugins/sudoers/sudoreplay.c:
1893         If I/O log file includes rows + cols, warn if the user's tty is not
1894         big enough.
1895         [b980ef89efff]
1896
1897         * plugins/sudoers/sudoreplay.c:
1898         Fix printing of TSID in "sudoreplay -l"
1899         [4221e3e108b4]
1900
1901         * common/sudo_debug.c, include/sudo_debug.h,
1902         plugins/sudoers/logging.c, plugins/sudoers/visudo.c, src/exec.c,
1903         src/exec_pty.c:
1904         Log the process id in the debug file output. Since we don't want to
1905         keep calling getpid(), stash the value at init time and when we
1906         fork().
1907         [2782d30c024d]
1908
1909         * src/exec_pty.c:
1910         Ignore SIGTTIN and SIGTTOU in main sudo process when I/O logging. It
1911         is better to receive EIO from read()/write() than to be suspended
1912         when we don't expect it. Fixes a problem when our terminal is
1913         revoked which can happen when, e.g. our sshd is killed
1914         unceremoniously. Also, only change the value of "alive" from true to
1915         false, never from false to true. It is possible for us to receive
1916         notification of the child having stopped after it is already dead.
1917         This does not mean it has risen from the grave.
1918         [26c9fe8ce0f9]
1919
1920         * src/exec_pty.c:
1921         Distinguish between signals we received from the parent vs. those
1922         delivered explicitly to the monitor process in debugging info.
1923         [40716cb180e5]
1924
1925 2012-04-05  Todd C. Miller  <Todd.Miller@courtesan.com>
1926
1927         * plugins/sudoers/check.c:
1928         In Solaris 11, /dev/pts under the "dev" filesystem, not "devices".
1929         Update tty_is_devpts() to match so we can determine when the tty has
1930         been reused.
1931         [2689665df027]
1932
1933         * common/sudo_debug.c, include/error.h, include/sudo_debug.h:
1934         Always pass __func__, __FILE__ and __LINE__ in sudo_debug_printf()
1935         and use a new flag, SUDO_DEBUG_FILENO to specify when to use it.
1936         This allows consumers of sudo_debug_printf() to log that data
1937         without having to specify it manually.
1938         [7c94c4879208]
1939
1940         * src/exec_pty.c:
1941         Make this compile after last change.
1942         [ee09034f3266]
1943
1944         * src/exec_pty.c:
1945         Don't try to restore the terminal if we are not the foreground
1946         process. Otherwise, we may be stopped by SIGTTOU when we try to
1947         update the terminal settings when cleaning up.
1948         [c48b24335456]
1949
1950         * src/exec.c:
1951         If select() return EBADF in the main event loop, one of the ttys
1952         must have gone away so perform any I/O we can and close the bad fds.
1953         [3bc8678c03ce]
1954
1955         * common/sudo_debug.c, include/error.h, include/sudo_debug.h,
1956         plugins/sudoers/toke.c, plugins/sudoers/toke.h,
1957         plugins/sudoers/toke.l:
1958         Log warning() at SUDO_DEBUG_WARN not SUDO_DEBUG_ERROR. Log the
1959         function, file and line number in the debug log for warning() and
1960         error().
1961         [894cd131f11d]
1962
1963 2012-04-04  Todd C. Miller  <Todd.Miller@courtesan.com>
1964
1965         * common/sudo_debug.c, include/error.h, include/sudo_debug.h,
1966         src/conversation.c:
1967         Add SUDO_DEBUG_ERRNO flag to debug functions so we can log errno.
1968         Use this flag when wrapping error() and warning() so the debug
1969         output includes the error string.
1970         [1e2c67adaf1f]
1971
1972 2012-03-30  Todd C. Miller  <Todd.Miller@courtesan.com>
1973
1974         * NEWS:
1975         Update for sudo 1.8.5
1976         [7d2b62b823fe]
1977
1978         * plugins/sudoers/po/sudoers.pot:
1979         regen
1980         [718ad9de92cd]
1981
1982         * doc/CONTRIBUTORS:
1983         sync
1984         [f48013aea641]
1985
1986         * plugins/sudoers/pwutil.c:
1987         Use ecalloc()
1988         [fabd23c1f271]
1989
1990         * src/exec_pty.c:
1991         Don't need zero_bytes() after ecalloc()
1992         [1a9d95cd10ef]
1993
1994         * config.h.in, configure, configure.in, src/sudo_noexec.c:
1995         Add execvpe(), exect(), posix_spawn() and posix_spawnp() wrappers to
1996         sudo_noexec.c.
1997         [cbaa1d4b0f8a]
1998
1999         * src/utmp.c:
2000         Fix compat setutxent and endutxent macros for systems with
2001         setutent() but not setutxent(). From Gustavo Zacarias
2002         [d7ce622fc5f2]
2003
2004 2012-03-29  Todd C. Miller  <Todd.Miller@courtesan.com>
2005
2006         * configure.in:
2007         Add ignore_result definition to AH_BOTTOM
2008         [8d4096838a98]
2009
2010         * common/sudo_debug.c, config.h.in, plugins/sample/sample_plugin.c,
2011         plugins/sudoers/iolog.c, plugins/sudoers/toke.c,
2012         plugins/sudoers/toke.l, plugins/sudoers/visudo.c, src/env_hooks.c,
2013         src/exec.c, src/exec_pty.c, src/tgetpass.c:
2014         Fix compiler warnings on some platforms and provide a better method
2015         of defeating gcc's warn_unused_result attribute.
2016         [9a8f804fcc75]
2017
2018         * configure, configure.in:
2019         Fix building the builtin zlib from a build dir. When a zlib dir was
2020         specified, prepend its include path instead of appending so we get
2021         the right zlib headers.
2022         [5f61d591b186]
2023
2024         * doc/LICENSE, zlib/adler32.c, zlib/crc32.c, zlib/crc32.h,
2025         zlib/deflate.c, zlib/deflate.h, zlib/gzguts.h, zlib/gzlib.c,
2026         zlib/gzread.c, zlib/gzwrite.c, zlib/infback.c, zlib/inffixed.h,
2027         zlib/inflate.c, zlib/inftrees.c, zlib/trees.c, zlib/zconf.h.in,
2028         zlib/zlib.h, zlib/zutil.c, zlib/zutil.h:
2029         Update zlib to version 1.2.6
2030         [173c4bc4d4fc]
2031
2032 2012-03-28  Todd C. Miller  <Todd.Miller@courtesan.com>
2033
2034         * include/missing.h:
2035         g/c __unused which is no longer used
2036         [7ef3f23edcd6]
2037
2038         * src/env_hooks.c:
2039         Fix compilation if RTLD_NEXT is not defined.
2040         [d5605f468b71]
2041
2042         * src/po/sr.mo, src/po/sr.po:
2043         sync with translationproject.org
2044         [27d559f7985d]
2045
2046         * doc/sudo_plugin.cat, doc/sudo_plugin.man.in, doc/sudoers.cat,
2047         doc/sudoers.man.in:
2048         regen
2049         [f9f63ce478b6]
2050
2051         * plugins/sudoers/po/sudoers.pot, src/po/sudo.pot:
2052         regen
2053         [59035d82d15a]
2054
2055         * Makefile.in:
2056         Ignore Project-Id-Version when comparing pot files.
2057         [22feb9ede46b]
2058
2059         * plugins/sudoers/bsm_audit.c:
2060         Use error() instead of log_fatal()
2061         [54130bda4b50]
2062
2063         * plugins/sudoers/env.c:
2064         Fix signedness of didvar in env_update_didvar()
2065         [77048a80b3e4]
2066
2067         * plugins/sudoers/iolog.c:
2068         Quiet a compiler warning on some platforms.
2069         [8fdcaece0400]
2070
2071         * compat/fnmatch.c:
2072         cast ctype(3) function/macro arguments from char to unsigned char to
2073         avoid potential negative subscripting.
2074         [bdcf7eef21ef]
2075
2076         * common/setgroups.c:
2077         Quiet a warning on systems where the gids array in setgroups() is
2078         not prototyped as being const, even though it really is.
2079         [fdd758c6302d]
2080
2081         * src/env_hooks.c:
2082         Quiet a compiler warning on systems where the argument to putenv(3)
2083         is const.
2084         [51bae2193b53]
2085
2086         * plugins/sudoers/sudoreplay.c:
2087         Undo an incorrect int -> bool conversion.
2088         [b9a4ce320f14]
2089
2090         * MANIFEST, NEWS, plugins/sudoers/po/sv.mo, plugins/sudoers/po/sv.po,
2091         src/po/sv.mo, src/po/sv.po:
2092         Add Swedish sudo and sudoers translations from
2093         translationproject.org
2094         [f7ce1de9073f]
2095
2096         * plugins/sudoers/env.c:
2097         No need to preserve ODMDIR on AIX now that we always read
2098         /etc/environment.
2099         [4aa04b2f0125]
2100
2101 2012-03-27  Todd C. Miller  <Todd.Miller@courtesan.com>
2102
2103         * doc/sudoers.pod, plugins/sudoers/env.c:
2104         When initializing the environment for env_reset, start out with the
2105         contents of /etc/environment on AIX and login.conf on BSD.
2106         [5717bdc321e2]
2107
2108         * doc/TROUBLESHOOTING, src/sudo.c:
2109         If we are not running with an effective uid of 0, try to give the
2110         user enough information to debug the problem.
2111         [fa4894896d8a]
2112
2113         * plugins/sudoers/getdate.c, plugins/sudoers/gram.c:
2114         Quiet a clang-analyzer false positive.
2115         [c4c0c1b9c8b0]
2116
2117         * src/tgetpass.c:
2118         If there is nothing to read from the askpass program, set errno to
2119         EINTR. This makes the cancel button behave like the user entered ^C
2120         at the password prompt when PAM is used.
2121         [594302cb9caf]
2122
2123         * src/sudo.h, src/tgetpass.c:
2124         Fetch the value of "askpass" from the sudo conf struct.
2125         [4593ee8f1bd3]
2126
2127         * common/sudo_conf.c:
2128         Fix matching of "Path askpass" and "Path noexec"
2129         [4df28d62afb9]
2130
2131 2012-03-26  Todd C. Miller  <Todd.Miller@courtesan.com>
2132
2133         * plugins/sudoers/visudo.c:
2134         Quiet a clang-analyzer dead store warning.
2135         [dd90bf385a3f]
2136
2137         * plugins/sudoers/sudoers.c:
2138         If the "timestampowner" user cannot be resolved, use ROOT_UID
2139         instead of exiting with a fatal error.
2140         [8d62aae99715]
2141
2142         * plugins/sudoers/auth/bsdauth.c, plugins/sudoers/auth/kerb5.c,
2143         plugins/sudoers/auth/pam.c, plugins/sudoers/auth/sia.c,
2144         plugins/sudoers/auth/sudo_auth.c, plugins/sudoers/bsm_audit.c,
2145         plugins/sudoers/check.c, plugins/sudoers/env.c,
2146         plugins/sudoers/iolog.c, plugins/sudoers/logging.c,
2147         plugins/sudoers/logging.h, plugins/sudoers/parse.c,
2148         plugins/sudoers/set_perms.c, plugins/sudoers/sudoers.c:
2149         Remove the NO_EXIT flag to log_error() and add a log_fatal()
2150         function that exits and is marked no_return. Fixes false positives
2151         from static analyzers and is easier for humans to read too.
2152         [a0fe785c2a3d]
2153
2154 2012-03-24  Todd C. Miller  <Todd.Miller@courtesan.com>
2155
2156         * plugins/sudoers/po/eo.mo, plugins/sudoers/po/eo.po, src/po/eo.mo,
2157         src/po/eo.po:
2158         sync with translationproject.org
2159         [df5e8777de13]
2160
2161 2012-03-20  Todd C. Miller  <Todd.Miller@courtesan.com>
2162
2163         * src/po/da.mo, src/po/da.po:
2164         sync with translationproject.org
2165         [629d99548b78]
2166
2167         * plugins/sudoers/po/da.mo, plugins/sudoers/po/da.po:
2168         sync with translationproject.org
2169         [9d122a2860d6]
2170
2171 2012-03-19  Todd C. Miller  <Todd.Miller@courtesan.com>
2172
2173         * src/po/it.mo, src/po/it.po:
2174         sync with translationproject.org
2175         [6397593b15cf]
2176
2177         * common/sudo_conf.c, plugins/sudoers/alias.c,
2178         plugins/sudoers/defaults.c, plugins/sudoers/env.c,
2179         plugins/sudoers/gram.c, plugins/sudoers/gram.y,
2180         plugins/sudoers/interfaces.c, plugins/sudoers/ldap.c,
2181         plugins/sudoers/sudoers.c, plugins/sudoers/sudoreplay.c,
2182         plugins/sudoers/visudo.c, src/exec.c, src/exec_pty.c, src/hooks.c,
2183         src/load_plugins.c:
2184         Use ecalloc() when allocating structs.
2185         [8b5888868db2]
2186
2187         * common/alloc.c, include/alloc.h:
2188         Add ecalloc() and commented out recalloc(). Use inline strnlen()
2189         instead of strlen() in estrndup().
2190         [7fb9aa46c1e0]
2191
2192 2012-03-18  Todd C. Miller  <Todd.Miller@courtesan.com>
2193
2194         * plugins/sudoers/po/fi.mo, plugins/sudoers/po/fi.po,
2195         plugins/sudoers/po/ja.mo, plugins/sudoers/po/ja.po,
2196         plugins/sudoers/po/pl.mo, plugins/sudoers/po/pl.po,
2197         plugins/sudoers/po/uk.mo, plugins/sudoers/po/uk.po,
2198         plugins/sudoers/po/zh_CN.mo, plugins/sudoers/po/zh_CN.po,
2199         src/po/fi.mo, src/po/fi.po, src/po/ja.mo, src/po/ja.po,
2200         src/po/pl.mo, src/po/pl.po, src/po/ru.mo, src/po/ru.po,
2201         src/po/uk.mo, src/po/uk.po, src/po/vi.mo, src/po/vi.po,
2202         src/po/zh_CN.mo, src/po/zh_CN.po:
2203         sync with translationproject.org
2204         [45a032c37334]
2205
2206 2012-03-16  Todd C. Miller  <Todd.Miller@courtesan.com>
2207
2208         * plugins/sudoers/set_perms.c:
2209         Remove unused label
2210         [2660bb0c1313]
2211
2212         * doc/sudo_plugin.cat, doc/sudo_plugin.man.in, doc/sudo_plugin.pod:
2213         Document what changed in each plugin API revision
2214         [59b30a6fc4d1]
2215
2216         * plugins/sudoers/set_perms.c:
2217         Remove bogus optimization that could lead to a double free of the
2218         group list.
2219         [b0bfbd2a83a8]
2220
2221 2012-03-15  Todd C. Miller  <Todd.Miller@courtesan.com>
2222
2223         * doc/TROUBLESHOOTING:
2224         Expand AIX /etc/security/privcmds entry.
2225         [9f3f072e034e]
2226
2227         * NEWS:
2228         Update for sudo 1.8.5
2229         [086049011f25]
2230
2231         * common/sudo_conf.c, doc/sample.sudo.conf, doc/sudo.cat,
2232         doc/sudo.man.in, doc/sudo.pod, doc/sudo_plugin.cat,
2233         doc/sudo_plugin.man.in, doc/sudo_plugin.pod, doc/sudoers.cat,
2234         doc/sudoers.man.in, doc/sudoers.pod, include/sudo_conf.h,
2235         include/sudo_plugin.h, src/load_plugins.c, src/sudo.c,
2236         src/sudo_plugin_int.h:
2237         Rename plugin "args" to "options"
2238         [f25624951bd2]
2239
2240         * doc/CONTRIBUTORS:
2241         Add Lithuanian and Vietnamese translators
2242         [2b4c075b69e3]
2243
2244         * Makefile.in:
2245         Ignore comments when comparing new and old pot files.
2246         [f872999347b3]
2247
2248         * src/Makefile.in:
2249         regen
2250         [c8193b1b11c7]
2251
2252         * doc/sudo_plugin.cat, doc/sudo_plugin.man.in:
2253         regen
2254         [15e3c17e8a3a]
2255
2256         * doc/sudo_plugin.pod, include/sudo_plugin.h,
2257         plugins/sudoers/auth/pam.c, plugins/sudoers/auth/sudo_auth.c,
2258         plugins/sudoers/auth/sudo_auth.h, plugins/sudoers/env.c,
2259         plugins/sudoers/sudoers.c, plugins/sudoers/sudoers.h, src/hooks.c,
2260         src/sudo.c, src/sudo.h:
2261         Pass a pointer to user_env in to the init_session policy plugin
2262         function so session setup can modify the user environment as needed.
2263         For PAM authentication, merge the PAM environment with the user
2264         environment at init_session time. We no longer need to swap in the
2265         user_env for environ during session init, nor do we need to disable
2266         the env hooks at init_session time.
2267         [3f5277b359d8]
2268
2269         * plugins/sample/sample_plugin.c:
2270         Add explicit NULL entries for init_session, register_hooks and
2271         deregister_hooks with appropriate comments.
2272         [727a57978b40]
2273
2274         * compat/pw_dup.c:
2275         Quiet a gcc "used uninitialized in this function" false positive.
2276         [f14b68379ce9]
2277
2278         * plugins/sudoers/toke.c, plugins/sudoers/toke.l:
2279         We should always call warning() with a format string or a string
2280         literal. In this case, the argument (path) is not user-controlled.
2281         [e9ef51224024]
2282
2283 2012-03-14  Todd C. Miller  <Todd.Miller@courtesan.com>
2284
2285         * src/selinux.c:
2286         Include sudo_exec.h for the sudo_execve() prototype.
2287         [769e58065edc]
2288
2289         * config.h.in, configure, configure.in:
2290         Add check for pam_getenvlist()
2291         [36bde3f26c60]
2292
2293         * common/sudo_conf.c:
2294         Set args to NULL in default plugin info struct when there is no
2295         Plugin line in sudo.conf.
2296         [93ec67708f01]
2297
2298         * plugins/sudoers/po/sudoers.pot, src/po/sudo.pot:
2299         regen
2300         [a9287677795c]
2301
2302         * doc/sudo.cat, doc/sudo.man.in, doc/sudo_plugin.cat,
2303         doc/sudo_plugin.man.in, doc/sudoers.cat, doc/sudoers.ldap.cat,
2304         doc/sudoers.ldap.man.in, doc/sudoers.man.in, doc/sudoreplay.cat,
2305         doc/sudoreplay.man.in, doc/visudo.cat, doc/visudo.man.in:
2306         regen
2307         [a242769d7962]
2308
2309         * configure, configure.in:
2310         Bump version to 1.8.5
2311         [e8618f0c2505]
2312
2313         * doc/sudo_plugin.pod:
2314         Document hooks API
2315         [e6ad07d27958]
2316
2317 2012-03-13  Todd C. Miller  <Todd.Miller@courtesan.com>
2318
2319         * sudo.pp:
2320         Make sudoersdir relative to PKG_INSTALL_ROOT for Solaris.
2321         [fd72340042d3]
2322
2323         * include/sudo_plugin.h:
2324         Use sudo_hook_fn_t in struct sudo_hook.
2325         [938f93112d6e]
2326
2327         * doc/TROUBLESHOOTING:
2328         If cross compiling, --host must include the OS in the tuple. E.g.
2329         --host powerpc-unknown-linux
2330         [b8c010070c1e]
2331
2332 2012-03-12  Todd C. Miller  <Todd.Miller@courtesan.com>
2333
2334         * plugins/sudoers/parse.c:
2335         Fix bogus int -> bool conversion; tags can have a value of -1.
2336         [e63d6434a303]
2337
2338         * plugins/sudoers/env.c:
2339         Add env_should_keep() and env_should_delete() wrapper functions to
2340         simplify things a bit and hide the fact that matches_env_check() is
2341         not bool.
2342         [7a03d7a12b50]
2343
2344         * sudo.pp:
2345         Fix application of debian-specific sudoers mods when building
2346         packages as non-root.
2347         [34bf4c52c425]
2348
2349         * plugins/sudoers/env.c:
2350         matches_env_check() returns int, not boolean
2351         [0ad915b8d5cb]
2352
2353         * src/sudo_edit.c:
2354         Fix compilation when seteuid() is not available.
2355         [8a722f998000]
2356
2357         * src/ttyname.c:
2358         Simply move the free of ki_proc outside the realloc() loop.
2359         [217b786da760]
2360
2361         * src/ttyname.c:
2362         Bring back the erealloc() for the ENOMEM loop and just zero the
2363         pointer after we free it.
2364         [29a016e45127]
2365
2366         * src/ttyname.c:
2367         Don't try to erealloc() a potentially freed pointer; Mateusz Guzik
2368         [266e08844065]
2369
2370 2012-03-10  Todd C. Miller  <Todd.Miller@courtesan.com>
2371
2372         * plugins/sudoers/set_perms.c:
2373         Use normal error path if unable to set sudoers gid.
2374         [01c816918c99]
2375
2376         * plugins/sudoers/set_perms.c:
2377         Make this work again on systems w/o seteuid().
2378         [2e67f7421e97]
2379
2380 2012-03-09  Todd C. Miller  <Todd.Miller@courtesan.com>
2381
2382         * plugins/sudoers/set_perms.c:
2383         Fix compilation if no seteuid/setreuid/setresuid available.
2384         [d0b3c1f88eb4]
2385
2386         * plugins/sudoers/set_perms.c:
2387         Better error messages, and added debugging throughout. Fixed
2388         seteuid() version of set_perms()/restore_perms(). Fixed logic bug in
2389         AIX version of restore_perms(). Added checks to avoid changing
2390         uid/gid when we don't have to. Never set gid/uid state to -1, use
2391         the old value instead.
2392         [29188d469b5c]
2393
2394         * src/exec_pty.c, src/ttyname.c:
2395         Fix format string warning on Solaris with gcc 3.4.3.
2396         [d1eeb6e1dd0f]
2397
2398         * src/sudo.c:
2399         Always declare environ now that we swap it around unilaterally.
2400         [aaa3e92e7d0d]
2401
2402         * src/Makefile.in:
2403         Honor LDFLAGS when linking sesh; from Vita Cizek
2404         [498b41438f6e]
2405
2406         * src/sesh.c:
2407         Include alloc.h for estrdup() prototype; from Vita Cizek
2408         [93203655a320]
2409
2410 2012-03-08  Todd C. Miller  <Todd.Miller@courtesan.com>
2411
2412         * plugins/sudoers/sudoers.c:
2413         Don't read /etc/environment on Linux when using PAM, PAM should set
2414         the environment variables as needed via pam_env.
2415         [b1ef62cb2d40]
2416
2417         * INSTALL:
2418         Fix editor goof.
2419         [0c3dd3bb8b57]
2420
2421         * src/hooks.c, src/sudo.c, src/sudo.h:
2422         Disable environment hooks after we get user_env back to make sure a
2423         plugin can't to modify user_env after we "own" it. This is kind of
2424         a hack but we don't want the init_session plugin function to modify
2425         user_env.
2426         [8e6d119452a5]
2427
2428         * src/hooks.c, src/sudo.c:
2429         Add support for deregistering hooks. If an I/O log plugin fails to
2430         initialize, deregister its hooks (if any).
2431         [ac00c93900c5]
2432
2433 2012-03-07  Todd C. Miller  <Todd.Miller@courtesan.com>
2434
2435         * plugins/sudoers/sudoers.c, src/sudo.c:
2436         Move LOGIN_PATH and LOGIN_SETENV handling to plugin now that we hook
2437         setenv.
2438         [e75469dd9908]
2439
2440         * MANIFEST, aclocal.m4, common/sudo_debug.c, compat/Makefile.in,
2441         compat/setenv.c, compat/unsetenv.c, config.h.in, configure,
2442         configure.in, include/sudo_debug.h, include/sudo_plugin.h, mkdep.pl,
2443         plugins/sudoers/auth/aix_auth.c, plugins/sudoers/env.c,
2444         plugins/sudoers/ldap.c, plugins/sudoers/sudoers.c,
2445         plugins/sudoers/sudoers.h, src/Makefile.in, src/env_hooks.c,
2446         src/hooks.c, src/load_plugins.c, src/sudo.c, src/sudo.h,
2447         src/sudo_plugin_int.h:
2448         Initial cut at a hooks implementation. The plugin can register
2449         hooks for getenv, putenv, setenv and unsetenv. This makes it
2450         possible for the plugin to trap changes to the environment made by
2451         authentication methods such as PAM or BSD auth so that such changes
2452         are reflected in the environment passed back to sudo for execve().
2453         [61cffa06f863]
2454
2455 2012-03-05  Todd C. Miller  <Todd.Miller@courtesan.com>
2456
2457         * MANIFEST, src/po/vi.mo, src/po/vi.po:
2458         Add Vietnamese sudo translation from translationproject.org
2459         [96df426790d5]
2460
2461 2012-03-02  Todd C. Miller  <Todd.Miller@courtesan.com>
2462
2463         * doc/sample.sudo.conf, doc/sudo.pod, doc/sudo_plugin.pod,
2464         doc/sudoers.pod:
2465         List sudo_noexec.so not noexec.so in the sample sudo.conf
2466         [53844e190ec5]
2467
2468         * common/sudo_conf.c, doc/sample.sudo.conf, doc/sudo.pod,
2469         doc/sudo_plugin.pod, doc/sudoers.pod, include/sudo_conf.h,
2470         include/sudo_plugin.h, plugins/sample/sample_plugin.c,
2471         plugins/sudoers/iolog.c, plugins/sudoers/sudoers.c,
2472         plugins/sudoers/toke.l, src/load_plugins.c, src/sudo.c,
2473         src/sudo_plugin_int.h:
2474         Add support for plugin args at the end of a Plugin line in
2475         sudo.conf. Bump the minor number accordingly and update the
2476         documentation. A plugin must check the sudo front end's version
2477         before using the plugin_args parameter since it is only supported
2478         for API version 1.2 and higher.
2479         [587f1f819536]
2480
2481 2012-03-01  Todd C. Miller  <Todd.Miller@courtesan.com>
2482
2483         * plugins/sudoers/Makefile.in:
2484         update depends
2485         [6d2da44e11e5]
2486
2487         * MANIFEST:
2488         secure_path.c is in common, not compat
2489         [619c4a663dde]
2490
2491         * configure, configure.in:
2492         Add check for variadic macro support in cpp.
2493         [756854caf675]
2494
2495 2012-02-29  Todd C. Miller  <Todd.Miller@courtesan.com>
2496
2497         * common/secure_path.c, common/sudo_conf.c, include/secure_path.h,
2498         plugins/sudoers/gram.c, plugins/sudoers/gram.y,
2499         plugins/sudoers/sudoers.c, plugins/sudoers/sudoers.h,
2500         plugins/sudoers/toke.c, plugins/sudoers/toke.l:
2501         Add type param to sudo_secure_path() and add sudo_secure_file() and
2502         sudo_secure_dir() wrappers which get by #includedir in sudoers.
2503         [2ec2d3d8df04]
2504
2505 2012-02-28  Todd C. Miller  <Todd.Miller@courtesan.com>
2506
2507         * doc/visudo.pod, plugins/sudoers/visudo.c:
2508         Check the owner and mode in -c (check) mode unless the -f option is
2509         specified. Previously, the owner and mode were checked on the main
2510         sudoers file when the -s (strict) option was given, but this was not
2511         documented.
2512         [b2d6ee1e547a]
2513
2514         * config.h.in, configure, configure.in, src/ttyname.c:
2515         Prefer KERN_PROC2 over KERN_PROC. Fixes compilation on some
2516         versions of OpenBSD versions that have KERN_PROC2 but not KERN_PROC.
2517         [159f6a50456a]
2518
2519 2012-02-27  Todd C. Miller  <Todd.Miller@courtesan.com>
2520
2521         * doc/CONTRIBUTORS:
2522         Add Eric Lakin for patch in bug #538
2523         [490c29c234c6]
2524
2525         * src/exec_pty.c:
2526         Fix typo in safe_close() made while converting to debug framework
2527         that prevented it from actually closing anything.
2528         [a66422a62afd]
2529
2530         * src/exec_pty.c:
2531         Add some more debugging.
2532         [b5667947dda9]
2533
2534         * common/Makefile.in, compat/Makefile.in, doc/Makefile.in,
2535         include/Makefile.in:
2536         We need sysconfdir in compat/Makfile to get the proper sudo.conf
2537         path. Add standard prefix and foodir expansion in all Makefiles to
2538         avoid this problem in the future.
2539         [62b6ce4ecae9]
2540
2541 2012-02-25  Todd C. Miller  <Todd.Miller@courtesan.com>
2542
2543         * MANIFEST, plugins/sudoers/po/lt.mo, plugins/sudoers/po/lt.po:
2544         New Lithuanian sudoers translation from translationproject.org
2545         [10436b649035]
2546
2547         * plugins/sudoers/po/ja.po:
2548         Update from translationproject.org
2549         [acb8db5f8ef1]
2550
2551 2012-02-24  Todd C. Miller  <Todd.Miller@courtesan.com>
2552
2553         * plugins/sudoers/ldap.c:
2554         When adding gids to the LDAP filter, only add the primary gid once.
2555         This is consistent with the space computation/allocation. From Eric
2556         Lakin
2557         [35d9d99c92c6]
2558
2559         * doc/TROUBLESHOOTING:
2560         Add entry for AIX enhanced RBAC config.
2561         [5e10b6f8def7]
2562
2563         * mkpkg:
2564         Target Mac OS X 10.5 when building packages.
2565         [06fce9bbebee]
2566
2567 2012-02-22  Todd C. Miller  <Todd.Miller@courtesan.com>
2568
2569         * MANIFEST, common/Makefile.in, common/secure_path.c,
2570         common/sudo_conf.c, include/secure_path.h,
2571         plugins/sudoers/Makefile.in, plugins/sudoers/sudoers.c:
2572         Relax the user/group/mode checks on sudoers files. As long as the
2573         file is owned by the right user, not world-writable and not writable
2574         by a group other than the one specified at configure time (gid 0 by
2575         default), the file is considered OK. Note that visudo will still
2576         set the mode to the value specified at configure time.
2577         [241174babfcc]
2578
2579 2012-02-21  Todd C. Miller  <Todd.Miller@courtesan.com>
2580
2581         * plugins/sudoers/set_perms.c:
2582         Add AIX-specific version of permission setting code to make sure
2583         that the saved uid gets restored properly.
2584         [9a6f5d22c301]
2585
2586         * config.h.in, configure, configure.in, src/exec_common.c:
2587         Check for LD_PRELOAD variants in configure instead of checkign cpp
2588         symbols. In disable_execute(), compute the length of the new envp
2589         and allocate it once instead of reallocating on demand. Also append
2590         old value of LD_PRELOAD (if any) to the new value.
2591         [680266346917]
2592
2593         * plugins/sudoers/def_data.c, plugins/sudoers/def_data.in:
2594         Fix the description of noexec.
2595         [6a6d142f3c80]
2596
2597         * plugins/sudoers/defaults.c, plugins/sudoers/defaults.h:
2598         The "op" parameter to set_default() must be int, not bool since it
2599         is set to '+' or '-' for list add and subtract.
2600         [8da5b137bea2]
2601
2602         * sudo.pp:
2603         Make sure sudoers is writable before calling ed script.
2604         [95352ab6336b]
2605
2606 2012-02-17  Todd C. Miller  <Todd.Miller@courtesan.com>
2607
2608         * doc/CONTRIBUTORS, doc/contributors.pod:
2609         Update contributors. Now includes translators and authors of compat
2610         code.
2611         [4fb5b616b50a]
2612
2613 2012-02-16  Todd C. Miller  <Todd.Miller@courtesan.com>
2614
2615         * src/po/sudo.pot:
2616         regen
2617         [2c86e2c328fe]
2618
2619         * pp, sudo.pp:
2620         Build flat packages, not package bundles, on Mac OS X.
2621         [57bda3cd5520]
2622
2623 2012-02-10  Todd C. Miller  <Todd.Miller@courtesan.com>
2624
2625         * sudo.pp:
2626         Move macos section to be with the other OS-specific sections.
2627         [51423bb2973a]
2628
2629         * plugins/sudoers/po/eo.mo, plugins/sudoers/po/eo.po,
2630         plugins/sudoers/po/zh_CN.mo, plugins/sudoers/po/zh_CN.po:
2631         Sync with translationproject.org
2632         [8ce41cbb8da0]
2633
2634         * configure, configure.in:
2635         Don't permanently add -D_FORTIFY_SOURCE=2 to CPPFLAGS
2636         [fa979aa6fe7d]
2637
2638         * sudo.pp:
2639         Add Mac OS X support, printing the latest chunk of the NEWS file and
2640         the license text in the installer.
2641         [ffeab72387c0]
2642
2643         * sudo.pp:
2644         Add explicit file modes that match those used by "make install"
2645         [7eb37242c920]
2646
2647         * pp:
2648         Sync with upstream for Mac OS X fixes.
2649         [97cba179041e]
2650
2651         * plugins/sudoers/Makefile.in, src/Makefile.in:
2652         Got back to using "install-sh -M" for files installed as non-
2653         readable by owner. This fixes "make install" as non-root for
2654         package building.
2655         [967804ee77d6]
2656
2657 2012-02-09  Todd C. Miller  <Todd.Miller@courtesan.com>
2658
2659         * plugins/sudoers/po/da.mo, plugins/sudoers/po/da.po,
2660         plugins/sudoers/po/eo.mo, plugins/sudoers/po/eo.po,
2661         plugins/sudoers/po/fi.mo, plugins/sudoers/po/fi.po,
2662         plugins/sudoers/po/pl.mo, plugins/sudoers/po/pl.po,
2663         plugins/sudoers/po/uk.mo, plugins/sudoers/po/uk.po:
2664         Sync with translationproject.org
2665         [0e53db12039a]
2666
2667         * Makefile.in, doc/Makefile.in, include/Makefile.in,
2668         plugins/sample/Makefile.in, plugins/sample_group/Makefile.in,
2669         plugins/sudoers/Makefile.in, src/Makefile.in:
2670         Use -m not -M for install-sh for everything except setuid. Install
2671         locale .mo files mode 0444, not 0644. If timedir parent doesn't
2672         exist, use default dir mode, not 0700.
2673         [8b6f64c92090]
2674
2675 2012-02-07  Todd C. Miller  <Todd.Miller@courtesan.com>
2676
2677         * pp:
2678         Re-sync with upstream; no longer need a local patch.
2679         [97a2c7be5e59]
2680
2681         * mkpkg:
2682         Add support for building Mac OS X packages.
2683         [94d49ac223a4]
2684
2685         * pp:
2686         Sync with upstream
2687         [1c97654fc841]
2688
2689         * src/Makefile.in:
2690         No longer need to define _PATH_SUDO_CONF here.
2691         [2560905b7482]
2692
2693         * src/exec_common.c:
2694         Fix noexec for Mac OS X.
2695         [b7a744bca2c0]
2696
2697 2012-02-06  Todd C. Miller  <Todd.Miller@courtesan.com>
2698
2699         * common/Makefile.in:
2700         Move _PATH_SUDO_CONF override to common to match sudo_debug.c
2701         [f0788972a63a]
2702
2703         * plugins/sudoers/set_perms.c:
2704         More complete fix for LDR_PRELOAD on AIX. The addition of
2705         set_perm(PERM_ROOT) before calling the nss open functions (needed to
2706         avoid a GNU TLS bug) also broke LDR_PRELOAD. Setting the effective
2707         and then real uid to 0 for PERM_ROOT works around the issue.
2708         [5888eda051af]
2709
2710         * plugins/sudoers/po/sudoers.pot, src/po/sudo.pot:
2711         regen
2712         [997fe403e219]
2713
2714         * src/sudo.c:
2715         Set real uid to root before calling sudo_edit() or run_command() so
2716         that the monitor process is owned by root and not by the user.
2717         Otherwise, on AIX at least, the monitor process shows up in ps as
2718         belonging to the user (and can be killed by the user).
2719         [d4772d7d2fc5]
2720
2721         * plugins/sudoers/set_perms.c:
2722         For PERM_ROOT when using setreuid(), only set the euid to 0 prior to
2723         the call to setuid(0) if the current euid is non-zero. This
2724         effectively restores the state of things prior to rev 7bfeb629fccb.
2725         Fixes a problem on AIX where LDR_PRELOAD was not being honored for
2726         the command being executed.
2727         [b9b40325b4dc]
2728
2729         * MANIFEST, compat/pw_dup.c, config.h.in, configure, configure.in,
2730         include/missing.h, src/sudo.c:
2731         Make a copy of the struct passwd in exec_setup() to make sure
2732         nothing in the policy init modifies it.
2733         [b721261c921f]
2734
2735 2012-02-05  Todd C. Miller  <Todd.Miller@courtesan.com>
2736
2737         * doc/sudoers.pod:
2738         update copyright
2739         [f9d229d1f65e]
2740
2741         * common/sudo_debug.c, include/sudo_debug.h:
2742         g/c now-unused debug subsystems
2743         [8f21726e698f]
2744
2745         * doc/sudo.pod, doc/sudoers.pod:
2746         Enumerate the debug subsystems used by sudo and sudoers.
2747         [ac4f84293d14]
2748
2749 2012-02-03  Todd C. Miller  <Todd.Miller@courtesan.com>
2750
2751         * NEWS, common/sudo_conf.c, doc/sample.sudo.conf, doc/sudo.pod,
2752         include/sudo_conf.h, src/sudo.c:
2753         Normally, sudo disables core dumps while it is running. This
2754         behavior can now be modified at run time with a line in sudo.conf
2755         like "Set disable_coredumps false"
2756         [ad14e0508b0d]
2757
2758         * NEWS:
2759         Mention Spanish translation
2760         [600f3205bd6e]
2761
2762         * common/sudo_debug.c:
2763         Make sure we don't try to fall back to using the conversation
2764         function for debugging in the main sudo process if we are unable to
2765         open the debug file.
2766         [ffa329aa908c]
2767
2768         * MANIFEST, src/po/es.mo, src/po/es.po:
2769         Add sudo Spanish translation from translationproject.org
2770         [c1906654e740]
2771
2772 2012-02-02  Todd C. Miller  <Todd.Miller@courtesan.com>
2773
2774         * plugins/sudoers/iolog.c:
2775         Better debug subsystem usage
2776         [1a31f115743c]
2777
2778         * src/sudo.c:
2779         Remove duplicate function prototypes
2780         [ae04b00532eb]
2781
2782 2012-02-01  Todd C. Miller  <Todd.Miller@courtesan.com>
2783
2784         * configure, configure.in:
2785         Error out if user specified --with-pam but we can't find the headers
2786         or library. Also throw an error if the headers are present but the
2787         library is not and vice versa.
2788         [d6bf3e3d0aae]
2789
2790 2012-01-31  Todd C. Miller  <Todd.Miller@courtesan.com>
2791
2792         * plugins/sudoers/sudoers.c:
2793         Fix the sudoers permission check when the expected sudoers mode is
2794         owner-writable.
2795         [8b0b7e770a22]
2796
2797 2012-01-30  Todd C. Miller  <Todd.Miller@courtesan.com>
2798
2799         * configure, configure.in:
2800         Verify that we can link executables built with -D_FORTIFY_SOURCE
2801         before using it.
2802         [7578215d1a95]
2803
2804         * src/exec_common.c:
2805         Fix potential off-by-one when making a copy of the environment for
2806         LD_PRELOAD insertion. Fixes bug #534
2807         [cc699cd551b6]
2808
2809         * configure, configure.in:
2810         Add rudimentary check for _FORTIFY_SOURCE support by checking for
2811         __sprintf_chk, one of the functions used by gcc to support it.
2812         [a992673d2ef8]
2813
2814         * compat/stdbool.h, config.h.in, configure, configure.in:
2815         Use AC_HEADER_STDBOOL instead of checking for stdbool.h ourselves.
2816         [8ba1370884b3]
2817
2818 2012-01-29  Todd C. Miller  <Todd.Miller@courtesan.com>
2819
2820         * plugins/sudoers/po/sudoers.pot, src/po/sudo.pot:
2821         regen
2822         [1e0b38397705]
2823
2824 2012-01-25  Todd C. Miller  <Todd.Miller@courtesan.com>
2825
2826         * src/exec.c, src/sudo.c:
2827         The change in 818e82ecbbfc that caused to exit when the monitor dies
2828         created a race condition between the monitor exiting and the status
2829         being read. All we really want to do is make sure that select()
2830         notifies us that there is a status change when the monitor dies
2831         unexpectedly so shutdown the socketpair connected to the monitor for
2832         writing when it dies. That way we can still read the status that is
2833         pending on the socket and select() on Linux will tell us that the fd
2834         is ready.
2835         [7fb5b30ea48d]
2836
2837         * MANIFEST, src/Makefile.in, src/exec.c, src/exec_common.c,
2838         src/exec_pty.c, src/selinux.c, src/sesh.c, src/sudo.c, src/sudo.h,
2839         src/sudo_exec.h:
2840         Refactor disable_execute() and my_execve() into exec_common.c for
2841         use by sesh.c. This fixes NOEXEC when SELinux is used. Instead of
2842         disabling exec in exec_setup(), disable it immediately before
2843         executing the command. Adapted from a diff by Arno Schuring.
2844         [ec4d8b53db6b]
2845
2846 2012-01-20  Todd C. Miller  <Todd.Miller@courtesan.com>
2847
2848         * aclocal.m4, configure, configure.in:
2849         Add custom version of AC_CHECK_LIB that uses the extra libs in the
2850         cache value name. With this we no longer need to rely on a modified
2851         version of autoconf.
2852         [1c3b1d482d6c]
2853
2854 2012-01-19  Todd C. Miller  <Todd.Miller@courtesan.com>
2855
2856         * configure, configure.in:
2857         Better handling of network functions that need -lsocket -lnsl
2858         [cc386342ec2b]
2859
2860         * src/sudo.c:
2861         When setting up the execution environment, set groups before
2862         gid/egid like sudo 1.7 did.
2863         [928e1c5fa6c1]
2864
2865         * configure, configure.in:
2866         Remove "WARNING: unable to find foo() trying -lsocket -lnsl"
2867         [84b23cdf138f]
2868
2869         * plugins/sudoers/sudoers.c:
2870         For "sudo -g" prepend the specified group ID to the beginning of the
2871         groups list. This matches BSD convention where the effective gid is
2872         the first entry in the group list. This is required on newer
2873         FreeBSD where the effective gid is not tracked separately and thus
2874         setgroups() changes the egid if this convention is not followed.
2875         Fixes bug #532
2876         [782d6909108b]
2877
2878 2012-01-17  Todd C. Miller  <Todd.Miller@courtesan.com>
2879
2880         * configure, configure.in:
2881         Fix sh warning; use "test" instead of "["
2882         [c6ee3407f65e]
2883
2884         * src/exec.c:
2885         When not logging I/O, use a signal handler that only forwards
2886         SIGINT, SIGQUIT and SIGHUP when they are user-generated signals.
2887         Fixes a race in the non-I/O logging path where the command may
2888         receive two keyboard-generated signals; one from the kernel and one
2889         from the sudo process.
2890         [9638684e786a]
2891
2892         * src/exec.c:
2893         Back out change that put the command in its own pgrp when not
2894         logging I/O. It causes problems with pipelines.
2895         [4fc9c6e1e770]
2896
2897 2012-01-16  Todd C. Miller  <Todd.Miller@courtesan.com>
2898
2899         * compat/Makefile.in, configure, configure.in:
2900         Only run compat regress tests on compat objects we actually build.
2901         Fixes "make check" in the compat dir for systems that don't
2902         implement character classes in fnmatch() or glob(). Bug #531
2903         [a7addc305e83]
2904
2905 2012-01-14  Todd C. Miller  <Todd.Miller@courtesan.com>
2906
2907         * plugins/sudoers/po/da.mo, plugins/sudoers/po/da.po:
2908         Update po files from translationproject.org
2909         [5ea066af1356]
2910
2911 2012-01-13  Todd C. Miller  <Todd.Miller@courtesan.com>
2912
2913         * sudo.pp:
2914         Include parent directories in case they don't already exist. This
2915         fixes a directory permissions problem with the AIX package when the
2916         /usr/local directories don't already exist.
2917         [a14f783dc827]
2918
2919         * pp:
2920         sync with git version
2921         [2f79d0543661]
2922
2923         * common/Makefile.in, plugins/sudoers/Makefile.in, src/Makefile.in:
2924         regen dependencies
2925         [24c92ca6c64d]
2926
2927         * MANIFEST, src/Makefile.in, src/sudo.c, src/sudo.h, src/ttyname.c:
2928         Move tty name lookup code to its own file.
2929         [58faf072cbf4]
2930
2931 2012-01-12  Todd C. Miller  <Todd.Miller@courtesan.com>
2932
2933         * NEWS:
2934         Update with latest sudo 1.8.4 changes.
2935         [a4ffe4f42528]
2936
2937         * config.h.in, configure, configure.in:
2938         Remove obsolete template for HAVE_TIMESPEC
2939         [75709007c906]
2940
2941         * src/sudo.c:
2942         Add a check for devname() returning a fully-qualified pathname. None
2943         of the devname() implementations do this today but you never know
2944         when this might change.
2945         [16813ace38f9]
2946
2947 2012-01-11  Todd C. Miller  <Todd.Miller@courtesan.com>
2948
2949         * plugins/sudoers/visudo.c:
2950         For "visudo -c" also list include files that were checked when
2951         everything is OK.
2952         [ad6f85b35c9c]
2953
2954         * src/sudo.c:
2955         The device name returned by devname() does not include the /dev/
2956         prefix so we need to add it ourselves.
2957         [b55285abb7ed]
2958
2959         * src/sudo.c:
2960         Add debug warning if KERN_PROC sysctl fails or devname() can't
2961         resolve the tty device to a name.
2962         [b5a23916ba3a]
2963
2964         * common/sudo_debug.c:
2965         The result of writev() is never checked so just cast to NULL.
2966         [4be4e9b58d5b]
2967
2968         * plugins/sudoers/po/eo.mo, plugins/sudoers/po/eo.po,
2969         plugins/sudoers/po/fi.mo, plugins/sudoers/po/fi.po,
2970         plugins/sudoers/po/pl.mo, plugins/sudoers/po/pl.po,
2971         plugins/sudoers/po/uk.mo, plugins/sudoers/po/uk.po:
2972         Update Esperanto, Finnish, Polish and Ukrainian translations from
2973         translationproject.org.
2974         [bb91bc6ad7e9]
2975
2976 2012-01-10  Todd C. Miller  <Todd.Miller@courtesan.com>
2977
2978         * config.h.in, configure, configure.in, src/sudo.c:
2979         Add support for determining tty via sysctl on other BSD variants.
2980         [fd15f63f719a]
2981
2982         * configure, configure.in:
2983         Only check for struct kinfo_proc.ki_tdev on systems that support
2984         sysctl.
2985         [109b3f07a39d]
2986
2987         * src/sudo.c:
2988         For FreeBSD, try the KERN_PROC_PID sysctl() first, falling back on
2989         ttyname() of std{in,out,err}.
2990         [95969b70bd68]
2991
2992 2012-01-09  Todd C. Miller  <Todd.Miller@courtesan.com>
2993
2994         * config.h.in, configure, configure.in, src/sudo.c:
2995         On newer FreeBSD we can get the parent's tty name via sysctl().
2996         [3207290501ee]
2997
2998         * plugins/sudoers/testsudoers.c:
2999         Include locale.h
3000         [a602cd0b8c2d]
3001
3002         * src/sudo.c:
3003         Silence a gcc warning.
3004         [8c6d0e3cd534]
3005
3006         * plugins/sudoers/bsm_audit.c:
3007         Need to include gettext.h and sudo_debug.h; from John Hein
3008         [447912aa7300]
3009
3010         * plugins/sudoers/iolog.c:
3011         Initialize the debug framework from the I/O plugin too.
3012         [ce1bf44d96d2]
3013
3014 2012-01-08  Todd C. Miller  <Todd.Miller@courtesan.com>
3015
3016         * plugins/sudoers/testsudoers.c:
3017         Enable debugging via sudo.conf.
3018         [d85669c749d0]
3019
3020 2012-01-07  Todd C. Miller  <Todd.Miller@courtesan.com>
3021
3022         * plugins/sudoers/visudo.c:
3023         Use SUDO_DEBUG_ALIAS for alias checking functions.
3024         [fb84af30dc76]
3025
3026         * configure, configure.in:
3027         More complete test for getaddrinfo() that doesn't rely on the
3028         network libraries already being added to LIBS.
3029         [cbaf2369f4f0]
3030
3031 2012-01-06  Todd C. Miller  <Todd.Miller@courtesan.com>
3032
3033         * common/aix.c:
3034         Add debug support.
3035         [def1bdf24485]
3036
3037         * configure, configure.in:
3038         Need -lsocket -lnsl for getaddrinfo(3) on Solaris at least.
3039         [a2ea1c2eac61]
3040
3041         * compat/getaddrinfo.c:
3042         Include errno.h and missing.h
3043         [7d15e17cc2f2]
3044
3045         * .hgignore:
3046         ignore doc/varsub
3047         [417f9fc3231b]
3048
3049         * configure.in, doc/visudo.pod, plugins/sudoers/Makefile.in,
3050         plugins/sudoers/gram.y, plugins/sudoers/match.c,
3051         plugins/sudoers/parse.c, plugins/sudoers/testsudoers.c, src/exec.c,
3052         src/parse_args.c, src/sudo.c, src/sudo.h:
3053         Update copyright year.
3054         [5d0ffc7dd567]
3055
3056         * NEWS:
3057         Update for sudo 1.8.4
3058         [841e3eff9844]
3059
3060         * plugins/sudoers/po/sudoers.pot, src/po/sudo.pot:
3061         regen pot files
3062         [c509cb45b66a]
3063
3064         * plugins/sudoers/sudoreplay.c:
3065         Enable debugging via sudo.conf.
3066         [5087aaee8484]
3067
3068         * plugins/sudoers/visudo.c:
3069         Enable debugging via sudo.conf.
3070         [04b067c16ed3]
3071
3072         * plugins/sudoers/visudo.c:
3073         Allow "visudo -c" to work when we only have read-only access to the
3074         sudoers include files.
3075         [d8c6713fe5c1]
3076
3077         * doc/sudo.pod, doc/visudo.pod:
3078         Mention the CONTRIBUTORS file, not HISTORY in AUTHOR section. Add
3079         HISTORY section in sudo that points to HISTORY file.
3080         [d1f1bcb051c5]
3081
3082         * doc/sudo.pod, doc/sudo_plugin.pod:
3083         Document Debug setting in sudo.conf and debug_flags in plugin.
3084         [acfc505aa4a9]
3085
3086 2012-01-05  Todd C. Miller  <Todd.Miller@courtesan.com>
3087
3088         * plugins/sudoers/match.c:
3089         Do not include GLOB_MARK in the flags we pass to glob(3). Fixes a
3090         bug where a pattern like "/usr/*" include /usr/bin/ in the results,
3091         which would be incorrectly be interpreted as if the sudoers file had
3092         specified a directory. From Vitezslav Cizek.
3093         [0cdb6252188c]
3094
3095         * INSTALL, config.h.in, configure, configure.in,
3096         plugins/sudoers/auth/kerb5.c:
3097         Add --enable-kerb5-instance configure option to allow people using
3098         Kerberos V authentication to use a custom instance. Adapted from a
3099         diff by Michael E Burr.
3100         [e83af8bb7aa7]
3101
3102         * doc/sudo.pod, src/parse_args.c, src/sudo.c, src/sudo.h:
3103         Remove -D debug_level option.
3104         [cbcd05094347]
3105
3106         * doc/LICENSE:
3107         Update copyright year.
3108         [9f43dd7aa852]
3109
3110 2012-01-04  Todd C. Miller  <Todd.Miller@courtesan.com>
3111
3112         * plugins/sudoers/parse.c, plugins/sudoers/testsudoers.c,
3113         plugins/sudoers/visudo.c:
3114         parse_error is now bool, not int
3115         [5ea7fb6fda38]
3116
3117         * plugins/sudoers/gram.c, plugins/sudoers/gram.y,
3118         plugins/sudoers/parse.c:
3119         Print a more sensible error if yyparse() returns non-zero but
3120         yyerror() was not called.
3121         [d44ec88f1183]
3122
3123         * plugins/sudoers/Makefile.in, plugins/sudoers/getdate.c,
3124         plugins/sudoers/gram.c:
3125         Replace y.tab.c with the correct filename in #line directives.
3126         [3c84fcb7e959]
3127
3128 2012-01-03  Todd C. Miller  <Todd.Miller@courtesan.com>
3129
3130         * src/sudo.c:
3131         When trying to determine the tty, fall back on /proc/ppid/fd/{0,1,2}
3132         if the main process's fds 0-2 are not hooked up to a tty. Adapted
3133         from a diff by Zdenek Behan.
3134         [b9dfce12af85]
3135
3136         * src/exec.c:
3137         When not logging I/O, put command in its own pgrp and make that the
3138         controlling pgrp if the command is in the foreground. Fixes a race
3139         in the non-I/O logging path where the command may receive two
3140         keyboard-generated signals; one from the kernel and one from the
3141         sudo process.
3142         [d0e263ce496c]
3143
3144 2011-12-20  Todd C. Miller  <Todd.Miller@courtesan.com>
3145
3146         * src/sudo_edit.c:
3147         Quiet a bogus gcc warning.
3148         [2009669e0608]
3149
3150         * src/parse_args.c, src/sudo.h:
3151         Fix warnings related to sudo.conf accessors.
3152         [08ddc29ba50b]
3153
3154         * common/sudo_conf.c, include/sudo_conf.h:
3155         Separate sudo.conf parsing from plugin loading and move the parse
3156         functions into the common lib so that visudo, etc. can use them.
3157         [f1fc659a8079]
3158
3159         * MANIFEST, common/Makefile.in, src/Makefile.in, src/load_plugins.c,
3160         src/parse_args.c, src/sudo.c, src/sudo_plugin_int.h:
3161         Separate sudo.conf parsing from plugin loading and move the parse
3162         functions into the common lib so that visudo, etc. can use them.
3163         [e1f2cf6bd57a]
3164
3165         * doc/sudoers.pod, plugins/sudoers/def_data.c,
3166         plugins/sudoers/def_data.h, plugins/sudoers/def_data.in,
3167         plugins/sudoers/sudoers.c, src/sudo.c:
3168         Remove support for noexec_file in sudoers and the plugin API
3169         [3e2fd58879b5]
3170
3171         * plugins/sudoers/sudoers.c:
3172         Don't dump interfaces if there are none.
3173         [9081bb4d3e9e]
3174
3175         * plugins/sudoers/def_data.c, plugins/sudoers/def_data.in:
3176         Add missing %s printf escape to the group_plugin, iolog_dir and
3177         iolog_file descriptions.
3178         [7db03f2b737e]
3179
3180 2011-12-18  Todd C. Miller  <Todd.Miller@courtesan.com>
3181
3182         * plugins/sudoers/def_data.c, plugins/sudoers/def_data.in, src/exec.c:
3183         Fix typo in visiblepw description; from Joel Pickett
3184         [2fb4b26d5c2c]
3185
3186 2011-12-08  Todd C. Miller  <Todd.Miller@courtesan.com>
3187
3188         * MANIFEST, configure, configure.in, mkdep.pl,
3189         plugins/sudoers/Makefile.in, plugins/sudoers/env.c,
3190         plugins/sudoers/login_class.c, plugins/sudoers/sudoers.c,
3191         plugins/sudoers/sudoers.h, src/sudo.c:
3192         When running a login shell with a login_class specified, use
3193         LOGIN_SETENV instead of rolling our own login.conf setenv support
3194         since FreeBSD's login.conf has more than just setenv capabilities.
3195         This requires us to swap the plugin-provided envp for the global
3196         environ before calling setusercontext() and then stash the resulting
3197         environ pointer back into the command details, which is kind of a
3198         hack.
3199         [ad4f1190143b]
3200
3201         * plugins/sudoers/Makefile.in:
3202         If srcdir is "." just use the basename of the yacc/lex file when
3203         generating the C version. This matches the generated files
3204         currently in the repo.
3205         [0b11c3df87a8]
3206
3207         * doc/Makefile.in, plugins/sudoers/Makefile.in:
3208         Clean up the DEVEL noise
3209         [9de2afe457fd]
3210
3211         * src/exec.c:
3212         Handle different Unix domain socket (actually socketpair) semantics
3213         in BSD vs. Linux. In BSD if one end of the socketpair goes away
3214         select() returns the fd as readable and the read will fail with
3215         ECONNRESET. This doesn't appear to happen on Linux so if we notice
3216         that the monitor process has died when I/O logging is enabled,
3217         behave like the command has exited. This means we log the wait
3218         status of the monitor, not the command, but there is nothing else we
3219         can do at that point. This should only be an issue if SIGKILL is
3220         sent to the monitor process.
3221         [818e82ecbbfc]
3222
3223         * src/exec_pty.c:
3224         Catch common signals in the monitor process so they get passed to
3225         the command. Fixes a problem when the entire login session is
3226         killed when ssh is disconnected or the terminal window is closed.
3227         Previously, the monitor would exit and plugin's close method would
3228         not be called.
3229         [0e4658263138]
3230
3231         * INSTALL, configure, configure.in:
3232         Mention how to configure pam_hpsec on HP-UX to play nicely with
3233         sudo.
3234         [a7294cd8ce98]
3235
3236 2011-12-07  Todd C. Miller  <Todd.Miller@courtesan.com>
3237
3238         * plugins/sudoers/ldap.c:
3239         Escape values in the search expression as per RFC 4515.
3240         [c2adbc5db92b]
3241
3242         * doc/Makefile.in, include/Makefile.in, plugins/sample/Makefile.in,
3243         plugins/sample_group/Makefile.in, plugins/sudoers/Makefile.in,
3244         src/Makefile.in:
3245         No need for install target to depend explicitly on install-dirs, the
3246         install-foo targets all depend on it.
3247         [62a36ed98279]
3248
3249 2011-12-05  Todd C. Miller  <Todd.Miller@courtesan.com>
3250
3251         * .hgignore:
3252         ignore src/sesh
3253         [463d492f6782]
3254
3255         * MANIFEST, common/Makefile.in, configure, configure.in, mkdep.pl,
3256         plugins/sample/Makefile.in, plugins/sample_group/Makefile.in,
3257         plugins/sudoers/Makefile.in, plugins/sudoers/env.c,
3258         plugins/sudoers/login_class.c, plugins/sudoers/sudoers.c,
3259         plugins/sudoers/sudoers.h, src/Makefile.in:
3260         Add support for setenv entries in login.conf. We can't use
3261         LOGIN_SETENV since the plugin sets up the envp the command is
3262         executed with. Also regen the Makefile.in files while here. Fixes
3263         bug #527
3264         [088d507926e2]
3265
3266 2011-12-02  Todd C. Miller  <Todd.Miller@courtesan.com>
3267
3268         * MANIFEST, aclocal.m4, compat/getaddrinfo.c, compat/getaddrinfo.h,
3269         config.h.in, configure, configure.in, plugins/sudoers/sudoers.c,
3270         src/net_ifs.c:
3271         Add getaddrinfo() for those without it, written by Russ Allbery
3272         [4cf9ac831222]
3273
3274         * doc/Makefile.in:
3275         Restore PACKAGE_TARNAME, it is used in docdir
3276         [9d65e893edb1]
3277
3278         * MANIFEST, compat/stdbool.h:
3279         SunPro C Compiler also has a _Bool builtin. Also add stdbool.h to
3280         the MANIFEST
3281         [e67700dc5621]
3282
3283         * common/atobool.c, common/term.c, src/exec.c:
3284         Remove duplicate return statements.
3285         [48a20d5215fd]
3286
3287         * plugins/sudoers/auth/bsdauth.c:
3288         Remove inaccurate comment
3289         [e7f0265cf657]
3290
3291         * plugins/sudoers/auth/bsdauth.c, plugins/sudoers/sudoers.c:
3292         Fetch the login class for the user we authenticate specifically when
3293         using BSD authentication. That user may have a different login
3294         class than what we will use to run the command. When setting the
3295         login class for the command, use the target user's struct passwd,
3296         not the invoking user's. Fixes bug 526
3297         [21bf0af892f7]
3298
3299         * compat/Makefile.in, configure, configure.in, doc/Makefile.in,
3300         plugins/sudoers/Makefile.in:
3301         Replace @DEV@ prefix with DEVEL variable so we can do "make DEVEL=1"
3302         [8ee6e0891f27]
3303
3304         * plugins/sudoers/regress/iolog_path/check_iolog_path.c,
3305         plugins/sudoers/regress/logging/check_wrap.c,
3306         plugins/sudoers/regress/parser/check_addr.c,
3307         plugins/sudoers/regress/parser/check_fill.c:
3308         Fix "make check" fallout from the sudo_conv changes in sudo_debug.
3309         [b0aaa63c9081]
3310
3311         * common/fileops.c, common/sudo_debug.c, configure, configure.in,
3312         include/fileops.h, plugins/sample/Makefile.in,
3313         plugins/sample/sample_plugin.c, plugins/sample_group/Makefile.in,
3314         plugins/sample_group/sample_group.c, plugins/sudoers/alias.c,
3315         plugins/sudoers/auth/sudo_auth.c, plugins/sudoers/check.c,
3316         plugins/sudoers/defaults.c, plugins/sudoers/defaults.h,
3317         plugins/sudoers/env.c, plugins/sudoers/find_path.c,
3318         plugins/sudoers/goodpath.c, plugins/sudoers/gram.c,
3319         plugins/sudoers/gram.y, plugins/sudoers/group_plugin.c,
3320         plugins/sudoers/iolog.c, plugins/sudoers/iolog_path.c,
3321         plugins/sudoers/ldap.c, plugins/sudoers/match.c,
3322         plugins/sudoers/match_addr.c, plugins/sudoers/parse.c,
3323         plugins/sudoers/parse.h, plugins/sudoers/pwutil.c,
3324         plugins/sudoers/sudo_nss.c, plugins/sudoers/sudoers.c,
3325         plugins/sudoers/sudoers.h, plugins/sudoers/testsudoers.c,
3326         plugins/sudoers/toke.c, plugins/sudoers/toke.h,
3327         plugins/sudoers/toke.l, plugins/sudoers/toke_util.c,
3328         plugins/sudoers/visudo.c, src/exec.c, src/exec_pty.c,
3329         src/load_plugins.c, src/sudo.c, src/sudo.h, src/sudo_exec.h,
3330         src/sudo_plugin_int.h, src/utmp.c:
3331         Use stdbool.h instead of rolling our own TRUE/FALSE macros.
3332         [dcb0bbc42fc9]
3333
3334 2011-12-01  Todd C. Miller  <Todd.Miller@courtesan.com>
3335
3336         * compat/stdbool.h, config.h.in, configure, configure.in:
3337         Add stdbool.h for systems without it.
3338         [18bd9dda1dcd]
3339
3340         * aclocal.m4, config.h.in, configure, configure.in:
3341         No longer need SUDO_CHECK_TYPE and SUDO_TYPE_* now that the default
3342         includes have unistd.h in them. Add check for socklen_t for
3343         upcoming getaddrinfo compat.
3344         [d705465bef69]
3345
3346         * common/fileops.c, compat/nanosleep.c, config.h.in, configure,
3347         configure.in, plugins/sudoers/interfaces.c,
3348         plugins/sudoers/interfaces.h, plugins/sudoers/match_addr.c,
3349         plugins/sudoers/sudoreplay.c, src/net_ifs.c:
3350         Use HAVE_STRUCT_TIMESPEC and HAVE_STRUCT_IN6_ADDR instead of
3351         HAVE_TIMESPEC and HAVE_IN6_ADDR respectively.
3352         [fa187c9bd2be]
3353
3354         * src/sudo_noexec.c:
3355         No longer need to include time.h here as missing.h does not use
3356         time_t.
3357         [fa3a089bf5b1]
3358
3359 2011-11-30  Todd C. Miller  <Todd.Miller@courtesan.com>
3360
3361         * plugins/sudoers/visudo.c:
3362         Fix mode on sudoers as needed when the -f option is not specified.
3363         [7a1c40b0dc03]
3364
3365         * MANIFEST, src/po/sr.mo, src/po/sr.po:
3366         Add Serbian translation for sudo from translationproject.org
3367         [9a0c25e25cba]
3368
3369         * common/sudo_debug.c, plugins/sudoers/sudoers.c, src/load_plugins.c,
3370         src/parse_args.c:
3371         No longer pass debug_file to plugin, plugins must now use
3372         CONV_DEBUG_MSG
3373         [810cda1abb0b]
3374
3375         * mkpkg:
3376         Build PIE executables for newer Debian and Ubuntu
3377         [1c5f25f8904a]
3378
3379         * common/sudo_debug.c:
3380         Include time.h for ctime() prototype.
3381         [10090cf3bca1]
3382
3383 2011-11-29  Todd C. Miller  <Todd.Miller@courtesan.com>
3384
3385         * common/sudo_debug.c, include/sudo_debug.h, src/exec.c,
3386         src/exec_pty.c:
3387         Do not close error pipe or debug fd via closefrom() as we need them
3388         to report an exec error should one occur.
3389         [732f6587fafa]
3390
3391         * doc/sudoers.ldap.pod:
3392         Document that a sudoUser may now be a group ID.
3393         [2fef46b9d3d3]
3394
3395         * plugins/sudoers/ldap.c:
3396         Add support for permitting access by group ID in addition to group
3397         name.
3398         [b9450fdf1f69]
3399
3400         * plugins/sudoers/ldap.c:
3401         Older Netscape LDAP SDKs don't prototype ldapssl_set_strength()
3402         [d62a1e7cff4f]
3403
3404         * compat/fnmatch.c, compat/fnmatch.h, doc/LICENSE:
3405         Replace UCB fnmatch.c with a non-recursive version written by
3406         William A. Rowe Jr.
3407         [354d3384adb8]
3408
3409         * plugins/sudoers/auth/pam.c:
3410         Fix typo, return_debug vs. debug_return
3411         [1b522efcbb0d]
3412
3413 2011-11-23  Todd C. Miller  <Todd.Miller@courtesan.com>
3414
3415         * plugins/sudoers/po/ja.mo, plugins/sudoers/po/ja.po:
3416         Update Japanese sudoers translation from translationproject.org
3417         [ec0f2beaad36]
3418
3419         * doc/sudoers.pod:
3420         Make the env_reset descriptions consistent.
3421         [41c056f02688]
3422
3423 2011-11-22  Todd C. Miller  <Todd.Miller@courtesan.com>
3424
3425         * configure, configure.in:
3426         Do multiple expansion when expanding paths to the noexec file, sesh
3427         and the plugin directory. Adapted from a diff by Mike Frysinger
3428         [d7e16c876c66]
3429
3430         * common/Makefile.in:
3431         regen
3432         [9d729e09c186]
3433
3434 2011-11-21  Todd C. Miller  <Todd.Miller@courtesan.com>
3435
3436         * .hgignore:
3437         Add ignore file; from Mike Frysinger
3438         [1fa8d52425f8]
3439
3440         * mkdep.pl:
3441         no longer save old Makefile.in to .old
3442         [378dd2395545]
3443
3444         * plugins/sudoers/Makefile.in, src/Makefile.in:
3445         regen
3446         [769faf517720]
3447
3448         * config.guess, config.sub, configure, ltmain.sh, m4/libtool.m4,
3449         m4/ltoptions.m4, m4/ltversion.m4:
3450         Update to libtool 2.4.2
3451         [9dac78d84b4f]
3452
3453 2011-11-18  Todd C. Miller  <Todd.Miller@courtesan.com>
3454
3455         * plugins/sudoers/sudoers_version.h:
3456         Bump grammar version for #include and #includedir relative path
3457         support.
3458         [82a4f7cd8f71]
3459
3460 2011-11-17  Todd C. Miller  <Todd.Miller@courtesan.com>
3461
3462         * doc/sudoers.pod, plugins/sudoers/toke.c, plugins/sudoers/toke.l:
3463         Add support for relative paths in #include and #includedir
3464         [4d6e3bd0c24f]
3465
3466         * plugins/sudoers/Makefile.in:
3467         Fix install-plugin when shared objects are unsupported or disabled.
3468         [cbdd770a7a1b]
3469
3470         * plugins/sudoers/goodpath.c:
3471         Don't write to sbp if it is NULL
3472         [fc438f8e8570]
3473
3474 2011-11-16  Todd C. Miller  <Todd.Miller@courtesan.com>
3475
3476         * Makefile.in:
3477         Remove all sudo/sudoers .mo files on uninstall If LINGUAS is set,
3478         only install matching .mo files
3479         [c1dc30ab4ebc]
3480
3481 2011-11-13  Todd C. Miller  <Todd.Miller@courtesan.com>
3482
3483         * plugins/sudoers/group_plugin.c, plugins/sudoers/plugin_error.c,
3484         plugins/sudoers/sudoers.c, src/conversation.c:
3485         Fix non-dynamic (no dlopen) sudo build.
3486         [b0bd3fa925a3]
3487
3488         * configure, configure.in:
3489         Don't error out if the user specified --disable-shared
3490         [cf035dd1e5cc]
3491
3492         * common/sudo_debug.c, plugins/sudoers/sudoreplay.c,
3493         plugins/sudoers/testsudoers.c, plugins/sudoers/visudo.c,
3494         src/conversation.c:
3495         Use SUDO_CONV_DEBUG_MSG in the plugin instead of writing directly to
3496         the debug file.
3497         [640c62f83251]
3498
3499         * plugins/sudoers/find_path.c, plugins/sudoers/goodpath.c,
3500         plugins/sudoers/sudoers.h:
3501         Make sudo_goodpath() return value bolean
3502         [fea2d59a6e55]
3503
3504         * INSTALL, MANIFEST, configure, configure.in, mkdep.pl,
3505         plugins/sudoers/Makefile.in, plugins/sudoers/auth/securid.c:
3506         Remove obsolete securid auth method.
3507         [4e54f860214b]
3508
3509         * plugins/sudoers/auth/afs.c, plugins/sudoers/auth/aix_auth.c,
3510         plugins/sudoers/auth/dce.c, plugins/sudoers/auth/fwtk.c,
3511         plugins/sudoers/auth/kerb5.c, plugins/sudoers/auth/pam.c,
3512         plugins/sudoers/auth/passwd.c, plugins/sudoers/auth/rfc1938.c,
3513         plugins/sudoers/auth/secureware.c, plugins/sudoers/auth/securid5.c,
3514         plugins/sudoers/auth/sia.c, plugins/sudoers/auth/sudo_auth.c,
3515         plugins/sudoers/auth/sudo_auth.h:
3516         Prefix authentication functions with a "sudo_" prefix to avoid
3517         namespace problems.
3518         [581d74063ea1]
3519
3520         * INSTALL, MANIFEST, config.h.in, configure, configure.in,
3521         doc/TROUBLESHOOTING, mkdep.pl, plugins/sudoers/Makefile.in,
3522         plugins/sudoers/auth/kerb4.c, plugins/sudoers/auth/sudo_auth.c,
3523         plugins/sudoers/auth/sudo_auth.h, plugins/sudoers/env.c:
3524         Remove the old Kerberos IV support
3525         [2e4b4a44209d]
3526
3527 2011-11-12  Todd C. Miller  <Todd.Miller@courtesan.com>
3528
3529         * plugins/sudoers/check.c:
3530         Don't print garbage at the end of the custom lecture.
3531         [44bb788fafaa]
3532
3533         * plugins/sudoers/toke.c, plugins/sudoers/toke.l:
3534         Add lexer tracing as debug@parser
3535         [d850f3f9d414]
3536
3537         * plugins/sudoers/alias.c, plugins/sudoers/defaults.c,
3538         plugins/sudoers/defaults.h, plugins/sudoers/gram.c,
3539         plugins/sudoers/match.c, plugins/sudoers/parse.c,
3540         plugins/sudoers/regress/parser/check_fill.c,
3541         plugins/sudoers/testsudoers.c, plugins/sudoers/toke.c,
3542         plugins/sudoers/toke.l, plugins/sudoers/toke_util.c,
3543         plugins/sudoers/visudo.c:
3544         Revert 003bdb078a15. We need to #include <gram.h> not "gram.h" and
3545         <def_data.h> and not "def_data.h" when generating the parser in a
3546         build dir.
3547         [7da701def753]
3548
3549 2011-11-08  Todd C. Miller  <Todd.Miller@courtesan.com>
3550
3551         * mkdep.pl, plugins/sudoers/Makefile.in:
3552         Better devdir support in mkdep.pl
3553         [7dcec57bd155]
3554
3555         * plugins/sudoers/Makefile.in:
3556         Add devdir before srcdir in include path and fix up dependecies
3557         accordingly.
3558         [6e9958eca485]
3559
3560         * plugins/sudoers/alias.c, plugins/sudoers/defaults.c,
3561         plugins/sudoers/defaults.h, plugins/sudoers/match.c,
3562         plugins/sudoers/parse.c, plugins/sudoers/testsudoers.c,
3563         plugins/sudoers/toke.c, plugins/sudoers/toke.l,
3564         plugins/sudoers/toke_util.c, plugins/sudoers/visudo.c:
3565         #include "gram.h" not <gram.h> and "def_data.h" and not
3566         <def_data.h>.
3567         [003bdb078a15]
3568
3569         * sudo.pp:
3570         Mark libexec files as optional. If we build without shared object
3571         support, libexec is not used.
3572         [4bffcf482219]
3573
3574         * src/load_plugins.c:
3575         Change Debug sudo.conf setting to take a program name as the first
3576         argument. In the future, this will allow visudo and sudoreplay to
3577         use their own Debug entries.
3578         [cfb8f7e4867c]
3579
3580         * src/sudo.c:
3581         fix sudo_debug_printf priority
3582         [dcb67e965609]
3583
3584         * plugins/sudoers/sudoers.c:
3585         add missing debug_return_int
3586         [d88ec450c592]
3587
3588 2011-11-07  Todd C. Miller  <Todd.Miller@courtesan.com>
3589
3590         * common/sudo_debug.c, include/error.h, include/sudo_debug.h,
3591         plugins/sudoers/logging.c, src/exec.c, src/exec_pty.c:
3592         Fold SUDO_DEBUG_PROGERR and SUDO_DEBUG_SYSERR into SUDO_DEBUG_ERROR
3593         [dcee8efc294f]
3594
3595         * doc/UPGRADE:
3596         Add missing word in HOME security note.
3597         [fd844fdcc1ac]
3598
3599         * plugins/sudoers/testsudoers.c:
3600         Prevent "testsudoers -d username" from trying to malloc(0).
3601         [839126e56e8c]
3602
3603 2011-11-06  Todd C. Miller  <Todd.Miller@courtesan.com>
3604
3605         * plugins/sudoers/regress/sudoers/test10.in,
3606         plugins/sudoers/regress/sudoers/test10.out.ok,
3607         plugins/sudoers/regress/sudoers/test10.toke.ok,
3608         plugins/sudoers/regress/sudoers/test10.toke.out.ok,
3609         plugins/sudoers/regress/sudoers/test11.in,
3610         plugins/sudoers/regress/sudoers/test11.out.ok,
3611         plugins/sudoers/regress/sudoers/test11.toke.ok,
3612         plugins/sudoers/regress/sudoers/test11.toke.out.ok,
3613         plugins/sudoers/regress/sudoers/test12.in,
3614         plugins/sudoers/regress/sudoers/test12.out.ok,
3615         plugins/sudoers/regress/sudoers/test12.toke.ok,
3616         plugins/sudoers/regress/sudoers/test13.in,
3617         plugins/sudoers/regress/sudoers/test13.out.ok,
3618         plugins/sudoers/regress/sudoers/test13.toke.ok,
3619         plugins/sudoers/regress/sudoers/test9.in,
3620         plugins/sudoers/regress/sudoers/test9.out.ok,
3621         plugins/sudoers/regress/sudoers/test9.toke.ok,
3622         plugins/sudoers/regress/sudoers/test9.toke.out.ok:
3623         Tests for empty sudoers (should parse OK) and syntax errors within a
3624         line (should report correct line number) both with and without the
3625         trailing newline.
3626         [d57c879c4718]
3627
3628         * plugins/sudoers/regress/sudoers/test4.out.ok,
3629         plugins/sudoers/regress/sudoers/test5.out.ok,
3630         plugins/sudoers/regress/sudoers/test7.out.ok,
3631         plugins/sudoers/regress/sudoers/test8.out.ok,
3632         plugins/sudoers/testsudoers.c:
3633         Print line number when there is a parser error.
3634         [5444ef6ac6dc]
3635
3636 2011-11-05  Todd C. Miller  <Todd.Miller@courtesan.com>
3637
3638         * plugins/sudoers/gram.c, plugins/sudoers/gram.y,
3639         plugins/sudoers/toke.c, plugins/sudoers/toke.l:
3640         Keep track of the last token returned. On error, if the last token
3641         was COMMENT, decrement sudolineno since the error most likely
3642         occurred on the preceding line. Previously we always uses
3643         sudolineno-1 which will give the wrong line number for errors within
3644         a line.
3645         [d661a03a64da]
3646
3647 2011-11-03  Todd C. Miller  <Todd.Miller@courtesan.com>
3648
3649         * NEWS:
3650         update with sudo 1.8.3p1 info
3651         [0f79ff31f602]
3652
3653         * plugins/sudoers/sudoers.c:
3654         Fix crash when "sudo -g group -i" is run. Fixes bug 521
3655         [a3087ae337c4]
3656
3657 2011-10-26  Todd C. Miller  <Todd.Miller@courtesan.com>
3658
3659         * plugins/sudoers/visudo.c:
3660         Make alias_remove_recursive() return TRUE/FALSE as its callers
3661         expect and remove two unused arguments. Fixes bug 519.
3662         [2ee3b2882844]
3663
3664         * plugins/sudoers/regress/visudo/test1.out.ok,
3665         plugins/sudoers/regress/visudo/test1.sh:
3666         Add regress test for bugzilla 519
3667         [48000ebedf97]
3668
3669         * plugins/sudoers/regress/iolog_path/check_iolog_path.c,
3670         plugins/sudoers/regress/logging/check_wrap.c,
3671         plugins/sudoers/regress/parser/check_addr.c,
3672         plugins/sudoers/regress/parser/check_fill.c:
3673         Disable warning/error wrapping in regress tests.
3674         [373c589ba561]
3675
3676 2011-10-25  Todd C. Miller  <Todd.Miller@courtesan.com>
3677
3678         * Makefile.in:
3679         Do compile-po as part of sync-po so that the .mo files get rebuild
3680         automatically when we sync with translationproject.org
3681         [83f3cbfc2f33]
3682
3683         * plugins/sudoers/Makefile.in:
3684         check_addr needs to link with the network libraries on Solaris
3685         [322bd70e316e]
3686
3687         * plugins/sudoers/match.c:
3688         When matching a RunasAlias for a runas group, pass the alias in as
3689         the group_list, not the user_list. From Daniel Kopecek.
3690         [766545edf141]
3691
3692         * plugins/sudoers/check.c, plugins/sudoers/sudoers.c:
3693         We need to init the auth system regardless of whether we need a
3694         password since we will be closing the PAM session in the monitor
3695         process. Fixes a crash in the monitor on Solaris; bugzilla #518
3696         [e82809f86fb3]
3697
3698 2011-10-24  Todd C. Miller  <Todd.Miller@courtesan.com>
3699
3700         * src/exec.c:
3701         Get rid of done: label. If the child exits we still need to close
3702         the pty, update utmp and restore the SELinux tty context.
3703         [cc127bf48405]
3704
3705 2011-10-22  Todd C. Miller  <Todd.Miller@courtesan.com>
3706
3707         * common/Makefile.in, common/atobool.c, common/fileops.c,
3708         common/fmt_string.c, common/lbuf.c, common/list.c,
3709         common/setgroups.c, common/term.c, plugins/sudoers/Makefile.in,
3710         plugins/sudoers/alias.c, plugins/sudoers/audit.c,
3711         plugins/sudoers/auth/afs.c, plugins/sudoers/auth/aix_auth.c,
3712         plugins/sudoers/auth/bsdauth.c, plugins/sudoers/auth/dce.c,
3713         plugins/sudoers/auth/fwtk.c, plugins/sudoers/auth/kerb4.c,
3714         plugins/sudoers/auth/kerb5.c, plugins/sudoers/auth/pam.c,
3715         plugins/sudoers/auth/passwd.c, plugins/sudoers/auth/rfc1938.c,
3716         plugins/sudoers/auth/secureware.c, plugins/sudoers/auth/securid.c,
3717         plugins/sudoers/auth/securid5.c, plugins/sudoers/auth/sia.c,
3718         plugins/sudoers/auth/sudo_auth.c, plugins/sudoers/boottime.c,
3719         plugins/sudoers/bsm_audit.c, plugins/sudoers/check.c,
3720         plugins/sudoers/defaults.c, plugins/sudoers/env.c,
3721         plugins/sudoers/find_path.c, plugins/sudoers/getspwuid.c,
3722         plugins/sudoers/goodpath.c, plugins/sudoers/gram.c,
3723         plugins/sudoers/gram.y, plugins/sudoers/group_plugin.c,
3724         plugins/sudoers/interfaces.c, plugins/sudoers/iolog.c,
3725         plugins/sudoers/iolog_path.c, plugins/sudoers/ldap.c,
3726         plugins/sudoers/linux_audit.c, plugins/sudoers/logging.c,
3727         plugins/sudoers/logwrap.c, plugins/sudoers/match.c,
3728         plugins/sudoers/match_addr.c, plugins/sudoers/parse.c,
3729         plugins/sudoers/pwutil.c, plugins/sudoers/redblack.c,
3730         plugins/sudoers/set_perms.c, plugins/sudoers/sudo_nss.c,
3731         plugins/sudoers/sudoers.c, plugins/sudoers/sudoers.h,
3732         plugins/sudoers/toke.c, plugins/sudoers/toke.h,
3733         plugins/sudoers/toke.l, plugins/sudoers/toke_util.c,
3734         src/Makefile.in, src/conversation.c, src/exec.c, src/exec_pty.c,
3735         src/get_pty.c, src/load_plugins.c, src/net_ifs.c, src/parse_args.c,
3736         src/selinux.c, src/sudo.c, src/sudo.h, src/sudo_edit.c,
3737         src/tgetpass.c, src/ttysize.c, src/utmp.c:
3738         Add debug_decl/debug_return (almost) everywhere. Remove old
3739         sudo_debug() and convert users to sudo_debug_printf().
3740         [8f3bbf907b67]
3741
3742         * common/alloc.c, include/error.h, plugins/sudoers/plugin_error.c,
3743         plugins/sudoers/sudoreplay.c, plugins/sudoers/testsudoers.c,
3744         plugins/sudoers/visudo.c, src/error.c:
3745         Wrap error/errorx and warning/warningx functions with debug
3746         statements. Disable wrapping for standalone sudoers programs as well
3747         as memory allocation functions (to avoid infinite recursion).
3748         [562ed7b5ae8d]
3749
3750         * README, config.h.in, configure, configure.in:
3751         Add checks for __func__ and __FUNCTION__ and mention that we now
3752         require a cpp that supports variadic macros.
3753         [314cfe4c5d23]
3754
3755         * MANIFEST, common/Makefile.in, common/sudo_debug.c,
3756         include/sudo_debug.h, include/sudo_plugin.h, src/conversation.c,
3757         src/load_plugins.c, src/parse_args.c, src/sudo.c,
3758         src/sudo_plugin_int.h:
3759         New debug framework for sudo and plugins using /etc/sudo.conf that
3760         also supports function call tracing.
3761         [cded741e9f10]
3762
3763 2011-10-21  Todd C. Miller  <Todd.Miller@courtesan.com>
3764
3765         * plugins/sudoers/po/ja.mo, plugins/sudoers/po/ja.po:
3766         Update Japanese sudoers translation from translationproject.org
3767         [c24725775e32]
3768
3769 2011-10-12  Todd C. Miller  <Todd.Miller@courtesan.com>
3770
3771         * configure, configure.in:
3772         Override and ignore the --disable-static option. Sudo already runs
3773         libtool with -tag=disable-static where applicable and we need non-
3774         PIC objects to build the executables.
3775         [aff1227b853a]
3776
3777 2011-10-10  Todd C. Miller  <Todd.Miller@courtesan.com>
3778
3779         * NEWS:
3780         Add sudoedit fix
3781         [74655c7ccad1]
3782
3783         * plugins/sudoers/po/sudoers.pot:
3784         regen pot files
3785         [28d89a831ed3]
3786
3787         * plugins/sudoers/env.c:
3788         Ignore set_logname (which is now the default) for sudoedit since we
3789         want the LOGNAME, USER and USERNAME environment variables to refer
3790         to the calling user since that is who the editor runs as. This
3791         allows the editor to find the user's startup files. Fixes bugzilla
3792         #515
3793         [6c5dddf5ff05]
3794
3795         * plugins/sudoers/pwutil.c:
3796         Instead of trying to grow the buffer in make_grlist_item(), simply
3797         increase the total length, free the old buffer and allocate a new
3798         one. This is less error prone and saves us from having to adjust
3799         all the pointers in the buffer. This code path is only taken when
3800         there are groups longer than the length of the user field in struct
3801         utmp or utmpx, which should be quite rare.
3802         [5587dc8cffaf]
3803
3804         * src/po/it.mo:
3805         Add Italian translation for sudo from translationproject.org
3806         [1b3dd886e7e3]
3807
3808         * MANIFEST, NEWS, plugins/sudoers/po/ja.mo, plugins/sudoers/po/ja.po,
3809         src/po/ja.mo, src/po/ja.po:
3810         Japanese translation for sudo and sudoers from
3811         translationproject.org
3812         [c06dd866be6e]
3813
3814 2011-10-07  Todd C. Miller  <Todd.Miller@courtesan.com>
3815
3816         * plugins/sudoers/Makefile.in:
3817         sudoreplay depends on timestr.lo too; from Mike Frysinger
3818         [b9e73214b2f1]
3819
3820 2011-10-04  Todd C. Miller  <Todd.Miller@courtesan.com>
3821
3822         * plugins/sudoers/po/sudoers.pot:
3823         Regen sudoers pot file.
3824         [019588bafdb3]
3825
3826         * NEWS:
3827         Update with latest sudo 1.8.3 news
3828         [6868042a88e9]
3829
3830         * plugins/sudoers/sudoers.c:
3831         It appears that LDAP or NSS may modify the euid so we need to be
3832         root for the open(). We restore the old perms at the end of
3833         sudoers_policy_open().
3834         [2da67a5497ef]
3835
3836         * plugins/sudoers/set_perms.c:
3837         Better warning message on setuid() failure for the setreuid()
3838         version of set_perms().
3839         [07abcfe7bd9a]
3840
3841 2011-09-27  Todd C. Miller  <Todd.Miller@courtesan.com>
3842
3843         * plugins/sudoers/check.c:
3844         Delref auth_pw at the end of check_user() instead of getting a ref
3845         twice.
3846         [cb665f55e6a5]
3847
3848         * plugins/sudoers/auth/sudo_auth.c, plugins/sudoers/check.c:
3849         Make sudo_auth_{init,cleanup} return TRUE on success and check for
3850         sudo_auth_init() return value in check_user().
3851         [92631c919356]
3852
3853         * plugins/sudoers/auth/sudo_auth.c:
3854         Do not return without restoring permissions.
3855         [59ef40b6696a]
3856
3857         * plugins/sudoers/po/sudoers.pot, src/po/sudo.pot:
3858         regen pot files
3859         [9f320a340b7c]
3860
3861         * plugins/sudoers/auth/API, plugins/sudoers/auth/bsdauth.c,
3862         plugins/sudoers/auth/fwtk.c, plugins/sudoers/auth/kerb4.c,
3863         plugins/sudoers/auth/kerb5.c, plugins/sudoers/auth/pam.c,
3864         plugins/sudoers/auth/passwd.c, plugins/sudoers/auth/secureware.c,
3865         plugins/sudoers/auth/securid.c, plugins/sudoers/auth/securid5.c,
3866         plugins/sudoers/auth/sudo_auth.c, plugins/sudoers/auth/sudo_auth.h,
3867         plugins/sudoers/check.c, plugins/sudoers/sudoers.c,
3868         plugins/sudoers/sudoers.h:
3869         Modify the authentication API such that the init and cleanup
3870         functions are always called, regardless of whether or not we are
3871         going to verify a password. This is needed for proper PAM session
3872         support.
3873         [19a53f3fb596]
3874
3875         * compat/Makefile.in, mkdep.pl, plugins/sudoers/Makefile.in:
3876         Add missing dependency for getspwuid.lo and regen other depends.
3877         [f7f70eae819a]
3878
3879         * plugins/sudoers/auth/pam.c, plugins/sudoers/auth/sudo_auth.c,
3880         plugins/sudoers/auth/sudo_auth.h, plugins/sudoers/sudoers.c:
3881         Fix a PAM_USER mismatch in session open/close. We update PAM_USER
3882         to the target user immediately before setting resource limits, which
3883         is after the monitor process has forked (so it has the old value).
3884         Also, if the user did not authenticate, there is no pamh in the
3885         monitor so we need to init pam here too. This means we end up
3886         calling pam_start() twice, which should be fixed, but at least the
3887         session is always properly closed now.
3888         [fbc063a2a872]
3889
3890         * src/utmp.c:
3891         Add check for old being NULL in utmp_setid(); from Steven McDonald
3892         [e87126442f2e]
3893
3894 2011-09-25  Todd C. Miller  <Todd.Miller@courtesan.com>
3895
3896         * plugins/sudoers/pwutil.c, plugins/sudoers/sudoers.c,
3897         plugins/sudoers/sudoers.h:
3898         If the invoking user cannot be resolved by uid fake the struct
3899         passwd and store it in the cache so we can delref it on exit.
3900         [a27e2f8b9f5e]
3901
3902 2011-09-24  Todd C. Miller  <Todd.Miller@courtesan.com>
3903
3904         * plugins/sudoers/sudoers.c:
3905         Don't error out if the group plugin cannot be loaded, just warn.
3906         [0fbfcd381e33]
3907
3908 2011-09-23  Todd C. Miller  <Todd.Miller@courtesan.com>
3909
3910         * plugins/sudoers/sudoers.c:
3911         Quiet a false positive found by several static analysis tools. These
3912         tools don't know that log_error() does not return (it longjmps to
3913         error_jmp which returns to the sudo front-end).
3914         [33d0469df21b]
3915
3916 2011-09-22  Todd C. Miller  <Todd.Miller@courtesan.com>
3917
3918         * MANIFEST, plugins/sudoers/po/da.mo, plugins/sudoers/po/eo.mo,
3919         plugins/sudoers/po/fi.mo, plugins/sudoers/po/pl.mo,
3920         plugins/sudoers/po/uk.mo, plugins/sudoers/po/zh_CN.mo, src/po/it.po:
3921         Add Italian translation for sudo from translationproject.org Regen
3922         .mo files
3923         [c3c888a82be6]
3924
3925 2011-09-21  Todd C. Miller  <Todd.Miller@courtesan.com>
3926
3927         * doc/TROUBLESHOOTING:
3928         Update to current reality and add bit about ssh auth
3929         [184a1e7c2eeb]
3930
3931         * plugins/sudoers/gram.c, plugins/sudoers/gram.y:
3932         Make "verbose" static; fixes a namespace clash with
3933         pam_ssh_agent_auth (and it doesn't need to be extern these days).
3934         [cc38d2eb2f4c]
3935
3936         * config.h.in, configure, configure.in, src/get_pty.c:
3937         FreeBSD has libutil.h not util.h
3938         [dab4c94b6d4f]
3939
3940         * configure, configure.in:
3941         Define _BSD_SOURCE on FreeBSD, OpenBSD and DragonflyBSD
3942         [41c362f0a92a]
3943
3944 2011-09-20  Todd C. Miller  <Todd.Miller@courtesan.com>
3945
3946         * plugins/sudoers/po/da.po, plugins/sudoers/po/eo.po,
3947         plugins/sudoers/po/fi.po, plugins/sudoers/po/pl.po,
3948         plugins/sudoers/po/uk.po, plugins/sudoers/po/zh_CN.po:
3949         Update po files from translationproject.org
3950         [1e99e147c7fa]
3951
3952 2011-09-16  Todd C. Miller  <Todd.Miller@courtesan.com>
3953
3954         * doc/sudoers.ldap.pod, plugins/sudoers/ldap.c:
3955         Add support for DEREF in ldap.conf.
3956         [3c1937a98547]
3957
3958         * Makefile.in:
3959         install target should depend on ChangeLog too, not just install-doc
3960         [1a7c83941175]
3961
3962         * doc/sudoers.pod:
3963         Only iolog_file (not iolog_dir) supports mktemp-style suffixes.
3964         [0eca47d60a2c]
3965
3966         * NEWS:
3967         Sync with 1.8 branch for sudo 1.8.2 and 1.8.3 changes.
3968         [0501415cc5ff]
3969
3970         * doc/UPGRADE:
3971         Document group lookup change and possible side effects.
3972         [585743e1ebf7]
3973
3974         * configure, configure.in:
3975         Fix some square brackets in case statements that needed to be
3976         doubled up. While here, use $OSMAJOR when it makes sense.
3977         [8973343f4696]
3978
3979         * plugins/sudoers/pwutil.c:
3980         Fix a crash in make_grlist_item() on 64-bit machines with strict
3981         alignment.
3982         [c89508c73c46]
3983
3984         * plugins/sudoers/defaults.c, plugins/sudoers/defaults.h:
3985         Remove list_options() function that is no longer used now that "sudo
3986         -L" is gone.
3987         [fcc6a776c135]
3988
3989         * configure, configure.in:
3990         Error message if user tries --with-CC
3991         [ec5b478f813a]
3992
3993         * configure, configure.in:
3994         Check for -libmldap too when looking for ldap libs, which is the
3995         Tivoli Directory Server client library.
3996         [bb3007a97206]
3997
3998 2011-09-09  Todd C. Miller  <Todd.Miller@courtesan.com>
3999
4000         * plugins/sudoers/parse.c:
4001         Honor NOPASSWD tag for denied commands too.
4002         [8dd92656db92]
4003
4004 2011-09-08  Todd C. Miller  <Todd.Miller@courtesan.com>
4005
4006         * INSTALL, configure, configure.in:
4007         Remove --with-CC option; it doesn't work correctly now that we use
4008         libtool. Users can get the same effect by setting the CC
4009         environment variable when running configure.
4010         [ec22bd1a55e0]
4011
4012 2011-08-31  Todd C. Miller  <Todd.Miller@courtesan.com>
4013
4014         * config.h.in, configure, configure.in, plugins/sudoers/visudo.c,
4015         src/sudo_edit.c:
4016         Assume all modern systems support fstat(2).
4017         [6a5a8985f6a0]
4018
4019 2011-08-30  Todd C. Miller  <Todd.Miller@courtesan.com>
4020
4021         * compat/regress/glob/globtest.c, config.h.in, configure,
4022         configure.in, include/missing.h, plugins/sudoers/sudoers.h,
4023         src/sudo.h, src/sudo_noexec.c:
4024         Add configure test for missing errno declaration and only declare it
4025         ourselves if it is missing.
4026         [456e76c809a2]
4027
4028         * plugins/sudoers/alias.c:
4029         Include errno.h before sudo.h to avoid conflicting with the system
4030         definition of errno.
4031         [d0b97e392512]
4032
4033 2011-08-29  Todd C. Miller  <Todd.Miller@courtesan.com>
4034
4035         * plugins/sudoers/regress/parser/check_addr.c:
4036         Only print individual check status when there is a failure.
4037         [2ac704c91441]
4038
4039         * plugins/sudoers/regress/iolog_path/check_iolog_path.c,
4040         plugins/sudoers/regress/logging/check_wrap.c,
4041         plugins/sudoers/regress/parser/check_addr.c:
4042         Add calls to setprogname() for test programs.
4043         [a8d9b420e826]
4044
4045         * configure, configure.in:
4046         Add -Wall and -Werror after all tests so they don't cause failures.
4047         [2661188ff3fa]
4048
4049         * plugins/sudoers/Makefile.in:
4050         Actually run check_addr in the check target
4051         [0b2778bc86bf]
4052
4053         * MANIFEST, plugins/sudoers/Makefile.in, plugins/sudoers/match.c,
4054         plugins/sudoers/match_addr.c,
4055         plugins/sudoers/regress/parser/check_addr.c,
4056         plugins/sudoers/regress/parser/check_addr.in:
4057         Split out address matching into its own file and add regression
4058         tests for it.
4059         [12b9a2bf8dba]
4060
4061 2011-08-27  Todd C. Miller  <Todd.Miller@courtesan.com>
4062
4063         * plugins/sudoers/match.c:
4064         When matching an address with a netmask in sudoers, AND the mask and
4065         addr before checking against the local addresses.
4066         [9747bb6d7b1c]
4067
4068 2011-08-26  Todd C. Miller  <Todd.Miller@courtesan.com>
4069
4070         * plugins/sudoers/match.c:
4071         Fix netmask matching.
4072         [a3c8f8cc1464]
4073
4074         * plugins/sudoers/visudo.c:
4075         Don't assume all editors support the +linenumber command line
4076         argument, use a whitelist of known good editors.
4077         [21d43a91fd10]
4078
4079 2011-08-23  Todd C. Miller  <Todd.Miller@courtesan.com>
4080
4081         * plugins/sudoers/set_perms.c, plugins/sudoers/visudo.c, src/exec.c,
4082         src/exec_pty.c, src/sudo.c:
4083         Silence compiler warnings on Solaris with gcc 3.4.3
4084         [da620bae6fdb]
4085
4086         * mkpkg:
4087         Fix building on RHEL 3
4088         [f3227fb2a252]
4089
4090         * INSTALL, configure, configure.in:
4091         Add --enable-werror configure option.
4092         [fec2cdb95543]
4093
4094         * common/setgroups.c:
4095         setgroups() proto lives in grp.h on RHEL4, perhaps others.
4096         [de91c0de5a98]
4097
4098         * configure, configure.in:
4099         Use PAM by default on AIX 6 and higher.
4100         [e16493208e5f]
4101
4102 2011-08-22  Todd C. Miller  <Todd.Miller@courtesan.com>
4103
4104         * MANIFEST, plugins/sudoers/po/eo.mo, plugins/sudoers/po/eo.po,
4105         src/po/eo.mo, src/po/eo.po:
4106         Add new Esperanto translation from translationproject.org
4107         [0d9a59e04c64]
4108
4109 2011-08-19  Todd C. Miller  <Todd.Miller@courtesan.com>
4110
4111         * plugins/sudoers/iolog_path.c:
4112         Quiet an innocuous valgrind warning.
4113         [0582b6027161]
4114
4115 2011-08-18  Todd C. Miller  <Todd.Miller@courtesan.com>
4116
4117         * plugins/sudoers/iolog_path.c,
4118         plugins/sudoers/regress/iolog_path/data:
4119         Fix expansion of strftime() escapes in log_dir and add a regress
4120         test that exhibited the problem.
4121         [a5c7c1c4c589]
4122
4123         * plugins/sudoers/Makefile.in:
4124         Fix "make check" return value.
4125         [33b58e175230]
4126
4127 2011-08-17  Todd C. Miller  <Todd.Miller@courtesan.com>
4128
4129         * plugins/sudoers/po/sudoers.pot, src/po/sudo.pot:
4130         Regen pot files
4131         [063841aac19b]
4132
4133         * Makefile.in:
4134         Fix logic inversion in pot file up to date check.
4135         [f6a8ca8654df]
4136
4137 2011-08-15  Todd C. Miller  <Todd.Miller@courtesan.com>
4138
4139         * configure, configure.in:
4140         Add caching for gettext() checks.
4141         [01b7200f6105]
4142
4143         * configure, configure.in:
4144         Better handling of libintl header and library mismatch.
4145         [9a49b1d4db69]
4146
4147 2011-08-13  Todd C. Miller  <Todd.Miller@courtesan.com>
4148
4149         * plugins/sudoers/sudoers.c:
4150         Also check sudoers gid if sudoers is group writable.
4151         [23ef96ca0d33]
4152
4153 2011-08-12  Todd C. Miller  <Todd.Miller@courtesan.com>
4154
4155         * configure, configure.in:
4156         If dlopen is present but libtool doesn't find it, error out since it
4157         probably means that libtool doesn't support the system.
4158         [a9da0a5f7941]
4159
4160         * mkpkg:
4161         configure args on the command line should override builtin defaults.
4162         Disable NLS for non-Linux/Solaris unless explicitly enabled.
4163         [b2fb05614504]
4164
4165         * plugins/sudoers/auth/aix_auth.c:
4166         Fix loop that calls authenticate(). If there was an error message
4167         from authenticate(), display it.
4168         [063a0c4f0b9a]
4169
4170 2011-08-11  Todd C. Miller  <Todd.Miller@courtesan.com>
4171
4172         * m4/libtool.m4, m4/ltversion.m4:
4173         Update to autoconf 2.68 and libtool 2.4
4174         [5a912a6eb67b]
4175
4176         * config.guess, config.sub, configure, configure.in, ltmain.sh:
4177         Update to autoconf 2.68 and libtool 2.4
4178         [931ab56aecf6]
4179
4180         * doc/sudoers.pod:
4181         Fix typo; OPT should be OTP
4182         [e97bd2e46544]
4183
4184         * plugins/sudoers/Makefile.in:
4185         Rename libsudoers convenience library to libparsesudoers to avoid
4186         libtool confusion.
4187         [2a89a613f537]
4188
4189 2011-08-10  Todd C. Miller  <Todd.Miller@courtesan.com>
4190
4191         * MANIFEST, plugins/sudoers/po/da.mo, plugins/sudoers/po/da.po:
4192         Add Danish sudoers translation from translationproject.org
4193         [27b96e85eb13]
4194
4195         * plugins/sudoers/sudoers.c, plugins/sudoers/testsudoers.c:
4196         Add dedicated callback function for runas_default sudoers setting
4197         that only sets runas_pw if no runas user or group was specified by
4198         the user.
4199         [b8382d8eea34]
4200
4201 2011-08-09  Todd C. Miller  <Todd.Miller@courtesan.com>
4202
4203         * plugins/sudoers/po/fi.mo, plugins/sudoers/po/fi.po,
4204         plugins/sudoers/po/pl.mo, plugins/sudoers/po/pl.po,
4205         plugins/sudoers/po/uk.mo, plugins/sudoers/po/uk.po, src/po/ru.mo,
4206         src/po/ru.po:
4207         Update Finish, Polish, Russian and Ukrainian translations from
4208         translationproject.org.
4209         [f9339aff664e]
4210
4211         * plugins/sudoers/defaults.h, plugins/sudoers/sudoers.c,
4212         plugins/sudoers/testsudoers.c:
4213         Go back to using a callback for runas_default to keep runas_pw in
4214         sync. This is needed to make per-entry runas_default settings work
4215         with LDAP-based sudoers. Instead of declaring it a callback in
4216         def_data.in, sudo and testsudoers poke sudo_defs_table[] which is a
4217         bit naughty, but avoids requiring stub functions in visudo and the
4218         tests.
4219         [9aaefb908415]
4220
4221 2011-08-05  Todd C. Miller  <Todd.Miller@courtesan.com>
4222
4223         * Makefile.in:
4224         Add check for out of date message catalogs when doing "make dist".
4225         [e45a29b612f4]
4226
4227 2011-08-02  Todd C. Miller  <Todd.Miller@courtesan.com>
4228
4229         * configure:
4230         regen
4231         [d6f9ad26774a]
4232
4233         * configure.in:
4234         Make sure compiler supports static-libgcc before using it.
4235         [b01bd9566e50]
4236
4237 2011-08-01  Todd C. Miller  <Todd.Miller@courtesan.com>
4238
4239         * src/Makefile.in:
4240         Link libsudo_noexec.la with LDLDFLAGS for -static-libgcc
4241         [c99c7ab3edef]
4242
4243 2011-07-30  Todd C. Miller  <Todd.Miller@courtesan.com>
4244
4245         * MANIFEST, plugins/sudoers/po/fi.mo, plugins/sudoers/po/pl.mo,
4246         plugins/sudoers/po/pl.po, plugins/sudoers/po/uk.mo,
4247         plugins/sudoers/po/zh_CN.mo, src/po/ru.mo, src/po/ru.po,
4248         src/po/zh_CN.mo:
4249         Add new Russian sudo translation from translationproject.org and
4250         rebuild the other translation files.
4251         [e20015459056]
4252
4253 2011-07-29  Todd C. Miller  <Todd.Miller@courtesan.com>
4254
4255         * plugins/sudoers/po/fi.po, plugins/sudoers/po/pl.po:
4256         Update Finish and Polish translations from translationproject.org
4257         [4e3dbba4a1de]
4258
4259         * plugins/sudoers/sudoers.c, src/parse_args.c, src/sudo.c:
4260         Go back to escaping the command args for "sudo -i" and "sudo -s"
4261         before calling the plugin. Otherwise, spaces in the command args
4262         are not treated properly. The sudoers plugin will unescape non-
4263         spaces to make matching easier.
4264         [dfa2c4636f33]
4265
4266 2011-07-28  Todd C. Miller  <Todd.Miller@courtesan.com>
4267
4268         * plugins/sudoers/check.c, plugins/sudoers/group_plugin.c,
4269         plugins/sudoers/ldap.c, plugins/sudoers/parse.c,
4270         plugins/sudoers/set_perms.c, plugins/sudoers/toke.c,
4271         plugins/sudoers/toke.l:
4272         Fix some potential problems found by the clang static analyzer, none
4273         serious.
4274         [ff64aa74aae6]
4275
4276         * plugins/sudoers/po/uk.po, plugins/sudoers/po/zh_CN.po,
4277         src/po/zh_CN.po:
4278         Updated Ukranian and Chinese (simplified) po files from
4279         translationproject.org
4280         [ec792becb48e]
4281
4282 2011-07-27  Todd C. Miller  <Todd.Miller@courtesan.com>
4283
4284         * plugins/sudoers/po/pl.po:
4285         Updated Polish translation from translationproject.org
4286         [a3af53cb649c]
4287
4288         * plugins/sudoers/po/sudoers.pot, src/po/sudo.pot:
4289         Rebuild pot files
4290         [c650524c0f0a]
4291
4292         * plugins/sudoers/audit.c, plugins/sudoers/sudoers.c:
4293         Don't try to audit failure if the runas user does not exist. We
4294         don't have the user's command at this point so there is nothing to
4295         audit. Add a NULL check in audit_success() and audit_failure() just
4296         to be on the safe side.
4297         [2a0007c2022f]
4298
4299         * mkpkg:
4300         Add -g to CFLAG for PIE builds.
4301         [32a0a9693c9c]
4302
4303 2011-07-25  Todd C. Miller  <Todd.Miller@courtesan.com>
4304
4305         * plugins/sudoers/pwutil.c, plugins/sudoers/sudoers.c,
4306         plugins/sudoers/sudoers.h, src/sudo.c:
4307         Remove fallback to per-group lookup when matching groups in sudoers.
4308         The sudo front-end will now use getgrouplist() to get the user's
4309         list of groups if getgroups() fails or returns zero groups so we
4310         always have a list of the user's groups. For systems with
4311         mbr_check_membership() which support more that NGROUPS_MAX groups
4312         (Mac OS X), skip the call to getgroups() and use getgrouplist() so
4313         we get all the groups.
4314         [51b3ed8c600b]
4315
4316 2011-07-22  Todd C. Miller  <Todd.Miller@courtesan.com>
4317
4318         * common/setgroups.c:
4319         Fix setgroups() fallback code on EINVAL.
4320         [2b6faecd56a4]
4321
4322         * plugins/sudoers/set_perms.c:
4323         Fix two PERM_INITIAL cases that were still using user_gids.
4324         [9680bab0acc6]
4325
4326         * MANIFEST:
4327         Add Polish sudo message catalog
4328         [8bb40c3ba576]
4329
4330         * plugins/sudoers/sudoers.c, plugins/sudoers/sudoers.h:
4331         user_group is no longer used, remove it
4332         [9acede0fe6c5]
4333
4334 2011-07-20  Todd C. Miller  <Todd.Miller@courtesan.com>
4335
4336         * MANIFEST, plugins/sudoers/po/pl.mo, plugins/sudoers/po/pl.po:
4337         Add Polish translation from translationproject.org
4338         [afac5c638573]
4339
4340         * MANIFEST, common/Makefile.in, common/setgroups.c,
4341         plugins/sudoers/set_perms.c, plugins/sudoers/sudoers.h, src/sudo.c,
4342         src/sudo.h, src/sudo_edit.c:
4343         Add a wrapper for setgroups() that trims off extra groups and
4344         retries if setgroups() fails. Also add some missing addrefs for
4345         PERM_USER and PERM_FULL_USER.
4346         [224dfd8aae5c]
4347
4348         * MANIFEST, compat/Makefile.in, compat/getgrouplist.c, config.h.in,
4349         configure, configure.in, include/missing.h, mkdep.pl,
4350         plugins/sudoers/ldap.c, plugins/sudoers/pwutil.c,
4351         plugins/sudoers/set_perms.c, plugins/sudoers/sudo_nss.c,
4352         plugins/sudoers/sudoers.c, plugins/sudoers/sudoers.h, src/sudo.c:
4353         Instead of keeping separate groups and gids arrays, create struct
4354         group_info and use it to store both, along with a count for each.
4355         Cache group info on a per-user basis using getgrouplist() to get the
4356         groups. We no longer need special to special case the user or list
4357         user for user_in_group() and thus no longer need to reset the groups
4358         list when listing another user.
4359         [0ad849a8b2d5]
4360
4361         * src/preload.c:
4362         Don't rely on NULL since we don't include a header for it.
4363         [b40937f1890c]
4364
4365 2011-07-19  Todd C. Miller  <Todd.Miller@courtesan.com>
4366
4367         * doc/sudoers.pod:
4368         Fix typo
4369         [c1035360e169]
4370
4371 2011-07-18  Todd C. Miller  <Todd.Miller@courtesan.com>
4372
4373         * plugins/sudoers/sudoers.c:
4374         Do not shadow global sudo_mode with a local variable in set_cmnd()
4375         [0c72969503ad]
4376
4377 2011-07-17  Todd C. Miller  <Todd.Miller@courtesan.com>
4378
4379         * plugins/sudoers/sudoers.c:
4380         bash 2.x doesd not support the -l flag and exits with an error if it
4381         is specified so use --login instead. This causes an error with bash
4382         1.x (which uses -login instead) but this version is hopefully less
4383         used than 2.x.
4384         [5c4c296e30e6]
4385
4386         * src/po/pl.mo, src/po/pl.po:
4387         Add Polish translation from translationproject.org
4388         [48592dd6edcf]
4389
4390 2011-07-13  Todd C. Miller  <Todd.Miller@courtesan.com>
4391
4392         * plugins/sudoers/set_perms.c:
4393         Make error strings translatable.
4394         [414c5c484768]
4395
4396         * mkpkg:
4397         Only run configure with --with-pam-login for RHEL 5 and above.
4398         [6c16e4de4026]
4399
4400         * sudo.pp:
4401         Fix typo in summary
4402         [9ac618c9a749]
4403
4404 2011-07-11  Todd C. Miller  <Todd.Miller@courtesan.com>
4405
4406         * plugins/sudoers/logwrap.c:
4407         Add missing logwrap.c
4408         [c12a413ecc1d]
4409
4410         * MANIFEST, plugins/sudoers/Makefile.in, plugins/sudoers/logging.c,
4411         plugins/sudoers/logging.h,
4412         plugins/sudoers/regress/logging/check_wrap.c,
4413         plugins/sudoers/regress/logging/check_wrap.in,
4414         plugins/sudoers/regress/logging/check_wrap.out.ok:
4415         Split out log file word wrap code into its own file and add unit
4416         tests. Fixes an off-by one in the word wrap when the log line
4417         length matches loglinelen.
4418         [52ed277f6690]
4419
4420 2011-07-05  Todd C. Miller  <Todd.Miller@courtesan.com>
4421
4422         * mkpkg:
4423         For SuSE, only use /usr/lib64 as libexec if generating 64-bit
4424         binaries.
4425         [645ab903cf77]
4426
4427         * src/load_plugins.c, src/sudo.c:
4428         Fix build error when --without-noexec configure option is used.
4429         [b994f7b0d8b4]
4430
4431         * configure, configure.in:
4432         Disable noexec for AIX < 5. LDR_PRELOAD is only available in AIX
4433         5.3 and above.
4434         [c2a6f9b472f3]
4435
4436 2011-07-01  Todd C. Miller  <Todd.Miller@courtesan.com>
4437
4438         * plugins/sudoers/ldap.c, plugins/sudoers/pwutil.c,
4439         plugins/sudoers/set_perms.c, plugins/sudoers/sudo_nss.c,
4440         plugins/sudoers/sudoers.c, plugins/sudoers/sudoers.h:
4441         Resolve the list of gids passed in from the sudo frontend (the
4442         result of getgroups()) to names and store both the group names and
4443         ids in the sudo_user struct. When matching groups in the sudoers
4444         file, match based on the names in the groups list first and only do
4445         a gid-based match when we absolutely have to. By matching on the
4446         group name (as it is listed in sudoers) instead of id (which we
4447         would have to resolve) we save a lot of group lookups for sudoers
4448         files with a lot of groups in them.
4449         [8dc19353f148]
4450
4451 2011-06-26  Todd C. Miller  <Todd.Miller@courtesan.com>
4452
4453         * plugins/sudoers/sudoers.c:
4454         Workaround for "sudo -i command" and newer versions of bash which
4455         don't go into login mode when -c is specified unless -l is too.
4456         [9393762b80f3]
4457
4458 2011-06-23  Todd C. Miller  <Todd.Miller@courtesan.com>
4459
4460         * plugins/sudoers/logging.c:
4461         Rewrite logfile word wrapping code to be more straight-forward and
4462         actually wrap at the correct place.
4463         [f712a0c90f55]
4464
4465 2011-06-22  Todd C. Miller  <Todd.Miller@courtesan.com>
4466
4467         * doc/CONTRIBUTORS, doc/contributors.pod, plugins/sudoers/sudoers.c:
4468         Set use_pty=true in command details when use_pty is set in sudoers.
4469         From Ludwig Nussel
4470         [8d95a163dfc1]
4471
4472 2011-06-20  Todd C. Miller  <Todd.Miller@courtesan.com>
4473
4474         * plugins/sudoers/po/zh_CN.mo, plugins/sudoers/po/zh_CN.po,
4475         src/po/zh_CN.mo, src/po/zh_CN.po:
4476         Sync Chinese (simplified) PO files from translationproject.org
4477         [acce8eb7be18]
4478
4479 2011-06-18  Todd C. Miller  <Todd.Miller@courtesan.com>
4480
4481         * MANIFEST, plugins/sudoers/po/eu.mo, plugins/sudoers/po/fi.mo,
4482         plugins/sudoers/po/uk.mo, src/po/da.mo, src/po/da.po, src/po/eu.mo:
4483         Add Danish translation from translationproject.org and add missing
4484         Basque mo files.
4485         [0c22bb21b9c4]
4486
4487         * Makefile.in, configure, configure.in:
4488         No longer need to specify LINGUAS in configure, "make install-nls"
4489         now just installs all the .mo files it finds.
4490         [fcd45cf04885]
4491
4492 2011-06-17  Todd C. Miller  <Todd.Miller@courtesan.com>
4493
4494         * MANIFEST, doc/CONTRIBUTORS, doc/Makefile.in, doc/contributors.pod:
4495         Build CONTRIBUTORS from newly-added contributors.pod
4496         [8b192f2720f4]
4497
4498         * doc/CONTRIBUTORS:
4499         Rework the wording in the leading paragraph
4500         [312044145cdd]
4501
4502 2011-06-14  Todd C. Miller  <Todd.Miller@courtesan.com>
4503
4504         * MANIFEST, doc/CONTRIBUTORS:
4505         Add a CONTRIBUTORS file with the names of folks who have contributed
4506         code or patches to sudo since I started maintaining it (plus the
4507         original authors).
4508         [b8bdd8b59528]
4509
4510 2011-06-13  Todd C. Miller  <Todd.Miller@courtesan.com>
4511
4512         * plugins/sudoers/env.c:
4513         Preserve SHELL variable for "sudo -s". Otherwise we can end up with
4514         a situation where the SHELL variable and the actual shell being run
4515         do not match.
4516         [b8b3974aee3e]
4517
4518 2011-06-10  Todd C. Miller  <Todd.Miller@courtesan.com>
4519
4520         * configure, configure.in:
4521         Only enable Solaris project support when setproject() is present in
4522         libproject.
4523         [49ad7857ab89]
4524
4525         * sudo.pp:
4526         Explicitly set mode and owner of /etc/sudoers instead of relying on
4527         "cp -p" to work in the postinstall script. On AIX 6.1 at least the
4528         postinstall script runs before the final file permissions are set.
4529         [e41ffc0212b2]
4530
4531 2011-06-09  Todd C. Miller  <Todd.Miller@courtesan.com>
4532
4533         * doc/sudo.pod, doc/sudoers.pod:
4534         Refer the user to the "Command Environment" section in description
4535         of sudo's -i option.
4536         [263cc3be7eef]
4537
4538         * doc/sudo.pod:
4539         Fix typo
4540         [35dfac450f4d]
4541
4542 2011-06-08  Todd C. Miller  <Todd.Miller@courtesan.com>
4543
4544         * mkdep.pl:
4545         If there is no old dependency for an object file, use the MANIFEST
4546         to find its source.
4547         [d15e3b9899f9]
4548
4549         * compat/Makefile.in:
4550         Remove dependency for getgrouplist.lo as we don't ship that source
4551         file.
4552         [312a6d5fe6b0]
4553
4554 2011-06-07  Todd C. Miller  <Todd.Miller@courtesan.com>
4555
4556         * plugins/sudoers/getdate.c, plugins/sudoers/getdate.y:
4557         Do not declare yyparse() static as the actual function generated by
4558         yacc is extern.
4559         [9017b79dcf55]
4560
4561 2011-06-06  Todd C. Miller  <Todd.Miller@courtesan.com>
4562
4563         * Makefile.in:
4564         Remove locale files in "make uninstall"
4565         [201ff261ecbe]
4566
4567         * configure.in, plugins/sudoers/po/eu.po, plugins/sudoers/po/fi.po,
4568         plugins/sudoers/po/uk.po, src/po/eu.po:
4569         Add Basque translation and sync Finish and Ukranian translations.
4570         [66d2c78c8a13]
4571
4572         * configure, configure.in:
4573         FreeBSD no longer needs the main sudo binary to link with -lpam now
4574         that plug-ins are loaded with RTLD_GLOBAL.
4575         [96c710df2457]
4576
4577         * plugins/sudoers/group_plugin.c, src/load_plugins.c:
4578         Load plugins with RTLD_GLOBAL instead of RTLD_LOCAL. This fixes
4579         problems with pam modules not having access to symbols provided by
4580         libpam on some platforms. Affects FreeBSD and SLES 10 at least.
4581         [0d016983ec84]
4582
4583         * Makefile.in:
4584         Move xgettext invocation out of update-po target into update-pot
4585         [19a73c6d017c]
4586
4587 2011-06-04  Todd C. Miller  <Todd.Miller@courtesan.com>
4588
4589         * plugins/sudoers/po/sudoers.pot, src/po/sudo.pot:
4590         Regenerate .pot files for 1.8.2rc2
4591         [c3037f591dd8]
4592
4593         * Makefile.in, common/Makefile.in, compat/Makefile.in,
4594         doc/Makefile.in, include/Makefile.in, plugins/sample/Makefile.in,
4595         plugins/sample_group/Makefile.in, plugins/sudoers/Makefile.in,
4596         src/Makefile.in, zlib/Makefile.in:
4597         Move nls targets to the top level Makefile so the paths in the pot
4598         file are saner
4599         [65b9285cd8d9]
4600
4601         * src/po/fi.mo:
4602         Add compiled version of sudo Finish translation
4603         [8f2405384ea3]
4604
4605         * MANIFEST, plugins/sudoers/po/fi.mo, plugins/sudoers/po/uk.mo:
4606         Update MANIFEST with .po and .mo files Rebuild sudoers fi and uk .mo
4607         files
4608         [a165e70fa9ec]
4609
4610         * configure, configure.in, plugins/sudoers/po/fi.po:
4611         Add Finish translation from translationproject.org
4612         [4466f8a96ceb]
4613
4614 2011-06-03  Todd C. Miller  <Todd.Miller@courtesan.com>
4615
4616         * doc/sudoers.pod:
4617         The group named by exempt_group should not have a % prefix.
4618         [df084d6b32c8]
4619
4620 2011-06-01  Todd C. Miller  <Todd.Miller@courtesan.com>
4621
4622         * doc/sudoers.pod:
4623         Fix typo; "Defaults group_plugin" not "Defaults sudo_plugin"
4624         [5113699a3f8b]
4625
4626 2011-05-31  Todd C. Miller  <Todd.Miller@courtesan.com>
4627
4628         * src/exec.c, src/exec_pty.c:
4629         Fix compressed io log corruption in background mode by using _exit()
4630         instead of exit() to avoid flushing buffers twice.
4631
4632         Improved background mode support. When not allocating a pty, the
4633         command is run in its own process group. This prevents write access
4634         to the tty. When running in a pty, stdin is not hooked up and we
4635         never read from /dev/tty, which results in similar behavior.
4636         [87c15149894c]
4637
4638         * compat/Makefile.in, mkdep.pl, plugins/sudoers/Makefile.in:
4639         Clean up regress files Generate proper dependencies for regress objs
4640         in compat
4641         [88bfc728c1e7]
4642
4643         * plugins/sudoers/Makefile.in:
4644         Add missing dependency for check_fill.o.
4645         [0bd6362e3e17]
4646
4647 2011-05-29  Todd C. Miller  <Todd.Miller@courtesan.com>
4648
4649         * INSTALL, configure, configure.in:
4650         Add support for --enable-nls[=location]
4651         [b90db44a050f]
4652
4653 2011-05-28  Todd C. Miller  <Todd.Miller@courtesan.com>
4654
4655         * plugins/sudoers/linux_audit.c:
4656         Include gettext.h
4657         [7f909a6e48cb]
4658
4659         * plugins/sudoers/ldap.c, plugins/sudoers/parse.c:
4660         Quiet gcc warnings.
4661         [b41a6cdca583]
4662
4663         * configure, configure.in:
4664         Don't install .mo files if gettext was not found.
4665         [1397b34cc165]
4666
4667 2011-05-27  Todd C. Miller  <Todd.Miller@courtesan.com>
4668
4669         * src/exec.c:
4670         Always allocate a pty when running a command in the background but
4671         call setsid() after forking to make sure we don't end up with a
4672         controlling tty.
4673         [b6454ba172e8]
4674
4675         * plugins/sudoers/iolog.c:
4676         Add missing space between command name and the first command line
4677         argument.
4678         [fe217f0a36d4]
4679
4680         * plugins/sudoers/sudoreplay.c:
4681         Quiet a compiler warning on some platforms.
4682         [de9f2849f236]
4683
4684         * plugins/sudoers/po/README, src/po/README:
4685         README file that directs people to translationproject.org
4686         [30c0fc323281]
4687
4688         * plugins/sudoers/po/uk.po, src/po/fi.po:
4689         Sync translations with TP
4690         [1d7d64559cba]
4691
4692         * Makefile.in:
4693         Add 'sync-po' target to top-level Makefile to rsync the po files
4694         from translationproject.org.
4695         [20508211aaa3]
4696
4697         * plugins/sudoers/Makefile.in:
4698         install nls files from install target
4699         [5fc07b6cab38]
4700
4701         * Makefile.in, plugins/sudoers/Makefile.in, src/Makefile.in, sudo.pp:
4702         Include .mo files in sudo binary packags.
4703         [278d4821a916]
4704
4705         * configure, configure.in, plugins/sudoers/po/zh_CN.mo,
4706         plugins/sudoers/po/zh_CN.po, src/po/zh_CN.mo, src/po/zh_CN.po:
4707         Add simplified chinese translation
4708         [2b33ffc755b9]
4709
4710 2011-05-26  Todd C. Miller  <Todd.Miller@courtesan.com>
4711
4712         * configure, configure.in, plugins/sudoers/po/uk.mo,
4713         plugins/sudoers/po/uk.po, src/po/uk.mo, src/po/uk.po:
4714         Add ukranian translation
4715         [2d8102688e93]
4716
4717         * compat/Makefile.in:
4718         refer to siglist.c, not ./siglist.c since not all makes will treat
4719         foo and ./foo the same.
4720         [6639d293ffba]
4721
4722         * plugins/sudoers/sudoers.c:
4723         Set def_preserve_groups before searching for the command when the -P
4724         flag is specified.
4725         [0edc7942f875]
4726
4727         * Makefile.in, compat/Makefile.in, mkdep.pl,
4728         plugins/sudoers/Makefile.in:
4729         Add dependency for siglist.lo in compat. This is a generated file
4730         so "make depend" needs to depend on it.
4731         [28d0932f8b50]
4732
4733         * compat/Makefile.in:
4734         More dependency fixes.
4735         [aad0d05cd020]
4736
4737         * compat/Makefile.in:
4738         Fix a few dependencies.
4739         [eb21aa35a032]
4740
4741         * plugins/sudoers/Makefile.in, src/Makefile.in:
4742         Place compiled mo files in the src dir, not the build dir. When
4743         installing compiled mo files, display a status message.
4744         [e15634c29cd3]
4745
4746 2011-05-25  Todd C. Miller  <Todd.Miller@courtesan.com>
4747
4748         * doc/sudoers.ldap.pod, plugins/sudoers/ldap.c:
4749         Tivoli Directory Server requires that seconds be present in a
4750         timestamp, even though RFC 4517 states that they are optional.
4751         [55fe23dd4ef9]
4752
4753         * plugins/sudoers/sudo_nss.h:
4754         Add missing bit of copyright
4755         [d2eba3c364ca]
4756
4757         * doc/visudo.pod:
4758         Mention cycle detection warnings
4759         [a76bef15ab67]
4760
4761         * plugins/sudoers/visudo.c:
4762         When checking aliases, also check the contents of the alias in case
4763         there are problems with an alias that is referenced inside another.
4764         Replace the self reference check with real alias cycle detection.
4765         [a66c904cf53b]
4766
4767         * plugins/sudoers/alias.c:
4768         Set errno to ELOOP in alias_find() if there is a cycle. Set errno to
4769         ENOENT in alias_find() and alias_remove() if the entry could not be
4770         found.
4771         [b4f0b89e433c]
4772
4773         * plugins/sudoers/visudo.c:
4774         Increment alias_seqno before calls to alias_remove_recursive() to
4775         avoid false positives with the alias loop detection. Fixes spurious
4776         warnings about unused aliases when they are nested.
4777         [a344483b8193]
4778
4779         * MANIFEST:
4780         add mkdep.pl
4781         [86b7ed33eab2]
4782
4783         * plugins/sudoers/Makefile.in:
4784         Add dependency on convenience libs to binaries
4785         [cd3078b3c997]
4786
4787         * Makefile.in:
4788         mkdep.pl only works when run from the src dir
4789         [f35a5e47c944]
4790
4791         * Makefile.in, common/Makefile.in, compat/Makefile.in, mkdep.pl,
4792         plugins/sample/Makefile.in, plugins/sample_group/Makefile.in,
4793         plugins/sudoers/Makefile.in, src/Makefile.in, zlib/Makefile.in:
4794         Auto-generate Makefile dependencies with a perl script.
4795         [a3e4afcd7975]
4796
4797 2011-05-23  Todd C. Miller  <Todd.Miller@courtesan.com>
4798
4799         * plugins/sudoers/match.c:
4800         If the user specifies a runas group via sudo's -g option that
4801         matches the runas user's group in the passwd database and that group
4802         is not denied in the Runas_Spec, allow it. Thus, if user root's gid
4803         in /etc/passwd is 0, then "sudo -u root -g root id" is allow even if
4804         no groups are present in the Runas_Spec.
4805         [e3f9732dc564]
4806
4807 2011-05-22  Todd C. Miller  <Todd.Miller@courtesan.com>
4808
4809         * plugins/sudoers/Makefile.in, src/Makefile.in:
4810         Add dependencies on gettext.h
4811         [a3a9dc51f78b]
4812
4813         * plugins/sudoers/Makefile.in, src/Makefile.in:
4814         Fix install-nls target with HP-UX sh when gettext is not present.
4815         [0c6b9655cd41]
4816
4817 2011-05-20  Todd C. Miller  <Todd.Miller@courtesan.com>
4818
4819         * plugins/sudoers/Makefile.in, plugins/sudoers/po/sudoers.pot,
4820         src/Makefile.in, src/po/sudo.pot:
4821         regenerate .pot files for lbuf changes
4822         [918ded125a0b]
4823
4824         * configure, configure.in:
4825         Add missing "checking" message for gettext when using the cache.
4826         [9c21187ad1d2]
4827
4828         * common/lbuf.c, include/lbuf.h, plugins/sudoers/ldap.c,
4829         plugins/sudoers/parse.c, plugins/sudoers/sudo_nss.c,
4830         src/parse_args.c:
4831         Add primitive format string support to the lbuf code to make
4832         translations simpler.
4833         [ee71c7ef5299]
4834
4835         * MANIFEST, plugins/sudoers/Makefile.in,
4836         plugins/sudoers/po/sudoers.pot, src/Makefile.in, src/po/sudo.pot:
4837         Add message catalog template files for sudo and the sudoers module.
4838         [f3f8acb1f014]
4839
4840         * MANIFEST, common/aix.c, common/alloc.c, compat/strsignal.c,
4841         config.h.in, configure.in, doc/Makefile.in, include/gettext.h,
4842         plugins/sudoers/iolog.c, plugins/sudoers/plugin_error.c,
4843         plugins/sudoers/sudoers.c, plugins/sudoers/sudoers.h,
4844         plugins/sudoers/sudoreplay.c, plugins/sudoers/visudo.c, src/error.c,
4845         src/net_ifs.c, src/sesh.c, src/sudo.c, src/sudo.h:
4846         Add gettext.h convenience header. This is similar to but distinct
4847         from the one included with the gettext package.
4848         [930a0591f73c]
4849
4850 2011-05-19  Todd C. Miller  <Todd.Miller@courtesan.com>
4851
4852         * configure, configure.in:
4853         Add checks for nroff -c and -Tascii flags
4854         [19ca990b3149]
4855
4856         * configure, configure.in:
4857         Add check for HP bundled C Compiler (which cannot create shared
4858         libs)
4859         [517716a7072d]
4860
4861         * plugins/sudoers/sudoreplay.c:
4862         Fix C format warnings.
4863         [6514326013fa]
4864
4865         * include/error.h:
4866         Add __printflike
4867         [e1749a30a406]
4868
4869         * plugins/sudoers/ldap.c, plugins/sudoers/parse.c,
4870         plugins/sudoers/sudo_nss.c, plugins/sudoers/sudoreplay.c,
4871         plugins/sudoers/visudo.c, src/parse_args.c:
4872         Translate help / usage strings.
4873         [ee1cc9b1a8bd]
4874
4875         * plugins/sudoers/Makefile.in, src/Makefile.in:
4876         Set --msgid-bugs-address to the bugzilla url
4877         [5a0aa250ca21]
4878
4879         * Makefile.in, common/Makefile.in, compat/Makefile.in, configure,
4880         configure.in, doc/Makefile.in, include/Makefile.in,
4881         plugins/sample/Makefile.in, plugins/sample_group/Makefile.in,
4882         plugins/sudoers/Makefile.in, src/Makefile.in, zlib/Makefile.in:
4883         Add scaffolding to update .po files and install .mo files.
4884         [f05f4eed1fe1]
4885
4886         * doc/license.pod:
4887         update copyright year
4888         [fa0c62523875]
4889
4890         * INSTALL, README:
4891         No need to include version number at the top of these files.
4892         [9f2981325351]
4893
4894 2011-05-18  Todd C. Miller  <Todd.Miller@courtesan.com>
4895
4896         * plugins/sudoers/auth/sudo_auth.c, plugins/sudoers/env.c,
4897         plugins/sudoers/find_path.c, plugins/sudoers/group_plugin.c,
4898         plugins/sudoers/sudoers.c, plugins/sudoers/sudoreplay.c,
4899         plugins/sudoers/visudo.c:
4900         Minor warning/error cleanup
4901         [9236dc85aeab]
4902
4903         * config.h.in, configure.in:
4904         Emulate ngettext for the non-nls case
4905         [13571d63fa36]
4906
4907         * plugins/sudoers/ldap.c:
4908         Do not mark untranslatable strings for translation
4909         [735f5d4413fe]
4910
4911         * plugins/sudoers/check.c:
4912         Use ROOT_UID not 0.
4913         [09a268db8da4]
4914
4915         * plugins/sudoers/check.c, plugins/sudoers/iolog.c,
4916         plugins/sudoers/logging.c, src/exec.c, src/exec_pty.c,
4917         src/load_plugins.c, src/sudo.c, src/sudo_edit.c:
4918         Minor warning/error message cleanup
4919         [3c7b1a7939b5]
4920
4921         * plugins/sudoers/auth/fwtk.c, plugins/sudoers/auth/sudo_auth.c,
4922         plugins/sudoers/iolog.c, plugins/sudoers/ldap.c,
4923         plugins/sudoers/logging.c, plugins/sudoers/mon_systrace.c,
4924         plugins/sudoers/sudoreplay.c, plugins/sudoers/visudo.c, src/exec.c,
4925         src/exec_pty.c, src/net_ifs.c, src/selinux.c:
4926         cannot -> "unable to" in warning/error messages
4927         [31c3897649e9]
4928
4929         * plugins/sudoers/check.c, plugins/sudoers/mon_systrace.c,
4930         plugins/sudoers/set_perms.c, plugins/sudoers/sudo_nss.c,
4931         plugins/sudoers/sudoers.c, plugins/sudoers/visudo.c, src/exec_pty.c,
4932         src/sudo.c, src/utmp.c:
4933         can't -> "unable to" in warning/error messages
4934         [127b75f15291]
4935
4936         * configure, configure.in:
4937         FreeBSD needs the main sudo executable to link with -lpam when
4938         loading dynaic pam modules for some reason.
4939         [944522cc9bef]
4940
4941 2011-05-17  Todd C. Miller  <Todd.Miller@courtesan.com>
4942
4943         * plugins/sudoers/ldap.c, src/exec.c, src/exec_pty.c, src/sudo.c:
4944         We don't want to translate debugging messages.
4945         [56a1a365815a]
4946
4947         * configure, configure.in, plugins/sudoers/Makefile.in,
4948         plugins/sudoers/iolog.c, plugins/sudoers/plugin_error.c,
4949         plugins/sudoers/sudoers.c, plugins/sudoers/sudoers.h,
4950         plugins/sudoers/sudoreplay.c, plugins/sudoers/visudo.c,
4951         src/Makefile.in, src/sesh.c, src/sudo.c:
4952         Add calls to bindtextdomain() and textdomain() Currently there are
4953         two domains, one for the sudo front-end and one for the sudoers
4954         plugin and its associated utilities.
4955         [0426138f789e]
4956
4957         * configure, configure.in:
4958         Fix caching of libc gettext check.
4959         [942142d2c43a]
4960
4961         * plugins/sudoers/def_data.c, plugins/sudoers/defaults.c,
4962         plugins/sudoers/mkdefaults:
4963         Mark defaults descriptions for translation
4964         [5b27f018e6cf]
4965
4966         * NEWS:
4967         Update for sudo 1.8.1p2
4968         [747c4dee2ca7]
4969
4970 2011-05-16  Todd C. Miller  <Todd.Miller@courtesan.com>
4971
4972         * plugins/sudoers/toke.c, plugins/sudoers/toke.l:
4973         Quiet compiler warning when SELinux is enabled.
4974         [1fbf77dda240]
4975
4976         * plugins/sudoers/plugin_error.c, plugins/sudoers/sudoreplay.c,
4977         src/error.c, src/net_ifs.c, src/sesh.c:
4978         Add missing includes of libintl.h.
4979         [bc1d66316082]
4980
4981         * plugins/sudoers/auth/pam.c:
4982         Fix gettext marker.
4983         [a5cf4ed66c66]
4984
4985         * common/aix.c, common/alloc.c, compat/strsignal.c,
4986         plugins/sudoers/auth/pam.c, plugins/sudoers/sudoers.h, src/sudo.h:
4987         Include libint.h where needed.
4988         [2b0e5a663c7b]
4989
4990         * plugins/sudoers/alias.c, plugins/sudoers/auth/bsdauth.c,
4991         plugins/sudoers/auth/fwtk.c, plugins/sudoers/auth/kerb5.c,
4992         plugins/sudoers/auth/pam.c, plugins/sudoers/auth/rfc1938.c,
4993         plugins/sudoers/auth/securid.c, plugins/sudoers/auth/securid5.c,
4994         plugins/sudoers/auth/sia.c, plugins/sudoers/auth/sudo_auth.c,
4995         plugins/sudoers/bsm_audit.c, plugins/sudoers/check.c,
4996         plugins/sudoers/defaults.c, plugins/sudoers/env.c,
4997         plugins/sudoers/find_path.c, plugins/sudoers/gram.c,
4998         plugins/sudoers/gram.y, plugins/sudoers/group_plugin.c,
4999         plugins/sudoers/interfaces.c, plugins/sudoers/iolog.c,
5000         plugins/sudoers/iolog_path.c, plugins/sudoers/ldap.c,
5001         plugins/sudoers/linux_audit.c, plugins/sudoers/logging.c,
5002         plugins/sudoers/parse.c, plugins/sudoers/plugin_error.c,
5003         plugins/sudoers/pwutil.c, plugins/sudoers/set_perms.c,
5004         plugins/sudoers/sudo_nss.c, plugins/sudoers/sudoers.c,
5005         plugins/sudoers/sudoreplay.c, plugins/sudoers/testsudoers.c,
5006         plugins/sudoers/toke.c, plugins/sudoers/toke.l,
5007         plugins/sudoers/toke_util.c, plugins/sudoers/visudo.c:
5008         Prepare sudoers module messages for translation.
5009         [7212ae1909c5]
5010
5011         * plugins/sudoers/sudoers.c:
5012         Only check gid of sudoers file if it is group-readable.
5013         [50e3bc0cb242]
5014
5015         * plugins/sudoers/auth/aix_auth.c:
5016         For AIX, keep calling authenticate() until reenter reaches 0.
5017         [e240815b74b1]
5018
5019 2011-05-09  Todd C. Miller  <Todd.Miller@courtesan.com>
5020
5021         * configure, configure.in:
5022         Cache the status of the initial gettext() check.
5023         [32751ebe1704]
5024
5025         * INSTALL, configure, configure.in:
5026         Add --disable-nls flag and improve checks for gettext.
5027         [c7e6b17052de]
5028
5029         * configure, configure.in:
5030         When building with gcc on HP-UX, use -march=1.1 to produce portable
5031         binaries on a pa-risc2 host. Previously, the +Dportable option was
5032         used for the HP-UX C compiler but gcc always produced native
5033         binaries.
5034         [8f4c749324d7]
5035
5036 2011-05-06  Todd C. Miller  <Todd.Miller@courtesan.com>
5037
5038         * common/aix.c, common/alloc.c, compat/strsignal.c, src/error.c,
5039         src/exec.c, src/exec_pty.c, src/load_plugins.c, src/net_ifs.c,
5040         src/parse_args.c, src/selinux.c, src/sesh.c, src/sudo.c,
5041         src/sudo_edit.c, src/tgetpass.c, src/utmp.c:
5042         Prepare sudo front end messages for translation.
5043         [2fc2fabceccb]
5044
5045 2011-05-04  Todd C. Miller  <Todd.Miller@courtesan.com>
5046
5047         * config.h.in, configure, configure.in, plugins/sudoers/auth/pam.c:
5048         Add initial scaffolding to support localization via gettext()
5049         [7d47b59fcf95]
5050
5051         * compat/fnmatch.h, compat/glob.h:
5052         Don't let the fnmatch/glob macros expand the function prototype.
5053         [a9014aa0288e]
5054
5055 2011-05-03  Todd C. Miller  <Todd.Miller@courtesan.com>
5056
5057         * compat/fnmatch.c, compat/fnmatch.h, compat/glob.c, compat/glob.h:
5058         Resolve namespace collisions on HP-UX ia64 and possibly others by
5059         adding a rpl_ prefix to our fnmatch and glob replacements and
5060         #defining rpl_foo to foo in the header files.
5061         [caa9b690a15d]
5062
5063 2011-04-29  Todd C. Miller  <Todd.Miller@courtesan.com>
5064
5065         * plugins/sudoers/toke.c, plugins/sudoers/toke.l:
5066         Split ALL, ROLE and TYPE into their own actions. Since you can only
5067         have #ifdefs inside of braces, ROLE and TYPE use a naughty goto in
5068         the non-SELinux case. This is safe because the actions are in one
5069         big switch() statement.
5070         [7473fc2cfa2c]
5071
5072         * plugins/sudoers/toke.c, plugins/sudoers/toke.l:
5073         Fix regexp for matching a CIDR-style IPv4 netmask. From Marc Espie.
5074         [9be3480c2865]
5075
5076 2011-04-27  Todd C. Miller  <Todd.Miller@courtesan.com>
5077
5078         * doc/UPGRADE, doc/sudoers.pod:
5079         askpass moved from sudoers to sudo.conf in sudo 1.8.0
5080         [b2c2956cec4e]
5081
5082         * doc/sudoers.pod:
5083         Remove obsolete warning about runas_default and ordering. Move
5084         syslog facility and priority lists into the section where the
5085         relevant options are described.
5086         [e57b8dc3f779]
5087
5088 2011-04-26  Todd C. Miller  <Todd.Miller@courtesan.com>
5089
5090         * plugins/sudoers/auth/sia.c:
5091         Fix SIA support; we no longer have access to the real argc and argv
5092         so allocate space for a fake one and use the argv passed to the
5093         plugin with "sudo" for argv[0].
5094         [1c0552772ad2]
5095
5096 2011-04-23  Todd C. Miller  <Todd.Miller@courtesan.com>
5097
5098         * src/net_ifs.c:
5099         Remove useless realloc when trying to get the buffer size right.
5100         [792225380a62]
5101
5102         * plugins/sudoers/set_perms.c:
5103         Be explicit when setting euid to 0 before call to setreuid(0, 0)
5104         [7bfeb629fccb]
5105
5106 2011-04-18  Todd C. Miller  <Todd.Miller@courtesan.com>
5107
5108         * configure, configure.in:
5109         Need to do checks for krb5_verify_user, krb5_init_secure_context and
5110         krb5_get_init_creds_opt_alloc regardless of whether or not
5111         krb5-config is present.
5112         [9d1b98ece1d3]
5113
5114 2011-04-15  Todd C. Miller  <Todd.Miller@courtesan.com>
5115
5116         * plugins/sudoers/set_perms.c:
5117         Work around weird AIX saved uid semantics on setuid() and
5118         setreuid(). On AIX, setuid() will only set the saved uid if the euid
5119         is already 0.
5120         [069fc08150ca]
5121
5122 2011-04-14  Todd C. Miller  <Todd.Miller@courtesan.com>
5123
5124         * sudo.pp:
5125         update copyright year
5126         [1c42d579ba6e]
5127
5128         * plugins/sudoers/toke.c, plugins/sudoers/toke.l:
5129         Treat a missing includedir like an empty one and do not return an
5130         error.
5131         [92f71d8cbfd4]
5132
5133 2011-04-12  Todd C. Miller  <Todd.Miller@courtesan.com>
5134
5135         * pp:
5136         Fix ARCH setting in cross-compile Solaris packages.
5137         [b0de281cc889]
5138
5139         * sudo.pp:
5140         Fix aix version setting.
5141         [98437dbfb085]
5142
5143         * plugins/sudoers/ldap.c:
5144         Remove extraneous parens in LDAP filter when sudoers_search_filter
5145         is enabled that causes a search error. From Matthew Thomas.
5146         [1d75bf1fc8d9]
5147
5148 2011-04-11  Todd C. Miller  <Todd.Miller@courtesan.com>
5149
5150         * plugins/sudoers/regress/iolog_path/check_iolog_path.c:
5151         Correct sizeof() to fix test failure.
5152         [fd2f7c0c0572]
5153
5154         * plugins/sudoers/Makefile.in:
5155         "install" target should depend on "install-dirs". Fixes "make -j"
5156         problem and closes bz #487. From Chris Coleman.
5157         [083902d38edb]
5158
5159 2011-04-07  Todd C. Miller  <Todd.Miller@courtesan.com>
5160
5161         * config.h.in:
5162         Add HAVE_RFC1938_SKEYCHALLENGE
5163         [a94cb33758a8]
5164
5165 2011-04-06  Todd C. Miller  <Todd.Miller@courtesan.com>
5166
5167         * NEWS:
5168         Mention plugin loading and libgcc changes
5169         [e11b30b5026a]
5170
5171         * src/load_plugins.c, src/sudo.c, src/sudo_plugin_int.h:
5172         Load plugins after parsing arguments and potentially printing the
5173         version. That way, an error loading or initializing a plugin
5174         doesn't break "sudo -h" or "sudo -V".
5175         [1b76f2b096a2]
5176
5177         * Makefile.in:
5178         When using a sub-shell to invoke the sub-make, exec make instead of
5179         running it inside the shell to avoid an extra process.
5180         [fd2c04a71fbf]
5181
5182         * compat/regress/fnmatch/fnm_test.in, compat/regress/glob/globtest.c:
5183         Stop testing unspecified behavior in fnmatch Make glob test more
5184         portable
5185         [229803093725]
5186
5187         * compat/Makefile.in:
5188         No need to add current dir to include path and having it breaks the
5189         test programs that expect to get the system glob.h and fnmatch.h
5190         [68085f624be4]
5191
5192         * INSTALL, configure, configure.in:
5193         Fix and document --with-plugindir; partially from Diego Elio Petteno
5194         [07edc52ea89e]
5195
5196         * compat/Makefile.in, compat/regress/fnmatch/fnm_test.c,
5197         compat/regress/fnmatch/fnm_test.in, compat/regress/glob/globtest.c,
5198         compat/regress/glob/globtest.in:
5199         Fix fnmatch and glob tests to not use hard-coded flag values in the
5200         input file. Link test programs with libreplace so we get our
5201         replacement verions as needed.
5202         [c2cca448f660]
5203
5204         * Makefile.in:
5205         If make in a subdir fails, fail the target in the upper level
5206         Makefile too. Adapted from a patch from Diego Elio Petteno
5207         [76fc9a0d96fd]
5208
5209         * configure, configure.in, plugins/sudoers/auth/rfc1938.c:
5210         Add check for NetBSD-style 4-argument skeychallenge() as Gentoo also
5211         has this. Adapted from a patch from Diego Elio Petteno
5212         [a97279a59b93]
5213
5214         * plugins/sudoers/Makefile.in:
5215         Make SUDOERS_LDFLAGS reference $(LDFLAGS) instead of using @LDFLAGS@
5216         directly.
5217         [47b884029b3b]
5218
5219         * configure, configure.in:
5220         Fix warnings when -without-skey, --without-opie, --without-kerb4,
5221         --without-kerb5 or --without-SecurID were specified.
5222         [71ad150f4d24]
5223
5224         * MANIFEST:
5225         Add plugins/sudoers/sudoers_version.h
5226         [7423966de440]
5227
5228         * configure, configure.in, plugins/sample/Makefile.in,
5229         plugins/sample_group/Makefile.in, plugins/sudoers/Makefile.in:
5230         Back out the --with-libpath addition to SUDOERS_LDFLAGS since that
5231         now include LDFLAGS in the sudoers Makefile.in. Add missing settng
5232         of @LDFLAGS@ in plugin Makefile.in files.
5233         [b835826f889c]
5234
5235 2011-04-05  Todd C. Miller  <Todd.Miller@courtesan.com>
5236
5237         * NEWS:
5238         Mention %#gid support in User_List and Runas_List
5239         [5a983dff017a]
5240
5241         * plugins/sudoers/sudoers.c, plugins/sudoers/sudoers_version.h,
5242         plugins/sudoers/visudo.c:
5243         Keep track of sudoers grammar version and report it in the -V
5244         output.
5245         [52901a3c0296]
5246
5247         * plugins/sudoers/sudo_nss.h:
5248         Add multiple inclusion guard
5249         [50853aed046e]
5250
5251         * configure, configure.in, plugins/sample/Makefile.in,
5252         plugins/sample_group/Makefile.in, plugins/sudoers/Makefile.in:
5253         The --with-libpath option now adds to SUDOERS_LDFLAGS as well as
5254         LDFLAGS. Remove old -static hack for HP-UX < 9. Add LTLDFLAGS and
5255         set it to -Wc,-static-libgcc if not using GNU ld so we don't
5256         have a dependency on the shared libgcc in sudoers.so.
5257         [66ad8bc5e32d]
5258
5259         * doc/sudoers.pod:
5260         Fix typo; from Petr Uzel
5261         [f9a7afd80892]
5262
5263 2011-04-01  Todd C. Miller  <Todd.Miller@courtesan.com>
5264
5265         * plugins/sudoers/testsudoers.c:
5266         In dump-only mode, use "root" as the default username instead of
5267         "nobody" as the latter may not be available on all systems.
5268         [0c48e6414337]
5269
5270 2011-03-31  Todd C. Miller  <Todd.Miller@courtesan.com>
5271
5272         * plugins/sudoers/testsudoers.c:
5273         Remove NewArgv/NewArgc, they are no longer needed.
5274         [16e18f734c7e]
5275
5276         * plugins/sudoers/testsudoers.c:
5277         Fix setting of user_args
5278         [aa29e0d0a54a]
5279
5280         * plugins/sudoers/toke.c, plugins/sudoers/toke.l:
5281         Add '!' token to lex tracing
5282         [5227ad266235]
5283
5284         * plugins/sudoers/regress/testsudoers/test1.sh:
5285         Use group bin in test, not wheel as most systems have the bin group
5286         but the same is no longer true of wheel.
5287         [718802b3b45e]
5288
5289         * plugins/sudoers/toke.c, plugins/sudoers/toke.l:
5290         Avoid using pre or post increment in a parameter to a ctype(3)
5291         function as it might be a macro that causes the increment to happen
5292         more than once.
5293         [78e281152c3a]
5294
5295 2011-03-30  Todd C. Miller  <Todd.Miller@courtesan.com>
5296
5297         * sudo.pp:
5298         Strip off the beta or release candidate version when building AIX
5299         packages.
5300         [28fe31668559]
5301
5302         * configure, configure.in:
5303         We need to include OSDEFS in CFLAGS when doing the utmp/utmpx
5304         structure checks for glibc which only has __e_termination visible
5305         when _GNU_SOURCE is *not* defined.
5306         [59ae1698911f]
5307
5308         * common/aix.c:
5309         getuserattr(user, ...) will fall back to the "default" entry
5310         automatically, there's no need to check "default" manually.
5311         [3c7a47a61fdb]
5312
5313 2011-03-29  Todd C. Miller  <Todd.Miller@courtesan.com>
5314
5315         * doc/UPGRADE:
5316         Document parser changes.
5317         [ec415503308d]
5318
5319         * Makefile.in, common/Makefile.in, compat/Makefile.in,
5320         doc/Makefile.in, include/Makefile.in, plugins/sample/Makefile.in,
5321         plugins/sample_group/Makefile.in, plugins/sudoers/Makefile.in,
5322         src/Makefile.in, zlib/Makefile.in:
5323         If there is an existing sudoers file, only install if it passes a
5324         syntax check.
5325         [37427c73e8cb]
5326
5327         * plugins/sudoers/regress/sudoers/test6.out.ok,
5328         plugins/sudoers/testsudoers.c:
5329         Add runasgroup support to testsudoers
5330         [047ea5571f33]
5331
5332         * plugins/sudoers/Makefile.in:
5333         For "make check", keep going even if a test fails.
5334         [ce6a0a73c372]
5335
5336         * plugins/sudoers/testsudoers.c:
5337         More useful exit codes:
5338          * 0 - parsed OK and command matched.
5339          * 1 - parse error
5340          * 2 - command not matched
5341          * 3 - command denied
5342         [1d2ce1361903]
5343
5344         * doc/sudoers.pod:
5345         Document %#gid, and %:#nonunix_gid syntax.
5346         [492d4f9696c4]
5347
5348         * plugins/sudoers/pwutil.c:
5349         Add support to user_in_group() for treating group names that begin
5350         with a '#' as gids.
5351         [20240c94a134]
5352
5353         * config.h.in, configure, configure.in, src/utmp.c:
5354         Add explicit check for struct utmpx.ut_exit.e_termination and struct
5355         utmpx.ut_exit.__e_termination. HP-UX uses the latter. Only update
5356         ut_exit if we detect one or the other.
5357         [b4e8cab777e6]
5358
5359 2011-03-28  Todd C. Miller  <Todd.Miller@courtesan.com>
5360
5361         * plugins/sudoers/toke.c:
5362         Add back missing #include of config.h
5363         [9ab3897a1b2e]
5364
5365         * plugins/sudoers/iolog_path.c,
5366         plugins/sudoers/regress/iolog_path/data:
5367         Avoid a NULL deref on unrecognized escapes. Collapse %% -> % like
5368         strftime() does.
5369         [93395762cdcd]
5370
5371         * aclocal.m4:
5372         Quote first argument to AC_DEFUN(); from Elan Ruusamae
5373         [97f53ad31d77]
5374
5375 2011-03-27  Todd C. Miller  <Todd.Miller@courtesan.com>
5376
5377         * MANIFEST:
5378         add new sudoers tests
5379         [476af91b3da3]
5380
5381         * plugins/sudoers/regress/sudoers/test8.in,
5382         plugins/sudoers/regress/sudoers/test8.out.ok,
5383         plugins/sudoers/regress/sudoers/test8.toke.ok:
5384         Add test for a newline in the middle of a string when no line
5385         continuation character is used.
5386         [de2394bc86ab]
5387
5388         * plugins/sudoers/toke.c, plugins/sudoers/toke.l:
5389         Use bitwise AND instead of modulus to check for length being odd. A
5390         newline in the middle of a string is an error unless a line
5391         continuation character is used.
5392         [bdb1d762a1d5]
5393
5394         * plugins/sudoers/gram.c, plugins/sudoers/gram.y,
5395         plugins/sudoers/toke.c, plugins/sudoers/toke.l:
5396         Move lexer globals initialization into init_lexer.
5397         [1ce62211aadb]
5398
5399         * plugins/sudoers/toke.c, plugins/sudoers/toke.l:
5400         Fix a potential crash when a non-regular file is present in an
5401         includedir. Fixes bz #452
5402         [1586760c3525]
5403
5404         * pp:
5405         On some Linux systems, "uname -p" contains detailed processor info
5406         so check "uname -m" first and then "uname -p" if needed. Recognize
5407         PLD Linux.
5408         [b8535cb9012e]
5409
5410 2011-03-25  Todd C. Miller  <Todd.Miller@courtesan.com>
5411
5412         * plugins/sudoers/redblack.c:
5413         Don't need all sudoers.h here.
5414         [8c0929f42dab]
5415
5416         * src/sudo.c:
5417         Print sudo version early, in case policy plugin init fails.
5418         [47cddc4358bc]
5419
5420 2011-03-24  Todd C. Miller  <Todd.Miller@courtesan.com>
5421
5422         * plugins/sudoers/regress/sudoers/test4.toke.ok:
5423         Update to match change in input.
5424         [4a3af8e68790]
5425
5426         * plugins/sudoers/toke.c, plugins/sudoers/toke.l:
5427         Make an empty group or netgroup a syntax error.
5428         [66f51ddc2ff6]
5429
5430         * plugins/sudoers/regress/sudoers/test7.in,
5431         plugins/sudoers/regress/sudoers/test7.out.ok,
5432         plugins/sudoers/regress/sudoers/test7.toke.ok:
5433         An empty group or netgroup should be a syntax error.
5434         [bd5bf1e2edce]
5435
5436         * plugins/sudoers/regress/sudoers/test6.in,
5437         plugins/sudoers/regress/sudoers/test6.out.ok,
5438         plugins/sudoers/regress/sudoers/test6.toke.ok:
5439         Check that uids work in per-user and per-runas Defaults Check that
5440         uids and gids work in a Command_Spec
5441         [c5e848e6082b]
5442
5443         * plugins/sudoers/regress/sudoers/test5.in,
5444         plugins/sudoers/regress/sudoers/test5.out.ok,
5445         plugins/sudoers/regress/sudoers/test5.toke.ok:
5446         Test empty string in User_Alias and Command_Spec
5447         [3a084d777e03]
5448
5449         * plugins/sudoers/toke.c, plugins/sudoers/toke.l:
5450         Allow a group ID in the User_Spec.
5451         [bc2859eb71dc]
5452
5453 2011-03-23  Todd C. Miller  <Todd.Miller@courtesan.com>
5454
5455         * plugins/sudoers/toke.c, plugins/sudoers/toke.l:
5456         Return an error for the empty string when a word is expected. Allow
5457         an ID for per-user or per-runas Defaults.
5458         [915c259b00ff]
5459
5460         * plugins/sudoers/testsudoers.c:
5461         Fix printing "User_Alias FOO = ALL"
5462         [ba58c3d548b3]
5463
5464 2011-03-22  Todd C. Miller  <Todd.Miller@courtesan.com>
5465
5466         * src/parse_args.c:
5467         Better error message about invalid -C argument
5468         [c9a8d15bbf5d]
5469
5470         * NEWS:
5471         fix typo
5472         [cdcfbafed013]
5473
5474         * doc/sudoers.pod:
5475         Fix placement of equal size ('=') in user specification summary.
5476         [5ad7178b230d]
5477
5478 2011-03-21  Todd C. Miller  <Todd.Miller@courtesan.com>
5479
5480         * MANIFEST:
5481         update to match sudoers regress
5482         [e04db0648717]
5483
5484         * plugins/sudoers/toke.c, plugins/sudoers/toke.l:
5485         Restore ability to define TRACELEXER and have trace output go to
5486         stderr.
5487         [d9531e4d1b20]
5488
5489         * plugins/sudoers/toke.c, plugins/sudoers/toke.l:
5490         Restore old behavior of setting sawspace = TRUE for command line
5491         args when a line continuation character is hit to avoid causing
5492         problems for existing sudoers files.
5493         [fd930ad25550]
5494
5495         * plugins/sudoers/regress/sudoers/test4.in,
5496         plugins/sudoers/regress/sudoers/test4.out.ok,
5497         plugins/sudoers/regress/sudoers/test4.toke.ok:
5498         Add test for line continuation and aliases
5499         [29ab538ca6bb]
5500
5501         * plugins/sudoers/Makefile.in:
5502         Make test output line up nicely for parse vs. toke
5503         [257ef82c1434]
5504
5505         * plugins/sudoers/Makefile.in,
5506         plugins/sudoers/regress/sudoers/test1.in,
5507         plugins/sudoers/regress/sudoers/test1.out.ok,
5508         plugins/sudoers/regress/sudoers/test1.toke.ok,
5509         plugins/sudoers/regress/sudoers/test2.in,
5510         plugins/sudoers/regress/sudoers/test2.out.ok,
5511         plugins/sudoers/regress/sudoers/test2.toke.ok,
5512         plugins/sudoers/regress/sudoers/test3.in,
5513         plugins/sudoers/regress/sudoers/test3.out.ok,
5514         plugins/sudoers/regress/sudoers/test3.toke.ok,
5515         plugins/sudoers/regress/testsudoers/test1.ok,
5516         plugins/sudoers/regress/testsudoers/test1.out.ok,
5517         plugins/sudoers/regress/testsudoers/test1.sh,
5518         plugins/sudoers/regress/testsudoers/test2.out,
5519         plugins/sudoers/regress/testsudoers/test2.sh,
5520         plugins/sudoers/regress/testsudoers/test3.ok,
5521         plugins/sudoers/regress/testsudoers/test3.sh,
5522         plugins/sudoers/regress/visudo/test1.ok,
5523         plugins/sudoers/regress/visudo/test1.sh:
5524         Move parser tests to sudoers directory and test the tokenizer output
5525         too.
5526         [44f529b3cdb6]
5527
5528         * plugins/sudoers/toke.c, plugins/sudoers/toke.l:
5529         If we match a rule anchored to the beginning of a line after parsing
5530         a line continuation character, return an ERROR token. It would be
5531         nicer to use REJECT instead but that substantially slows down the
5532         lexer.
5533         [355478293f8c]
5534
5535         * plugins/sudoers/gram.c, plugins/sudoers/gram.y,
5536         plugins/sudoers/toke.c, plugins/sudoers/toke.h,
5537         plugins/sudoers/toke.l:
5538         Move LEXTRACE macro to toke.h so we can use it in yyerror().
5539         [72ee7a06d3ca]
5540
5541 2011-03-20  Todd C. Miller  <Todd.Miller@courtesan.com>
5542
5543         * plugins/sudoers/testsudoers.c, plugins/sudoers/toke.c,
5544         plugins/sudoers/toke.l:
5545         Make lex tracing settable at run-time in testsudoers via the -t
5546         flag. Trace output goes to stderr. Will be used by regress tests
5547         to check lexer.
5548         [93bd53c413c8]
5549
5550         * plugins/sudoers/toke.c, plugins/sudoers/toke.l:
5551         Allow whitespace after the modifier in a Defaults entry. E.g.
5552         "Defaults: username set_home"
5553         [9dfcf8dd8a3a]
5554
5555 2011-03-18  Todd C. Miller  <Todd.Miller@courtesan.com>
5556
5557         * mkpkg:
5558         Don't set CC when cross-compiling.
5559         [4b95b0c04e1c]
5560
5561         * NEWS:
5562         Credit Matthew Thomas for the sudoers_search_filter changes.
5563         [a65998ab09f7]
5564
5565         * MANIFEST:
5566         Add the .sym files to the MANIFEST
5567         [f599225cc861]
5568
5569         * NEWS:
5570         Update for sudo 1.8.1 beta
5571         [71021e854c49]
5572
5573         * doc/sudo_plugin.pod, plugins/sudoers/sudoers.c, src/parse_args.c:
5574         user_shell -> run_shell to avoid confusion with the user's SHELL
5575         variable.
5576         [dc0ac6dafc21]
5577
5578         * src/exec_pty.c:
5579         Save the controlling tty process group before suspending in pty
5580         mode. Previously, we assumed that the child pgrp == child pid
5581         (which is usually, but not always, the case).
5582         [10b2883b7875]
5583
5584         * doc/sudoers.ldap.pod, plugins/sudoers/ldap.c:
5585         Add support for sudoers_search_filter setting in ldap.conf. This
5586         can be used to restrict the set of records returned by the LDAP
5587         query.
5588         [b0f1b721d102]
5589
5590 2011-03-17  Todd C. Miller  <Todd.Miller@courtesan.com>
5591
5592         * configure, configure.in:
5593         Remove the hack to disable -g in CFLAGS unless --with-devel
5594         [89822cf84ef4]
5595
5596         * doc/sudoers.pod:
5597         The '@' character does not normally need to be quoted.
5598         [7823f5ed829a]
5599
5600         * plugins/sudoers/toke.c, plugins/sudoers/toke.l:
5601         We normaly transition from GOTDEFS to STARTDEFS on whitespace, but
5602         if that whitespace is followed by a comma, we want to treat it as
5603         part of a list and not transition.
5604         [1ca6943e1824]
5605
5606         * plugins/sudoers/regress/testsudoers/test3.ok,
5607         plugins/sudoers/regress/testsudoers/test3.sh:
5608         Add check for whitespace when a User_List is used for a per-user
5609         Defaults entry.
5610         [91f75e6dd19a]
5611
5612         * plugins/sudoers/regress/testsudoers/test2.out,
5613         plugins/sudoers/regress/testsudoers/test2.sh:
5614         Expand quoted name checks to cover recent fixes.
5615         [ce4f76bca146]
5616
5617         * plugins/sudoers/toke.c, plugins/sudoers/toke.l:
5618         Fix parsing of double-quoted names in Defaultd and Aliases which was
5619         broken in 601d97ea8792.
5620         [424b0d6c1dc4]
5621
5622         * plugins/sudoers/Makefile.in:
5623         toke_util.c lives in $(srcdir) not $(devdir)
5624         [94866bebee83]
5625
5626 2011-03-16  Todd C. Miller  <Todd.Miller@courtesan.com>
5627
5628         * configure, configure.in:
5629         Change trunk version to 1.8.x to distinguish from real 1.8.0.
5630         [a9781e61d064]
5631
5632         * NEWS, doc/UPGRADE:
5633         Document major changes in 1.8.1 and add upgrade notes.
5634         [f2cf51b0d9ce]
5635
5636         * plugins/sudoers/match.c:
5637         Be careful not to deref user_stat if it is NULL. This cannot
5638         currently happen in sudo but might in other programs using the
5639         parser.
5640         [06a2334dd674]
5641
5642         * mkpkg:
5643         configure will not add -O2 to CFLAGS if it is already defined to add
5644         -O2 to the CFLAGS we pass in when PIE is being used.
5645         [1ce6481ece59]
5646
5647         * doc/sudoers.pod:
5648         Warn about the dangers of log_input and mention iolog_file and
5649         iolog_dir in the log_input and log_output descriptions.
5650         [ae854ffb0768]
5651
5652         * pp:
5653         sync with git version
5654         [a993e39ce3cb]
5655
5656         * doc/sudoers.pod:
5657         It seems that h comes after i
5658         [0f621109220d]
5659
5660         * doc/sudoers.pod:
5661         Move log_input and log_output to their proper, sorted, location.
5662         Document set_utmp and utmp_runas.
5663         [273b234b9c34]
5664
5665         * src/exec.c:
5666         Save the controlling tty process group before suspending so we can
5667         restore it when we resume. Fixes job control problems on Linux
5668         caused by the previous attemp to fix resuming a shell when I/O
5669         logging not enabled.
5670         [f03a660315ee]
5671
5672         * common/lbuf.c:
5673         Fix printing of the remainder after a newline. Fixes "sudo -l"
5674         output corruption that could occur in some cases.
5675         [25d83fb501fc]
5676
5677 2011-03-15  Todd C. Miller  <Todd.Miller@courtesan.com>
5678
5679         * config.h.in, configure, configure.in, src/exec_pty.c,
5680         src/sudo_exec.h, src/utmp.c:
5681         Add support for ut_exit
5682         [b574c13f1bba]
5683
5684         * doc/sudo_plugin.pod, plugins/sudoers/def_data.c,
5685         plugins/sudoers/def_data.h, plugins/sudoers/def_data.in,
5686         plugins/sudoers/defaults.c, plugins/sudoers/sudoers.c, src/exec.c,
5687         src/exec_pty.c, src/sudo.c, src/sudo.h, src/sudo_exec.h, src/utmp.c:
5688         Add support for controlling whether utmp is updated and which user
5689         is listed in the entry.
5690         [44a81632133f]
5691
5692         * plugins/sudoers/def_data.h, plugins/sudoers/defaults.h,
5693         plugins/sudoers/ldap.c, plugins/sudoers/mkdefaults,
5694         plugins/sudoers/parse.c:
5695         Fix typo; tupple vs. tuple
5696         [697744acb710]
5697
5698         * src/utmp.c:
5699         For legacy utmp, strip the /dev/ prefix before trying to determine
5700         slot since the ttys file does not include the /dev/ prefix.
5701         [7ad5b81ff90c]
5702
5703         * aclocal.m4, configure, configure.in, pathnames.h.in:
5704         Add check for _PATH_UTMP
5705         [21e638029bfd]
5706
5707 2011-03-14  Todd C. Miller  <Todd.Miller@courtesan.com>
5708
5709         * plugins/sudoers/regress/iolog_path/check_iolog_path.c:
5710         Adapt check_iolog_path to sessid changes
5711         [728b5fe2be6f]
5712
5713         * config.h.in, configure, configure.in, src/Makefile.in,
5714         src/exec_pty.c, src/sudo_exec.h, src/utmp.c:
5715         Redo utmp handling. If no getutent()/getutxent() is available,
5716         assume a ttyslot-based utmp. If getttyent() is available, use that
5717         directly instead of ttyslot() so we don't have to do the stdin dup2
5718         dance.
5719         [18aa455cd140]
5720
5721 2011-03-11  Todd C. Miller  <Todd.Miller@courtesan.com>
5722
5723         * MANIFEST, src/Makefile.in, src/exec_pty.c, src/sudo_exec.h,
5724         src/utmp.c:
5725         Move utmp handling into utmp.c
5726         [f6eae6c8e012]
5727
5728         * common/aix.c, common/alloc.c, common/fileops.c, common/fmt_string.c,
5729         common/lbuf.c, common/list.c, compat/isblank.c, compat/memrchr.c,
5730         compat/mksiglist.c, compat/nanosleep.c, compat/snprintf.c,
5731         compat/strlcat.c, compat/strlcpy.c, compat/strsignal.c,
5732         compat/utimes.c, doc/sudo.pod, doc/visudo.pod,
5733         include/sudo_plugin.h, plugins/sample/sample_plugin.c,
5734         plugins/sample_group/getgrent.c, plugins/sample_group/plugin_test.c,
5735         plugins/sudoers/alias.c, plugins/sudoers/auth/afs.c,
5736         plugins/sudoers/auth/aix_auth.c, plugins/sudoers/auth/bsdauth.c,
5737         plugins/sudoers/auth/dce.c, plugins/sudoers/auth/fwtk.c,
5738         plugins/sudoers/auth/kerb4.c, plugins/sudoers/auth/kerb5.c,
5739         plugins/sudoers/auth/pam.c, plugins/sudoers/auth/passwd.c,
5740         plugins/sudoers/auth/rfc1938.c, plugins/sudoers/auth/secureware.c,
5741         plugins/sudoers/auth/securid.c, plugins/sudoers/auth/securid5.c,
5742         plugins/sudoers/auth/sia.c, plugins/sudoers/boottime.c,
5743         plugins/sudoers/bsm_audit.c, plugins/sudoers/env.c,
5744         plugins/sudoers/find_path.c, plugins/sudoers/goodpath.c,
5745         plugins/sudoers/logging.c, plugins/sudoers/parse.c,
5746         plugins/sudoers/parse.h, plugins/sudoers/redblack.c,
5747         plugins/sudoers/set_perms.c, plugins/sudoers/timestr.c,
5748         plugins/sudoers/tsgetgrpw.c, plugins/sudoers/visudo.c, src/exec.c,
5749         src/exec_pty.c, src/get_pty.c, src/parse_args.c, src/sudo.c,
5750         src/sudo.h, src/sudo_edit.c, src/sudo_exec.h, src/sudo_noexec.c,
5751         src/sudo_plugin_int.h, src/tgetpass.c:
5752         Update copyright years.
5753         [16aa39f9060a]
5754
5755         * doc/sudo_plugin.pod, plugins/sudoers/sudoers.c,
5756         plugins/sudoers/sudoers.h, src/parse_args.c:
5757         Add "user_shell" boolean as a way to indicate to the plugin that the
5758         -s flag was given.
5759         [fb1ef0897b32]
5760
5761         * plugins/sudoers/iolog_path.c, plugins/sudoers/logging.c,
5762         plugins/sudoers/sudoers.h:
5763         Move sessid out of sudo_user.
5764         [ba298ddb57f4]
5765
5766         * plugins/sudoers/iolog.c, plugins/sudoers/iolog_path.c,
5767         plugins/sudoers/logging.c, plugins/sudoers/sudoers.c,
5768         plugins/sudoers/sudoers.h:
5769         Log the TSID even if it is not a simple session ID.
5770         [d7cc1b9c513c]
5771
5772         * doc/sample.sudo.conf, doc/sudo.pod, doc/sudoers.pod:
5773         Document noexec in sample.sudo.conf and add back noexec_file section
5774         in sudoers with a note that it is deprecated.
5775         [4a6e961e494d]
5776
5777         * plugins/sudoers/set_perms.c:
5778         Fix running commands as non-root on systems where setreuid() changes
5779         the saved uid based on the effective uid we are changing to.
5780         [df0769b71b34]
5781
5782 2011-03-10  Todd C. Miller  <Todd.Miller@courtesan.com>
5783
5784         * plugins/sudoers/defaults.c, src/load_plugins.c, src/sudo.c,
5785         src/sudo.h:
5786         Move noexec path into sudo.conf now that sudo itself handles noexec.
5787         Currently can be configured in sudoers too but is now undocumented
5788         and will be removed in a future release.
5789         [6fa8befdc110]
5790
5791         * doc/sudo.pod, doc/sudoers.pod:
5792         Document "Path noexec ..." in sudo.conf. No longer document
5793         noexec_file in sudoers, it will be removed in a future release.
5794         [24eee3a0b3e5]
5795
5796         * plugins/sudoers/env.c, plugins/sudoers/sudoers.c,
5797         plugins/sudoers/sudoers.h, src/sudo.c, src/sudo.h:
5798         Move noexec handling to sudo front-end where it is documented as
5799         being.
5800         [3ed4f10d7052]
5801
5802         * config.h.in, configure, configure.in, plugins/sudoers/sudoers.c,
5803         src/exec.c, src/exec_pty.c, src/sudo.c, src/sudo.h, src/sudo_edit.c,
5804         src/sudo_exec.h:
5805         Add support for disabling exec via solaris privileges. Includes
5806         preparation for moving noexec support out of sudoers and into front
5807         end as documented.
5808         [dec843ed553e]
5809
5810         * plugins/sample/Makefile.in, plugins/sample/sample_plugin.sym,
5811         plugins/sample_group/Makefile.in,
5812         plugins/sample_group/sample_group.sym, plugins/sudoers/Makefile.in,
5813         plugins/sudoers/sudoers.sym:
5814         Only export the symbols corresponding to the plugin structs.
5815         [8d8d03b0ca54]
5816
5817         * configure, configure.in, plugins/sample/Makefile.in,
5818         plugins/sample_group/Makefile.in, plugins/sudoers/Makefile.in:
5819         Install plugins manually instead of using libtool. This works
5820         around a problem on AIX where libtool will install a .a file
5821         containing the .so file instead of the .so file itself.
5822         [796971cfbddb]
5823
5824         * Makefile.in:
5825         Move check into its own rule since some versions of make will run
5826         both targets as the default rule.
5827         [34d759979176]
5828
5829         * configure, ltmain.sh, m4/libtool.m4, m4/ltoptions.m4,
5830         m4/ltversion.m4, m4/lt~obsolete.m4:
5831         Update to libtool 2.2.10
5832         [34c130de6af7]
5833
5834 2011-03-09  Todd C. Miller  <Todd.Miller@courtesan.com>
5835
5836         * src/exec.c:
5837         In handle_signals(), restart the read() on EINTR to make sure we
5838         keep up with the signal pipe. Don't return -1 on EAGAIN, it just
5839         means we have emptied the pipe.
5840         [d5b9c8eb9000]
5841
5842         * compat/mktemp.c:
5843         Reorder functions to quiet a compiler warning.
5844         [c9e9a23729f0]
5845
5846         * mkpkg:
5847         Use the Sun Studio C compiler on Solaris if possible
5848         [11a86e27891e]
5849
5850 2011-03-08  Todd C. Miller  <Todd.Miller@courtesan.com>
5851
5852         * mkpkg:
5853         Fix default setting of osversion variable.
5854         [52e49ca1cedd]
5855
5856         * doc/sudo_plugin.pod:
5857         Make two login_class entris consistent.
5858         [18ff1fa94a91]
5859
5860         * config.h.in, configure, configure.in, src/exec.c, src/exec_pty.c,
5861         src/sudo_exec.h:
5862         Add support for adding a utmp entry when allocating a new pty.
5863         Requires the BSD login(3) or SYSV/POSIX getutent()/getutxent().
5864         Currently only creates a new entry if the existing tty has a utmp
5865         entry.
5866         [32db72b81d80]
5867
5868         * plugins/sudoers/boottime.c:
5869         Avoid pulling in headers we don't need on Linux For getutx?id(),
5870         call setutx?ent() first and always call endutx?ent().
5871         [5dad21e1ee1b]
5872
5873         * configure, configure.in:
5874         Add some more libs to SUDOERS_LIBS instead of relying on them to be
5875         pulled in by SUDO_LIBS.
5876         [18a7c21c09a7]
5877
5878         * plugins/sudoers/sudoers.c:
5879         Fix return value of "sudo -l command" when command is not allowed,
5880         broken in [c7097ea22111]. The default return value is now TRUE and
5881         a bad: label is used when permission is denied. Also fixed missing
5882         permissions restoration on certain errors. On error()/errorx(), the
5883         password and group files are now closed before returning.
5884         [4f2d0e869ae5]
5885
5886 2011-03-07  Todd C. Miller  <Todd.Miller@courtesan.com>
5887
5888         * plugins/sudoers/set_perms.c, plugins/sudoers/sudoers.c:
5889         Fix passing of login class back to sudo front end.
5890         [6f70a784ce48]
5891
5892         * mkpkg:
5893         Add --osversion flag to specify OS instead of running "pp
5894         --probeonly"
5895         [a8efdccb7bc1]
5896
5897         * sudo.pp:
5898         Fix expr usage w/ GNU expr
5899         [48895599ee63]
5900
5901 2011-03-06  Todd C. Miller  <Todd.Miller@courtesan.com>
5902
5903         * plugins/sudoers/sudoers.c:
5904         Fix exit value for validate and list mode.
5905         [c7097ea22111]
5906
5907         * plugins/sudoers/sudoers.c:
5908         Fix non-interactive mode with sudoers plugin.
5909         [172f29597bd2]
5910
5911 2011-03-05  Todd C. Miller  <Todd.Miller@courtesan.com>
5912
5913         * doc/sudoreplay.pod:
5914         sudoreplay can now find IDs other than %{seq} and display the
5915         session.
5916         [fc3dd3be67e9]
5917
5918 2011-03-04  Todd C. Miller  <Todd.Miller@courtesan.com>
5919
5920         * plugins/sudoers/sudoreplay.c:
5921         Add support for replaying sessions when iolog_file is set to
5922         something other than %{seq}.
5923         [ca3131243874]
5924
5925         * plugins/sudoers/visudo.c:
5926         If we are killed by a signal, display the name of the signal that
5927         got us.
5928         [994bb76a990e]
5929
5930         * configure, configure.in:
5931         Move libs used for authentication from SUDO_LIBS to SUDOERS_LIBS
5932         where they belong.
5933         [40f94b936fa4]
5934
5935         * configure.in:
5936         Fix bug in skey/opie check that could cause a shell warning.
5937         [83c043072be5]
5938
5939         * plugins/sudoers/testsudoers.c, plugins/sudoers/visudo.c:
5940         No longer need sudo_getepw() stubs.
5941         [bbee15c36912]
5942
5943 2011-03-03  Todd C. Miller  <Todd.Miller@courtesan.com>
5944
5945         * plugins/sudoers/sudo_nss.c:
5946         Fix exit value of "sudo -l command" in sudoers module.
5947         [a6541867521b]
5948
5949 2011-03-02  Todd C. Miller  <Todd.Miller@courtesan.com>
5950
5951         * compat/regress/glob/globtest.c:
5952         Use fgets() not fgetln() for portability.
5953         [df1bb67fb168]
5954
5955         * sudo.pp:
5956         Don't use the beta or release candidate version as the rpm release.
5957         [d661ef78021a]
5958
5959 2011-02-25  Todd C. Miller  <Todd.Miller@courtesan.com>
5960
5961         * configure, configure.in:
5962         version 1.8.0
5963         [f6530d56f6ae] [SUDO_1_8_0]
5964
5965         * NEWS:
5966         update sudo 1.8 section
5967         [f2ee2cf95d18]
5968
5969 2011-02-23  Todd C. Miller  <Todd.Miller@courtesan.com>
5970
5971         * plugins/sudoers/regress/testsudoers/test2.sh:
5972         fix test description
5973         [cd5730fa9f09]
5974
5975         * plugins/sudoers/regress/testsudoers/test2.out,
5976         plugins/sudoers/regress/testsudoers/test2.sh,
5977         plugins/sudoers/regress/visudo/test2.out,
5978         plugins/sudoers/regress/visudo/test2.sh:
5979         convert test2 to use testsudoers
5980         [b5ec3f0b69f1]
5981
5982         * include/sudo_plugin.h, src/sudo_plugin_int.h:
5983         Move struct generic_plugin to sudo_plugin_int.h
5984         [6f7bc629329c]
5985
5986         * plugins/sudoers/gram.c, plugins/sudoers/gram.y,
5987         plugins/sudoers/parse.c, plugins/sudoers/parse.h,
5988         plugins/sudoers/set_perms.c, plugins/sudoers/sudoers.c,
5989         plugins/sudoers/sudoers.h:
5990         Allow sudoers file name, mode, uid and gid to be specified in the
5991         settings list. The sudo front end does not currently set these but
5992         may in the future.
5993         [22f38a0fda2a]
5994
5995 2011-02-21  Todd C. Miller  <Todd.Miller@courtesan.com>
5996
5997         * configure, configure.in, doc/sudo.cat, doc/sudo.man.in,
5998         doc/sudo_plugin.cat, doc/sudo_plugin.man.in, doc/sudoers.cat,
5999         doc/sudoers.ldap.cat, doc/sudoers.ldap.man.in, doc/sudoers.man.in,
6000         doc/sudoreplay.cat, doc/sudoreplay.man.in, doc/visudo.cat,
6001         doc/visudo.man.in:
6002         1.8.0rc1
6003         [5d4588b9c057]
6004
6005         * doc/sudo.pod, doc/sudoreplay.pod, doc/visudo.pod,
6006         plugins/sudoers/sudoreplay.c, plugins/sudoers/visudo.c,
6007         src/parse_args.c, src/sudo.h:
6008         add help text to sudo, visudo and sudoreplay for the -h option
6009         [52e7378d8476]
6010
6011 2011-02-19  Todd C. Miller  <Todd.Miller@courtesan.com>
6012
6013         * compat/snprintf.c:
6014         avoid using "howmany" for a parameter name since it is a select-
6015         related macro
6016         [a14d565401a1]
6017
6018         * doc/sudoers.pod:
6019         mention group_plugin when describing nonunix_group
6020         [e0d1d0034b17]
6021
6022         * doc/sudo_plugin.pod:
6023         Add missing period at end of sentence
6024         [6744d7e9056d]
6025
6026         * Makefile.in, doc/Makefile.in, include/Makefile.in,
6027         plugins/sample/Makefile.in, plugins/sample_group/Makefile.in,
6028         plugins/sudoers/Makefile.in, src/Makefile.in:
6029         add localstatedir; closes bug 471
6030         [7aefcab85088]
6031
6032         * config.h.in, configure, configure.in, plugins/sudoers/sudoreplay.c,
6033         src/exec.c, src/exec_pty.c:
6034         The howmany macro lives in sys/sysmacros.h on SVR5 systems Closes
6035         Bug 470
6036         [927ed6740f32]
6037
6038         * configure.in:
6039         add missing AH_TEMPLATE for ENV_RESET
6040         [16300010c986]
6041
6042         * src/exec.c:
6043         SVR5 systems return non-zero for success on socketpair(), check for
6044         -1 instead. Closes Bug 469
6045         [4d276494bf8e]
6046
6047 2011-02-16  Todd C. Miller  <Todd.Miller@courtesan.com>
6048
6049         * configure, configure.in:
6050         1.8.0b5
6051         [d611cd5d73d3]
6052
6053         * doc/sudo.cat, doc/sudo.man.in, doc/sudo_plugin.cat,
6054         doc/sudo_plugin.man.in, doc/sudoers.cat, doc/sudoers.ldap.cat,
6055         doc/sudoers.ldap.man.in, doc/sudoers.man.in, doc/sudoreplay.cat,
6056         doc/sudoreplay.man.in, doc/visudo.cat, doc/visudo.man.in:
6057         regen
6058         [85e96eeaed82]
6059
6060         * doc/sudo.pod:
6061         Document that a sudo.conf file with no Pligin lines uses the default
6062         sudoers plugins.
6063         [88bd52da977f]
6064
6065         * src/load_plugins.c:
6066         If sudo.conf contains no Plugin lines, use the default sudoers
6067         policy and I/O plugins.
6068         [fd8f4cb811ab]
6069
6070 2011-02-14  Todd C. Miller  <Todd.Miller@courtesan.com>
6071
6072         * plugins/sudoers/sudo_nss.c:
6073         Avoid printing empty "Runas and Command-specific defaults for user"
6074         line.
6075         [2dd330fe4f8b]
6076
6077         * common/lbuf.c:
6078         Truncate the buffer at buf.len before printing in the non-wordwrap
6079         case.
6080         [901e9833f80d]
6081
6082         * common/lbuf.c:
6083         Remove extra newline when the tty width is very small or unavailable
6084         [245c05506c0e]
6085
6086 2011-02-11  Todd C. Miller  <Todd.Miller@courtesan.com>
6087
6088         * plugins/sudoers/alias.c:
6089         Remove unneeded variable.
6090         [2c086d30b796]
6091
6092 2011-02-09  Todd C. Miller  <Todd.Miller@courtesan.com>
6093
6094         * configure, configure.in:
6095         Prefer getutxid over getutid
6096         [3f3322e9c93e]
6097
6098         * plugins/sudoers/boottime.c:
6099         Include utmp.h / utmpx.h before missing.h as apparently including it
6100         afterwards causes a compilation problem on GNU Hurd.
6101         [a528029ae962]
6102
6103 2011-02-07  Todd C. Miller  <Todd.Miller@courtesan.com>
6104
6105         * plugins/sudoers/sudoreplay.c, plugins/sudoers/toke_util.c:
6106         #include "foo.h", not <foo.h> for local includes.
6107         [f65ec693998e]
6108
6109         * src/parse_args.c:
6110         remove bogus XXX
6111         [9136c17d53ce]
6112
6113         * compat/mksiglist.c:
6114         Fix typo
6115         [1a3bb7b455c9]
6116
6117         * compat/glob.c, plugins/sudoers/ldap.c, plugins/sudoers/logging.c,
6118         plugins/sudoers/match.c:
6119         return foo not return(foo)
6120         [5c9e0647359a]
6121
6122 2011-02-06  Todd C. Miller  <Todd.Miller@courtesan.com>
6123
6124         * src/exec.c:
6125         Remove duplicate FD_SET of signal_pipe[0]
6126         [3096527d2215]
6127
6128 2011-02-05  Todd C. Miller  <Todd.Miller@courtesan.com>
6129
6130         * compat/mksiglist.c:
6131         Use "missing.h" not <missing.h> in generated code.
6132         [d8e09cffbe09]
6133
6134 2011-02-04  Todd C. Miller  <Todd.Miller@courtesan.com>
6135
6136         * aclocal.m4, configure:
6137         fix --with-iologdir=no
6138         [a89699cb5f5f]
6139
6140         * aclocal.m4, configure:
6141         fix typo that broke --with-iologdir
6142         [91b54eb22403]
6143
6144 2011-02-03  Todd C. Miller  <Todd.Miller@courtesan.com>
6145
6146         * configure, configure.in, doc/sudo.cat, doc/sudo.man.in,
6147         doc/sudo_plugin.cat, doc/sudo_plugin.man.in, doc/sudoers.cat,
6148         doc/sudoers.ldap.cat, doc/sudoers.ldap.man.in, doc/sudoers.man.in,
6149         doc/sudoreplay.cat, doc/sudoreplay.man.in, doc/visudo.cat,
6150         doc/visudo.man.in:
6151         Bump version to 1.8.0b4
6152         [e2b7f2cdc02e]
6153
6154         * NEWS:
6155         sync
6156         [decf5a0a8a33]
6157
6158         * doc/sudoers.cat, doc/sudoers.man.in, doc/sudoers.pod:
6159         Attempt to clarify how users and groups interact in Runas_Specs
6160         [e6fb3a2dbd77]
6161
6162         * plugins/sudoers/regress/visudo/test2.out,
6163         plugins/sudoers/regress/visudo/test2.sh:
6164         Add test for quoted group that contains escaped double quotes
6165         [44596c48c629]
6166
6167         * src/exec.c, src/exec_pty.c:
6168         Pass SIGUSR1/SIGUSR2 through to the child.
6169         [c3108a827b01]
6170
6171         * src/exec_pty.c, src/sudo_exec.h:
6172         Use special values SIGCONT_FG and SIGCONT_BG instead of SIGUSR1 and
6173         SIGUSR2 to indicate whether the child should be continued in the
6174         foreground or background.
6175         [35ca47cc6785]
6176
6177         * src/exec.c:
6178         Use pid_t not int and check the return value of kill()
6179         [36ae7d37d7f9]
6180
6181 2011-02-02  Todd C. Miller  <Todd.Miller@courtesan.com>
6182
6183         * src/exec_pty.c:
6184         Remove obsolete comment
6185         [baebef4919f6]
6186
6187         * src/exec.c:
6188         In non-pty mode before continuing the child, make it the foreground
6189         pgrp if possible. Fixes resuming a shell.
6190         [fef5b1d02ddb]
6191
6192         * src/exec_pty.c:
6193         If we get a signal other than SIGCHLD in the monitor, pass it
6194         directly to the child.
6195         [b3ecb28163a0]
6196
6197         * src/exec.c, src/exec_pty.c, src/sudo.h:
6198         Save signal state before changing handlers and restore before we
6199         execute the command.
6200         [faf7475dc4bf]
6201
6202 2011-02-01  Todd C. Miller  <Todd.Miller@courtesan.com>
6203
6204         * plugins/sudoers/iolog.c:
6205         Use a char array to map a number to a base36 digit.
6206         [257576c51f8b]
6207
6208         * doc/sudoers.ldap.cat, doc/sudoers.ldap.man.in, doc/sudoers.ldap.pod:
6209         Be clear about what versions of sudo support new LDAP attributes.
6210         Fix up some formatting of attribute names. Minor other tweaks.
6211         [39f65df71f65]
6212
6213 2011-01-31  Todd C. Miller  <Todd.Miller@courtesan.com>
6214
6215         * plugins/sudoers/toke.c, plugins/sudoers/toke.l:
6216         match quoted strings the same way whether in a Defaults line or as a
6217         user/group/netgroup name. Fixes escaped double quotes in quoted
6218         user/group/netgroup names.
6219         [601d97ea8792]
6220
6221         * plugins/sudoers/Makefile.in:
6222         'make check' depends on visudo and testsudoers
6223         [127c5a24df8f]
6224
6225         * plugins/sudoers/sudoers2ldif:
6226         Add sudoOrder attribute to each entry Parse LOG_{INPUT,OUTPUT} tags
6227         [9029163a58c3]
6228
6229 2011-01-30  Todd C. Miller  <Todd.Miller@courtesan.com>
6230
6231         * doc/UPGRADE:
6232         Mention LDAP attribute compatibility status.
6233         [2c3595aaec63]
6234
6235 2011-01-28  Todd C. Miller  <Todd.Miller@courtesan.com>
6236
6237         * README.LDAP:
6238         Mention phpQLAdmin
6239         [9304c9064fbe]
6240
6241         * INSTALL, NEWS, config.h.in, configure, configure.in,
6242         doc/sudoers.man.in, doc/sudoers.pod, plugins/sudoers/defaults.c:
6243         Add --disable-env-reset configure option.
6244         [8a753aa13a46]
6245
6246         * doc/sudoers.cat, doc/sudoers.man.in, doc/sudoers.pod:
6247         Document that sudoers_locale also affects logging and email.
6248         [998d6ac11277]
6249
6250         * NEWS, config.h.in, configure, configure.in,
6251         plugins/sudoers/logging.c:
6252         Do logging and email sending in the locale specified by the
6253         "sudoers_locale" setting ("C" by default). Email send by sudo
6254         includes MIME headers when the sudoers locale is not "C".
6255         [cb7e55408400]
6256
6257 2011-01-27  Todd C. Miller  <Todd.Miller@courtesan.com>
6258
6259         * plugins/sudoers/check.c:
6260         Fix indentation
6261         [65ae7e92b9e4]
6262
6263 2011-01-25  Todd C. Miller  <Todd.Miller@courtesan.com>
6264
6265         * NEWS, src/parse_args.c, src/sudo.c:
6266         Perform command escaping for "sudo -s" and "sudo -i" after
6267         validating sudoers so the sudoers entries don't need to have all the
6268         backslashes.
6269         [4e168c103f4b]
6270
6271 2011-01-24  Todd C. Miller  <Todd.Miller@courtesan.com>
6272
6273         * plugins/sudoers/logging.c:
6274         Prepend "list " to the command logged when "sudo -l command" is used
6275         to make it clear that the command was listed, not run.
6276         [f392a6056cd6]
6277
6278         * plugins/sudoers/parse.c:
6279         cosmetic change
6280         [7c0951dbc2dd]
6281
6282         * common/aix.c, common/alloc.c, common/fileops.c, common/fmt_string.c,
6283         common/list.c, common/term.c, compat/fnmatch.c, compat/getcwd.c,
6284         compat/glob.c, compat/isblank.c, compat/memrchr.c, compat/mktemp.c,
6285         compat/nanosleep.c, compat/regress/glob/globtest.c,
6286         compat/snprintf.c, compat/strlcat.c, compat/strlcpy.c,
6287         compat/strsignal.c, compat/utimes.c, plugins/sample/sample_plugin.c,
6288         plugins/sample_group/getgrent.c, plugins/sample_group/plugin_test.c,
6289         plugins/sudoers/alias.c, plugins/sudoers/auth/afs.c,
6290         plugins/sudoers/auth/aix_auth.c, plugins/sudoers/auth/bsdauth.c,
6291         plugins/sudoers/auth/dce.c, plugins/sudoers/auth/fwtk.c,
6292         plugins/sudoers/auth/kerb4.c, plugins/sudoers/auth/kerb5.c,
6293         plugins/sudoers/auth/pam.c, plugins/sudoers/auth/passwd.c,
6294         plugins/sudoers/auth/rfc1938.c, plugins/sudoers/auth/secureware.c,
6295         plugins/sudoers/auth/securid.c, plugins/sudoers/auth/securid5.c,
6296         plugins/sudoers/auth/sia.c, plugins/sudoers/bsm_audit.c,
6297         plugins/sudoers/check.c, plugins/sudoers/defaults.c,
6298         plugins/sudoers/find_path.c, plugins/sudoers/goodpath.c,
6299         plugins/sudoers/gram.c, plugins/sudoers/gram.y,
6300         plugins/sudoers/iolog.c, plugins/sudoers/ldap.c,
6301         plugins/sudoers/match.c, plugins/sudoers/mon_systrace.c,
6302         plugins/sudoers/parse.c, plugins/sudoers/pwutil.c,
6303         plugins/sudoers/redblack.c, plugins/sudoers/set_perms.c,
6304         plugins/sudoers/sudo_nss.c, plugins/sudoers/sudoers.c,
6305         plugins/sudoers/sudoreplay.c, plugins/sudoers/testsudoers.c,
6306         plugins/sudoers/timestr.c, plugins/sudoers/toke.c,
6307         plugins/sudoers/toke.l, plugins/sudoers/toke_util.c,
6308         plugins/sudoers/tsgetgrpw.c, plugins/sudoers/visudo.c,
6309         src/exec_pty.c, src/get_pty.c, src/load_plugins.c, src/parse_args.c,
6310         src/sudo_noexec.c, src/tgetpass.c:
6311         standardize on "return foo;" rather than "return(foo);" or "return
6312         (foo);"
6313         [32d76c5aaf8c]
6314
6315         * plugins/sudoers/sudoers.c:
6316         Do not reject sudoers file just because it is root-writable.
6317         [0febc579185b]
6318
6319 2011-01-21  Todd C. Miller  <Todd.Miller@courtesan.com>
6320
6321         * NEWS:
6322         sync
6323         [1ab03f8278ff]
6324
6325         * plugins/sudoers/sudo_nss.c:
6326         For "sudo -U user -l" if user is not authorized on the host, say so.
6327         [289afe6dd15c]
6328
6329         * plugins/sudoers/ldap.c:
6330         In sudo_ldap_lookup(), always do the initial sudoers check as the
6331         invoking user. If we are listing another user's privs we will do a
6332         separate lookup using list_pw later.
6333         [e52bc15de76d]
6334
6335 2011-01-20  Todd C. Miller  <Todd.Miller@courtesan.com>
6336
6337         * MANIFEST:
6338         add parser fill tests
6339         [4f65140d3515]
6340
6341         * compat/regress/glob/globtest.c, compat/regress/glob/globtest.in:
6342         Don't test features not supported by the bundled glob()
6343         [8ec7ace11949]
6344
6345         * Makefile.in, aclocal.m4, common/Makefile.in, common/term.c,
6346         compat/Makefile.in, configure.in, doc/LICENSE, doc/Makefile.in,
6347         doc/sudo_plugin.man.in, doc/sudo_plugin.pod,
6348         doc/sudoers.ldap.man.in, doc/sudoers.ldap.pod, doc/sudoers.man.in,
6349         doc/sudoers.pod, include/Makefile.in, plugins/sample/Makefile.in,
6350         plugins/sample_group/Makefile.in, plugins/sudoers/Makefile.in,
6351         plugins/sudoers/check.c, plugins/sudoers/defaults.c,
6352         plugins/sudoers/gram.c, plugins/sudoers/gram.y,
6353         plugins/sudoers/iolog.c, plugins/sudoers/iolog_path.c,
6354         plugins/sudoers/ldap.c, plugins/sudoers/match.c,
6355         plugins/sudoers/pwutil.c, plugins/sudoers/sudo_nss.c,
6356         plugins/sudoers/sudoers.c, plugins/sudoers/sudoers.h,
6357         plugins/sudoers/sudoreplay.c, plugins/sudoers/testsudoers.c,
6358         plugins/sudoers/toke.c, plugins/sudoers/toke.l,
6359         plugins/sudoers/toke_util.c, src/Makefile.in, zlib/Makefile.in:
6360         Update copyright year to 2011
6361         [ac1b45cb1809]
6362
6363         * plugins/sudoers/sudo_nss.c:
6364         When listing, use separate lbufs for the defaults and the privileges
6365         and only print something if the number of privileges is non-zero.
6366         Fixes extraneous Defaults output for "sudo -U unauthorized_user -l".
6367         [d0854d39f8ef]
6368
6369         * plugins/sudoers/ldap.c:
6370         Stash pointer to user group vector in LDAP handle and only reuse the
6371         query if it has not changed. We always allocate a new buffer when
6372         we reset the group vector so a simple pointer check is sufficient.
6373         [88861d4eba69]
6374
6375         * plugins/sudoers/sudo_nss.c:
6376         Check initgroups() return value.
6377         [3bdaf58408a7]
6378
6379         * plugins/sudoers/Makefile.in,
6380         plugins/sudoers/regress/parser/check_fill.c:
6381         Add tests for the fill functions in toke_util.c
6382         [bca587ab4956]
6383
6384 2011-01-19  Todd C. Miller  <Todd.Miller@courtesan.com>
6385
6386         * plugins/sudoers/regress/iolog_path/check_iolog_path.c:
6387         fix copyright year
6388         [e2038cdaf055]
6389
6390         * NEWS:
6391         sync
6392         [56ca5d5eaebe]
6393
6394 2011-01-18  Todd C. Miller  <Todd.Miller@courtesan.com>
6395
6396         * common/term.c:
6397         Clear, don't set, OPOST in c_oflag as was intended in 506ad5ae9b4e.
6398         [b91f266624ec]
6399
6400 2011-01-14  Todd C. Miller  <Todd.Miller@courtesan.com>
6401
6402         * mkpkg, sudo.pp:
6403         Add Requires line for audit-libs >= 1.4 for RHEL5+
6404         [6c02f976171b]
6405
6406         * pp:
6407         sync with git version
6408         [d301c32d5865]
6409
6410 2011-01-13  Todd C. Miller  <Todd.Miller@courtesan.com>
6411
6412         * doc/sudoers.cat, doc/sudoers.man.in, doc/sudoers.pod:
6413         fix typo
6414         [39353f92976f]
6415
6416 2011-01-12  Todd C. Miller  <Todd.Miller@courtesan.com>
6417
6418         * NEWS:
6419         Update for sudo 1.7.4p5
6420         [b444da76901f]
6421
6422         * doc/schema.OpenLDAP, doc/schema.iPlanet:
6423         Add sudoNotBefore and sudoNotAfter attributes as optional attributes
6424         to the sudoRole object class. From Andreas Mueller
6425         [dacfad7e7a95]
6426
6427 2011-01-11  Todd C. Miller  <Todd.Miller@courtesan.com>
6428
6429         * NEWS:
6430         Mention "sudo -g group" password check fix.
6431         [1eb8fb14e53b]
6432
6433         * plugins/sudoers/sudoers.c:
6434         Fix "sudo -g" support in the sudoers module.
6435         [07d1b0ce530e]
6436
6437         * plugins/sudoers/check.c:
6438         If the user is running sudo as himself but as a different group we
6439         need to prompt for a password.
6440         [caf1fcc9a117]
6441
6442 2011-01-10  Todd C. Miller  <Todd.Miller@courtesan.com>
6443
6444         * NEWS, config.h.in, configure, configure.in, doc/sudoers.ldap.cat,
6445         doc/sudoers.ldap.man.in, doc/sudoers.ldap.pod,
6446         plugins/sudoers/ldap.c:
6447         Add support for TIMEOUT in ldap.conf, mapping to the OpenLDAP
6448         LDAP_OPT_TIMEOUT. There is no corresponding option for mozilla-
6449         derived LDAP SDKs but we can pass the timeout parameter to
6450         ldap_search_ext_s() or ldap_search_st() when possible.
6451         [5537049991f7]
6452
6453         * doc/sudoers.ldap.cat, doc/sudoers.ldap.man.in:
6454         regen
6455         [5b361c3c4324]
6456
6457         * NEWS, doc/sudoers.ldap.pod, plugins/sudoers/ldap.c:
6458         Add NETWORK_TIMEOUT as an alias for BIND_TIMELIMIT for compatibility
6459         with OpenLDAP ldap.conf files.
6460         [e97843bd16fb]
6461
6462         * plugins/sudoers/pwutil.c:
6463         If user has no supplementary groups, fall back on checking the group
6464         file expliticly.
6465         [5223ad4eb690]
6466
6467 2011-01-08  Todd C. Miller  <Todd.Miller@courtesan.com>
6468
6469         * plugins/sudoers/toke.h, plugins/sudoers/toke_util.c:
6470         constify
6471         [6e132a4cca61]
6472
6473         * plugins/sudoers/toke.c, plugins/sudoers/toke.h,
6474         plugins/sudoers/toke.l:
6475         Move fill macro to toke.h
6476         [623d430798cf]
6477
6478         * MANIFEST, plugins/sudoers/Makefile.in, plugins/sudoers/toke.c,
6479         plugins/sudoers/toke.h, plugins/sudoers/toke.l,
6480         plugins/sudoers/toke_util.c:
6481         Split tokenizer utility functions out into toke_util.c
6482         [89a97bd51618]
6483
6484         * plugins/sudoers/gram.c, plugins/sudoers/gram.y,
6485         plugins/sudoers/toke.c, plugins/sudoers/toke.l:
6486         ANSIfy
6487         [ca0eba1dfaa9]
6488
6489 2011-01-07  Todd C. Miller  <Todd.Miller@courtesan.com>
6490
6491         * MANIFEST:
6492         sync
6493         [a43f94064bb3]
6494
6495         * plugins/sudoers/Makefile.in:
6496         Add visudo tests to check target
6497         [8c82fb4ed40f]
6498
6499         * compat/Makefile.in, compat/regress/fnmatch/fnm_test.c,
6500         compat/regress/fnmatch/fnm_test.in, compat/regress/glob/files,
6501         compat/regress/glob/globtest.c, compat/regress/glob/globtest.in:
6502         Add my regress tests for fnmatch() and glob() from OpenBSD.
6503         [6e8c1f211723]
6504
6505         * plugins/sudoers/regress/testsudoers/test1.sh,
6506         plugins/sudoers/regress/visudo/test1.ok,
6507         plugins/sudoers/regress/visudo/test1.sh:
6508         Add regress test for command tags using visudo -c
6509         [18b0ef207c0f]
6510
6511         * plugins/sudoers/Makefile.in,
6512         plugins/sudoers/regress/testsudoers/test1.ok,
6513         plugins/sudoers/regress/testsudoers/test1.sh:
6514         Add support for regress tests using testsudoers
6515         [1fa94bd2671b]
6516
6517         * plugins/sudoers/testsudoers.c:
6518         Need to set user_name explicitly due to internal changes made when
6519         converting sudoers to a plugin.
6520         [1fa54e86a364]
6521
6522 2011-01-06  Todd C. Miller  <Todd.Miller@courtesan.com>
6523
6524         * MANIFEST, Makefile.in, common/Makefile.in, compat/Makefile.in,
6525         doc/Makefile.in, include/Makefile.in, plugins/sample/Makefile.in,
6526         plugins/sample_group/Makefile.in, plugins/sudoers/Makefile.in,
6527         plugins/sudoers/regress/iolog_path/check_iolog_path.c,
6528         plugins/sudoers/regress/iolog_path/data, src/Makefile.in,
6529         zlib/Makefile.in:
6530         Add regression tests for iolog_path()
6531         [afa4b416e559]
6532
6533         * Makefile.in, common/Makefile.in, compat/Makefile.in,
6534         doc/Makefile.in, include/Makefile.in, plugins/sample/Makefile.in,
6535         plugins/sample_group/Makefile.in, plugins/sudoers/Makefile.in,
6536         src/Makefile.in, zlib/Makefile.in:
6537         Add support for "make Makefile" to regenerate Makefile from
6538         Makefile.in
6539         [98bd2dda3294]
6540
6541         * plugins/sudoers/iolog_path.c:
6542         Quiest a bogus compiler warning.
6543         [5ff932a7ad67]
6544
6545 2011-01-05  Todd C. Miller  <Todd.Miller@courtesan.com>
6546
6547         * plugins/sudoers/iolog_path.c:
6548         Protect call to setlocale() with HAVE_SETLOCALE
6549         [2c29ee3ccc81]
6550
6551 2011-01-04  Todd C. Miller  <Todd.Miller@courtesan.com>
6552
6553         * MANIFEST:
6554         mkstemps.c was renamed mktemp.c
6555         [ae299c3b1827]
6556
6557         * NEWS:
6558         Update from 1.7 branch
6559         [20817d79717b]
6560
6561         * Makefile.in:
6562         Use "mv -f" when regenerating ChangeLog
6563         [c163635206c6]
6564
6565         * plugins/sudoers/match.c:
6566         Fix NULL dereference with "sudo -g group" when the sudoers rule has
6567         no runas user or group listed. Fixes RedHat bug Bug 667103.
6568         [41a6a1243d9e]
6569
6570 2011-01-03  Todd C. Miller  <Todd.Miller@courtesan.com>
6571
6572         * doc/sudo_plugin.cat, doc/sudo_plugin.man.in, doc/sudo_plugin.pod:
6573         Correct the default sudo.conf example
6574         [4e791698cad1]
6575
6576 2010-12-31  Todd C. Miller  <Todd.Miller@courtesan.com>
6577
6578         * plugins/sudoers/iolog_path.c:
6579         Reset slashp if we allocate a new buffer for strftime()
6580         [e491daa4203b]
6581
6582         * plugins/sudoers/iolog_path.c, plugins/sudoers/sudoers.c,
6583         plugins/sudoers/sudoers.h:
6584         Add extra out parameter to expand_iolog_path() to allow the caller
6585         to split the path into dir and file components if needed.
6586         [88346bc5ae39]
6587
6588 2010-12-30  Todd C. Miller  <Todd.Miller@courtesan.com>
6589
6590         * plugins/sudoers/iolog.c:
6591         mkdir_iopath() returns size_t now that it uses strlcpy() and not
6592         snprintf()
6593         [3c4c64d265eb]
6594
6595         * plugins/sudoers/iolog.c, plugins/sudoers/iolog_path.c:
6596         Trim leading slashes from iolog_file and trailing slashes from
6597         iolog_dir
6598         [a803b51f8948]
6599
6600         * doc/sudo_plugin.cat, doc/sudo_plugin.man.in, doc/sudo_plugin.pod,
6601         plugins/sudoers/iolog.c, plugins/sudoers/iolog_path.c,
6602         plugins/sudoers/sudoers.c, plugins/sudoers/sudoers.h:
6603         Pass a single I/O log file name in command_details instead of
6604         separate dir + file parameters.
6605         [d672a3e46e80]
6606
6607         * plugins/sudoers/sudoreplay.c:
6608         change an error() to errorx()
6609         [8013dcfdd69d]
6610
6611         * plugins/sudoers/iolog.c:
6612         Add missing cwd line to I/O log info file that got dropped when
6613         iolog_deserialize_info() was added
6614         [7cf84f208423]
6615
6616 2010-12-29  Todd C. Miller  <Todd.Miller@courtesan.com>
6617
6618         * plugins/sudoers/iolog.c:
6619         Avoid relying on globals filled in by the sudoers policy module for
6620         the sudoers I/O log module. The I/O log open function now pulls the
6621         bits it needs out of user_info and command_info.
6622         [c02f6951b0cc]
6623
6624         * plugins/sudoers/iolog.c, plugins/sudoers/sudoers.c,
6625         plugins/sudoers/sudoers.h:
6626         If no iolog file is specified by the policy plugin, use io_nextid()
6627         to determine the next file in the sequence.
6628         [faa1130b1020]
6629
6630 2010-12-28  Todd C. Miller  <Todd.Miller@courtesan.com>
6631
6632         * doc/sudo_plugin.cat, doc/sudo_plugin.man.in, doc/sudo_plugin.pod:
6633         Document iolog_compress in command_info
6634         [58895c7d12f5]
6635
6636         * plugins/sudoers/iolog.c, plugins/sudoers/sudoers.c:
6637         Add support for the iolog_compress variable in command_info.
6638         [36f13a2fd1c1]
6639
6640         * plugins/sudoers/iolog.c, plugins/sudoers/sudoers.c:
6641         Add sigsetjmp() calls to all plugin entry points just to be safe.
6642         [3fa482355bc4]
6643
6644         * src/sudo.c, src/sudo.h:
6645         Don't need iolog variables in struct command_details, they are for
6646         the I/O log plugins to handle.
6647         [5111579ffd9d]
6648
6649 2010-12-27  Todd C. Miller  <Todd.Miller@courtesan.com>
6650
6651         * doc/sudoers.cat, doc/sudoers.man.in, doc/sudoers.pod:
6652         Document use of mkdtemp() for iolog path teplates
6653         [5db6101408a9]
6654
6655         * doc/sudo.cat, doc/sudo.man.in, doc/sudo_plugin.cat,
6656         doc/sudo_plugin.man.in, doc/sudoers.cat, doc/sudoers.ldap.cat,
6657         doc/sudoers.ldap.man.in, doc/sudoers.man.in, doc/sudoreplay.cat,
6658         doc/sudoreplay.man.in, doc/visudo.cat, doc/visudo.man.in:
6659         regen
6660         [1ee11fd6d4eb]
6661
6662         * doc/sudo_plugin.pod, doc/sudoers.pod:
6663         Document iolog_file and supported escape sequences for sudoers.
6664         Clarify that iolog_file can contain directories.
6665         [da611dedcbdb]
6666
6667         * compat/Makefile.in, configure, configure.in:
6668         Fix building of mkstemps/mkdtemp replacements.
6669         [793a5e303122]
6670
6671         * compat/mkstemps.c, compat/mktemp.c, config.h.in, configure,
6672         configure.in, include/missing.h:
6673         Provide mkdtemp() for systems without it.
6674         [b0527dfa965c]
6675
6676         * plugins/sudoers/iolog_path.c:
6677         Fix typo
6678         [277f6c514cba]
6679
6680         * plugins/sudoers/iolog.c:
6681         Only use mkdtemp() if the path ends in at least 6 Xs since otherwise
6682         glibc mkdtemp() returns EINVAL.
6683         [2e7323b05579]
6684
6685         * plugins/sudoers/Makefile.in, plugins/sudoers/def_data.c,
6686         plugins/sudoers/def_data.h, plugins/sudoers/def_data.in,
6687         plugins/sudoers/defaults.c, plugins/sudoers/iolog.c,
6688         plugins/sudoers/iolog_path.c, plugins/sudoers/plugin_error.c,
6689         plugins/sudoers/sudoers.c, plugins/sudoers/sudoers.h:
6690         Allow sudoers to specify the iolog file in addition to the iolog
6691         dir. Add escape sequence support to iolog file and dir: sequence
6692         number, user, group, runas_user, runas_group, hostname and
6693         command in addition to any escape sequence recognized by
6694         strftime(3).
6695         [75cd32ee0435]
6696
6697         * plugins/sudoers/iolog.c:
6698         Add missing sigsetjmp() call in I/O plugin open function. Fixes a
6699         crash when the I/O plugin calls error(), errorx() or log_error().
6700         [1a6718bd817d]
6701
6702 2010-12-21  Todd C. Miller  <Todd.Miller@courtesan.com>
6703
6704         * doc/sudo_plugin.pod, plugins/sudoers/iolog.c,
6705         plugins/sudoers/sudoers.c:
6706         Give the policy module fine-grained control over what the I/O plugin
6707         logs.
6708         [d29784fd2a66]
6709
6710         * common/term.c:
6711         Clear OPOST from c_oflag like we used to. Fixes screen-based
6712         editors such as vi.
6713         [506ad5ae9b4e]
6714
6715         * doc/sudoers.pod:
6716         Clarify umask option description. From Reuben Thomas.
6717         [1294ac84222b]
6718
6719 2010-12-20  Todd C. Miller  <Todd.Miller@courtesan.com>
6720
6721         * doc/sudoers.ldap.pod, plugins/sudoers/ldap.c:
6722         Pick last match in LDAP sudoers too
6723         [fbfd8e85703b]
6724
6725         * doc/sudo_plugin.pod:
6726         Document iolog_file, iolog_dir and use_pty
6727         [26120a59c20e]
6728
6729         * plugins/sample/sample_plugin.c, plugins/sudoers/iolog.c,
6730         plugins/sudoers/sudoers.c:
6731         Adapt plugins to version I/O logging ABI 1.1
6732         [880dd64bc1e8]
6733
6734         * src/exec.c, src/sudo.h:
6735         Add use_pty command_info flag for policies to indicate that a pty
6736         should be allocated even if no I/O logging is performed.
6737         [e7b167f8a6e5]
6738
6739         * src/sudo.c:
6740         Add remaining plugin convenience functions
6741         [ffeaf96da031]
6742
6743         * include/sudo_plugin.h, src/sudo.c, src/sudo.h,
6744         src/sudo_plugin_int.h:
6745         Change I/O log API to pass in command info to the I/O log open
6746         function. Add iolog_file and iolog_dir parameters to command info.
6747         This allows the policy plugin to specify the I/O log pathname. Add
6748         convenience functions for calling plugin functions that handle ABI
6749         backwards compatibility.
6750         [9b81dce76ce5]
6751
6752         * compat/dlopen.c:
6753         Remove useless cast
6754         [7cecce969739]
6755
6756 2010-12-17  Todd C. Miller  <Todd.Miller@courtesan.com>
6757
6758         * configure, configure.in:
6759         Bump version to 1.8.0b3
6760         [1dc9f040aae0]
6761
6762 2010-12-13  Todd C. Miller  <Todd.Miller@courtesan.com>
6763
6764         * configure.in:
6765         Remove extraneous newline
6766         [71c94551eea5]
6767
6768 2010-12-10  Todd C. Miller  <Todd.Miller@courtesan.com>
6769
6770         * doc/sudoers.pod, plugins/sudoers/def_data.c,
6771         plugins/sudoers/def_data.h, plugins/sudoers/def_data.in,
6772         plugins/sudoers/defaults.c, plugins/sudoers/iolog.c:
6773         Make I/O log dir configurable.
6774         [99b576667a38]
6775
6776         * aclocal.m4, configure, configure.in, doc/sudoers.pod:
6777         Rename io_logdir to iolog_dir
6778         [0731662acc8d]
6779
6780 2010-12-07  Todd C. Miller  <Todd.Miller@courtesan.com>
6781
6782         * pp:
6783         Add missing '*' that prevented the generic ELF case from matching.
6784         [be77ca26bfb2]
6785
6786         * pp:
6787         If file(1) can't identify the ELF binary type, try readelf(1).
6788         [38a18d32a9e3]
6789
6790 2010-11-30  Todd C. Miller  <Todd.Miller@courtesan.com>
6791
6792         * plugins/sudoers/auth/kerb4.c, plugins/sudoers/check.c,
6793         plugins/sudoers/env.c, plugins/sudoers/pwutil.c,
6794         plugins/sudoers/sudoers.c, src/sudo.c:
6795         Use %u to print uid/gid, not %lu and adjust casts to match.
6796         [03c43b8749cf]
6797
6798         * doc/sudoers.ldap.pod:
6799         Clarify ordering of entries and attributes.
6800         [924e2a6bb603]
6801
6802         * doc/sudoers.ldap.pod:
6803         Fix typo and editing goof.
6804         [79dc7ccd85a8]
6805
6806         * doc/schema.ActiveDirectory, doc/schema.OpenLDAP, doc/schema.iPlanet,
6807         doc/sudoers.ldap.pod:
6808         Merge in ordered LDAP entry support from Andreas Mueller.
6809         [ea5885989bad]
6810
6811         * plugins/sudoers/ldap.c:
6812         Make sure we don't dereference a NULL handle.
6813         [1a9f9ee15371]
6814
6815 2010-11-24  Todd C. Miller  <Todd.Miller@courtesan.com>
6816
6817         * pp:
6818         Add support for RHEL 6 file modes that include a trailing dot on
6819         files with an SELinux security context
6820         [dc09be959547]
6821
6822 2010-11-23  Todd C. Miller  <Todd.Miller@courtesan.com>
6823
6824         * src/sudo.c:
6825         exec_setup() does not need to setuid(0), the Ubuntu issue was in the
6826         sudoers module.
6827         [d6dd99fc6062]
6828
6829         * plugins/sudoers/sudoers.c:
6830         create_admin_success_flag() should use restore_perms() rather than
6831         set_perms() to restore the uid.
6832         [eba7a91c1f57]
6833
6834         * src/sudo.c:
6835         In exec_setup() call setuid(0) to make certain the subsequent uid
6836         and gid changes will succeed. Fixes a problem on Ubuntu.
6837         [c5d32abf0645]
6838
6839         * src/sudo_edit.c:
6840         Error out if we cannot change to root's uid so we catch the failure
6841         early.
6842         [7a2e7f8f2c80]
6843
6844 2010-11-22  Todd C. Miller  <Todd.Miller@courtesan.com>
6845
6846         * doc/sudoers.pod:
6847         fix typo; from Michael T Hunter
6848         [a574a9d0db5b]
6849
6850         * plugins/sudoers/match.c:
6851         In sudoedit mode, assume command line arguments are paths and pass
6852         FNM_PATHNAME to fnmatch().
6853         [ce0abff8ce9f]
6854
6855 2010-11-20  Todd C. Miller  <Todd.Miller@courtesan.com>
6856
6857         * configure, configure.in:
6858         Add workaround for an error in sys/types.h on HP-UX 11.23 when large
6859         file support is enabled. Defining _XOPEN_SOURCE_EXTENDED avoids the
6860         broken bits of the header file.
6861         [e337217f097a]
6862
6863         * aclocal.m4:
6864         Fix SUDO_MAILDIR usage of AC_LANG_PROGRAM
6865         [fbbcee28961f]
6866
6867         * sudo.pp:
6868         For Tru64, strip off beta version.
6869         [eeccd762df5e]
6870
6871         * MANIFEST, plugins/sudoers/testsudoers.c,
6872         plugins/sudoers/tsgetgrpw.c, plugins/sudoers/tsgetgrpw.h:
6873         Avoid conflicts with system definitions in grp.h and pwd.h
6874         [b219ffe1da09]
6875
6876         * zlib/gzguts.h:
6877         Include stdio.h after zlib.h, not before. We need the large file
6878         defines to come first.
6879         [21d6df39790f]
6880
6881 2010-11-19  Todd C. Miller  <Todd.Miller@courtesan.com>
6882
6883         * doc/sudoers.ldap.cat, doc/sudoers.ldap.man.in:
6884         regen
6885         [3ff8750d0aac]
6886
6887         * Makefile.in:
6888         Don't clean ChangeLog
6889         [ab0d30d289d4]
6890
6891         * plugins/sudoers/testsudoers.c, plugins/sudoers/visudo.c:
6892         Add prototype for cleanup()
6893         [75626fd3769a]
6894
6895 2010-11-18  Todd C. Miller  <Todd.Miller@courtesan.com>
6896
6897         * plugins/sudoers/group_plugin.c:
6898         Avoid deferencing group_plugin if it is NULL in
6899         group_plugin_query(). This should not happen.
6900         [4f2933c8da7e]
6901
6902         * plugins/sudoers/group_plugin.c:
6903         group plugin init function return TRUE when successful
6904         [198024477030]
6905
6906 2010-11-17  Todd C. Miller  <Todd.Miller@courtesan.com>
6907
6908         * plugins/sudoers/ldap.c:
6909         Enlarge the array of entry wrappers int blocks of 100 entries to
6910         save on allocation time. From Andreas Mueller
6911         [375c916bb03b]
6912
6913         * plugins/sudoers/ldap.c:
6914         Add back call to sudo_ldap_timefilter() in sudo_ldap_build_pass2()
6915         that was mistakenly dropped.
6916         [1555f5bc132d]
6917
6918 2010-11-16  Todd C. Miller  <Todd.Miller@courtesan.com>
6919
6920         * doc/TROUBLESHOOTING:
6921         Mention that sudo needs "ar" to build.
6922         [65582ace2d09]
6923
6924         * configure, configure.in:
6925         Fail with a more useful error if "ar" is not found.
6926         [d1cb83719c17]
6927
6928 2010-11-14  Todd C. Miller  <Todd.Miller@courtesan.com>
6929
6930         * plugins/sudoers/ldap.c:
6931         Merge in ordered LDAP entry support from Andreas Mueller and add
6932         local changes from the 1.7 branch.
6933         [bca29e461618]
6934
6935 2010-11-12  Todd C. Miller  <Todd.Miller@courtesan.com>
6936
6937         * doc/schema.ActiveDirectory, doc/schema.OpenLDAP, doc/schema.iPlanet,
6938         doc/sudoers.ldap.pod, plugins/sudoers/ldap.c:
6939         Add timed entry support from Andreas Mueller.
6940         [e18d1df46a8d]
6941
6942         * plugins/sudoers/group_plugin.c:
6943         Don't try to unload if group_plugin is NULL. Don't call dlclose() if
6944         group_handle is NULL
6945         [de2273da37d5]
6946
6947         * plugins/sudoers/sudoers.h:
6948         It is now plugin_cleanup(), not cleanup()
6949         [da62a4e1a78c]
6950
6951         * plugins/sudoers/logging.c, plugins/sudoers/sudoers.c:
6952         Call plugin_cleanup(), not cleanup()
6953         [e800ad8b33ad]
6954
6955 2010-11-11  Todd C. Miller  <Todd.Miller@courtesan.com>
6956
6957         * plugins/sudoers/ldap.c:
6958         Use efree() not free() and remove malloc.h include since we never
6959         directly call malloc() or free().
6960         [107fffd134bb]
6961
6962 2010-11-09  Todd C. Miller  <Todd.Miller@courtesan.com>
6963
6964         * sudo.pp:
6965         set PSTAMP for Solaris and move the backend-specific bits to their
6966         own %if [xxx] %endif blocks in %set.
6967         [a94ebe8920c1]
6968
6969         * pp:
6970         sync with git repo
6971         [75ff509696b4]
6972
6973         * configure, configure.in:
6974         Only substitute file zlib files when using the builtin zlib
6975         [6c8145b2deb4]
6976
6977         * common/Makefile.in, compat/Makefile.in, plugins/sample/Makefile.in,
6978         plugins/sample_group/Makefile.in, plugins/sudoers/Makefile.in,
6979         src/Makefile.in, zlib/Makefile.in:
6980         Give up on using VPATH to find sources as it is implemented
6981         inconsistenly in different versions of make.
6982         [60517c69aaee]
6983
6984         * plugins/sudoers/Makefile.in, plugins/sudoers/getdate.c,
6985         plugins/sudoers/gram.c, plugins/sudoers/toke.c:
6986         Include config.h before any other includes to make sure we get the
6987         right value for _FILE_OFFSET_BITS.
6988         [8fb007ca832e]
6989
6990         * MANIFEST:
6991         Add zlib
6992         [04a3e23dfaa9]
6993
6994         * zlib/Makefile.in:
6995         Add missing targets
6996         [40e45a177168]
6997
6998         * src/Makefile.in:
6999         g/c unused $(GENERATED)
7000         [c8758068c1bc]
7001
7002 2010-11-08  Todd C. Miller  <Todd.Miller@courtesan.com>
7003
7004         * plugins/sudoers/group_plugin.c:
7005         Zero out group_plugin on unload just to be safe.
7006         [0b10f4d101ca]
7007
7008         * plugins/sudoers/group_plugin.c:
7009         Unload group plugin if its init function fails.
7010         [6552cdac4b7c]
7011
7012         * src/sudo.c:
7013         Only chdir to cwd if it is different from the current cwd or there
7014         is a new root (chroot).
7015         [b8203e875e84]
7016
7017         * configure, configure.in, doc/sudo.cat, doc/sudo.man.in,
7018         doc/sudo_plugin.cat, doc/sudo_plugin.man.in, doc/sudoers.ldap.cat,
7019         doc/sudoers.ldap.man.in, doc/visudo.cat, doc/visudo.man.in:
7020         Bump version to 1.8.0b2
7021         [6dadeb75a878]
7022
7023 2010-10-28  Todd C. Miller  <Todd.Miller@courtesan.com>
7024
7025         * INSTALL:
7026         Better --enable-zlib description
7027         [e0da54fa59a6]
7028
7029         * mkpkg:
7030         Use system zlib on Linux Let configure decide on Solaris For all
7031         others, use builtin zlib
7032         [3d52eddb523c]
7033
7034         * zlib/zconf.h.in:
7035         Add large file support.
7036         [bec01215270d]
7037
7038         * config.h.in:
7039         Add large file support.
7040         [244e95b034ec]
7041
7042         * Makefile.in, configure, configure.in, doc/LICENSE, doc/license.pod,
7043         zlib/Makefile.in, zlib/adler32.c, zlib/compress.c, zlib/crc32.c,
7044         zlib/crc32.h, zlib/deflate.c, zlib/deflate.h, zlib/gzclose.c,
7045         zlib/gzguts.h, zlib/gzlib.c, zlib/gzread.c, zlib/gzwrite.c,
7046         zlib/infback.c, zlib/inffast.c, zlib/inffast.h, zlib/inffixed.h,
7047         zlib/inflate.c, zlib/inflate.h, zlib/inftrees.c, zlib/inftrees.h,
7048         zlib/trees.c, zlib/trees.h, zlib/uncompr.c, zlib/zconf.h.in,
7049         zlib/zlib.h, zlib/zutil.c, zlib/zutil.h:
7050         Add local copy of zlib for systems that lack it.
7051         [7542ca465c5a]
7052
7053 2010-10-15  Todd C. Miller  <Todd.Miller@courtesan.com>
7054
7055         * src/exec.c:
7056         If perform_io() fails, kill the child before exiting so it doesn't
7057         complain about connection reset. We can get an I/O error if, for
7058         example, and we get EIO reading from stdin.
7059         [e59a05fa729f]
7060
7061 2010-10-12  Todd C. Miller  <Todd.Miller@courtesan.com>
7062
7063         * plugins/sudoers/sudoers.c, src/sudo.c:
7064         Fix complilation on systems with set_auth_parameters() Sprinkle
7065         volatile to quiet warnings from gcc 2.8.0
7066         [a34c2b924ba7]
7067
7068         * compat/dlfcn.h, compat/dlopen.c:
7069         Avoid potential namespace issues with dlopen() emulation.
7070         [aedfababd6ca]
7071
7072         * MANIFEST:
7073         sync
7074         [6afb97e6d308]
7075
7076         * plugins/sudoers/interfaces.c:
7077         Use INADDR_NONE instead of casting -1 to in_addr_t (which may not
7078         exist).
7079         [ddfca5af1a36]
7080
7081         * Makefile.in:
7082         Mark ChangeLog as PHONY Don't overwrite ChangeLog if we can't run hg
7083         [e9d04bfa4505]
7084
7085         * configure, configure.in:
7086         HP-UX 10.20 libc has an incompatible getline
7087         [2e7bc202e78d]
7088
7089         * plugins/sudoers/visudo.c:
7090         Quiet an HP-UX compiler warning.
7091         [55b9d587ac8c]
7092
7093         * configure, configure.in:
7094         Check for vi even with --with-editor specified; the sample plugin
7095         needs it.
7096         [94dfc3643f76]
7097
7098 2010-10-11  Todd C. Miller  <Todd.Miller@courtesan.com>
7099
7100         * compat/dlopen.c:
7101         Fix remaining syntax errors.
7102         [9d729b5b577e]
7103
7104         * src/Makefile.in:
7105         sudo binary depends on the libtool-generated libs
7106         [9e6148406adb]
7107
7108         * plugins/sudoers/group_plugin.c, src/load_plugins.c:
7109         Use HAVE_DLOPEN instead of HAVE_DLFCN_H when determining whether to
7110         include the local or system dlfcn.h
7111         [68cfe4c1089b]
7112
7113         * pp:
7114         Don't use run_as_superuser=false on HP-UX
7115         [532242370b09]
7116
7117         * src/net_ifs.c:
7118         Use memset() instead of zero_bytes() since we don't include
7119         sudoers.h
7120         [a187c18c2472]
7121
7122         * plugins/sudoers/interfaces.c:
7123         Fix pasto; AF_INET not AF_INET6
7124         [2d2e9d7dc6f9]
7125
7126         * compat/dlopen.c:
7127         Actually call shl_load()
7128         [ed8153b8a3cd]
7129
7130         * pp:
7131         Update from git repo. Debian: version numbers now compliant with
7132         policy section 5.6.12 HP-UX: minimal changes needed to work on HP-UX
7133         10.20
7134         [ecf2692bceeb]
7135
7136         * configure, configure.in:
7137         Fix dlopen() detection for systems where dlopen() is in a separate
7138         library.
7139         [fa6b175582b6]
7140
7141         * plugins/sudoers/auth/pam.c:
7142         If pam_acct_mgmt() returns PAM_AUTH_ERR print a (hopefully) more
7143         useful message and return AUTH_FATAL so sudo does not keep trying to
7144         validate the user.
7145         [1be8857e5291]
7146
7147         * src/preload.c:
7148         sudo_preload_table is an array
7149         [b7704e72a9da]
7150
7151         * compat/dlopen.c:
7152         Quiet a compiler warning and fix sudo_preload_table external
7153         definition.
7154         [8234987664cc]
7155
7156         * compat/dlfcn.h:
7157         Fix multiple inclusion guard in dlfcn.h and fix dlerror() prototype.
7158         [8bab6a4053cc]
7159
7160         * plugins/sudoers/group_plugin.c:
7161         Make this compile correctly when no dlopen is available.
7162         [57643879bd2b]
7163
7164 2010-10-07  Todd C. Miller  <Todd.Miller@courtesan.com>
7165
7166         * plugins/sudoers/check.c:
7167         Having a timestamp file defined is no longer indicative of tty
7168         tickets being enabled. Check def_tty_tickets directly.
7169         [efcc11ad157f]
7170
7171         * src/exec_pty.c, src/sudo.h, src/ttysize.c:
7172         Fix TCGETWINSZ compat.
7173         [da3a8b17cf7a]
7174
7175 2010-10-02  Todd C. Miller  <Todd.Miller@courtesan.com>
7176
7177         * src/exec_pty.c, src/ttysize.c:
7178         Prefer newer TIOCGWINSZ ioctl to old TIOCGSIZE
7179         [926492dd10a6]
7180
7181 2010-10-01  Todd C. Miller  <Todd.Miller@courtesan.com>
7182
7183         * plugins/sudoers/sudoers.c, src/sudo.c:
7184         Move set_project() from sudoers module into sudo proper.
7185         [beabafac03b4]
7186
7187         * configure, configure.in:
7188         Fix typo and regenerate
7189         [4a3caf4234f3]
7190
7191         * plugins/sudoers/ldap.c:
7192         When iterating over returned LDAP entries, keep looking at remaining
7193         matches even if we have a positive match. This catches negative
7194         matches that may exist in other entries and more closely match the
7195         sudoers file behavior.
7196         [f47db6e609b0]
7197
7198         * pp:
7199         Add support for multiple package instances on Solaris.
7200         [7f2a8b942545]
7201
7202         * src/exec.c:
7203         Add missing signal_pipe[0] to fdsr for the non-pty case.
7204         [79d01e11b19c]
7205
7206         * mkpkg:
7207         Add --with-project for Solaris
7208         [ffa4c2bb93f7]
7209
7210         * README:
7211         Need ar and ranlib too
7212         [5c2f679172ef]
7213
7214 2010-09-27  Todd C. Miller  <Todd.Miller@courtesan.com>
7215
7216         * plugins/sudoers/env.c:
7217         Preserve ODMDIR environment variable by default on AIX.
7218         [bd47cb1e804f]
7219
7220 2010-09-26  Todd C. Miller  <Todd.Miller@courtesan.com>
7221
7222         * Makefile.in, compat/Makefile.in, compat/dlfcn.h, compat/dlopen.c,
7223         config.h.in, configure, configure.in, plugins/sample/Makefile.in,
7224         plugins/sample_group/Makefile.in, plugins/sudoers/Makefile.in,
7225         plugins/sudoers/group_plugin.c, plugins/sudoers/plugin_error.c,
7226         plugins/sudoers/sudoers.c, src/Makefile.in, src/load_plugins.c,
7227         src/preload.c:
7228         Add dlopen() emulation for systems without it. For HP-UX 10, emulate
7229         using shl_load(). For others, link sudoers plugin statically and use
7230         a lookup table to emulate dlsym().
7231         [e92edfb3c642]
7232
7233 2010-09-24  Todd C. Miller  <Todd.Miller@courtesan.com>
7234
7235         * compat/fnmatch.c, compat/glob.c, compat/mksiglist.c,
7236         compat/nanosleep.c, compat/utimes.c:
7237         When including compat headers, use the compat dir as part of the
7238         path so we are sure to get the correct header.
7239         [6c2a45da6af5]
7240
7241 2010-09-21  Todd C. Miller  <Todd.Miller@courtesan.com>
7242
7243         * plugins/sudoers/linux_audit.c:
7244         Ignore ECONNREFUSED from audit_log_user_command() which will occur
7245         if auditd is not running.
7246         [d314fe4c8d03]
7247
7248 2010-09-17  Todd C. Miller  <Todd.Miller@courtesan.com>
7249
7250         * pp:
7251         Sync with git version
7252         [1c0357744222]
7253
7254 2010-09-16  Todd C. Miller  <Todd.Miller@courtesan.com>
7255
7256         * common/fileops.c, plugins/sudoers/defaults.c:
7257         Cast isblank argument to unsigned char.
7258         [c822dbb3ca54]
7259
7260 2010-09-14  Todd C. Miller  <Todd.Miller@courtesan.com>
7261
7262         * INSTALL, config.h.in, configure, configure.in, doc/sudoers.cat,
7263         doc/sudoers.man.in, doc/sudoers.pod, plugins/sudoers/defaults.c:
7264         Implement --with-umask-override configure flag.
7265         [863e3047df22]
7266
7267         * plugins/sudoers/env.c:
7268         Take MODE_LOGIN_SHELL into account when initially setting reset_home
7269         instead of special-casing it later.
7270         [5d6b16480fd6]
7271
7272         * plugins/sudoers/sudoers.c:
7273         In login mode, make a copy of the runas user's pw_shell for
7274         NewArgv[0] because 1) we modify it and 2) it will runas_pw gets
7275         freed before exec.
7276         [1d1ccb568dfa]
7277
7278         * plugins/sudoers/env.c:
7279         Reset HOME for "sudo -i" even if HOME was listed in env_keep.
7280         [c1c1c65a2d63]
7281
7282         * src/sudo.c:
7283         Use SIG_SETMASK when resetting signal mask instead of SIG_UNBLOCK.
7284         [7443454e5f88]
7285
7286         * src/sudo.c:
7287         Reset signal mask at sudo startup time; we need to be able to rely
7288         on normal signal delivery to control the child process.
7289         [95800163ff94]
7290
7291 2010-09-13  Todd C. Miller  <Todd.Miller@courtesan.com>
7292
7293         * install-sh:
7294         Use sed instead of expr to split a flag from its argument. Fixes a
7295         problem with expr interpreting its arguments as a flag when they
7296         start with a dash.
7297         [736065e14301]
7298
7299         * common/lbuf.c:
7300         Do not need sys/time.h after all
7301         [91f6f668ccda]
7302
7303         * common/lbuf.c:
7304         Include sys/time.h for utimes() and struct timeval. No longer need
7305         ioctl.h or termios.h
7306         [2d75273d3213]
7307
7308         * compat/snprintf.c:
7309         Quiet bogus compiler warnings.
7310         [fe252e1968f5]
7311
7312         * include/missing.h:
7313         Declare innetgr() for HP-UX which is missing a declaration. Declare
7314         domainname() for HP-UX and Solaris which are missing a declaration.
7315         [b37c50751138]
7316
7317         * plugins/sudoers/bsm_audit.c:
7318         Use __sun for consistency with the rest of the sources.
7319         [6b086b61ccb6]
7320
7321         * plugins/sudoers/group_plugin.c:
7322         Quiet a bogus compiler warning.
7323         [ebc069842c4a]
7324
7325         * plugins/sudoers/pwutil.c:
7326         Don't try to delref a NULL group.
7327         [f6ff0838be21]
7328
7329         * common/alloc.c, common/lbuf.c:
7330         Include memory.h on systems that need it.
7331         [4e676da81c6f]
7332
7333 2010-09-11  Todd C. Miller  <Todd.Miller@courtesan.com>
7334
7335         * src/exec.c:
7336         Quiet gcc warnings on glibc systems that use warn_unused_result for
7337         write(2).
7338         [0532da0b7cf7]
7339
7340         * doc/sudoers.cat, doc/sudoers.man.in, doc/sudoers.pod:
7341         sudo_plugin is in section 8; from Ted Percival
7342         [b4506a0de87e]
7343
7344         * plugins/sudoers/Makefile.in:
7345         testsudoers depends on libsudoers.la, not sudoreplay
7346         [cdb1cc3bf06a]
7347
7348 2010-09-10  Todd C. Miller  <Todd.Miller@courtesan.com>
7349
7350         * src/exec.c:
7351         Read as many signals on the signal pipe as we can before returning.
7352         [b181671da047]
7353
7354         * src/exec.c, src/exec_pty.c, src/sudo_exec.h:
7355         Instead of using a array to store received signals, open a pipe and
7356         have the signal handler write the signal number to one end and
7357         select() on the other end. This makes it possible to handle signals
7358         similar to I/O without race conditions.
7359         [ee84d65c16b6]
7360
7361 2010-09-09  Todd C. Miller  <Todd.Miller@courtesan.com>
7362
7363         * doc/visudo.pod, plugins/sudoers/visudo.c:
7364         Make "visudo -c -f -" check the standard input.
7365         [195a3d2a9a26]
7366
7367         * doc/sudoers.pod:
7368         set_home and always_set_home have an effect if HOME is present in
7369         the env_keep list.
7370         [159d0b9dc5c8]
7371
7372         * plugins/sudoers/env.c:
7373         Make -H flag work when HOME is listed in env_keep. Also makes
7374         "set_home" and "always_set_home" override override HOME in env_keep.
7375         [a3e5b966193f]
7376
7377 2010-09-08  Todd C. Miller  <Todd.Miller@courtesan.com>
7378
7379         * plugins/sudoers/Makefile.in, plugins/sudoers/interfaces.c,
7380         plugins/sudoers/interfaces.h, plugins/sudoers/match.c,
7381         plugins/sudoers/sudoers.c, plugins/sudoers/testsudoers.c,
7382         plugins/sudoers/visudo.c, src/net_ifs.c:
7383         Convert sudoers plugin to use interface list passed in settings.
7384         [87d9b5f4f586]
7385
7386         * doc/sudo_plugin.pod, src/Makefile.in, src/net_ifs.c,
7387         src/parse_args.c, src/sudo.h:
7388         Query local network interfaces in the main sudo driver and pass to
7389         the plugin as "network_addrs" in the settings list.
7390         [7f35bcfe77a7]
7391
7392         * plugins/sudoers/bsm_audit.c:
7393         Solaris BSM audit return EINVAL when auditing is not enabled,
7394         whereas OpenBSM returns ENOSYS.
7395         [411b980ec58b]
7396
7397 2010-09-07  Todd C. Miller  <Todd.Miller@courtesan.com>
7398
7399         * compat/fnmatch.c:
7400         missing.h should come before most local includes
7401         [53921a7b8b5b]
7402
7403         * plugins/sudoers/sudoreplay.c:
7404         missing.h should come before most local includes
7405         [e9abb0db1aac]
7406
7407         * plugins/sudoers/sudoers.h:
7408         Make local includes consistent; use double quotes for local includes
7409         except for generated ones where we use angle brackets.
7410         [09de4faa9547]
7411
7412         * plugins/sudoers/sudoers.c:
7413         Always fill in NewArgv for audit code.
7414         [7c3aca60519f]
7415
7416         * plugins/sudoers/toke.c, plugins/sudoers/toke.l:
7417         Add missing LOG_INPUT/LOG_OUTPUT support in the lexer.
7418         [007cf6560f92]
7419
7420         * common/alloc.c, common/atobool.c, common/fileops.c,
7421         common/fmt_string.c, common/lbuf.c, common/list.c, common/term.c,
7422         common/zero_bytes.c, compat/closefrom.c, compat/fnmatch.c,
7423         compat/getcwd.c, compat/getgrouplist.c, compat/getline.c,
7424         compat/getprogname.c, compat/glob.c, compat/isblank.c,
7425         compat/memrchr.c, compat/mksiglist.c, compat/mkstemps.c,
7426         compat/nanosleep.c, compat/setenv.c, compat/snprintf.c,
7427         compat/strlcat.c, compat/strlcpy.c, compat/strsignal.c,
7428         compat/unsetenv.c, compat/utimes.c, include/compat.h,
7429         plugins/sample/sample_plugin.c, plugins/sample_group/getgrent.c,
7430         plugins/sample_group/plugin_test.c,
7431         plugins/sample_group/sample_group.c, plugins/sudoers/audit.c,
7432         plugins/sudoers/auth/afs.c, plugins/sudoers/boottime.c,
7433         plugins/sudoers/getdate.c, plugins/sudoers/getdate.y,
7434         plugins/sudoers/linux_audit.c, plugins/sudoers/match.c,
7435         plugins/sudoers/plugin_error.c, plugins/sudoers/sudoreplay.c,
7436         plugins/sudoers/timestr.c, src/error.c, src/sesh.c, src/sudo.h,
7437         src/sudo_noexec.c, src/ttysize.c:
7438         Make local includes consistent; use double quotes for local includes
7439         except for generated ones where we use angle brackets. Also g/c
7440         unused compat.h.
7441         [e57070dc8f04]
7442
7443 2010-09-06  Todd C. Miller  <Todd.Miller@courtesan.com>
7444
7445         * plugins/sudoers/match.c:
7446         When matching the runas user and runas group (-u and -g command line
7447         options), keep track of runas group and runas user matches
7448         separately. Only return a positive match if we have a match for
7449         both runas user and runas group (if specified).
7450         [815219e04cc8]
7451
7452 2010-09-04  Todd C. Miller  <Todd.Miller@courtesan.com>
7453
7454         * doc/sudoers.ldap.pod, plugins/sudoers/ldap.c:
7455         Add support for multiple URI lines by joining the contents and
7456         passing the result to ldap_initialize.
7457         [a47cae3b72e8]
7458
7459         * plugins/sudoers/ldap.c, plugins/sudoers/parse.c:
7460         Do not return -1 on error from the display functions; the caller
7461         expects a return value >= 0.
7462         [101456a7dd00]
7463
7464         * plugins/sudoers/sudoers.c:
7465         Do not set both MODE_EDIT and MODE_RUN
7466         [8faa36694d54]
7467
7468 2010-09-03  Todd C. Miller  <Todd.Miller@courtesan.com>
7469
7470         * include/missing.h:
7471         Move includes to the top of the file.
7472         [a51436798e8c]
7473
7474 2010-08-30  Todd C. Miller  <Todd.Miller@courtesan.com>
7475
7476         * plugins/sudoers/Makefile.in:
7477         Add missing definition of timedir
7478         [458a749c2c5e]
7479
7480         * compat/fnmatch.c, compat/getprogname.c, compat/isblank.c,
7481         compat/mksiglist.c, compat/strsignal.c,
7482         plugins/sudoers/plugin_error.c, src/error.c, src/sudo_noexec.c:
7483         Add #include of sys/types.h for .c files that include missing.h to
7484         be sure that size_t and ssize_t are defined.
7485         [08e3132dbf4f]
7486
7487         * plugins/sudoers/Makefile.in:
7488         Install sudoers file from the build dir not hte src dir.
7489         [ca89e962dbf4]
7490
7491 2010-08-26  Todd C. Miller  <Todd.Miller@courtesan.com>
7492
7493         * plugins/sudoers/set_perms.c:
7494         If runas_pw changes, reset the stashed runas aux group vector.
7495         Otherwise, if runas_default is set in a per-command Defaults
7496         statement, the command runs with root's aux group vector (i.e. the
7497         one that was used when locating the command).
7498         [24f9107cedd2]
7499
7500         * plugins/sudoers/Makefile.in:
7501         Add target to generate sudoers file Remove generated sudoers file as
7502         part of distclean
7503         [fb7422e90f03]
7504
7505 2010-08-24  Todd C. Miller  <Todd.Miller@courtesan.com>
7506
7507         * src/exec.c:
7508         When not logging I/O install a handler for SIGCONT and deliver it to
7509         the command upon resume. Fixes bugzilla #431
7510         [495dce52a5aa]
7511
7512 2010-08-21  Todd C. Miller  <Todd.Miller@courtesan.com>
7513
7514         * plugins/sudoers/sudoers.h:
7515         g/c unused auth_pw extern definition
7516         [40eb7477ba17]
7517
7518         * plugins/sudoers/check.c, plugins/sudoers/sudoers.c:
7519         Move get_auth() into check.c where it is actually used.
7520         [e31db0ce3a61]
7521
7522 2010-08-20  Todd C. Miller  <Todd.Miller@courtesan.com>
7523
7524         * common/lbuf.c:
7525         Convert a remaining puts() and putchar() to use the output function.
7526         [d69e363a506b]
7527
7528         * plugins/sudoers/plugin_error.c:
7529         Plug memory leak
7530         [68895469ea8d]
7531
7532 2010-08-18  Todd C. Miller  <Todd.Miller@courtesan.com>
7533
7534         * plugins/sudoers/env.c:
7535         Set dupcheck to TRUE when setting new HOME value if !env_reset but
7536         always_set_home is true. Prevents a duplicate HOME in the
7537         environment (old value plus the new one) introduced in f421f8827340.
7538         [9ca19183794f]
7539
7540         * configure, configure.in, plugins/sudoers/sudoers,
7541         plugins/sudoers/sudoers.in:
7542         Substitute sysconfdir in the installed sudoers file to get the
7543         correct path for sudoers.d.
7544         [86072b6cd55d]
7545
7546 2010-08-17  Todd C. Miller  <Todd.Miller@courtesan.com>
7547
7548         * src/get_pty.c:
7549         Fix typo that prevented compilation on Irix; Friedrich Haubensak
7550         [b48be51b65fc]
7551
7552 2010-08-16  Todd C. Miller  <Todd.Miller@courtesan.com>
7553
7554         * MANIFEST, common/Makefile.in, common/aix.c, common/alloc.c,
7555         common/atobool.c, common/fileops.c, common/fmt_string.c,
7556         common/lbuf.c, common/list.c, common/term.c, common/zero_bytes.c,
7557         compat/Makefile.in, compat/closefrom.c, compat/fnmatch.c,
7558         compat/getcwd.c, compat/getgrouplist.c, compat/getline.c,
7559         compat/getprogname.c, compat/glob.c, compat/isblank.c,
7560         compat/memrchr.c, compat/mksiglist.c, compat/mkstemps.c,
7561         compat/nanosleep.c, compat/setenv.c, compat/snprintf.c,
7562         compat/strlcat.c, compat/strlcpy.c, compat/strsignal.c,
7563         compat/unsetenv.c, compat/utimes.c, include/compat.h,
7564         include/missing.h, plugins/sample/sample_plugin.c,
7565         plugins/sample_group/getgrent.c,
7566         plugins/sample_group/sample_group.c, plugins/sudoers/Makefile.in,
7567         plugins/sudoers/audit.c, plugins/sudoers/boottime.c,
7568         plugins/sudoers/getdate.c, plugins/sudoers/getdate.y,
7569         plugins/sudoers/linux_audit.c, plugins/sudoers/plugin_error.c,
7570         plugins/sudoers/sudoers.h, plugins/sudoers/sudoreplay.c,
7571         plugins/sudoers/timestr.c, src/Makefile.in, src/error.c, src/sesh.c,
7572         src/sudo.h, src/sudo_noexec.c, src/ttysize.c:
7573         Merge compat.h and missing.h into missing.h
7574         [572909ae9716]
7575
7576 2010-08-14  Todd C. Miller  <Todd.Miller@courtesan.com>
7577
7578         * plugins/sudoers/auth/pam.c:
7579         If the user hits ^C while a password is being read, error out before
7580         reading any further passwords in the pam conversation function.
7581         Otherwise, if multiple PAM auth methods are required, the user will
7582         have to hit ^C for each one.
7583         [23782631748c]
7584
7585 2010-08-12  Todd C. Miller  <Todd.Miller@courtesan.com>
7586
7587         * plugins/sudoers/check.c:
7588         Update comment
7589         [a5296cb3a20a]
7590
7591         * doc/sudo_plugin.cat, doc/sudo_plugin.man.in, doc/sudo_plugin.pod:
7592         Document sudo_conv_t function and sudo_printf_t return values.
7593         [745c0017814c]
7594
7595         * src/conversation.c:
7596         Make _sudo_printf return the number of characters printed on success
7597         like printf(3).
7598         [8eeefe8d7e77]
7599
7600 2010-08-10  Todd C. Miller  <Todd.Miller@courtesan.com>
7601
7602         * plugins/sudoers/sudoers.c:
7603         sudoers.h includes sudo_plugin.h for us
7604         [cabe68e07807]
7605
7606         * common/Makefile.in, common/gettime.c, compat/mkstemps.c,
7607         plugins/sudoers/sudoers.h, plugins/sudoers/visudo.c, src/sudo.h,
7608         src/sudo_edit.c:
7609         Use gettimeofday() directly instead of via the gettime() wrapper.
7610         [7490426c99ae]
7611
7612         * common/gettime.c, compat/snprintf.c, compat/strcasecmp.c,
7613         compat/strerror.c, config.h.in, configure, configure.in,
7614         include/compat.h, include/missing.h, plugins/sudoers/logging.c,
7615         plugins/sudoers/sudoers.c, plugins/sudoers/visudo.c, src/sudo.c:
7616         Remove some obsolete configure tests, ancient Unix systems are no
7617         longer supported.
7618         [2be6218c3a36]
7619
7620 2010-08-07  Todd C. Miller  <Todd.Miller@courtesan.com>
7621
7622         * sudo.pp:
7623         Set pp_kit_version and strip off patch level
7624         [aacfda1b676d]
7625
7626         * sudo.pp:
7627         Better handling of versions with a patchlevel. For rpm and deb, use
7628         the patchlevel+1 as the release. For AIX, use the patchlevel as the
7629         4th version number. For the rest, just leave the patchlevel in the
7630         version string.
7631         [638bd35f2346]
7632
7633 2010-08-06  Todd C. Miller  <Todd.Miller@courtesan.com>
7634
7635         * plugins/sudoers/auth/sudo_auth.c:
7636         For non-standalone auth methods, stop reading the password if the
7637         user enters ^C at the prompt.
7638         [82c2911bb264]
7639
7640         * configure, configure.in, plugins/sudoers/Makefile.in,
7641         plugins/sudoers/auth/passwd.c, plugins/sudoers/auth/secureware.c,
7642         plugins/sudoers/auth/sudo_auth.c, plugins/sudoers/auth/sudo_auth.h,
7643         plugins/sudoers/pwutil.c:
7644         No need to look up shadow password unless we are doing password-
7645         style authentication. This moves the shadow password lookup to the
7646         auth functions that need it.
7647         [ba9e3eba2b72]
7648
7649         * plugins/sudoers/sudoers.c:
7650         Retain final passwd/group refs until the policy close() function.
7651         Note that this doesn't get called in all cases so putting this in a
7652         cleanup function is probably better.
7653         [bbe214cb4119]
7654
7655         * plugins/sudoers/check.c:
7656         Fix mismerge
7657         [395115f89dd6]
7658
7659         * plugins/sudoers/check.c:
7660         When removing/resetting the timestamp file ignore the tty ticket
7661         contents.
7662         [b709f5667a0b]
7663
7664         * plugins/sudoers/sudoers.c:
7665         delref sudo_user.pw, runas_pw and runas_gr immediately before we
7666         return.
7667         [4d67d15dfd3b]
7668
7669 2010-08-04  Todd C. Miller  <Todd.Miller@courtesan.com>
7670
7671         * plugins/sudoers/check.c, plugins/sudoers/ldap.c,
7672         plugins/sudoers/match.c, plugins/sudoers/pwutil.c,
7673         plugins/sudoers/sudoers.c, plugins/sudoers/sudoers.h:
7674         Reference count cached passwd and group structs. The cache holds
7675         one reference itself and another is added by sudo_getgr{gid,nam} and
7676         sudo_getpw{uid,nam}. The final ref on the runas and user passwd and
7677         group structs are persistent for now.
7678         [e544685523c3]
7679
7680         * doc/UPGRADE:
7681         fix typo
7682         [e32f2d35e6c9]
7683
7684 2010-08-03  Todd C. Miller  <Todd.Miller@courtesan.com>
7685
7686         * plugins/sudoers/check.c:
7687         Do not produce a warning for "sudo -k" if the ticket file does not
7688         exist.
7689         [1598f6061b75]
7690
7691         * plugins/sudoers/pwutil.c:
7692         Instead of caching struct passwd and struct group in the red-black
7693         tree, store a struct cache_item which includes both the key and
7694         datum. This allows us to user the actual name that was looked up as
7695         the key instead of the contents of struct passwd or struct group.
7696         This matters because the name in the database may not match what we
7697         looked up, due either to case folding or truncation (historically at
7698         8 characters). Also mark the disabled calls to sudo_freepwcache()
7699         and sudo_freegrcache() as broken since we use cached data for things
7700         like set_perms() and the logging functions. Fixing this would
7701         require making a copy of the structs for user and runas or adding a
7702         reference count (better).
7703         [225d4a22f60e]
7704
7705         * plugins/sudoers/Makefile.in:
7706         Fix path to mkinstalldirs
7707         [b4968379b12d]
7708
7709         * plugins/sudoers/check.c, plugins/sudoers/logging.c,
7710         plugins/sudoers/sudoreplay.c, plugins/sudoers/visudo.c,
7711         src/exec_pty.c, src/get_pty.c, src/tgetpass.c:
7712         Quiet gcc warnings on glibc systems that use warn_unused_result for
7713         write(2) and others.
7714         [c99f138960e0]
7715
7716 2010-08-02  Todd C. Miller  <Todd.Miller@courtesan.com>
7717
7718         * plugins/sudoers/toke.c, plugins/sudoers/toke.l:
7719         Add %option noinput
7720         [72b9cd49b4f1]
7721
7722         * aclocal.m4, configure, configure.in:
7723         Add cross-compile defaults for remaining AC_TRY_RUN usage. Also add
7724         back getgroups() check since AC_FUNC_GETGROUPS defaults to "no" when
7725         cross-compiling.
7726         [e385c176d0ee]
7727
7728 2010-07-31  Todd C. Miller  <Todd.Miller@courtesan.com>
7729
7730         * aclocal.m4, compat/snprintf.c, config.h.in, configure, configure.in:
7731         Use AC_CHECK_MEMBER in SUDO_SOCK_SA_LEN Use AC_TYPE_LONG_LONG_INT
7732         and AC_CHECK_SIZEOF([long int]) instead of rolling our own.
7733         [cf3e60d9c440]
7734
7735 2010-07-29  Todd C. Miller  <Todd.Miller@courtesan.com>
7736
7737         * pp:
7738         Update to latest version
7739         [32f93be33961]
7740
7741 2010-07-28  Todd C. Miller  <Todd.Miller@courtesan.com>
7742
7743         * sudo.pp:
7744         Let pp determine pp_aix_version itself.
7745         [7cf0245d84ed]
7746
7747         * INSTALL, config.h.in, configure, configure.in, mkpkg,
7748         plugins/sudoers/sudoers.c:
7749         Add support for Ubuntu admin flag file and enable it when building
7750         Ubuntu packages.
7751         [00e27cff2dfb]
7752
7753         * plugins/sudoers/sudoers, sudo.pp:
7754         Add commented out SuSE-like targetpw settings
7755         [4605d47b7413]
7756
7757         * configure, configure.in:
7758         Only try to use +DAportable for non-GCC on hppa
7759         [75d0f284ccf7]
7760
7761         * configure, configure.in:
7762         Prevent configure from adding the -g flag unless in devel mode
7763         [b1fd3f8d45c0]
7764
7765 2010-07-27  Todd C. Miller  <Todd.Miller@courtesan.com>
7766
7767         * sudo.pp:
7768         Go back to sudo-flavor to match existing packages and only use an
7769         underscore for those that need it.
7770         [d737069d1e1c]
7771
7772         * sudo.pp:
7773         Use sudo_$flavor instead of sudo-$flavor since that causes the least
7774         amount of trouble for the various package managers.
7775         [71f547af35fc]
7776
7777         * mkpkg:
7778         Fix handling of the ldap flavor Remove destdir unless --debug was
7779         specified Make distclean before running configure if there is a
7780         Makefile present
7781         [6316f08de7d3]
7782
7783         * sudo.pp:
7784         Add back include file.
7785         [195627bf68b8]
7786
7787         * mkpkg:
7788         Pass extra args on to configure on HP-UX, if we don't have the HP C
7789         compiler, disable zlib to prevent gcc from finding it in
7790         /usr/local/lib.
7791         [473efa0e2bac]
7792
7793         * mkpkg:
7794         Use the HP ANSI C compiler on HP-UX if possible
7795         [fb249b6b175d]
7796
7797         * plugins/sudoers/sudoreplay.c:
7798         Some getline() implementations (FreeBSD 8.0) do not ignore the
7799         length pointer when the line pointer is NULL as they should.
7800         [2410a1a3543c]
7801
7802         * plugins/sudoers/sudoreplay.c:
7803         Don't need to check for *cp being non-zero, isdigit() will do that.
7804         [7df11ea8a487]
7805
7806         * plugins/sudoers/sudoreplay.c:
7807         Add setlocale() so the command line arguments that use floating
7808         point work in different locales. Since sudo now logs the timing
7809         data in the C locale we must Parse the seconds in the timing file
7810         manually instead of using strtod(). Furthermore, sudo 1.7.3 logged
7811         the number of seconds with the user's locale so if the decimal point
7812         is not '.' try using the locale-specific version.
7813         [4d385765f23b]
7814
7815         * src/exec.c:
7816         Do I/O logging in the C locale so the floating point numbers in the
7817         timing file are not locale-dependent.
7818         [5961cec044ec]
7819
7820         * plugins/sudoers/sudoreplay.c:
7821         Use errorx() not error() for thingsthat don't set errno.
7822         [0fe5e692af84]
7823
7824 2010-07-26  Todd C. Miller  <Todd.Miller@courtesan.com>
7825
7826         * pp:
7827         Better support for 1.2.3 style versions in Tru64 kits
7828         [997c549bb777]
7829
7830         * sudo.pp:
7831         Add Tru64 kit support
7832         [e273a954f981]
7833
7834         * pp:
7835         Remove apparently unnecessary use of sudo
7836         [be8840d85125]
7837
7838         * Makefile.in, plugins/sudoers/Makefile.in:
7839         Create timedir as part of install-dirs target.
7840         [c736bc2fb14f]
7841
7842         * src/exec_pty.c:
7843         Handle ENXIO from read/write which can occur when reading/writing a
7844         pty that has gone away.
7845         [fa2e8059879f]
7846
7847         * plugins/sudoers/pwutil.c:
7848         sudo_pwdup() was not expanding an empty pw_shell to _PATH_BSHELL
7849         [3a045475d5ee]
7850
7851         * mkpkg:
7852         platform is a pp flag not a variable
7853         [12eba39a47c1]
7854
7855         * Makefile.in, mkpkg, sudo.pp:
7856         Add simple arg parsing for mkpkg so we can set debug, flavor or
7857         platform.
7858         [ada839fe252d]
7859
7860         * pp:
7861         Make rpm backend work on AIX 5.x
7862         [549a76d11393]
7863
7864 2010-07-25  Todd C. Miller  <Todd.Miller@courtesan.com>
7865
7866         * plugins/sudoers/sudoers:
7867         Add commented out Defaults entry for log_output
7868         [7e67d7588900]
7869
7870 2010-07-23  Todd C. Miller  <Todd.Miller@courtesan.com>
7871
7872         * doc/Makefile.in:
7873         Remove sudo docdir completely
7874         [dce8e82878ef]
7875
7876         * doc/sample.sudo.conf:
7877         Add sample sudo.conf
7878         [aafdba3fc411]
7879
7880 2010-07-22  Todd C. Miller  <Todd.Miller@courtesan.com>
7881
7882         * plugins/sudoers/Makefile.in:
7883         Add PACKAGE_TARNAME for docdir
7884         [930c92b8f8f0]
7885
7886 2010-07-23  Todd C. Miller  <Todd.Miller@courtesan.com>
7887
7888         * src/Makefile.in:
7889         Pass install-sh -b~ here too.
7890         [c3f5eb446c38]
7891
7892         * plugins/sample/Makefile.in, plugins/sample_group/Makefile.in,
7893         plugins/sudoers/Makefile.in, src/Makefile.in:
7894         Install binary files with -b~ to make a backup. Fixes "text file
7895         busy" error on HP-UX during install.
7896         [81f306f54f8c]
7897
7898         * install-sh:
7899         "mv -f" on HP-UX doesn't unlink the destination first so add an
7900         explicit rm before moving the temporary into place.
7901         [fb719a79582d]
7902
7903         * configure, configure.in:
7904         Some more ${foo} -> $(foo) conversion for consistent Makefiles.
7905         [0aa098770074]
7906
7907         * doc/Makefile.in, plugins/sudoers/Makefile.in:
7908         Install sudoers2ldif in the doc dir
7909         [33ac3b53d7f5]
7910
7911 2010-07-22  Todd C. Miller  <Todd.Miller@courtesan.com>
7912
7913         * pathnames.h.in:
7914         Add missing include of maillock.h for Solaris
7915         [5a58883be23a]
7916
7917         * NEWS, configure, configure.in, doc/TROUBLESHOOTING, doc/UPGRADE,
7918         doc/sample.syslog.conf, doc/sudoers.cat:
7919         Change the default syslog facility from local2 to authpriv (or auth
7920         if the operating system doesn't support authpriv).
7921         [3b70ba514f49]
7922
7923         * Makefile.in, sudo.pp:
7924         Install sudoers as /etc/sudoers on RPM and debian systems where the
7925         package manager will not replace a user-modified configuration file.
7926         This fixes upgrades from the vendor sudo packages.
7927         [d886b6d60b5b]
7928
7929         * pp:
7930         RPM: use %config(noreplace) instead of %config for volatile This
7931         results in the new file being installed with a .rpmnew suffix
7932         instead of the file being replaced and the old one renamed with a
7933         .rpmsave suffix.
7934         [58be2119f8e8]
7935
7936 2010-07-21  Todd C. Miller  <Todd.Miller@courtesan.com>
7937
7938         * compat/mkstemps.c, plugins/sudoers/boottime.c:
7939         Include time.h for struct timeval
7940         [ddf8b04f0276]
7941
7942         * src/exec_pty.c:
7943         The return value of strsignal() may be const and should be treated
7944         as const regardless.
7945         [620074ae1e77]
7946
7947         * doc/sudoers.cat, doc/sudoers.man.in, doc/sudoers.pod:
7948         Mention that 127.0.0.1 will not match, nor will localhost unless
7949         that is the actual host name.
7950         [8b574122eb8f]
7951
7952         * MANIFEST, NEWS, README, WHATSNEW, doc/Makefile.in, doc/UPGRADE:
7953         Rename WHATSNEW -> NEWS
7954         [d1a2c8c47d89]
7955
7956         * pp:
7957         Updated pp with latest patches
7958         [98e16b9b8f62]
7959
7960         * WHATSNEW:
7961         Sync with 1.7.4
7962         [65ac4dafeef7]
7963
7964         * doc/UPGRADE, doc/sudoers.cat, doc/sudoers.man.in, doc/sudoers.pod,
7965         plugins/sudoers/sudoers:
7966         Add commented out line to add HOME to env_keep and add a warning to
7967         the note about the HOME change in UPGRADE.
7968         [0d6a775bb6c8]
7969
7970 2010-07-20  Todd C. Miller  <Todd.Miller@courtesan.com>
7971
7972         * plugins/sudoers/sudoreplay.c:
7973         Add LINE_MAX define for those without it.
7974         [446d9dbe7859]
7975
7976         * INSTALL, WHATSNEW, config.h.in, configure, configure.in,
7977         doc/UPGRADE, doc/sudoers.cat, doc/sudoers.man.in, doc/sudoers.pod,
7978         plugins/sudoers/defaults.c:
7979         The tty_tickets option is now on by default.
7980         [a01c48206d80]
7981
7982         * WHATSNEW:
7983         Mention that AIX authdb support has been fixed.
7984         [87bd7f4eba6a]
7985
7986         * common/aix.c:
7987         setauthdb() only sets the "old" registry if it was set by a previous
7988         call to setauthdb(). To restore the original value, passing NULL
7989         (or an empty string) to setauthdb() is sufficient.
7990         [470da190a254]
7991
7992 2010-07-19  Todd C. Miller  <Todd.Miller@courtesan.com>
7993
7994         * WHATSNEW, doc/UPGRADE, doc/sudo.cat, doc/sudo.man.in, doc/sudo.pod,
7995         doc/sudoers.cat, doc/sudoers.man.in, doc/sudoers.pod,
7996         plugins/sudoers/env.c:
7997         Reset HOME when env_reset is enabled unless it is in env_keep
7998         [f421f8827340]
7999
8000         * doc/sudoers.cat, doc/sudoers.man.in, doc/sudoers.pod:
8001         The default for set_logname has been "true" for some time now.
8002         [f489da5674c3]
8003
8004         * plugins/sudoers/boottime.c:
8005         Add missing include of time.h
8006         [624d7014932f]
8007
8008         * plugins/sudoers/logging.c:
8009         Fix check for dup2() return value.
8010         [140ea2d50d20]
8011
8012         * plugins/sudoers/env.c:
8013         Add PYTHONUSERBASE to initial_badenv_table
8014         [3149aae5b12c]
8015
8016         * plugins/sudoers/visudo.c:
8017         Treat an unknown defaults entry as a parse error.
8018         [b3ebad73efb2]
8019
8020         * plugins/sudoers/defaults.c, plugins/sudoers/sudoers.c:
8021         Check return value of setdefs() but don't stop setting defaults if
8022         we hit an unknown one.
8023         [945e752239ab]
8024
8025         * WHATSNEW, aclocal.m4, config.h.in, configure, configure.in,
8026         doc/sudo.cat, doc/sudo.man.in, doc/sudo.pod, doc/sudoers.cat,
8027         doc/sudoers.man.in, doc/sudoers.pod, pathnames.h.in,
8028         plugins/sudoers/env.c:
8029         If env_reset is enabled, set the MAIL environment variable based on
8030         the target user unless MAIL is explicitly preserved in sudoers.
8031         [a1b03e2e0e96]
8032
8033 2010-07-17  Todd C. Miller  <Todd.Miller@courtesan.com>
8034
8035         * pp:
8036         decode debian code names
8037         [8741280d9960]
8038
8039         * WHATSNEW:
8040         fix typo
8041         [a8a19451110b]
8042
8043 2010-07-16  Todd C. Miller  <Todd.Miller@courtesan.com>
8044
8045         * WHATSNEW:
8046         Merge with 1.7.4
8047         [9348fa7e15b8]
8048
8049         * src/sudo.c:
8050         Restore RLIMIT_NPROC after the uid switch if it appears that
8051         runas_setup() did not do it for us. Fixes a bash script problem on
8052         SuSE with RLIMIT_NPROC set to RLIM_INFINITY.
8053         [786fb272e5fd]
8054
8055 2010-07-15  Todd C. Miller  <Todd.Miller@courtesan.com>
8056
8057         * mkpkg, pp, sudo.pp:
8058         Restore the dot removal in the os version reported by polypkg. Adapt
8059         mkpkg and sudo.pp to the change.
8060         [dcafdd53b88f]
8061
8062 2010-07-16  Todd C. Miller  <Todd.Miller@courtesan.com>
8063
8064         * INSTALL:
8065         document --with-pam-login
8066         [ea93e4c6873c]
8067
8068         * doc/sudoers.cat, doc/sudoers.man.in, doc/sudoers.pod:
8069         The tag is NOSETENV, not UNSETENV. From Petr Uzel.
8070         [2ac90d8de36e]
8071
8072 2010-07-15  Todd C. Miller  <Todd.Miller@courtesan.com>
8073
8074         * sudo.pp:
8075         Include flavor in solaris package name
8076         [e605f6364c9f]
8077
8078         * mkpkg:
8079         Older shells don't support IFS= so set explictly to space, tab,
8080         newline.
8081         [7773960bc8a0]
8082
8083         * mkpkg:
8084         Use '=' not '==' in test
8085         [c99d42bc48e6]
8086
8087         * mkpkg:
8088         Fix typo that prevented debian from matching
8089         [84421078fcb7]
8090
8091         * mkpkg:
8092         Add missing prefix setting for debian
8093         [6466f23de4aa]
8094
8095         * sudo.pp:
8096         Use tab indents to reduce the chance of problem with <<- Fix the
8097         debian %set section, pp does not set pp_deb_distro Uncomment %sudo
8098         line in sudoers for debian Uncomment some env_keep lines for RHEL,
8099         SLES and debian to more closely match the vendor sudoers files.
8100         Add /etc/pam.d to %files Remove the /etc/sudo-ldap.conf symlink on
8101         debian for ldap flavor
8102         [c5b49feb1a0c]
8103
8104         * plugins/sudoers/sudoers:
8105         Add commented out env_keep entries, sample Aliases and a %sudo line
8106         for debian.
8107         [387719e52d0f]
8108
8109         * configure, configure.in:
8110         Move zlib check later on in the script to avoid a strange shell
8111         problem on SLES11.
8112         [1a3153bb1291]
8113
8114         * configure.in:
8115         Remove check for egrep; configure has its own
8116         [a3b9d98cb5d2]
8117
8118 2010-07-14  Todd C. Miller  <Todd.Miller@courtesan.com>
8119
8120         * mkpkg:
8121         Enable zlib for linux distros
8122         [8fa51a1405a4]
8123
8124         * mkpkg:
8125         Add ldap flavor to default build
8126         [97644f5a555f]
8127
8128         * mkpkg, sudo.pp:
8129         Simplify rpm linux distro settings
8130         [b9dcf10cdf20]
8131
8132         * aclocal.m4, configure, configure.in, doc/UPGRADE, doc/sudoers.cat:
8133         Move time stamp files from /var/run/sudo to /var/{db,lib,adm}/sudo.
8134         [2c549c1acde9]
8135
8136         * Makefile.in:
8137         Fix ChangeLog creation from build dir
8138         [3d0c7904f173]
8139
8140         * plugins/sudoers/sudoers.c:
8141         Handle getcwd() failure.
8142         [aef7bef87394]
8143
8144         * doc/Makefile.in, mkpkg, sudo.pp:
8145         Add ldap "flavor" for debian, controlled by the SUDO_FLAVOR
8146         environment variable.
8147         [be6ed611b7a8]
8148
8149         * sudo.pp:
8150         Create sudo group on debian
8151         [6ed6c032042e]
8152
8153         * mkpkg, sudo.pp:
8154         Add debian 4/5/6 and use the dot when doing version matches
8155         [6bcb664d1f4f]
8156
8157         * aclocal.m4, configure:
8158         Use a loop when searching for mv, sendmail and sh
8159         [d5e9369f8d13]
8160
8161         * doc/sudoers.cat, doc/sudoers.man.in, doc/sudoers.pod:
8162         Remove spurious "and"; from debian
8163         [a21e6f7c5b99]
8164
8165         * aclocal.m4, configure, configure.in, doc/sudoers.cat,
8166         doc/sudoers.man.in, doc/sudoers.pod, doc/visudo.cat,
8167         doc/visudo.man.in, doc/visudo.pod:
8168         Substitute the value of EDITOR into the sudoers and visudo manuals.
8169         [cd79e587dd7f]
8170
8171 2010-07-13  Todd C. Miller  <Todd.Miller@courtesan.com>
8172
8173         * mkpkg, pp, sudo.pp:
8174         Initial support for debian 4.0
8175         [ac6707915fa8]
8176
8177         * mkpkg:
8178         Some platforms need -fPIE instead of -fpie
8179         [fd6be19e5bc2]
8180
8181         * plugins/sudoers/auth/pam.c:
8182         Only set PAM_RHOST for Solaris, where it is needed to avoid a bug.
8183         On Linux it causes a DNS lookup via libaudit.
8184         [1e10105ade5b]
8185
8186         * MANIFEST:
8187         Update MANIFEST to match packaging changes
8188         [ef86ee557b5b]
8189
8190         * sudo.psf:
8191         We now use pp to generate HP-UX packages
8192         [f7aa8da7844e]
8193
8194         * INSTALL.binary, plugins/sudoers/Makefile.binary.in:
8195         Remove vestiges of old binary package bits.
8196         [afffd005452f]
8197
8198         * INSTALL, Makefile.in, common/Makefile.in, compat/Makefile.in,
8199         doc/Makefile.in, include/Makefile.in, plugins/sample/Makefile.in,
8200         plugins/sample_group/Makefile.in, plugins/sudoers/Makefile.in,
8201         src/Makefile.in:
8202         install-man -> install-doc
8203         [99b5fa05567c]
8204
8205         * Makefile.in, doc/Makefile.in, include/Makefile.in, mkpkg,
8206         plugins/sudoers/Makefile.in, pp, src/Makefile.in, sudo.pp:
8207         Use http://rc.quest.com/topics/polypkg/ for packaging
8208         [5ca8eb75b223]
8209
8210         * install-sh:
8211         Just ignore the -c option, it is the default Add support for -d
8212         option
8213         [a8b6b0a131e8]
8214
8215 2010-07-12  Todd C. Miller  <Todd.Miller@courtesan.com>
8216
8217         * pathnames.h.in, plugins/sudoers/env.c, plugins/sudoers/logging.c:
8218         Use _PATH_STDPATH instead of _PATH_DEFPATH
8219         [137fa911908e]
8220
8221         * plugins/sudoers/Makefile.in, src/Makefile.in:
8222         Do not strip binaries.
8223         [20166e287176]
8224
8225         * INSTALL, configure, configure.in:
8226         Add --insults=disabled configure option to allow people to build in
8227         insult support but have the insults disabled unless explicitly
8228         enabled in sudoers.
8229         [523b8c552e90]
8230
8231         * compat/mkstemps.c:
8232         Add prototype for gettime()
8233         [275eee40473b]
8234
8235         * config.h.in, configure, configure.in, plugins/sudoers/auth/pam.c,
8236         plugins/sudoers/env.c, plugins/sudoers/sudoers.c,
8237         plugins/sudoers/sudoers.h:
8238         Add support for a sudo-i pam.d file to be used for "sudo -i".
8239         Adapted from a RedHat patch.
8240         [06d34f16520b]
8241
8242 2010-07-09  Todd C. Miller  <Todd.Miller@courtesan.com>
8243
8244         * include/missing.h:
8245         Fix mkstemps() prototype
8246         [2421841e815b]
8247
8248         * MANIFEST, compat/Makefile.in, compat/mkstemp.c, compat/mkstemps.c,
8249         config.h.in, configure, configure.in, include/missing.h,
8250         src/sudo_edit.c:
8251         Use mkstemps() instead of mkstemp() in sudoedit. This allows
8252         sudoedit to preserve the file extension (if any) which may be used
8253         by the editor (like emacs) to choose the editing mode.
8254         [d33172d2c086]
8255
8256 2010-07-08  Todd C. Miller  <Todd.Miller@courtesan.com>
8257
8258         * doc/sudoers.ldap.cat, doc/sudoers.ldap.man.in, doc/sudoers.ldap.pod,
8259         plugins/sudoers/ldap.c:
8260         TLS_CACERT is now an alias for TLS_CACERTFILE. OpenLDAP uses
8261         TLS_CACERT, not TLS_CACERTFILE in its ldap.conf. Other LDAP client
8262         code, such as nss_ldap, uses TLS_CACERTFILE. Also document why you
8263         should avoid disabling TLS_CHECKPEER is possible.
8264         [196622436212]
8265
8266 2010-07-07  Todd C. Miller  <Todd.Miller@courtesan.com>
8267
8268         * doc/sudo_plugin.cat, doc/sudo_plugin.man.in, doc/sudo_plugin.pod:
8269         Make sudo_plugin format a bit more like a man page
8270         [048d596e32da]
8271
8272         * plugins/sudoers/toke.c, plugins/sudoers/toke.l:
8273         Add suport for negated user/host/command lists in a Defaults entry.
8274         E.g. Defaults:!baduser noexec
8275         [d41112cf0342]
8276
8277         * Makefile.in, common/Makefile.in, compat/Makefile.in,
8278         doc/Makefile.in, include/Makefile.in, plugins/sample/Makefile.in,
8279         plugins/sample_group/Makefile.in, plugins/sudoers/Makefile.in,
8280         src/Makefile.in:
8281         Add uninstall target
8282         [fea66ebf136a]
8283
8284         * common/Makefile.in, compat/Makefile.in:
8285         Remove unused AR, SED and RANLIB variables
8286         [2ff9928bfdb3]
8287
8288         * Makefile.in:
8289         Do not install sample plugins
8290         [5443b87bd1c3]
8291
8292 2010-07-06  Todd C. Miller  <Todd.Miller@courtesan.com>
8293
8294         * MANIFEST, aclocal.m4, compat/setenv.c, compat/unsetenv.c, configure,
8295         configure.in, plugins/sudoers/env.c:
8296         Now that sudoers is a dynamically loaded module we cannot override
8297         the libc environment functions because the symbols may already have
8298         been resolved via libc. Remove getenv/putenv/setenv/unsetenv
8299         replacements from sudoers and add replacements for setenv/unsetenv
8300         for systems that lack them.
8301         [3f2b43cb8851]
8302
8303         * configure, configure.in, plugins/sudoers/Makefile.in:
8304         Link testsudoers with -ldl when needed
8305         [f79606f9fcd7]
8306
8307         * plugins/sample_group/plugin_test.c:
8308         Remove unused time.h and add limits.h for PATH_MAX
8309         [3f5d0074d621]
8310
8311         * doc/sudoers.ldap.pod:
8312         Fix typo.
8313         [bc855fd57397]
8314
8315 2010-07-05  Todd C. Miller  <Todd.Miller@courtesan.com>
8316
8317         * plugins/sample_group/plugin_test.c:
8318         Do not depend on strlcpy/strlcat
8319         [6e7e2b5af051]
8320
8321         * plugins/sample_group/plugin_test.c:
8322         Standalone test driver for sudoers group plugin.
8323         [eb1235fc3b8e]
8324
8325 2010-07-02  Todd C. Miller  <Todd.Miller@courtesan.com>
8326
8327         * plugins/sudoers/group_plugin.c, src/load_plugins.c:
8328         Use RTLD_LAZY instead of RTLD_NOW; was using RTLD_NOW as a debugging
8329         aid.
8330         [2a34e616229b]
8331
8332         * plugins/sample_group/sample_group.c:
8333         Fix style nit in function declarations
8334         [ab87c7c76bf9]
8335
8336         * doc/sudoers.cat, doc/sudoers.man.in, doc/sudoers.pod:
8337         Document group_plugin syntax.
8338         [ed1faf72ddcb]
8339
8340         * doc/sudo_plugin.cat, doc/sudo_plugin.man.in, doc/sudo_plugin.pod:
8341         Document the sudoers group plugin.
8342         [f19a62dc8cfc]
8343
8344         * INSTALL, MANIFEST, Makefile.in, config.h.in, configure,
8345         configure.in, doc/LICENSE, doc/license.pod, include/sudo_plugin.h,
8346         plugins/sample_group/Makefile.in, plugins/sample_group/getgrent.c,
8347         plugins/sample_group/sample_group.c, plugins/sudoers/Makefile.in,
8348         plugins/sudoers/def_data.c, plugins/sudoers/def_data.h,
8349         plugins/sudoers/def_data.in, plugins/sudoers/group_plugin.c,
8350         plugins/sudoers/match.c, plugins/sudoers/nonunix.h,
8351         plugins/sudoers/set_perms.c, plugins/sudoers/sudoers.c,
8352         plugins/sudoers/sudoers.h, plugins/sudoers/testsudoers.c,
8353         plugins/sudoers/vasgroups.c, plugins/sudoers/visudo.c, src/sudo.c:
8354         Replace built-in non-unix group support with a sudoers group plugin.
8355         Include a sample plugin that can read Unix-format group files.
8356         [8fc58ce0b1a8]
8357
8358         * configure, configure.in, src/load_plugins.c:
8359         Add a trailing slash to _PATH_SUDO_PLUGIN_DIR to simplify usage.
8360         [5c491dddb8ef]
8361
8362 2010-07-01  Todd C. Miller  <Todd.Miller@courtesan.com>
8363
8364         * doc/sudo.cat, doc/sudo.man.in, doc/sudo.pod, doc/sudoers.cat,
8365         doc/sudoers.man.in, doc/sudoers.pod:
8366         Move sudoers-specific bits out of sudo(8) and into sudoers(5)
8367         [e8a5a5830cfe]
8368
8369         * aclocal.m4, configure, configure.in:
8370         Substitute @io_logdir@ for the sudoers I/O log directory.
8371         [21a75ca7b0ab]
8372
8373 2010-06-29  Todd C. Miller  <Todd.Miller@courtesan.com>
8374
8375         * MANIFEST, common/Makefile.in, common/aix.c, common/alloc.c,
8376         common/atobool.c, common/fileops.c, common/fmt_string.c,
8377         common/lbuf.c, common/term.c, compat/fnmatch.c, compat/getcwd.c,
8378         compat/getgrouplist.c, compat/getline.c, compat/glob.c,
8379         compat/snprintf.c, config.h.in, configure, configure.in,
8380         include/fileops.h, plugins/sample/sample_plugin.c,
8381         plugins/sudoers/alias.c, plugins/sudoers/auth/afs.c,
8382         plugins/sudoers/auth/aix_auth.c, plugins/sudoers/auth/bsdauth.c,
8383         plugins/sudoers/auth/dce.c, plugins/sudoers/auth/fwtk.c,
8384         plugins/sudoers/auth/kerb4.c, plugins/sudoers/auth/kerb5.c,
8385         plugins/sudoers/auth/pam.c, plugins/sudoers/auth/passwd.c,
8386         plugins/sudoers/auth/rfc1938.c, plugins/sudoers/auth/secureware.c,
8387         plugins/sudoers/auth/securid.c, plugins/sudoers/auth/securid5.c,
8388         plugins/sudoers/auth/sia.c, plugins/sudoers/auth/sudo_auth.c,
8389         plugins/sudoers/boottime.c, plugins/sudoers/check.c,
8390         plugins/sudoers/defaults.c, plugins/sudoers/env.c,
8391         plugins/sudoers/find_path.c, plugins/sudoers/getdate.c,
8392         plugins/sudoers/getdate.y, plugins/sudoers/getspwuid.c,
8393         plugins/sudoers/goodpath.c, plugins/sudoers/gram.c,
8394         plugins/sudoers/gram.y, plugins/sudoers/interfaces.c,
8395         plugins/sudoers/iolog.c, plugins/sudoers/ldap.c,
8396         plugins/sudoers/logging.c, plugins/sudoers/match.c,
8397         plugins/sudoers/parse.c, plugins/sudoers/pwutil.c,
8398         plugins/sudoers/set_perms.c, plugins/sudoers/sudo_nss.c,
8399         plugins/sudoers/sudoers.c, plugins/sudoers/sudoers.h,
8400         plugins/sudoers/sudoreplay.c, plugins/sudoers/testsudoers.c,
8401         plugins/sudoers/toke.c, plugins/sudoers/toke.l,
8402         plugins/sudoers/tsgetgrpw.c, plugins/sudoers/visudo.c,
8403         src/Makefile.in, src/aix.c, src/conversation.c, src/exec.c,
8404         src/exec_pty.c, src/get_pty.c, src/load_plugins.c, src/parse_args.c,
8405         src/sudo.c, src/sudo.h, src/sudo_edit.c, src/tgetpass.c:
8406         Set usrinfo for AIX Set adminstrative domain for the process when
8407         looking up user's password or group info and when preparing for
8408         execve(). Include strings.h even if string.h exists since they may
8409         define different things. Fixes warnings on AIX and others.
8410         [cf8b93e872c9]
8411
8412         * Makefile.in:
8413         Add a separate all target for AIX make which was using the entire
8414         LHS (not just the first entry) of the first target as the implicit
8415         target.
8416         [a45b980a01ef]
8417
8418         * plugins/sudoers/env.c:
8419         Do not rely on env.env_len when unsetting a variable, just use the
8420         NULL terminator.
8421         [ca6eb239c829]
8422
8423         * plugins/sudoers/env.c:
8424         In unsetenv() check for NULL or empty name as per POSIX 1003.1-2008
8425         [7046ba7caa4e]
8426
8427 2010-06-25  Todd C. Miller  <Todd.Miller@courtesan.com>
8428
8429         * plugins/sudoers/vasgroups.c:
8430         Use warningx() instead of log_error() since the latter is not
8431         available to visudo or testsudoers. This does mean that they don't
8432         end up in syslog.
8433         [152b7c50f426]
8434
8435         * plugins/sudoers/sudoers.c:
8436         Defer call to sudo_nonunix_groupcheck_cleanup() until after we have
8437         closed the sudoers sources. From Quest sudo.
8438         [c1cd573bab94]
8439
8440         * plugins/sudoers/pwutil.c:
8441         Ignore case when matching user/group names in the cache. From Quest
8442         sudo.
8443         [2aa4ecc7d7f5]
8444
8445 2010-06-24  Todd C. Miller  <Todd.Miller@courtesan.com>
8446
8447         * config.h.in, configure, configure.in, src/selinux.c:
8448         Add check for setkeycreatecon() when --with-selinux is specified.
8449         [affae247b4e0]
8450
8451         * configure, configure.in:
8452         Error out if libaudit.h is missing or ununable when --with-linux-
8453         audit was specified
8454         [d82e743fac04]
8455
8456         * doc/HISTORY, doc/history.pod:
8457         Add =head3 entries, mostly for the html version
8458         [ee93112d0308]
8459
8460 2010-06-22  Todd C. Miller  <Todd.Miller@courtesan.com>
8461
8462         * doc/HISTORY, doc/history.pod:
8463         Mention when LDAP was incorporate.
8464         [2923dc17f79c]
8465
8466 2010-06-21  Todd C. Miller  <Todd.Miller@courtesan.com>
8467
8468         * configure, configure.in:
8469         Define _LINUX_SOURCE_COMPAT on AIX for strsignal() prototype, it is
8470         not covered by _ALL_SOURCE.
8471         [c92fd69809d0]
8472
8473 2010-06-18  Todd C. Miller  <Todd.Miller@courtesan.com>
8474
8475         * plugins/sudoers/iolog.c:
8476         Add a cast to quiet a compiler warning.
8477         [a200e07ee1bc]
8478
8479         * plugins/sudoers/getdate.c, plugins/sudoers/getdate.y:
8480         Quiet a compiler warning.
8481         [c9acfc927cea]
8482
8483         * plugins/sudoers/defaults.c, plugins/sudoers/sudoers.c:
8484         Call set_fqdn() after sudoers has parsed instead of inline as a
8485         callback.
8486         [5f4e5d075f2d]
8487
8488         * WHATSNEW, plugins/sudoers/sudoers.c:
8489         Do not call set_fqdn() until sudoers parses (where is gets run as a
8490         callback).
8491         [09040fca6d40]
8492
8493         * WHATSNEW:
8494         mention the change in tty ticket behavior when there is no tty
8495         [575a1fd98f05]
8496
8497         * plugins/sudoers/check.c:
8498         Do not update tty ticket if there is no tty.
8499         [63f9c33ce6a7]
8500
8501         * doc/LICENSE, doc/license.pod:
8502         Update copyright year
8503         [0722ab5d404b]
8504
8505         * doc/Makefile.in:
8506         Do not rely on BSD make's $>
8507         [936a86398bd9]
8508
8509         * configure, configure.in:
8510         Set timedir to /var/db/sudo for darwin to match Apple sudo's
8511         location
8512         [d5b9b03096f1]
8513
8514 2010-06-16  Todd C. Miller  <Todd.Miller@courtesan.com>
8515
8516         * plugins/sudoers/sudoers.h:
8517         Add stub declarations for struct stat and struct timeval
8518         [f6d90551a4fd]
8519
8520         * MANIFEST:
8521         Remove compat/sigaction.c
8522         [d0ed6d9a770e]
8523
8524         * config.h.in, configure, configure.in, plugins/sudoers/defaults.c,
8525         plugins/sudoers/iolog.c, plugins/sudoers/sudoreplay.c:
8526         Check for zlib.h in addition to libz.
8527         [6e191b4a6065]
8528
8529         * MANIFEST, src/Makefile.in, src/exec.c, src/exec_pty.c, src/sudo.h,
8530         src/sudo_exec.h:
8531         Move functions and symbols shared between exec.c and exec_pty.c into
8532         sudo_exec.h.
8533         [14ae63403544]
8534
8535         * doc/Makefile.in:
8536         Comment out rules to build .man.in and .cat files unless --with-
8537         devel
8538         [3cf7e5606a85]
8539
8540         * doc/Makefile.in:
8541         Comment out rules to build .man.in and .cat files unless --with-
8542         devel
8543         [d30495b0e29e]
8544
8545         * src/parse_args.c:
8546         Quote any non-alphanumeric characters other than '_' or '-' when
8547         passing a command to be run via the shell for the -s and -i options.
8548         [d633f74fe2d9]
8549
8550         * doc/Makefile.in:
8551         Add back .man suffix
8552         [6e63b60a2739]
8553
8554         * INSTALL, MANIFEST, WHATSNEW, config.h.in, configure, configure.in,
8555         plugins/sudoers/Makefile.in, plugins/sudoers/audit.c,
8556         plugins/sudoers/bsm_audit.c, plugins/sudoers/linux_audit.c,
8557         plugins/sudoers/linux_audit.h, plugins/sudoers/logging.h,
8558         src/selinux.c:
8559         Add Linux audit support.
8560         [5a2f445e0bd4]
8561
8562 2010-06-15  Todd C. Miller  <Todd.Miller@courtesan.com>
8563
8564         * plugins/sudoers/iolog.c:
8565         Remove an XXX
8566         [a170cbe651d1]
8567
8568         * doc/sudoreplay.cat, doc/sudoreplay.man.in, doc/sudoreplay.pod,
8569         plugins/sudoers/sudoreplay.c:
8570         Add -f (filter) option to sudoreplay to allow certain streams to be
8571         replayed and others ignored.
8572         [62e51b432ea1]
8573
8574         * src/load_plugins.c, src/parse_args.c, src/sudo.c, src/sudo.h,
8575         src/tgetpass.c:
8576         Fix -A flag when askpass is specified in sudo.conf or if sudo
8577         doesn't need to read a password.
8578         [2e401e4a00e3]
8579
8580         * src/exec.c, src/exec_pty.c, src/parse_args.c, src/sudo.c,
8581         src/sudo.h, src/sudo_edit.c, src/tgetpass.c:
8582         Clean up some XXXs
8583         [689f0b002d3d]
8584
8585         * WHATSNEW, doc/sudoers.ldap.cat, doc/sudoers.ldap.man.in,
8586         doc/sudoers.ldap.pod, plugins/sudoers/ldap.c:
8587         Add support for multiple sudoers_base entries in ldap.conf. From
8588         Joachim Henke
8589         [e3e4a3c2bd5b]
8590
8591         * config.h.in, configure, configure.in, plugins/sudoers/logging.c,
8592         src/exec_pty.c:
8593         remove setsid check, we require a POSIX system
8594         [cc73cb9e22c0]
8595
8596         * plugins/sudoers/logging.c, src/exec_pty.c, src/selinux.c,
8597         src/sudo.c, src/tgetpass.c:
8598         Check for dup2() failure.
8599         [5d46d66794f5]
8600
8601         * config.h.in, configure, configure.in:
8602         Remove dup2() check, it is not optional.
8603         [5f1d56de4384]
8604
8605 2010-06-14  Todd C. Miller  <Todd.Miller@courtesan.com>
8606
8607         * WHATSNEW:
8608         sync with sudo 1.7.3
8609         [88e5c0bd6d59]
8610
8611         * INSTALL:
8612         SunOS does not ship with an ANSI compiler
8613         [f13c85c67069]
8614
8615         * INSTALL:
8616         Update OS specific notes. Delete some really ancient ones and move
8617         older ones to the end of the list.
8618         [59ce592c4c52]
8619
8620         * README:
8621         Sudo can be downloaded from the web site too Mention "OS dependent
8622         notes" section in INSTALL
8623         [191871538984]
8624
8625         * src/exec_pty.c, src/selinux.c:
8626         Call selinux_restore_tty() as part of cleanup() so it gets called
8627         from error()/errorx()
8628         [bb017da6b6da]
8629
8630         * MANIFEST, doc/PORTING:
8631         Remove obsolete porting guide
8632         [321e35591344]
8633
8634         * plugins/sudoers/interfaces.h, plugins/sudoers/match.c:
8635         Move union sudo_in_addr_un into interfaces.h
8636         [b2c8b19ee094]
8637
8638         * doc/Makefile.in:
8639         Remove useless circular dependencies
8640         [5682181b59cf]
8641
8642         * plugins/sudoers/auth/afs.c, plugins/sudoers/auth/aix_auth.c,
8643         plugins/sudoers/auth/bsdauth.c, plugins/sudoers/auth/dce.c,
8644         plugins/sudoers/auth/fwtk.c, plugins/sudoers/auth/kerb4.c,
8645         plugins/sudoers/auth/kerb5.c, plugins/sudoers/auth/pam.c,
8646         plugins/sudoers/auth/passwd.c, plugins/sudoers/auth/rfc1938.c,
8647         plugins/sudoers/auth/secureware.c, plugins/sudoers/auth/securid.c,
8648         plugins/sudoers/auth/securid5.c, plugins/sudoers/auth/sia.c:
8649         Convert to ANSI C function declarations
8650         [a4f76927d034]
8651
8652         * common/alloc.c, common/fileops.c, common/gettime.c, common/list.c,
8653         common/zero_bytes.c, compat/charclass.h, compat/closefrom.c,
8654         compat/fnmatch.c, compat/glob.c, compat/isblank.c, compat/memrchr.c,
8655         compat/mkstemp.c, compat/nanosleep.c, compat/snprintf.c,
8656         compat/strcasecmp.c, compat/strerror.c, compat/strlcat.c,
8657         compat/strlcpy.c, compat/timespec.h, compat/utime.h,
8658         compat/utimes.c, doc/HISTORY, doc/history.pod, doc/license.pod,
8659         include/alloc.h, include/error.h, include/lbuf.h, include/list.h,
8660         include/missing.h, pathnames.h.in, plugins/sudoers/alias.c,
8661         plugins/sudoers/audit.c, plugins/sudoers/auth/sudo_auth.h,
8662         plugins/sudoers/boottime.c, plugins/sudoers/bsm_audit.c,
8663         plugins/sudoers/bsm_audit.h, plugins/sudoers/defaults.c,
8664         plugins/sudoers/defaults.h, plugins/sudoers/find_path.c,
8665         plugins/sudoers/getspwuid.c, plugins/sudoers/goodpath.c,
8666         plugins/sudoers/gram.y, plugins/sudoers/interfaces.c,
8667         plugins/sudoers/interfaces.h, plugins/sudoers/logging.c,
8668         plugins/sudoers/logging.h, plugins/sudoers/match.c,
8669         plugins/sudoers/parse.h, plugins/sudoers/plugin_error.c,
8670         plugins/sudoers/pwutil.c, plugins/sudoers/redblack.c,
8671         plugins/sudoers/redblack.h, plugins/sudoers/sudo_nss.h,
8672         plugins/sudoers/sudoers.h, plugins/sudoers/sudoreplay.c,
8673         plugins/sudoers/testsudoers.c, plugins/sudoers/timestr.c,
8674         plugins/sudoers/toke.l, plugins/sudoers/visudo.c, src/aix.c,
8675         src/conversation.c, src/error.c, src/load_plugins.c,
8676         src/parse_args.c, src/sesh.c, src/sudo.h, src/sudo_noexec.c,
8677         src/sudo_plugin_int.h, src/sudo_usage.h.in, src/tgetpass.c:
8678         Update copyright year
8679         [26ac7991f7d8]
8680
8681         * doc/Makefile.in:
8682         Fix commented DEVDOCS when not in devel mode.
8683         [e0a97eaf3793]
8684
8685         * plugins/sudoers/match.c:
8686         Quiet a compiler warning.
8687         [b2a17ebd5d38]
8688
8689         * plugins/sudoers/getdate.c, plugins/sudoers/getdate.y:
8690         Quiet a compiler warning.
8691         [687843bc593d]
8692
8693         * plugins/sudoers/ldap.c, plugins/sudoers/sudoers.h:
8694         Make all functions in ldap.c static
8695         [b2111e89eeba]
8696
8697         * doc/schema.ActiveDirectory:
8698         Updates from Alain Roy to provide better examples for importing the
8699         schema and to fix problems caused by Windows validating attributes
8700         which have not yet been added before committing the changes.
8701         [69f4c5ccaf89]
8702
8703 2010-06-11  Todd C. Miller  <Todd.Miller@courtesan.com>
8704
8705         * configure, configure.in, doc/Makefile.in, doc/sudo.cat,
8706         doc/sudo.man.in, doc/sudo_plugin.cat, doc/sudo_plugin.man.in,
8707         doc/sudoers.cat, doc/sudoers.ldap.cat, doc/sudoers.ldap.man.in,
8708         doc/sudoers.man.in, doc/sudoreplay.cat, doc/sudoreplay.man.in,
8709         doc/visudo.cat, doc/visudo.man.in:
8710         Leave rules to build .man.in and .cat files uncommented but only
8711         make them part of the "all" rule in devel mode. Generate .cat files
8712         directly from .man.in instead of .man using default values in
8713         configure.in
8714         [c3054a44f6a5]
8715
8716         * configure, configure.in:
8717         Bump sudo version to 1.8.0b1
8718         [8f79c85135e1]
8719
8720         * configure, configure.in, src/sudo.c, src/sudo_usage.h.in:
8721         Print configure args with verbose version information.
8722         [1ce690660ed2]
8723
8724         * TODO, plugins/sudoers/visudo.c:
8725         Remove tfd from struct sudoersfile; it is not used. Add prev pointer
8726         to struct sudoersfile. Declare list of sudoersfile using TQ_DECLARE.
8727         Use tq_append to append sudoers entries to the tail queue.
8728         [1743f9a286e4]
8729
8730 2010-06-10  Todd C. Miller  <Todd.Miller@courtesan.com>
8731
8732         * WHATSNEW:
8733         Describe tty timestamp improvements
8734         [e214e863a313]
8735
8736         * plugins/sudoers/toke.c, plugins/sudoers/toke.l:
8737         A comment character may not be part of a command line argument
8738         unless it is quoted with a backslash. Fixes parsing of:
8739         testuser ALL=NOPASSWD: /usr/bin/wl #comment foo bar closes bz #441
8740         [ea2e990f85ed]
8741
8742         * doc/sudoers.pod:
8743         Make this read a little bit better when passwd_timeout is 0.
8744         [39d362757f31]
8745
8746         * doc/sudo.man.in, doc/sudo.man.pl, doc/sudo.pod:
8747         Attempt to handle a default password prompt timeout of zero more
8748         gracefully.
8749         [ea47d43acf5b]
8750
8751         * plugins/sudoers/toke.c, plugins/sudoers/toke.l:
8752         Do not override value of keepopen global, instead restore it to the
8753         value we pushed onto the stack when popping.
8754         [fe282e5a3402]
8755
8756         * plugins/sudoers/Makefile.in:
8757         Add dependency for utility programs on libreplace and libcommon
8758         [2339aba64928]
8759
8760         * compat/sigaction.c, config.h.in, configure.in, include/compat.h,
8761         plugins/sudoers/logging.c, plugins/sudoers/mon_systrace.c,
8762         src/exec.c, src/exec_pty.c, src/tgetpass.c:
8763         Remove sigaction emulation Use SA_INTERRUPT in sa_flags
8764         [7dd61f1bd8d2]
8765
8766         * MANIFEST, config.h.in, configure, configure.in, include/missing.h:
8767         We don't use getgrouplist() at the moment so there's no need to
8768         provide a compat version.
8769         [1597536fbada]
8770
8771         * TODO:
8772         sync with reality
8773         [9e1a874e7885]
8774
8775         * include/sudo_plugin.h, plugins/sudoers/auth/sudo_auth.c,
8776         src/conversation.c, src/sudo.h, src/tgetpass.c:
8777         Fix visiblepw sudoers option; the plugin API portion still needs
8778         documenting
8779         [60b6933ef5e0]
8780
8781         * src/sudo.c:
8782         Print sudo version as well.
8783         [987ed459b459]
8784
8785         * plugins/sudoers/iolog.c, plugins/sudoers/sudoers.c:
8786         Use sudo_printf for I/O log version Clarify policy plugin version
8787         string
8788         [5a58b7e8c80b]
8789
8790         * plugins/sudoers/getdate.c, plugins/sudoers/getdate.y,
8791         plugins/sudoers/ldap.c, plugins/sudoers/sudoreplay.c:
8792         Silence some compiler warnings
8793         [afb1eba90915]
8794
8795         * src/load_plugins.c, src/tgetpass.c:
8796         Store askpass path in a global instead of uses setenv() which many
8797         systems lack.
8798         [b440bcc0e660]
8799
8800 2010-06-09  Todd C. Miller  <Todd.Miller@courtesan.com>
8801
8802         * doc/sudo.cat, doc/sudo.man.in, doc/sudo.pod, doc/sudo_plugin.cat,
8803         doc/sudo_plugin.man.in, doc/sudo_plugin.pod,
8804         plugins/sudoers/check.c, plugins/sudoers/def_data.c,
8805         plugins/sudoers/def_data.h, plugins/sudoers/def_data.in,
8806         plugins/sudoers/defaults.c, plugins/sudoers/sudoers.c,
8807         plugins/sudoers/sudoers.h, src/load_plugins.c, src/parse_args.c,
8808         src/tgetpass.c:
8809         Move askpass path specification from sudoers to sudo.conf.
8810         [5507ab867c26]
8811
8812         * src/exec.c, src/exec_pty.c, src/sudo.c, src/sudo.h:
8813         Use a flag bit in struct command_details for selinux instead of a
8814         separate field.
8815         [c59ca4acded9]
8816
8817         * src/exec.c, src/exec_pty.c, src/sudo.c, src/sudo.h:
8818         Implement background mode. If I/O logging we use pipes instead of a
8819         pty.
8820         [c07a4b356cbd]
8821
8822         * compat/mksiglist.c, compat/strsignal.c, include/compat.h,
8823         src/exec.c, src/exec_pty.c, src/tgetpass.c:
8824         Move compat definition of NSIG to compat.h
8825         [ab0385467f25]
8826
8827         * doc/sudo.cat, doc/sudo.man.in, doc/sudo.pod, doc/sudo_plugin.cat,
8828         doc/sudo_plugin.man.in, doc/sudo_plugin.pod:
8829         Mention plugins in the sudo manual and add some missing path
8830         substitution in the sudo_plugin manual.
8831         [570f831f47a3]
8832
8833         * src/Makefile.in:
8834         Set _PATH_SUDO_CONF based on $(sysconfdir)
8835         [fde51869cf07]
8836
8837         * common/lbuf.c, common/term.c, config.h.in, configure, configure.in,
8838         src/exec.c, src/exec_pty.c, src/ttysize.c:
8839         Require POSIX termios to build sudo
8840         [9ec6b41f3f95]
8841
8842         * src/tgetpass.c:
8843         Ignore SIGPIPE for "sudo -S"
8844         [7ad27fde0c06]
8845
8846         * src/tgetpass.c:
8847         Fix uninitialized variable in TGP_ECHO case and print a newline if
8848         the user interrupted password input.
8849         [ce19204d8dd4]
8850
8851         * src/tgetpass.c:
8852         Make TGP_ECHO override TGP_MASK and don't try to restore the
8853         terminal if we didn't modify it.
8854         [a7e11abfe7e4]
8855
8856         * doc/sudo_plugin.cat, doc/sudo_plugin.man.in, doc/sudo_plugin.pod,
8857         include/sudo_plugin.h, plugins/sudoers/auth/sudo_auth.c,
8858         src/conversation.c, src/sudo.h, src/tgetpass.c:
8859         Add SUDO_CONV_PROMPT_MASK define which corresponds to the
8860         "pwfeedback" sudoers option. Do not disable echo if TGP_ECHO is
8861         set.
8862         [e0550590cabe]
8863
8864         * src/exec_pty.c:
8865         Use POSIX tcgetpgrp() instead of BSD TIOCGPGRP ioctl
8866         [762448182fe3]
8867
8868 2010-06-08  Todd C. Miller  <Todd.Miller@courtesan.com>
8869
8870         * src/exec.c, src/exec_pty.c, src/selinux.c, src/sudo.c, src/sudo.h:
8871         Add selinux_enabled flag into struct command_details and set it in
8872         command_info_to_details(). Return an error from selinux_setup()
8873         instead of exiting. Call selinux_setup() from exec_setup().
8874         [011bea23a5a0]
8875
8876 2010-06-09  Todd C. Miller  <Todd.Miller@courtesan.com>
8877
8878         * src/exec_pty.c:
8879         Remove commented out copy of old sudo_execve() function.
8880         [9c5e21380472]
8881
8882 2010-06-08  Todd C. Miller  <Todd.Miller@courtesan.com>
8883
8884         * plugins/sudoers/sudoers.c:
8885         Fix setting selinux type on command line.
8886         [814b20a0b3be]
8887
8888         * plugins/sudoers/iolog.c:
8889         In sudoers_io_close(), skip NULL io_fds[] elements.
8890         [4011ff7d4daf]
8891
8892         * include/compat.h:
8893         No longer need NGROUPS_MAX define
8894         [cae4c49d7077]
8895
8896         * compat/nanosleep.c, config.h.in, configure, configure.in,
8897         include/compat.h, plugins/sudoers/check.c, plugins/sudoers/iolog.c,
8898         plugins/sudoers/visudo.c, src/sudo_edit.c:
8899         Replace timerfoo macros with timevalfoo since the timer macros are
8900         known to be busted on some systems.
8901         [4f97d79f2d41]
8902
8903         * src/exec_pty.c:
8904         Remove duplicate call to selinux_setup().
8905         [82bd52764e21]
8906
8907         * plugins/sudoers/auth/pam.c:
8908         If pam_open_session() fails, pass its status to pam_end.
8909         [1d8de4cf8ff3]
8910
8911         * plugins/sudoers/toke.c, plugins/sudoers/toke.l:
8912         If a file in a #includedir has improper permissions or owner just
8913         skip it. This prevents packages that incorrectly install a file
8914         into /etc/sudoers.d from breaking sudo so easily. Syntax errors in
8915         #includedir files still result in a parse error (for now).
8916         [ade99a4549a4]
8917
8918         * WHATSNEW, doc/sudoers.cat, doc/sudoers.man.in, doc/sudoers.pod,
8919         plugins/sudoers/def_data.c, plugins/sudoers/def_data.h,
8920         plugins/sudoers/def_data.in, plugins/sudoers/iolog.c:
8921         Add use_pty sudoers option to force use of a pty even when not
8922         logging I/O.
8923         [b280a8972a79]
8924
8925         * plugins/sudoers/env.c, plugins/sudoers/sudoers.h:
8926         Make env_init() void as it never fails.
8927         [d3890e55daa7]
8928
8929         * plugins/sudoers/env.c:
8930         No longer use _NSGetEnviron so don't need crt_externs.h
8931         [9b4e0e139881]
8932
8933         * plugins/sudoers/env.c:
8934         Remove unused VNULL define
8935         [a42cacb263e3]
8936
8937 2010-06-07  Todd C. Miller  <Todd.Miller@courtesan.com>
8938
8939         * plugins/sudoers/iolog.c:
8940         Add #define for maximum session id
8941         [9e18c17a28c2]
8942
8943         * MANIFEST, src/Makefile.in, src/exec.c, src/exec_pty.c, src/sudo.h:
8944         Split exec.c into exec.c and exec_pty.c
8945         [d52376327332]
8946
8947         * MANIFEST:
8948         Sync with source file moves.
8949         [4a62c6c9e846]
8950
8951         * src/Makefile.in, src/get_pty.c, src/pty.c:
8952         Rename pty.c -> get_pty.c
8953         [5696a12bd29b]
8954
8955 2010-06-06  Todd C. Miller  <Todd.Miller@courtesan.com>
8956
8957         * plugins/sudoers/iolog.c:
8958         Only use I/O input log file if def_log_input is set and output file
8959         if def_log_output is set.
8960         [d866992f1681]
8961
8962 2010-06-04  Todd C. Miller  <Todd.Miller@courtesan.com>
8963
8964         * compat/strsignal.c:
8965         Update copyright year
8966         [a96f2593fd4e]
8967
8968         * src/pty.c:
8969         uid -> ttyuid
8970         [c3454d74ebcb]
8971
8972         * plugins/sudoers/sudoers.c:
8973         For sudoedit, make a local copy of editor string si become part of
8974         argv. If no editor environment variable, split def_editor on ':'
8975         since it may be a colon-delimited path.
8976         [2ee298506a6e]
8977
8978         * src/sudo_edit.c:
8979         Remove unneeded endpwent()/endgrent()
8980         [623f6743d101]
8981
8982         * doc/Makefile.in:
8983         Use value of nroff from configure
8984         [b2ce649125ab]
8985
8986         * src/exec.c:
8987         Add missing const to I/O log action function
8988         [d764a3955e04]
8989
8990         * plugins/sudoers/check.c:
8991         Update copyright year and fix whitespace
8992         [e648c35b16be]
8993
8994         * configure, configure.in:
8995         Fix typo
8996         [8e0bdfc47da4]
8997
8998         * plugins/sudoers/iolog.c:
8999         Remove redundant tty signal blocking in log function.
9000         [f17f575dabd4]
9001
9002 2010-06-03  Todd C. Miller  <Todd.Miller@courtesan.com>
9003
9004         * plugins/sudoers/iolog.c:
9005         Place static keyword where it belongs
9006         [b01aec7c86b4]
9007
9008         * plugins/sudoers/logging.c:
9009         Always use a printf format string for send_mail()
9010         [13b1ada644c9]
9011
9012         * common/atobool.c, plugins/sudoers/ldap.c:
9013         Extend atobool() so we can use it in the LDAP code.
9014         [73f8e6807044]
9015
9016         * doc/sudo.cat, doc/sudo.man.in, doc/sudo.pod:
9017         Sudo now stashes tty ctime for tty_tickets on Solaris too.
9018         [e82df13ad3fd]
9019
9020         * plugins/sudoers/boottime.c:
9021         Fix dummy version of get_boottime()
9022         [01d69c06013b]
9023
9024 2010-06-02  Todd C. Miller  <Todd.Miller@courtesan.com>
9025
9026         * plugins/sudoers/check.c:
9027         Enable tty_is_devpts() support for Solaris with the "devices"
9028         filesystem.
9029         [237c6b25fa84]
9030
9031         * src/exec.c:
9032         Unbreak the non-io logging case.
9033         [4822b9f709fb]
9034
9035         * src/conversation.c, src/sudo.c, src/sudo_plugin_int.h:
9036         Fix symbol name conflict with sudo_printf.
9037         [0d44eab0a8f6]
9038
9039         * plugins/sudoers/auth/pam.c:
9040         Fix OpenPAM detection for newer versions.
9041         [1b2abed232d8]
9042
9043         * plugins/sudoers/vasgroups.c:
9044         Sync with Quest sudo git repo
9045         [f1d98b3cba02]
9046
9047         * aclocal.m4, configure, configure.in:
9048         HP-UX ld uses +b instead or -R or -rpath Fix typo in libvas check
9049         Add missing template for ENV_DEBUG Adapted from Quest sudo
9050         [695dbd7b28f4]
9051
9052         * README.LDAP:
9053         Fix typos; from Quest Sudo
9054         [4eba9da33b8e]
9055
9056 2010-06-01  Todd C. Miller  <Todd.Miller@courtesan.com>
9057
9058         * plugins/sudoers/Makefile.in:
9059         Add back -I$(top_srcdir); we need it for including compat/foo.h
9060         since we cannot rely on "foo.h" being found relative to the source
9061         file when the cwd is different.
9062         [bbf24695f325]
9063
9064         * src/exec.c:
9065         Fix a bug where we could treat EAGAIN as a permanent error. Also set
9066         cstat if perform_io() returns an error.
9067         [200475c4326f]
9068
9069         * common/alloc.c, plugins/sudoers/boottime.c,
9070         plugins/sudoers/sudoers.c:
9071         Add casts to quiet compiler warnings.
9072         [85eb1c336697]
9073
9074         * plugins/sudoers/sudoreplay.c, plugins/sudoers/testsudoers.c,
9075         plugins/sudoers/visudo.c:
9076         Fix typo in ternary operator usage.
9077         [6492ac1450e2]
9078
9079 2010-05-30  Todd C. Miller  <Todd.Miller@courtesan.com>
9080
9081         * INSTALL, configure, configure.in:
9082         Add --enable-warnings and fix typo in SUDO_IO_LOGDIR
9083         [92121d693b30]
9084
9085         * doc/sudoers.cat, doc/sudoers.man.in, doc/sudoers.pod,
9086         doc/sudoreplay.cat, doc/sudoreplay.man.in, doc/sudoreplay.pod:
9087         Update docs to match sudoers I/O logging changes
9088         [18d651989e49]
9089
9090         * INSTALL, WHATSNEW, aclocal.m4, configure, configure.in,
9091         pathnames.h.in, plugins/sudoers/def_data.c,
9092         plugins/sudoers/def_data.h, plugins/sudoers/def_data.in,
9093         plugins/sudoers/defaults.c, plugins/sudoers/gram.c,
9094         plugins/sudoers/gram.h, plugins/sudoers/gram.y,
9095         plugins/sudoers/iolog.c, plugins/sudoers/parse.c,
9096         plugins/sudoers/parse.h, plugins/sudoers/sudoers.c,
9097         plugins/sudoers/sudoreplay.c:
9098         Break sudoers transcript feature up into log_input and log_output.
9099         [db3c1248d2ad]
9100
9101         * plugins/sudoers/sudoreplay.c, plugins/sudoers/testsudoers.c,
9102         plugins/sudoers/visudo.c:
9103         Use setprogname() as needed.
9104         [6beee63a4553]
9105
9106         * plugins/sudoers/iolog.c, plugins/sudoers/sudoreplay.c:
9107         Adapt sudoreplay to iolog changes.
9108         [581f52c05f0f]
9109
9110 2010-05-29  Todd C. Miller  <Todd.Miller@courtesan.com>
9111
9112         * plugins/sudoers/iolog.c:
9113         Log all input and output into separate files and store a number on
9114         each timing file line to indicate which file the data is in.
9115         [fb460c5273dd]
9116
9117         * plugins/sudoers/iolog.c, plugins/sudoers/sudoers.c,
9118         plugins/sudoers/sudoers.h:
9119         Make sudoers_io functions static to iolog.c
9120         [b2df3cc3eecb]
9121
9122 2010-05-28  Todd C. Miller  <Todd.Miller@courtesan.com>
9123
9124         * doc/sudo.cat, doc/sudo.man.in, doc/sudo.pod, src/parse_args.c,
9125         src/sudo_usage.h.in:
9126         Completely remove the -L flag from the sudo front end.
9127         [3d220030b720]
9128
9129         * plugins/sudoers/sudoreplay.c:
9130         Fix EAGAIN handling when writing to stdout.
9131         [4766d77cea49]
9132
9133         * plugins/sudoers/sudoers.c:
9134         Eliminate unused variables
9135         [83bd711e79c4]
9136
9137         * plugins/sudoers/sudoers.c, src/exec.c, src/sudo.c:
9138         Re-enable cleanup functions in sudoers plugin and sudo driver for
9139         error()/errorx().
9140         [43093f937dd8]
9141
9142         * plugins/sudoers/auth/sudo_auth.c, plugins/sudoers/defaults.c,
9143         plugins/sudoers/interfaces.c, plugins/sudoers/iolog.c,
9144         plugins/sudoers/parse.c, plugins/sudoers/sudoers.c,
9145         plugins/sudoers/testsudoers.c, plugins/sudoers/visudo.c:
9146         Use sudo_printf to display verbose version information.
9147         [435cc9f8d4a2]
9148
9149         * common/Makefile.in, compat/Makefile.in, plugins/sample/Makefile.in,
9150         plugins/sudoers/Makefile.in, src/Makefile.in:
9151         Minor Makefile cleanup: fix a typo, change the removal order in the
9152         clean targets, and remove a superfluous include path for the sudoers
9153         plugin.
9154         [6e3b2d6b4437]
9155
9156         * plugins/sudoers/env.c:
9157         Handle duplicate variables in the environment. For unsetenv(), keep
9158         looking even after remove the first instance. For sudo_putenv(),
9159         check for and remove dupes after we replace an existing value.
9160         [c1bbb88d0435]
9161
9162 2010-05-27  Todd C. Miller  <Todd.Miller@courtesan.com>
9163
9164         * plugins/sudoers/Makefile.in:
9165         Use explicit path to source file instead of $< for files that live
9166         in devdir and top_srcdir.
9167         [358ab7f6cc64]
9168
9169         * plugins/sudoers/Makefile.in:
9170         Add explicit rules to compile gram.c and toke.c for HP-UX Pevent
9171         ending LIBSUDOERS_OBJS with a backslash
9172         [481a5c96d47e]
9173
9174         * plugins/sudoers/Makefile.in, src/Makefile.in:
9175         Link libcommon before libreplace since libcommon may use functions
9176         only present in libreplace.
9177         [1847c496ff5b]
9178
9179         * common/Makefile.in:
9180         Move code common to sudo and the sudoers plugin to a convenience
9181         library, libcommon. Removes the need to make links in the sudoers
9182         plugin dir and reduces re-compilation of duplicate object files.
9183         [4c8986352937]
9184
9185         * Makefile.in, common/alloc.c, common/atobool.c, common/fileops.c,
9186         common/fmt_string.c, common/gettime.c, common/lbuf.c, common/list.c,
9187         common/term.c, common/zero_bytes.c, configure, configure.in,
9188         plugins/sample/Makefile.in, plugins/sudoers/Makefile.in,
9189         src/Makefile.in, src/alloc.c, src/atobool.c, src/fileops.c,
9190         src/fmt_string.c, src/gettime.c, src/lbuf.c, src/list.c, src/term.c,
9191         src/zero_bytes.c:
9192         Move code common to sudo and the sudoers plugin to a convenience
9193         library, libcommon. Removes the need to make links in the sudoers
9194         plugin dir and reduces re-compilation of duplicate object files.
9195         [1d1d98bd55b9]
9196
9197         * src/exec.c, src/sudo.c, src/sudo.h:
9198         Rename script_execve to sudo_execve and rename script_foo in exec.c
9199         [a35ec80de96a]
9200
9201         * MANIFEST, src/Makefile.in, src/exec.c, src/script.c:
9202         rename script.c exec.c and fix up the MANIFEST file
9203         [36bc3bff9578]
9204
9205         * src/script.c, src/sudo.c, src/sudo.h:
9206         Rename script_setup() to pty_setup() and call from script_execve()
9207         directly.
9208         [899b0fb2a14d]
9209
9210         * configure, configure.in:
9211         bump version to 1.8.0a2
9212         [0b1c1ca9d4e5]
9213
9214         * doc/sudo_plugin.cat, doc/sudo_plugin.man.in, doc/sudo_plugin.pod:
9215         Document init_session
9216         [b5324785a406]
9217
9218         * plugins/sudoers/auth/API, plugins/sudoers/auth/sudo_auth.c,
9219         plugins/sudoers/auth/sudo_auth.h:
9220         Clean up the sudoers auth API a bit and update the docs.
9221         [c40fd4cb6e68]
9222
9223         * include/sudo_plugin.h, plugins/sudoers/auth/pam.c,
9224         plugins/sudoers/auth/sudo_auth.c, plugins/sudoers/sudoers.c,
9225         plugins/sudoers/sudoers.h, src/script.c, src/sudo.c:
9226         Add init_session function to struct policy_plugin that gets called
9227         before the uid/gid/etc changes. A struct passwd pointer is passed
9228         in,which may be NULL if the user does not exist in the passwd
9229         database.The sudoers module uses init_session to open the pam
9230         session as needed.
9231         [d71723320ee8]
9232
9233 2010-05-26  Todd C. Miller  <Todd.Miller@courtesan.com>
9234
9235         * plugins/sudoers/auth/pam.c, plugins/sudoers/auth/sudo_auth.c,
9236         plugins/sudoers/auth/sudo_auth.h, plugins/sudoers/set_perms.c,
9237         plugins/sudoers/sudoers.c, plugins/sudoers/sudoers.h:
9238         Add open/close session to sudo auth, only used by PAM. This allows
9239         us to open (and close) the PAM session from sudoers.
9240         [2665e2920d0d]
9241
9242         * plugins/sudoers/Makefile.in:
9243         Add explicit rule to build getdate.o for HP-UX make.
9244         [7f049e989956]
9245
9246         * plugins/sudoers/Makefile.in:
9247         Back out most of change 45e406ebdea2. Create dummy .l.c and .y.c
9248         rules as an alternate way to prevent HP-UX make (and others) from
9249         trying to rebuild the parser in non-dev mode.
9250         [f84badad98c5]
9251
9252         * plugins/sudoers/sudoers.c:
9253         Re-enable PATH_MAX check for command
9254         [40d8a50da136]
9255
9256         * Makefile.in:
9257         For distclean, clean the main directory last since the subdirs need
9258         to be able to run libtool to clean things.
9259         [8949a9861634]
9260
9261         * compat/Makefile.in:
9262         Fix generation of mksiglist.h
9263         [b7cdc9b36650]
9264
9265         * src/script.c:
9266         Now that we defer sending cstat until the end of script_child() we
9267         cannot reuse cstat when reading command status from parent.
9268         [25c882643466]
9269
9270 2010-05-25  Todd C. Miller  <Todd.Miller@courtesan.com>
9271
9272         * configure, configure.in, doc/sudo.man.in, doc/sudo.man.pl,
9273         doc/sudoers.cat, doc/sudoers.ldap.cat, doc/sudoers.ldap.man.in,
9274         doc/sudoers.man.in, doc/sudoers.man.pl, doc/sudoreplay.cat,
9275         doc/sudoreplay.man.in, doc/visudo.cat, doc/visudo.man.in:
9276         Use numeric registers to handle conditionals instead of trying to do
9277         it all with text processing.
9278         [478079c3fd4b]
9279
9280         * doc/sudoers.pod:
9281         Document per-command SELinux settings
9282         [13840d566805]
9283
9284         * plugins/sudoers/sudoers.c:
9285         Repair "sudo -l -U username"
9286         [10a0dcdf2ddf]
9287
9288         * plugins/sudoers/sudoers.c:
9289         Set selinux role and type in command details.
9290         [8ae6d35a126d]
9291
9292         * src/script.c, src/selinux.c, src/sudo.h:
9293         Rework SELinux support.
9294         [83279cc94bf2]
9295
9296 2010-05-24  Todd C. Miller  <Todd.Miller@courtesan.com>
9297
9298         * src/script.c, src/selinux.c, src/sudo.h:
9299         Make SELinux support compile again. Needs more work to be complete.
9300         [3d3addebcf82]
9301
9302         * doc/sudo_plugin.cat, doc/sudo_plugin.man.in, doc/sudo_plugin.pod,
9303         plugins/sudoers/sudoers.c, plugins/sudoers/sudoers.h,
9304         src/parse_args.c, src/script.c, src/selinux.c, src/sudo.c,
9305         src/sudo.h:
9306         Bring back closefrom settings.
9307         [b1c6257d4bbb]
9308
9309         * plugins/sudoers/iolog.c, plugins/sudoers/sudoers.c,
9310         plugins/sudoers/sudoers.h:
9311         If running a command or sudoedit in transcript mode, call
9312         io_nextid() before log_allowed() so the session id is logged.
9313         [c42f3ae40150]
9314
9315         * configure, configure.in:
9316         Use mandoc(1) if nroff(1) is not present.
9317         [daad4bbd04af]
9318
9319         * doc/Makefile.in:
9320         Use the --file argument to config.status instead of setting
9321         CONFIG_FILES in the environment.
9322         [c89411a8bf70]
9323
9324         * plugins/sudoers/Makefile.in:
9325         We cannot conditionally update gram.h or the dependency ordering
9326         gets messed up in devel mode.
9327         [c938953231d9]
9328
9329 2010-05-21  Todd C. Miller  <Todd.Miller@courtesan.com>
9330
9331         * Makefile.in, compat/Makefile.in, configure, configure.in,
9332         doc/Makefile.in, include/Makefile.in, plugins/sample/Makefile.in,
9333         plugins/sudoers/Makefile.in, src/Makefile.in:
9334         Substitute @SHELL@ into Makefiles
9335         [36aa6a095335]
9336
9337         * config.sub:
9338         Fix typo
9339         [16d294d26b58]
9340
9341         * config.guess, config.sub, configure, configure.in:
9342         Update to autoconf 2.65
9343         [4fa6ea8caea3]
9344
9345         * Makefile.in:
9346         Fix libtool target (space vs. tabs)
9347         [755cf3892618]
9348
9349         * config.h.in, plugins/sudoers/logging.h, plugins/sudoers/visudo.c:
9350         Remove use of RETSIGTYPE; all modern systems have signal handlers
9351         that return void.
9352         [42b4e3aee668]
9353
9354         * Makefile.in, aclocal.m4, acsite.m4, configure, configure.in,
9355         ltmain.sh, m4/libtool.m4, m4/ltoptions.m4, m4/ltsugar.m4,
9356         m4/ltversion.m4, m4/lt~obsolete.m4, plugins/sample/Makefile.in,
9357         plugins/sudoers/Makefile.in, src/Makefile.in:
9358         Update to libtool-2.2.6b. I haven't made any local modifications
9359         this time, which should be OK since we install sudo_noexec.so by
9360         hand now.
9361         [6f79ced593bb]
9362
9363         * compat/Makefile.in, plugins/sample/Makefile.in,
9364         plugins/sudoers/Makefile.in, src/Makefile.in:
9365         Use libtool to clean objects
9366         [1581057d6472]
9367
9368         * include/Makefile.in:
9369         Install sudo_plugin.h as part of "make install" and make other
9370         install targets callable from the top-level Makefile
9371         [aaaeb027d774]
9372
9373         * configure, configure.in:
9374         regen with autoupdate to eliminate AC_TRY_LINK
9375         [5d5541c230f5]
9376
9377         * Makefile.in, compat/Makefile.in, configure, configure.in,
9378         doc/Makefile.in, plugins/sample/Makefile.in,
9379         plugins/sudoers/Makefile.in, src/Makefile.in:
9380         Install sudo_plugin.h as part of "make install" and make other
9381         install targets callable from the top-level Makefile
9382         [b258b8401b1c]
9383
9384         * plugins/sample/sample_plugin.c:
9385         The sample plugin doesn't support being run with no args so return a
9386         usage error in this case.
9387         [473b3cf965be]
9388
9389         * plugins/sudoers/iolog.c:
9390         Set close on exec flag for descriptors used for I/O logging so they
9391         are not present in the command being run.
9392         [2c7e8708df76]
9393
9394         * plugins/sudoers/tsgetgrpw.c:
9395         Set close on exec flag in private versions of setpwent() and
9396         setgrent().
9397         [64fef78cb833]
9398
9399         * src/script.c:
9400         Close the I/O pipes aftering dup2()ing them to std{in,out,err}.
9401         Fixes extra fds being present in the command when it is part of a
9402         pipeline.
9403         [060451617713]
9404
9405         * plugins/sudoers/sudoers.c:
9406         Set user_tty to "unknown" if there is no tty, like sudo 1.7 does (it
9407         is used when logging). Note that user_ttypath will still be NULL if
9408         there is no tty.
9409         [31b69a6ecda7]
9410
9411         * src/script.c, src/sudo.h:
9412         Cosmetic changes: add comments, remove orphaned prototype and
9413         make a global static.
9414         [f7851af0143e]
9415
9416 2010-05-20  Todd C. Miller  <Todd.Miller@courtesan.com>
9417
9418         * src/script.c:
9419         Move check for maxfd == -1 to flush_output where it belongs.
9420         [b826a95b4491]
9421
9422         * src/script.c:
9423         Break out of select loop if all the fds we want to select on are -1.
9424         [f5b387024238]
9425
9426         * src/sudo.c:
9427         Avoid possible malloc(0) if plugin returns an empty groups list.
9428         [9765a8fe5ce7]
9429
9430         * src/sudo.c:
9431         Add debugging info when calling plugin close function
9432         [95a273c7ff66]
9433
9434         * src/script.c:
9435         Avoid closing stdin/stdout/stderr when we are piping output.
9436         [330e76423caf]
9437
9438         * src/script.c:
9439         When execve() of the command fails, it is possible to receive
9440         SIGCHLD before we've read the error status from the pipe. Re-order
9441         things such that we send the final status at the very end and prefer
9442         error status over wait status.
9443         [b0dcf825244f]
9444
9445 2010-05-19  Todd C. Miller  <Todd.Miller@courtesan.com>
9446
9447         * plugins/sudoers/auth/sudo_auth.c:
9448         Fix compilation for non PAM/BSD auth/AIX auth
9449         [e382b39d2e4f]
9450
9451 2010-05-18  Todd C. Miller  <Todd.Miller@courtesan.com>
9452
9453         * src/script.c:
9454         Additional checks to make sure we don't close /dev/tty by mistake.
9455         When flushing, sleep in select as long as we have buffers that need
9456         to be written out.
9457         [8139cbd3dd54]
9458
9459         * src/script.c:
9460         Now that we can use pipes for stdin/stdout/stderr there is no longer
9461         a need to error out when there is no tty. We just need to make sure
9462         we don't try to use the tty fd if it is -1.
9463         [666621635d26]
9464
9465 2010-05-17  Todd C. Miller  <Todd.Miller@courtesan.com>
9466
9467         * doc/sudo_plugin.cat, doc/sudo_plugin.man.in, doc/sudo_plugin.pod,
9468         include/sudo_plugin.h, plugins/sample/sample_plugin.c,
9469         plugins/sudoers/iolog.c, plugins/sudoers/sudoers.h, src/sudo.c:
9470         Add argc and argv to I/O logger open function.
9471         [0d7faa007d27]
9472
9473         * doc/sudo_plugin.man.in, doc/sudo_plugin.pod, include/sudo_plugin.h,
9474         plugins/sample/sample_plugin.c, plugins/sudoers/sudoers.c,
9475         src/parse_args.c, src/sudo.c, src/sudo_edit.c:
9476         Remove check_sudoedit function pointer in struct sudo_policy.
9477         Instead, sudo will set sudoedit=true in the settings array. The
9478         plugin should check for this and modify argv_out as appropriate in
9479         check_policy.
9480         [c0328e3276b8]
9481
9482 2010-05-16  Todd C. Miller  <Todd.Miller@courtesan.com>
9483
9484         * plugins/sample/sample_plugin.c, src/sudo.c, src/sudo.h,
9485         src/sudo_edit.c:
9486         If plugin sets "sudoedit=true" in the command info, enable sudoedit
9487         mode even if not invoked as sudoedit. This allows a plugin to
9488         enable sudoedit when the user runs an editor.
9489         [96d67b99e42e]
9490
9491 2010-05-15  Todd C. Miller  <Todd.Miller@courtesan.com>
9492
9493         * plugins/sudoers/Makefile.in:
9494         gram.h must not depend on gram.y if we want to avoid unnecessary
9495         rebuilding of targets dependent on gram.h when gram.y changes.
9496         [9db4b767fdca]
9497
9498         * plugins/sample/sample_plugin.c:
9499         Refactor common bits of check_policy and check_edit
9500         [ac4d366a04cf]
9501
9502         * plugins/sample/sample_plugin.c:
9503         Add sudoedit support
9504         [a1a6cc4c0cef]
9505
9506 2010-05-14  Todd C. Miller  <Todd.Miller@courtesan.com>
9507
9508         * plugins/sudoers/Makefile.in:
9509         Rely more on VPATH; fixes a dependency issue with the parser.
9510         [45e406ebdea2]
9511
9512         * include/compat.h:
9513         Fix typo introduced in last commit
9514         [3ccb0f853d11]
9515
9516         * include/compat.h:
9517         Emulate seteuid using setreuid() or setresuid() as needed. There are
9518         still a few places that call seteuid() directly.
9519         [36e8efa3a99d]
9520
9521         * src/parse_args.c, src/sudo_edit.c:
9522         Attempt to fix building on systems that only have setuid.
9523         [8e9ba4083318]
9524
9525         * doc/sudo_plugin.cat, doc/sudo_plugin.man.in, doc/sudo_plugin.pod:
9526         Clarify sudoedit a tad.
9527         [d39dfaa14ade]
9528
9529 2010-05-13  Todd C. Miller  <Todd.Miller@courtesan.com>
9530
9531         * src/sudo_edit.c:
9532         Fix compilation on HP-UX
9533         [f6e47843d139]
9534
9535         * doc/sudo_plugin.cat, doc/sudo_plugin.man.in, doc/sudo_plugin.pod:
9536         Document sudoedit
9537         [4cbf5196d993]
9538
9539         * plugins/sudoers/sudoers.c, src/sudo.c, src/sudo.h, src/sudo_edit.c:
9540         Change how we handle the sudoedit argv. We now require that there
9541         be a "--" in argv to separate the editor and any command line
9542         arguments from the files to be edited.
9543         [20623d549a3c]
9544
9545         * include/sudo_plugin.h, plugins/sample/sample_plugin.c,
9546         plugins/sudoers/Makefile.in, plugins/sudoers/gettime.c,
9547         plugins/sudoers/set_perms.c, plugins/sudoers/sudoers.c,
9548         src/Makefile.in, src/gettime.c, src/parse_args.c, src/sudo.c,
9549         src/sudo.h, src/sudo_edit.c:
9550         Work in progress support for sudoedit. The actual interface used by
9551         the plugin for sudoedit is likely to change.
9552         [c31262a31997]
9553
9554         * plugins/sudoers/find_path.c, plugins/sudoers/sudoers.c,
9555         plugins/sudoers/sudoers.h, plugins/sudoers/visudo.c:
9556         Make find_path() a little more generic by not checking def_foo
9557         variables inside it. Instead, pass in ignore_dot as a function
9558         argument.
9559         [9c23101a094d]
9560
9561         * plugins/sudoers/env.c:
9562         Add version of getenv(3) that uses our own environ pointer.
9563         [0e3783e63534]
9564
9565 2010-05-12  Todd C. Miller  <Todd.Miller@courtesan.com>
9566
9567         * src/script.c:
9568         Avoid a potential race condition if SIGCHLD is received immediately
9569         before we call select().
9570         [99adc5ea7f0a]
9571
9572         * plugins/sudoers/sudoers.c:
9573         Call env_init() before we open the sudoers sources as those may call
9574         our setenv() replacement.
9575         [5f82601f5ab0]
9576
9577         * plugins/sudoers/env.c:
9578         Initialize env_len in env_init()
9579         [7ae02b3029b5]
9580
9581 2010-05-11  Todd C. Miller  <Todd.Miller@courtesan.com>
9582
9583         * doc/sudo.cat, doc/sudo.man.in, doc/sudo.pod:
9584         Document time stamp shortcomings under SECURITY NOTES Use "time
9585         stamp" instead of timestamp.
9586         [2b86120815b2]
9587
9588         * doc/Makefile.in:
9589         Make sed substitution of mansectsu and mansectform global.
9590         [94588632dba0]
9591
9592         * plugins/sudoers/check.c:
9593         If the tty lives on a devpts filesystem, stash the ctime in the tty
9594         ticket file, as it is not updated when the tty is written to. This
9595         helps us determine when a tty has been reused without the user
9596         authenticating again with sudo.
9597         [0e62a31bceb0]
9598
9599         * src/tgetpass.c:
9600         Fix pasto in mulitple signal fix and use _NSIG not NSIG since that
9601         is what our compat checks set.
9602         [df50f0a040c9]
9603
9604         * configure, configure.in:
9605         Add check for whether sudo need to link with -ldl to get dlopen().
9606         This is a bit of a hack that will get reworked when libtool is
9607         updated.
9608         [63bdcf579533]
9609
9610         * plugins/sudoers/check.c:
9611         Fix timestamp removal with -k/-K
9612         [6b4639fef973]
9613
9614         * plugins/sudoers/Makefile.in:
9615         audit.c is now private to the sudoers plugin
9616         [1974f342ae0b]
9617
9618         * configure, configure.in:
9619         Link with -lpthread on HP-UX since a plugin may be linked with
9620         -lpthread and dlopen() will fail if the shared object has a
9621         dependency on -lpthread but the main program is not linked with it.
9622         [d42139391263]
9623
9624         * config.h.in, configure, configure.in, plugins/sudoers/set_perms.c:
9625         Add separate test for getresuid() since HP-UX has setresuid() but no
9626         getresuid().
9627         [910fe727a374]
9628
9629         * doc/Makefile.in:
9630         Remove errant backslash
9631         [dd5464257c69]
9632
9633         * src/script.c:
9634         Fix SIGPIPE handling. Now that we use may use pipes for
9635         stdin/stdout we need to pass any SIGPIPE we receive to the running
9636         command.
9637         [3f6b1991f4fd]
9638
9639         * src/script.c:
9640         Also start the command in the background if stdin is not a tty.
9641         [d93bc33a3740]
9642
9643 2010-05-10  Todd C. Miller  <Todd.Miller@courtesan.com>
9644
9645         * plugins/sudoers/sudoreplay.c, src/script.c, src/sudo.h, src/term.c:
9646         No need to use pseudo-cbreak mode now that we use pipes when stdout
9647         is not a tty. Instead, check whether stdin is a tty and if not,
9648         delay setting the tty to raw mode until the command tries to access
9649         it itself (and receives SIGTTIN or SIGTTOU).
9650         [e68315cf8c6b]
9651
9652         * src/tgetpass.c:
9653         Use an array for signals received instead of a single variable so we
9654         don't lose any when there are multiple different signals.
9655         [2ac726dac864]
9656
9657         * src/tgetpass.c:
9658         Do signal setup after turning off echo, not before. If we are using
9659         a tty but are not the foreground pgrp this will generate SIGTTOU so
9660         we want the default action to be taken (suspend process).
9661         [bebb6209c795]
9662
9663 2010-05-07  Todd C. Miller  <Todd.Miller@courtesan.com>
9664
9665         * src/script.c:
9666         Flush the iobufs on suspend or child exit using the same logic as
9667         the main event loop.
9668         [c627feee1035]
9669
9670         * src/script.c:
9671         Free memory after we are done with it.
9672         [8db9b611b45a]
9673
9674 2010-05-06  Todd C. Miller  <Todd.Miller@courtesan.com>
9675
9676         * doc/HISTORY:
9677         Quest now sponsors Sudo development
9678         [6cc490083bc7]
9679
9680 2010-05-05  Todd C. Miller  <Todd.Miller@courtesan.com>
9681
9682         * doc/Makefile.in:
9683         Install sudo_plugin man page.
9684         [c253729790b2]
9685
9686         * src/script.c:
9687         Go back to reseting io_buffer offset and length (and now also the
9688         EOF handling) in the loop we do the FD_SET, not after we drain the
9689         buffer after write() since we don't know what order reads and writes
9690         will occur in.
9691         [5f38bfa8497f]
9692
9693         * MANIFEST:
9694         audit files moved to sudoers plugin directory
9695         [b1ead182428e]
9696
9697         * doc/sudo_plugin.cat, doc/sudo_plugin.man.in, doc/sudo_plugin.pod:
9698         Document plugin_printf and new logging functions.
9699         [fe9430b60ab5]
9700
9701         * src/script.c:
9702         Add support for logging stdin when it is not a tty. There is still a
9703         bug where "cat | sudo cat" has problems because both cat and sudo
9704         are trying to read from the tty.
9705         [04c9c59fcfba]
9706
9707         * include/sudo_plugin.h, plugins/sample/sample_plugin.c,
9708         plugins/sudoers/sudoers.c, src/script.c:
9709         Add separate I/O logging functions for tty in/out and
9710         stdin/stdout/stderr. NOTE: stdin logging does not currently work and
9711         is disabled for now.
9712         [a36dfd4ca935]
9713
9714 2010-05-04  Todd C. Miller  <Todd.Miller@courtesan.com>
9715
9716         * include/sudo_plugin.h, plugins/sample/sample_plugin.c,
9717         plugins/sudoers/iolog.c, plugins/sudoers/ldap.c,
9718         plugins/sudoers/logging.c, plugins/sudoers/plugin_error.c,
9719         plugins/sudoers/sudoers.c, plugins/sudoers/sudoers.h,
9720         src/conversation.c, src/sudo.c, src/sudo_plugin_int.h:
9721         Add pointer to a printf like function to plugin open functon. This
9722         can be used instead of the conversation function to display info and
9723         error messages.
9724         [98734eea8ef1]
9725
9726         * Makefile.in:
9727         Stop if make in a subdir fails
9728         [228bb3ad2dbc]
9729
9730         * src/script.c:
9731         Only set user's tty to blocking mode when doing the final flush.
9732         Flush pipes as well as pty master when the process is done.
9733         [20ff67218666]
9734
9735 2010-05-03  Todd C. Miller  <Todd.Miller@courtesan.com>
9736
9737         * plugins/sudoers/ldap.c:
9738         Use print_error() when displaying ldap config info in debugging
9739         mode.
9740         [d142e0cacb22]
9741
9742         * compat/Makefile.in, compat/strdup.c, compat/strndup.c:
9743         No longer need strdup() or strndup() replacements.
9744         [df53697174ec]
9745
9746         * plugins/sudoers/logging.c, plugins/sudoers/plugin_error.c,
9747         plugins/sudoers/sudoers.h:
9748         Add print_error() function that uses the conversation function to
9749         print a variable number of error strings and use it in log_error().
9750         [b1fa2861b575]
9751
9752         * src/script.c, src/sudo.h, src/term.c:
9753         Do not need the opost flag to term_copy() now that we use pipes for
9754         stdout/stderr when they are not a tty.
9755         [f42811f70a19]
9756
9757         * src/script.c:
9758         Use pipes to the sudo process if stdout or stderr is not a tty.
9759         Still needs some polishing and a decision as to whether it is
9760         desirable to add additonal entry points for logging
9761         stdout/stderr/stdin when they are not ttys. That would allow a
9762         replay program to keep things separate and to know whether the
9763         terminal needs to be in raw mode at replay time.
9764         [1a945e0ab2da]
9765
9766 2010-04-30  Todd C. Miller  <Todd.Miller@courtesan.com>
9767
9768         * plugins/sudoers/Makefile.in, plugins/sudoers/audit.c,
9769         plugins/sudoers/bsm_audit.c, plugins/sudoers/bsm_audit.h,
9770         src/audit.c, src/bsm_audit.c, src/bsm_audit.h:
9771         Move audit sources into the sudoers plugin dir; the driver does not
9772         use them.
9773         [50ec36422cd0]
9774
9775         * compat/getline.c, compat/mksiglist.c, compat/nanosleep.c,
9776         compat/strdup.c, compat/strndup.c, plugins/sample/sample_plugin.c,
9777         plugins/sudoers/boottime.c, plugins/sudoers/getdate.c,
9778         plugins/sudoers/match.c, plugins/sudoers/sudoreplay.c,
9779         plugins/sudoers/timestr.c, plugins/sudoers/vasgroups.c, src/alloc.c,
9780         src/atobool.c, src/audit.c, src/lbuf.c, src/list.c, src/sesh.c,
9781         src/term.c, src/ttysize.c:
9782         Use angle brackets when including headers that can only be found
9783         when an -I flag is specified. The files in the compat dir could get
9784         away with double quotes here but I've converted all the source files
9785         to use angle brackets for consistency.
9786         [9e30a8fc6d4b]
9787
9788         * plugins/sudoers/Makefile.in:
9789         Add missing -I$(top_srcdir) to CPPFLAGS so includes in the compat
9790         dir can be found when building outside the source tree.
9791         [1150934b79dd]
9792
9793         * plugins/sudoers/Makefile.in:
9794         Clean up links in distclean
9795         [78595028be8b]
9796
9797         * plugins/sudoers/Makefile.in:
9798         Hack around VPATH semantic differences by symlinking files we need
9799         from ../../src into the current directory and build those. A better
9800         fix would be to either make a .a or .la file with those files in it
9801         or simply use a single, flat, Makefile instead of per-subdirs
9802         Makefiles.
9803         [892c332d3f05]
9804
9805         * plugins/sudoers/Makefile.in, src/Makefile.in, src/fmt_string.c:
9806         fmt_string is used by the sudoers plugin too so do not include
9807         sudo.h (which is not really needed here anyway)
9808         [231c35e3941f]
9809
9810         * compat/Makefile.in, plugins/sample/Makefile.in,
9811         plugins/sudoers/Makefile.in, src/Makefile.in:
9812         Fix building with non-BSD versions of make such as GNU make.
9813         Requires VPATH support, which should be in any non-neolithic make.
9814         [dc174f135919]
9815
9816         * configure, configure.in, plugins/sudoers/Makefile.in,
9817         plugins/sudoers/auth/sudo_auth.c, plugins/sudoers/sudoers.c,
9818         src/Makefile.in:
9819         Re-enable bsm audit. Currently auditing is done within the sudoers
9820         plugin itself. If possible, this should really be done in the main
9821         driver but we don't presently have the needed data to do that. This
9822         will be re-evaluated when Linux audit support is added.
9823         [1d05a3236bfe]
9824
9825         * compat/Makefile.in, plugins/sample/Makefile.in,
9826         plugins/sudoers/Makefile.in, src/Makefile.in:
9827         Remove extraneous $srcdir and use more .c.lo and .c.o rules instead
9828         of explicit rules in the dependency.
9829         [88f80efd25f0]
9830
9831         * plugins/sudoers/visudo.c:
9832         Fix mismerge; alias_remove_recursive() now returns int
9833         [6257a4849641]
9834
9835 2010-04-29  Todd C. Miller  <Todd.Miller@courtesan.com>
9836
9837         * plugins/sudoers/visudo.c:
9838         Fix a crash when checking a sudoers file that has aliases that
9839         reference themselves. Based on a diff from David Wood.
9840         [545d194484a7]
9841
9842         * src/script.c:
9843         Print signal info after restoring the tty mode, not before.
9844         [a68618e67435]
9845
9846         * src/script.c:
9847         Defer call to alarm() until after we fork the child. Pass correct
9848         pid to terminate_child() If the command exits due to signal, set
9849         alive to false like we do when it exits normally. Add missing
9850         check for errpipe[0] != -1 before using it in FD_ISSET
9851         [22f0a1549391]
9852
9853 2010-04-28  Todd C. Miller  <Todd.Miller@courtesan.com>
9854
9855         * plugins/sudoers/boottime.c:
9856         Use 1/0 instead of TRUE/FALSE so we don't need sudoers.h
9857         [0e627170c6e8]
9858
9859 2010-04-27  Todd C. Miller  <Todd.Miller@courtesan.com>
9860
9861         * src/Makefile.in:
9862         Simplify dependencies by using .c.o and .c.lo rules.
9863         [6abcaef5d1ac]
9864
9865         * configure, configure.in, plugins/sudoers/Makefile.in,
9866         src/Makefile.in:
9867         Substitute in @PROGS@ into src/Makefile to add sesh
9868         [cc46d3b6208f]
9869
9870 2010-04-26  Todd C. Miller  <Todd.Miller@courtesan.com>
9871
9872         * plugins/sudoers/sudoers.c:
9873         Add back calls to log_denial() if sudoers does not allow the
9874         command.
9875         [9783316207f0]
9876
9877         * plugins/sudoers/sudoers.c:
9878         Pass in correct pwflag for list and validate.
9879         [973dd56d4b81]
9880
9881         * plugins/sudoers/env.c:
9882         Add missing check for NULL in validate_env_vars
9883         [1d6eb6957824]
9884
9885         * src/Makefile.in:
9886         Add sudo_noexec.la to "all" target, otherwise it only gets built at
9887         install time.
9888         [644a9694d2ef]
9889
9890         * plugins/sudoers/sudoers.c:
9891         Only set sudo_user.env_vars if the env_add list is empty.
9892         [fccdf6f0e0e2]
9893
9894         * plugins/sudoers/sudoers.c:
9895         Set sudo_user.env_vars so that environment variables specified on
9896         the command line get logged correctly.
9897         [9b51012c491e]
9898
9899         * plugins/sudoers/env.c, plugins/sudoers/logging.c,
9900         plugins/sudoers/sudoers.c, plugins/sudoers/sudoers.h:
9901         Re-enable environment files and setting environment variables on the
9902         command line.
9903         [5662d5645dbd]
9904
9905 2010-04-24  Todd C. Miller  <Todd.Miller@courtesan.com>
9906
9907         * plugins/sudoers/check.c:
9908         Fix typo in last commit (ifndef vs ifdef) Make sure we pass ctime()
9909         a pointer to time_t as tv_sec in struct timeval may be long.
9910         [4de0c46e788e]
9911
9912         * plugins/sudoers/check.c:
9913         Don't stash ctime in on-disk tty ticket info for now; on many
9914         (most?) systems the ctime is updated when the tty is written to.
9915         Once I have a better idea of what systems do not update ctime on
9916         ttys (and have a way to test for this) the ctime stash will be
9917         conditionally re-enabled.
9918         [a90eeec0f648]
9919
9920 2010-04-23  Todd C. Miller  <Todd.Miller@courtesan.com>
9921
9922         * MANIFEST, Makefile.in:
9923         Add back "dist" target, this time using a MANIFEST file
9924         [29277c05499f]
9925
9926         * Makefile.in:
9927         Remove Makefile in distclean target
9928         [83d695f4f450]
9929
9930         * Makefile.in, src/Makefile.in:
9931         Update clean and cleandir targets
9932         [ad7b2afeb9c1]
9933
9934         * include/fileops.h, plugins/sudoers/sudoers.h, src/fileops.c,
9935         src/sudo.h:
9936         Move fileops.c defines and prototypes to filesops.h
9937         [4545e9b6892d]
9938
9939         * plugins/sudoers/check.c:
9940         Lock the tty timestamp when writing. We shouldn't have to lock when
9941         reading since the file is updated via a single write system call.
9942         [0c7276f02696]
9943
9944 2010-04-22  Todd C. Miller  <Todd.Miller@courtesan.com>
9945
9946         * plugins/sudoers/alias.c, plugins/sudoers/check.c,
9947         plugins/sudoers/defaults.c, plugins/sudoers/find_path.c,
9948         plugins/sudoers/getspwuid.c, plugins/sudoers/gettime.c,
9949         plugins/sudoers/goodpath.c, plugins/sudoers/interfaces.c,
9950         plugins/sudoers/iolog.c, plugins/sudoers/ldap.c,
9951         plugins/sudoers/logging.c, plugins/sudoers/match.c,
9952         plugins/sudoers/nonunix.h, plugins/sudoers/parse.c,
9953         plugins/sudoers/pwutil.c, plugins/sudoers/redblack.c,
9954         plugins/sudoers/sudo_nss.c, plugins/sudoers/sudoers.c,
9955         plugins/sudoers/sudoreplay.c, plugins/sudoers/testsudoers.c,
9956         plugins/sudoers/timestr.c, plugins/sudoers/tsgetgrpw.c,
9957         plugins/sudoers/vasgroups.c, plugins/sudoers/visudo.c:
9958         Convert to ANSI C function declarations
9959         [9c45def57cf7]
9960
9961         * plugins/sudoers/sudoers.h:
9962         Remove extraneous bits and classify by source file.
9963         [e8ea9f109ebb]
9964
9965         * include/compat.h:
9966         Add timercmp macro for systems without it
9967         [d3bf87b1d08e]
9968
9969         * plugins/sudoers/boottime.c, plugins/sudoers/check.c,
9970         plugins/sudoers/sudoers.h:
9971         get_boottime() now fills in a timeval struct
9972         [3573c3f44e11]
9973
9974         * plugins/sudoers/check.c:
9975         Store info from stat(2)ing the tty in the tty ticket when tty
9976         tickets are in use. On most systems, this closes the loophole
9977         whereby a user can log out of a tty, log back in and still have the
9978         timestamp be valid.
9979         [53380f9f5242]
9980
9981         * config.h.in, configure.in:
9982         Add timespec2timeval and use it when getting ctime/mtime
9983         [4cb7f7caec2c]
9984
9985 2010-04-20  Todd C. Miller  <Todd.Miller@courtesan.com>
9986
9987         * plugins/sudoers/auth/sudo_auth.c, plugins/sudoers/set_perms.c,
9988         plugins/sudoers/sudoers.c, plugins/sudoers/sudoers.h,
9989         plugins/sudoers/testsudoers.c:
9990         Convert perm setting to push/pop model; still needs some work Use
9991         the stashed runas groups instead of using getgrouplist() Reset perms
9992         to the initial value on error
9993         [09c072ebde8b]
9994
9995         * config.h.in, configure.in:
9996         fix ctim_get and mtim_get macros
9997         [58773dc1e360]
9998
9999         * config.h.in, configure, configure.in, include/compat.h,
10000         plugins/sudoers/check.c, plugins/sudoers/gettime.c,
10001         plugins/sudoers/sudoers.h, plugins/sudoers/visudo.c, src/fileops.c:
10002         Use timeval directly instead of converting to timespec when dealing
10003         with file times and time of day.
10004         [a0ce1ae00a67]
10005
10006         * plugins/sudoers/Makefile.in:
10007         Don't like sudoreplay with libsudoers.la due to a yacc symbol
10008         conflict.
10009         [f1a59cc63a15]
10010
10011 2010-04-18  Todd C. Miller  <Todd.Miller@courtesan.com>
10012
10013         * configure, configure.in:
10014         Darwin >= 9.x has real setreuid(2)
10015         [7ec942a64275]
10016
10017 2010-04-17  Todd C. Miller  <Todd.Miller@courtesan.com>
10018
10019         * plugins/sudoers/env.c, plugins/sudoers/sudoers.h:
10020         Ansify env.c
10021         [f58551bad10a]
10022
10023         * plugins/sudoers/env.c, plugins/sudoers/sudoers.c,
10024         plugins/sudoers/sudoers.h:
10025         Remove remaining references to the environ pointer.
10026         [96faa530816a]
10027
10028 2010-04-16  Todd C. Miller  <Todd.Miller@courtesan.com>
10029
10030         * config.h.in, configure, configure.in, plugins/sudoers/env.c:
10031         Don't change the environ directly in the sudoers plugin
10032         [6db48ed3f7e0]
10033
10034 2010-04-15  Todd C. Miller  <Todd.Miller@courtesan.com>
10035
10036         * plugins/sudoers/sudoers.c:
10037         Fix typo
10038         [4aa452b07f8f]
10039
10040         * plugins/sudoers/alias.c:
10041         Fix use after free in error message when a duplicate alias exists.
10042         [ce1d2812ee34]
10043
10044 2010-04-14  Todd C. Miller  <Todd.Miller@courtesan.com>
10045
10046         * doc/sudo_plugin.cat, doc/sudo_plugin.man.in, doc/sudo_plugin.pod,
10047         src/parse_args.c:
10048         Add a "noninteractive" boolean to the settings passed in to the
10049         plugin's open function that is set when the user specifies the -n
10050         flag.
10051         [68f8d9d6d4d0]
10052
10053         * config.h.in, configure, configure.in, plugins/sudoers/env.c:
10054         Add workaround for the lack of the environ pointer on Mac OS X in
10055         dlopen()ed modules. Use of environ in the sudoers plugin should
10056         ultimately be removed but this will do for the moment.
10057         [80c61647434f]
10058
10059         * plugins/sudoers/visudo.c:
10060         Set errorfile to the sudoers path if we set parse_error manually.
10061         This prevents a NULL dereference in printf() when checking a sudoers
10062         file in strict mode when alias errors are present.
10063         [45e249ca99f7]
10064
10065         * plugins/sudoers/sudoers.c:
10066         Main sudo no longer print "unable to execute" on exec failure so do
10067         it here.
10068         [50aaf62b43b5]
10069
10070 2010-04-13  Todd C. Miller  <Todd.Miller@courtesan.com>
10071
10072         * src/script.c:
10073         Use a pipe to pass back errno to the parent if execve() fails. If we
10074         get an error in script_child(), kill the command and exit.
10075         [dc3bf870f91b]
10076
10077         * doc/sudo_plugin.cat, doc/sudo_plugin.man.in, doc/sudo_plugin.pod,
10078         src/parse_args.c, src/sudo.c:
10079         Handle plugin's open function returning -2 (usage error).
10080         [aadf900c1de8]
10081
10082         * src/script.c:
10083         If execve() fails, leave it to the plugin to print an error string.
10084         [e25748f2d5b9]
10085
10086         * src/script.c:
10087         If execve fails in logging mode, pass the errno directly to the
10088         grandparent on the backchannel and exit. The immediate parent will
10089         get SIGCHLD and try to report that status but its parent will no
10090         longer be listening. It would probably be cleaner to pass this over
10091         a pipe in script_child().
10092         [cb122acc81a8]
10093
10094         * plugins/sudoers/sudoers.c:
10095         Don't override rval with results of check_user() unless it failed.
10096         [46fb7e87ac7d]
10097
10098 2010-04-12  Todd C. Miller  <Todd.Miller@courtesan.com>
10099
10100         * doc/sudoers.cat, doc/sudoers.man.in, doc/sudoers.pod:
10101         Fix typo
10102         [ccd0b693f3da]
10103
10104         * src/parse_args.c:
10105         NULL-terminate env_add
10106         [2c534368a0c3]
10107
10108 2010-04-11  Todd C. Miller  <Todd.Miller@courtesan.com>
10109
10110         * src/sudo.c:
10111         Call the I/O log open function before the I/O version function.
10112         [e88bf898990b]
10113
10114         * plugins/sudoers/iolog.c:
10115         Remove io_conv and just use sudo_conv
10116         [a280052468eb]
10117
10118         * plugins/sudoers/set_perms.c:
10119         Fix set/restore perms for systems w/o setresuid
10120         [4160517f6666]
10121
10122 2010-04-10  Todd C. Miller  <Todd.Miller@courtesan.com>
10123
10124         * plugins/sudoers/check.c, plugins/sudoers/logging.c,
10125         plugins/sudoers/parse.c, plugins/sudoers/set_perms.c,
10126         plugins/sudoers/sudoers.c, plugins/sudoers/sudoers.h:
10127         Primitive set/restore permissions. Will be replaced by a push/pop
10128         model.
10129         [aae102290866]
10130
10131         * src/script.c:
10132         Only need to take action on SIGCHLD in parent if no I/O logger. If
10133         there is an I/O logger we will receive ECONNRESET or EPIPE when we
10134         try to read from the socketpair.
10135         [e1e4560401f6]
10136
10137 2010-04-09  Todd C. Miller  <Todd.Miller@courtesan.com>
10138
10139         * compat/memrchr.c, doc/sudoers.cat, doc/sudoers.man.in,
10140         doc/sudoers.pod, plugins/sudoers/find_path.c:
10141         Merge fb4d571495fa from the 1.7 branch to trunk.
10142         [c8fb424ad4d2]
10143
10144 2010-04-08  Todd C. Miller  <Todd.Miller@courtesan.com>
10145
10146         * src/script.c:
10147         Don't set SA_RESTART when registering SIGALRM handler. Do set
10148         SA_RESTART when registering SIGWINCH handler.
10149         [173472b76525]
10150
10151         * doc/Makefile.in:
10152         Add dev targets for *.man.in and *.cat that don't specfify the
10153         $(srcdir) prefix.
10154         [b62f425da2e4]
10155
10156         * src/script.c:
10157         If log_input or log_output returns false, terminate the command.
10158         [074f4c0c34a0]
10159
10160         * src/script.c:
10161         Better signal handling. Instead of using a single variable to store
10162         the received signal, use an array so we can't lose a signal when
10163         multiple are sent. Fix process termination by SIGALRM in non-I/O
10164         logger mode. Fix relaying terminal signals to the child in non-I/O
10165         logger mode.
10166         [7a4723aca99d]
10167
10168         * src/script.c:
10169         Fix a race between when we get the child pid in the parent and when
10170         the child process exits. The problem exhibited as a hang after a
10171         short-lived process, e.g. "sudo id" when no IO logger was enabled.
10172         [80bcc0aca70b]
10173
10174 2010-04-07  Todd C. Miller  <Todd.Miller@courtesan.com>
10175
10176         * doc/sudoers.cat, doc/sudoers.man.in, doc/sudoers.pod:
10177         Add a note about the security implications of the fast_glob option.
10178         [c37a92ab7c93]
10179
10180 2010-04-06  Todd C. Miller  <Todd.Miller@courtesan.com>
10181
10182         * config.h.in, configure, configure.in:
10183         Fix up some AC_DEFINE descriptions and regen config.h.in
10184         [f4655adc0db3]
10185
10186 2010-04-05  Todd C. Miller  <Todd.Miller@courtesan.com>
10187
10188         * include/missing.h:
10189         No longer check for strdup or strndup for LIBOBJ replacement.
10190         [fdc764ee8109]
10191
10192         * src/script.c:
10193         Avoid installing signal handlers that are io-logger specific. Fixes
10194         job control when no io logger is enabled.
10195         [0853dd0906d4]
10196
10197         * doc/Makefile.in:
10198         Only regen man pages from pod when configured with --with-devel
10199         [ab1995f8103d]
10200
10201 2010-04-04  Todd C. Miller  <Todd.Miller@courtesan.com>
10202
10203         * Makefile, Makefile.in, configure, configure.in:
10204         Top-level Makefile.in. Nothing is currently substituted but this is
10205         needed for separate build dirs.
10206         [e80873cbd201]
10207
10208         * compat/Makefile.in, doc/Makefile.in, plugins/sample/Makefile.in,
10209         plugins/sudoers/Makefile.in, src/Makefile.in:
10210         Fix out-of-tree builds
10211         [59a35bef07b8]
10212
10213         * Merge
10214         [386b848047e9]
10215
10216         * doc/Makefile.in:
10217         We always install sudoreplay in 1.8
10218         [ce52ba6617c9]
10219
10220 2010-04-03  Todd C. Miller  <Todd.Miller@courtesan.com>
10221
10222         * compat/siglist.in:
10223         SIGPOLL is sometimes the same as SIGIO (like on HP-UX)
10224         [6d69e1b05faf]
10225
10226 2010-04-02  Todd C. Miller  <Todd.Miller@courtesan.com>
10227
10228         * configure, configure.in:
10229         No need to provide strdup() or strndup(), sudo uses estrdup() and
10230         estrndup()
10231         [57ec23b72958]
10232
10233 2010-04-04  Todd C. Miller  <Todd.Miller@courtesan.com>
10234
10235         * plugins/sudoers/iolog.c, plugins/sudoers/sudoers.c:
10236         Free str after using it in the version method. Use sudo_conv, not
10237         io_conv since we don't have the IO conversation function pointer in
10238         the I/O version method anymore now that io_open is delayed.
10239         [f2ed132adeb0]
10240
10241 2010-04-02  Todd C. Miller  <Todd.Miller@courtesan.com>
10242
10243         * compat/Makefile.in, compat/mksiglist.c, compat/mksiglist.h,
10244         compat/siglist.in:
10245         Add license to mksiglist.c and note that the bits from pdksh are
10246         public domain
10247         [d8121a2467e8]
10248
10249         * compat/Makefile.in:
10250         Fix LIBOBJDIR vs. srcdir wrt the siglist bits
10251         [164160148421]
10252
10253         * plugins/sudoers/Makefile.in:
10254         Add sudoreplay testsudoers and visudo to clean target
10255         [138a17e51c0c]
10256
10257         * compat/Makefile.in, compat/mksiglist.c, compat/mksiglist.h,
10258         compat/siglist.in, compat/strsignal.c, configure, configure.in,
10259         include/missing.h, src/script.c:
10260         Create our own sys_siglist for systems without it for use by
10261         strsignal()
10262         [2e5da011ebc3]
10263
10264         * compat/Makefile.in:
10265         Remove duplicate $(LIBOBJDIR)
10266         [adf9abc9432f]
10267
10268 2010-04-01  Todd C. Miller  <Todd.Miller@courtesan.com>
10269
10270         * plugins/sudoers/sudoers.c, src/sudo.c, src/sudo_edit.c:
10271         Main sudo should not block signals; the plugin should do this in
10272         check_policy.
10273         [3f3736a7c5ed]
10274
10275 2010-03-31  Todd C. Miller  <Todd.Miller@courtesan.com>
10276
10277         * src/script.c:
10278         Fix a sizeof(ptr) vs. sizeof(*ptr)
10279         [aa1bcf5afcce]
10280
10281         * src/script.c:
10282         Unlike most operating systems, HP-UX select() is not interrupted by
10283         SIGCHLD when the signal is registered with SA_RESTART. If we clear
10284         SA_RESTART when calling sigaction() for SIGCHLD we get the expected
10285         behavior and the code in the select() loops already handles EINTR
10286         correctly.
10287         [9eba0115e35a]
10288
10289         * compat/getprogname.c:
10290         progname should be const
10291         [130228f062b7]
10292
10293         * plugins/sudoers/Makefile.in:
10294         Move --tag=disable-static to when we link sudoers.la, not when we
10295         install.
10296         [ceb5e6c3b78b]
10297
10298         * src/load_plugins.c:
10299         Load the sudoers I/O plugin by default too now that it is hooked up.
10300         [ea38befd0742]
10301
10302 2010-03-30  Todd C. Miller  <Todd.Miller@courtesan.com>
10303
10304         * src/pty.c:
10305         It looks like AIX doesn't need to push STREAMS modules for ptys.
10306         [22da618ba0a1]
10307
10308 2010-03-28  Todd C. Miller  <Todd.Miller@courtesan.com>
10309
10310         * src/parse_args.c, src/sudo.c:
10311         Delay calling the I/O plugin open function until the policy plugin
10312         returns success.
10313         [f3297c325b48]
10314
10315 2010-03-27  Todd C. Miller  <Todd.Miller@courtesan.com>
10316
10317         * plugins/sudoers/Makefile.in, plugins/sudoers/iolog.c,
10318         plugins/sudoers/set_perms.c, plugins/sudoers/sudoers.c,
10319         plugins/sudoers/sudoers.h:
10320         Add back io logging (transcript) support. Currently, the open
10321         function runs too early and it is not possible to use the io module
10322         independently of the policy module.
10323         [9bd932f66226]
10324
10325         * plugins/sudoers/set_perms.c:
10326         Comment out dead code; will be removed when set_perms is rewritten.
10327         [af7a995284f8]
10328
10329 2010-03-23  Todd C. Miller  <Todd.Miller@courtesan.com>
10330
10331         * plugins/sudoers/sudoers.c:
10332         Fix off by one error when allocating user_groups.
10333         [6281fcf9c3bb]
10334
10335 2010-03-22  Todd C. Miller  <Todd.Miller@courtesan.com>
10336
10337         * configure, configure.in, plugins/sudoers/Makefile.in:
10338         Add REPLAY_LIBS for sudoreplay and add -lrt to it on Solaris.
10339         [fbce3e9eda3a]
10340
10341         * plugins/sudoers/sudoers.c:
10342         Fix typo in preserve groups case
10343         [1fd72024fb5a]
10344
10345         * plugins/sudoers/sudoers.c:
10346         In command_info it is "runas_groups" not "groups".
10347         [5c64dce4f285]
10348
10349         * src/sudo.c:
10350         Fix iteration over runas_groups list.
10351         [b3c45a0cd643]
10352
10353         * configure, configure.in, plugins/sudoers/env.c,
10354         plugins/sudoers/match.c, src/script.c:
10355         Merge 5177a284b9ff 549f8f7c2463 88f3181692fe from 1.7 branch.
10356         [a8108a0776c2]
10357
10358         * compat/getgrouplist.c:
10359         getgrouplist(3) for those without it
10360         [4ab4d21e3b16]
10361
10362         * plugins/sudoers/sudoers.c:
10363         Set preserve_groups or groups list in command_info
10364         [1266119ad654]
10365
10366         * src/sudo.c:
10367         Fix setting of groups list
10368         [e75315e40bd4]
10369
10370         * config.h.in, configure, configure.in, include/compat.h,
10371         include/missing.h:
10372         Add checks for getgrset and getgrouplist and use replacement
10373         getgrouplist if the system doesn't support it.
10374         [a62b8ba50863]
10375
10376         * src/parse_args.c:
10377         Pass in preserve_groups when the -P flag is specified as per the
10378         design
10379         [7420c5d15474]
10380
10381         * plugins/sudoers/sudoers.c:
10382         Check preserve_groups and ignore_ticket args with atobool instead of
10383         assuming they are true if present.
10384         [71c905702697]
10385
10386 2010-03-21  Todd C. Miller  <Todd.Miller@courtesan.com>
10387
10388         * plugins/sudoers/Makefile.in, plugins/sudoers/error.c,
10389         plugins/sudoers/plugin_error.c:
10390         Rename plugin-specific error.c to plugin_error.c Wire up visudo,
10391         sudoreplay and testsudoers in the build
10392         [9d581d5fa4d4]
10393
10394         * src/Makefile.in, src/term.c:
10395         term.c does not needto include sudo.h
10396         [f6683cdcd2dd]
10397
10398         * TODO, doc/sudo_plugin.cat, doc/sudo_plugin.man.in,
10399         doc/sudo_plugin.pod:
10400         Document the -2 return in the check_policy section too
10401         [e9cb4c34bbcf]
10402
10403         * doc/sudo_plugin.cat, doc/sudo_plugin.man.in, doc/sudo_plugin.pod,
10404         plugins/sudoers/sudoers.c, plugins/sudoers/sudoers.h,
10405         src/parse_args.c, src/sudo.c, src/sudo.h:
10406         Fix the -s and -i flags and add support for the "implied_shell"
10407         option. If the user does not specify a command, sudo will now pass
10408         in the path to the user's shell and set impied_shell=true. The
10409         plugin can them either check the command normally or return -2 to
10410         cause sudo to print a usage message and exit.
10411         [bf889c38f229]
10412
10413 2010-03-19  Todd C. Miller  <Todd.Miller@courtesan.com>
10414
10415         * config.h.in, configure, configure.in, src/load_plugins.c:
10416         Bring back SUDOERS_PLUGIN but add .dylib -> .so conversion for
10417         Darwin where libraries end in .dylib but modules end in .so
10418         [2c56aaa38e21]
10419
10420         * plugins/sudoers/parse.c:
10421         Better prefix determination now that we can't rely on len==0 to tell
10422         the beginning on an entry.
10423         [622bf18179e9]
10424
10425         * plugins/sudoers/ldap.c:
10426         display_bound_defaults() stub should return 0, not 1 since it is a
10427         count, not a boolean.
10428         [0327a6c3d55d]
10429
10430         * doc/sudo_plugin.cat, doc/sudo_plugin.man.in, doc/sudo_plugin.pod:
10431         Document progname in settings
10432         [42031d56a2e3]
10433
10434         * compat/getprogname.c, include/compat.h,
10435         plugins/sample/sample_plugin.c, plugins/sudoers/sudoers.c,
10436         src/parse_args.c, src/sudo.c:
10437         Rewrite compat/getprogname.c and add setprogname(). The progname is
10438         now passed to the plugin via the settings array.
10439         [25d8663e6006]
10440
10441         * configure, configure.in, plugins/sudoers/Makefile.in:
10442         Fix --with-ldap
10443         [b64b633f426d]
10444
10445         * plugins/sudoers/sudo_nss.c:
10446         Add missing whitespace for Runas and Command-specific defaults
10447         [65f4ddf5545e]
10448
10449         * plugins/sudoers/ldap.c, plugins/sudoers/parse.c,
10450         plugins/sudoers/sudo_nss.c:
10451         Use embedded newlines in lbuf instead of multiple calls to
10452         lbuf_print.
10453         [eed3af9cc3e1]
10454
10455         * src/lbuf.c:
10456         Add support for embedded newlines.
10457         [e11f79b18deb]
10458
10459 2010-03-18  Todd C. Miller  <Todd.Miller@courtesan.com>
10460
10461         * compat/getprogname.c:
10462         If system doesn't support getprogname or __programe and we are
10463         building a shared object don't bother with Argc/Argv, just return
10464         "sudo"
10465         [aebde9062be7]
10466
10467         * config.h.in, configure, configure.in, src/load_plugins.c:
10468         Hard-code sudoers.so instead of using SUDOERS_PLUGIN since libtool
10469         appears to always install a shared object with the .so suffix.
10470         [f9bbd0c0e9d3]
10471
10472         * compat/Makefile.in, configure, configure.in,
10473         plugins/sample/Makefile.in, plugins/sudoers/Makefile.in,
10474         src/Makefile.in:
10475         Play more nicely with libtool and let it build libreplace (was
10476         libmissing) for us.
10477         [a4c6ebb2495c]
10478
10479         * include/missing.h:
10480         Include stdarg.h for va_list rather than requiring all consumers of
10481         missing.h to include stdarg.h themselves.
10482         [37382df948de]
10483
10484         * include/lbuf.h, plugins/sudoers/auth/sudo_auth.c,
10485         plugins/sudoers/check.c, plugins/sudoers/sudo_nss.c,
10486         plugins/sudoers/sudoers.c, plugins/sudoers/sudoers.h, src/lbuf.c,
10487         src/parse_args.c:
10488         Pass in output function to lbuf_init() instead of writing to stdout.
10489         A side effect is that the usage info can now go to stderr as it
10490         should.
10491         [6d261261a072]
10492
10493 2010-03-17  Todd C. Miller  <Todd.Miller@courtesan.com>
10494
10495         * include/lbuf.h, plugins/sudoers/sudo_nss.c,
10496         plugins/sudoers/sudoers.c, plugins/sudoers/sudoers.h, src/lbuf.c,
10497         src/parse_args.c, src/sudo.c:
10498         Use number of tty columns that is passed in user_info instead of
10499         getting it directly in the lbuf code.
10500         [8a16635c2638]
10501
10502         * plugins/sudoers/alias.c, plugins/sudoers/auth/dce.c,
10503         plugins/sudoers/auth/kerb5.c, plugins/sudoers/auth/pam.c,
10504         plugins/sudoers/auth/sia.c, plugins/sudoers/auth/sudo_auth.h,
10505         plugins/sudoers/check.c, plugins/sudoers/defaults.c,
10506         plugins/sudoers/defaults.h, plugins/sudoers/env.c,
10507         plugins/sudoers/getdate.c, plugins/sudoers/getdate.y,
10508         plugins/sudoers/gram.c, plugins/sudoers/gram.y,
10509         plugins/sudoers/interfaces.h, plugins/sudoers/logging.c,
10510         plugins/sudoers/logging.h, plugins/sudoers/match.c,
10511         plugins/sudoers/mon_systrace.h, plugins/sudoers/parse.c,
10512         plugins/sudoers/parse.h, plugins/sudoers/pwutil.c,
10513         plugins/sudoers/redblack.c, plugins/sudoers/redblack.h,
10514         plugins/sudoers/set_perms.c, plugins/sudoers/sudo_nss.h,
10515         plugins/sudoers/sudoers.c, plugins/sudoers/sudoers.h,
10516         plugins/sudoers/sudoreplay.c, plugins/sudoers/testsudoers.c,
10517         plugins/sudoers/timestr.c, plugins/sudoers/toke.c,
10518         plugins/sudoers/toke.l, plugins/sudoers/tsgetgrpw.c,
10519         plugins/sudoers/visudo.c:
10520         Kill __P in sudoers
10521         [63601e6cb171]
10522
10523         * config.h.in, configure, configure.in, src/load_plugins.c:
10524         Set the sudoers plugin name in configure so we get the extension
10525         right.
10526         [edad89924cd1]
10527
10528         * doc/sudo_plugin.cat, doc/sudo_plugin.man.in, doc/sudo_plugin.pod:
10529         Document lines/cols in user_info
10530         [a808872394f3]
10531
10532         * src/Makefile.in, src/sudo.c, src/sudo.h, src/ttysize.c:
10533         Add tty size to user info
10534         [23f3d27e77a7]
10535
10536         * src/script.c:
10537         Use TIOCGSIZE/TIOCSSIZE instead of TIOCGWINSZ/TIOCSWINSZ
10538         [a2208dd09051]
10539
10540 2010-03-16  Todd C. Miller  <Todd.Miller@courtesan.com>
10541
10542         * plugins/sudoers/sudoers.c:
10543         Kill dead code Add missing sigsetjmp in sudo_policy_invalidate Error
10544         out if we fail to lookup the user's name that is passed in
10545         [e4e3728ed482]
10546
10547         * plugins/sudoers/error.c:
10548         Pass the error value back via siglongjmp.
10549         [667b8ad575ce]
10550
10551         * plugins/sudoers/check.c:
10552         Use conversation function for lecture.
10553         [1ab4719f509b]
10554
10555         * plugins/sudoers/check.c:
10556         Don't update ticket file if verify_user returns FALSE.
10557         [2bbc46a39a2b]
10558
10559 2010-03-15  Todd C. Miller  <Todd.Miller@courtesan.com>
10560
10561         * plugins/sudoers/sudoers.c, src/sudo.c:
10562         Wire up invalidate and validate methods for sudoers
10563         [c0630c7bca47]
10564
10565         * plugins/sudoers/check.c, plugins/sudoers/sudoers.c,
10566         plugins/sudoers/sudoers.h:
10567         Add support for -k flag with a command.
10568         [edad239b098b]
10569
10570         * src/parse_args.c:
10571         Allow -k to be specified with a command.
10572         [43a45add9974]
10573
10574         * plugins/sudoers/sudoers.c:
10575         Wire up policy_list
10576         [27cc35699eca]
10577
10578         * plugins/sudoers/error.c:
10579         Add newline at the end of message and space after the colon in
10580         warning message
10581         [5a591aa8e744]
10582
10583         * plugins/sudoers/auth/sudo_auth.c:
10584         Add missing newline after pass password warning
10585         [337dba3870a7]
10586
10587         * plugins/sudoers/sudoers.c:
10588         Set user_groups and user_ngroups based on user_info
10589         [61bee85128c8]
10590
10591         * plugins/sudoers/error.c:
10592         Make this compile
10593         [7041c441e1c8]
10594
10595         * plugins/sudoers/error.c, plugins/sudoers/sudoers.c:
10596         Make _warning in error.c use the conversation function and remove
10597         commented out warning/warningx in sudoers.c.
10598         [7c9b09024b63]
10599
10600         * plugins/sudoers/logging.c:
10601         Use siglongjmp() in log_error for fatal errors
10602         [b50e26f1c73f]
10603
10604         * plugins/sample/Makefile.in, plugins/sudoers/Makefile.in:
10605         Quiet a libtool warning
10606         [b2331fb006bc]
10607
10608         * Makefile:
10609         Build sudoers plugin
10610         [5cdf06e66978]
10611
10612         * plugins/sudoers/gram.c, plugins/sudoers/gram.y:
10613         Use warningx in yyerror() so the conversation function gets used
10614         when built as part of sudoers.
10615         [85f964215eef]
10616
10617 2010-03-14  Todd C. Miller  <Todd.Miller@courtesan.com>
10618
10619         * plugins/sudoers/auth/pam.c:
10620         Rename sudo_conv to conversation to avoid a namespace conflict.
10621         [1ad359d36be9]
10622
10623         * plugins/sudoers/Makefile.in, plugins/sudoers/alias.c,
10624         plugins/sudoers/auth/afs.c, plugins/sudoers/auth/aix_auth.c,
10625         plugins/sudoers/auth/bsdauth.c, plugins/sudoers/auth/dce.c,
10626         plugins/sudoers/auth/fwtk.c, plugins/sudoers/auth/kerb4.c,
10627         plugins/sudoers/auth/kerb5.c, plugins/sudoers/auth/pam.c,
10628         plugins/sudoers/auth/passwd.c, plugins/sudoers/auth/rfc1938.c,
10629         plugins/sudoers/auth/secureware.c, plugins/sudoers/auth/securid.c,
10630         plugins/sudoers/auth/securid5.c, plugins/sudoers/auth/sia.c,
10631         plugins/sudoers/auth/sudo_auth.c, plugins/sudoers/auth/sudo_auth.h,
10632         plugins/sudoers/check.c, plugins/sudoers/defaults.c,
10633         plugins/sudoers/env.c, plugins/sudoers/error.c,
10634         plugins/sudoers/find_path.c, plugins/sudoers/getspwuid.c,
10635         plugins/sudoers/goodpath.c, plugins/sudoers/gram.c,
10636         plugins/sudoers/gram.y, plugins/sudoers/interfaces.c,
10637         plugins/sudoers/ldap.c, plugins/sudoers/logging.c,
10638         plugins/sudoers/match.c, plugins/sudoers/mon_systrace.c,
10639         plugins/sudoers/parse.c, plugins/sudoers/pwutil.c,
10640         plugins/sudoers/redblack.c, plugins/sudoers/set_perms.c,
10641         plugins/sudoers/sudo_nss.c, plugins/sudoers/sudoers.c,
10642         plugins/sudoers/sudoers.h, plugins/sudoers/testsudoers.c,
10643         plugins/sudoers/toke.c, plugins/sudoers/tsgetgrpw.c,
10644         plugins/sudoers/vasgroups.c, plugins/sudoers/visudo.c:
10645         Initial bits of sudoers plugin; still needs work.
10646         [af2a2c59a952]
10647
10648         * config.h.in:
10649         Add HAVE_STRDUP and HAVE_STRNDUP
10650         [50a3c0dd510f]
10651
10652         * compat/Makefile.in, configure, configure.in:
10653         Build libmissing in two flavors (one PIC one non-PIC) and link with
10654         the appropriate one.
10655         [b62f411a4c18]
10656
10657         * Makefile, compat/fnmatch.c, compat/glob.c, compat/nanosleep.c,
10658         compat/utimes.c, plugins/sample/Makefile.in, src/Makefile.in:
10659         Build libmissing in two flavors (one PIC one non-PIC) and link with
10660         the appropriate one.
10661         [e1e04972b5fe]
10662
10663 2010-03-13  Todd C. Miller  <Todd.Miller@courtesan.com>
10664
10665         * include/missing.h:
10666         Add strdup and strndup and fix strsignal
10667         [c159babe2896]
10668
10669 2010-03-12  Todd C. Miller  <Todd.Miller@courtesan.com>
10670
10671         * compat/strdup.c, compat/strndup.c, configure, configure.in,
10672         plugins/sample/Makefile.in, src/Makefile.in:
10673         Add strdup and strndup to compat
10674         [25c9fd399a4d]
10675
10676         * plugins/sample/sample_plugin.c:
10677         Need to include compat.h before missing.h
10678         [c94f7aad380f]
10679
10680         * compat/strsignal.c:
10681         Must check HAVE_DECL_SYS_SIGLIST == 1 (not just if defined) since if
10682         it doesn't exist configure will set it to 0.
10683         [384580566389]
10684
10685         * compat/glob.c:
10686         Fix botched ANSI C coversion of globexp2()
10687         [4a344b8cbe49]
10688
10689         * configure, configure.in:
10690         Remove redundant getgroups check
10691         [0b16ec210c81]
10692
10693         * configure, configure.in, src/lbuf.c, src/script.c, src/term.c:
10694         Require either termios or termio, no more sgtty.
10695         [9b2fa2f17a1c]
10696
10697         * compat/strsignal.c, config.h.in, configure, configure.in:
10698         Change the sys_siglist check to use AC_CHECK_DECLS and also check
10699         for _sys_siglist and__sys_siglist
10700         [2e078fed2408]
10701
10702 2010-03-11  Todd C. Miller  <Todd.Miller@courtesan.com>
10703
10704         * configure, configure.in, src/Makefile.in:
10705         Change SUDO_LDFLAGS to SUDOERS_LDFLAGS and add SUDOERS_OBJS. We now
10706         use SUDO_OBJS for the main driver as part of OBJS.
10707         [9ae4a80a5ade]
10708
10709         * doc/sudo_plugin.cat, doc/sudo_plugin.man.in, doc/sudo_plugin.pod:
10710         Mention in the conversation function section that a newline is not
10711         implicit.
10712         [04a233b6c491]
10713
10714         * include/compat.h:
10715         Add definition of WCOREDUMP for systems without it. This is known
10716         to work on AIX and SunOS 4, but may be incorrect on other systems
10717         that lack WCOREDUMP.
10718         [c85b3ce6b77d]
10719
10720 2010-03-09  Todd C. Miller  <Todd.Miller@courtesan.com>
10721
10722         * plugins/sample/sample_plugin.c, src/conversation.c:
10723         conversation function no longer puts a newline at the end of info or
10724         error messages.
10725         [c534cae1ac4a]
10726
10727 2010-03-07  Todd C. Miller  <Todd.Miller@courtesan.com>
10728
10729         * src/script.c:
10730         Use parent process group id instead of parent process id when
10731         checking foreground status and suspending parent. Fixes an issue
10732         when running commands under /usr/bin/time and others.
10733         [564f528c3bb7]
10734
10735 2010-03-06  Todd C. Miller  <Todd.Miller@courtesan.com>
10736
10737         * aclocal.m4:
10738         transcript option is now --with not --enable
10739         [0646fac4cf93]
10740
10741         * plugins/sample/sample_plugin.c:
10742         Add support to -u and -g flags Check fmt_string retval Add timeout
10743         for debugging purposes
10744         [cfefa4fa60b5]
10745
10746         * src/script.c, src/sudo.c:
10747         Wire up SIGALRM handler Set close on exec flag for child side of the
10748         socketpair Fix signal handling when not doing I/O logging
10749         [379581ec7272]
10750
10751         * src/sudo.c:
10752         g/c unused SIGCHLD handler
10753         [0afa03912dce]
10754
10755         * src/fmt_string.c, src/parse_args.c, src/sudo.c:
10756         Don't use emalloc() in fmt_string(); we want to be able to use it
10757         from a plugin.
10758         [ade64d368147]
10759
10760         * include/list.h:
10761         tq_remove not list_remove
10762         [0e0e1fd5c31c]
10763
10764         * configure, configure.in:
10765         AUTH_OBJS should contain .lo files not .o files.
10766         [c64c82c9d5a2]
10767
10768 2010-03-05  Todd C. Miller  <Todd.Miller@courtesan.com>
10769
10770         * src/parse_args.c:
10771         Simplify conversion of command line args to name=value pairs.
10772         [75ab127c6a94]
10773
10774         * plugins/sample/sample_plugin.c:
10775         Handle NULL reply from conversation function
10776         [6ce09b6cb204]
10777
10778         * compat/getline.c:
10779         Don't depend on emalloc/erealloc
10780         [73df09e2109f]
10781
10782         * plugins/sample/Makefile.in:
10783         Use $(OBJS) instead of sample_plugin.lo
10784         [2d995db9aa99]
10785
10786         * plugins/sample/sample_plugin.c:
10787         runas_user is in settings not user_info
10788         [7ee12068bc57]
10789
10790         * src/parse_args.c:
10791         Fix a mismatch between sudo_settings and settings_pairs that causes
10792         some settings to get the wrong values.
10793         [b1bc6d81a65f]
10794
10795 2010-03-04  Todd C. Miller  <Todd.Miller@courtesan.com>
10796
10797         * src/Makefile.in, src/aix.c, src/alloc.c, src/atobool.c, src/error.c,
10798         src/fileops.c, src/lbuf.c, src/list.c, src/pty.c, src/sesh.c,
10799         src/sudo.c, src/sudo_edit.c, src/term.c, src/zero_bytes.c:
10800         Convert to ANSI C
10801         [d03b6e4a3b75]
10802
10803         * src/load_plugins.c:
10804         Fix strlcpy() return value check.
10805         [7cd66999a374]
10806
10807         * INSTALL, configure, configure.in:
10808         No longer need to substitute in script.o and pty.o; I/O logging
10809         support is always built.
10810         [45250024c5dc]
10811
10812 2010-02-28  Todd C. Miller  <Todd.Miller@courtesan.com>
10813
10814         * src/script.c:
10815         Add fallback to /bin/sh when execve() fails with ENOEXEC.
10816         [7684a15a1352]
10817
10818         * include/alloc.h, src/alloc.c:
10819         Add estrndup()
10820         [47621c83bed9]
10821
10822 2010-02-27  Todd C. Miller  <Todd.Miller@courtesan.com>
10823
10824         * src/script.c, src/sudo.c:
10825         Refactor script_execve() a bit so that it can be used in non-script
10826         mode. Needs more cleanup.
10827         [f09e022d547c]
10828
10829         * src/sudo.c:
10830         Ignore empty entries in command_info list
10831         [1eea9a8de21c]
10832
10833         * include/list.h, src/list.c:
10834         Add tq_remove
10835         [40908a617cb2]
10836
10837         * src/conversation.c:
10838         Pass timeout to tgetpass()
10839         [9e66c918b771]
10840
10841         * Makefile:
10842         Add ChangeLog target
10843         [da4a39150838]
10844
10845         * README, WHATSNEW:
10846         Bump version and update things slightly for sudo 1.8.0
10847         [4b73cc45e2d4]
10848
10849         * configure, configure.in:
10850         Sudo now requires an ANSI/ISO C compiler
10851         [1e51f72e6964]
10852
10853         * src/alloc.c, src/audit.c, src/error.c, src/lbuf.c,
10854         src/sudo_noexec.c:
10855         Convert to ANSI C
10856         [5cbd315dbde8]
10857
10858         * include/alloc.h, include/compat.h, include/error.h, include/lbuf.h,
10859         include/list.h, include/missing.h:
10860         Convert to ANSI C
10861         [3f5016ff64f4]
10862
10863         * compat/charclass.h, compat/closefrom.c, compat/fnmatch.c,
10864         compat/fnmatch.h, compat/getcwd.c, compat/getline.c,
10865         compat/getprogname.c, compat/glob.c, compat/glob.h,
10866         compat/isblank.c, compat/memrchr.c, compat/mkstemp.c,
10867         compat/nanosleep.c, compat/sigaction.c, compat/snprintf.c,
10868         compat/strcasecmp.c, compat/strerror.c, compat/strlcat.c,
10869         compat/strlcpy.c, compat/strsignal.c, compat/utime.h,
10870         compat/utimes.c:
10871         Convert to ANSI C
10872         [0d635c85461c]
10873
10874 2010-02-24  Todd C. Miller  <Todd.Miller@courtesan.com>
10875
10876         * src/sudo.c, src/tgetpass.c:
10877         Make user_details extern so tgetpass can get at the uid and gid. Set
10878         uid/gid to user before executing askpass program. Check environment
10879         for SUDO_ASKPASS and use that if set. TODO: a way for the policy to
10880         set the askpass program itself
10881         [d33606396176]
10882
10883         * src/sudo.c:
10884         No longer need sudo_usage.h in sudo.c
10885         [063e2946c382]
10886
10887         * doc/sudo.cat, doc/sudo.man.in, doc/sudo.pod, doc/sudo_plugin.man.in,
10888         doc/sudo_plugin.pod, src/Makefile.in, src/parse_args.c,
10889         src/sudo_usage.h.in:
10890         Document -D level command line flag which maps to the debug_level
10891         setting.
10892         [61f1e2ab3ac1]
10893
10894         * doc/sudo_plugin.cat, doc/sudo_plugin.man.in, doc/sudo_plugin.pod:
10895         Document debug_level in plugin doc. Still need to document the -D
10896         flag in sudo itself.
10897         [8c62daea3e9b]
10898
10899 2010-02-21  Todd C. Miller  <Todd.Miller@courtesan.com>
10900
10901         * plugins/sample/sample_plugin.c:
10902         include missing,h for vasprintf
10903         [92503de49b39]
10904
10905         * doc/Makefile.in, doc/plugin.pod, doc/sudo_plugin.cat,
10906         doc/sudo_plugin.man.in, doc/sudo_plugin.pod:
10907         Rename plugin.pod -> sudo_plugin.pod and wire into Makefile
10908         [14cfb4775238]
10909
10910         * plugins/sample/sample_plugin.c:
10911         Need to include limits.h
10912         [bda7f74343d2]
10913
10914         * compat/glob.c:
10915         No more sudo_getpw*
10916         [232e52907634]
10917
10918         * plugins/sample/Makefile.in, src/Makefile.in:
10919         Add missing compat bits
10920         [4843dd000e08]
10921
10922         * compat/closefrom.c, compat/mkstemp.c, plugins/sample/Makefile.in:
10923         compat files should not include sudo.h wire up compat in sample
10924         plugin
10925         [a175b8185e0f]
10926
10927         * Makefile, configure, configure.in, doc/Makefile.in, src/Makefile.in:
10928         Fix up compat dependencies. Fix distclean target in doc/Makefile.in
10929         [57e49bc20857]
10930
10931         * configure, configure.in:
10932         Fix typo
10933         [333655e3d5fe]
10934
10935         * plugins/sample/sample_plugin.c:
10936         Log input and output to temp files for proof of concept.
10937         [ae1dfc34f7d6]
10938
10939         * Makefile, configure, configure.in, doc/Makefile.in:
10940         Add doc Makefile.in and wire it up
10941         [6a310443c87d]
10942
10943         * src/script.c:
10944         Handle SIGSTOP in addition to SIGTSTP. Fixes a problem with
10945         suspending a shell with the "suspend" builtint.
10946         [3d65f182819a]
10947
10948         * src/script.c:
10949         In child, handle parent side of the pipe going away.
10950         [a29c14d78cd9]
10951
10952         * src/script.c:
10953         No longer need to check for explicit death of the child (process #2)
10954         since if it dies we will get EPIPE from the socketpair. Fix a
10955         sizeof() that was causing a spurious error. Convert SCRIPT_DEBUG to
10956         sudo_debug.
10957         [24c55dd4ff60]
10958
10959         * src/sudo.c:
10960         Make sudo_debug do a single vfprintf() which will result in a single
10961         write call on most systems. Avoids problems with interleaved debug
10962         printf from different processes. Also remove an extraneous error
10963         case since recv() can't return a short read and add some more XXX.
10964         [b37a8533ef1e]
10965
10966 2010-02-20  Todd C. Miller  <Todd.Miller@courtesan.com>
10967
10968         * src/script.c:
10969         Fix uninitialized variable.
10970         [e012a0a30890]
10971
10972         * src/Makefile.in:
10973         Fix sudo install target
10974         [1417fa4b4ab9]
10975
10976         * src/parse_args.c, src/sudo.c, src/sudo.h:
10977         Wire up debug_level
10978         [144fab289c73]
10979
10980         * src/Makefile.in:
10981         Fix dependencies
10982         [5170940af2ce]
10983
10984         * configure, configure.in:
10985         Fix setting of plugin dir
10986         [144eda170a72]
10987
10988         * Makefile:
10989         add clean targets
10990         [d53f6f6f5c3a]
10991
10992         * src/atobool.c:
10993         Add missing source for sudo front end
10994         [42487de9c489]
10995
10996         * plugins/sample/Makefile.in, plugins/sample/sample_plugin.c:
10997         Sample plugin demonstrating the sudo plugin API
10998         [f1fd62d7644f]
10999
11000         * Makefile, configure, configure.in, install-sh, pathnames.h.in,
11001         plugins/sudoers/install-sh, src/Makefile.in, src/conversation.c,
11002         src/fileops.c, src/fmt_string.c, src/load_plugins.c,
11003         src/parse_args.c, src/pty.c, src/script.c, src/sudo.c, src/sudo.h,
11004         src/sudo_plugin_int.h, src/sudo_usage.h.in, src/tgetpass.c,
11005         sudo_usage.h.in:
11006         Modular sudo front-end which loads policy and I/O plugins that do
11007         most the actual work. Currently relies on dynamic loading using
11008         dlopen(). See doc/plugin.pod for the plugin API.
11009         [924f6eb2fbba]
11010
11011         * doc/plugin.pod, include/sudo_plugin.h:
11012         Sudo plugin API
11013         [374ccbbd24ae]
11014
11015         * compat/fnmatch.c, compat/glob.c, compat/nanosleep.c,
11016         compat/utimes.c, plugins/sudoers/check.c, plugins/sudoers/gettime.c,
11017         plugins/sudoers/match.c, plugins/sudoers/sudoreplay.c,
11018         plugins/sudoers/testsudoers.c, plugins/sudoers/visudo.c,
11019         src/fileops.c, src/sudo_edit.c:
11020         Replace emul/include.h with compat/include.h to match new source
11021         tree layout.
11022         [7eccd10449a1]
11023
11024         * src/lbuf.c:
11025         Include missing.h for memrchr() proto
11026         [03abd63a8a33]
11027
11028         * HISTORY, LICENSE, Makefile.binary.in, Makefile.in, PORTING,
11029         TROUBLESHOOTING, UPGRADE, aix.c, aixcrypt.exp, alias.c, alloc.c,
11030         alloc.h, audit.c, auth/API, auth/afs.c, auth/aix_auth.c,
11031         auth/bsdauth.c, auth/dce.c, auth/fwtk.c, auth/kerb4.c, auth/kerb5.c,
11032         auth/pam.c, auth/passwd.c, auth/rfc1938.c, auth/secureware.c,
11033         auth/securid.c, auth/securid5.c, auth/sia.c, auth/sudo_auth.c,
11034         auth/sudo_auth.h, boottime.c, bsm_audit.c, bsm_audit.h, check.c,
11035         closefrom.c, compat.h, compat/charclass.h, compat/closefrom.c,
11036         compat/fnmatch.c, compat/fnmatch.h, compat/getcwd.c,
11037         compat/getline.c, compat/getprogname.c, compat/glob.c,
11038         compat/glob.h, compat/isblank.c, compat/memrchr.c, compat/mkstemp.c,
11039         compat/nanosleep.c, compat/sigaction.c, compat/snprintf.c,
11040         compat/strcasecmp.c, compat/strerror.c, compat/strlcat.c,
11041         compat/strlcpy.c, compat/strsignal.c, compat/timespec.h,
11042         compat/utime.h, compat/utimes.c, def_data.c, def_data.h,
11043         def_data.in, defaults.c, defaults.h, doc/HISTORY, doc/LICENSE,
11044         doc/PORTING, doc/TROUBLESHOOTING, doc/UPGRADE, doc/history.pod,
11045         doc/license.pod, doc/sample.pam, doc/sample.sudoers,
11046         doc/sample.syslog.conf, doc/schema.ActiveDirectory,
11047         doc/schema.OpenLDAP, doc/schema.iPlanet, doc/sudo.cat,
11048         doc/sudo.man.in, doc/sudo.man.pl, doc/sudo.pod, doc/sudoers.cat,
11049         doc/sudoers.ldap.cat, doc/sudoers.ldap.man.in, doc/sudoers.ldap.pod,
11050         doc/sudoers.man.in, doc/sudoers.man.pl, doc/sudoers.pod,
11051         doc/sudoreplay.cat, doc/sudoreplay.man.in, doc/sudoreplay.pod,
11052         doc/visudo.cat, doc/visudo.man.in, doc/visudo.pod, emul/charclass.h,
11053         emul/fnmatch.h, emul/glob.h, emul/timespec.h, emul/utime.h, env.c,
11054         error.c, error.h, fileops.c, find_path.c, fnmatch.c, getcwd.c,
11055         getdate.c, getdate.y, getline.c, getprogname.c, getspwuid.c,
11056         gettime.c, glob.c, goodpath.c, gram.c, gram.h, gram.y, history.pod,
11057         include/alloc.h, include/compat.h, include/error.h, include/lbuf.h,
11058         include/list.h, include/missing.h, ins_2001.h, ins_classic.h,
11059         ins_csops.h, ins_goons.h, install-sh, insults.h, interfaces.c,
11060         interfaces.h, isblank.c, lbuf.c, lbuf.h, ldap.c, license.pod,
11061         list.c, list.h, logging.c, logging.h, match.c, memrchr.c, missing.h,
11062         mkdefaults, mkstemp.c, mon_systrace.c, mon_systrace.h, nanosleep.c,
11063         nonunix.h, parse.c, parse.h, plugins/sudoers/Makefile.binary.in,
11064         plugins/sudoers/Makefile.in, plugins/sudoers/aixcrypt.exp,
11065         plugins/sudoers/alias.c, plugins/sudoers/auth/API,
11066         plugins/sudoers/auth/afs.c, plugins/sudoers/auth/aix_auth.c,
11067         plugins/sudoers/auth/bsdauth.c, plugins/sudoers/auth/dce.c,
11068         plugins/sudoers/auth/fwtk.c, plugins/sudoers/auth/kerb4.c,
11069         plugins/sudoers/auth/kerb5.c, plugins/sudoers/auth/pam.c,
11070         plugins/sudoers/auth/passwd.c, plugins/sudoers/auth/rfc1938.c,
11071         plugins/sudoers/auth/secureware.c, plugins/sudoers/auth/securid.c,
11072         plugins/sudoers/auth/securid5.c, plugins/sudoers/auth/sia.c,
11073         plugins/sudoers/auth/sudo_auth.c, plugins/sudoers/auth/sudo_auth.h,
11074         plugins/sudoers/boottime.c, plugins/sudoers/check.c,
11075         plugins/sudoers/def_data.c, plugins/sudoers/def_data.h,
11076         plugins/sudoers/def_data.in, plugins/sudoers/defaults.c,
11077         plugins/sudoers/defaults.h, plugins/sudoers/env.c,
11078         plugins/sudoers/find_path.c, plugins/sudoers/getdate.c,
11079         plugins/sudoers/getdate.y, plugins/sudoers/getspwuid.c,
11080         plugins/sudoers/gettime.c, plugins/sudoers/goodpath.c,
11081         plugins/sudoers/gram.c, plugins/sudoers/gram.h,
11082         plugins/sudoers/gram.y, plugins/sudoers/ins_2001.h,
11083         plugins/sudoers/ins_classic.h, plugins/sudoers/ins_csops.h,
11084         plugins/sudoers/ins_goons.h, plugins/sudoers/install-sh,
11085         plugins/sudoers/insults.h, plugins/sudoers/interfaces.c,
11086         plugins/sudoers/interfaces.h, plugins/sudoers/ldap.c,
11087         plugins/sudoers/logging.c, plugins/sudoers/logging.h,
11088         plugins/sudoers/match.c, plugins/sudoers/mkdefaults,
11089         plugins/sudoers/mon_systrace.c, plugins/sudoers/mon_systrace.h,
11090         plugins/sudoers/nonunix.h, plugins/sudoers/parse.c,
11091         plugins/sudoers/parse.h, plugins/sudoers/pwutil.c,
11092         plugins/sudoers/redblack.c, plugins/sudoers/redblack.h,
11093         plugins/sudoers/set_perms.c, plugins/sudoers/sudo_nss.c,
11094         plugins/sudoers/sudo_nss.h, plugins/sudoers/sudoers,
11095         plugins/sudoers/sudoers.c, plugins/sudoers/sudoers.h,
11096         plugins/sudoers/sudoers2ldif, plugins/sudoers/sudoreplay.c,
11097         plugins/sudoers/testsudoers.c, plugins/sudoers/timestr.c,
11098         plugins/sudoers/toke.c, plugins/sudoers/toke.l,
11099         plugins/sudoers/tsgetgrpw.c, plugins/sudoers/vasgroups.c,
11100         plugins/sudoers/visudo.c, pty.c, pwutil.c, redblack.c, redblack.h,
11101         sample.pam, sample.sudoers, sample.syslog.conf,
11102         schema.ActiveDirectory, schema.OpenLDAP, schema.iPlanet, script.c,
11103         selinux.c, sesh.c, set_perms.c, sigaction.c, snprintf.c, src/aix.c,
11104         src/alloc.c, src/audit.c, src/bsm_audit.c, src/bsm_audit.h,
11105         src/error.c, src/fileops.c, src/lbuf.c, src/list.c, src/pty.c,
11106         src/script.c, src/selinux.c, src/sesh.c, src/sudo_edit.c,
11107         src/sudo_noexec.c, src/term.c, src/tgetpass.c, src/zero_bytes.c,
11108         strcasecmp.c, strerror.c, strlcat.c, strlcpy.c, strsignal.c, sudo.c,
11109         sudo.cat, sudo.h, sudo.man.in, sudo.man.pl, sudo.pod, sudo_edit.c,
11110         sudo_noexec.c, sudo_nss.c, sudo_nss.h, sudoers, sudoers.cat,
11111         sudoers.ldap.cat, sudoers.ldap.man.in, sudoers.ldap.pod,
11112         sudoers.man.in, sudoers.man.pl, sudoers.pod, sudoers2ldif,
11113         sudoreplay.c, sudoreplay.cat, sudoreplay.man.in, sudoreplay.pod,
11114         term.c, testsudoers.c, tgetpass.c, timestr.c, toke.c, toke.l,
11115         tsgetgrpw.c, utimes.c, vasgroups.c, visudo.c, visudo.cat,
11116         visudo.man.in, visudo.pod, zero_bytes.c:
11117         Rework source layout in preparation for modular sudo.
11118         [7fc1978c6ad5]
11119
11120 2010-02-13  Todd C. Miller  <Todd.Miller@courtesan.com>
11121
11122         * Avoid a duplicate fclose() of the sudoers file.
11123         [5dba851088c1]
11124
11125         * Fix size arg when realloc()ing include stack. From Daniel Kopecek
11126         [0a2935061e33]
11127
11128         * Use setrlimit64(), if available, instead of setrlimit() when setting
11129         AIX resource limits since rlim_t is 32bits.
11130         [353db89bac61]
11131
11132         * Fix use after free when sending error messages. From Timo Juhani
11133         Lindfors
11134         [e50dbd902382]
11135
11136         * ChangeLog, Makefile.in:
11137         Generate the ChangeLog as part of "make dist" instead of having it
11138         in the repo.
11139         [251b70964673]
11140
11141 2010-01-17  Todd C. Miller  <Todd.Miller@courtesan.com>
11142
11143         * Makefile.binary.in, Makefile.in, aix.c, alias.c, alloc.c, alloc.h,
11144         auth/afs.c, auth/aix_auth.c, auth/bsdauth.c, auth/dce.c,
11145         auth/fwtk.c, auth/kerb4.c, auth/kerb5.c, auth/pam.c, auth/passwd.c,
11146         auth/rfc1938.c, auth/secureware.c, auth/securid.c, auth/securid5.c,
11147         auth/sia.c, auth/sudo_auth.c, auth/sudo_auth.h, check.c,
11148         closefrom.c, compat.h, configure.in, defaults.c, defaults.h,
11149         emul/charclass.h, emul/timespec.h, env.c, error.c, error.h,
11150         fileops.c, find_path.c, getcwd.c, getprogname.c, getspwuid.c,
11151         gettime.c, goodpath.c, gram.c, gram.y, ins_2001.h, ins_classic.h,
11152         ins_csops.h, ins_goons.h, insults.h, interfaces.c, interfaces.h,
11153         isblank.c, lbuf.c, lbuf.h, ldap.c, list.c, list.h, logging.c,
11154         logging.h, match.c, memrchr.c, missing.h, mkinstalldirs, mkstemp.c,
11155         mon_systrace.c, nanosleep.c, parse.c, parse.h, pathnames.h.in,
11156         pty.c, pwutil.c, redblack.c, redblack.h, sample.pam, sample.sudoers,
11157         sample.syslog.conf, script.c, selinux.c, sesh.c, set_perms.c,
11158         sigaction.c, snprintf.c, strcasecmp.c, strerror.c, strlcat.c,
11159         strlcpy.c, strsignal.c, sudo.c, sudo.h, sudo.man.in, sudo.pod,
11160         sudo_edit.c, sudo_noexec.c, sudo_nss.c, sudo_nss.h, sudo_usage.h.in,
11161         sudoers.ldap.man.in, sudoers.ldap.pod, sudoers.man.in, sudoers.pod,
11162         sudoers2ldif, sudoreplay.c, sudoreplay.man.in, sudoreplay.pod,
11163         term.c, testsudoers.c, tgetpass.c, timestr.c, toke.c, toke.l,
11164         utimes.c, visudo.c, visudo.man.in, visudo.pod, zero_bytes.c:
11165         Remove CVS $Sudo$ tags.
11166         [de683a8b31f5]
11167
11168 2010-01-18  convert-repo  <convert-repo>
11169
11170         * .hgtags:
11171         update tags
11172         [9b7aa44ae436]
11173
11174 2009-12-26  Todd C. Miller  <Todd.Miller@courtesan.com>
11175
11176         * sudo_usage.h.in:
11177         make this match sudoers SYNOPSIS
11178         [c74ba66944c2]
11179
11180         * lbuf.c, parse.c:
11181         Print a newline between Runas and Command-specific defaults in sudo
11182         -l.
11183         [b5bdfcc9ce4b]
11184
11185         * term.c:
11186         Use SET and CLR macros in term_raw
11187         [50ca42609d6c]
11188
11189         * sudoreplay.c:
11190         Set stdin to non-blocking mode early instead of in check_input. Use
11191         term_raw instead of term_cbreak since the data we get has already
11192         been expanded via OPOST.
11193         [51c47e803d62]
11194
11195 2009-12-23  Todd C. Miller  <Todd.Miller@courtesan.com>
11196
11197         * script.c, term.c:
11198         Enable/disable all postprocessing instead of just nl->crnl
11199         processing since things like tab expansion matter too. However, if
11200         stdout is a tty leave postprocessing on in the pty since we run into
11201         problems doing it only on the real stdout with .e.g nvi.
11202         [62666e309673]
11203
11204 2009-12-19  Todd C. Miller  <Todd.Miller@courtesan.com>
11205
11206         * check.c:
11207         If tty_tickets is enabled and there is no tty, prompt for a
11208         password. Do not lecture user for "sudo -k command" if user has a
11209         timestamp.
11210         [5880200c5f6b]
11211
11212         * INSTALL:
11213         Document missing options: --with-efence and --with-bsm-audit
11214         [d83afcdf9ff3]
11215
11216         * sudo.cat, sudo.man.in, sudo.pod, sudoers.cat, sudoers.ldap.cat,
11217         sudoers.ldap.man.in, sudoers.ldap.pod, sudoers.man.in, sudoers.pod,
11218         sudoreplay.cat, sudoreplay.man.in, sudoreplay.pod, visudo.cat,
11219         visudo.man.in, visudo.pod:
11220         username -> user name groupname -> group name hostname -> host name
11221         [10c85646f45d]
11222
11223         * INSTALL, README.LDAP, sudoers.pod:
11224         filename -> file name like the rest of the docs
11225         [1ef8ab5a9018]
11226
11227 2009-12-17  Todd C. Miller  <Todd.Miller@courtesan.com>
11228
11229         * parse.c:
11230         Fix printing of entries with multiple host entries on a single line.
11231         [226ceaf91d8d]
11232
11233 2009-12-14  Todd C. Miller  <Todd.Miller@courtesan.com>
11234
11235         * sudoers.pod:
11236         Mention that targetpw affects the timestamp file name.
11237         [a26e22e4f72e]
11238
11239         * def_data.c, def_data.h, def_data.in, defaults.c, script.c,
11240         sudoers.pod:
11241         Add compress_transcript option.
11242         [6e94f8cb9dfb]
11243
11244 2009-12-13  Todd C. Miller  <Todd.Miller@courtesan.com>
11245
11246         * configure, configure.in:
11247         bump to 1.7.3b2
11248         [906d7e347d15]
11249
11250         * pwutil.c, set_perms.c, sudo.c, sudo_nss.c:
11251         Better split of membership vs. traditional group check in
11252         user_in_group(). Allow user_ngroups to be < 0 if getgroups() fails.
11253         [6ebc55d4716b]
11254
11255 2009-12-12  Todd C. Miller  <Todd.Miller@courtesan.com>
11256
11257         * pwutil.c:
11258         Fix pasto and add default return value.
11259         [7973b5e4599c]
11260
11261         * check.c, match.c, pwutil.c, sudo.h:
11262         refactor group member checking into user_in_group()
11263         [48ca8c2eddf8]
11264
11265         * check.c, config.h.in, configure, configure.in, match.c, sudo.c,
11266         sudo.h:
11267         Add support for mbr_check_membership() as present in darwin.
11268         [5501aed02b9f]
11269
11270 2009-12-10  Todd C. Miller  <Todd.Miller@courtesan.com>
11271
11272         * match.c:
11273         Rename label to be accurate
11274         [3af17dd960f7]
11275
11276         * Makefile.in, boottime.c, check.c, config.h.in, configure,
11277         configure.in, sudo.h:
11278         Treat timestamp files from before we booted as old. Idea from and
11279         Apple patch.
11280         [5c96e484c05a]
11281
11282 2009-12-09  Todd C. Miller  <Todd.Miller@courtesan.com>
11283
11284         * sudo.c, sudo.pod, sudo_usage.h.in:
11285         Allow the -u flag to be used in conjunction with the -v flag as per
11286         older versions of sudo.
11287         [591e9fc13c1a]
11288
11289         * logging.c:
11290         fix typo in last commit
11291         [4fd0c692dcf0]
11292
11293 2009-12-08  Todd C. Miller  <Todd.Miller@courtesan.com>
11294
11295         * logging.c:
11296         Convert fmt_first and fmt_confd into macros.
11297         [32e870158b29]
11298
11299         * sudoers.pod:
11300         timeouts can be floats now
11301         [89de639a9679]
11302
11303         * WHATSNEW, def_data.c, def_data.h, def_data.in, defaults.c,
11304         defaults.h, mkdefaults:
11305         Add support for floating point timeout values (e.g. 2.5 minutes).
11306         [210ffa291733]
11307
11308 2009-12-07  Todd C. Miller  <Todd.Miller@courtesan.com>
11309
11310         * sudo.pod:
11311         The -L flag will be removed in sudo 1.7.4
11312         [ffd026084333]
11313
11314 2009-12-06  Todd C. Miller  <Todd.Miller@courtesan.com>
11315
11316         * sudoreplay.c:
11317         Fix a bug due to order of operators.
11318         [938d34464283]
11319
11320 2009-11-23  Todd C. Miller  <Todd.Miller@courtesan.com>
11321
11322         * match.c:
11323         cmnd_matches() already deals with negation so _cmndlist_matches()
11324         does not need to do so itself. Fixes a bug with negated entries in
11325         a Cmnd_List.
11326         [71c845f6ce73]
11327
11328 2009-11-22  Todd C. Miller  <Todd.Miller@courtesan.com>
11329
11330         * sudo.c:
11331         Don't exit() from open_sudoers, just return NULL for all errors.
11332         [8cfa832f972a]
11333
11334         * script.c:
11335         Can't rely on the shell sending us SIGCONT when transitioning from
11336         backgroup to foreground process.
11337         [3c6c5b6cb4b3]
11338
11339         * toke.c, toke.l:
11340         Add missing extern def for parse_error
11341         [45b7b59d03b7]
11342
11343 2009-11-21  Todd C. Miller  <Todd.Miller@courtesan.com>
11344
11345         * toke.c, toke.l:
11346         Avoid a parse error when #includedir doesn't find any files. Closes
11347         bug #375
11348         [1ce1b850e9e6]
11349
11350         * Makefile.in:
11351         Include sudo.man.pl and sudoers.man.pl in the distribution tarball.
11352         [6a22e32da108]
11353
11354 2009-11-15  Todd C. Miller  <Todd.Miller@courtesan.com>
11355
11356         * script.c:
11357         Start command out in foreground mode if stdout is a tty. Works
11358         around issues with some curses-based programs that don't handle
11359         tcsetattr getting interrupted by a signal. Still allows us to avoid
11360         hogging the tty if the command is part of a pipeline.
11361         [1c32f2b94769]
11362
11363         * script.c, sudo.c, sudo.h, sudoreplay.c, term.c, tgetpass.c:
11364         Use a socketpair to pass signals from parent to child. Child will
11365         now pass command status change info back via the socketpair. This
11366         allows the parent to distinguish between signals it has been sent
11367         directly and signals the command has received. It also means the
11368         parent can once again print the signal notifications to the tty so
11369         all writes to the pty master occur in the parent. The command is
11370         now always started in background mode with tty signals handled by
11371         the parent.
11372         [c6790b82986d]
11373
11374 2009-11-04  Todd C. Miller  <Todd.Miller@courtesan.com>
11375
11376         * configure, configure.in:
11377         Fix a few typos in the descriptions; from Jeff Makey Only do the
11378         check for krb5_get_init_creds_opt_free() taking two arguments if we
11379         find krb5_get_init_creds_opt_alloc(). Otherwise we will get a false
11380         positive when using our own krb5_get_init_creds_opt_free which takes
11381         only a single argument.
11382         [845a9ff6f93d]
11383
11384 2009-11-03  Todd C. Miller  <Todd.Miller@courtesan.com>
11385
11386         * configure, configure.in:
11387         Remove a spurious comma in the kerb5 bits.
11388         [3433eab083db]
11389
11390         * auth/kerb5.c:
11391         Call krb5_get_init_creds_opt_init() in our emulated
11392         krb5_get_init_creds_opt_alloc() for MIT kerberos.
11393         [7ffb40bf43e9]
11394
11395 2009-11-01  Todd C. Miller  <Todd.Miller@courtesan.com>
11396
11397         * config.h.in:
11398         Add HAVE_ZLIB
11399         [9297bde61ecc]
11400
11401         * script.c:
11402         Need to ignore SIGTT{IN,OU} in child when running the command in the
11403         background. Also some minor cleanup.
11404         [dc208d982319]
11405
11406 2009-10-31  Todd C. Miller  <Todd.Miller@courtesan.com>
11407
11408         * script.c:
11409         Instead of calling sigsuspend when waiting for SIGUSR[12] from
11410         parent, install the signal handlers w/o SA_RESTART and let them
11411         interrupt waitpid().
11412         [759c7d18203b]
11413
11414         * script.c:
11415         Pass along SIGHUP and SIGTERM from parent to child.
11416         [035b0e254568]
11417
11418         * script.c:
11419         Close unused bits of script_fds in processes that don't need them.
11420         Restore default SIGCONT handler in child.
11421         [e037378ab0c1]
11422
11423         * script.c:
11424         Update foreground/background status in SIGCONT handler in parent
11425         process.
11426         [3f7f91333264]
11427
11428 2009-10-25  Todd C. Miller  <Todd.Miller@courtesan.com>
11429
11430         * script.c:
11431         Defer setting terminal into raw mode until just before we fork() and
11432         only do it if sudo is the foreground process. If we get SIGTT{IN,OU}
11433         and sudo is already in the foreground be sure to set raw mode before
11434         continuing the child.
11435         [1102ef40832c]
11436
11437 2009-10-24  Todd C. Miller  <Todd.Miller@courtesan.com>
11438
11439         * script.c:
11440         Fix handling of SIGTTOU/SIGTTIN in program being run. We now only
11441         give the command the controlling tty if the main sudo process is the
11442         foreground process.
11443         [cf3a91cb5682]
11444
11445         * script.c:
11446         Don't bother with sudo_waitpid() here for now.
11447         [9086de480c2d]
11448
11449         * script.c:
11450         fix non-zlib case
11451         [a258bff0f9a6]
11452
11453 2009-10-23  Todd C. Miller  <Todd.Miller@courtesan.com>
11454
11455         * script.c:
11456         Remove non-wroking code that crept into rev 1.55
11457         [2802dd55cff5]
11458
11459 2009-10-22  Todd C. Miller  <Todd.Miller@courtesan.com>
11460
11461         * INSTALL, configure, configure.in, script.c, sudoreplay.c:
11462         First pass at zlib support for transcript data files
11463         [5d10260807da]
11464
11465         * Makefile.in:
11466         remove vestiges of ZLDFLAGS
11467         [1fa0caf1c0fb]
11468
11469         * script.c:
11470         Add missing variable declaration for when TIOCSCTTY is not defined.
11471         Need to include sys/termio.h for TIOCSCTTY on some systems.
11472         [ee7f41ac2709]
11473
11474         * script.c:
11475         when resuming command, send SIGCONT to its pgrp not just pid
11476         [5cd63c1d565b]
11477
11478         * selinux.c:
11479         remove unused variable
11480         [df67df4be228]
11481
11482         * script.c:
11483         include selinux.h for is_selinux_enabled() proto
11484         [85ebaa880cc1]
11485
11486         * script.c:
11487         Don't use log_error() in the child process.
11488         [def65fe2a433]
11489
11490         * script.c:
11491         Do I/O in parent instead of child since the parent can have both
11492         /dev/tty as well as the pty fds open. The child just sets things up
11493         and waits for its grandchild and writes the signal description to
11494         the pty master if the command was killed by a signal.
11495         [95e473208982]
11496
11497 2009-10-18  Todd C. Miller  <Todd.Miller@courtesan.com>
11498
11499         * missing.h, sudo.h:
11500         Move two struct forward declarations from sudo.h to missing.h
11501         [90ad28294a8c]
11502
11503         * script.c:
11504         Make comment at the top of script_exec() match reality.
11505         [c5042d27dbe0]
11506
11507         * sudo.c:
11508         if neither stdin nor stdout is a tty, check stderr
11509         [c532ff20c8d8]
11510
11511         * Makefile.in:
11512         Add back dependecy of gram.h on gram.y
11513         [c58382b7fcca]
11514
11515         * script.c:
11516         Make transcript mode work as long as we can figure out our tty, even
11517         if it is not stdin. We'd like to use /dev/tty but that won't be
11518         valid after the setsid().
11519         [7b8bba8d99e7]
11520
11521 2009-10-17  Todd C. Miller  <Todd.Miller@courtesan.com>
11522
11523         * config.h.in, configure, configure.in, pty.c:
11524         Add support for IRIX-style dynamic ptys
11525         [bedc9bac44c1]
11526
11527         * Makefile.in, alloc.h, getline.c, sudo.h, sudoreplay.c:
11528         Move alloc.c protos into alloc.h
11529         [b6a90649617d]
11530
11531         * missing.h:
11532         Move prototypes for missing libc functions to missing.h
11533         [dda9ae1ccaf8]
11534
11535         * Makefile.in, sudo.h, sudoreplay.c:
11536         Move prototypes for missing libc functions to missing.h
11537         [7483166b577b]
11538
11539 2009-10-16  Todd C. Miller  <Todd.Miller@courtesan.com>
11540
11541         * config.h.in, configure, configure.in:
11542         Disable transcript support if no tcsetpgrp until we support older
11543         BSD-style job control.
11544         [27ac1d8163df]
11545
11546         * configure, configure.in, pty.c, script.c:
11547         Break out pty code into pty.c
11548         [e85509b25d41]
11549
11550         * compat.h, config.h.in, configure, configure.in:
11551         add killpg macro if no killpg function
11552         [3a125f4a51f0]
11553
11554         * config.h.in, configure, configure.in, script.c:
11555         Push ptem and ldterm for STERAMS-based systems when allocating a
11556         pty.
11557         [36bb39b30ff2]
11558
11559 2009-10-15  Todd C. Miller  <Todd.Miller@courtesan.com>
11560
11561         * script.c:
11562         Sprinkle some more O_NOCTTY and call grantpt() before unlockpt()
11563         [d94bd5c9bf4e]
11564
11565         * script.c:
11566         Call tcgetpgrp() in the parent, not the child and have the child
11567         spin until it is granted. Fixes a race on darwin.
11568         [6e8d435339ce]
11569
11570         * script.c:
11571         Only use TIOCNOTTY in the non-setsid case. If no TIOCSCTTY, just
11572         reopen slave.
11573         [0bdc63c019ca]
11574
11575 2009-10-14  Todd C. Miller  <Todd.Miller@courtesan.com>
11576
11577         * script.c:
11578         In script mode, if the command is killed by a signal, print the
11579         signal description as well as a core dump notification like the
11580         shell does.
11581         [9df61738df07]
11582
11583         * Makefile.in, config.h.in, configure, configure.in, strsignal.c,
11584         sudo.h:
11585         Add check for strsignal() and a simple implementation if it is not
11586         there but sys_siglist is
11587         [61421a188ef4]
11588
11589         * script.c:
11590         Add missing WUNTRACED and store the signal that stopped the
11591         grandchild in suspended, not signo.
11592         [df65042b200e]
11593
11594         * script.c:
11595         g/c unused code
11596         [40d8cb5c9203]
11597
11598         * script.c:
11599         Associate the grandchild's pgrp with the tty instead of the child's
11600         and just get suspend notifications via SIGCHLD instead of directly.
11601         This fixes a hang with programs that try to set terminal attributes
11602         and is more consistent with how the shell handles things.
11603         [6865abff7e94]
11604
11605 2009-10-12  Todd C. Miller  <Todd.Miller@courtesan.com>
11606
11607         * script.c:
11608         Move setpgid() of child into the parent side of the fork() where it
11609         belongs.
11610         [3defa782777c]
11611
11612 2009-10-11  Todd C. Miller  <Todd.Miller@courtesan.com>
11613
11614         * script.c:
11615         fix typo
11616         [b6a612b3622c]
11617
11618         * script.c:
11619         Run command in its own pgrp (like the shell does) for easier
11620         signalling. No need to relay SIGINT or SIGQUIT to parent, just send
11621         to grandchild. Don't want grandchild stopped events in the child
11622         (only termination). Flush output after suspending grandchild before
11623         signalling parent.
11624         [db556bf2176f]
11625
11626         * script.c:
11627         Back out revision 1.34; the problem lies elsewhere.
11628         [85f590a03275]
11629
11630         * script.c:
11631         Don't set stdout to blocking mode when flushing remaining output.
11632         It can cause us to hang when trying to exit. Need to investigate
11633         why.
11634         [6f803a3e33ca]
11635
11636         * script.c:
11637         Handle SIGTTOU and remove some debugging.
11638         [52d17279053e]
11639
11640         * term.c:
11641         Back out revision 1.10 as the signal that interrupts us may be
11642         SIGTTOU or SIGTTIN which the caller must handle.
11643         [7e2fa9107975]
11644
11645         * script.c:
11646         Apparently we need to send SIGSTOP to the command as well as ourself
11647         when we get SIGTSTP, the kernel doesn't automatically stop the
11648         process for us.
11649         [1a936e9309c4]
11650
11651         * script.c:
11652         Use an extra process to act as the glue bewteen the sessions
11653         associated with the user's controlling tty (what the shell uses) and
11654         the tty that sudo is using to do its logging. Basically, this means
11655         that if we get, e.g. SIGTSTP from the process sudo is running, we
11656         relay the signal to the parent so it's shell can do the job control.
11657         [6dd296988060]
11658
11659         * term.c:
11660         Handle getting/setting terminal attributes when the fd is in non-
11661         blocking mode.
11662         [ae5ae535ea7b]
11663
11664 2009-10-07  Todd C. Miller  <Todd.Miller@courtesan.com>
11665
11666         * sudoreplay.c, sudoreplay.cat, sudoreplay.man.in, sudoreplay.pod:
11667         Add support for pausing and changing the speed in interactive mode.
11668         [72a2063780a7]
11669
11670         * script.c:
11671         Already define O_NOCTTY in compat.h, don't need it here
11672         [b5d80ed3e5ce]
11673
11674 2009-10-06  Todd C. Miller  <Todd.Miller@courtesan.com>
11675
11676         * sudoreplay.c:
11677         Add missing protos
11678         [c4cb4e7f4d8a]
11679
11680 2009-09-30  Todd C. Miller  <Todd.Miller@courtesan.com>
11681
11682         * sudo_edit.c:
11683         Always update the stashed mtime of the temp file instead of using
11684         what we have for the original because the time resolution of the
11685         filesystem the temporary is on may not match that of the filesystem
11686         that holds the original. Should fix bz #371 found by Philippe Levan.
11687         [c86ca4bec60c]
11688
11689         * sudoreplay.c:
11690         Use cbreak mode instead of raw mode and add signal handlers to
11691         restore the tty on interrupt.
11692         [84dd283da41c]
11693
11694         * script.c, sudo.h, term.c:
11695         Retain NL to NLCR conversion on the real tty and skip it on the pty
11696         we allocate. That way, if stdout is not a pty there are no extra
11697         carriage returns.
11698         [32e4f570414e]
11699
11700         * script.c:
11701         Fix log_output(); just pass in a string and a length.
11702         [ca980cc0a3fb]
11703
11704 2009-09-28  Todd C. Miller  <Todd.Miller@courtesan.com>
11705
11706         * script.c:
11707         do not use errno when complaining out lack of a tty
11708         [8f9b8c55ab8e]
11709
11710 2009-09-27  Todd C. Miller  <Todd.Miller@courtesan.com>
11711
11712         * Makefile.in, sudoreplay.c, term.c:
11713         Instead of messing with line endings, just set terminal to raw mode
11714         in sudoreplay.
11715         [90943fa87acb]
11716
11717         * term.c:
11718         When copying the terminal attributes to the pty, be sure not to set
11719         ONLCR. This prevents extra carriage returns from ending up in the
11720         script output file.
11721         [e6b5475ac2aa]
11722
11723         * script.c:
11724         Convert a do {} while into a while
11725         [e461310d2c77]
11726
11727         * Makefile.in:
11728         Use if then instead of test && when installing binaries that may not
11729         exist.
11730         [ad4f9490d971]
11731
11732         * script.c:
11733         Add O_NOCTTY when opening a tty device. Explicitly disconnect from
11734         old tty before associatng with new one.
11735         [0e0ca634b80c]
11736
11737         * script.c, selinux.c, sudo.c, sudo.h:
11738         First cut at refactoring some of the selinux code so it can be used
11739         in conjunction with sudo's transcript support.
11740         [779b0d8f9d29]
11741
11742 2009-09-26  Todd C. Miller  <Todd.Miller@courtesan.com>
11743
11744         * aclocal.m4, configure, configure.in:
11745         Fix default case of transcript_enabled being unset.
11746         [f8aa96186e6b]
11747
11748         * script.c, sudoreplay.c:
11749         Use _PATH_SUDO_TRANSCRIPT instead of _PATH_SUDO_SESSDIR
11750         [2844a7a851fa]
11751
11752         * INSTALL, Makefile.in, aclocal.m4, configure, configure.in, sudo.c:
11753         Hook up --disable-transcript and --enable-transcript=DIR
11754         [b3fa7e6b2480]
11755
11756 2009-09-25  Todd C. Miller  <Todd.Miller@courtesan.com>
11757
11758         * aclocal.m4, configure, configure.in, pathnames.h.in:
11759         _PATH_SUDO_SESSDIR -> _PATH_SUDO_TRANSCRIPT Add --enable-
11760         transcript=DIR option to specify the directory
11761         [b0bb76d43cda]
11762
11763         * sudo.cat, sudo.man.in, sudoers.cat, sudoers.man.in:
11764         regen
11765         [c7a8a0a9027c]
11766
11767         * configure, configure.in, sudoers.man.pl, sudoers.pod:
11768         Substitute in default value for secure_path
11769         [c8f9ac6dbf93]
11770
11771         * sudo.pod:
11772         Mention that the password must be followed by a newline with the -S
11773         option.
11774         [2fc589a3ee7e]
11775
11776 2009-09-20  Todd C. Miller  <Todd.Miller@courtesan.com>
11777
11778         * script.c:
11779         Go back to dropping out of the select() loop when the process dies;
11780         Linux ptys apparently don't behave the same as BSD in regards to
11781         select(). No need to flush remaining output to the transcript, only
11782         to stdout. Add back code to check the master pty for additional data
11783         when we exit the main select loop.
11784         [abed9a9cbc6b]
11785
11786 2009-09-19  Todd C. Miller  <Todd.Miller@courtesan.com>
11787
11788         * Makefile.in:
11789         Add getline.o to COMMON_OBJS
11790         [04ef7643cbc2]
11791
11792         * Makefile.in:
11793         sudoreplay depends on libsudo.a
11794         [142bd0472631]
11795
11796         * Makefile.in:
11797         More pwutil.o into COMMON_OBJS
11798         [4a016b933629]
11799
11800         * pwutil.c, testsudoers.c, tsgetgrpw.c:
11801         Remove my_* redirection in pwutil.c for testsudoers and just use the
11802         normal libc get{pw,gr}* names.
11803         [9b76d637d86b]
11804
11805         * sudoreplay.cat, sudoreplay.man.in, sudoreplay.pod:
11806         More time and date examples
11807         [c6ee0175ec56]
11808
11809         * Makefile.in, configure, configure.in, nanosleep.c, sudoreplay.c:
11810         Move nanosleep() emulation into its own file Check librt.a for
11811         nanosleep if we don't find it in libc
11812         [4da0cc26aad7]
11813
11814         * Makefile.in, configure, configure.in:
11815         Build libsudo with the common bits and link things against that.
11816         [2b53bc0b081a]
11817
11818         * script.c:
11819         Fix final flush.
11820         [6da287d833da]
11821
11822         * script.c:
11823         Keep reading from the pty master -> log file until read returns <=
11824         0. Do our best to write everything to stdout when flushing any
11825         remaining bits.
11826         [2a45d4ae280c]
11827
11828         * sudoreplay.c:
11829         Use unbuffered I/O when writing to stdout and make sure we write the
11830         entire buffer.
11831         [f39ef9844a47]
11832
11833 2009-09-18  Todd C. Miller  <Todd.Miller@courtesan.com>
11834
11835         * sudoreplay.c:
11836         Only use max_wait if it is non-zero
11837         [f6c10604d2e8]
11838
11839         * getdate.c, getdate.y, getline.c:
11840         Need compat.h here
11841         [5d6722e225a0]
11842
11843         * sudoreplay.c:
11844         Fix nanosleep emulation
11845         [34e5e5d72a76]
11846
11847         * script.c:
11848         Fix comment after #endif
11849         [bd1347718b25]
11850
11851         * sudoreplay.c:
11852         Add protos for missing libc bits
11853         [644f496427a2]
11854
11855         * configure, configure.in:
11856         add missing line continuation char
11857         [db13c0d402cd]
11858
11859         * config.h.in, configure, configure.in, getline.c:
11860         Implement getline() in terms of fgetln() if we have it.
11861         [3ab786eaadc5]
11862
11863         * sudoreplay.c:
11864         Print year when formatting log line
11865         [90be669e3443]
11866
11867         * sudoreplay.pod:
11868         Document cwd, attempt to document time/date formats.
11869         [6290fb9b65c6]
11870
11871         * sudoreplay.c:
11872         Fix getline return value check.
11873         [d696d6657261]
11874
11875         * Makefile.in, config.h.in, configure, configure.in, getline.c,
11876         sudoreplay.c:
11877         Use getline() if the system has it, else use provide our own for
11878         sudoreplay.
11879         [afca1d6fbe5e]
11880
11881         * script.c:
11882         Refactor code to update output and timing files.
11883         [361491332b1a]
11884
11885 2009-09-17  Todd C. Miller  <Todd.Miller@courtesan.com>
11886
11887         * sudoreplay.c:
11888         Make sudo_getln() behave more like glibc getline.
11889         [40c9f2ea29e6]
11890
11891         * script.c:
11892         When flushing remaining output, also update timing file.
11893         [5a9a5a627549]
11894
11895         * sudoreplay.c:
11896         Use get_timestr() and make the -l output look like the regular sudo
11897         log.
11898         [452ba9d436c9]
11899
11900         * logging.c, sudo.h, timestr.c:
11901         Make get_timestr() take a time_t so we can use it properly in
11902         sudoreplay.
11903         [82e67cc53c9c]
11904
11905         * script.c:
11906         Create session dir earlier now that we update the seq number early.
11907         [797fe8d6dc61]
11908
11909 2009-09-16  Todd C. Miller  <Todd.Miller@courtesan.com>
11910
11911         * sudoreplay.c:
11912         Use fromdate and todate as the keywords instead of from and to; the
11913         short forms will still be accepted.
11914         [d14d9b116df4]
11915
11916         * sudoreplay.c:
11917         Fix reading long liensin sudo_getln()
11918         [58dadd74118c]
11919
11920         * script.c, sudoreplay.c:
11921         Log the cwd in the script log file. Add sudo_getln() to read
11922         arbitrarily long lines.
11923         [faceb802ab8f]
11924
11925         * Makefile.in, logging.c, sudo.h, timestr.c:
11926         Move get_timestr() into its own source file so sudoreplay can use
11927         it.
11928         [99b054bfa20a]
11929
11930 2009-09-15  Todd C. Miller  <Todd.Miller@courtesan.com>
11931
11932         * sudoreplay.c:
11933         Add to and from perdicates (date ranges); needs documentation
11934         [1d629174dcf4]
11935
11936 2009-09-14  Todd C. Miller  <Todd.Miller@courtesan.com>
11937
11938         * Makefile.in, getdate.c, getdate.y:
11939         Fix warning and add generated getdate.c
11940         [b877a86b5a03]
11941
11942         * Makefile.in, getdate.y:
11943         Add getdate.y to be used for sudoreplay date parsing.
11944         [b8e26fbb7a40]
11945
11946 2009-09-13  Todd C. Miller  <Todd.Miller@courtesan.com>
11947
11948         * sudoreplay.c:
11949         Check more than just the first character of a predicate
11950         [4fe53728adb1]
11951
11952         * sudoreplay.cat, sudoreplay.man.in, sudoreplay.pod:
11953         Add examples, sort predicates
11954         [70f8075cbccc]
11955
11956         * Makefile.in, sudoreplay.c, sudoreplay.cat, sudoreplay.man.in,
11957         sudoreplay.pod:
11958         Implement search expressions in sudoreplay similar in concept to
11959         what find or tcpdump uses. TODO: date ranges
11960         [f7ce4fb4cf3a]
11961
11962 2009-09-07  Todd C. Miller  <Todd.Miller@courtesan.com>
11963
11964         * script.c:
11965         Remove vhangup as it was hanging up the wrong tty. Should really
11966         vhangup in the child after it as set its tty.
11967         [2eed9df73010]
11968
11969         * sudoers.pod:
11970         Fix cut at documenting transcript support.
11971         [e6c533a5568a]
11972
11973         * logging.c:
11974         ID= -> TSID= for transcript ID
11975         [1bf755a35333]
11976
11977 2009-09-06  Todd C. Miller  <Todd.Miller@courtesan.com>
11978
11979         * sudoers.pod:
11980         Move fast_glob description to where it belongs in sorted order
11981         [5901cfb0d25f]
11982
11983         * def_data.c, def_data.h, def_data.in, gram.c, gram.h, gram.y,
11984         parse.c, parse.h, sudo.c:
11985         Rename script -> transcript
11986         [e06cf823122c]
11987
11988 2009-09-03  Todd C. Miller  <Todd.Miller@courtesan.com>
11989
11990         * compat.h:
11991         Add timeradd and timersub for those without them
11992         [929f8aa06c2b]
11993
11994         * script.c:
11995         Sanity check sessid before using it.
11996         [aa8ca5211d43]
11997
11998         * sudo.c:
11999         Only set the session id if we are running a command or editing a
12000         file.
12001         [7205d717c098]
12002
12003         * script.c:
12004         Actually. qsort is fine since most versions fal back to a cheaper
12005         sort when the number of elements to sort is small (like in our
12006         case).
12007         [d11c7cd352fe]
12008
12009         * config.h.in, configure, configure.in, script.c:
12010         Check for dup2 and use dup instead if we don't have it.
12011         [98bd89830f8a]
12012
12013         * script.c, sudo.c, sudo.h:
12014         Move the code to dup2 the script fds to low numbered descriptors
12015         into script_duplow() and fix the fd sorting.
12016         [9453fdc5fba6]
12017
12018         * script.c, sudo.c, sudo.h:
12019         Move script_setup() back to immediately before we drop privs and
12020         call the new script_nextid() in its place, which will set
12021         sudo_user.sessid for the logging functions.
12022         [8434d0c8ff08]
12023
12024 2009-09-01  Todd C. Miller  <Todd.Miller@courtesan.com>
12025
12026         * Makefile.in:
12027         Install sudoreplay
12028         [6acf2cdb4d3f]
12029
12030         * sudoreplay.c:
12031         remove unused variable
12032         [2316360bb992]
12033
12034 2009-08-30  Todd C. Miller  <Todd.Miller@courtesan.com>
12035
12036         * logging.c, script.c, sudo.c, sudo.h:
12037         Log the session ID, if there is one. Currently logs ID=XXXXXX,
12038         perhaps should be SESSIONID or SESSID.
12039         [53976905b0a6]
12040
12041         * Makefile.in, configure, configure.in, sudoreplay.cat,
12042         sudoreplay.man.in, sudoreplay.pod:
12043         Add sudoreplay docs
12044         [da4f14f0e64c]
12045
12046         * sudoreplay.c:
12047         add -V (version) flag
12048         [b5e743639ee3]
12049
12050         * sudoreplay.c:
12051         Hook up max_wait.
12052         [2ec5697a92ba]
12053
12054         * script.c, sudoreplay.c:
12055         Use base36 number for the ID and store script files with paths like
12056         /var/log/sudo-session/00/00/00{,.tim,.scr}. This gives us 36^6
12057         (2,176,782,336) unique IDs.
12058         [6aab019d07aa]
12059
12060 2009-08-23  Todd C. Miller  <Todd.Miller@courtesan.com>
12061
12062         * config.h.in, configure.in:
12063         Add check for regcomp
12064         [44c3ebd7ff34]
12065
12066         * sudoreplay.c:
12067         Add support for selecting by pattern and tty when listing.
12068         [66189f840c52]
12069
12070 2009-08-17  Todd C. Miller  <Todd.Miller@courtesan.com>
12071
12072         * sudoreplay.c:
12073         The beginnings of a list mode.
12074         [8d0150b4a52c]
12075
12076 2009-08-16  Todd C. Miller  <Todd.Miller@courtesan.com>
12077
12078         * Makefile.in:
12079         fix pasto
12080         [616b4640b8a8]
12081
12082         * Makefile.in, config.h.in, configure.in:
12083         Add scaffolding for building sudoreplay
12084         [a32958505dbe]
12085
12086         * sudoreplay.c:
12087         include error.h first arg to nanotime is const
12088         [fe5a7bb31bc5]
12089
12090         * sudoreplay.c:
12091         Initial cut at sudoreplay; replay a sudo session.
12092         [f149fba372bd]
12093
12094 2009-08-08  Todd C. Miller  <Todd.Miller@courtesan.com>
12095
12096         * script.c:
12097         Fix wait() usage and use correct wait status.
12098         [f4745ed7ad05]
12099
12100         * sudo.c, sudo.h, tgetpass.c:
12101         Add protos for term_* to sudo.h
12102         [14fe1abd7e7b]
12103
12104         * script.c:
12105         Fix detection of the child process exiting. Since the child is in
12106         its own session we should only ever get SIGCHLD for that process but
12107         better safe than sorry.
12108         [7edfdadd8505]
12109
12110         * config.h.in:
12111         Add UNIX98 pty support.
12112         [82f4b53a0e8f]
12113
12114         * configure, configure.in, script.c:
12115         Add UNIX98 pty support.
12116         [795b8bb0a3a1]
12117
12118 2009-08-07  Todd C. Miller  <Todd.Miller@courtesan.com>
12119
12120         * term.c:
12121         For raw mode, don't bother clearing BRKINT or PARMRK and clear IUCLC
12122         if it is defined.
12123         [40f8b83baf69]
12124
12125         * auth/pam.c:
12126         Set PAM_RUSER and PAM_RHOST early so they can be used during
12127         authentication. Based on a patch from Jamie Beverly.
12128         [3d567b453a6a]
12129
12130         * match.c:
12131         Close dir before returning if strlcpy() reports overflow. From
12132         Martynas Venckus.
12133         [6a82f96473e5]
12134
12135         * config.h.in, configure, configure.in, script.c:
12136         On Linux, the openpty proto libes in pty.h
12137         [98643a018d1c]
12138
12139         * script.c:
12140         Call vhangup on exit if the system has it Use setpgrp() if no
12141         setsid()
12142         [3a9e13149829]
12143
12144 2009-08-06  Todd C. Miller  <Todd.Miller@courtesan.com>
12145
12146         * config.h.in, configure, configure.in:
12147         Add checks for revoke and vhangup if we don't have openpty
12148         [fcb04572e994]
12149
12150         * script.c:
12151         Session logging guts that got forgotten in the previous commit.
12152         [c2af08a63ea9]
12153
12154         * Makefile.in, aclocal.m4, compat.h, config.h.in, configure,
12155         configure.in, def_data.c, def_data.h, def_data.in, gram.c, gram.h,
12156         gram.y, parse.c, parse.h, pathnames.h.in, sudo.c, sudo.h, term.c,
12157         tgetpass.c:
12158         First cut at session logging for sudo. Still need to write
12159         get_pty() for Unix 98 and old-style BSD ptys. Also needs
12160         documentation and general cleanup.
12161         [77e3f5e25738]
12162
12163 2009-08-05  Todd C. Miller  <Todd.Miller@courtesan.com>
12164
12165         * sudo.c, sudo_edit.c:
12166         Fix a bug introduced with def_closefrom. The value of def_closefrom
12167         already includes the +1.
12168         [7291c136300d]
12169
12170 2009-07-29  Todd C. Miller  <Todd.Miller@courtesan.com>
12171
12172         * Makefile.in:
12173         Generate sudo distributions with pax in ustar mode. No longer need
12174         to use a temp file or have the source dir name match the version.
12175         [9778177a8272]
12176
12177 2009-07-18  Todd C. Miller  <Todd.Miller@courtesan.com>
12178
12179         * toke.c, toke.l:
12180         Fix expansion of %h in #include names. Fixes bugzilla 363
12181         [6e346879ba24]
12182
12183 2009-07-12  Todd C. Miller  <Todd.Miller@courtesan.com>
12184
12185         * mkdefaults:
12186         If no arg assume def_data.in
12187         [c1dd28c0e675]
12188
12189         * README, WHATSNEW:
12190         Update for 1.7.2
12191         [f5ad45f69f05] [SUDO_1_7_2]
12192
12193         * ChangeLog:
12194         sync
12195         [6283549396ff]
12196
12197 2009-06-30  Todd C. Miller  <Todd.Miller@courtesan.com>
12198
12199         * sudoers.cat, sudoers.man.in, sudoers.pod:
12200         Add missing single quotes around a colon in Runas_Spec definition.
12201         From Elias Benali.
12202         [ccc6ee4fca83]
12203
12204 2009-06-29  Todd C. Miller  <Todd.Miller@courtesan.com>
12205
12206         * sudo.man.in, sudoers.man.in:
12207         regen
12208         [546e75304ebf]
12209
12210         * redblack.c:
12211         In rbrepair, re-color the root or the first non-block node we find
12212         to be black. Re-coloring the root is probably not needed but won't
12213         hurt.
12214         [34d01ebe241b]
12215
12216         * sudo.cat, sudoers.cat:
12217         regen
12218         [bebf5a39f54f]
12219
12220 2009-06-26  Todd C. Miller  <Todd.Miller@courtesan.com>
12221
12222         * redblack.c:
12223         When repairing the tree, don't touch the root node.
12224         [9841f0d5d789]
12225
12226 2009-06-25  Todd C. Miller  <Todd.Miller@courtesan.com>
12227
12228         * set_perms.c:
12229         Protect call to setegid in runas_setup with #ifdef HAVE_SETEUID.
12230         Reported by Josef Schmid.
12231         [ed044b1eb879]
12232
12233 2009-06-23  Todd C. Miller  <Todd.Miller@courtesan.com>
12234
12235         * sudoers.pod:
12236         Document that we accept env_pam-style environment files
12237         [e3b545456352]
12238
12239         * env.c:
12240         Adapt to accept pam_env-style /etc/environment which allows shell-
12241         style lines such as: export EDITOR="/usr/bin/vi"
12242         [752eb75bf007]
12243
12244         * sudoers.pod:
12245         Make it clear that env_delete only works when !env_reset. From Lo??c
12246         Minier
12247         [3bd3f8e351ba]
12248
12249 2009-06-15  Todd C. Miller  <Todd.Miller@courtesan.com>
12250
12251         * sudo.pod, sudoers.pod:
12252         Add non-unix group bits, adapted from Quest
12253         [8ce427de8dea]
12254
12255         * Makefile.in:
12256         build the .cat page in the current working dir, not the src dir
12257         [00e87a307674]
12258
12259         * env.c:
12260         Return EINVAL in setenv() if var is NULL or the empty string to
12261         match glibc behavior.
12262         [23fd7c247142]
12263
12264 2009-06-13  Todd C. Miller  <Todd.Miller@courtesan.com>
12265
12266         * configure, configure.in:
12267         Use AS_HELP_STRING for AC_ARG_WITH and AC_ARG_ENABLE
12268         [fedd4a3e2a85]
12269
12270 2009-06-11  Todd C. Miller  <Todd.Miller@courtesan.com>
12271
12272         * sudo.cat, sudo.man.in, sudoers.cat, sudoers.ldap.cat,
12273         sudoers.ldap.man.in, sudoers.man.in, visudo.cat, visudo.man.in:
12274         regen
12275         [7b9f461a40b3]
12276
12277 2009-06-09  Todd C. Miller  <Todd.Miller@courtesan.com>
12278
12279         * INSTALL:
12280         Document --with-libvas and --with-libvas-rpath
12281         [a071e6d96c89]
12282
12283 2009-05-29  Todd C. Miller  <Todd.Miller@courtesan.com>
12284
12285         * ldap.c, sudoers.ldap.pod:
12286         For netscape-derived LDAP SDKs the cert and key paths may be a
12287         directory or a file. However, version 5.0 of the SDK only seems to
12288         support using a directory. If ldapssl_clientauth_init fails and the
12289         cert or key paths look like they could be files, strip off the last
12290         path element and try again.
12291         [ac4e49d83043]
12292
12293         * Makefile.in:
12294         Add non-Unix group .o to COMMON_OBJS and substitute in path to flex.
12295         [4547cc1a335f]
12296
12297 2009-05-27  Todd C. Miller  <Todd.Miller@courtesan.com>
12298
12299         * configure, configure.in, match.c, sudo.c, vasgroups.c:
12300         Update non-Unix group support from Quest, as reworked by me.
12301         [1abafce29dc6]
12302
12303         * toke.c:
12304         regen
12305         [01bfca9148b7]
12306
12307         * toke.l:
12308         Add support for escaped hex chars in names, e.g. \x20 for space.
12309         [3c7be8e58a39]
12310
12311 2009-05-25  Todd C. Miller  <Todd.Miller@courtesan.com>
12312
12313         * LICENSE, Makefile.in, aclocal.m4, alias.c, auth/aix_auth.c,
12314         auth/pam.c, auth/sudo_auth.c, auth/sudo_auth.h, check.c, env.c,
12315         fileops.c, glob.c, gram.y, interfaces.c, lbuf.c, ldap.c, logging.c,
12316         logging.h, match.c, parse.c, parse.h, pathnames.h.in, pwutil.c,
12317         set_perms.c, sudo.c, sudo.h, sudo.pod, sudo_nss.c, sudo_nss.h,
12318         sudo_usage.h.in, sudoers.ldap.pod, sudoers.pod, testsudoers.c,
12319         tgetpass.c, toke.l, visudo.c:
12320         Update copyright years.
12321         [e615f676c764]
12322
12323 2009-05-24  Todd C. Miller  <Todd.Miller@courtesan.com>
12324
12325         * interfaces.c, lbuf.c:
12326         Minor fixes for Minix-3
12327         [898c510d23f9]
12328
12329 2009-05-22  Todd C. Miller  <Todd.Miller@courtesan.com>
12330
12331         * set_perms.c:
12332         Handle getgroups() returning 0. Also add missing check for
12333         HAVE_GETGROUPS.
12334         [d73b958f9ffd]
12335
12336 2009-05-19  Todd C. Miller  <Todd.Miller@courtesan.com>
12337
12338         * Makefile.in, config.h.in, configure, configure.in, sudo.c,
12339         version.h, visudo.c:
12340         Replace version.h with PACKAGE_VERSION set via AC_INIT in configure.
12341         [5050579a264d]
12342
12343 2009-05-18  Todd C. Miller  <Todd.Miller@courtesan.com>
12344
12345         * set_perms.c:
12346         Remove group setting code in setusercontext case, we will do it
12347         ourselves later on in runas_setup. Set the gid after
12348         initgroups/setgroups is called, since on Mac OS X it seems to change
12349         the egid.
12350         [09dc21d8b42d]
12351
12352 2009-05-17  Todd C. Miller  <Todd.Miller@courtesan.com>
12353
12354         * LICENSE, Makefile.in, config.h.in, match.c, nonunix.h, sudo.c,
12355         vasgroups.c:
12356         Initial bits of non-unix group support using Quest Authentication
12357         Services
12358         [1eecab0ff27e]
12359
12360         * toke.c, toke.l:
12361         Accept %:foo as a non-Unix group
12362         [4c4b5dd899a6]
12363
12364         * toke.c, toke.l:
12365         Allow user/group to be double quoted in the case of non-Unix groups
12366         which contain spaces.
12367         [47a3d568b7e8]
12368
12369 2009-05-11  Todd C. Miller  <Todd.Miller@courtesan.com>
12370
12371         * match.c:
12372         Don't allow the user to specify the default runas user if their
12373         sudoers entry only allows them to run as a group.
12374         [4d726177227c]
12375
12376 2009-05-10  Todd C. Miller  <Todd.Miller@courtesan.com>
12377
12378         * sudo.c:
12379         Must call audit_success before we change uids.
12380         [04a9e6ce6e55]
12381
12382         * logging.c, set_perms.c, sudo.h, testsudoers.c:
12383         Add option for set_perm to not exit on failure and use this in the
12384         logging routines.
12385         [833dce7b7f42]
12386
12387         * parse.c:
12388         In -l mode, if the user is only allowed to run as a group, display
12389         the user's name, not root's before the allowed group.
12390         [ef92ff99d265]
12391
12392         * sudo.c:
12393         Fix -g mode, broken by rev 1.503 which had the side effect of
12394         setting the runas user to root unilaterally.
12395         [50a2f7df4385]
12396
12397 2009-05-08  Todd C. Miller  <Todd.Miller@courtesan.com>
12398
12399         * fileops.c:
12400         When unlocking a file with fcntl, use F_SETLK, not F_SETLKW.
12401         [30fbe832dcf3]
12402
12403         * pwutil.c:
12404         Only cache by the method we fetched for pwd and grp lookups.
12405         Previously we cached both by namd and id but this can cause problems
12406         for entries that share the same id. Also add more info in the error
12407         message in case the insert fails (which should now be impossible).
12408         [ef95a4f0bab5]
12409
12410 2009-04-30  Todd C. Miller  <Todd.Miller@courtesan.com>
12411
12412         * sudoers.pod:
12413         Add a clarification from Nick Sieger
12414         [1eadad329561]
12415
12416 2009-04-25  Todd C. Miller  <Todd.Miller@courtesan.com>
12417
12418         * env.c:
12419         Inline the setting of the environment string.
12420         [9515d11c6295]
12421
12422 2009-04-24  Todd C. Miller  <Todd.Miller@courtesan.com>
12423
12424         * env.c:
12425         setenv(3) in Linux treats a NUL value as the empty string setenv(3)
12426         in BSD doesn't return an error if the name has '=' in it, it just
12427         treats the '=' as end of string.
12428         [941260bf94d2]
12429
12430 2009-04-22  Todd C. Miller  <Todd.Miller@courtesan.com>
12431
12432         * toke.c, toke.l:
12433         Not all systems have d_namlen
12434         [e377b18d8e2d]
12435
12436 2009-04-20  Todd C. Miller  <Todd.Miller@courtesan.com>
12437
12438         * sudoers.pod:
12439         Fix up some pod2html issues.
12440         [823a1f10ab60]
12441
12442 2009-04-19  Todd C. Miller  <Todd.Miller@courtesan.com>
12443
12444         * interfaces.c:
12445         Check for NULL ifa_addr and ifa_netmask. Adapted from a diff from
12446         Quest Software.
12447         [73de36653131]
12448
12449         * sudoers.pod:
12450         Ignore files ending in '~' in sudo.d (emacs backup files)
12451         [7871fad702db]
12452
12453         * toke.c, toke.l:
12454         Ignore files ending in '~' in sudo.d (emacs backup files)
12455         [53fded2a469f]
12456
12457 2009-04-18  Todd C. Miller  <Todd.Miller@courtesan.com>
12458
12459         * sudoers.cat, sudoers.man.in, sudoers.pod, toke.c, toke.l:
12460         For #includedir, ignore any file containing a dot
12461         [a7daa1bce6c2]
12462
12463         * Makefile.in, version.h:
12464         Bump version
12465         [ef60f14ffc44]
12466
12467         * gram.c, gram.y, parse.c, parse.h, sudo.c, sudo.h, sudoers.cat,
12468         sudoers.man.in, sudoers.pod, testsudoers.c, toke.c, toke.l,
12469         visudo.c:
12470         Implement #includedir directive. Files in an includedir are not
12471         edited by visudo unless they contain a syntax error.
12472         [3923d85a6c79]
12473
12474         * ChangeLog:
12475         sync
12476         [8741ed61a78b] [SUDO_1_7_1]
12477
12478         * WHATSNEW:
12479         Forgot umask_override
12480         [7c86a21a5504]
12481
12482         * ChangeLog, TODO:
12483         sync
12484         [57339ca6bccf]
12485
12486 2009-04-16  Todd C. Miller  <Todd.Miller@courtesan.com>
12487
12488         * visudo.c:
12489         Rewind stream if we fdopen sudoers since it may not be at the
12490         beginning. Set the keepopen flag on already-open files too so the
12491         lexer doesn't close them out from under us.
12492         [61292d819aff]
12493
12494         * visudo.c:
12495         Print the proper file name when there is a parse error in an include
12496         file.
12497         [b0e85d4aedde]
12498
12499 2009-04-11  Todd C. Miller  <Todd.Miller@courtesan.com>
12500
12501         * WHATSNEW:
12502         Sync
12503         [997e5d485ea3]
12504
12505 2009-04-10  Todd C. Miller  <Todd.Miller@courtesan.com>
12506
12507         * configure, configure.in:
12508         Fix a warning when --without-ldap is specified.
12509         [d91fd9481b30]
12510
12511 2009-04-05  Todd C. Miller  <Todd.Miller@courtesan.com>
12512
12513         * alias.c, parse.h, visudo.c:
12514         Store aliases that we remove during check_aliases in a freelist and
12515         free them at the end so we don't leak memory.
12516         [805e2272f6a3]
12517
12518 2009-03-28  Todd C. Miller  <Todd.Miller@courtesan.com>
12519
12520         * visudo.c:
12521         Check aliases in -c mode too.
12522         [9199e188d9f2]
12523
12524         * alias.c, parse.h, visudo.c:
12525         Make alias_remove return the alias struct instead of freeing it
12526         directly. Fixes a use after free in alias_remove_recursive, the only
12527         consumer.
12528         [a04b61804800]
12529
12530         * alias.c, match.c, parse.c, parse.h, visudo.c:
12531         Rename find_alias -> alias_find for consistency.
12532         [48b0a82924f3]
12533
12534 2009-03-27  Todd C. Miller  <Todd.Miller@courtesan.com>
12535
12536         * visudo.c:
12537         When checking for unused aliases, recurse if the alias points to
12538         another alias.
12539         [2d4d1a7f3a41]
12540
12541 2009-03-16  Todd C. Miller  <Todd.Miller@courtesan.com>
12542
12543         * ldap.c:
12544         Back out rev 1.105 for now. Real ldapux_client.conf support will be
12545         done later after some refactoring.
12546         [8ad72e69b277]
12547
12548 2009-03-14  Todd C. Miller  <Todd.Miller@courtesan.com>
12549
12550         * ldap.c:
12551         Treat ldap_hostport the same as "host" for ldapux.
12552         [3281dcc66da8]
12553
12554         * configure, configure.in:
12555         Only check for ldap_sasl_interactive_bind_s if we can find sasl.h.
12556         Fixes compilation with ldapux.
12557         [ca1ed585ef0e]
12558
12559 2009-03-12  Todd C. Miller  <Todd.Miller@courtesan.com>
12560
12561         * fileops.c:
12562         fix char subscript
12563         [41e51f080d00]
12564
12565 2009-03-11  Todd C. Miller  <Todd.Miller@courtesan.com>
12566
12567         * Makefile.in:
12568         remove errant carriage returns
12569         [e9e258a31c7b]
12570
12571         * audit.c, env.c:
12572         fix K&R compilation
12573         [d182e8920f13]
12574
12575         * sudo.cat, sudo.man.in, sudoers.cat, sudoers.ldap.cat,
12576         sudoers.ldap.man.in, sudoers.man.in, visudo.cat, visudo.man.in:
12577         regen
12578         [791a5cbf04e5]
12579
12580 2009-03-10  Todd C. Miller  <Todd.Miller@courtesan.com>
12581
12582         * config.h.in:
12583         Add missing HAVE_BSM_AUDIT
12584         [49ad1bb96f04]
12585
12586         * WHATSNEW:
12587         Add 1.7.1 features
12588         [f107f1604c61]
12589
12590         * INSTALL:
12591         Mention --with-netsvc
12592         [d1e90d147795]
12593
12594         * sudoers.ldap.pod:
12595         Document netsvc.conf support
12596         [e78f8abce6af]
12597
12598         * configure, configure.in, pathnames.h.in, sudo.c, sudo_nss.c,
12599         sudo_nss.h:
12600         Add support for AIX netsvc.conf (like nsswitch.conf).
12601         [1df56a84dee5]
12602
12603 2009-03-08  Todd C. Miller  <Todd.Miller@courtesan.com>
12604
12605         * config.h.in, configure, configure.in, env.c:
12606         Add --enable-env-debug flag to enable environment sanity checks.
12607         [128cdd8832e7]
12608
12609         * sudoers.ldap.pod, sudoers.pod:
12610         Work around some pod2html issue.
12611         [e733b9609bd2]
12612
12613 2009-03-07  Todd C. Miller  <Todd.Miller@courtesan.com>
12614
12615         * env.c:
12616         Only sync environ for putenv, setenv, and unsetenv. We need to make
12617         sure that sudo_putenv and sudo_setenv only modify env.envp, not
12618         environ.
12619         [be3ac732243c]
12620
12621 2009-03-02  Todd C. Miller  <Todd.Miller@courtesan.com>
12622
12623         * env.c:
12624         Really fix UNSETENV_VOID
12625         [08ab7e882507]
12626
12627         * env.c:
12628         Fix unsetenv when UNSETENV_VOID
12629         [d3038b3f2f15]
12630
12631         * aclocal.m4, configure:
12632         Fix SUDO_FUNC_PUTENV_CONST
12633         [de35569c572b]
12634
12635         * ldap.c:
12636         tivoli-based ldap does not have ldapssl_err2string
12637         [c63fd90d5e99]
12638
12639         * configure:
12640         regen
12641         [f38f1ee828ad]
12642
12643 2009-03-01  Todd C. Miller  <Todd.Miller@courtesan.com>
12644
12645         * config.h.in, configure, configure.in, ldap.c:
12646         Add support for Tivoli-based LDAP start TLS as seen in AIX.
12647         Untested.
12648         [8f8771829f85]
12649
12650         * env.c:
12651         Add sanity checks for setenv/unsetenv
12652         [adbd1d95856b]
12653
12654         * Makefile.in:
12655         Include bsm_audit.h in the tarball
12656         [4a4aa02b2c32]
12657
12658         * Makefile.in, version.h:
12659         bump version for sudo 1.7.1
12660         [362c71d21595]
12661
12662         * aclocal.m4, auth/aix_auth.c, config.h.in, configure, configure.in,
12663         env.c, ldap.c, sudo.h:
12664         Replace sudo_setenv/sudo_unsetenv with calls to setenv/unsetenv and
12665         provide our own setenv/unsetenv/putenv that operates on own env
12666         pointer. Make sync_env() inline in setenv/unsetenv/putenv functions.
12667         [276edcd23032]
12668
12669 2009-02-25  Todd C. Miller  <Todd.Miller@courtesan.com>
12670
12671         * sudo.c:
12672         Make "sudoedit -h" work as expected
12673         [2bcbbb45d389]
12674
12675         * auth/pam.c:
12676         Make sure def_prompt is always defined. This is a workaround for
12677         pam configs that prompt for a password in the session but don't have
12678         an auth line. A better fix is to expand the sudo prompt earlier and
12679         set def_prompt to that when initializing.
12680         [ee073c04aec3]
12681
12682         * sudo.pod:
12683         Mention that the helper for -A may be graphical.
12684         [b64a940c4082]
12685
12686         * TROUBLESHOOTING:
12687         Document what happens if there is no tty.
12688         [313d58a856a5]
12689
12690         * sudo.c:
12691         cosmetic changes
12692         [894f5e3b0c3e]
12693
12694         * term.c:
12695         Fix term_restore
12696         [6c6315ff14bc]
12697
12698         * sudo.c:
12699         Fix "sudo -k" with no other args
12700         [59e94dc419c6]
12701
12702 2009-02-24  Todd C. Miller  <Todd.Miller@courtesan.com>
12703
12704         * check.c, sudo.c, sudo.pod, sudo_usage.h.in:
12705         Allow the -k flag to be specified in conjunction with a command or
12706         another option that may require authentication.
12707         [5960ff20355d]
12708
12709 2009-02-23  Todd C. Miller  <Todd.Miller@courtesan.com>
12710
12711         * configure, configure.in:
12712         Remove unneeded AC_CANONICAL_TARGET; from Diego E. 'Flameeyes'
12713         [e86ab69c4a57]
12714
12715         * Makefile.in:
12716         Parallel make fix. From Diego E. 'Flameeyes'
12717         [1289d7ee27db]
12718
12719 2009-02-21  Todd C. Miller  <Todd.Miller@courtesan.com>
12720
12721         * def_data.c, def_data.h, def_data.in, sudo.c, sudoers.pod:
12722         Implement umask_override
12723         [8b87a3f7c5aa]
12724
12725         * toke.c:
12726         regen
12727         [79d7ca9ac873]
12728
12729         * sudoers.pod, toke.l, visudo.c:
12730         Implement %h escape in sudoers include filenames.
12731         [a7f288dd64f0]
12732
12733         * audit.c:
12734         Need to include compat.h
12735         [c0dc07ce2f70]
12736
12737         * Makefile.in, audit.c, bsm_audit.c, bsm_audit.h, logging.h, sudo.c:
12738         Make audit_success and audit_failure generic functions in
12739         preparation for integrating linux audit support.
12740         [7df020a8fd6f]
12741
12742         * term.c:
12743         remove duplicate include
12744         [1dfcd01a7e46]
12745
12746 2009-02-20  Todd C. Miller  <Todd.Miller@courtesan.com>
12747
12748         * bsm_audit.c:
12749         Add missing include
12750         [fb56e08c37ee]
12751
12752         * sudo.c:
12753         May need to update the runas user after parsing command-based
12754         defaults.
12755         [246f130d7802]
12756
12757 2009-02-18  Todd C. Miller  <Todd.Miller@courtesan.com>
12758
12759         * glob.c:
12760         Add missing pair of braces introduced with character class support.
12761         [0e2afa2e03e9]
12762
12763 2009-02-15  Todd C. Miller  <Todd.Miller@courtesan.com>
12764
12765         * def_data.c, def_data.h, def_data.in, sudoers.pod, tgetpass.c:
12766         Rename pwstars to pwfeedback
12767         [a9f85a57ebac]
12768
12769 2009-02-11  Todd C. Miller  <Todd.Miller@courtesan.com>
12770
12771         * bsm_audit.c, bsm_audit.h:
12772         Add const to make MacOS happy.
12773         [4274432d6627]
12774
12775         * Makefile.in, auth/sudo_auth.c, bsm_audit.c, bsm_audit.h, configure,
12776         configure.in, sudo.c:
12777         Add bsm audit support from Christian S.J. Peron
12778         [bef61cd8693d]
12779
12780         * term.c:
12781         This is new code, no DARPA notice.
12782         [ec6ad09b9c23]
12783
12784 2009-02-10  Todd C. Miller  <Todd.Miller@courtesan.com>
12785
12786         * def_data.c, def_data.h, def_data.in, match.c, sudoers.pod:
12787         Rename simple_glob -> fast_glob
12788         [68d9ed803cc1]
12789
12790         * match.c:
12791         g/c unused var
12792         [693fa0464eb6]
12793
12794         * def_data.c, def_data.h, def_data.in, match.c, sudoers.pod:
12795         Add simple_glob option to use fnmatch() instead of glob(). This is
12796         useful when you need to specify patterns that reference network file
12797         systems.
12798         [77ba634f6949]
12799
12800         * tgetpass.c:
12801         add term_* proto
12802         [520f5149d073]
12803
12804         * sudoers.pod:
12805         mention glob()
12806         [ddaab8e03c52]
12807
12808 2009-02-09  Todd C. Miller  <Todd.Miller@courtesan.com>
12809
12810         * tgetpass.c:
12811         Delete any pwstars we wrote after the user hits return. That way
12812         there is no record on screen as to the user's password length.
12813         [fae25cda762b]
12814
12815 2009-02-08  Todd C. Miller  <Todd.Miller@courtesan.com>
12816
12817         * term.c:
12818         Move terminal setting bits from tgetpass.c to term.c
12819         [03d43325ee99]
12820
12821         * Makefile.in, def_data.c, def_data.h, def_data.in, sudoers.pod,
12822         tgetpass.c:
12823         Add pwstars sudoers option that causes sudo to print a star every
12824         time the user presses a key.
12825         [7aab417e184d]
12826
12827 2009-02-03  Todd C. Miller  <Todd.Miller@courtesan.com>
12828
12829         * Makefile.in:
12830         Fix up F<> brokenness for visudo.man.in and sudoers.ldap.man.in.
12831         [64f70e879816]
12832
12833 2009-01-27  Todd C. Miller  <Todd.Miller@courtesan.com>
12834
12835         * ldap.c:
12836         For ldap_search_ext_s() the sizelimit param should be 0, not -1, to
12837         indicate no limit. From Mark Janssen.
12838         [e2c5732d54f5]
12839
12840 2009-01-17  Todd C. Miller  <Todd.Miller@courtesan.com>
12841
12842         * toke.c, toke.l:
12843         Comments that begin with #- should not be parsed as uids.
12844         [a72a50f12f41]
12845
12846 2009-01-09  Todd C. Miller  <Todd.Miller@courtesan.com>
12847
12848         * sudo.c:
12849         Do not try to set the close on exec flag if we didn't actually open
12850         sudoers.
12851         [ece3ca256904]
12852
12853 2008-12-19  Todd C. Miller  <Todd.Miller@courtesan.com>
12854
12855         * ChangeLog:
12856         regen
12857         [e11f0e4c1bdd] [SUDO_1_7_0]
12858
12859 2008-12-14  Todd C. Miller  <Todd.Miller@courtesan.com>
12860
12861         * TODO:
12862         sync
12863         [5b8954462bb3]
12864
12865 2008-12-09  Todd C. Miller  <Todd.Miller@courtesan.com>
12866
12867         * auth/pam.c:
12868         Return PAM_AUTH_ERR instead of PAM_CONV_ERR if user enters ^C at the
12869         password prompt.
12870         [8563601cb3de]
12871
12872         * configure, configure.in:
12873         Don't try to build sudo_noexec.so on HP-UX with the bundled compiler
12874         as it cannot generate shared objects.
12875         [6d4262ef9669]
12876
12877         * emul/charclass.h, glob.c, lbuf.c, tgetpass.c:
12878         K&R compilation fixes
12879         [77921678d17c]
12880
12881         * parse.c:
12882         Use tq_foreach_fwd when checking pseudo-commands to make it clear
12883         that we are not short-circuiting on last match. When pwcheck is
12884         'all', initialize nopass to TRUE and override it with the first non-
12885         TRUE entry.
12886         [96b209f4778f]
12887
12888 2008-12-08  Todd C. Miller  <Todd.Miller@courtesan.com>
12889
12890         * parse.c:
12891         Do not short circuit pseudo commands when we get a match since,
12892         depending on the settings, we may need to examine all commands for
12893         tags.
12894         [fdbaf89d6f35]
12895
12896 2008-12-03  Todd C. Miller  <Todd.Miller@courtesan.com>
12897
12898         * sudoers.cat, sudoers.man.in:
12899         regen
12900         [1ecce7c1b841]
12901
12902         * sudoers.pod:
12903         hostnames may also contain wildcards
12904         [82b76695601c]
12905
12906         * Makefile.in:
12907         remove stamp-* files and linux core files in clean target
12908         [22003f091467]
12909
12910 2008-12-02  Todd C. Miller  <Todd.Miller@courtesan.com>
12911
12912         * auth/sudo_auth.h, config.h.in, configure, configure.in:
12913         Use HAVE_SIA_SES_INIT instead of HAVE_SIA for Digital UNIX
12914         [6905bede8410]
12915
12916 2008-11-26  Todd C. Miller  <Todd.Miller@courtesan.com>
12917
12918         * configure, configure.in:
12919         correctly enable SIA on Digital UNIX
12920         [a51881d13995]
12921
12922         * TODO:
12923         checkpoint
12924         [af0fe8d94d42]
12925
12926         * ChangeLog:
12927         sync
12928         [831f623cf99c]
12929
12930 2008-11-25  Todd C. Miller  <Todd.Miller@courtesan.com>
12931
12932         * check.c, sudo.h, tgetpass.c:
12933         Even if neither stdin nor stdout are ttys we may still have /dev/tty
12934         available to us.
12935         [20f306ba883b]
12936
12937 2008-11-24  Todd C. Miller  <Todd.Miller@courtesan.com>
12938
12939         * sudoers.cat, sudoers.man.in:
12940         regen
12941         [76d97c4c318f]
12942
12943         * sudoers.pod:
12944         fix typos; Markus Lude
12945         [bff8bc1e2066]
12946
12947         * ChangeLog:
12948         sync
12949         [f108552531cd]
12950
12951         * toke.c:
12952         regen
12953         [de828413c67e]
12954
12955         * toke.l:
12956         Fix matching of a line that only consists of a comment char
12957         [09c953d8d5ca]
12958
12959 2008-11-22  Todd C. Miller  <Todd.Miller@courtesan.com>
12960
12961         * auth/pam.c:
12962         MacOS pam will retry conversation function if it fails so just treat
12963         ^C as an empty password.
12964         [d056058930bc]
12965
12966         * visudo.c:
12967         When checking for alias use, also check defaults bindings.
12968         [2647f82c7dbd]
12969
12970         * redblack.c:
12971         unused var
12972         [b7ff71c17c18]
12973
12974         * redblack.c:
12975         Replace my rbdelete with Emin's version (which actually works ;-)
12976         [21b133dd0c72]
12977
12978 2008-11-19  Todd C. Miller  <Todd.Miller@courtesan.com>
12979
12980         * testsudoers.c:
12981         malloc debugging
12982         [0fb446fa3279]
12983
12984         * visudo.c:
12985         malloc options in devel mode for visudo too
12986         [98d06c6afeef]
12987
12988 2008-11-18  Todd C. Miller  <Todd.Miller@courtesan.com>
12989
12990         * sudo.c:
12991         fix compilation on non-C99; from Theo
12992         [7c304e16c536]
12993
12994         * visudo.c:
12995         fix check_aliases
12996         [83f30a3b1765]
12997
12998         * alias.c:
12999         when destroying an alias, free the correct data pointer
13000         [6e1a8bd86c01]
13001
13002         * auth/sudo_auth.h:
13003         add proto for aixauth_cleanup; from Dale King
13004         [eba94ffc8f63]
13005
13006 2008-11-15  Todd C. Miller  <Todd.Miller@courtesan.com>
13007
13008         * sudo.cat, sudo.man.in, sudoers.cat, sudoers.man.in, visudo.cat,
13009         visudo.man.in:
13010         regen
13011         [409fa57fff83]
13012
13013         * sudo.pod, sudoers.pod, visudo.pod:
13014         standardize on the term 'option' for command line options (not flag)
13015         [228caefc2e36]
13016
13017 2008-11-14  Todd C. Miller  <Todd.Miller@courtesan.com>
13018
13019         * INSTALL:
13020         Add note on configuring HP-UX pam
13021         [f7674a581baf]
13022
13023 2008-11-11  Todd C. Miller  <Todd.Miller@courtesan.com>
13024
13025         * check.c, sudo.c:
13026         Move tty checks into check_user() so we only do them if we actually
13027         need a password.
13028         [7d997d7106d6]
13029
13030         * sudo.c:
13031         Don't error out if no tty or askpass unless we actually need to
13032         authenticate.
13033         [9f23b83ed66c]
13034
13035 2008-11-10  Todd C. Miller  <Todd.Miller@courtesan.com>
13036
13037         * ChangeLog:
13038         regen
13039         [23f9aef32da6]
13040
13041         * pathnames.h.in, sudo.c:
13042         s/overriden/overridden/; from Tobias Stoeckmann
13043         [9f7459a8fac5]
13044
13045 2008-11-09  Todd C. Miller  <Todd.Miller@courtesan.com>
13046
13047         * WHATSNEW, visudo.c:
13048         check sudoers owner and mode in strict mode
13049         [a3468c5ac1c4]
13050
13051         * gram.c, toke.c:
13052         regen
13053         [7d6b515a5443]
13054
13055         * sudo.man.in, sudoers.man.in, visudo.man.in:
13056         Update copyright years.
13057         [52d340cb8cba]
13058
13059         * LICENSE, alias.c, alloc.c, auth/afs.c, auth/aix_auth.c,
13060         auth/bsdauth.c, auth/fwtk.c, auth/kerb4.c, auth/kerb5.c, auth/pam.c,
13061         auth/securid.c, auth/securid5.c, auth/sia.c, auth/sudo_auth.h,
13062         closefrom.c, compat.h, defaults.c, defaults.h, env.c, fileops.c,
13063         gettime.c, gram.y, ins_csops.h, insults.h, interfaces.c,
13064         interfaces.h, lbuf.c, license.pod, list.c, logging.c, logging.h,
13065         parse.c, parse.h, pwutil.c, redblack.c, redblack.h, snprintf.c,
13066         sudo.c, sudo.pod, sudo_edit.c, sudo_nss.h, sudoers.pod,
13067         testsudoers.c, toke.l, tsgetgrpw.c, utimes.c, version.h, visudo.c,
13068         visudo.pod, zero_bytes.c:
13069         Update copyright years.
13070         [b4e6bf2beafa]
13071
13072         * emul/charclass.h, fnmatch.c, glob.c:
13073         add my copyright
13074         [28681385014a]
13075
13076 2008-11-08  Todd C. Miller  <Todd.Miller@courtesan.com>
13077
13078         * toke.c, toke.l:
13079         The loop in fill_cmnd() was going one byte too far past the end,
13080         resulting in a NUL being written immediately after the buffer end.
13081         [a5a49d603cd7]
13082
13083         * UPGRADE, WHATSNEW:
13084         add sections on tgetpass changes
13085         [2e6929b6a102]
13086
13087         * tgetpass.c:
13088         Treat EOF w/o newline as an error.
13089         [aa02b1db9240]
13090
13091 2008-11-07  Todd C. Miller  <Todd.Miller@courtesan.com>
13092
13093         * parse.c:
13094         Fix "sudo -v" when NOPASSWD is set.
13095         [f4914711ea80]
13096
13097         * auth/bsdauth.c, auth/fwtk.c, auth/pam.c, auth/sudo_auth.c,
13098         auth/sudo_auth.h:
13099         No longer treat an empty password at the prompt as special. To quit
13100         out of sudo you now need to hit ^C at the password prompt.
13101         [980f760ad419]
13102
13103         * sudoers.cat, sudoers.man.in:
13104         regen
13105         [6ca21a2cd869]
13106
13107         * def_data.c, def_data.h, def_data.in, sudo.c, sudoers.pod:
13108         Sudo will now refuse to run if no tty is present unless the new
13109         visiblepw sudoers flag is set.
13110         [0cc56943252e]
13111
13112 2008-11-06  Todd C. Miller  <Todd.Miller@courtesan.com>
13113
13114         * aix.c:
13115         just use RLIM_INFINITY for RLIM_SAVED_MAX if RLIM_SAVED_MAX not
13116         defined
13117         [24fc6f712d5c]
13118
13119         * aix.c:
13120         fix fallback value for RLIM_SAVED_MAX
13121         [e09e04e1af89]
13122
13123         * auth/aix_auth.c, auth/sudo_auth.h:
13124         Move clearing of AUTHSTATE into aixauth_cleanup.
13125         [e14ae7bd259c]
13126
13127         * auth/aix_auth.c, env.c:
13128         Unset AUTHSTATE after calling authenticate() as it may not be
13129         correct for the user we are running the command as.
13130         [d14f68f1b0ab]
13131
13132         * isblank.c:
13133         Add isblank() function for systems without it. Needed for POSIX
13134         character class matching in fnmatch.c and glob.c.
13135         [16cba30b283f]
13136
13137 2008-11-05  Todd C. Miller  <Todd.Miller@courtesan.com>
13138
13139         * TROUBLESHOOTING:
13140         expound on sudo and cd
13141         [8e0fa9033637]
13142
13143 2008-11-04  Todd C. Miller  <Todd.Miller@courtesan.com>
13144
13145         * ChangeLog:
13146         regen
13147         [40cf320a10fc]
13148
13149         * sudoers.cat, sudoers.man.in:
13150         regen
13151         [7cac761ae2c6]
13152
13153         * sudoers.pod:
13154         mention defauts parse order
13155         [4e2ce86d1394]
13156
13157 2008-11-03  Todd C. Miller  <Todd.Miller@courtesan.com>
13158
13159         * Makefile.in, aclocal.m4, compat.h, configure:
13160         Add isblank() function for systems without it. Needed for POSIX
13161         character class matching in fnmatch.c and glob.c.
13162         [a1ab55da8424]
13163
13164         * Makefile.in:
13165         add emul/charclass.h to HDRS
13166         [7e8a019dcaa4]
13167
13168 2008-11-02  Todd C. Miller  <Todd.Miller@courtesan.com>
13169
13170         * TODO:
13171         checkpoint
13172         [afeb9bc1baed]
13173
13174         * defaults.c, parse.c, testsudoers.c, visudo.c:
13175         Move update_defaults into defaults.c and call it properly from
13176         visudo and testsudoers.
13177         [f4dbb369461f]
13178
13179         * defaults.c, interfaces.c, pwutil.c, sudo.c, sudo_edit.c, tgetpass.c,
13180         tsgetgrpw.c:
13181         use zero_bytes() instead of memset() for consistency
13182         [4cee0465f4a8]
13183
13184         * logging.c, mon_systrace.c, parse.c, sudo.c, sudo_edit.c, tgetpass.c,
13185         visudo.c:
13186         Zero out sigaction_t before use in case it has non-standard entries.
13187         [120092225459]
13188
13189         * match.c:
13190         quiet gcc
13191         [098a1df49b23]
13192
13193         * match.c:
13194         Short circuit glob() checks if basename(pattern) !=
13195         basename(command). Refactor code that checks for a command in a
13196         directory and use it in the glob case if the resolved pattern ends
13197         in a '/'.
13198         [3c46fd317acb]
13199
13200 2008-11-01  Todd C. Miller  <Todd.Miller@courtesan.com>
13201
13202         * defaults.h, parse.c, sudo.c, testsudoers.c, visudo.c:
13203         Defer setting runas defaults until after runaspw/gr is setup.
13204         [12e75ee49c0c]
13205
13206 2008-10-29  Todd C. Miller  <Todd.Miller@courtesan.com>
13207
13208         * match.c, sudo.c, testsudoers.c:
13209         Use MAXHOSTNAMELEN+1 when allocating host/domain name since some
13210         systems do not include space for the NUL in the size. Also manually
13211         NUL-terminate buffer from gethostname() since POSIX is wishy-washy
13212         on this.
13213         [7266ab3296a3]
13214
13215 2008-10-26  Todd C. Miller  <Todd.Miller@courtesan.com>
13216
13217         * sudo.c, sudoers.pod:
13218         When setting the umask, use the union of the user's umask and the
13219         default value set in sudoers so that we never lower the user's umask
13220         when running a command.
13221         [4e804b004e38]
13222
13223         * sudo.c:
13224         Don't try to read from a zero-length sudoers file. Remove the bogus
13225         Solaris work-around for EAGAIN. Since we now use fgetc() it should
13226         not be a problem.
13227         [bb8e5f68d944]
13228
13229 2008-10-25  Todd C. Miller  <Todd.Miller@courtesan.com>
13230
13231         * parse.c:
13232         In update_defaults() check the return value of user*_matches against
13233         ALLOW so we don't inadvertantly match on UNSPEC.
13234         [4e422fa1527e]
13235
13236 2008-10-24  Todd C. Miller  <Todd.Miller@courtesan.com>
13237
13238         * sudo.cat, sudo.man.in, sudoers.cat, sudoers.ldap.cat,
13239         sudoers.ldap.man.in, sudoers.man.in, visudo.cat, visudo.man.in:
13240         regen man pages; no more hyphenation
13241         [15de4fe2fe01]
13242
13243         * sudo.c:
13244         Don't error out on a zero-length sudoers file. With the advent of
13245         #include the user could create a situation where sudo is unusable.
13246         [6eb461319fa5]
13247
13248 2008-10-23  Todd C. Miller  <Todd.Miller@courtesan.com>
13249
13250         * auth/kerb5.c, config.h.in, configure, configure.in:
13251         Newer heimdal has 2-argument krb5_get_init_creds_opt_free() like MIT
13252         krb5. Really old heimdal has no krb5_get_init_creds_opt_alloc() at
13253         all. Add configure tests to handle all the cases.
13254         [4b554a98470d]
13255
13256 2008-10-08  Todd C. Miller  <Todd.Miller@courtesan.com>
13257
13258         * sudo.pod:
13259         resort ENVIRONMENT
13260         [f4f20f40653e]
13261
13262         * sudoers.pod:
13263         document sudoers_locale
13264         [0bffd2dbe806]
13265
13266         * sudo.pod, sudo_edit.c:
13267         add SUDO_EDITOR variable that sudoedit uses in preference to VISUAL
13268         or EDITOR
13269         [0ef8cb248cee]
13270
13271         * toke.c, toke.l:
13272         In fill_cmnd(), collapse any escaped sudo-specific characters.
13273         Allows character classes to be used in pathnames.
13274         [5685244c8e44]
13275
13276 2008-10-03  Todd C. Miller  <Todd.Miller@courtesan.com>
13277
13278         * lbuf.c:
13279         fix typo in non-C89 function declaration
13280         [99a7113b3a05]
13281
13282         * sudoers.pod:
13283         Mention POSIX characters classes now that out fnmatch() and glob()
13284         support them.
13285         [9c916f1230c3]
13286
13287         * sample.sudoers, sudoers.pod:
13288         Replace [A-z] (which won't match in UTF8) with [A-Za-z] which is
13289         locale agnostic.
13290         [a60a62bec244]
13291
13292         * parse.h:
13293         use __signed char if we are going to assign a negative value since
13294         on Power, char is unsigned by default
13295         [2877b319df17]
13296
13297         * config.h.in, configure, configure.in:
13298         Add tests for __signed char and signed char.
13299         [5eb874fdf1d4]
13300
13301         * aix.c:
13302         Fix AIX limit setting. getuserattr() returns values in disk blocks
13303         rather than bytes. The default hard stack size in newer AIX is
13304         RLIM_SAVED_MAX. From Dale King.
13305         [3db67415ecc3]
13306
13307 2008-09-26  Todd C. Miller  <Todd.Miller@courtesan.com>
13308
13309         * emul/charclass.h, fnmatch.c, glob.c:
13310         Add character class support to included glob(3) and fnmatch(3).
13311         [6b5b4ad77899]
13312
13313 2008-09-16  Todd C. Miller  <Todd.Miller@courtesan.com>
13314
13315         * emul/fnmatch.h:
13316         Remove UCB advertising clause and some compatibility defines.
13317         [2ade7bee74e1]
13318
13319 2008-09-14  Todd C. Miller  <Todd.Miller@courtesan.com>
13320
13321         * sudo_edit.c:
13322         Check EDITOR/VISUAL to make sure sudoedit is not re-invoking itself
13323         or sudo. This allows one to set EDITOR to sudoedit without getting
13324         into an infinite loop of sudoedit running itself until the path gets
13325         too big.
13326         [aa49ab68f82d]
13327
13328         * def_data.c, def_data.h, def_data.in, defaults.c, sudo.c:
13329         Add sudoers_locale Defaults option to override the default sudoers
13330         locale of "C".
13331         [0639886a35bf]
13332
13333 2008-09-13  Todd C. Miller  <Todd.Miller@courtesan.com>
13334
13335         * sudo.c:
13336         Set locale to system default except for during sudoers parse.
13337         [016dd2736728]
13338
13339 2008-09-12  Todd C. Miller  <Todd.Miller@courtesan.com>
13340
13341         * match.c:
13342         Redo change in 1.34 to use pointer arithmetic.
13343         [f9e7b63bb450]
13344
13345 2008-09-11  Todd C. Miller  <Todd.Miller@courtesan.com>
13346
13347         * match.c:
13348         Fix a dereference (read) of a freed pointer. Reported by Patrick
13349         Williams.
13350         [69877b633753]
13351
13352 2008-08-23  Todd C. Miller  <Todd.Miller@courtesan.com>
13353
13354         * sudo.c:
13355         Set locale to "C" to avoid interpretation issues with character
13356         ranges in sudoers. May want to make the locale a sudoers option in
13357         the future.
13358         [098a95de1746]
13359
13360 2008-08-20  Todd C. Miller  <Todd.Miller@courtesan.com>
13361
13362         * config.h.in:
13363         we no longer use setproctitle
13364         [c7f20fb747ea]
13365
13366         * sudo.h:
13367         remove #if 1
13368         [a368ee6816c6]
13369
13370         * LICENSE, mkstemp.c:
13371         Use my replacement mkstemp() from the mktemp package.
13372         [d07c2beb0f9e]
13373
13374 2008-07-12  Todd C. Miller  <Todd.Miller@courtesan.com>
13375
13376         * gram.c:
13377         regen with yacc skeleton bug fixed
13378         [24784571cbb8]
13379
13380         * sudoers.pod:
13381         Remove duplicate "as root". From Martin Toft.
13382         [97241acfee5e]
13383
13384 2008-07-02  Todd C. Miller  <Todd.Miller@courtesan.com>
13385
13386         * pwutil.c, sudo.c, sudo.h, testsudoers.c:
13387         Flesh out the fake passwd entry used for running commands as a uid
13388         not listed in the passwd database. Fixes an issue with some PAM
13389         modules.
13390         [a6648227f3f2]
13391
13392 2008-07-01  Todd C. Miller  <Todd.Miller@courtesan.com>
13393
13394         * sudo.c:
13395         Error out in -i mode if the user has no shell. This can happen when
13396         running commands as a uid with no password entry.
13397         [0c174bef36ff]
13398
13399 2008-06-26  Todd C. Miller  <Todd.Miller@courtesan.com>
13400
13401         * toke.c, toke.l:
13402         Better fix for line continuation inside double quotes. Now accepts
13403         whitespace between the backslash and the newline like the main
13404         lexer.
13405         [64efcdf86d31]
13406
13407 2008-06-25  Todd C. Miller  <Todd.Miller@courtesan.com>
13408
13409         * toke.c, toke.l:
13410         Fix line continuation in strings. It was only being honored if
13411         preceded by whitespace.
13412         [96c21271a3e4]
13413
13414 2008-06-22  Todd C. Miller  <Todd.Miller@courtesan.com>
13415
13416         * config.h.in, configure, configure.in, logging.c:
13417         Replace the double fork with a fork + daemonize.
13418         [328505441e67]
13419
13420 2008-06-21  Todd C. Miller  <Todd.Miller@courtesan.com>
13421
13422         * env.c, sudo.c:
13423         The -i flag should imply env_reset. This got broken in sudo 1.6.9.
13424         [3caedfeaec87]
13425
13426         * logging.c, sudo.c, sudo_edit.c, visudo.c:
13427         Change how the mailer is waited for. Instead of having a SIGCHLD
13428         handler, use the double fork trick to orphan the child that opens
13429         the pipe to sendmail. Fixes a problem running su on some Linux
13430         distros.
13431         [b59ce60a393d]
13432
13433 2008-06-20  Todd C. Miller  <Todd.Miller@courtesan.com>
13434
13435         * configure, configure.in:
13436         Fix configure test for dirfd() on Linux where DIR is opaque.
13437         [b8f729cdfecc]
13438
13439 2008-06-17  Todd C. Miller  <Todd.Miller@courtesan.com>
13440
13441         * tgetpass.c:
13442         Get rid of the QNX TCSAFLUSH -> TCSADRAIN hack. If QNX still has
13443         this problem we'll need to revisit this again.
13444         [c17fee8ad530]
13445
13446 2008-06-11  Todd C. Miller  <Todd.Miller@courtesan.com>
13447
13448         * logging.c:
13449         Ignore SIGPIPE instead of blocking it when piping to the mailer. If
13450         we only block the signal it may be delivered later when we unblock.
13451         Also, there is no need to block SIGCHLD since we no longer do the
13452         double fork. The normal SIGCHLD handler is sufficient.
13453         [e94a49e992e5]
13454
13455 2008-06-08  Todd C. Miller  <Todd.Miller@courtesan.com>
13456
13457         * configure, configure.in:
13458         Add description for NO_PAM_SESSION, from a redhat patch.
13459         [b9e4c939ec09]
13460
13461 2008-06-06  Todd C. Miller  <Todd.Miller@courtesan.com>
13462
13463         * sudo.cat, sudo.man.in, sudo.pod:
13464         Fix typos in -i usage
13465         [2d7ce5de0235]
13466
13467 2008-05-18  Todd C. Miller  <Todd.Miller@courtesan.com>
13468
13469         * configure, configure.in:
13470         Redo the test for dgettext() in a way that hopefully will work
13471         around the libintl_dgettext() undefined problem.
13472         [d27beb0cf85e]
13473
13474 2008-05-11  Todd C. Miller  <Todd.Miller@courtesan.com>
13475
13476         * schema.ActiveDirectory:
13477         change filename in comment
13478         [733da4ee9ac5]
13479
13480 2008-05-10  Todd C. Miller  <Todd.Miller@courtesan.com>
13481
13482         * Makefile.in, README.LDAP, sudoers.ldap.cat, sudoers.ldap.man.in,
13483         sudoers.ldap.pod:
13484         Reference schema.ActiveDirectory
13485         [d6aec537800e]
13486
13487 2008-05-09  Todd C. Miller  <Todd.Miller@courtesan.com>
13488
13489         * schema.OpenLDAP, schema.iPlanet:
13490         Mark sudoRunAs as deprecated.
13491         [00c50df807af]
13492
13493         * schema.ActiveDirectory:
13494         add sudoRunAsUser and sudoRunAsGroup
13495         [19bcce6f72fb]
13496
13497         * schema.ActiveDirectory:
13498         Active Directory schema by Chantal Paradis and Eric Paquet
13499         [06a09c92c6a5]
13500
13501 2008-05-08  Todd C. Miller  <Todd.Miller@courtesan.com>
13502
13503         * parse.c:
13504         remove an XXX that was fixed
13505         [b88038062fa2]
13506
13507         * ChangeLog:
13508         sync
13509         [8fc27c17270e]
13510
13511         * parse.c:
13512         Initialize tags to UNSPEC instead of def_* in "sudo -l" mode. This
13513         fixes a problem where the tag value printed was influenced by
13514         defaults set in the first pass through the parser.
13515         [588ccd630367]
13516
13517 2008-05-04  Todd C. Miller  <Todd.Miller@courtesan.com>
13518
13519         * Makefile.in, sudo.psf:
13520         No point in packaging the TODO file
13521         [9590248fffe1]
13522
13523         * ChangeLog:
13524         sync
13525         [152acf4c6813]
13526
13527 2008-05-03  Todd C. Miller  <Todd.Miller@courtesan.com>
13528
13529         * WHATSNEW, def_data.c, def_data.h, def_data.in, env.c, sudo.c,
13530         sudo.h, sudoers.cat, sudoers.man.in, sudoers.pod:
13531         Add env_file Defaults option that is similar to /etc/environment on
13532         some systems.
13533         [1daf53d51e18]
13534
13535 2008-05-02  Todd C. Miller  <Todd.Miller@courtesan.com>
13536
13537         * Makefile.in, README, TODO, WHATSNEW, sudo.cat, sudo.man.in,
13538         sudoers.cat, sudoers.ldap.cat, sudoers.ldap.man.in, sudoers.man.in,
13539         version.h, visudo.cat, visudo.man.in:
13540         change version to 1.7.0
13541         [d41d126b9bd8]
13542
13543         * UPGRADE:
13544         initial valgrind pass done
13545         [c59c3876d8ca]
13546
13547 2008-04-23  Todd C. Miller  <Todd.Miller@courtesan.com>
13548
13549         * ldap.c:
13550         Fix typo/think in sudo_ldap_read_secret() when storing the secret.
13551         [830d246c09b0]
13552
13553 2008-04-11  Todd C. Miller  <Todd.Miller@courtesan.com>
13554
13555         * ldap.c:
13556         define LDAPS_PORT if the system headers do not
13557         [247b12325701]
13558
13559 2008-04-10  Todd C. Miller  <Todd.Miller@courtesan.com>
13560
13561         * gram.c, gram.y:
13562         Fix another memory leak in init_parser().
13563         [7bba47deba11]
13564
13565         * configure, configure.in:
13566         There was a missing space before the ldap libs in SUDO_LIBS for some
13567         configurations.
13568         [7524cfc93759]
13569
13570         * alias.c, gram.c, gram.y, toke.c, toke.l:
13571         Clean up some memory leaks pointed out by valgrind.
13572         [a965866ece1a]
13573
13574 2008-04-07  Todd C. Miller  <Todd.Miller@courtesan.com>
13575
13576         * sudo.c:
13577         fix "sudo -s" broken by mode/flags breakout
13578         [acffe984d408]
13579
13580         * configure, configure.in:
13581         remove duplicate check for dgettext
13582         [58145529133c]
13583
13584 2008-04-05  Todd C. Miller  <Todd.Miller@courtesan.com>
13585
13586         * aix.c:
13587         Fall back to default stanza if no user-specific limit is found.
13588         [7b8cb29123ee]
13589
13590 2008-04-02  Todd C. Miller  <Todd.Miller@courtesan.com>
13591
13592         * snprintf.c:
13593         include stdint.h if present
13594         [f0ec38529306]
13595
13596         * snprintf.c:
13597         Use LLONG_MAX, not the old QUAD_MAX
13598         [01041ce508fb]
13599
13600 2008-04-01  Todd C. Miller  <Todd.Miller@courtesan.com>
13601
13602         * sudoers.ldap.pod:
13603         fix cut and pasto
13604         [34240fdef5ab]
13605
13606 2008-03-31  Todd C. Miller  <Todd.Miller@courtesan.com>
13607
13608         * pwutil.c:
13609         Add #ifdef PURITY
13610         [ce1b571ad526]
13611
13612 2008-03-30  Todd C. Miller  <Todd.Miller@courtesan.com>
13613
13614         * auth/bsdauth.c:
13615         remove useless cast
13616         [494f8a862e1d]
13617
13618 2008-03-27  Todd C. Miller  <Todd.Miller@courtesan.com>
13619
13620         * ChangeLog:
13621         sync
13622         [f5c97ffaabcc]
13623
13624         * TODO:
13625         sync
13626         [96ff1c44c182]
13627
13628         * sudo.h:
13629         Split MODE_* defines into primary and flags.
13630         [c02ee3027cb9]
13631
13632 2008-03-26  Todd C. Miller  <Todd.Miller@courtesan.com>
13633
13634         * aix.c:
13635         It turns out the logic for getting AIX limits is more convoluted
13636         than I realized and differs depending on whether the soft and/or
13637         hard limits are defined.
13638         [cf8d3f85d395]
13639
13640 2008-03-23  Todd C. Miller  <Todd.Miller@courtesan.com>
13641
13642         * Makefile.in, configure, configure.in:
13643         Back out AIX-specific change to set the sudo_noexec path to the .a
13644         file, we do really want to use the .so file. Since libtool doesn't
13645         do that correctly, just install the .so file ourselves in the
13646         Makefile.
13647         [05c6f33177d9]
13648
13649         * install-sh:
13650         If the file given to install is a path, only use the basename of the
13651         file when building the destination path.
13652         [695ba4e429ce]
13653
13654 2008-03-18  Todd C. Miller  <Todd.Miller@courtesan.com>
13655
13656         * sudo.c:
13657         parse_args() cleanup: Sort command line options in the getopt()
13658         switch The -U option requires a parameter Normalize a few ISSET
13659         calls Split mode into mode and flags and retire the now-obsolete
13660         excl variable
13661         [0d156835f861]
13662
13663         * WHATSNEW, check.c, sudo.c, sudo.cat, sudo.h, sudo.man.in, sudo.pod,
13664         sudo_usage.h.in:
13665         Add -n (non-interactive) flag.
13666         [e3e50400d32d]
13667
13668         * sudo.c:
13669         Move version printing, etc. into a separate function.
13670         [18c91b476e2c]
13671
13672         * sudo.c:
13673         Don't try to cleanup nsswitch if it has not been initialized.
13674         [aeb1ca1b399d]
13675
13676 2008-03-17  Todd C. Miller  <Todd.Miller@courtesan.com>
13677
13678         * logging.c:
13679         Block SIGPIPE in send_mail() so sudo is not killed by a problem
13680         executing the mailer.
13681         [f130e7924cca]
13682
13683 2008-03-14  Todd C. Miller  <Todd.Miller@courtesan.com>
13684
13685         * configure, configure.in:
13686         AIX shared libs end in .a, not .so.
13687         [a5deb07020d8]
13688
13689 2008-03-13  Todd C. Miller  <Todd.Miller@courtesan.com>
13690
13691         * env.c:
13692         Preserve HOME by default too. Matches documentation and previous
13693         behavior.
13694         [c16f17f1047c]
13695
13696 2008-03-12  Todd C. Miller  <Todd.Miller@courtesan.com>
13697
13698         * sudo.c:
13699         Use getopt() to parse the command line. We need to be able to
13700         intersperse env variables and options yet still honor "--"" which
13701         complicates things slightly.
13702         [60f271ce5c16]
13703
13704 2008-03-06  Todd C. Miller  <Todd.Miller@courtesan.com>
13705
13706         * ChangeLog:
13707         sync
13708         [685e67964eda]
13709
13710         * acsite.m4, configure, ltmain.sh:
13711         update to libtool-1.5.26
13712         [4c9a8c3d3b40]
13713
13714         * config.guess, config.sub:
13715         update from libtool-1.5.26 distribution
13716         [c6641aef2527]
13717
13718         * aix.c, sudo.h:
13719         attempt to fix compilation errors on AIX
13720         [edb13e5b2184]
13721
13722         * Makefile.in:
13723         fix typo in last commit
13724         [25ba7f7ceae4]
13725
13726         * Makefile.in:
13727         Add WHATSNEW file to the distribution
13728         [213f4115de8f]
13729
13730         * visudo.c:
13731         use warningx instead of fprintf(stderr, ...)
13732         [a3494b8ccb19]
13733
13734         * list.c:
13735         add DEBUG to list2tq
13736         [115d24a3000c]
13737
13738         * ChangeLog, TODO:
13739         sync
13740         [60e6f4d1fac0]
13741
13742         * WHATSNEW:
13743         mention mailfrom
13744         [e2498f9e18d6]
13745
13746         * Makefile.in, aix.c, config.h.in, configure, configure.in,
13747         set_perms.c, sudo.h:
13748         Add aix_setlimits() to set resource limits on AIX using a
13749         combination of getuserattr() and setrlimit(). Currently untested.
13750         [9b1441fd89ca]
13751
13752 2008-03-05  Todd C. Miller  <Todd.Miller@courtesan.com>
13753
13754         * def_data.c, def_data.h, def_data.in, logging.c, sudoers.cat,
13755         sudoers.man.in, sudoers.pod:
13756         Add mailfrom Defaults option that sets the value of the From: field
13757         in the warning/error mail. If unset the login name of the invoking
13758         user is used.
13759         [029b9f05d3d9]
13760
13761         * defaults.c:
13762         store a copy of _PATH_SUDO_ASKPASS in def_askpass that is freeable
13763         [a90e407d5e00]
13764
13765         * gram.c, gram.y:
13766         When adding a default, only call list2tq() once to do the list to tq
13767         conversion. It is not legal to call list2tq multiple times on the
13768         same list since list2tq consumes and modifies the list argument.
13769         [fbc25d245c4a]
13770
13771         * sudoers.ldap.cat, sudoers.ldap.man.in, sudoers.ldap.pod:
13772         comment out XXXs for now
13773         [595a1d43309d]
13774
13775         * WHATSNEW:
13776         mention askpass
13777         [b993e0837c22]
13778
13779 2008-03-04  Todd C. Miller  <Todd.Miller@courtesan.com>
13780
13781         * sudo.c:
13782         Error out if both -A and -S are specified Error out if -A is
13783         specified but no askpass is configured
13784         [24f1df2638f6]
13785
13786         * configure, configure.in:
13787         we are not going to ship a sudo-specific askpass
13788         [61949e7a3943]
13789
13790 2008-03-03  Todd C. Miller  <Todd.Miller@courtesan.com>
13791
13792         * sudo.h:
13793         fix definition of TGP_ASKPASS
13794         [0447c57ba4c3]
13795
13796         * def_data.c, def_data.in:
13797         make askpass boolean-capable
13798         [e0885893a325]
13799
13800         * INSTALL:
13801         document --with-askpass
13802         [c76e15ba97cf]
13803
13804         * sudo.cat, sudo.man.in, sudoers.cat, sudoers.ldap.cat,
13805         sudoers.man.in, visudo.cat:
13806         regen
13807         [8d16242980b7]
13808
13809 2008-03-02  Todd C. Miller  <Todd.Miller@courtesan.com>
13810
13811         * sudo.pod, sudo_usage.h.in, sudoers.pod:
13812         document -A and askpass
13813         [02c07505a78c]
13814
13815         * auth/sudo_auth.c, check.c, configure, configure.in, def_data.c,
13816         def_data.h, def_data.in, defaults.c, pathnames.h.in, sudo.c, sudo.h,
13817         sudo_usage.h.in, tgetpass.c:
13818         Add support for running a helper program to read the password when
13819         no tty is present (or when specified with the -A flag). TODO: docs.
13820         [05780f5f71fd]
13821
13822         * def_data.c, def_data.in:
13823         add missing printf format to SELinux role and type strings
13824         [2b32774715e7]
13825
13826 2008-02-27  Todd C. Miller  <Todd.Miller@courtesan.com>
13827
13828         * INSTALL, configure, configure.in:
13829         Disable use of gss_krb5_ccache_name() by default and add
13830         --enable-gss-krb5-ccache-name configure option to enable it. It
13831         seems that gss_krb5_ccache_name() doesn't work properly with some
13832         combinations of Heimdal and OpenLDAP.
13833         [f61ebd3b19bd]
13834
13835 2008-02-22  Todd C. Miller  <Todd.Miller@courtesan.com>
13836
13837         * selinux.c:
13838         Ignore setexeccon() failing in permissive mode. Also add a call to
13839         setkeycreatecon() (though this is probably insufficient). From Dan
13840         Walsh.
13841         [52564fc1c069]
13842
13843         * auth/pam.c:
13844         Only set std_prompt for the PAM_PROMPT_* cases. The conversation
13845         function may be called for non-password reading purposes so we must
13846         be careful not to use def_prompt in cases where it may not be set.
13847         [29d88ca575ba]
13848
13849 2008-02-20  Todd C. Miller  <Todd.Miller@courtesan.com>
13850
13851         * selinux.c:
13852         Don't free the new tty context, we need to keep it around when we
13853         restore the tty context after the command completes
13854         [5b4bd39b6ea8]
13855
13856 2008-02-19  Todd C. Miller  <Todd.Miller@courtesan.com>
13857
13858         * selinux.c:
13859         s/newrole/sudo/
13860         [21b8a96ff8df]
13861
13862         * sudo.man.pl, sudo.pod:
13863         Only put login_cap(3) in SEE ALSO section if we have login.conf
13864         support
13865         [05250ddff2c0]
13866
13867 2008-02-18  Todd C. Miller  <Todd.Miller@courtesan.com>
13868
13869         * sudo.cat, sudo.man.in, sudoers.cat, sudoers.ldap.cat,
13870         sudoers.ldap.man.in, sudoers.man.in, visudo.cat, visudo.man.in:
13871         regen
13872         [301e5c5ccdbe]
13873
13874         * sudoers.pod:
13875         Substitute in comment characters for lines partaining to login.conf,
13876         BSD auth and SELinux and only enable them if pertinent.
13877         [c1c98fa163ce]
13878
13879         * sudoers.man.pl:
13880         Substitute in comment characters for lines partaining to login.conf,
13881         BSD auth and SELinux and only enable them if pertinent.
13882         [6c88f30b878a]
13883
13884         * sudo.pod:
13885         Substitute in comment characters for lines partaining to login.conf,
13886         BSD auth and SELinux and only enable them if pertinent.
13887         [acdbdfd24e1d]
13888
13889         * sudo.man.pl:
13890         Substitute in comment characters for lines partaining to login.conf,
13891         BSD auth and SELinux and only enable them if pertinent.
13892         [0c56d4750ac3]
13893
13894         * Makefile.in, configure, configure.in:
13895         Substitute in comment characters for lines partaining to login.conf,
13896         BSD auth and SELinux and only enable them if pertinent.
13897         [9a02bd6a6658]
13898
13899         * Makefile.in, sudo.pod, sudoers.ldap.pod, sudoers.pod, visudo.pod:
13900         Remove the =cut on the first line (above the copyright notice) to
13901         quiet pod2man. Also remove the hackery in the FILES section and
13902         just deal with the fact that there will a newline between each
13903         pathname.
13904         [2ac1ab191835]
13905
13906 2008-02-17  Todd C. Miller  <Todd.Miller@courtesan.com>
13907
13908         * Makefile.in:
13909         run sudo.man.pl when generating sudo.man.in
13910         [859727369168]
13911
13912         * configure, configure.in, sudo.man.pl:
13913         comment out SELinux manual bits unless --with-selinux was specified
13914         [97ff4212b649]
13915
13916         * sudoers.pod:
13917         document role and type defaults for SELinux
13918         [870f303366b3]
13919
13920         * sudo.c, sudo.cat, sudo.man.in, sudo.pod, sudo_usage.h.in:
13921         Document "sudo -ll" and make "sudo -l -l" be equivalent.
13922         [3ce6dc429ea3]
13923
13924 2008-02-15  Todd C. Miller  <Todd.Miller@courtesan.com>
13925
13926         * configure, configure.in:
13927         Treat k*bsd*-gnu like Linux, not BSD. Fixes compilation problems on
13928         Debian GNU/kFreeBSD.
13929         [c4efa567a328]
13930
13931 2008-02-13  Todd C. Miller  <Todd.Miller@courtesan.com>
13932
13933         * auth/kerb5.c:
13934         Avoid Heimdal'isms introduced in the rev 1.32 rewrite of
13935         verify_krb_v5_tgt()
13936         [f80538e5a6fa]
13937
13938         * logging.c, logging.h, sudo.c:
13939         Remove dependence on VALIDATE_NOT_OK in logging functions. Split
13940         log_auth() into log_allowed() and log_denial() Replace mail_auth()
13941         with should_mail() and a call to send_mail()
13942         [58aac9997557]
13943
13944 2008-02-10  Todd C. Miller  <Todd.Miller@courtesan.com>
13945
13946         * ldap.c:
13947         Add debugging so we can tell if the krb5 ccache is accessible
13948         [c679322527bb]
13949
13950         * INSTALL:
13951         mention --with-selinux
13952         [9efbe0b52194]
13953
13954 2008-02-09  Todd C. Miller  <Todd.Miller@courtesan.com>
13955
13956         * configure:
13957         regen
13958         [467a834f867c]
13959
13960         * selinux.c:
13961         add Sudo tag
13962         [d004ee669bed]
13963
13964         * sudo.c, sudo.cat, sudo.h, sudo.man.in, sudo.pod, sudo_usage.h.in,
13965         sudoers.ldap.cat, sudoers.ldap.man.in, sudoers.ldap.pod,
13966         testsudoers.c, toke.c, toke.l:
13967         Add support for SELinux RBAC. Sudoers entries may specify a role
13968         and type. There are also role and type defaults that may be used.
13969         To make sure a transition occurs, when using RBAC commands are
13970         executed via the new sesh binary. Based on initial changes from Dan
13971         Walsh.
13972         [1d4abfe2c004]
13973
13974         * sesh.c:
13975         Add support for SELinux RBAC. Sudoers entries may specify a role
13976         and type. There are also role and type defaults that may be used.
13977         To make sure a transition occurs, when using RBAC commands are
13978         executed via the new sesh binary. Based on initial changes from Dan
13979         Walsh.
13980         [1e3b395ce049]
13981
13982         * Makefile.in, config.h.in, configure.in, def_data.c, def_data.h,
13983         def_data.in, gram.c, gram.h, gram.y, ldap.c, parse.c, parse.h,
13984         pathnames.h.in, selinux.c:
13985         Add support for SELinux RBAC. Sudoers entries may specify a role
13986         and type. There are also role and type defaults that may be used.
13987         To make sure a transition occurs, when using RBAC commands are
13988         executed via the new sesh binary. Based on initial changes from Dan
13989         Walsh.
13990         [6b421948286e]
13991
13992 2008-02-08  Todd C. Miller  <Todd.Miller@courtesan.com>
13993
13994         * lbuf.c, ldap.c, parse.c, sudo.c, sudo.h, sudo_nss.c:
13995         Add long list (sudo -ll) support for printing verbose LDAP and
13996         sudoers file entries. Still need to update manual.
13997         [2875be37935c]
13998
13999 2008-02-03  Todd C. Miller  <Todd.Miller@courtesan.com>
14000
14001         * ldap.c, parse.c, sudo.h, sudo_nss.c, sudo_nss.h:
14002         Unify the -l output for file and ldap based sudoers and use lbufs
14003         for both. The ldap output does not currently include options that
14004         cannot be represented as tags. This will be remedied in a long list
14005         output mode to come.
14006         [b2e429456596]
14007
14008 2008-01-27  Todd C. Miller  <Todd.Miller@courtesan.com>
14009
14010         * set_perms.c:
14011         Use a specific error message for errno == EAGAIN when setuid() et al
14012         fails. On Linux systems setuid() will fail with errno set to EAGAIN
14013         if changing to the new uid would result in a resource limit
14014         violation.
14015         [08d0aecd9f03]
14016
14017         * sudo.c:
14018         Unlimit nproc on Linux systems where calling the setuid() family of
14019         syscalls causes the nroc resource limit to be checked. The limits
14020         will be reset by pam_limits.so when PAM is used. In the non-PAM
14021         case the nproc limit will remain unlimited but there doesn't seem to
14022         be a way around that other than having sudo parse
14023         /etc/security/limits.conf directly.
14024         [df024b415a8d]
14025
14026         * env.c, sudo.c, sudo.pod:
14027         Only read /etc/environment on Linux and AIX
14028         [90669e2aefdb]
14029
14030 2008-01-23  Todd C. Miller  <Todd.Miller@courtesan.com>
14031
14032         * configure, configure.in:
14033         Use SUDO_DEFINE_UNQUOTED instead of AC_DEFINE_UNQUOTED to prevent
14034         ldap.conf and ldap.secret paths from going into config.h. Avoid
14035         single quotes in variable expansion when using SUDO_DEFINE_UNQUOTED
14036         since in some versions of bash they will end up literally in the
14037         resulting define.
14038         [25390f3ef10a]
14039
14040 2008-01-21  Todd C. Miller  <Todd.Miller@courtesan.com>
14041
14042         * README.LDAP:
14043         mention --with-nsswitch=no
14044         [c509df927263]
14045
14046         * configure, configure.in:
14047         ldap_ssl.h depends on ldap.h being included first
14048         [d96d90e9b21f]
14049
14050         * config.h.in, configure, configure.in, ldap.c:
14051         Include ldap_ssl.h if we can find it. Needed for the
14052         ldapssl_set_strength defines on HP-UX at least.
14053         [9e530470948a]
14054
14055         * sudoers.ldap.pod:
14056         sync
14057         [b9d101f4673a]
14058
14059         * TODO:
14060         sync
14061         [2ce951b2ecd0]
14062
14063         * sudo.cat, sudo.man.in, sudoers.cat, sudoers.ldap.cat,
14064         sudoers.ldap.man.in, sudoers.man.in, visudo.cat, visudo.man.in:
14065         regen
14066         [b61d793987e0]
14067
14068         * Makefile.in:
14069         Use 78n line length when formatting cat pages.
14070         [761bee9d5759]
14071
14072         * README.LDAP:
14073         Remove redundant info that is now in sudoers.ldap.pod
14074         [01828dcce59e]
14075
14076 2008-01-20  Todd C. Miller  <Todd.Miller@courtesan.com>
14077
14078         * sudoers.ldap.cat, sudoers.ldap.man.in, sudoers.ldap.pod:
14079         Reorganize the first section a bit. Substitute the proper path for
14080         /etc/sudoers.
14081         [11ae165e065d]
14082
14083         * sudoers.ldap.cat, sudoers.ldap.man.in, sudoers.ldap.pod:
14084         Substitute values for ldap.conf, ldap.secret and nsswitch.conf Move
14085         schema into EXAMPLES
14086         [ab6509d1dde7]
14087
14088         * configure, configure.in:
14089         Substitute values for ldap.conf, ldap.secret and nsswitch.conf into
14090         sudoers.ldap.man.
14091         [6e689972f465]
14092
14093         * configure, configure.in:
14094         substitute for sudoers.ldap.man
14095         [5a4a25766dee]
14096
14097         * Makefile.in:
14098         Fix cut & pasto introduced when adding sudoers.ldap man page.
14099         [a7b069af8894]
14100
14101         * sudoers.ldap.cat, sudoers.ldap.man.in, sudoers.ldap.pod:
14102         Fill in some of the missing pieces. Still needs some reorganization
14103         and editing.
14104         [5e7331722166]
14105
14106 2008-01-19  Todd C. Miller  <Todd.Miller@courtesan.com>
14107
14108         * Makefile.in, sudoers.ldap.cat, sudoers.ldap.man.in,
14109         sudoers.ldap.pod:
14110         Beginnings of a sudoers.ldap man page. Currently, much of the
14111         information is adapted from README.LDAP.
14112         [aad28c8a922d]
14113
14114 2008-01-18  Todd C. Miller  <Todd.Miller@courtesan.com>
14115
14116         * pwutil.c:
14117         When copying gr_mem we must guarantee that the storage space for
14118         gr_mem is properly aligned. The simplest way to do this is to
14119         simply store gr_mem directly after struct group. This is not a
14120         problem for gr_passwd or gr_name as they are simple strings.
14121         [af58fc76f1ed]
14122
14123         * ldap.c:
14124         Fix a typo/thinko in one of the calls to
14125         sudo_ldap_check_user_netgroup(). From Marco van Wieringen.
14126         [70b2eb8097f5]
14127
14128 2008-01-17  Todd C. Miller  <Todd.Miller@courtesan.com>
14129
14130         * config.h.in, configure, configure.in, ldap.c:
14131         include <mps/ldap_ssl.h> in ldap.c if available
14132         [34346206ef16]
14133
14134 2008-01-16  Todd C. Miller  <Todd.Miller@courtesan.com>
14135
14136         * gram.c, gram.y:
14137         Make sure we define SIZE_MAX for yacc's skeleton.c
14138         [d8a45c7a3c42]
14139
14140         * tgetpass.c:
14141         Use TCSAFLUSH when restoring terminal settings (and echo) to
14142         guarantee that any pending output is discarded
14143         [549a184479e5]
14144
14145 2008-01-15  Todd C. Miller  <Todd.Miller@courtesan.com>
14146
14147         * sudoers:
14148         no longer need to specify SETENV when user has sudo ALL
14149         [3051b41f8032]
14150
14151         * testsudoers.c:
14152         sync user_args size calculation with sudo.c Add -g group option,
14153         renaming old -g to -G Add set_runasgr() and set_runaspw() and use
14154         them
14155         [0850325180f0]
14156
14157         * sudo.c, sudo.h:
14158         Make set_runaspw static void
14159         [5d44d7a340ce]
14160
14161         * testsudoers.c, visudo.c:
14162         g/c set_runaspw stub
14163         [79ebb5e2cc38]
14164
14165         * configure, configure.in:
14166         Don't add -llber twice.
14167         [4356d302eef4]
14168
14169 2008-01-14  Todd C. Miller  <Todd.Miller@courtesan.com>
14170
14171         * ldap.c:
14172         fix typo
14173         [249cecc557e9]
14174
14175 2008-01-13  Todd C. Miller  <Todd.Miller@courtesan.com>
14176
14177         * gram.c:
14178         regen
14179         [2f94ea375b67]
14180
14181         * configure, configure.in:
14182         Fix check that determines whether -llber is required.
14183         [6afa99523379]
14184
14185         * README.LDAP, config.h.in, configure, configure.in, ldap.c:
14186         For netscape-based LDAP, use ldapssl_set_strength() to implement the
14187         checkpeer ldap.conf option.
14188         [16ae24d73795]
14189
14190         * auth/kerb5.c:
14191         Delay krb5_cc_initialize() until we actually need to use the cred
14192         cache, which is what krb5_verify_user() does. Better cleanup on
14193         failure.
14194         [d12e5f1695b8]
14195
14196 2008-01-12  Todd C. Miller  <Todd.Miller@courtesan.com>
14197
14198         * auth/kerb5.c:
14199         Rewrite verify_krb_v5_tgt() based on what heimdal's
14200         krb5_verify_user() does.
14201         [05b5815f86c9]
14202
14203 2008-01-09  Todd C. Miller  <Todd.Miller@courtesan.com>
14204
14205         * gram.c:
14206         The U suffix on constants is an ANSI feature
14207         [c6dfce3167f1]
14208
14209         * configure, configure.in:
14210         Add check for ber_set_option() in -llber
14211         [43d0c0566074]
14212
14213 2008-01-07  Todd C. Miller  <Todd.Miller@courtesan.com>
14214
14215         * README.LDAP:
14216         default if no nsswitch.conf is files only
14217         [c13001d9c998]
14218
14219 2008-01-06  Todd C. Miller  <Todd.Miller@courtesan.com>
14220
14221         * README.LDAP:
14222         don't tell people to mail aaron about LDAP stuff
14223         [8165ec1ef0c6]
14224
14225         * README.LDAP:
14226         timelimit and bind_timelimit
14227         [44f74cbed167]
14228
14229         * ChangeLog:
14230         sync
14231         [aba1a0ab02bd]
14232
14233         * ldap.c:
14234         Move ldap.secret reading into a separate function.
14235         [1948acc9f7a4]
14236
14237         * check.c:
14238         user_runas -> runas_pw
14239         [334490fc2bae]
14240
14241 2008-01-05  Todd C. Miller  <Todd.Miller@courtesan.com>
14242
14243         * TODO:
14244         sync
14245         [c7b165cc47c6]
14246
14247         * check.c, sudo.pod, sudoers.pod:
14248         Add and document the %p escape in the password prompt. Based on a
14249         patch from Patrick Schoenfeld.
14250         [3972d4f31ffa]
14251
14252         * ldap.c:
14253         Check strlcpy() return values.
14254         [9b42f3ae8ff1]
14255
14256         * ldap.c:
14257         refactor ldap binding code into sudo_ldap_bind_s()
14258         [cb0c66a4d955]
14259
14260         * README.LDAP:
14261         Make it clear that host and uri can take multiple parameters. URI is
14262         now supported for more than just openldap nsswitch.conf does't
14263         accept "compat"
14264         [f610dea656d6]
14265
14266         * sudo.c:
14267         comment cleanup and update (c) year
14268         [6cd69c810ca5]
14269
14270         * parse.c, sudo_nss.c:
14271         Move display_privs() and display_cmnd() from parse.c to sudo_nss.c.
14272         This should make it possible to build an LDAP-only sudo binary.
14273         [61c3f27066a0]
14274
14275         * ldap.c, parse.c, sudo.c, sudo.h, sudo_nss.h:
14276         Improve chaining of multiple sudoers sources by passing in the
14277         previous return value to the next in the chain
14278         [2c0b722b1b2d]
14279
14280         * gram.y:
14281         Free up parser data structures in sudo_file_close().
14282         [2251531d4519]
14283
14284         * gram.c, parse.c:
14285         Free up parser data structures in sudo_file_close().
14286         [8371f130f401]
14287
14288         * ldap.c:
14289         Parse uri ourself if no ldap_initialize() is present Use
14290         ldap_create() instead of deprecated ldap_init() Use
14291         ldap_sasl_bind_s() instead of deprecated ldap_simple_bind_s()
14292         [85d3825b1953]
14293
14294         * config.h.in, configure, configure.in:
14295         Add check for ldap_sasl_bind_s() Remove -DLDAP_DEPRECATED from
14296         CFLAGS
14297         [240524512bc5]
14298
14299 2008-01-04  Todd C. Miller  <Todd.Miller@courtesan.com>
14300
14301         * config.h.in, configure, configure.in:
14302         add check for ldap_create
14303         [3089badd73b8]
14304
14305 2008-01-03  Todd C. Miller  <Todd.Miller@courtesan.com>
14306
14307         * config.h.in, configure, configure.in, ldap.c:
14308         Add sudo_ldap_get_first_rdn() to return the first rdn of an entry's
14309         dn using the mechanism appropriate for the LDAP SDK in use. Use
14310         ldap_unbind_ext_s() instead of deprecated ldap_unbind_s(). Emulate
14311         ldap_unbind_ext_s() and ldap_search_ext_s() for SDK's without them.
14312         [6deeca3d00cc]
14313
14314         * lbuf.c:
14315         include unistd.h
14316         [8419ed0bae7f]
14317
14318         * config.h.in, configure.in:
14319         fix typo in mtim_getnsec
14320         [2d5f21230a60]
14321
14322 2008-01-02  Todd C. Miller  <Todd.Miller@courtesan.com>
14323
14324         * config.h.in, configure, configure.in:
14325         add check for st__tim in struct stat as used by SCO
14326         [587060ea2a89]
14327
14328         * ldap.c:
14329         use ldap_search_ext_s instead of deprecated ldap_search_s
14330         [5fc44fe3b44c]
14331
14332         * Makefile.in, TODO, sudo.cat, sudo.man.in:
14333         add sudo_nss.h to HDRS
14334         [86f01a70ff29]
14335
14336         * ldap.c:
14337         Replace deprecated ldap_explode_dn() with calls to ldap_str2dn() and
14338         ldap_rdn2str().
14339         [aa217002cfae]
14340
14341 2008-01-01  Todd C. Miller  <Todd.Miller@courtesan.com>
14342
14343         * ldap.c:
14344         Use ldap_get_values_len()/ldap_value_free_len() instead of the
14345         deprecated ldap_get_values()/ldap_value_free().
14346         [e22dceb85e57]
14347
14348         * ChangeLog:
14349         sync
14350         [adad27b36107]
14351
14352         * TODO:
14353         sync
14354         [c449eb47e0ef]
14355
14356         * gettime.c, sudo.c:
14357         Remove some already fixed XXXs
14358         [532788d0e6da]
14359
14360         * ldap.c:
14361         Same return value as non-existent sudoers if LDAP was unable to
14362         connect.
14363         [5819810e8e4e]
14364
14365         * sudo.pod:
14366         mention /etc/environment
14367         [ea8e6102f853]
14368
14369         * README.LDAP, UPGRADE, WHATSNEW:
14370         Update to reflect recent developments.
14371         [ed1fb026fe77]
14372
14373         * sudo.c:
14374         Print nsswitch.conf, ldap.conf and ldap.secret paths in -V output.
14375         [55b68a58260d]
14376
14377         * ldap.c:
14378         When building up a query don't list groups in the aux group vector
14379         that are the same as the passwd file group. On most systems the
14380         first gid in the group vector is the same as the passwd entry gid.
14381         [4bb51e297e0d]
14382
14383         * env.c, ldap.c:
14384         Define LDAPNOINIT before calling ldap_init(), etc. to disable user
14385         ldaprc and system defaults that could affect how LDAP works.
14386         [ce5036440db2]
14387
14388         * INSTALL, configure, configure.in, pathnames.h.in, sudo.c,
14389         sudo_nss.c, sudo_nss.h:
14390         Rename read_nss -> sudo_read_nss Add --with-nsswitch to allow users
14391         to specify nsswitch.conf path or disable it. If --with-nsswitch=no
14392         but --with-ldap, order is LDAP, then sudoers. Fix --with-ldap-conf-
14393         file and --with-ldap-secret-file
14394         [ea5d7704381f]
14395
14396         * parse.c:
14397         Honor def_ignore_local_sudoers
14398         [f38e1121fae1]
14399
14400 2007-12-31  Todd C. Miller  <Todd.Miller@courtesan.com>
14401
14402         * ldap.c:
14403         no longer need to check def_ignore_local_sudoers here
14404         [fce2a72f96fb]
14405
14406         * parse.c:
14407         Refactor group vector resetting into a function and also call it
14408         from display_cmnd. Stop after the first sucessful match in
14409         display_cmnd. Print a newline between each display_privs method.
14410         [981b37b5adff]
14411
14412         * parse.c:
14413         fix double free introduced in rev 1.218
14414         [c574b02d8747]
14415
14416         * ldap.c:
14417         belt and suspenders; zero out result after freeing it
14418         [7732988d4620]
14419
14420         * env.c, fileops.c, ldap.c, sudo.h, sudo_nss.c:
14421         Refactor line reading into a separate function, sudo_parseln(),
14422         which removes comments, leading/trailing whitespace and newlines.
14423         May want to rethink the use of sudo_parseln() for /etc/ldap.secret
14424         [61d9068f0645]
14425
14426         * parse.c, sudo.c:
14427         Make the inability to read the sudoers file a non-fatal error if
14428         there are other sudoers sources available. sudoers_file_lookup now
14429         returns "not OK" if sudoers was not present
14430         [643babf597a8]
14431
14432         * ldap.c:
14433         make it clear that the global options are from LDAP
14434         [9ff950349463]
14435
14436         * logging.c:
14437         allocate proper amount of space for error string
14438         [8bebb7d46d19]
14439
14440         * sudo_nss.c, sudo_nss.h:
14441         actual sudo nss code
14442         [5bd7d52d7738]
14443
14444         * ldap.c, parse.c, sudo.c, sudo.h:
14445         nss-ify display_privs and display_cmnd.
14446         [cccfdd3253f2]
14447
14448         * defaults.c, parse.c, testsudoers.c, visudo.c:
14449         move update_defaults() to parse.c
14450         [ace144b958a9]
14451
14452         * Makefile.in, ldap.c, list.c, parse.c, parse.h, sudo.c, sudo.h:
14453         Use nsswitch to hide some sudoers vs. ldap implementation details
14454         and reduce the number of #ifdef LDAP TODO: fix display routines and
14455         error handling
14456         [6225edde89a6]
14457
14458 2007-12-28  Todd C. Miller  <Todd.Miller@courtesan.com>
14459
14460         * Makefile.in, README.LDAP, ldap.c, pathnames.h.in, sudo.c, sudo.h:
14461         First cut at nsswitch.conf support. Further reorganizaton and
14462         related changes are forthcoming.
14463         [717f59d0790b]
14464
14465 2007-12-21  Todd C. Miller  <Todd.Miller@courtesan.com>
14466
14467         * env.c, pathnames.h.in, sudo.c, sudo.h:
14468         Add support for reading and /etc/environment file. Still needs to
14469         be documented and should probably only applies to OSes that have it
14470         (AIX and Linux, maybe others).
14471         [15d3edae27e4]
14472
14473         * ldap.c:
14474         include limits.h
14475         [e19875ef0f82]
14476
14477 2007-12-20  Todd C. Miller  <Todd.Miller@courtesan.com>
14478
14479         * WHATSNEW:
14480         reword LDAP SASL
14481         [7ec3c4ec31b5]
14482
14483 2007-12-19  Todd C. Miller  <Todd.Miller@courtesan.com>
14484
14485         * TODO:
14486         sync
14487         [87c5a7aea7bf]
14488
14489         * README.LDAP:
14490         Add an example sudoRole, clarify netscape vs. openldap a bit more
14491         [6f96c0ca8107]
14492
14493         * README.LDAP:
14494         Be clear on what is OpenLDAP vs. Netscape-derived
14495         [a33c8314dec5]
14496
14497         * config.h.in, configure, configure.in, ldap.c:
14498         Use ldapssl_init() for ldaps support instead of trying to do it
14499         manually with ldap_init() + ldapssl_install_routines(). Use tls_cert
14500         and tls_key for cert7.db and key3.db respectively. Don't print
14501         debugging info for options that are not set. Add warning if
14502         start_tls specified when not supported.
14503         [abb62dc7e4a3]
14504
14505         * ldap.c:
14506         fix compilation on solaris
14507         [03d449684e80]
14508
14509         * Makefile.in:
14510         add missing .h and .c files for missing lib objs
14511         [8b37825bdfc7]
14512
14513 2007-12-18  Todd C. Miller  <Todd.Miller@courtesan.com>
14514
14515         * ldap.c:
14516         fix LDAP_OPT_NETWORK_TIMEOUT setting
14517         [226eba89c0ad]
14518
14519         * ldap.c:
14520         fix compilation on Solaris
14521         [917d47639eb6]
14522
14523 2007-12-17  Todd C. Miller  <Todd.Miller@courtesan.com>
14524
14525         * configure, configure.in:
14526         fix typo
14527         [009d5c81b225]
14528
14529         * README.LDAP:
14530         try to clear up which variables are for OpenLDAP and which are for
14531         netscape-derived SDKs
14532         [f8d9823ee73c]
14533
14534         * config.h.in, configure, configure.in, ldap.c:
14535         Add support for "ssl on" in both netscape and openldap flavors. Only
14536         the OpenLDAP flavor has been tested.
14537         [952745829ec5]
14538
14539         * logging.c, sudo.c, sudo.h:
14540         Call cleanup() before exit in log_error() instead of calling
14541         sudo_ldap_close() directly. ldap_conn can now be static to sudo.c
14542         [da02d1b67a2c]
14543
14544         * sudo.c:
14545         ld -> ldap_conn
14546         [01afa6d927cc]
14547
14548 2007-12-16  Todd C. Miller  <Todd.Miller@courtesan.com>
14549
14550         * logging.c, sudo.c, sudo.h:
14551         Better ldap cleanup.
14552         [25b9abe2d617]
14553
14554         * ldap.c:
14555         Distinguish between LDAP conf settings that are connection-specific
14556         (which take an ld pointer) and those that are default settings
14557         (which do not).
14558         [d48dc6c9c3b4]
14559
14560 2007-12-14  Todd C. Miller  <Todd.Miller@courtesan.com>
14561
14562         * ldap.c:
14563         Improved warnings on error.
14564         [c8dce7b4feb4]
14565
14566         * ldap.c:
14567         Make ldap config table driven and set the config *after* we open the
14568         connection.
14569         [d9698b5a2681]
14570
14571 2007-12-13  Todd C. Miller  <Todd.Miller@courtesan.com>
14572
14573         * ldap.c:
14574         fix LDAP_OPT_X_CONNECT_TIMEOUT compat define
14575         [598c6df06660]
14576
14577         * configure, configure.in:
14578         some operating systems need to link with -lkrb5support when using
14579         krb5
14580         [8896365dde9e]
14581
14582 2007-12-10  Todd C. Miller  <Todd.Miller@courtesan.com>
14583
14584         * WHATSNEW:
14585         minor update
14586         [acfeeb7f4886]
14587
14588         * sudo.cat, sudo.man.in, sudoers.cat, sudoers.man.in:
14589         regen
14590         [a3c6699674f9]
14591
14592 2007-12-08  Todd C. Miller  <Todd.Miller@courtesan.com>
14593
14594         * ChangeLog, TODO:
14595         sync
14596         [138e99b925ee]
14597
14598         * ldap.c, schema.OpenLDAP, schema.iPlanet, sudoers2ldif:
14599         add -g support for LDAP
14600         [8fc27dbe9287]
14601
14602 2007-12-03  Todd C. Miller  <Todd.Miller@courtesan.com>
14603
14604         * WHATSNEW, sudo.c, sudo.pod, sudo_usage.h.in:
14605         The -i and -s flags can now take an optional command.
14606         [6afec104ee77]
14607
14608 2007-12-02  Todd C. Miller  <Todd.Miller@courtesan.com>
14609
14610         * auth/pam.c, def_data.c, def_data.h, def_data.in, sudo.c, sudo.pod,
14611         sudoers.pod:
14612         Add passprompt_override flag to sudoers that will cause the prompt
14613         to be overridden in all cases. This flag is also set when the user
14614         specifies the -p flag.
14615         [e4c5402131a6]
14616
14617         * sudo.c:
14618         Move setting of login class until after sudoers has been parsed. Set
14619         NewArgv[0] for -i after runas_pw has been set.
14620         [62a48c8c56fa]
14621
14622         * configure, configure.in:
14623         Move the dgettext check.
14624         [5fd8a4712d1c]
14625
14626 2007-12-01  Todd C. Miller  <Todd.Miller@courtesan.com>
14627
14628         * auth/pam.c, config.h.in, configure, configure.in:
14629         Add basic support for looking up the string "Password: " in the PAM
14630         localized text db. This allows us to determine whether the PAM
14631         prompt is the default "Password: " one even if it has been
14632         localized.
14633
14634         TODO: concatenate non-std PAM prompts and user-specified sudo
14635         prompts.
14636         [81c25a415d41]
14637
14638 2007-11-27  Todd C. Miller  <Todd.Miller@courtesan.com>
14639
14640         * Makefile.in, config.h.in, configure, configure.in, parse.c,
14641         set_perms.c, sudo.c, sudo.h:
14642         Use AC_FUNC_GETGROUPS instead of a home-grown attempt that was
14643         insufficient.
14644         [1cce6ec1a91e]
14645
14646         * acsite.m4, configure, interfaces.c, memrchr.c:
14647         Fix typos; Martynas Venckus
14648         [be1233cca11a]
14649
14650 2007-11-26  Todd C. Miller  <Todd.Miller@courtesan.com>
14651
14652         * set_perms.c:
14653         Don't assume runas_pw is set; it may not be in the -g case.
14654         [aa11bd2193ac]
14655
14656 2007-11-25  Todd C. Miller  <Todd.Miller@courtesan.com>
14657
14658         * logging.c, set_perms.c:
14659         Set aux group vector for PERM_RUNAS and restore group vector for
14660         PERM_ROOT if we previously changed it. Stash the runas group vector
14661         so we don't have to call initgroups more than once. Also add no-op
14662         check to check_perms.
14663         [53837fc755f7]
14664
14665 2007-11-21  Todd C. Miller  <Todd.Miller@courtesan.com>
14666
14667         * WHATSNEW, check.c, def_data.in, defaults.c, gram.c, gram.h, gram.y,
14668         ldap.c, logging.c, match.c, mon_systrace.c, parse.c, parse.h,
14669         pwutil.c, set_perms.c, sudo.c, sudo.cat, sudo.h, sudo.man.in,
14670         sudo.pod, sudo_usage.h.in, sudoers.cat, sudoers.man.in, sudoers.pod,
14671         testsudoers.c, visudo.c, visudo.cat, visudo.man.in:
14672         Add support for runas groups. This allows the user to run a command
14673         with a different effective group. If the -g option is specified
14674         without -u the command will be run as the current user (only the
14675         group will change). the -g and -u options may be used together.
14676         TODO: implement runas group for ldap improve runas group
14677         documentation add testsudoers support
14678         [9019309df6d0]
14679
14680         * configure, configure.in:
14681         fix setting of mandir
14682         [2c60f269399f]
14683
14684         * sudo.pod, sudoers.pod:
14685         document that ALL implies SETENV
14686         [bcc8e5b703b9]
14687
14688         * ldap.c:
14689         s/setenv_ok/setenv_implied/g
14690         [f005df2c2eea]
14691
14692         * ldap.c:
14693         hostname_matches() returns TRUE on match in sudo 1.7.
14694         [c3d4377b6e8b]
14695
14696         * ldap.c:
14697         use strcmp, not strcasecmp when comparing ALL
14698         [e486024574a1]
14699
14700         * ldap.c:
14701         Make sudo ALL imply setenv. Note that unlike with file-based
14702         sudoers this does affect all the commands in the sudoRole.
14703         [bc12f54321d1]
14704
14705         * gram.c, gram.y, parse.c, parse.h:
14706         sudo "ALL" now implies the SETENV tag but, unlike an explicit tag,
14707         it is not passed on to other commands in the list.
14708         [026e2cb40680]
14709
14710         * visudo.c:
14711         Add missing sudo_setpwent() and sudo_setgrent() calls. Also use
14712         sudo_getpwuid() instead of getpwuid().
14713         [86f30a8fbd49]
14714
14715 2007-11-15  Todd C. Miller  <Todd.Miller@courtesan.com>
14716
14717         * sudoers:
14718         Expand on the dangers of not using visudo to edit sudoers.
14719         [e434e8057d02]
14720
14721 2007-11-08  Todd C. Miller  <Todd.Miller@courtesan.com>
14722
14723         * parse.c:
14724         Don't quote *?[]! on output since the lexer does not strip off the
14725         backslash when reading those in.
14726         [561da4a13afa]
14727
14728 2007-11-07  Todd C. Miller  <Todd.Miller@courtesan.com>
14729
14730         * glob.c:
14731         expand "u_foo" types to "unsigned foo" to avoid compatibility
14732         issues.
14733         [b0d7c64d78c3]
14734
14735 2007-11-04  Todd C. Miller  <Todd.Miller@courtesan.com>
14736
14737         * logging.c:
14738         Refactor log line generation in to new_logline().
14739         [6a9b9730615d]
14740
14741 2007-10-25  Todd C. Miller  <Todd.Miller@courtesan.com>
14742
14743         * TROUBLESHOOTING:
14744         fix typo
14745         [9e19d4f86e47]
14746
14747 2007-10-24  Todd C. Miller  <Todd.Miller@courtesan.com>
14748
14749         * config.h.in, configure, configure.in, interfaces.c, interfaces.h,
14750         match.c:
14751         Add configure check for struct in6_addr instead of relying on
14752         AF_INET6 since some systems define AF_INET6 but do not include IPv6
14753         support.
14754         [e24082c416bd]
14755
14756 2007-10-21  Todd C. Miller  <Todd.Miller@courtesan.com>
14757
14758         * configure, configure.in:
14759         Fix block to add -lutil for FreeBSD and NetBSD when logincap is in
14760         use.
14761         [76a9df4a63be]
14762
14763 2007-10-20  Todd C. Miller  <Todd.Miller@courtesan.com>
14764
14765         * configure, configure.in:
14766         POSIX states that struct timespec be declared in time.h so check
14767         there regardless of the value of TIME_WITH_SYS_TIME.
14768         [e42c55ec9daf]
14769
14770 2007-10-17  Todd C. Miller  <Todd.Miller@courtesan.com>
14771
14772         * tgetpass.c:
14773         Instead of defining a macro to call the appropriate method for
14774         turning on/off echo, just define tc[gs]etattr() and the related
14775         defines that use the correct terminal ioctls if needed. Also go back
14776         to using TCSAFLUSH instead of TCSADRAIN on all but QNX.
14777         [5dfb2379d995]
14778
14779 2007-10-09  Todd C. Miller  <Todd.Miller@courtesan.com>
14780
14781         * Makefile.in:
14782         g/c @ALLOCA@
14783         [e6946c2e3820]
14784
14785         * configure:
14786         regen
14787         [9bac7159a138]
14788
14789         * INSTALL, auth/pam.c, config.h.in, configure.in:
14790         Add --disable-pam-session configure option to disable calling
14791         pam_{open,close}_session. May work around bugs in some PAM
14792         implementations.
14793         [273d0fdb4a9d]
14794
14795 2007-10-08  Todd C. Miller  <Todd.Miller@courtesan.com>
14796
14797         * tgetpass.c:
14798         quiet gcc warnings
14799         [325565c5a579]
14800
14801         * tgetpass.c:
14802         Avoid printing the prompt if we are already backgrounded. E.g. if
14803         the user runs "sudo foo &" from the shell. In this case, the call
14804         to tcsetattr() will cause SIGTTOU to be delivered.
14805         [db2139a8d8b8]
14806
14807 2007-09-15  Todd C. Miller  <Todd.Miller@courtesan.com>
14808
14809         * def_data.c, def_data.h, def_data.in:
14810         Reorder things such that the definition of env_reset come right
14811         before the env variable lists.
14812         [e0d8e22a581a]
14813
14814         * parse.h:
14815         Shrink type and seqno in struct alias from int to u_short
14816         [9425263dd565]
14817
14818         * alias.c, match.c, parse.c, parse.h:
14819         Add a sequence number in the aliases for loop detection. If we find
14820         an alias with the seqno already set to the current (global) value we
14821         know we've visited it before so ignore it.
14822         [301a0548ffff]
14823
14824 2007-09-13  Todd C. Miller  <Todd.Miller@courtesan.com>
14825
14826         * TODO, auth/pam.c, sudo.c, sudo.h:
14827         PAM wants the full tty path so add user_ttypath which holds the full
14828         path to the tty or is NULL if no tty was present.
14829         [c7c1dd4b36c8]
14830
14831         * auth/pam.c:
14832         Set PAM_RHOST to work around a bug in Solaris 7 and lower that
14833         results in a segv.
14834         [3a8865b3a357]
14835
14836 2007-09-11  Todd C. Miller  <Todd.Miller@courtesan.com>
14837
14838         * gram.c:
14839         regen
14840         [5647be127950]
14841
14842         * alias.c, defaults.c, gram.y, list.c, list.h, match.c, parse.c,
14843         parse.h, testsudoers.c, visudo.c:
14844         rename lh_ -> tq_
14845         [8f500c542c4a]
14846
14847 2007-09-10  Todd C. Miller  <Todd.Miller@courtesan.com>
14848
14849         * alloc.c:
14850         remove some useless casts
14851         [409a448b23f5]
14852
14853         * alloc.c:
14854         pull in inttypes.h for SIZE_MAX; we avoid stdint.h since inttypes.h
14855         predates the final C99 spec and the standard specifies that it shall
14856         include stdint.h anyway
14857         [ae478fdef61a]
14858
14859 2007-09-06  Todd C. Miller  <Todd.Miller@courtesan.com>
14860
14861         * Makefile.in, alloca.c, configure.in:
14862         Since we ship with a pre-generated parser there is no need to ship a
14863         bogus alloca implementation.
14864         [3f611a7cc0e5]
14865
14866         * configure:
14867         regen
14868         [771eccf5269c]
14869
14870         * configure.in:
14871         remove initial setting of CHECKSIA, we require that it be unset if
14872         not used
14873         [a2e91adc5aa2]
14874
14875         * Makefile.in:
14876         add list.c to SRCS
14877         [7db0e56cf5b9]
14878
14879         * configure:
14880         regen
14881         [3716ec30172e]
14882
14883         * configure.in:
14884         only do SIA checks on Digital Unix
14885         [6a96e1af2597]
14886
14887 2007-09-05  Todd C. Miller  <Todd.Miller@courtesan.com>
14888
14889         * sudoers.cat, sudoers.man.in:
14890         regen
14891         [ac1dc29de72b]
14892
14893         * ChangeLog, TODO:
14894         sync
14895         [781effce0a2d]
14896
14897         * auth/kerb5.c:
14898         Remove call to krb5_cc_register() as it is not needed for modern
14899         kerb5.
14900         [351b8b764f16]
14901
14902         * configure:
14903         regen
14904         [ac21dbcc9c2c]
14905
14906         * aclocal.m4, configure.in:
14907         New method for setting the default authentication type and avoiding
14908         conflicts in auth types.
14909         [5fb15be11f78]
14910
14911         * match.c, parse.c, testsudoers.c:
14912         Each entry in a cmndlist now has an associated runaslist so no need
14913         to keep track of the most recent non-NULL one.
14914         [582e015786b0]
14915
14916 2007-09-04  Todd C. Miller  <Todd.Miller@courtesan.com>
14917
14918         * ldap.c:
14919         back out partial ldaps support mistakenly committed
14920         [357703e94b2d]
14921
14922         * ldap.c:
14923         Add support for unix groups and netgroups in sudoRunas
14924         [2f04eb91c6d0]
14925
14926 2007-09-03  Todd C. Miller  <Todd.Miller@courtesan.com>
14927
14928         * sudo_edit.c:
14929         Fix sudoedit of a non-existent file. From Tilo Stritzky.
14930         [a5488a03bddd]
14931
14932 2007-09-02  Todd C. Miller  <Todd.Miller@courtesan.com>
14933
14934         * configure:
14935         regen
14936         [541177376ee1]
14937
14938         * INSTALL:
14939         update --passprompt escape info
14940         [6d57db4cd538]
14941
14942         * configure.in:
14943         remove now-bogus comment and update copyright date
14944         [6a4af45fa331]
14945
14946         * configure.in:
14947         Fix up use of with_passwd
14948         [7c79d8640f77]
14949
14950         * acsite.m4, config.guess, config.sub, configure.in, ltmain.sh:
14951         Update to autoconf-2.61 andf libtool-1.5.24
14952         [045259b0b439]
14953
14954         * Makefile.in:
14955         "cmp -s" not just cmp Add @datarootdir@ to quiet autoconf-2.61
14956         [f5b6a7afb817]
14957
14958 2007-09-01  Todd C. Miller  <Todd.Miller@courtesan.com>
14959
14960         * gram.c:
14961         regen
14962         [b5b78e71d2cb]
14963
14964         * gram.y:
14965         move tags and runaslist propagation to be earlier
14966         [94f7805f4489]
14967
14968         * visudo.c:
14969         If -f flag given use the permissions of the original file as a
14970         template
14971         [9303d22bddb0]
14972
14973         * gram.y:
14974         prevent a double free() when re-initing the parser
14975         [5b3907c4de5a]
14976
14977 2007-08-31  Todd C. Miller  <Todd.Miller@courtesan.com>
14978
14979         * configure:
14980         regen
14981         [49a90b19a17d]
14982
14983         * aclocal.m4, alias.c, alloc.c, auth/API, auth/afs.c, auth/bsdauth.c,
14984         auth/kerb4.c, auth/kerb5.c, auth/pam.c, auth/securid.c,
14985         auth/securid5.c, auth/sia.c, auth/sudo_auth.h, config.h.in,
14986         configure.in, env.c, ldap.c, list.c, list.h, memrchr.c, parse.c,
14987         parse.h, pwutil.c, redblack.c, redblack.h, snprintf.c, sudo.c,
14988         sudo.h, testsudoers.c, visudo.c, zero_bytes.c:
14989         Remove support for compilers that don't support void *
14990         [35e1d01ae197]
14991
14992         * gram.c:
14993         regen
14994         [70ce412a458a]
14995
14996         * Makefile.in, alias.c, defaults.c, gram.y, list.c, list.h, match.c,
14997         parse.c, parse.h, testsudoers.c, visudo.c:
14998         Move list manipulation macros to list.h and create C versions of the
14999         more complex ones in list.c. The names have been down-cased so they
15000         appear more like normal functions.
15001         [9cea0e281148]
15002
15003         * Makefile.in:
15004         Fix cmp command when regenerating parser. Make gram.o the first
15005         dependency for all programs so gram.h will be generated before
15006         anything that needs it.
15007         [429ea065abf1]
15008
15009         * gram.y, parse.h:
15010         Convert NEW_DEFAULT anf NEW_MEMBER into static functions.
15011         [2f3433833589]
15012
15013         * match.c, parse.c, testsudoers.c:
15014         Use LH_FOREACH_REV when checking permission and short-circuit on the
15015         first non-UNSPEC hit we get for the command. This means that
15016         instead of cycling through the all the parsed sudoers entries we
15017         start at the end and work backwards and quit after the first
15018         positive or negative match.
15019         [881474532f3e]
15020
15021         * gram.c:
15022         regen
15023         [9152a19d4188]
15024
15025         * defaults.c, gram.y, parse.c, parse.h, testsudoers.c, visudo.c:
15026         Change list head macros to take a pointer, not a struct.
15027         [054f1dcce4cc]
15028
15029         * gram.c:
15030         regen
15031         [be154aae6235]
15032
15033         * gram.y:
15034         Propagate the runasspec from one command to the next in a cmndspec.
15035         [4957b1cb03a3]
15036
15037 2007-08-30  Todd C. Miller  <Todd.Miller@courtesan.com>
15038
15039         * match.c:
15040         Replace has_meta() with a macro that calls strpbrk().
15041         [a2e58846a542]
15042
15043         * regen
15044         [5a932a5c9451]
15045
15046         * alias.c, defaults.c, gram.y, match.c, parse.c, parse.h,
15047         testsudoers.c, visudo.c:
15048         Use a list head struct when storing the semi-circular lists and
15049         convert to tail queues in the process. This will allow us to
15050         reverse foreach loops more easily and it makes it clearer which
15051         functions expect a list as opposed to a single member.
15052
15053         Add macros for manipulating lists. Some of these should become
15054         functions.
15055
15056         When freeing up a list, just pop off the last item in the queue
15057         instead of going from head to tail. This is simpler since we don't
15058         have to stash a pointer to the next member, we always just use the
15059         last one in the queue until the queue is empty.
15060
15061         Rename match functions that take a list to have list in the name.
15062         Break cmnd_matches() into cmnd_matches() and cmndlist_matches.
15063         [7c37b271607a]
15064
15065         * parse.c:
15066         Fix pasto, append "!" not negated (which is an int) for sudo -l
15067         output.
15068         [93a444c3997f]
15069
15070         * Makefile.in:
15071         Remove the dependency of gram .h on gram.y, the .c dependency is
15072         enough. Only move y.tab.h to gram.h if it is different; avoids
15073         needless rebuilding.
15074         [67bf4ea2a2e5]
15075
15076 2007-08-27  Todd C. Miller  <Todd.Miller@courtesan.com>
15077
15078         * sudoers.pod:
15079         Defaults lines may be associated with lists of users, hosts,
15080         commands and runas users, not just single entries.
15081         [795effacb6be]
15082
15083 2007-08-26  Todd C. Miller  <Todd.Miller@courtesan.com>
15084
15085         * Makefile.in:
15086         Revert the "cmp" portion of the last diff, it doesn't make sense.
15087         [26f34bf4e2e3]
15088
15089         * Makefile.in:
15090         Remove *.lo for clean: When generating the parser, only move the
15091         generated files into place if they differ from the existing ones.
15092         [84673fea371b]
15093
15094 2007-08-25  Todd C. Miller  <Todd.Miller@courtesan.com>
15095
15096         * toke.c, toke.l:
15097         Replace IPV6 regexp with a much simpler (readable) one and add an
15098         extra check when it matches to make sure we have a valid address.
15099         [592e9f690556]
15100
15101         * match.c:
15102         Fix thinko introduced when merging IPV6 support.
15103         [da38cd5eb8c7]
15104
15105 2007-08-24  Todd C. Miller  <Todd.Miller@courtesan.com>
15106
15107         * HISTORY, LICENSE:
15108         regen
15109         [0d7b27b90634]
15110
15111         * license.pod:
15112         add 2007
15113         [510e5048ae1a]
15114
15115         * UPGRADE:
15116         mention #uid vs. comment pitfall
15117         [4d2861898bcc]
15118
15119         * acsite.m4:
15120         Merge in a patch from the libtool cvs that fixes a problem with the
15121         latest autoconf. From Stepan Kasal.
15122         [0c279ae7df3e]
15123
15124         * parse.h:
15125         Back out he XOR swap trick, it is slower than a temp variable on
15126         modern CPUs.
15127         [91c4b024e317]
15128
15129         * gram.c:
15130         regen
15131         [cb6d4106fb74]
15132
15133         * gram.y, parse.h:
15134         Convert the tail queue to a semi-circle queue and use the XOR swap
15135         trick to swap the prev pointers during append.
15136         [8bf4d9fbee58]
15137
15138 2007-08-23  Todd C. Miller  <Todd.Miller@courtesan.com>
15139
15140         * parse.h:
15141         remove useless statement
15142         [421ec1dd73e6]
15143
15144         * toke.c, toke.l:
15145         Refactor #include parsing into a separate function and return
15146         unparsed chars (such as newline or comment) back to the lexer.
15147         [64166917aa3d]
15148
15149 2007-08-22  Todd C. Miller  <Todd.Miller@courtesan.com>
15150
15151         * WHATSNEW:
15152         mention better uid support
15153         [56f510e7f2ec]
15154
15155         * sudoers.pod:
15156         Users may now consist of a uid.
15157         [5fd31b2c55ed]
15158
15159         * gram.c, gram.h, toke.c:
15160         regen
15161         [599e58af6dc1]
15162
15163         * parse.c:
15164         Use lbuf_append_quoted() for sudo -l output to quote characters that
15165         would require quoting in sudoers.
15166         [3132d05c990a]
15167
15168         * lbuf.c, lbuf.h:
15169         Add lbuf_append_quoted() which takes a set of characters which
15170         should be quoted with a backslash when displayed.
15171         [ab09bebb1d65]
15172
15173         * toke.l:
15174         Require that the first character after a comment not be a digit or a
15175         dash. This allows us to remove the GOTRUNAS state and treat
15176         uid/gids similar to other words. It also means that we can now
15177         specify uids in User_Lists and a User_Spec may now contain a uid.
15178         [461fe01f8392]
15179
15180         * gram.y, toke.l:
15181         Replace RUNAS token with '(' and ')' tokens to make the runas
15182         portion of the grammar more natural.
15183         [e0c383b4684d]
15184
15185         * BUGS:
15186         The BUGS file is history
15187         [4d9a809585c7]
15188
15189         * Makefile.in, README:
15190         The BUGS file is history
15191         [d9500e261172]
15192
15193 2007-08-21  Todd C. Miller  <Todd.Miller@courtesan.com>
15194
15195         * toke.c, toke.l:
15196         Allow comments after a RunasAlias as long as the character after the
15197         pound sign isn't a digit or a dash.
15198         [d7f3bd94eeda]
15199
15200         * WHATSNEW:
15201         Glob support was back-ported to 1.6.9
15202         [d1d5cfd46228]
15203
15204 2007-08-20  Todd C. Miller  <Todd.Miller@courtesan.com>
15205
15206         * Makefile.in:
15207         remove sudo_usage.h in distclean
15208         [df05ce9c4127]
15209
15210         * parse.c:
15211         If a Defaults value contains a blank, double-quote the string.
15212         [9057a910daad]
15213
15214         * toke.c, toke.l:
15215         Properly deal with Defaults double-quoted strings that span multiple
15216         lines using the line continuation char. Previously, the entire
15217         thing, including the continuation char, newline, and spaces was
15218         stored as-is.
15219         [4a4e8eacefe6]
15220
15221         * sudo.c:
15222         Be consistent when using single quotes and backticks.
15223         [d010b83a0fa1]
15224
15225 2007-08-19  Todd C. Miller  <Todd.Miller@courtesan.com>
15226
15227         * Makefile.in, configure, configure.in, lbuf.c, lbuf.h, parse.c,
15228         sudo.c, sudo_usage.h.in:
15229         Add new linebuf code to do appends of dynamically allocated strings
15230         and word-wrapped output. Currently used for sudo's usage() and sudo
15231         -l output. Sudo usage strings are now in sudo_usage.h which is
15232         generated at configure time.
15233         [4dfd0ee8d961]
15234
15235 2007-08-18  Todd C. Miller  <Todd.Miller@courtesan.com>
15236
15237         * parse.c, sudo.c, sudo.h:
15238         Fix line wrapping in usage() and use the actual tty width instead of
15239         assuming 80.
15240         [700eab37c5a6]
15241
15242 2007-08-17  Todd C. Miller  <Todd.Miller@courtesan.com>
15243
15244         * history.pod:
15245         some more info
15246         [8140112a8ae1]
15247
15248         * history.pod:
15249         Mentioned Chris Jepeway's parser and also the new one that is in
15250         sudo 1.7.
15251         [2132d00f0597]
15252
15253 2007-08-16  Todd C. Miller  <Todd.Miller@courtesan.com>
15254
15255         * sudo.pod, visudo.pod:
15256         For the options list, add flag args where appropriate and increase
15257         the indent level so there is room for them.
15258         [2b60fb572e12]
15259
15260 2007-08-15  Todd C. Miller  <Todd.Miller@courtesan.com>
15261
15262         * parse.c:
15263         Fix some spacing in "sudo -l" and add a comment about some bogosity
15264         in the line wrapping.
15265         [b59b056f5ee2]
15266
15267         * sudo.cat, sudo.man.in, sudoers.cat, sudoers.man.in, visudo.cat,
15268         visudo.man.in:
15269         regen
15270         [5fb719f18ebc]
15271
15272         * INSTALL, Makefile.in, WHATSNEW, config.h.in, configure.in,
15273         def_data.c, def_data.h, def_data.in, gram.c, gram.h, gram.y,
15274         parse.c, parse.h, pathnames.h.in, sudo.c, sudo.h, sudoers.pod,
15275         testsudoers.c, toke.c, toke.l:
15276         Remove monitor support until there is a versino of systrace that
15277         uses a lookaside buffer (or we have a better mechanism to use).
15278         [61ff76878e4a]
15279
15280         * config.h.in, configure, configure.in, sudo.c:
15281         use getaddrinfo() instead of gethostbyname() if it is available
15282         [cc33c136aa6a]
15283
15284 2007-08-14  Todd C. Miller  <Todd.Miller@courtesan.com>
15285
15286         * parse.c, sudo.c:
15287         Deal with OSes where sizeof(gid_t) < sizeof(int).
15288         [130a89cbdfba]
15289
15290         * interfaces.c:
15291         repair non-getifaddrs() code after ipv6 integration
15292         [7ae7a89e2236]
15293
15294         * sudo.c:
15295         If we can open sudoers but fail to read the first byte, close the
15296         file stream before trying again.
15297         [6f31272fae7b]
15298
15299 2007-08-13  Todd C. Miller  <Todd.Miller@courtesan.com>
15300
15301         * toke.c:
15302         regen
15303         [4d7afe0aa6fa]
15304
15305         * gram.y, interfaces.c, interfaces.h, match.c, sudoers.pod, toke.l:
15306         Add IPv6 support; adapted from patches by YOSHIFUJI Hideaki
15307         [4e6ff2965a42]
15308
15309         * sudo.pod, sudoers.pod, visudo.pod:
15310         Add some missing markup Update copyright
15311         [7e6d3c686b5e]
15312
15313 2007-08-12  Todd C. Miller  <Todd.Miller@courtesan.com>
15314
15315         * configure, configure.in:
15316         fix sudo_noexec extension which got broken in the libtool update
15317         [3a5b447df861]
15318
15319 2007-08-10  Todd C. Miller  <Todd.Miller@courtesan.com>
15320
15321         * Makefile.in:
15322         explicitly specify -Tascii to nroff
15323         [45c8da4cbefe]
15324
15325 2007-08-08  Todd C. Miller  <Todd.Miller@courtesan.com>
15326
15327         * logging.c:
15328         remove an ANSI-ism that crept in
15329         [29086f87b2ca]
15330
15331 2007-08-07  Todd C. Miller  <Todd.Miller@courtesan.com>
15332
15333         * sudo.pod:
15334         Adjust list indents Prevent -- from being turned into an em dash Use
15335         a list for the environment instead of a literal paragraph
15336         [c3abcd8f76f4]
15337
15338         * visudo.pod:
15339         Use a list for the environment instead of an indented literal
15340         paragraph.
15341         [0ffcfcb7349f]
15342
15343         * sudoers.pod:
15344         Adjust list indentation
15345         [615c89e3123a]
15346
15347         * license.pod:
15348         add =head3
15349         [8b2e0d38c0bd]
15350
15351 2007-08-06  Todd C. Miller  <Todd.Miller@courtesan.com>
15352
15353         * sudo.pod:
15354         mention that when specifying a uid for the -u option the shell may
15355         require that the # be escaped
15356         [3e3a17bff150]
15357
15358 2007-08-02  Todd C. Miller  <Todd.Miller@courtesan.com>
15359
15360         * match.c:
15361         Fix off by one in group matching.
15362         [b529602b7fba]
15363
15364 2007-07-31  Todd C. Miller  <Todd.Miller@courtesan.com>
15365
15366         * env.c:
15367         Fix typo: PYTHONINSPEC should be PYTHONINSPECT. From David Krause.
15368         [ffbf8907c6e7]
15369
15370 2007-07-30  Todd C. Miller  <Todd.Miller@courtesan.com>
15371
15372         * configure, configure.in:
15373         Add missing define of HAVE_GSS_KRB5_CCACHE_NAME for the
15374         -lgssapi_krb5 case.
15375         [2b85a89c2252]
15376
15377         * aclocal.m4, configure, configure.in:
15378         Fix link tests such that new gcc doesn't optimize away the test.
15379         [83484ec95cba]
15380
15381 2007-07-29  Todd C. Miller  <Todd.Miller@courtesan.com>
15382
15383         * sudo.pod, sudoers.pod, visudo.pod:
15384         add missing over/back
15385         [251a12c89b91]
15386
15387         * sudo.pod, sudoers.pod, visudo.pod:
15388         Change FILES section to use =item
15389         [60b9efc3a0b2]
15390
15391         * env.c:
15392         Add back allocation of the env struct in rebuild_env but save a copy
15393         of the old pointer and free it before returning.
15394         [1100cd4fa997]
15395
15396         * env.c:
15397         Don't init the private environment in rebuild_env() since it may
15398         have already been done implicitly sudo_setenv/sudo_unsetenv.
15399
15400         Multiply length by sizeof(char *) in memcpy/memmove when copying the
15401         environment so we copy the full thing.
15402
15403         Add missing set of parens so we deref the right pointer in
15404         sudo_unsetenv when searching for a matching variable.
15405         [9086a8f756b1]
15406
15407 2007-07-26  Todd C. Miller  <Todd.Miller@courtesan.com>
15408
15409         * sudo.pod, sudoers.pod, visudo.pod:
15410         Use file markup for paths in the FILES section
15411         [940d99f731f2]
15412
15413         * sudo.pod, sudoers.pod, visudo.pod:
15414         Don't capitalize sudo/visudo
15415         [f067a455d44b]
15416
15417         * sudoers.pod:
15418         Sort sudoers options; based on a diff from Igor Sobrado.
15419         [a9b9befe85ac]
15420
15421 2007-07-25  Todd C. Miller  <Todd.Miller@courtesan.com>
15422
15423         * sudo.pod, sudoers.pod, visudo.pod:
15424         Use 8 and 5 instead of @mansectsu@ and @mansectform@ since the
15425         latter confuses pod2man. The Makefile rules for the .man.in file
15426         will add @mansectsu@ and @mansectform@ back in after pod2man is done
15427         anyway.
15428         [b50ea0db727c]
15429
15430 2007-07-22  Todd C. Miller  <Todd.Miller@courtesan.com>
15431
15432         * LICENSE, Makefile.in, license.pod:
15433         Move license info to pod format
15434         [25bdd82e592b]
15435
15436         * configure, configure.in, sudoers.pod:
15437         Substitute value of path_info into sudoers man page.
15438         [9ba661a82798]
15439
15440         * WHATSNEW:
15441         remove features that were back-ported to 1.6.9
15442         [e76d756cbe65]
15443
15444         * sudo.c, sudo.pod, visudo.c, visudo.pod:
15445         Sort SYNOPSIS and sync usage. From Igor Sobrado.
15446         [4970386c9e54]
15447
15448         * env.c:
15449         Only need sudo_setenv/sudo_unsetenv if we are going to use
15450         ldap_sasl_interactive_bind_s() but don't have
15451         gss_krb5_ccache_name().
15452         [f1a73d8b35c5]
15453
15454         * ChangeLog:
15455         rebuild without branch info
15456         [5d5a33494677]
15457
15458         * Makefile.in:
15459         Add ChangeLog target
15460         [a702034fdd89]
15461
15462         * auth/pam.c:
15463         Run cleanup code if the user hits ^C at the password prompt.
15464         [9cf87768e921]
15465
15466         * auth/pam.c:
15467         Some versions of pam_lastlog have a bug that will cause a crash if
15468         PAM_TTY is not set so if there is no tty, set PAM_TTY to the empty
15469         string.
15470         [5b63f6c88866]
15471
15472 2007-07-20  Todd C. Miller  <Todd.Miller@courtesan.com>
15473
15474         * Makefile.in:
15475         ChageLog not Changelog
15476         [1243d8473ceb]
15477
15478         * ChangeLog:
15479         sync
15480         [d887df98c6b0]
15481
15482         * Makefile.in:
15483         CHANGE -> Changelog
15484         [917738df30dd]
15485
15486         * TODO:
15487         sync
15488         [cd382f7d1948]
15489
15490 2007-07-19  Todd C. Miller  <Todd.Miller@courtesan.com>
15491
15492         * config.h.in, configure, configure.in, ldap.c:
15493         Add configure hooks for gss_krb5_ccache_name() and the gssapi
15494         headers.
15495         [139606209991]
15496
15497 2007-07-18  Todd C. Miller  <Todd.Miller@courtesan.com>
15498
15499         * env.c, sudo.c:
15500         rebuild_env() and insert_env_vars() no longer return environment
15501         pointer, they set environ directly.
15502
15503         No longer need to pass around an envp pointer since we just operate
15504         on environ now.
15505
15506         Add dosync argument to insert_env() that indicates whether it should
15507         reset environ when realloc()ing env.envp.
15508
15509         Use an initial size of 128 for the environment.
15510         [4735fd5fddb8]
15511
15512         * env.c:
15513         Split sudo_setenv() into an external version and a version only for
15514         use by rebuild_env().
15515         [fda7d655adb1]
15516
15517 2007-07-16  Todd C. Miller  <Todd.Miller@courtesan.com>
15518
15519         * ldap.c:
15520         Add support for using gss_krb5_ccache_name() instead of setting
15521         KRB5CCNAME. Also use sudo_unsetenv() in the non-
15522         gss_krb5_ccache_name() case if there was no KRB5CCNAME in the
15523         original environment. TODO: configure setup for
15524         gss_krb5_ccache_name()
15525         [fcafa5a49caf]
15526
15527         * README.LDAP:
15528         add krb5_ccname
15529         [fceb8f883886]
15530
15531         * README.LDAP, ldap.c:
15532         Add support for sasl_secprops in ldap.conf
15533         [1f06f4bf7347]
15534
15535         * env.c, sudo.h:
15536         Add sudo_unsetenv() and refactor private env syncing code into
15537         sync_env().
15538         [045ecb3fd22b]
15539
15540         * README.LDAP, ldap.c:
15541         The ldap.conf variable is sasl_auth_id not sasl_authid.
15542         [a5f98491311b]
15543
15544 2007-07-15  Todd C. Miller  <Todd.Miller@courtesan.com>
15545
15546         * ldap.c, sudo.c, sudo.h:
15547         Add support for krb5_ccname in ldap.conf. If specified, it will
15548         override the default value of KRB5CCNAME in the environment for the
15549         duration of the call to ldap_sasl_interactive_bind_s().
15550         [b08a10c3045b]
15551
15552         * env.c, sudo.h:
15553         Remove format_env() Add sudo_setenv() to replace most format_env() +
15554         insert_env() combinations. insert_env() no longer takes a struct
15555         environment *
15556         [131da52f43f3]
15557
15558         * ldap.c:
15559         Fix use_sasl vs. rootuse_sasl logic.
15560         [0c0417b6918c]
15561
15562         * README.LDAP, config.h.in, configure, configure.in, ldap.c:
15563         Add support for SASL auth when connecting to an LDAP server. Adapted
15564         from a diff by Tom McLaughlin.
15565         [a6285f1356ea]
15566
15567 2007-07-14  Todd C. Miller  <Todd.Miller@courtesan.com>
15568
15569         * configure, configure.in:
15570         Only enable AIX or BSD auth if no other exclusive auth method has
15571         been chosen. Allows people to e.g., use PAM on AIX without adding
15572         --without-aixauth. A better solution is needed to deal with default
15573         authentication since if a non-exclusive method is chosen we will
15574         still get an error.
15575         [83f7afdc0ec3]
15576
15577 2007-07-11  Todd C. Miller  <Todd.Miller@courtesan.com>
15578
15579         * HISTORY, Makefile.in, history.pod:
15580         Generate HISTORY from history.pod (which is also used for web pages)
15581         [60bcd5164931]
15582
15583 2007-07-09  Todd C. Miller  <Todd.Miller@courtesan.com>
15584
15585         * sudo.man.in, sudoers.man.in:
15586         regen
15587         [63956a366191]
15588
15589         * sudo.pod:
15590         Better explanation of environment handling in the sudo man page.
15591         [6c247742f7ee]
15592
15593         * env.c, sudo.c:
15594         Defer setting user-specified env vars until after authentication.
15595         [4750b79323ee]
15596
15597         * env.c:
15598         honor def_default_path for PATH set on the command line
15599         [6db31d9b6d65]
15600
15601         * env.c, sudo.c, sudo.pod, sudoers.pod:
15602         Allow user to set environment variables on the command line as long
15603         as they are allowed by env_keep and env_check. Ie: apply the same
15604         restrictions as normal environment variables. TODO: deal with
15605         secure_path
15606         [26c0da3840cf]
15607
15608 2007-07-08  Todd C. Miller  <Todd.Miller@courtesan.com>
15609
15610         * sudo.c, sudo_edit.c:
15611         Call rebuild_env() in call cases. Pass original envp to sudo_edit().
15612         Don't allow -E or env var setting in sudoedit mode. More accurate
15613         usage() when called as sudoedit.
15614         [a4af20658361]
15615
15616         * ldap.c:
15617         warn -> warning
15618         [d87d1192b048]
15619
15620         * sudo.pod:
15621         add -c option to sudoedit synopsis
15622         [15b596a7e2db]
15623
15624         * TODO:
15625         udpate to reality
15626         [e2f8fde89db1]
15627
15628         * parse.c:
15629         Use ALLOW/DENY instead of TRUE/FALSE when dealing with the return
15630         value from {user,host,runas,cmnd}_matches(). Rename *matches
15631         variables -> *match. Purely cosmetic.
15632         [e54a44c00a88]
15633
15634         * parse.c:
15635         Move setting of FLAG_NO_CHECK into the if(pwflag) block. No change
15636         in behavior.
15637         [c6272b4f2127]
15638
15639         * sudoers:
15640         add SETENV tag
15641         [3a3066bb6788]
15642
15643 2007-07-06  Todd C. Miller  <Todd.Miller@courtesan.com>
15644
15645         * parse.c:
15646         Make pwcheck local to the pwflag block. Use pwcheck even if user
15647         didn't match since Defaults options may still apply.
15648         [45da9efbbafd]
15649
15650         * check.c, sudo.c:
15651         Do not update timestamp if user not validated by sudoers.
15652         [a4a9d4364827]
15653
15654         * set_perms.c:
15655         for PERM_RUNAS, set the egid to the runas user's gid and restore to
15656         the user's original in PERM_ROOT
15657         [1514bfb32847]
15658
15659         * logging.c, mon_systrace.c, set_perms.c, sudo.h:
15660         PERM_FULL_ROOT is now no different than PERM_ROOT so remove
15661         PERM_FULL_ROOT
15662         [b9d047a3178c]
15663
15664         * check.c:
15665         don't check timestamp mtime if we are just going to remove it
15666         [5d2470bc6cbd]
15667
15668         * sudoers.pod:
15669         Move sudoers defaults parameters into their own section.
15670         [54701fbc0ff3]
15671
15672         * testsudoers.c:
15673         Reduce a level of indent by a few placed continue statements.
15674         [5d5a9838c8ef]
15675
15676         * parse.c:
15677         Make matching but negated commands/hosts/runas entries override a
15678         previous match as expected. Also reduce some levels of indent by a
15679         few placed continue statements.
15680         [dd59fa4b91a1]
15681
15682 2007-07-05  Todd C. Miller  <Todd.Miller@courtesan.com>
15683
15684         * parse.c:
15685         Print default runas in "sudo -l" if sudoers don't specify one.
15686         [07d408c400bd]
15687
15688         * match.c:
15689         Less hacky way of testing whether the domain was set.
15690         [a537059776e5]
15691
15692 2007-07-04  Todd C. Miller  <Todd.Miller@courtesan.com>
15693
15694         * INSTALL:
15695         Mention pam-devel and openldap-devel for Linux
15696         [9e708c54ecc3]
15697
15698 2007-07-03  Todd C. Miller  <Todd.Miller@courtesan.com>
15699
15700         * README.LDAP:
15701         or vs. are
15702         [abe8c0f3a410]
15703
15704 2007-07-01  Todd C. Miller  <Todd.Miller@courtesan.com>
15705
15706         * sudo.c:
15707         fix typo in Solaris project support
15708         [2ffeb2d80959]
15709
15710         * HISTORY:
15711         update
15712         [df162b36f120]
15713
15714         * sudo.c:
15715         Make -- on the command line match the manual page. The implied shell
15716         case has been simplified as a result.
15717         [cd217a1f6694]
15718
15719 2007-06-28  Todd C. Miller  <Todd.Miller@courtesan.com>
15720
15721         * sudoers2ldif:
15722         add simplistic support for sudoRunas; note that if a sudoers entry
15723         contains multiple Runas users, all will apply to the sudoRole
15724         [65b11421f5c8]
15725
15726         * sudoers2ldif:
15727         honor SETENV and NOSETENV tags
15728         [2c0d5ba7a09b]
15729
15730 2007-06-24  Todd C. Miller  <Todd.Miller@courtesan.com>
15731
15732         * mon_systrace.c:
15733         Redo setting of user_args. We now build up a private copy of argv
15734         first and then replace the NULs?with spaces.
15735         [ccbba72ea112]
15736
15737         * mon_systrace.c:
15738         getcwd() returns NULL on failure, not 0 on success
15739         [88cd9e66e530]
15740
15741         * mon_systrace.c:
15742         allow chunksiz to reach 1 before erroring out
15743         [619d68f14964]
15744
15745         * sudo.cat, sudo.man.in, sudoers.cat, sudoers.man.in, visudo.cat,
15746         visudo.man.in:
15747         regen
15748         [8db512d3caf0]
15749
15750 2007-06-23  Todd C. Miller  <Todd.Miller@courtesan.com>
15751
15752         * def_data.c, def_data.h, def_data.in, env.c, gram.c, gram.h, gram.y,
15753         logging.c, parse.c, parse.h, sudo.c, sudo.h, sudo.pod, sudoers.pod,
15754         toke.c, toke.l:
15755         Add support for setting environment variables on the command line.
15756         This is only allowed if the setenv sudoers options is enabled or if
15757         the command is prefixed with the SETENV tag.
15758         [5744caebd969]
15759
15760         * README.LDAP:
15761         replace Aaron's email address with the sudo-workers list
15762         [2ffce5f9afc0]
15763
15764         * configure:
15765         regen
15766         [8013dff82c0c]
15767
15768 2007-06-22  Todd C. Miller  <Todd.Miller@courtesan.com>
15769
15770         * schema.OpenLDAP, schema.iPlanet:
15771         Break schema out into separate files.
15772         [15e598e4c60b]
15773
15774         * Makefile.in, README.LDAP:
15775         Break schema out into separate files.
15776         [1a53966ca1fa]
15777
15778 2007-06-21  Todd C. Miller  <Todd.Miller@courtesan.com>
15779
15780         * auth/aix_auth.c:
15781         free message if set by authenticate()
15782         [849c220c1236]
15783
15784         * match.c:
15785         deal with NULL gr_mem
15786         [49e4d74f0bbe]
15787
15788 2007-06-20  Todd C. Miller  <Todd.Miller@courtesan.com>
15789
15790         * config.h.in:
15791         regen
15792         [fead999ad3e9]
15793
15794         * configure.in:
15795         add template for HAVE_PROJECT_H
15796         [e6c42c2eaad1]
15797
15798         * closefrom.c:
15799         include fcntl.h
15800         [54d98b382f03]
15801
15802 2007-06-19  Todd C. Miller  <Todd.Miller@courtesan.com>
15803
15804         * INSTALL:
15805         mention --with-project
15806         [d3ea3baad7c5]
15807
15808         * config.h.in, configure.in, sudo.c:
15809         Add Solaris 10 "project" support. From Michael Brantley.
15810         [f14f3c8c6554]
15811
15812         * sudoers.pod:
15813         fix typo
15814         [50db81a19787]
15815
15816         * configure:
15817         regen
15818         [ea71afd3e564]
15819
15820         * configure.in:
15821         Fix preservation of LDFLAGS in the LDAP case.
15822         [40a3a47e8059]
15823
15824         * memrchr.c:
15825         Remove dependecy on NULL
15826         [c957ae5e1733]
15827
15828         * configure:
15829         regen
15830         [4955ce0c6912]
15831
15832         * aclocal.m4, configure.in:
15833         Can't use the regular autoconf fnmatch() check since we need
15834         FNM_CASEFOLD so go back to our custom one.
15835         [f10d76237486]
15836
15837         * env.c:
15838         Fix preserving of variables in env_keep.
15839         [d040049d6b84]
15840
15841         * env.c:
15842         add XAUTHORIZATION
15843         [0d589a5fe015]
15844
15845         * UPGRADE:
15846         expand upon env resetting and mention that it began in 1.6.9 not
15847         1.7.
15848         [dba251655c76]
15849
15850         * sudoers.pod:
15851         Update descriptions of env_keep and env_check to match current
15852         reality.
15853         [dba77357954b]
15854
15855 2007-06-18  Todd C. Miller  <Todd.Miller@courtesan.com>
15856
15857         * env.c:
15858         Add LINGUAS to initial_checkenv_table. Add COLORS, HOSTNAME,
15859         LS_COLORS, MAIL, PS1, PS2, XAUTHORITY to intial_keepenv_table.
15860         [eec4632bd190]
15861
15862         * env.c, logging.c:
15863         Treat USERNAME environemnt variable like LOGNAME/USER
15864         [09f52dcfd70c]
15865
15866         * env.c:
15867         Don't need to populate keepenv table with the contents of the
15868         checkenv table.
15869         [527a14afd973]
15870
15871         * sudo.c:
15872         Don't force sudo into the C locale.
15873         [8a5bd301ef96]
15874
15875         * env.c:
15876         Make env_check apply when env_reset it true. Environment variables
15877         are passed through unless they contain '/' or '%'. There is no need
15878         to have a variable in both env_check and env_keep.
15879         [840c802721e4]
15880
15881 2007-06-16  Todd C. Miller  <Todd.Miller@courtesan.com>
15882
15883         * visudo.c:
15884         Remove an duplicate lock_file() call and add a comment.
15885         [5af9dcdf0eb6]
15886
15887         * UPGRADE:
15888         Add sudo 1.6.9 upgrade note.
15889         [1585149f2914]
15890
15891 2007-06-14  Todd C. Miller  <Todd.Miller@courtesan.com>
15892
15893         * interfaces.c:
15894         Solaris will return EINVAL if the buffer used in SIOCGIFCONF is too
15895         small. From Klaus Wagner.
15896         [d6899fc44f77]
15897
15898         * logging.c, sudo.h:
15899         Redo the long syslog line splitting based on a patch from Eygene
15900         Ryabinkin. Include memrchr() for systems without it.
15901         [66a50e8d553a]
15902
15903         * memrchr.c:
15904         Redo the long syslog line splitting based on a patch from Eygene
15905         Ryabinkin. Include memrchr() for systems without it.
15906         [2f6702b7d41b]
15907
15908         * Makefile.in, config.h.in, configure, configure.in:
15909         Redo the long syslog line splitting based on a patch from Eygene
15910         Ryabinkin. Include memrchr() for systems without it.
15911         [407a46190921]
15912
15913         * configure.in:
15914         Since we need to be able to convert timespec to timeval for utimes()
15915         the last 3 digits in the tv_nsec are not significant. This makes the
15916         sudoedit file date comparison work again.
15917         [9d0258849fa9]
15918
15919 2007-06-13  Todd C. Miller  <Todd.Miller@courtesan.com>
15920
15921         * aclocal.m4, configure, configure.in:
15922         Add SUDO_ADD_AUTH macro to deal with adding things to AUTH_OBJS.
15923         This deals with exclusive authentication methods in a simple way.
15924         [7d70072c0f35]
15925
15926 2007-06-12  Todd C. Miller  <Todd.Miller@courtesan.com>
15927
15928         * LICENSE:
15929         mkstemp.c is BSD code too.
15930         [29e236d98162]
15931
15932         * sudo.pod, sudoers.pod, visudo.pod:
15933         No commercial support for now.
15934         [7c76b3e192dd]
15935
15936 2007-06-11  Todd C. Miller  <Todd.Miller@courtesan.com>
15937
15938         * sudo.c:
15939         cleanenv() is no more.
15940         [518080514408]
15941
15942 2007-06-10  Todd C. Miller  <Todd.Miller@courtesan.com>
15943
15944         * ChangeLog:
15945         Display branch info in Changelog
15946         [44e3b27427c7]
15947
15948         * utimes.c:
15949         Include config.h early so we have it for TIME_WITH_SYS_TIME
15950         [4bf1a00d0703]
15951
15952         * ChangeLog:
15953         Fix Changelog generation and update.
15954         [6e960dbcbece]
15955
15956 2007-06-09  Todd C. Miller  <Todd.Miller@courtesan.com>
15957
15958         * closefrom.c:
15959         Use /proc/self/fd instead of /proc/$$/fd
15960
15961         Move old-style fd closing into closefrom_fallback() and call that if
15962         /proc/self/fd doesn't exist or the F_CLOSEM fcntl() fails
15963         [faa7e4810758]
15964
15965         * auth/kerb5.c, config.h.in, configure.in:
15966         o use krb5_verify_user() if available instead of doing it by hand o
15967         use krb5_init_secure_context() if we have it o pass an encryption
15968         type of 0 to krb5_kt_read_service_key() instead of
15969         ENCTYPE_DES_CBC_MD5 to let kerberos choose.
15970         [df7acf72bd7c]
15971
15972         * env.c:
15973         Check TERM and COLORTERM for '%' and '/' characters. From Debian.
15974         [f92d05197e40]
15975
15976         * configure.in:
15977         Fix closefrom() substitution in the Makefile
15978         [b642b13fcc5c]
15979
15980         * TROUBLESHOOTING:
15981         Mention alternate sudo pronunciation.
15982         [7c71dc73409f]
15983
15984 2007-06-07  Todd C. Miller  <Todd.Miller@courtesan.com>
15985
15986         * env.c:
15987         Remove KRB5_KTNAME from environment. Allow COLORTERM.
15988         [70f35a79f780]
15989
15990         * auth/kerb5.c:
15991         If we cannot get a valid service key using the default keytab it is
15992         a fatal error. Fixes a bug where sudo could be tricked into
15993         allowing access when it should not by a fake KDC. From Thor Lancelot
15994         Simon.
15995         [a3ae6a47cb23]
15996
15997 2007-05-12  Todd C. Miller  <Todd.Miller@courtesan.com>
15998
15999         * aclocal.m4, configure, configure.in:
16000         Update long long checks to use AC_CHECK_TYPES and to cache values.
16001         [047318eaaeb2]
16002
16003         * aclocal.m4, configure.in:
16004         Use AC_FUNC_FNMATCH instead of a homebrew fnmatch checker. We can't
16005         use AC_REPLACE_FNMATCH since that assumes replacing with GNU
16006         fnmatch.
16007         [80513a1003ea]
16008
16009 2007-05-11  Todd C. Miller  <Todd.Miller@courtesan.com>
16010
16011         * configure, configure.in:
16012         Add closefrom() to LIB_OBJS not SUDO_OBJS if it is missing since we
16013         need it for visudo now too.
16014         [50837c7c2b5e]
16015
16016 2007-04-24  Todd C. Miller  <Todd.Miller@courtesan.com>
16017
16018         * sudoers.pod:
16019         Attempt to clarify the bit talking about network numbers w/o
16020         netmasks.
16021         [211e68c1d034]
16022
16023         * sudo.pod:
16024         Clarify timestamp dir ownership sentence.
16025         [9178f132c7f7]
16026
16027 2007-04-20  Todd C. Miller  <Todd.Miller@courtesan.com>
16028
16029         * auth/pam.c:
16030         Linux PAM now defines __LINUX_PAM__, not __LIBPAM_VERSION. From
16031         Dmitry V. Levin.
16032         [81fce91667bc]
16033
16034 2007-04-16  Todd C. Miller  <Todd.Miller@courtesan.com>
16035
16036         * sudo.c:
16037         -i is also one of the mutually exclusive options to list it in the
16038         warning message. Noted by Chris Pepper.
16039         [7da73fb248e9]
16040
16041 2007-04-12  Todd C. Miller  <Todd.Miller@courtesan.com>
16042
16043         * visudo.pod:
16044         The sudoers variable is env_editor, not enveditor. From Jean-
16045         Francois Saucier.
16046         [2a86ec09a6db]
16047
16048 2007-03-29  Todd C. Miller  <Todd.Miller@courtesan.com>
16049
16050         * redblack.c:
16051         I tracked down the original author so credit him and include his
16052         license info.
16053         [3733553a1bba]
16054
16055 2007-02-06  Todd C. Miller  <Todd.Miller@courtesan.com>
16056
16057         * sudo.cat, sudo.man.in, sudo.pod, sudoers.cat, sudoers.man.in,
16058         sudoers.pod:
16059         Fix typos; from Jason McIntyre.
16060         [1ee4ce2512f2]
16061
16062         * logging.c:
16063         Restore signal mask before calling reapchild(). Fixes a possible
16064         race condition that could prevent sudo from properly waiting for the
16065         child.
16066         [9ee4192385dc]
16067
16068 2007-01-31  Todd C. Miller  <Todd.Miller@courtesan.com>
16069
16070         * pwutil.c:
16071         Don't declare pw_free() if we are not going to use it.
16072         [adb79a4289ca]
16073
16074         * env.c:
16075         Add NOEXEC support for AIX 5.3 which supports LDR_PRELOAD and
16076         LDR_PRELOAD64. The 64-bit version is not currently supported.
16077         Remove zero_env() prototype as it no longer exists.
16078         [b4fe65027fb6]
16079
16080 2006-12-11  Todd C. Miller  <Todd.Miller@courtesan.com>
16081
16082         * logging.c:
16083         Add "Auto-Submitted: auto-generated" line to sudo mail for rfc 3834.
16084         [78002ad90f7b]
16085
16086 2006-09-29  Todd C. Miller  <Todd.Miller@courtesan.com>
16087
16088         * auth/pam.c:
16089         If the user enters ^C at the password prompt, abort instead of
16090         trying to authenticate with an empty password (which causes an
16091         annoying delay).
16092         [da3f27b747c7]
16093
16094 2006-08-17  Todd C. Miller  <Todd.Miller@courtesan.com>
16095
16096         * closefrom.c, config.h.in, configure, configure.in:
16097         Add fcntl F_CLOSEM support to closefrom(); adapted from a diff by
16098         Darren Tucker.
16099         [0331b7780759]
16100
16101         * pwutil.c:
16102         pw_free() is only used by sudo_freepwcache() so ifdef it out too.
16103         [0014c0d9eeba]
16104
16105 2006-08-04  Todd C. Miller  <Todd.Miller@courtesan.com>
16106
16107         * config.guess, config.sub:
16108         Update to latest versions from cvs.savannah.gnu.org
16109         [aa0143101c20]
16110
16111 2006-07-31  Todd C. Miller  <Todd.Miller@courtesan.com>
16112
16113         * pwutil.c, sudo_edit.c:
16114         Move password/group cache cleaning out of sudo_end{pw,grp}ent() so
16115         we can close the passwd/group files early.
16116         [559074bd7eb7]
16117
16118         * config.h.in, configure, configure.in, set_perms.c:
16119         Add seteuid() flavor of set_perms() for systems without setreuid()
16120         or setresuid() that have a working seteuid(). Tested on Darwin.
16121         [508d8da99189]
16122
16123 2006-07-30  Todd C. Miller  <Todd.Miller@courtesan.com>
16124
16125         * mon_systrace.c:
16126         systrace_read() returns ssize_t
16127         [9f97d1d1a59d]
16128
16129         * configure, configure.in:
16130         Fix typo, -lldap vs. -ldap; from Tim Knox.
16131         [a8cc43c3bb2a]
16132
16133 2006-07-28  Todd C. Miller  <Todd.Miller@courtesan.com>
16134
16135         * HISTORY:
16136         Fix typo; Matt Ackeret
16137         [86964ee3dfbd]
16138
16139 2006-07-17  Todd C. Miller  <Todd.Miller@courtesan.com>
16140
16141         * sudo.c:
16142         Print sudoers path in -V mode for root.
16143         [dc43f2d75bd9]
16144
16145 2006-06-15  Todd C. Miller  <Todd.Miller@courtesan.com>
16146
16147         * ldap.c:
16148         Do a sub tree search instead of a base search (one level in the tree
16149         only) for sudo right objects. This allows system administrators to
16150         categorize the rights in a tree to make them easier to manage.
16151         [6d2d9abf996e]
16152
16153 2005-12-28  Todd C. Miller  <Todd.Miller@courtesan.com>
16154
16155         * sudo.pod:
16156         fix typo
16157         [1473413bcbda]
16158
16159 2005-12-04  Todd C. Miller  <Todd.Miller@courtesan.com>
16160
16161         * ldap.c:
16162         Convert GET_OPT and GET_OPTI to use just 2 args. Add timelimit and
16163         bind_timelimit support; adapted from gentoo.
16164         [afc816093026]
16165
16166 2005-11-23  Todd C. Miller  <Todd.Miller@courtesan.com>
16167
16168         * ldap.c:
16169         Support comments that start in the middle of a line
16170         [c25df6ee3db8]
16171
16172         * configure, configure.in:
16173         Define LDAP_DEPRECATED until we start using ldap_get_values_len()
16174         [ee249bfe230a]
16175
16176 2005-11-18  Todd C. Miller  <Todd.Miller@courtesan.com>
16177
16178         * closefrom.c:
16179         Silence gcc -Wsign-compare; djm@openbsd.org
16180         [28769ce6418d]
16181
16182         * error.c, sudo.c, sudo.h, testsudoers.c, visudo.c:
16183         cleanup() now takes an int as an arg so it can be used as a signal
16184         handler too.
16185         [2bb0df34d09c]
16186
16187         * sudo.c:
16188         Make a copy of the shell field in the passwd struct for NewArgv to
16189         avoid a use after free situation after sudo_endpwent() is called.
16190         [5dcc9ffd362e]
16191
16192 2005-11-17  Todd C. Miller  <Todd.Miller@courtesan.com>
16193
16194         * config.h.in, configure, configure.in:
16195         Add mkstemp() for those poor souls without it.
16196         [5fdd02e863e0]
16197
16198         * mkstemp.c:
16199         Add mkstemp() for those poor souls without it.
16200         [c99401207860]
16201
16202         * Makefile.in:
16203         Add mkstemp() for those poor souls without it.
16204         [9c1cf2678f24]
16205
16206 2005-11-15  Todd C. Miller  <Todd.Miller@courtesan.com>
16207
16208         * env.c:
16209         Add PERL5DB to list of environment variables to remove.
16210         [7375c27ecf75]
16211
16212 2005-11-13  Todd C. Miller  <Todd.Miller@courtesan.com>
16213
16214         * mon_systrace.c, mon_systrace.h:
16215         Instead of calling the check function twice with a state cookie use
16216         separate check/log functions.
16217
16218         Check more ioctl() calls for failure.
16219
16220         systrace_{read,write} now return the number of bytes read/written or
16221         -1 on error.
16222         [3dc8946d90e9]
16223
16224         * env.c:
16225         Add more environment variables to remove; from gentoo linux Add some
16226         comments about what bad env variables go to what (more to do)
16227         [6918110a6b82]
16228
16229 2005-11-11  Todd C. Miller  <Todd.Miller@courtesan.com>
16230
16231         * sudo.c, sudo_edit.c:
16232         Move sudo_end{gr,pw}ent() until just before the exec since they free
16233         up our cached copy of the passwd structs, including sudo_user and
16234         sudo_runas. Fixes a use-after-free bug.
16235         [54de3778bad0]
16236
16237         * visudo.c:
16238         Close all fd's before executing editor.
16239         [4fcc05e1bec8]
16240
16241         * sudo.c:
16242         Enable malloc debugging on OpenBSD when SUDO_DEVEL is set.
16243         [ef0e8ffa5c9f]
16244
16245         * check.c:
16246         Fix fd leak when lecture file option is enabled. From Jerry Brown
16247         [ce97f9207cd8]
16248
16249 2005-11-07  Todd C. Miller  <Todd.Miller@courtesan.com>
16250
16251         * env.c:
16252         Add PERLLIB, PERL5LIB and PERL5OPT to the default list of
16253         environment variables to remove. From Charles Morris
16254         [c96e1367d1c1]
16255
16256 2005-11-01  Todd C. Miller  <Todd.Miller@courtesan.com>
16257
16258         * env.c:
16259         add JAVA_TOOL_OPTIONS to initial_badenv_table for java 5
16260         [72a6a1571226]
16261
16262 2005-10-28  Todd C. Miller  <Todd.Miller@courtesan.com>
16263
16264         * env.c:
16265         add PS4 and SHELLOPTS to initial_badenv_table for bash
16266         [89dfb3f318f3]
16267
16268 2005-08-15  Todd C. Miller  <Todd.Miller@courtesan.com>
16269
16270         * sudoers.pod:
16271         Fix typo; Toby Peterson
16272         [b7a3222b23f4]
16273
16274 2005-08-02  Todd C. Miller  <Todd.Miller@courtesan.com>
16275
16276         * tsgetgrpw.c:
16277         Make return buffers static so they don't get clobbered
16278         [13323a39b9f5]
16279
16280 2005-07-28  Todd C. Miller  <Todd.Miller@courtesan.com>
16281
16282         * auth/securid5.c:
16283         Fix securid5 authentication, was not checking for ACM_OK. Also add
16284         default cases for the two switch()es. Problem noted by ccon at
16285         worldbank
16286         [14091e418333]
16287
16288 2005-06-27  Todd C. Miller  <Todd.Miller@courtesan.com>
16289
16290         * ldap.c:
16291         Remove ncat() in favor of just counting bytes and pre-allocating
16292         what is needed.
16293         [25b8712adb61]
16294
16295 2005-06-26  Todd C. Miller  <Todd.Miller@courtesan.com>
16296
16297         * ldap.c:
16298         Fix up some comments Add missing fclose() for the rootbinddn case
16299         [ae95c8a89711]
16300
16301         * ldap.c:
16302         align struct ldap_config
16303         [35d0d64c76f8]
16304
16305         * ldap.c:
16306         use LINE_MAX for max conf file line size
16307         [da116cb8853d]
16308
16309         * pathnames.h.in:
16310         add _PATH_LDAP_SECRET
16311         [128b04ecfab7]
16312
16313         * README.LDAP:
16314         Mention rootbinddn Give example ou=SUDOers container
16315         [852edc69bd1c]
16316
16317 2005-06-25  Todd C. Miller  <Todd.Miller@courtesan.com>
16318
16319         * INSTALL, configure, configure.in, ldap.c:
16320         Support rootbinddn in ldap.conf
16321         [1615c91522a1]
16322
16323         * env.c, sudo.pod, sudoers.pod:
16324         Preserve DISPLAY environment variable by default.
16325         [05f503d5f438]
16326
16327         * acsite.m4, configure:
16328         set need_lib_prefix=no for all cases; this is safe for LD_PRELOAD
16329         [18a04dea8d05]
16330
16331         * acsite.m4, configure:
16332         set need_version=no for all cases; this is safe for LD_PRELOAD
16333         [b542560e1a73]
16334
16335         * aclocal.m4:
16336         typo
16337         [c040df0fcd5a]
16338
16339         * configure, configure.in:
16340         Add dragonfly
16341         [f13794618636]
16342
16343         * auth/pam.c:
16344         Fix call to pam_end() when pam_open_session() fails.
16345         [0be47cdfdef1]
16346
16347         * configure:
16348         regen
16349         [7f5c13b4b800]
16350
16351         * acsite.m4:
16352         rebuild acsite.m4 from libtool 1.9f libtool.m4 ltoptions.m4
16353         ltsugar.m4 ltversion.m4
16354         [a7ba9fd1a2ab]
16355
16356         * config.guess, config.sub, ltmain.sh:
16357         merge in local changes: config.guess: o better openbsd support
16358         config.sub: o hiuxmpp support ltmain.sh o remove requirement that
16359         libs must begin with "lib" o don't print a bunch of crap about
16360         library installs o don't run ldconfig
16361         [f4149f2c720f]
16362
16363         * config.guess, config.sub, ltmain.sh:
16364         libtool 1.9f
16365         [82a534e7121f]
16366
16367         * configure.in:
16368         Update with autoupdate and make minor changes for libtool 1.9f
16369         [11b5ae5c1428]
16370
16371 2005-06-23  Todd C. Miller  <Todd.Miller@courtesan.com>
16372
16373         * parse.c:
16374         don't call sudo_ldap_display_cmnd if ldap not setup
16375         [8bcf6c094ffe]
16376
16377         * sudo_edit.c, visudo.c:
16378         Move declatation of struct timespec to its own include files for
16379         systems without it since it needs time_t defined.
16380         [b95c333299a0]
16381
16382         * gettime.c:
16383         Move declatation of struct timespec to its own include files for
16384         systems without it since it needs time_t defined.
16385         [021b4569cc0c]
16386
16387         * fileops.c:
16388         Move declatation of struct timespec to its own include files for
16389         systems without it since it needs time_t defined.
16390         [dd8573b2ee7d]
16391
16392         * emul/timespec.h:
16393         Move declatation of struct timespec to its own include files for
16394         systems without it since it needs time_t defined.
16395         [f95137771564]
16396
16397         * check.c, compat.h:
16398         Move declatation of struct timespec to its own include files for
16399         systems without it since it needs time_t defined.
16400         [2ef2ace8fe85]
16401
16402         * ldap.c:
16403         Don't set safe_cmnd for the "sudo ALL" case.
16404         [ad7fa9e07da0]
16405
16406 2005-05-27  Todd C. Miller  <Todd.Miller@courtesan.com>
16407
16408         * auth/pam.c:
16409         Call pam_open_session() and pam_close_session() to give pam_limits a
16410         chance to run. Idea from Karel Zak.
16411         [fed46d471350]
16412
16413 2005-04-24  Todd C. Miller  <Todd.Miller@courtesan.com>
16414
16415         * check.c, sudo.c:
16416         Add explicit cast from mode_t -> u_int in printf to silence warnings
16417         on Solaris
16418         [17bb961fe22d]
16419
16420         * parse.c:
16421         include grp.h to silence a warning on Solaris
16422         [14386fbab640]
16423
16424 2005-04-23  Todd C. Miller  <Todd.Miller@courtesan.com>
16425
16426         * parse.c:
16427         Fix printing of += and -= defaults.
16428         [a667604c56cd]
16429
16430 2005-04-17  Todd C. Miller  <Todd.Miller@courtesan.com>
16431
16432         * mon_systrace.c:
16433         Sanity check number of syscall args with argsize. Not really needed
16434         but a little paranoia never hurts.
16435         [6bb455a2c2d6]
16436
16437         * mon_systrace.c, mon_systrace.h:
16438         Don't do pointer arithmetic on void * Use int, not size_t/ssize_t
16439         for systrace lengths (since it uses int)
16440         [3cafccffcffd]
16441
16442 2005-04-16  Todd C. Miller  <Todd.Miller@courtesan.com>
16443
16444         * mon_systrace.c:
16445         Add some memsets for paranoia Fix namespace collsion w/ error Check
16446         rval of decode_args() and update_env() Remove improper setting of
16447         validated variable
16448         [3d385158354d]
16449
16450 2005-04-12  Todd C. Miller  <Todd.Miller@courtesan.com>
16451
16452         * parse.c, sudo.c, sudo.h:
16453         In -l mode, only check local sudoers file if def_ignore_sudoers is
16454         not set and call LDAP versions from display_privs() and
16455         display_cmnd() instead of directly from main(). Because of this we
16456         need to defer closing the ldap connection until after -l processing
16457         has ocurred and we must pass in the ldap pointer to display_privs()
16458         and display_cmnd().
16459         [1dfc2e8c9f2b]
16460
16461         * ldap.c:
16462         Reorganize LDAP code to better match normal sudoers parsing.
16463         Instead of storing strings for later printing in -l mode we do
16464         another query since the authenticating user and the user being
16465         listed may not be the same (the new -U flag). Also add support for
16466         "sudo -l command".
16467
16468         There is still a fair bit if duplicated code that can probably be
16469         refactored.
16470         [e9568f19bde5]
16471
16472 2005-04-11  Todd C. Miller  <Todd.Miller@courtesan.com>
16473
16474         * ldap.c:
16475         Replace pass variable with do_netgr for better readability.
16476         [1bba841b6e79]
16477
16478         * ldap.c:
16479         use DPRINTF macro
16480         [02b159b66bb5]
16481
16482         * ldap.c:
16483         estrdup, not strdup
16484         [22cdee7973c1]
16485
16486 2005-04-10  Todd C. Miller  <Todd.Miller@courtesan.com>
16487
16488         * parse.c:
16489         Add macro to test if the tag changed to improve readability.
16490         [4e11b4819556]
16491
16492         * parse.c:
16493         Avoid printing defaults header if there are no defaults to print...
16494         [41a28627df03]
16495
16496         * glob.c:
16497         Fix a warning on systems without strlcpy().
16498         [6814e0f0e4f4]
16499
16500         * pwutil.c:
16501         Use macros where possible for sudo_grdup() like sudo_pwdup().
16502         [30f201ff35cd]
16503
16504 2005-04-08  Todd C. Miller  <Todd.Miller@courtesan.com>
16505
16506         * utimes.c:
16507         It is possible for tv_usec to hold >= 1000000 usecs so add in
16508         tv_usec / 1000000.
16509         [794ac4d53a65]
16510
16511 2005-03-30  Todd C. Miller  <Todd.Miller@courtesan.com>
16512
16513         * auth/kerb5.c:
16514         The component in krb5_principal_get_comp_string() should be 1, not 0
16515         for Heimdal. From Alex Plotnick.
16516         [fefa351c5044]
16517
16518 2005-03-29  Todd C. Miller  <Todd.Miller@courtesan.com>
16519
16520         * alias.c, alloc.c, check.c, defaults.c, find_path.c, gram.c, gram.y,
16521         interfaces.c, ldap.c, logging.c, match.c, mon_systrace.c, pwutil.c,
16522         redblack.c, sudo.c, sudo.h, toke.c, toke.l, visudo.c:
16523         Add efree() for consistency with emalloc() et al. Allows us to rely
16524         on C89 behavior (free(NULL) is valid) even on K&R.
16525         [7876bb80d87c]
16526
16527         * parse.c, sudo.c:
16528         Move initgroups() for -U option into display_privs() so group
16529         matching in sudoers works correctly.
16530         [b074428ad2ca]
16531
16532 2005-03-27  Todd C. Miller  <Todd.Miller@courtesan.com>
16533
16534         * ldap.c:
16535         Removed duplicate call to ldap_unbind_s introduced along with
16536         sudo_ldap_close.
16537         [19acc1c20f7c]
16538
16539         * parse.c:
16540         Add missing space in Defaults printing
16541         [95d2935bf6d4]
16542
16543 2005-03-25  Todd C. Miller  <Todd.Miller@courtesan.com>
16544
16545         * pwutil.c:
16546         Sync sudo_pwdup with OpenBSD changes: use macros for size computaton
16547         and string copies.
16548         [6b6b241495e5]
16549
16550 2005-03-19  Todd C. Miller  <Todd.Miller@courtesan.com>
16551
16552         * pwutil.c:
16553         Zero old pw_passwd before replacing with version from shadow file.
16554         [3251b349dfe1]
16555
16556         * configure, configure.in:
16557         Only attempt shadow password detection if PAM is not being used Add
16558         shadow_* variables to make shadow password detection more generic.
16559         [d498a3423ac9]
16560
16561         * configure.in:
16562         Use OSDEFS for os-specific -D_FOO_BAR stuff rather than CPPFLAGS
16563         [04d55bbd5e35]
16564
16565 2005-03-13  Todd C. Miller  <Todd.Miller@courtesan.com>
16566
16567         * sudoers.pod:
16568         use a non-breaking space to avoid a double space after e.g.
16569         [11cdb54bdf7b]
16570
16571         * sudo.pod:
16572         commna, not colon after e.g.
16573         [8d5875ff72e0]
16574
16575 2005-03-12  Todd C. Miller  <Todd.Miller@courtesan.com>
16576
16577         * sudo_noexec.c:
16578         Add __ variants of the exec functions. GNU libc at least uses
16579         __execve() internally.
16580         [d1880473d790]
16581
16582         * indent.pro:
16583         Match reality a bit more.
16584         [633e3fa875a7]
16585
16586         * pwutil.c:
16587         Missed piece from rev. 1.6, fix sudo_getpwnam() too.
16588         [128f7b21c2ee]
16589
16590         * pwutil.c:
16591         Store shadow password after making a local copy of struct passwd in
16592         case normal and shadow routines use the same internal buffer in
16593         libc.
16594         [f806052a6ffc]
16595
16596 2005-03-11  Todd C. Miller  <Todd.Miller@courtesan.com>
16597
16598         * alloc.c, logging.c:
16599         Make varargs usage consistent with the rest of the code.
16600         [3d45affc9851]
16601
16602 2005-03-10  Todd C. Miller  <Todd.Miller@courtesan.com>
16603
16604         * sudo_noexec.c:
16605         Wrap more of the exec family since on Linux the others do not appear
16606         to go through the normal execve() path.
16607         [8167769b4e19]
16608
16609         * visudo.c:
16610         make print_unused static like proto says
16611         [ecf10e1bae55]
16612
16613         * glob.c:
16614         silence a warning on K&R systems
16615         [2e00425f1a5c]
16616
16617         * alias.c, error.c:
16618         make this build in K&R land
16619         [156f65f8525a]
16620
16621         * parse.c:
16622         make this build in K&R land
16623         [6fc9276889cb]
16624
16625 2005-03-08  Todd C. Miller  <Todd.Miller@courtesan.com>
16626
16627         * toke.c:
16628         regen
16629         [3b349748cd21]
16630
16631 2005-03-06  Todd C. Miller  <Todd.Miller@courtesan.com>
16632
16633         * ldap.c:
16634         return(foo) not return foo optimize _atobool() slightly
16635         [11d09d154ed5]
16636
16637         * ldap.c:
16638         Use TRUE/FALSE
16639         [53999320d98f]
16640
16641         * ldap.c:
16642         Reformat to match the rest of sudo's code.
16643         [1bd0f2afa0e7]
16644
16645         * sudo.pod:
16646         I am the primary author
16647         [5d311ecd85c6]
16648
16649 2005-02-23  Todd C. Miller  <Todd.Miller@courtesan.com>
16650
16651         * Makefile.in, README, RUNSON:
16652         The RUNSON file is toast--it confused too many people and really
16653         isn't needed in a configure-oriented world.
16654         [96a6ef7bbc08]
16655
16656         * INSTALL:
16657         alternate -> alternative
16658         [b65015c5d0a2]
16659
16660         * tgetpass.c:
16661         Use TCSADRAIN instead of TCSAFLUSH since some OSes have issues with
16662         TCSAFLUSH.
16663         [c66b4763ffdc]
16664
16665         * toke.l:
16666         Allow leading blanks before Defaults and Foo_Alias definitions
16667         [2add513d9277]
16668
16669         * Makefile.in:
16670         fix rules to build toke.o and gram.o in devel mode
16671         [96cbb414ebd3]
16672
16673 2005-02-20  Todd C. Miller  <Todd.Miller@courtesan.com>
16674
16675         * sudoers.pod:
16676         env_keep overrides set_logname
16677         [401877193a15]
16678
16679         * env.c:
16680         Fix disabling set_logname and make env_keep override set_logname.
16681         [0906e7a5ed93]
16682
16683         * compat.h, config.h.in, configure, configure.in:
16684         No longer need memmove()
16685         [43bdb6efe3f2]
16686
16687         * env.c, sudo.c:
16688         Just clean the environment once. This assumes that any further
16689         setenv/putenv will be able to handle the fact that we replaced
16690         environ with our own malloc'd copy but all the implementations I've
16691         checked do.
16692         [11658fe92ba2]
16693
16694 2005-02-16  Todd C. Miller  <Todd.Miller@courtesan.com>
16695
16696         * env.c, sudo.c:
16697         In -i mode, base the value of insert_env()'s dupcheck flag on
16698         DID_FOO flags. Move checks for $HOME resetting into rebuild_env()
16699         [8365b0bd0c71]
16700
16701 2005-02-13  Todd C. Miller  <Todd.Miller@courtesan.com>
16702
16703         * env.c, sudo.c:
16704         Move setting of user_path, user_shell, user_prompt and prev_user
16705         into init_vars() since user_shell at least is needed there.
16706         [37e22dce66e9]
16707
16708 2005-02-12  Todd C. Miller  <Todd.Miller@courtesan.com>
16709
16710         * Makefile.in:
16711         fix devel builds
16712         [9fbb15ef164c]
16713
16714         * sudo.c:
16715         Fix some printf format mismatches on error.
16716         [ffc1c3f11740]
16717
16718         * check.c:
16719         Fix some printf format mismatches on error.
16720         [7b3b508adf50]
16721
16722         * configure, gram.c, toke.c:
16723         regen
16724         [aa76f9d8b02a]
16725
16726         * Makefile.in, aclocal.m4, alias.c, alloc.c, auth/afs.c,
16727         auth/aix_auth.c, auth/bsdauth.c, auth/dce.c, auth/fwtk.c,
16728         auth/kerb4.c, auth/kerb5.c, auth/pam.c, auth/passwd.c,
16729         auth/rfc1938.c, auth/secureware.c, auth/securid.c, auth/securid5.c,
16730         auth/sia.c, auth/sudo_auth.c, auth/sudo_auth.h, check.c,
16731         closefrom.c, compat.h, configure.in, defaults.c, defaults.h,
16732         emul/utime.h, env.c, error.c, fileops.c, find_path.c, getprogname.c,
16733         getspwuid.c, gettime.c, goodpath.c, gram.y, interfaces.c,
16734         interfaces.h, ldap.c, logging.c, logging.h, match.c, mon_systrace.c,
16735         parse.c, redblack.c, redblack.h, set_perms.c, sigaction.c,
16736         snprintf.c, strcasecmp.c, strerror.c, strlcat.c, strlcpy.c, sudo.c,
16737         sudo.h, sudo.pod, sudo_edit.c, sudo_noexec.c, sudoers.pod,
16738         testsudoers.c, tgetpass.c, toke.l, utimes.c, version.h, visudo.c,
16739         visudo.pod, zero_bytes.c:
16740         Update copyright years.
16741         [0610c3654739]
16742
16743         * Makefile.binary.in:
16744         Update copyright years.
16745         [d78ffc9f2e2b]
16746
16747         * LICENSE:
16748         Update copyright years.
16749         [f60473bca4b1]
16750
16751         * BUGS, INSTALL, INSTALL.binary, Makefile.in, README, configure.in:
16752         version 1.7
16753         [aa977a544ca1]
16754
16755         * WHATSNEW:
16756         What's new in sudo 1.7, based on the 1.7 CHANGES entries.
16757         [ecfcf7269c14]
16758
16759 2005-02-11  Todd C. Miller  <Todd.Miller@courtesan.com>
16760
16761         * compat.h, logging.h, sudo.h:
16762         Add __printflike and use it with gcc to warn about printf-like
16763         format mismatches
16764         [b192ad4a0548]
16765
16766 2005-02-10  Todd C. Miller  <Todd.Miller@courtesan.com>
16767
16768         * CHANGES, ChangeLog:
16769         Replaced CHANGES file with ChangeLog generated from cvs logs
16770         [d9ace9dab98f]
16771
16772         * set_perms.c:
16773         Use warning/error instead of perror/fatal.
16774         [e33259df7738]
16775
16776         * config.guess:
16777         Update OpenBSD section
16778         [9d2c23de6801]
16779
16780         * UPGRADE:
16781         Add upgrading noted for 1.7
16782         [1fb6b6d6df07]
16783
16784         * env.c, sudo.c, sudoers.pod:
16785         Instead of zeroing out the environment, just prune out entries based
16786         on the env_delete and env_check lists. Base building up the new
16787         environment on the current environment and the variables we removed
16788         initially.
16789         [fc192df8fd15]
16790
16791         * config.h.in, configure, configure.in, sudo.c:
16792         Set locale to "C" if locales are supported, just to be safe.
16793         [91fbaa98f02e]
16794
16795         * toke.c, toke.l:
16796         Cast?argument to ctype functions to unsigned char.
16797         [e096b4d65796]
16798
16799 2005-02-08  Todd C. Miller  <Todd.Miller@courtesan.com>
16800
16801         * env.c:
16802         correct value for DID_USER
16803         [b5b05d36ec15]
16804
16805         * error.c, fnmatch.c, getcwd.c, glob.c, snprintf.c:
16806         #include <compat.h> not "compat.h"
16807         [7a0ad9a0ccd7]
16808
16809         * defaults.c:
16810         Reset the environment by default.
16811         [4ecc6423e0f0]
16812
16813         * sudo.c:
16814         Alloc an extra slot in NewArgv. Removes the need to malloc an new
16815         vector if execve() fails.
16816         [83dfb6f584a7]
16817
16818 2005-02-07  Todd C. Miller  <Todd.Miller@courtesan.com>
16819
16820         * INSTALL, config.h.in, configure, configure.in, sudo.c:
16821         Use execve(2) and wrap the command in sh if we get ENOEXEC.
16822         [c0c6af4e2a21]
16823
16824 2005-02-06  Todd C. Miller  <Todd.Miller@courtesan.com>
16825
16826         * sudo_noexec.c:
16827         Only include time.h on systems that lack struct timespec which gets
16828         defind in compat.h (using time_t).
16829         [e373e518b4cb]
16830
16831         * sudo_noexec.c:
16832         Include time.h for time_t in compat.h for systems w/o struct
16833         timespec.
16834         [a34b5637e458]
16835
16836         * compat.h, config.h.in, configure, configure.in:
16837         use bcopy on systems w/o memmove
16838         [f835eafd78c6]
16839
16840         * compat.h:
16841         __attribute__((__unused__)) doesn't work in gcc 2.7.2.1 so limit its
16842         use to gcc >= 2.8.
16843         [1cb9a4e58566]
16844
16845         * Makefile.in:
16846         Add explicit rule to build sudo_noexec.lo
16847         [df1dfcf8dd77]
16848
16849 2005-02-05  Todd C. Miller  <Todd.Miller@courtesan.com>
16850
16851         * INSTALL.configure, Makefile.in:
16852         No longer depend on VPATH; pointed out a bunch of missed
16853         dependencies.
16854         [601a45d4af6b]
16855
16856         * TROUBLESHOOTING:
16857         Help for PAM when account section is missing
16858         [9b8221256756]
16859
16860         * auth/pam.c:
16861         Give user a clue when there is a missing "account" section in the
16862         PAM config.
16863         [2529625c0495]
16864
16865         * auth/pam.c:
16866         Better error handling.
16867         [518c9bda23d8]
16868
16869         * config.h.in, configure, configure.in:
16870         Move _FOO_SOURCE to CPPFLAGS so it takes effect as early as
16871         possible. Silences a warning about isblank() on linux.
16872         [19c94d7ecdc8]
16873
16874         * auth/pam.c:
16875         Fix typo (missing comma) that caused an incorrect number of args to
16876         be passed to log_error().
16877         [0099dfec560f]
16878
16879 2005-02-01  Todd C. Miller  <Todd.Miller@courtesan.com>
16880
16881         * pwutil.c:
16882         Don't try to destroy a tree we didn't create.
16883         [d43c4fe03aa4]
16884
16885 2005-01-27  Todd C. Miller  <Todd.Miller@courtesan.com>
16886
16887         * alias.c, alloc.c, auth/afs.c, auth/aix_auth.c, auth/bsdauth.c,
16888         auth/dce.c, auth/fwtk.c, auth/kerb4.c, auth/kerb5.c, auth/pam.c,
16889         auth/passwd.c, auth/rfc1938.c, auth/secureware.c, auth/securid.c,
16890         auth/securid5.c, auth/sia.c, auth/sudo_auth.c, check.c, closefrom.c,
16891         compat.h, defaults.c, env.c, error.c, fileops.c, find_path.c,
16892         fnmatch.c, getcwd.c, getprogname.c, getspwuid.c, gettime.c,
16893         goodpath.c, gram.c, gram.y, interfaces.c, ldap.c, logging.c,
16894         match.c, mon_systrace.c, parse.c, pwutil.c, set_perms.c,
16895         sigaction.c, snprintf.c, strcasecmp.c, strerror.c, strlcat.c,
16896         strlcpy.c, sudo.c, sudo_edit.c, sudo_noexec.c, testsudoers.c,
16897         tgetpass.c, toke.c, toke.l, utimes.c, visudo.c, zero_bytes.c:
16898         Add __unused to rcsids
16899         [ad6b4ac45705]
16900
16901 2005-01-21  Todd C. Miller  <Todd.Miller@courtesan.com>
16902
16903         * configure, configure.in:
16904         Fix error message when mixing invalid auth types
16905         [68069b3ff5bc]
16906
16907         * INSTALL:
16908         PAM, AIX auth, BSD auth and login_cap are now on by default if the
16909         OS supports them.
16910         [4e44e9098cf0]
16911
16912         * auth/sudo_auth.h, config.h.in:
16913         s/HAVE_AUTHENTICATE/HAVE_AIXAUTH/g
16914         [2d569b43b23e]
16915
16916         * configure.in:
16917         Better checking for conflicting authentication methods Display the
16918         authentication methods used at the end of configure Rename --with-
16919         authenticate -> --with-aixauth Use --with-aixauth, --with-bsdauth,
16920         --with-pam, --with-logincap by default on systems that support them
16921         unless disabled. Add OSMAJOR variable that replaces old OSREV; now
16922         OSREV has full version number
16923         [a21115b6fe9f]
16924
16925 2005-01-18  Todd C. Miller  <Todd.Miller@courtesan.com>
16926
16927         * def_data.c, def_data.in, sudo.c, sudoers.pod:
16928         s/-O/-C/
16929         [ee73f1b81923]
16930
16931 2005-01-14  Todd C. Miller  <Todd.Miller@courtesan.com>
16932
16933         * configure.in:
16934         Replace: test -n "$FOO" || FOO="bar"
16935
16936         With: : ${FOO='bar'}
16937         [37552d9054fc]
16938
16939 2005-01-09  Todd C. Miller  <Todd.Miller@courtesan.com>
16940
16941         * pwutil.c, testsudoers.c, tsgetgrpw.c:
16942         Use function pointers to only call private passwd/group routines
16943         when using a nonstandard passwd/group file.
16944         [215908681dfb]
16945
16946 2005-01-06  Todd C. Miller  <Todd.Miller@courtesan.com>
16947
16948         * CHANGES:
16949         sync
16950         [2e55c03f5790]
16951
16952         * tsgetgrpw.c:
16953         Can't use strtok() since it doesn't handle empty fields so add
16954         getpwent()/getgrent() functions and call those.
16955         [bdaa5b0db70e]
16956
16957 2005-01-05  Todd C. Miller  <Todd.Miller@courtesan.com>
16958
16959         * Makefile.in:
16960         Fix dummied out toke.c and gram.c dependencies.
16961         [4b909c8b2ebe]
16962
16963         * Makefile.in:
16964         Rename PARSESRCS -> GENERATED since it is only used in the clean
16965         target Add devdir variable and use it to specify the path to parser
16966         sources
16967         [f27b3f41ca23]
16968
16969         * configure:
16970         regen
16971         [22c6435dbd46]
16972
16973         * configure.in:
16974         Add a devdir variables that defaults to $(srcdir) and is set to . if
16975         --devel was specified. Allows for proper dependecies building the
16976         parser.
16977         [a36d694c6d21]
16978
16979         * testsudoers.c:
16980         Add support for custom passwd/group files.
16981         [296549ff4b87]
16982
16983         * Makefile.in:
16984         Build private copy of pwutil.o for testsudoers with MYPW defined so
16985         it uses our own passwd/group routines.
16986         [bafa54ec78ca]
16987
16988         * visudo.c:
16989         Remove sudo_*{pw,gr}* stubs and add sudo_setspent/sudo_endspent
16990         stubs instead. We can now just use the caching sudo_*{pw,gr}*
16991         functions in pwutil.c Add comment about wanting to call
16992         sudo_endpwent/sudo_endgrent in cleanup()
16993         [7e59d6b5510d]
16994
16995         * tsgetgrpw.c:
16996         Remove caching; we will just use what is in pwutil.c Use global
16997         buffers for passwd/group structs Rename functions from sudo_* to
16998         my_*
16999         [8c1e068f574c]
17000
17001         * logging.c, sudo.c:
17002         g/c pwcache_init/pwcache_destroy
17003         [60a24909b947]
17004
17005         * sudo.h:
17006         Undo last commit and add sudo_setspent and sudo_endspent instead.
17007         [bac80db08296]
17008
17009         * getspwuid.c, pwutil.c:
17010         Move all but the shadow stuff from getspwuid.c to pwutil.c and
17011         pwcache_get and pwcache_put as they are no longer needed. Also add
17012         preprocessor magic to use private versions of the passwd and group
17013         routines if MYPW is defined (for use by testsudoers).
17014         [a16b8678a426]
17015
17016         * tsgetgrpw.c:
17017         zero out struct passwd/group before filling it in so if there are
17018         fields we don't handle they end up as 0.
17019         [274cb6a93301]
17020
17021         * logging.c, sudo.c, sudo.h, testsudoers.c, visudo.c:
17022         Adapt to pwutil.c
17023         [43ebd04c8b82]
17024
17025         * Makefile.in:
17026         Add tsgetgrpw.c and pwutil.c Rename the *OBJ variables for better
17027         readability.
17028         [7f88c6061e2d]
17029
17030         * tsgetgrpw.c:
17031         Passwd and group lookup routines for testsudoers that support
17032         alternate passwd and group files.
17033         [d7803101d34e]
17034
17035         * getspwuid.c, pwutil.c:
17036         Split off pw/gr cache and dup code into its own file. This allows
17037         visudo and testsudoers to use the pw/gr cache too.
17038         [ef333d3ffedf]
17039
17040 2005-01-02  Todd C. Miller  <Todd.Miller@courtesan.com>
17041
17042         * parse.c:
17043         Print Defaults info in "sudo -l" output and wrap lines based on the
17044         terminal width.
17045         [e559eae4250e]
17046
17047 2005-01-01  Todd C. Miller  <Todd.Miller@courtesan.com>
17048
17049         * match.c, testsudoers.c, visudo.c:
17050         Only check group vector in usergr_matches() if we are matching the
17051         invoking or list user. Always check the group members, even if
17052         there was a group vector.
17053         [d0c7ceb2a041]
17054
17055 2004-12-17  Todd C. Miller  <Todd.Miller@courtesan.com>
17056
17057         * LICENSE, Makefile.in, fnmatch.3:
17058         No longer bundle fnmatch.3
17059         [72db4a4ff4e1]
17060
17061         * CHANGES, TODO:
17062         checkpoint
17063         [e92781bfd99c]
17064
17065 2004-12-16  Todd C. Miller  <Todd.Miller@courtesan.com>
17066
17067         * sudo.c:
17068         sort usage
17069         [15e3b876ec2c]
17070
17071         * sudo.pod:
17072         Sort command line options
17073         [c1fa56584bc4]
17074
17075         * def_data.c, def_data.h, def_data.in, defaults.c, logging.c, sudo.c,
17076         sudo.pod, sudoers.pod:
17077         Add closefrom sudoers option to start closing at a point other than
17078         3. Add closefrom_override sudoers option and -C sudo flag to allow
17079         the user to specify a different closefrom starting point.
17080         [370652b099d1]
17081
17082         * pathnames.h.in:
17083         Add _PATH_DEVNULL for those without it.
17084         [0c4c3e0ceb8b]
17085
17086         * LICENSE:
17087         no more UCB strcasecmp
17088         [397a6298e07f]
17089
17090         * strcasecmp.c:
17091         replace BSD licensed one with version derived from pdksh
17092         [d7cfda8c57a2]
17093
17094 2004-12-10  Todd C. Miller  <Todd.Miller@courtesan.com>
17095
17096         * sudo.c:
17097         Fix last commit.
17098         [7afb9a180532]
17099
17100         * sudo.c:
17101         Make sure stdin, stdout and stderr are open and dup them to
17102         /dev/null if not.
17103         [590f387068bd]
17104
17105 2004-12-03  Todd C. Miller  <Todd.Miller@courtesan.com>
17106
17107         * ldap.c, mon_systrace.c, sudo.c, sudo.h:
17108         add sudo_ldap_close
17109         [4273a36765a7]
17110
17111         * fileops.c, gettime.c, sudo.c, sudo_edit.c, utimes.c, visudo.c:
17112         Use TIME_WITH_SYS_TIME
17113         [c32b59bf15fb]
17114
17115         * config.h.in, configure, configure.in:
17116         Add TIME_WITH_SYS_TIME_H
17117         [57cb146f451d]
17118
17119 2004-12-02  Todd C. Miller  <Todd.Miller@courtesan.com>
17120
17121         * env.c:
17122         Add missing braces to avoid DYLD_FORCE_FLAT_NAMESPACE being set
17123         unconditionally on darwin. From Toby Peterson.
17124         [d69959681c87]
17125
17126         * getspwuid.c:
17127         Check rbinsert() return value. In the case of faked up entries
17128         there is usually a negative response cached that we need to
17129         overwrite.
17130
17131         In pwfree() don't try to zero out a NULL pw_passwd pointer.
17132         [00b32d1a48c1]
17133
17134         * mon_systrace.c:
17135         Use the double fork trick to avoid the monitor process being waited
17136         for by the main program run through sudo.
17137         [e0ce556712ff]
17138
17139 2004-11-29  Todd C. Miller  <Todd.Miller@courtesan.com>
17140
17141         * sudo.c:
17142         Call initgroups() in -U mode so group matches work normally.
17143         [2235bea15283]
17144
17145         * def_data.h, mkdefaults:
17146         Don't print a trailing comma for the last entry in enum def_tupple
17147         [c43a96bb31df]
17148
17149 2004-11-28  Todd C. Miller  <Todd.Miller@courtesan.com>
17150
17151         * sudoers.cat, sudoers.man.in, sudoers.pod:
17152         Mention values when lecture, listpw and verifypw are used in boolean
17153         context.
17154         [a0b5c0abaccf]
17155
17156         * def_data.c, def_data.in:
17157         verifypw when used in a boolean TRUE context should be "all", not
17158         "any".
17159         [2eb076ddd5e2]
17160
17161 2004-11-26  Todd C. Miller  <Todd.Miller@courtesan.com>
17162
17163         * def_data.in, defaults.c:
17164         Allow tuples that can be used as booleans to be used as boolean
17165         TRUE. In this case the 2nd possible value of the tuple is used for
17166         TRUE.
17167         [bd99aa77e88b]
17168
17169 2004-11-25  Todd C. Miller  <Todd.Miller@courtesan.com>
17170
17171         * configure, configure.in:
17172         Correct the test for 2-parameter timespecsub
17173         [d41c9cb26b97]
17174
17175         * sudo.h:
17176         Add strub struct definitions for passwd, timeval and timespec
17177         [c4ce5c43d8c5]
17178
17179         * config.h.in, configure, configure.in, sudo_edit.c, visudo.c:
17180         Add check for 2-argument form of timespecsub (FreeBSD and BSD/OS)
17181         and fix a typo in the gettimeofday check.
17182         [8ac9893057ce]
17183
17184 2004-11-24  Todd C. Miller  <Todd.Miller@courtesan.com>
17185
17186         * match.c, testsudoers.c:
17187         Deal with user_stat being NULL as it is for visudo and testsudoers.
17188         [3605a6ff64d0]
17189
17190         * parse.c, sudo.c, sudo.cat, sudo.h, sudo.man.in, sudo.pod:
17191         Add -U option to use in conjunction with -l instead of -u. Add
17192         support for "sudo -l command" to test a specific command.
17193         [99638789d415]
17194
17195         * gram.c, gram.y, sudo.c:
17196         Set safe_cmnd after sudoers_lookup() if it has not been set.
17197         Previously it was set by sudo "ALL" in the parser but at that point
17198         the fully-qualified pathname has not yet been found.
17199         [ac30d98f8225]
17200
17201 2004-11-23  Todd C. Miller  <Todd.Miller@courtesan.com>
17202
17203         * parse.c, testsudoers.c:
17204         Correctly handle multiple privileges per userspec and runas
17205         inheritence.
17206         [a98a965181af]
17207
17208 2004-11-21  Todd C. Miller  <Todd.Miller@courtesan.com>
17209
17210         * defaults.c:
17211         Zero out sd_un for each entry in sudo_defs_table in init_defaults.
17212         [031d3cd4a848]
17213
17214 2004-11-19  Todd C. Miller  <Todd.Miller@courtesan.com>
17215
17216         * toke.c, toke.l:
17217         make per-command defaults work with sudoedit
17218         [e56fe33db916]
17219
17220         * ldap.c, parse.c, sudo.c, sudo.h:
17221         Remove the FLAG_NOPASS, FLAG_NOEXEC and FLAG_MONITOR flags.
17222         Instead, we just set the approriate defaults variable.
17223         [756eeecc1d86]
17224
17225         * sample.sudoers, sudoers.cat, sudoers.man.in, sudoers.pod:
17226         Document per-command Defaults.
17227         [92a0f84b91c1]
17228
17229         * defaults.c, defaults.h, gram.c, gram.h, gram.y, mon_systrace.c,
17230         sudo.c, testsudoers.c, toke.c, toke.l, visudo.c:
17231         Add support for command-specific Defaults entries. E.g.
17232         Defaults!/usr/bin/vi noexec
17233         [be3d52bf01cf]
17234
17235         * defaults.c, match.c, parse.c, parse.h, testsudoers.c:
17236         Change an occurence of user_matches() -> runas_matches() missed
17237         previously runas_matches(), host_matches() and cmnd_matches() only
17238         really need to pass in a list of members. user_matches() still
17239         needs to pass in a passwd struct because of "sudo -l"
17240         [833b22fc6fa0]
17241
17242         * parse.c:
17243         Check def_authenticate, def_noexec and def_monitor when setting
17244         return flags. XXX May be better to just set the defaults directly
17245         and get rid of those flags.
17246         [b6db22b59d69]
17247
17248         * alias.c, alloc.c, auth/afs.c, auth/aix_auth.c, auth/bsdauth.c,
17249         auth/dce.c, auth/fwtk.c, auth/kerb4.c, auth/kerb5.c, auth/pam.c,
17250         auth/passwd.c, auth/rfc1938.c, auth/secureware.c, auth/securid.c,
17251         auth/securid5.c, auth/sia.c, auth/sudo_auth.c, check.c, closefrom.c,
17252         defaults.c, env.c, error.c, fileops.c, find_path.c, fnmatch.c,
17253         getcwd.c, getprogname.c, getspwuid.c, gettime.c, glob.c, goodpath.c,
17254         gram.c, gram.y, interfaces.c, ldap.c, logging.c, match.c,
17255         mon_systrace.c, parse.c, redblack.c, set_perms.c, snprintf.c,
17256         strcasecmp.c, strerror.c, strlcat.c, strlcpy.c, sudo.c, sudo_edit.c,
17257         sudo_noexec.c, testsudoers.c, tgetpass.c, toke.c, toke.l, utimes.c,
17258         visudo.c, zero_bytes.c:
17259         Use: #include <config.h> Not: #include "config.h" That way we get
17260         the correct config.h when build dir != src dir
17261         [97e5670a442b]
17262
17263         * Makefile.in:
17264         Back out part of rev 1.263; fix -I order
17265         [197ea01cad5d]
17266
17267         * toke.c, toke.l:
17268         More robust parsing if #include; could be much better still.
17269         [31bc3cd8f045]
17270
17271         * sudo_edit.c, visudo.c:
17272         Make arg splitting in visudo and sudoedit consistent.
17273         [7bc74485f246]
17274
17275         * Makefile.in, alias.c, gram.c, gram.y, parse.h:
17276         Split alias routines out into their own file.
17277         [d90f633cf9ae]
17278
17279         * error.h:
17280         __attribute__ is already defined in compat.h
17281         [676ed3fe9203]
17282
17283         * visudo.c:
17284         quit() should not be __noreturn__ as it is non-void on some
17285         platforms.
17286         [e528c2b6ba10]
17287
17288         * auth/fwtk.c, auth/rfc1938.c, auth/securid.c, auth/securid5.c:
17289         Add local error/warning functions like err/warn but that call an
17290         additional cleanup routine in the error case. This means we no
17291         longer need to compile a special version of alloc.o for visudo.
17292         [e78e8aae882e]
17293
17294         * parse.h:
17295         Clarify comments about the data structures
17296         [ae894e266701]
17297
17298 2004-11-18  Todd C. Miller  <Todd.Miller@courtesan.com>
17299
17300         * visudo.c:
17301         Add support for VISUAL and EDITOR containing command line args. If
17302         env_editor is not set any args in VISUAL and EDITOR are ignored.
17303         Arguments are also now supported in def_editor.
17304         [ff7303b8e298]
17305
17306 2004-11-17  Todd C. Miller  <Todd.Miller@courtesan.com>
17307
17308         * parse.h:
17309         alias_matches() is no more
17310         [b59825e28084]
17311
17312         * CHANGES, TODO:
17313         sync
17314         [2b8f5f63c1de]
17315
17316         * Makefile.in:
17317         When regenerating the parser, don't replace gram.h unless it has
17318         changed.
17319         [819949668018]
17320
17321         * Makefile.in:
17322         remove Makefile.binary for distclean
17323         [351eec8d00b2]
17324
17325         * env.c:
17326         Preserve KRB5CCNAME in zero_env() and add a paranoia check to make
17327         sure we can't overflow new_env.
17328         [3284d17b9c6d]
17329
17330         * sudo_edit.c:
17331         paranoia when stripping trailing slashes from tempdir.
17332         [012f1aa2b81f]
17333
17334         * sudo.c:
17335         Set user_ngroups to 0 if getgroups() returns an error.
17336         [c46d43e9449a]
17337
17338 2004-11-16  Todd C. Miller  <Todd.Miller@courtesan.com>
17339
17340         * config.h.in, configure, configure.in, sudo.c:
17341         Add configure check for getgroups()
17342         [5d8a214e2cef]
17343
17344         * ldap.c:
17345         Use supplementary group vector in struct sudo_user.
17346         [3d0c463c034d]
17347
17348         * match.c:
17349         Only do string comparisons on the group members if there is no
17350         supplemental group list.
17351         [be1c8362f7ef]
17352
17353         * CHANGES, TODO:
17354         sync
17355         [db188bc5b975]
17356
17357         * sudo_edit.c:
17358         On Digital UNIX _PATH_VAR_TMP doesn't end with a trailing slash so
17359         chop off any trailing slashes we see and add an explicit one.
17360         [e1b477dafee1]
17361
17362         * match.c:
17363         remove bogus XXX comment
17364         [8aecb8a28d40]
17365
17366         * match.c:
17367         Get rid of alias_matches and correctly fall through to the non-alias
17368         cases when there is no alias with the specified name.
17369         [2cd555246f09]
17370
17371         * getspwuid.c:
17372         Cache non-existent passwd/group entries too.
17373         [8de9a467d271]
17374
17375         * gram.c:
17376         regen
17377         [9ece18c58f36]
17378
17379         * getspwuid.c:
17380         fix typo
17381         [9a7ae371eac1]
17382
17383         * check.c, getspwuid.c, glob.c, ldap.c, logging.c, match.c,
17384         mon_systrace.h, sudo.c, sudo.h, testsudoers.c, visudo.c:
17385         Implement group caching and use the passwd and group caches
17386         throughout.
17387         [f1d8c5015169]
17388
17389 2004-11-15  Todd C. Miller  <Todd.Miller@courtesan.com>
17390
17391         * match.c:
17392         Properly negate the return value of alias_matches() when
17393         appropriate.
17394         [ce59c4ce77ad]
17395
17396         * match.c:
17397         Make hostname_matches() return TRUE for a match, else FALSE like the
17398         caller expects.
17399         [1dc03902d3a2]
17400
17401         * Makefile.in:
17402         Add missing dependencies on gram.h
17403         [4f94bbb1d50c]
17404
17405         * match.c:
17406         Use runas_matches in alias_matches() now that we have it.
17407         [284d22e91178]
17408
17409         * parse.c, parse.h:
17410         Expand aliases in "sudo -l" mode
17411         [f67a38b79c44]
17412
17413         * gram.y, match.c:
17414         Use ALIAS for the member type when storing an alias instead of
17415         HOSTALIAS/RUNASALIAS/CMNDALIAS/USERALIAS since match.c relies on the
17416         more generic type. Expand runas_matches instead of calling
17417         user_matches() inside of it since user_matches() looks up
17418         USERALIASes, not RUNASALIASes.
17419         [52004d75232b]
17420
17421         * CHANGES, getspwuid.c:
17422         Paranoia; zero out pw_passwd before freeing passwd entry.
17423         [bd1b22638f00]
17424
17425         * LICENSE, Makefile.in, alloc.c, check.c, config.h.in, configure,
17426         configure.in, defaults.c, emul/err.h, env.c, err.c, error.c,
17427         error.h, find_path.c, interfaces.c, logging.c, mon_systrace.c,
17428         sudo.c, sudo.h, sudo_edit.c, testsudoers.c, visudo.c:
17429         Add local error/warning functions like err/warn but that call an
17430         additional cleanup routine in the error case. This means we no
17431         longer need to compile a special version of alloc.o for visudo.
17432         [25000b676cfe]
17433
17434         * match.c:
17435         Use userpw_matches() to compare usernames, not strcmp(), since the
17436         latter checks for "#uid".
17437         [fcbe4b859f66]
17438
17439         * getspwuid.c, mon_systrace.c, mon_systrace.h, sudo.c:
17440         Cache passwd db entries in 2 reb-black trees; one indexed by uid,
17441         the other by user name. The data returned from the cache should be
17442         considered read-only and is destroyed by sudo_endpwent().
17443         [ee2418ff3f86]
17444
17445         * match.c:
17446         add cast to uid_t
17447         [eb6415302d84]
17448
17449         * gram.y:
17450         missing free in alias_destroy
17451         [572ecb680ad8]
17452
17453         * redblack.c:
17454         Can't use rbapply() for rbdestroy since the destructor is passed a
17455         data pointer, not a node pointer.
17456         [11ce713830c0]
17457
17458         * getspwuid.c, logging.c, sudo.c, sudo.h:
17459         Create and use private versions of setpwent() and endpwent() that
17460         set/end the shadow password file too.
17461         [616bc76d23bf]
17462
17463         * gram.c, gram.h, gram.y, match.c, parse.h, testsudoers.c, visudo.c:
17464         Store aliases in a red-black tree.
17465         [ce017d540416]
17466
17467         * Makefile.in, redblack.c, redblack.h:
17468         red-black tree implementation
17469         [cd5586e8f48b]
17470
17471         * visudo.c:
17472         Edit all sudoers file if there were unused or undefined aliases and
17473         we are in strict mode.
17474         [b6d5f5bb7262]
17475
17476 2004-11-12  Todd C. Miller  <Todd.Miller@courtesan.com>
17477
17478         * CHANGES, def_data.c, def_data.h, def_data.in, defaults.c, env.c,
17479         find_path.c, sudoers.cat, sudoers.man.in, sudoers.pod, visudo.c:
17480         Bring back the "secure_path" Defaults option now that Defaults take
17481         effect before the path is searched.
17482         [2e52c0e27606]
17483
17484 2004-11-11  Todd C. Miller  <Todd.Miller@courtesan.com>
17485
17486         * logging.c, parse.c:
17487         A user can always list their own entries, even with -u. Better error
17488         message when failing to list another user's entries.
17489         [e2e24deb0071]
17490
17491         * parse.c, sudo.c, sudo.h:
17492         The syntax to list another user's entries is now "-u otheruser -l".
17493         Only root or users with sudo "ALL" may list other user's entries.
17494         [3c0657e8f5fe]
17495
17496         * sudo.cat, sudo.man.in, sudo.pod:
17497         Update env variable info in SECURITY NOTES
17498         [299716071024]
17499
17500         * env.c:
17501         strip CDPATH too
17502         [9b97643b26f9]
17503
17504         * env.c:
17505         strip exported bash functions from the environment.
17506         [9e5090c8284f]
17507
17508 2004-10-27  Todd C. Miller  <Todd.Miller@courtesan.com>
17509
17510         * sudo.c:
17511         Only reset sudo_user.pw based on SUDO_USER environment variables for
17512         real commands and sudoedit. This avoids a confusing message when a
17513         user tries "sudo -l" or "sudo -v" and is denied.
17514         [3ea6d0053274]
17515
17516         * gram.c, gram.y, parse.h:
17517         Extend LIST_APPEND to deal with appending lists too
17518         [d963e42f622f]
17519
17520 2004-10-26  Todd C. Miller  <Todd.Miller@courtesan.com>
17521
17522         * logging.c:
17523         Convert some bitwise AND to ISSET
17524         [130dc40d268e]
17525
17526         * lex.yy.c, toke.c:
17527         toke.c replaces lex.yy.c
17528         [048858df79e7]
17529
17530         * CHANGES, TODO:
17531         sync
17532         [d19e7abf251c]
17533
17534         * BUGS:
17535         new parser fixes most of the outstanding bugs
17536         [0891f66e3758]
17537
17538         * configure:
17539         regen
17540         [1a3358cc7283]
17541
17542         * visudo.c:
17543         Rework for the new parser. Now checks for unused aliases in sudoers.
17544         [ad462ede3094]
17545
17546         * testsudoers.c:
17547         Rewrite for the new parser. Now supports a -d flag (dump) and adds
17548         a -h flag (host). It now defaults to the local hostname unless
17549         otherwise specified.
17550         [1b69685cc601]
17551
17552         * sudo.h:
17553         Add new prototypes. Remove NOMATCH/UNSPEC (now in parse.h)
17554         [2e4fb3abfef0]
17555
17556         * sudo.c:
17557         Update for new parse. We now call find_path() *after* we have
17558         updated the global defaults based on sudoers. Also adds support for
17559         listing other user's privs if you are root.
17560         [cf3db9fc3024]
17561
17562         * mon_systrace.c:
17563         Working LDAP support; also remove a now-unneeded rewind().
17564         [649ecf1baf6b]
17565
17566         * logging.c, logging.h:
17567         Add NO_STDERR flag.
17568         [6cb935af94e0]
17569
17570         * ldap.c:
17571         Split sudo_ldap_check() into three pieces: sudo_ldap_open(),
17572         udo_ldap_update_defaults() and sudo_ldap_check(). This allows us to
17573         connecto to LDAP, apply the default options, find the command in the
17574         user's path, and then check whether the user is allowed to run it.
17575         The important thing here is that the default runas user may be
17576         specified as a default option and that needs to be set before we
17577         search for the command.
17578         [fc0426abc6f1]
17579
17580         * ldap.c:
17581         Add casts to unsigned char for isspace() to quiet a gcc warning.
17582         [e5358e3df439]
17583
17584         * defaults.h:
17585         Add prototype for update_defaults()
17586         [564dac3db74e]
17587
17588         * defaults.c:
17589         Don't warn about line numbers now that we operate on a set of data
17590         structures (or LDAP) and not a file.
17591         [bcd9ffb9b67c]
17592
17593         * config.h.in:
17594         No long use lsearch()
17595         [9d048c587319]
17596
17597         * Makefile.in:
17598         Update for new and changed file names.
17599         [6f424a7c4515]
17600
17601         * LICENSE:
17602         no more BSD lsearch.c
17603         [463a96d89026]
17604
17605         * match.c:
17606         foo_matches() routines now live in match.c Added user_matches(),
17607         runas_matches(), host_matches(), cmnd_matches() and alias_matches()
17608         that operate on the parsed sudoers file.
17609         [b14da8a0567e]
17610
17611         * parse.lex, toke.l:
17612         Move parse.lex -> toke.l Rename buffer_frob() -> switch_buffer()
17613         WORD no longer needs to exclude '@' kill yywrap()
17614         [a922294eb7b7]
17615
17616         * gram.c, gram.h, gram.y, parse.c, parse.h, parse.yacc, sudo.tab.c,
17617         sudo.tab.h:
17618         Rewritten parser that converts sudoers into a set of data
17619         structures. This eliminates ordering issues and makes it possible to
17620         apply sudoers Defaults entries before searching for the command.
17621         [30d2ec4d203c]
17622
17623         * configure.in, emul/search.h, lsearch.c:
17624         We won't be using lsearch() any longer.
17625         [29c4d54bfac0]
17626
17627         * ldap.c:
17628         sudo should not send mail if someone who runs 'sudo -l' has no
17629         entry.
17630         [6fc27a69fd9c]
17631
17632         * sudo.cat, sudo.man.in, sudoers.cat, sudoers.man.in, visudo.cat,
17633         visudo.man.in:
17634         regen
17635         [8166347917f3]
17636
17637         * visudo.pod:
17638         Update warnings to match new visudo
17639         [004c0766798f]
17640
17641         * sudoers.pod:
17642         The new parser doesn't have the old ordering constraints.
17643         [ffd43bd08661]
17644
17645         * sudo.pod:
17646         Document that -l now takes an optional username argument
17647         [278f9557de8b]
17648
17649 2004-10-25  Todd C. Miller  <Todd.Miller@courtesan.com>
17650
17651         * RUNSON:
17652         AIX 5.2.0.0 works
17653         [523acd29d858]
17654
17655         * ldap.c:
17656         If LDAP_OPT_SUCCESS is not defined, use LDAP_SUCCESS instead. Fixes
17657         a compilation problem with Solaris 9's native LDAP.
17658
17659         Set FLAG_MONITOR when needed.
17660         [35824ade672d]
17661
17662 2004-10-23  Todd C. Miller  <Todd.Miller@courtesan.com>
17663
17664         * mon_systrace.c:
17665         Call sudo_goodpath() *after* changing the cwd to match the traced
17666         process. Fixes relative paths.
17667         [12ee111d0ad7]
17668
17669 2004-10-21  Todd C. Miller  <Todd.Miller@courtesan.com>
17670
17671         * testsudoers.c:
17672         Kill set_perms() stub--it is no longer needed.
17673         [116ed702935d]
17674
17675 2004-10-13  Todd C. Miller  <Todd.Miller@courtesan.com>
17676
17677         * sudoers.cat, sudoers.man.in, sudoers.pod:
17678         stay_setuid now requires set_reuid() or setresuid()
17679         [8511f67e25d5]
17680
17681         * INSTALL, PORTING, TROUBLESHOOTING, config.h.in, configure,
17682         configure.in, set_perms.c, sudo.c, sudo.h:
17683         Kill use of POSIX saved uids; they aren't worth bothering with.
17684         [b3b1f19f18c1]
17685
17686 2004-10-07  Todd C. Miller  <Todd.Miller@courtesan.com>
17687
17688         * glob.c:
17689         remove call to issetugid()
17690         [63f2e492c08f]
17691
17692         * sudoers.cat, sudoers.man.in, sudoers.pod:
17693         Remove warning about wildcards. Now that we use glob() the bug is
17694         fixed.
17695         [b15729d32266]
17696
17697         * parse.c:
17698         Use glob(3) instead of fnmatch(3) for matching pathnames and stat
17699         each result that matches the basename of the user's command. This
17700         makes "cd /usr/bin ; sudo ./blah" work when sudoers allows
17701         /usr/bin/blah. Fixes bug #143.
17702         [e31eb6310340]
17703
17704         * config.h.in, configure, configure.in:
17705         Define HAVE_EXTENDED_GLOB for extended glob (GLOB_TILDE and
17706         GLOB_BRACE)
17707         [677ed6661e17]
17708
17709         * config.h.in, configure, configure.in:
17710         Check for a glob() that supports GLOB_BRACE and GLOB_TILDE
17711         [aaa2329dd266]
17712
17713         * LICENSE:
17714         reference glob
17715         [bedc9a923423]
17716
17717         * glob.c:
17718         4.4BSD glob(3) with fixes from OpenBSD and some unneeded extensions
17719         removed.
17720         [81799451473c]
17721
17722         * emul/glob.h:
17723         4.4BSD glob(3) with fixes from OpenBSD and some unneeded extensions
17724         removed.
17725         [0335cf31fb1e]
17726
17727 2004-10-05  Todd C. Miller  <Todd.Miller@courtesan.com>
17728
17729         * mon_systrace.c:
17730         Just return if STRIOCINJECT or STRIOCREPLACE fail. It probably
17731         means we are out of space in the stack gap...
17732         [5b02b702021e]
17733
17734         * CHANGES:
17735         sync
17736         [be3826273e56]
17737
17738         * mon_systrace.c:
17739         Take a stab at ldap sudoers support here.
17740         [9d023695b0de]
17741
17742         * mon_systrace.c, mon_systrace.h:
17743         Detach from tracee on SIGHUP, SIGINT and SIGTERM. Now "sudo reboot"
17744         doesn't cause reboot to inadvertanly kill itself.
17745         [d4aab2365610]
17746
17747         * mon_systrace.c:
17748         put "monitor" in the proctitle, not "systrace"
17749         [9a9025767d86]
17750
17751         * mon_systrace.c:
17752         When modifying the environment, don't replace envp when we can get
17753         away with just rewriting pointers in the traced process.
17754         [c03622f7a2e2]
17755
17756         * mon_systrace.c, mon_systrace.h:
17757         Add environment updating via STRIOCINJECT (if available).
17758         [037291016870]
17759
17760         * sudoers.cat, sudoers.man.in:
17761         regen
17762         [869acc511046]
17763
17764 2004-10-04  Todd C. Miller  <Todd.Miller@courtesan.com>
17765
17766         * lex.yy.c:
17767         regen
17768         [4e61a9bd3c97]
17769
17770         * parse.lex:
17771         Fix bug introduced in unput() removal; want yyless(0) not yyless(1)
17772         [b70d7bd6e147]
17773
17774         * mon_systrace.c:
17775         Include file is now mon_systrace.h
17776         [ead4e36d92ae]
17777
17778         * Makefile.in, configure, configure.in, def_data.c, def_data.h,
17779         def_data.in, lex.yy.c, parse.c, parse.h, parse.lex, parse.yacc,
17780         sudo.c, sudo.h, sudo.tab.c, sudo.tab.h, sudoers.pod:
17781         No longer call it tracing, it is now "monitoring" which should be
17782         more a obvious name to non-hackers.
17783         [aa811ded0789]
17784
17785 2004-10-01  Todd C. Miller  <Todd.Miller@courtesan.com>
17786
17787         * mon_systrace.c, mon_systrace.h:
17788         Fix some XXX
17789         [a271072dacc6]
17790
17791         * mon_systrace.c, mon_systrace.h:
17792         No need to include syscall.h, use 1024 as the max # of entries (the
17793         max that systrace(4) allows).
17794
17795         Only need to use SYSTR_POLICY_ASSIGN once
17796
17797         Change check_syscall() -> find_handler() and have it return the
17798         handler instead of just running it. We need this since handler now
17799         have two parts: one part that generates and answer and another that
17800         gets called after the answer is accepted (to do logging).
17801
17802         Add some missing check_exec for emul execv
17803         [a89d243f0525]
17804
17805         * sample.pam, sample.sudoers, sample.syslog.conf, sudoers:
17806         Add $Sudo$ tags.
17807         [6f3fedb0daba]
17808
17809         * config.h.in:
17810         Add missing HAVE_LINUX_SYSTRACE_H
17811         [ff75ab7bfc53]
17812
17813         * Makefile.in:
17814         add trace_systrace.o dependency
17815         [88a408668ab2]
17816
17817 2004-09-30  Todd C. Miller  <Todd.Miller@courtesan.com>
17818
17819         * configure, configure.in:
17820         Also look for systrace.h in /usr/include/linux
17821         [98b98b436cf3]
17822
17823         * mon_systrace.c, mon_systrace.h:
17824         Move all struct defs and prototypes into trace_systrace.h and mark
17825         all but systace_attach() static.
17826         [85511253b570]
17827
17828         * mon_systrace.c, mon_systrace.h:
17829         Add support for tracing emulations. At the moment, all emulations
17830         are compiled in. It might make sense to #ifdef them in the future,
17831         though this impeeds readability.
17832         [87bb50abf277]
17833
17834         * Makefile.in, configure, configure.in:
17835         rename systrace.c -> trace_systrace.c
17836         [31cfa4407d93]
17837
17838         * parse.yacc, sudo.tab.c:
17839         Allow this to build with a K&R compiler again
17840         [32876af5bb98]
17841
17842         * TODO:
17843         sync
17844         [46865bd70f7c]
17845
17846         * compat.h, sudo.c, visudo.c:
17847         Use __attribute__((__noreturn__))
17848         [65bbad71fe89]
17849
17850         * visudo.c:
17851         Exit() takes a negative value to indicate it was not called via
17852         signal.
17853         [b93032ed7b60]
17854
17855         * sudo.cat, sudo.man.in, sudoers.cat, sudoers.man.in, visudo.cat,
17856         visudo.man.in:
17857         regen
17858         [45bcf4661558]
17859
17860         * Makefile.in, visudo.c:
17861         Define Err() and Errx() that are like err() and errx() but call
17862         Exit() instead of exit(). Build private copy of alloc.o for visudo
17863         that calls Err() and Errx().
17864         [c6d02bf42edd]
17865
17866 2004-09-29  Todd C. Miller  <Todd.Miller@courtesan.com>
17867
17868         * lex.yy.c, sudo.tab.c:
17869         regen
17870         [39de7e7c59da]
17871
17872         * CHANGES:
17873         sync
17874         [ba481d9ed1aa]
17875
17876         * visudo.c:
17877         Overhaul visudo for editing multiple files: o visudo has been
17878         broken out into functions (more work needed here) o each file is
17879         now edited before sudoers is re-parsed o if a #include line is
17880         added that file will be edited too
17881
17882         TODO: o cleanup temp files when exiting via err() or errx() o
17883         continue breaking things out into separate functions
17884         [80c35cf534eb]
17885
17886         * parse.lex, sudo.c, sudo.h, testsudoers.c, visudo.c:
17887         Add keepopen arg to open_sudoers that open_sudoers can use to
17888         indicate to the caller that the fd should not be closed when it is
17889         done with it. To be used by visudo to keep locked fds from being
17890         closed prematurely (and thus losing the lock).
17891         [f330fe632470]
17892
17893         * parse.yacc, sudo.c:
17894         Add errorfile global that contains the name of the file that caused
17895         the error.
17896         [98079c7a37ed]
17897
17898         * parse.lex:
17899         return COMMENT to yacc grammar for a #include line
17900         [2024a8de4fa8]
17901
17902         * parse.lex:
17903         Remove us of unput() in favor of yyless() which is cheaper.
17904         [c61291902beb]
17905
17906         * parse.yacc:
17907         Allow an empty sudoers file.
17908         [62fb111db2e7]
17909
17910 2004-09-28  Todd C. Miller  <Todd.Miller@courtesan.com>
17911
17912         * mon_systrace.c:
17913         Rewind sudoers_fp now that sudoers_lookup() doesn't do it for us.
17914         [9e15869ef597]
17915
17916         * lex.yy.c, sudo.tab.c:
17917         regen
17918         [c29bdd43bfad]
17919
17920         * visudo.c:
17921         Do signal setup before calling edit_sudoers(). Don't shadow the
17922         "quiet" global.
17923         [74252efd09ff]
17924
17925         * visudo.c:
17926         If a sudoers file includes other files, edit those too. Does not yes
17927         deal with creating the new includes files itself.
17928         [06af7b9c173f]
17929
17930         * testsudoers.c:
17931         init_parser now takes a path
17932         [b5ee186eb192]
17933
17934         * parse.c, parse.h, parse.lex, parse.yacc:
17935         More scaffolding for dealing with multiple sudoers files: o
17936         init_parser() now takes a path used to populate the sudoers global
17937         o the sudoers global is used to print the correct file in yyerror()
17938         o when switching to a new sudoers file, perserve old file name and
17939         line number
17940         [d9be4970b8bd]
17941
17942         * Makefile.in, pathnames.h.in:
17943         Kill _PATH_SUDOERS_TMP; it is not meaningful now that we can have
17944         multiple sudoers files.
17945         [6ccc4e921c43]
17946
17947         * parse.c, sudo.c:
17948         Rewind sudoers_fp in open_sudoers() instead of sudoers_lookup() so
17949         we start at the right file position when reading include files.
17950         [91fcb961e7a4]
17951
17952         * sudoers.pod:
17953         document #include
17954         [fbb92a25a726]
17955
17956         * lex.yy.c:
17957         regen
17958         [50cd7a4c9dff]
17959
17960         * parse.lex:
17961         Add max depth of 128 for the include stack to avoid loops.
17962
17963         Since yyerror() doesn't stop parsing, pass return values back to
17964         yylex and call yyterminate() on error.
17965         [e79dbffb729d]
17966
17967 2004-09-27  Todd C. Miller  <Todd.Miller@courtesan.com>
17968
17969         * sudoers.pod:
17970         document tracing
17971         [165a467eadd8]
17972
17973         * sudo.pod:
17974         Mention PREVENTING SHELL ESCAPES section of sudoers man page
17975         [3217ccecd834]
17976
17977         * lex.yy.c, sudo.tab.c:
17978         regen
17979         [fbd58d1d3a76]
17980
17981         * parse.lex:
17982         Add support for #include in sudoers (visudo support TBD)
17983         [a78015ca81af]
17984
17985         * parse.yacc:
17986         make yyerror()'s argument const
17987         [7d8e168c019a]
17988
17989         * testsudoers.c, visudo.c:
17990         Add open_sudoers() stubs.
17991         [087466787198]
17992
17993         * sudo.c, sudo.h:
17994         Rename check_sudoers() open_sudoers() and make it return a FILE *
17995         [142fc511fc65]
17996
17997 2004-09-26  Todd C. Miller  <Todd.Miller@courtesan.com>
17998
17999         * BUGS, INSTALL, INSTALL.binary, Makefile.in, README, configure.in,
18000         version.h:
18001         Crank version
18002         [1adc3f839480]
18003
18004         * Makefile.in, sudo.psf:
18005         Better HP-UX depot construction
18006         [2d952b000e63]
18007
18008 2004-09-25  Todd C. Miller  <Todd.Miller@courtesan.com>
18009
18010         * mon_systrace.c:
18011         o Made children global so check_exec() can lookup a child. o
18012         Replaced uid in struct childinfo with struct passwd * (for runas) o
18013         new_child() now takes a parent pid so the runas info can be
18014         inherited o Added find_child() to lookup a child by its pid o
18015         update_child() now fills in a struct passwd o Converted the big
18016         if/else mess in set_policy to a switch o Syscalls that change uid
18017         are now "ask" so we get SYSTR_MSG_UGID events
18018         [29b9ea3f09a3]
18019
18020         * getspwuid.c:
18021         Add flag to sudo_pwdup that indicates whether or not to lookup the
18022         shadow password. Will be used to a struct passwd that has the
18023         shadow password already filled in.
18024         [e19d43dd7238]
18025
18026         * mon_systrace.c:
18027         add missing increment of addr in read_string()
18028         [f9eb0f060cb6]
18029
18030         * mon_systrace.c:
18031         Remove bogus call to update_child() and some cosmetic fixes
18032         [701ab0b97fef]
18033
18034         * mon_systrace.c:
18035         Don't leak /dev/systrace fd to tracee Make initialized global for
18036         simplicity If STRIOCATTACH returns EBUSY we are already being traced
18037         Check for user_args == NULL in setproctitle() call Add missing calls
18038         to STRIOCANSWER
18039         [1956edf9bc3a]
18040
18041         * sudo.c:
18042         g/c sudo_pwdup proto
18043         [b7c4d6249ecb]
18044
18045         * Makefile.in, sudo.psf:
18046         Add target for building a depot file
18047         [357019efd99b]
18048
18049         * mon_systrace.c:
18050         trim includes
18051         [501534428471]
18052
18053 2004-09-24  Todd C. Miller  <Todd.Miller@courtesan.com>
18054
18055         * lex.yy.c, sudo.tab.c, sudo.tab.h:
18056         regen
18057         [52fd250c6986]
18058
18059         * INSTALL:
18060         document --with-systrace
18061         [79623927c94e]
18062
18063         * config.h.in, configure, configure.in:
18064         Add check for setproctitle
18065         [1730cf1c26ed]
18066
18067         * mon_systrace.c:
18068         pass struct str_msg_ask in to syscall checker so it can set the
18069         error code
18070         [1703fd2fdef6]
18071
18072         * mon_systrace.c:
18073         systrace(4) support for sudo. On systems with the systrace(4)
18074         kernel facility (OpenBSD, NetBSD, Linux w/ patches) sudo can
18075         intercept exec calls and check the exec args against the sudoers
18076         file. In other words, sudo can now control subcommands and shell
18077         escapes.
18078         [928c9217c386]
18079
18080         * sudo.c, sudo.h:
18081         Call systrace_attach() if FLAG_TRACE is set.
18082         [014ba9402fa5]
18083
18084         * parse.c, parse.h, parse.lex, parse.yacc, sudo.h:
18085         Add trace Defaults option and TRACE/NOTRACE tags and set FLAG_TRACE
18086         [a99904db5e56]
18087
18088         * parse.c, sudo.c:
18089         Don't close sudoers_fp, keep it open and set close on exec flag
18090         instead.
18091         [43a9fec60bee]
18092
18093         * def_data.c, def_data.h, def_data.in:
18094         Add trace option
18095         [5b643b86730a]
18096
18097         * Makefile.in:
18098         Add systrace
18099         [47a0519c427c]
18100
18101         * INSTALL:
18102         SunOS /bin/sh blows up with configure
18103         [005a23cc5615]
18104
18105         * configure, configure.in:
18106         Include sys/param.h before systrace.h
18107         [9345bc8efecf]
18108
18109         * configure:
18110         regen
18111         [a8f53fcbb254]
18112
18113         * pathnames.h.in:
18114         _PATH_DEV_SYSTRACE
18115         [d2ad1e492a00]
18116
18117         * configure.in:
18118         line up options in --help
18119         [fa51f2821d09]
18120
18121         * config.h.in, configure.in:
18122         Add --with-systrace
18123         [a264d54bc413]
18124
18125 2004-09-23  Todd C. Miller  <Todd.Miller@courtesan.com>
18126
18127         * configure:
18128         regen
18129         [a4dad0bcc523]
18130
18131         * aclocal.m4, configure.in:
18132         make this work with autoconf-2.59
18133         [c4a92b6a684a]
18134
18135 2004-09-16  Todd C. Miller  <Todd.Miller@courtesan.com>
18136
18137         * sudo_edit.c:
18138         Simplify logic around open & stat of files and do sanity on edited
18139         file even if we lack fstat (still racable but worth doing).
18140         [adda65ade70c]
18141
18142 2004-09-15  Todd C. Miller  <Todd.Miller@courtesan.com>
18143
18144         * HISTORY:
18145         Add support url
18146         [bf6590fbde9f]
18147
18148         * Makefile.in:
18149         versino 1.6.8p1
18150         [b84ebfaf1552] [SUDO_1_6_8p1]
18151
18152         * CHANGES:
18153         more changes for 1.6.8p1
18154         [e23a9c0393b6]
18155
18156         * version.h:
18157         1.6.8p1
18158         [872f14504b5f]
18159
18160         * CHANGES, sudo_edit.c:
18161         Add sanity check so we don't try to edit something other than a
18162         regular file.
18163         [350134ec6d4e]
18164
18165 2004-09-15  Aaron Spangler  <aaron777@gmail.com>
18166
18167         * CHANGES:
18168         sync
18169         [3091ca9eae00]
18170
18171         * INSTALL:
18172         document --with-ldap-conf-file
18173         [0e2cd6b896f1]
18174
18175 2004-09-14  Todd C. Miller  <Todd.Miller@courtesan.com>
18176
18177         * CHANGES, ins_csops.h:
18178         political correctness strikes again
18179         [428e8bc77f55]
18180
18181         * RUNSON:
18182         sync
18183         [27f44bd423dc]
18184
18185 2004-09-12  Todd C. Miller  <Todd.Miller@courtesan.com>
18186
18187         * Makefile.binary.in, Makefile.in:
18188         Install sudoedit man link
18189         [19a55234fc1f]
18190
18191         * INSTALL:
18192         Update PAM note and mention where HP-UX users can download gcc
18193         binaries.
18194         [d37cdbbabfd4]
18195
18196         * Makefile.in:
18197         libtool wants to install stuff from .libs so fake one up for binary
18198         installations.
18199         [a681bc6fcfba]
18200
18201         * Makefile.binary.in:
18202         rm -f old sudoedit link instead of using ln -f set LIBTOOL correctly
18203         [3e0c4b3372cc]
18204
18205         * Makefile.in:
18206         Deal with "uname -m" having slashes in it rm -f old sudoedit link
18207         instead of using ln -f
18208         [cff33fb97e5b]
18209
18210         * Makefile.binary, Makefile.binary.in:
18211         Makefile.binary -> Makefile.binary.in for config.status substitution
18212         Add support for installing noexec bits
18213         [37d8bb3483c6]
18214
18215         * Makefile.in:
18216         Copy noexec bits into binary dists too No longer use my old arch
18217         script for making binary dists
18218         [e7058bab9e33]
18219
18220         * Makefile.binary:
18221         Install sudoedit link.
18222         [417d1e101711]
18223
18224 2004-09-11  Todd C. Miller  <Todd.Miller@courtesan.com>
18225
18226         * emul/utime.h:
18227         avoid __P so there is no need for compat.h to be included
18228         [6d8d1f1abf7d]
18229
18230         * utimes.c:
18231         Don't use HAVE_UTIME_H before including config.h.
18232         [013b7bb61181]
18233
18234 2004-09-10  Todd C. Miller  <Todd.Miller@courtesan.com>
18235
18236         * compat.h:
18237         Fix Solatis futimes macro
18238         [d4eda2ca0d29]
18239
18240 2004-09-09  Todd C. Miller  <Todd.Miller@courtesan.com>
18241
18242         * sudo_edit.c:
18243         Rename ots -> omtim for improved readability.
18244         [127ca5bb297c]
18245
18246 2004-09-08  Todd C. Miller  <Todd.Miller@courtesan.com>
18247
18248         * sudo_edit.c:
18249         Redo changes in revision 1.7. Don't really need to keep the temp
18250         file open; re-opening it with the invoking user's euid is
18251         sufficient.
18252         [55a883165a95]
18253
18254         * CHANGES:
18255         sync
18256         [9015b291170d]
18257
18258         * sudo.cat, sudo.man.in:
18259         regen
18260         [c0313f6ed783]
18261
18262         * sudo.pod:
18263         back out revision 1.70; it is no long applicable
18264         [b641d503aff6]
18265
18266         * env.c:
18267         Let the loader initialize nep
18268         [bec192139b02]
18269
18270         * config.h.in, configure, configure.in:
18271         Removed unneed check for fchown Add check for gettimeofday Move
18272         autoheader template stuff into separate AH_TEMPLATE lines
18273         [bfc0edbd43f2]
18274
18275         * check.c, compat.h, fileops.c, sudo.h, sudo_edit.c, visudo.c:
18276         Use timespec throughout.
18277         [1a178a23b69b]
18278
18279         * Makefile.in:
18280         gettime.[co]
18281         [6aeb48a7ab7f]
18282
18283         * gettime.c:
18284         function to return the current time in a struct timespec
18285         [bf8eb12cb63f]
18286
18287         * utimes.c:
18288         Not a darpa-sponsored file.
18289         [121ce5e2036c]
18290
18291 2004-09-07  Todd C. Miller  <Todd.Miller@courtesan.com>
18292
18293         * compat.h, config.h.in, configure, configure.in:
18294         Add a check for struct timespec and provide it for those without.
18295         [42124055030d]
18296
18297         * config.h.in, configure, configure.in, sudo_edit.c:
18298         Add checks for st_mtim and st_mtimespec and add macros for pulling
18299         the mtime sec and nsec out of struct stat. These are used in
18300         sudo_edit() to better tell whether or not the file has changed.
18301         [23debfbb3fab]
18302
18303         * check.c, fileops.c, sudo.h, sudo_edit.c, visudo.c:
18304         Add an extra param to touch() for nsec
18305         [56f7a4ba8ddb]
18306
18307         * sudo_edit.c:
18308         Call mkstemp() as the in invoking user so we don't have to chown the
18309         file later. Only touch() the temp file if we can do it via the file
18310         descriptor. Don't check for modification of the temp file if we lack
18311         fstat(). Catch errors read()ing the temp file.
18312         [665f52c70836]
18313
18314         * fileops.c:
18315         If path is NULL and fd == -1 return -1.
18316         [757a518a824c]
18317
18318         * sudo_edit.c:
18319         closefrom() is overkill, the only extra fds are the ones we opened
18320         so just close those in the child.
18321         [f361c9d2a1f4]
18322
18323         * Makefile.in, aclocal.m4, check.c, compat.h, config.h.in, configure,
18324         configure.in, fileops.c, sudo.h, sudo_edit.c, utime.c, utimes.c,
18325         visudo.c:
18326         Use utimes() and futimes() instead of utime() in touch(), emulating
18327         as needed. Not all systems are able to support setting the times of
18328         an fd so touch() takes both an fd and a file name as arguments.
18329         [3d9276f29717]
18330
18331 2004-09-07  Aaron Spangler  <aaron777@gmail.com>
18332
18333         * env.c:
18334         Rare SEGV
18335         [8995f828782d]
18336
18337 2004-09-06  Todd C. Miller  <Todd.Miller@courtesan.com>
18338
18339         * sudo.cat, sudo.man.in, sudoers.cat, sudoers.man.in, visudo.cat,
18340         visudo.man.in:
18341         regen
18342         [b8e9406711c5]
18343
18344         * sudo.pod, sudoers.pod, visudo.pod:
18345         Add SUPPORT section and re-order some of the sections to match the
18346         order we use in OpenBSD.
18347         [fa37bd917e2c]
18348
18349 2004-09-06  Aaron Spangler  <aaron777@gmail.com>
18350
18351         * env.c:
18352         Openldap ~/.ldaprc fix
18353         [1a37afe6850f]
18354
18355 2004-09-06  Todd C. Miller  <Todd.Miller@courtesan.com>
18356
18357         * sudo.pod:
18358         Talk about how the editor must write its changes to the original
18359         file and not just use rename(2).
18360         [c55ed91c5ee9]
18361
18362         * CHANGES:
18363         sync
18364         [62af26bd37a2]
18365
18366         * sudo_edit.c:
18367         Keep the temp file open instead of re-opening after the editor has
18368         exited.
18369         [de41eeb6dcf2]
18370
18371         * sample.pam:
18372         Update for current redhat/fedora core.
18373         [8cf083077333]
18374
18375 2004-09-03  Aaron Spangler  <aaron777@gmail.com>
18376
18377         * README.LDAP:
18378         tls_ examples
18379         [ba783d88a034]
18380
18381 2004-09-02  Aaron Spangler  <aaron777@gmail.com>
18382
18383         * ldap.c:
18384         config tls_* options
18385         [0b0e0797b3b9]
18386
18387 2004-08-29  Todd C. Miller  <Todd.Miller@courtesan.com>
18388
18389         * configure, configure.in:
18390         No need for -lcrypt when using pam.
18391         [41fff3a53e68]
18392
18393 2004-08-27  Todd C. Miller  <Todd.Miller@courtesan.com>
18394
18395         * configure:
18396         regen
18397         [75820aecce2c]
18398
18399 2004-08-27  Aaron Spangler  <aaron777@gmail.com>
18400
18401         * configure.in, ldap.c, pathnames.h.in:
18402         Allow --with-ldap-conf-file option to override LDAP_CONF
18403         [c9909bc484a5]
18404
18405         * ldap.c:
18406         cleanup debug message
18407         [1f6ca4824d8d]
18408
18409 2004-08-26  Aaron Spangler  <aaron777@gmail.com>
18410
18411         * README.LDAP:
18412         more config info
18413         [f2e7147fd507]
18414
18415 2004-08-24  Todd C. Miller  <Todd.Miller@courtesan.com>
18416
18417         * TODO, find_path.c, goodpath.c, parse.c, sudo.c, sudo.h, visudo.c:
18418         Add cmnd_base to struct sudo_user and set it in init_vars(). Add
18419         cmnd_stat to struct sudo_user and set it in sudo_goodpath(). No
18420         longer use gross statics in command_matches(). Also rename some
18421         variables for improved clarity.
18422         [7169a6c7bea4]
18423
18424 2004-08-21  Todd C. Miller  <Todd.Miller@courtesan.com>
18425
18426         * INSTALL:
18427         document HP's crippled compiler deficiency.
18428         [c405ea5a8d4c]
18429
18430         * INSTALL:
18431         Fix some thinkos in --with-editor and --with-env-editor
18432         descriptions. Noticed by Norihiko Murase.
18433         [dd781de1c985]
18434
18435         * configure, configure.in:
18436         --with-noexec takes an optional PATH argument.
18437         [8f6ab77f22cc]
18438
18439         * INSTALL:
18440         document --with-noexec
18441         [50cb1fc627ce]
18442
18443 2004-08-17  Todd C. Miller  <Todd.Miller@courtesan.com>
18444
18445         * RUNSON, TODO:
18446         sync
18447         [f2503bd13373] [SUDO_1_6_8]
18448
18449         * sudo_edit.c:
18450         Better warning message when sudoedit is unable to write to the
18451         destination file.
18452         [f78c18f2ffa8]
18453
18454         * sudo.cat, sudo.man.in:
18455         regen
18456         [7e2bf63d6d9a]
18457
18458         * sudo.pod:
18459         Don't italicize the string "sudoedit"
18460         [c691643bd269]
18461
18462 2004-08-16  Todd C. Miller  <Todd.Miller@courtesan.com>
18463
18464         * HISTORY:
18465         Mention GratiSoft.
18466         [dc53de581b2d]
18467
18468 2004-08-11  Todd C. Miller  <Todd.Miller@courtesan.com>
18469
18470         * sudo.tab.c:
18471         regen
18472         [8ae0484dfc38]
18473
18474         * parse.yacc:
18475         Reset used_runas to FALSE when re-intializing the parser.
18476         [b7403f353a02]
18477
18478 2004-08-09  Todd C. Miller  <Todd.Miller@courtesan.com>
18479
18480         * config.guess:
18481         Correct OpenBSD mips support
18482         [314fc7afc165]
18483
18484         * config.guess:
18485         Add OpenBSD/mips
18486         [ac87d0a773ef]
18487
18488 2004-08-07  Aaron Spangler  <aaron777@gmail.com>
18489
18490         * README.LDAP:
18491         More behavior notes
18492         [13be1d212b47]
18493
18494         * README.LDAP:
18495         Updates on current behavior
18496         [d498a8866d6f]
18497
18498 2004-08-06  Todd C. Miller  <Todd.Miller@courtesan.com>
18499
18500         * sudoers.pod:
18501         =back does not take an indentlevel (makes no difference to formatted
18502         files).
18503         [9c8523bb382a]
18504
18505         * sudo.pod:
18506         =back does not take an indentlevel (makes no difference to formatted
18507         files).
18508         [e5f479e24fa8]
18509
18510         * CHANGES:
18511         new
18512         [2dbd9aba8b33]
18513
18514         * sudo.c:
18515         Consistency. Use same error for bad -u #uid when targetpw is set as
18516         we do when a bad -u username is specified.
18517         [922961c4a9d6]
18518
18519         * TODO:
18520         Add checksum idea from Steve Mancini
18521         [e6ece1b766ba]
18522
18523         * sudoers.cat, sudoers.man.in:
18524         regen
18525         [370d2317829f]
18526
18527         * sudo.cat, sudo.man.in:
18528         regen
18529         [f93d41fc38b1]
18530
18531         * sudo.pod, sudoers.pod:
18532         Document the restriction on uids specified via -u when targetpw is
18533         set.
18534         [878fedb455db]
18535
18536         * sudo.c:
18537         Error out when targetpw is enabled and sudo is run with -u #uid but
18538         #uid does not exist in the passwd database. We can't do target
18539         authentication when the target is not in passwd!
18540         [27c5888c86eb]
18541
18542         * sudo.cat, sudo.man.in, sudoers.cat, sudoers.man.in:
18543         regen
18544         [ceb65711050c]
18545
18546         * TODO:
18547         Some more todo for the next release.
18548         [7b7417be7601]
18549
18550         * INSTALL:
18551         Make it clear that PAM should be used for DCE support when possible.
18552         [7502029fd385]
18553
18554         * sudoers.pod:
18555         o Document problems with wildcards and relative paths. o Make the
18556         order requirements more prominent. o Change a "set" to "reset" for
18557         clarity.
18558         [bacdd181b33f]
18559
18560 2004-08-05  Todd C. Miller  <Todd.Miller@courtesan.com>
18561
18562         * sudo.pod:
18563         Mention --with-secure-path, not SECURE_PATH.
18564         [41283ddde5e1]
18565
18566 2004-08-03  Aaron Spangler  <aaron777@gmail.com>
18567
18568         * ldap.c:
18569         reflect changes to parse.c
18570         [8880fe9b724d]
18571
18572 2004-08-02  Todd C. Miller  <Todd.Miller@courtesan.com>
18573
18574         * sudo.tab.c:
18575         regen
18576         [a57658ca9177]
18577
18578         * parse.c, parse.h, testsudoers.c, visudo.c:
18579         Don't pass user_cmnd and user_args to command_matches(), just use
18580         the globals there. Since we keep state with statics anyway it is
18581         misleading to pretend that passing in different cmnd and cmnd_args
18582         will work.
18583         [0a2544991fd6]
18584
18585         * parse.yacc:
18586         Don't pass user_cmnd and user_args to command_matches(), just use
18587         the globals there. Since we keep state with statics anyway it is
18588         misleading to pretend that passing in different cmnd and cmnd_args
18589         will work.
18590         [a4910bf6032b]
18591
18592         * parse.c:
18593         Fix a bug introduced in rev. 1.149. When checking for pseudo-
18594         commands check for a '/' anywhere in cmnd, not just the first
18595         character.
18596         [ce98142f03ca]
18597
18598 2004-07-31  Aaron Spangler  <aaron777@gmail.com>
18599
18600         * sudo.man.in, sudo.pod:
18601         Clarification thanks to Olivier Blin <oblin@mandrakesoft.com>
18602         [a91800e094b1]
18603
18604         * sudoers.man.in, sudoers.pod:
18605         Add ignore_local_sudoers
18606         [741ddcbf7083]
18607
18608         * README.LDAP:
18609         Sun One schema definition by Andreas.Bussjaeger@t-systems.com and
18610         janth@moldung.no
18611         [742c02e07cd9]
18612
18613 2004-07-29  Todd C. Miller  <Todd.Miller@courtesan.com>
18614
18615         * CHANGES:
18616         typo
18617         [e7cdefbd7a9a]
18618
18619 2004-07-23  Todd C. Miller  <Todd.Miller@courtesan.com>
18620
18621         * CHANGES:
18622         sync
18623         [734dafc4a85e]
18624
18625         * parse.c:
18626         Parse sudoers file as PERM_RUNAS not PERM_ROOT and remove a useless
18627         PERM_SUDOERS. Restore to PERM_ROOT upon exit of the parse.
18628         [151b7f593568]
18629
18630 2004-07-08  Todd C. Miller  <Todd.Miller@courtesan.com>
18631
18632         * CHANGES:
18633         PAM change
18634         [d8fb6d6a22d0]
18635
18636 2004-07-08  Aaron Spangler  <aaron777@gmail.com>
18637
18638         * ldap.c:
18639         Better debugging of ALL command
18640         [9db3e84029dc]
18641
18642 2004-07-08  Todd C. Miller  <Todd.Miller@courtesan.com>
18643
18644         * parse.c:
18645         When matching for "sudoedit" in sudoers check both the command the
18646         user typed *and* the command that is listed in the sudoers entry.
18647         [f36ca1f94095]
18648
18649 2004-07-04  Aaron Spangler  <aaron777@gmail.com>
18650
18651         * ldap.c:
18652         Added !command feature
18653         [ed539574611b]
18654
18655 2004-06-28  Todd C. Miller  <Todd.Miller@courtesan.com>
18656
18657         * auth/pam.c:
18658         Use pam_acct_mgmt() to check for disabled accounts; Brian Farrell
18659         [2be8e0e8813a]
18660
18661 2004-06-11  Todd C. Miller  <Todd.Miller@courtesan.com>
18662
18663         * LICENSE:
18664         License is ISC-style, not BSD-style
18665         [ac0589e1dd5d]
18666
18667         * CHANGES:
18668         sync
18669         [16058a30f404]
18670
18671 2004-06-10  Todd C. Miller  <Todd.Miller@courtesan.com>
18672
18673         * sudo.cat, sudo.man.in:
18674         regen
18675         [8820eb9c809b]
18676
18677         * sudo.pod:
18678         o Update some out of date bits to reality o Change the shell promt
18679         in examples to bourne-shell style o Clarify some details o Add a
18680         CAVEAT about "sudo cd /foo"
18681         [b0af373214b6]
18682
18683         * check.c:
18684         Don't ask for a password if invoking user == target user.
18685         [dd5c96141132]
18686
18687         * sudo.c:
18688         typo in comment
18689         [278d20f9b249]
18690
18691 2004-06-08  Todd C. Miller  <Todd.Miller@courtesan.com>
18692
18693         * sudoers.cat, sudoers.man.in:
18694         regen
18695         [9036c6f39eff]
18696
18697         * sudoers.pod:
18698         Expand on NOEXEC a little.
18699         [9a13756aebe4]
18700
18701         * TODO:
18702         sync
18703         [8d2c1af48de8]
18704
18705         * visudo.cat, visudo.man.in:
18706         regen
18707         [3921f01607c8]
18708
18709         * sudo.tab.c:
18710         regen
18711         [9338c3d68250]
18712
18713         * visudo.pod:
18714         Add a check in visudo for runas_default being set after it has
18715         already been used.
18716         [6700358d7ad8]
18717
18718         * CHANGES, parse.yacc, visudo.c:
18719         Add a check in visudo for runas_default being set after it has
18720         already been used.
18721         [803560986a8a]
18722
18723         * sudo.tab.c:
18724         regen
18725         [b60636e2cf63]
18726
18727         * parse.yacc:
18728         Add a MATCHED macro for testing whether foo_matches has been set to
18729         TRUE or FALSE. This is more readable than checking for >=0 or < 0.
18730         Doesn't change the actual code generated.
18731         [f376da8ccdc8]
18732
18733 2004-06-07  Todd C. Miller  <Todd.Miller@courtesan.com>
18734
18735         * sudoers.cat:
18736         regen
18737         [6cceb6d6c9bd]
18738
18739         * sudoers.man.in:
18740         regen
18741         [5acd12b730b3]
18742
18743         * sudoers.pod:
18744         Correct description of where Defaults specs should go.
18745         [6b11ff53d7ad]
18746
18747         * sudoers:
18748         Correct description of where Defaults specs should go.
18749         [868db857630d]
18750
18751         * testsudoers.c, visudo.c:
18752         update (c) year
18753         [272c8a53604c]
18754
18755         * logging.h:
18756         update (c) year
18757         [3cec76d400ce]
18758
18759         * ldap.c:
18760         update (c) year
18761         [f264632488a0]
18762
18763         * find_path.c:
18764         update (c) year
18765         [40c227af9227]
18766
18767         * auth/pam.c:
18768         update (c) year
18769         [87149e0eed50]
18770
18771         * auth/bsdauth.c, auth/kerb5.c:
18772         update (c) year
18773         [d72eb434c068]
18774
18775 2004-06-06  Todd C. Miller  <Todd.Miller@courtesan.com>
18776
18777         * sudo.tab.c:
18778         regen
18779         [83408d9e9d2e]
18780
18781         * auth/bsdauth.c, auth/kerb5.c, auth/pam.c, visudo.c:
18782         Remove trailing spaces, no actual code changes.
18783         [4c3bf2819293]
18784
18785         * tgetpass.c:
18786         Remove trailing spaces, no actual code changes.
18787         [96f6e0a24c26]
18788
18789         * ldap.c, logging.h, parse.c, parse.yacc, sudo.c, testsudoers.c:
18790         Remove trailing spaces, no actual code changes.
18791         [c7075d1cbed5]
18792
18793         * getcwd.c:
18794         Remove trailing spaces, no actual code changes.
18795         [776cc0374547]
18796
18797         * find_path.c:
18798         Remove trailing spaces, no actual code changes.
18799         [7ed7099f3c71]
18800
18801         * compat.h, defaults.c, env.c:
18802         Remove trailing spaces, no actual code changes.
18803         [893e83c33795]
18804
18805         * check.c:
18806         Remove trailing spaces, no actual code changes.
18807         [f77750f8803b]
18808
18809         * sudo.tab.c:
18810         regen
18811         [62e0ed883b31]
18812
18813         * parse.yacc:
18814         Fix a >=0 that should be <0 that was improperly converted when
18815         UNSPEC was added.
18816         [ad1531a55a49]
18817
18818         * parse.yacc:
18819         Add do {} while(0) around pop macro Set cmnd_matches to UNSPEC, not
18820         NOMATCH when resetting it.
18821         [ae017a12870a]
18822
18823         * parse.yacc:
18824         Fix pastos introduced in SETNMATCH addition.
18825         [6ea1c9d80681]
18826
18827 2004-06-05  Todd C. Miller  <Todd.Miller@courtesan.com>
18828
18829         * README.LDAP:
18830         Update for configure changes
18831         [637a635da287]
18832
18833         * sudo.tab.c:
18834         regen
18835         [4753c2788713]
18836
18837         * sudo.h:
18838         Add NOMATCH and UNSPEC defines (-1 and -2 respectively) and use
18839         these in parse.yacc. Also in parse.yacc initialize the *_matches
18840         vars to UNSPEC and add two macros, SETMATCH and SETNMATCH for use
18841         when setting *_matches to a value that may be
18842         NOMATCH/UNSPEC/TRUE/FALSE.
18843         [2ba622e15a4d]
18844
18845         * parse.yacc:
18846         Add NOMATCH and UNSPEC defines (-1 and -2 respectively) and use
18847         these in parse.yacc. Also in parse.yacc initialize the *_matches
18848         vars to UNSPEC and add two macros, SETMATCH and SETNMATCH for use
18849         when setting *_matches to a value that may be
18850         NOMATCH/UNSPEC/TRUE/FALSE.
18851         [746b519e41a6]
18852
18853         * parse.yacc:
18854         Initialize runas to -2, not -1 since we need to be able to
18855         distinguish between the initialized value and the value of a non-
18856         match when passing along the runas value to multiple commands.
18857
18858         The result of this is that an unmatched runas is now set to -1, not
18859         0. This is required now that parse.c treats a FALSE value for runas
18860         as being explicitly denied.
18861         [7791ed3621f6]
18862
18863 2004-06-03  Todd C. Miller  <Todd.Miller@courtesan.com>
18864
18865         * sudo.c, visudo.c:
18866         Error out if argc < 1.
18867         [ce6b2a9eda3c]
18868
18869         * getprogname.c:
18870         Error out if argc < 1.
18871         [c566cce8dc78]
18872
18873         * configure, configure.in:
18874         Add tests for what libs we need to link with for ldap and for
18875         whether or not lber.h needs to be explicitly included.
18876         [b2e9729cc4e7]
18877
18878 2004-06-03  Aaron Spangler  <aaron777@gmail.com>
18879
18880         * ldap.c:
18881         Solaris native LDAP build fix
18882         [39929e40eb11]
18883
18884 2004-06-01  Todd C. Miller  <Todd.Miller@courtesan.com>
18885
18886         * ldap.c:
18887         Set edn to NULL is ldap_get_dn() fails to avoid potential use of an
18888         unset variable.
18889         [6a4c20a66f98]
18890
18891         * sudo.h:
18892         Add prototype for sudo_ldap_list_matches
18893         [443b007a8dab]
18894
18895         * configure, configure.in:
18896         Better check for dirfd macro--we now set HAVE_DIRFD for the macro
18897         version too. Added check for dd_fd in `DIR' if no dirfd is found;
18898         this is now used to confitionally define the dirfd macro in
18899         compat.h.
18900         [567656978f7e]
18901
18902         * config.h.in:
18903         Better check for dirfd macro--we now set HAVE_DIRFD for the macro
18904         version too. Added check for dd_fd in `DIR' if no dirfd is found;
18905         this is now used to confitionally define the dirfd macro in
18906         compat.h.
18907         [34eace4faec8]
18908
18909         * compat.h:
18910         Better check for dirfd macro--we now set HAVE_DIRFD for the macro
18911         version too. Added check for dd_fd in `DIR' if no dirfd is found;
18912         this is now used to confitionally define the dirfd macro in
18913         compat.h.
18914         [8d50ff1bbf2a]
18915
18916         * closefrom.c:
18917         Only check /proc/$$/fd if we have the dirfd function/macro.
18918         [15e3ccce7553]
18919
18920         * compat.h, config.h.in, configure, configure.in:
18921         Add a check for a dirfd() function (like Linux) and add a dirfd
18922         macro in compat.h if there is no dirfd() function or macro.
18923         [1e95756edb50]
18924
18925         * closefrom.c, getcwd.c:
18926         dirfd() is now defined in compat.h as needed.
18927         [bb1d79271188]
18928
18929         * CHANGES:
18930         Clarify closefrom() note.
18931         [f4e4a5508dda]
18932
18933         * parse.c:
18934         When checking for a command in the directory, only copy the base dir
18935         once.
18936         [7a3276808b87]
18937
18938         * closefrom.c:
18939         If there is a /proc/$$/fd directory, behave like the Solaris
18940         closefrom() and only close the descriptors listed therein.
18941         [19de23779e84]
18942
18943         * alloc.c:
18944         compat.h guarantees INT_MAX is defined.
18945         [1bf0c79d4606]
18946
18947         * compat.h:
18948         Add definitions of OPEN_MAX and INT_MAX for those without it and
18949         remove definition of RLIM_INFINITY (now unused).
18950         [f827d1ebf96e]
18951
18952         * CHANGES, alloc.c, check.c, compat.h, find_path.c, getcwd.c, parse.c,
18953         sudo.c, sudo.h, visudo.c:
18954         Use PATH_MAX, not MAXPATHLEN since the former is standardized.
18955         [59788f211c24]
18956
18957 2004-05-31  Todd C. Miller  <Todd.Miller@courtesan.com>
18958
18959         * CHANGES:
18960         sync
18961         [d32fa124f1ad]
18962
18963         * RUNSON:
18964         Add some entries that were mailed in a while ago
18965         [ff8d5bfec54e]
18966
18967         * closefrom.c:
18968         o sysconf returns a long, not an int. o check for negative return
18969         value from sysconf/getdtablesize and use OPEN_MAX in this case. o
18970         define OPEN_MAX to 256 for those without it (a fair guess...)
18971         [ccf81ae6deb2]
18972
18973 2004-05-30  Todd C. Miller  <Todd.Miller@courtesan.com>
18974
18975         * UPGRADE:
18976         Mention change in parse order for RunAs entries.
18977         [dc73b0bca617]
18978
18979         * configure:
18980         regen
18981         [07cce8e0534e]
18982
18983 2004-05-29  Todd C. Miller  <Todd.Miller@courtesan.com>
18984
18985         * INSTALL, README.LDAP, config.h.in, configure.in:
18986         o --with-ldap now takes an optional dir as a parameter o added
18987         check for ldap_initialize() and start_tls_s()
18988         [2b846c7974c6]
18989
18990         * README.LDAP:
18991         Fix some typos, word choice and formatting issues.
18992         [00dc8ca84b10]
18993
18994 2004-05-28  Todd C. Miller  <Todd.Miller@courtesan.com>
18995
18996         * tgetpass.c:
18997         Use SA_INTERRUPT so SunOS works correctly, avoid stdio and just use
18998         read/write as it is simpler.
18999         [30f5446ee8b0]
19000
19001         * configure, configure.in:
19002         Remove hack overriding cross-compiler check. It should no longer be
19003         needed.
19004         [22a6cbd88608]
19005
19006         * compat.h:
19007         Remove select() compat bits since we no longer use select().
19008         [d7bbf7cd36f5]
19009
19010         * CHANGES, tgetpass.c:
19011         Use alarm() instead of select() for the timeout for systems that
19012         don't fully/properly implement select().
19013         [d7cc60f15800]
19014
19015 2004-05-27  Todd C. Miller  <Todd.Miller@courtesan.com>
19016
19017         * CHANGES:
19018         synbc
19019         [132a39788e07]
19020
19021         * RUNSON:
19022         update
19023         [61ef508380c6]
19024
19025         * set_perms.c:
19026         Deal with systems that have no way of setting the effective uid such
19027         as nsr-tandem-nsk.
19028         [306e00e9b5a4]
19029
19030         * configure, configure.in:
19031         Define NO_SAVED_IDS if we don't find seteuid()
19032         [8588f18345cf]
19033
19034         * config.h.in, configure, configure.in:
19035         Add back check for setreuid() since NSK doesn't have it.
19036         [43127bd703d1]
19037
19038         * sudoers.cat, sudoers.man.in:
19039         regen
19040         [af4f4b20e422]
19041
19042         * CHANGES:
19043         sync
19044         [29ca3b699c24]
19045
19046         * BUGS:
19047         sync
19048         [3593f17f72ed]
19049
19050         * parse.c:
19051         In sudoers_lookup() return VALIDATE_NOT_OK if the runas user was
19052         explicitly denied and the command matched. This fixes a long-
19053         standing bug and makes: foo machine = (ALL) /usr/bin/blah
19054         foo machine = (!bar) /usr/bin/blah
19055
19056         equivalent to: foo machine = (ALL, !bar) /usr/bin/blah
19057         [2f5ee244985a]
19058
19059         * sudoers.pod:
19060         Clarify mail_noperm
19061         [3238b2d41989]
19062
19063 2004-05-20  Aaron Spangler  <aaron777@gmail.com>
19064
19065         * Makefile.in:
19066         Missing DESTDIR in make install for sudo_noexec.la
19067         [91431e821525]
19068
19069 2004-05-17  Todd C. Miller  <Todd.Miller@courtesan.com>
19070
19071         * sudo.cat, sudo.man.in, sudoers.cat, sudoers.man.in, visudo.cat,
19072         visudo.man.in:
19073         regen
19074         [cdfde0dcb556]
19075
19076         * TODO:
19077         sync
19078         [4799b7d8b62c]
19079
19080         * sudoers.pod:
19081         Remove fastboot/fasthalt (who still remembers these?) and add a
19082         minimal sudoedit example.
19083         [19d299f233cd]
19084
19085         * sample.sudoers:
19086         Remove fastboot/fasthalt (who still remembers these?) and add a
19087         minimal sudoedit example.
19088         [b1bca73d6250]
19089
19090         * UPGRADE, sudo.c, visudo.c:
19091         filesystem -> file system
19092         [1e1afaf30469]
19093
19094         * TROUBLESHOOTING:
19095         filesystem -> file system
19096         [39fb594e9338]
19097
19098         * CHANGES, INSTALL:
19099         filesystem -> file system
19100         [85948b608ffe]
19101
19102         * sudo.pod, sudoers.pod:
19103         Fix some minor typos and formatting goofs
19104         [e94d243a0b90]
19105
19106         * lex.yy.c:
19107         regen
19108         [2eed0ab1f4c4]
19109
19110         * visudo.pod:
19111         remove my email addr
19112         [b63262c0389b]
19113
19114         * sudo.pod, sudoers.pod, visudo.pod:
19115         Use @mansectform@ and @mansectsu@ everywhere Make man page
19116         references links with L<>
19117         [f459f4b9ddb9]
19118
19119         * parse.lex:
19120         Accept quoted globbing characters and pass them verbatim for
19121         fnmatch()
19122         [8248b86e9380]
19123
19124         * UPGRADE:
19125         Document that /tmp/.odus is gone.
19126         [3667b66af5bb]
19127
19128         * pathnames.h.in:
19129         No longer use /tmp/.odus as a possible timestamp dir unless
19130         specifically configured to do so. Instead, if no /var/run exists,
19131         use /var/adm/sudo or /usr/adm/sudo.
19132         [48d94c9f9ad4]
19133
19134         * configure:
19135         No longer use /tmp/.odus as a possible timestamp dir unless
19136         specifically configured to do so. Instead, if no /var/run exists,
19137         use /var/adm/sudo or /usr/adm/sudo.
19138         [058d7b8cf07b]
19139
19140         * aclocal.m4:
19141         No longer use /tmp/.odus as a possible timestamp dir unless
19142         specifically configured to do so. Instead, if no /var/run exists,
19143         use /var/adm/sudo or /usr/adm/sudo.
19144         [cf52c4c2803f]
19145
19146         * CHANGES:
19147         No longer use /tmp/.odus as a possible timestamp dir unless
19148         specifically configured to do so. Instead, if no /var/run exists,
19149         use /var/adm/sudo or /usr/adm/sudo.
19150         [6058c4cefcec]
19151
19152         * set_perms.c, sudo.c, tgetpass.c, visudo.c:
19153         Preliminary changes to support nsr-tandem-nsk. Based on patches
19154         from Tom Bates.
19155         [2e5f81834383]
19156
19157         * logging.c:
19158         Preliminary changes to support nsr-tandem-nsk. Based on patches
19159         from Tom Bates.
19160         [934bbe6872b6]
19161
19162         * check.c, compat.h:
19163         Preliminary changes to support nsr-tandem-nsk. Based on patches
19164         from Tom Bates.
19165         [390b698b5924]
19166
19167 2004-05-16  Todd C. Miller  <Todd.Miller@courtesan.com>
19168
19169         * CHANGES:
19170         There was no 1.6.7p6.
19171         [8013d2e6b062]
19172
19173         * BUGS, CHANGES:
19174         sync
19175         [c38b41f32857]
19176
19177         * Makefile.in:
19178         add missing files to DISTFILES
19179         [e6a80ad03039]
19180
19181         * sudo.cat, sudoers.cat, visudo.cat:
19182         regen
19183         [027bc9746dd5]
19184
19185         * sudoers.man.in:
19186         regen
19187         [f5e85ef686cf]
19188
19189         * Makefile.in:
19190         Fix some line wrap and update (c) year
19191         [bad1f46aa1ca]
19192
19193 2004-04-28  Aaron Spangler  <aaron777@gmail.com>
19194
19195         * README.LDAP:
19196         Build Note
19197         [7a061248249b]
19198
19199 2004-04-07  Aaron Spangler  <aaron777@gmail.com>
19200
19201         * Makefile.in:
19202         Fix install-dirs
19203         [be0726dd92e7]
19204
19205 2004-04-05  Todd C. Miller  <Todd.Miller@courtesan.com>
19206
19207         * sudo.tab.c:
19208         regen
19209         [3f4f0d1ab8b9]
19210
19211         * visudo.c:
19212         In Exit() when used as a signal handler, emsg is a pointer so
19213         sizeof() is wrong so make it a #define instead. Also avoid using a
19214         negative exit value. Found by Aaron Campbell
19215         [78716a3a3fdc]
19216
19217 2004-03-24  Todd C. Miller  <Todd.Miller@courtesan.com>
19218
19219         * sudoers.pod:
19220         Remove bogus sentence about uids in a User_List. Document usernames
19221         vs. uid parsing in a Runas_List.
19222         [7ca510b5031c]
19223
19224         * parse.c, parse.h, parse.yacc, sudo.c, testsudoers.c, visudo.c:
19225         If the user specified a uid with the -u flag and the uid exists in
19226         the passwd file, set runas_user to the name, not the uid.
19227
19228         When comparing usernames in sudoers, if a name is really a uid
19229         (starts with '#') compare it numerically to pw_uid.
19230         [8d6935d04673]
19231
19232 2004-03-22  Todd C. Miller  <Todd.Miller@courtesan.com>
19233
19234         * auth/kerb5.c:
19235         krb5_mcc_ops should be const; Johnny C. Lam
19236         [aa8c753e426e]
19237
19238 2004-02-28  Aaron Spangler  <aaron777@gmail.com>
19239
19240         * CHANGES, config.h.in, ldap.c:
19241         Added start_tls support
19242         [7ef864c15b69]
19243
19244 2004-02-14  Todd C. Miller  <Todd.Miller@courtesan.com>
19245
19246         * Makefile.in:
19247         Clean up libtool stuff for 'make distclean' and add def_data.c,
19248         def_data.h to PARSESRCS.
19249         [bf9bb6bb06ab]
19250
19251 2004-02-14  Aaron Spangler  <aaron777@gmail.com>
19252
19253         * strlcat.c, strlcpy.c:
19254         Un-Fix last license munge
19255         [42654b77ac71]
19256
19257 2004-02-13  Todd C. Miller  <Todd.Miller@courtesan.com>
19258
19259         * configure:
19260         regen
19261         [e4de6b23a4dc]
19262
19263         * CHANGES, RUNSON, TODO:
19264         checkpoint
19265         [94e1ace84d5c]
19266
19267         * lex.yy.c, sudo.tab.c:
19268         regen
19269         [8ce784505643]
19270
19271         * auth/passwd.c, auth/rfc1938.c, auth/secureware.c, auth/securid.c,
19272         auth/securid5.c, auth/sia.c, auth/sudo_auth.c, auth/sudo_auth.h,
19273         emul/search.h, emul/utime.h:
19274         More to a less restrictive, ISC-style license.
19275         [a31b20e48003]
19276
19277         * auth/kerb5.c, auth/pam.c:
19278         More to a less restrictive, ISC-style license.
19279         [e41f92b41216]
19280
19281         * auth/dce.c, auth/fwtk.c, auth/kerb4.c:
19282         More to a less restrictive, ISC-style license.
19283         [87534c164a52]
19284
19285         * auth/bsdauth.c:
19286         More to a less restrictive, ISC-style license.
19287         [e21be6594b58]
19288
19289         * auth/afs.c, auth/aix_auth.c, zero_bytes.c:
19290         More to a less restrictive, ISC-style license.
19291         [6d234be91c5e]
19292
19293         * sudoers.man.in, sudoers.pod, testsudoers.c, tgetpass.c, visudo.c,
19294         visudo.man.in, visudo.pod:
19295         More to a less restrictive, ISC-style license.
19296         [b02aea324fd6]
19297
19298         * sudo_noexec.c:
19299         More to a less restrictive, ISC-style license.
19300         [a6da7631e0b2]
19301
19302         * strlcat.c, strlcpy.c, sudo.c, sudo.h, sudo.man.in, sudo.pod,
19303         sudo_edit.c:
19304         More to a less restrictive, ISC-style license.
19305         [71cdcc241e94]
19306
19307         * sigaction.c, strerror.c:
19308         More to a less restrictive, ISC-style license.
19309         [4bccdedca58a]
19310
19311         * ldap.c, logging.c, logging.h, parse.c, parse.h, pathnames.h.in,
19312         set_perms.c:
19313         More to a less restrictive, ISC-style license.
19314         [64d772d70ab3]
19315
19316         * getspwuid.c, goodpath.c, ins_2001.h, ins_classic.h, ins_csops.h,
19317         ins_goons.h, insults.h, interfaces.c, interfaces.h:
19318         More to a less restrictive, ISC-style license.
19319         [520381c60a54]
19320
19321         * find_path.c, getprogname.c:
19322         More to a less restrictive, ISC-style license.
19323         [f605d5eab6f1]
19324
19325         * fileops.c:
19326         More to a less restrictive, ISC-style license.
19327         [4129a8b38a67]
19328
19329         * env.c:
19330         More to a less restrictive, ISC-style license.
19331         [d5bd859757de]
19332
19333         * defaults.h:
19334         More to a less restrictive, ISC-style license.
19335         [008f5d5743f5]
19336
19337         * LICENSE, Makefile.in, alloc.c, check.c, closefrom.c, compat.h,
19338         defaults.c:
19339         More to a less restrictive, ISC-style license.
19340         [d8d7bfc8a18b]
19341
19342         * utime.c, version.h:
19343         More to a less restrictive, ISC-style license.
19344         [e2e038ad8209]
19345
19346         * parse.lex, parse.yacc:
19347         More to a less restrictive, ISC-style license.
19348         [2f5942e847a1]
19349
19350         * Makefile.binary:
19351         More to a less restrictive, ISC-style license.
19352         [1ed561734535]
19353
19354 2004-02-13  Aaron Spangler  <aaron777@gmail.com>
19355
19356         * sudoers2ldif:
19357         Merged in LDAP Support
19358         [3994c4d05947]
19359
19360         * ldap.c, sudo.c, sudo.h:
19361         Merged in LDAP Support
19362         [547eaa346fcc]
19363
19364         * def_data.c, def_data.h, def_data.in:
19365         Merged in LDAP Support
19366         [8fb255280e42]
19367
19368         * CHANGES, Makefile.in, README.LDAP, config.h.in, configure.in:
19369         Merged in LDAP Support
19370         [1038092a161e]
19371
19372 2004-02-08  Todd C. Miller  <Todd.Miller@courtesan.com>
19373
19374         * sudo.h, sudo_noexec.c:
19375         Only do "extern int errno" if errno is not a macro.
19376         [b2e02a08be8b]
19377
19378 2004-02-06  Todd C. Miller  <Todd.Miller@courtesan.com>
19379
19380         * set_perms.c:
19381         setreuid(0, 0) fails on QNX if the euid is not already 0 so set the
19382         euid first, then just call setuid(0) to set the real uid too.
19383         [f08546e2e0ee]
19384
19385         * set_perms.c:
19386         Use setresuid() and setreuid() for PERM_RUNAS when appropriate
19387         instead of seteuid() which may not exist.
19388         [ba508581befb]
19389
19390 2004-02-04  Todd C. Miller  <Todd.Miller@courtesan.com>
19391
19392         * LICENSE:
19393         2004
19394         [37425513a342]
19395
19396         * INSTALL, config.h.in, configure, configure.in, ins_classic.h:
19397         Add --with-pc-insults configure option
19398         [7daa5294c17b]
19399
19400         * visudo.man.in:
19401         Prefer VISUAL over EDITOR like old vipw did.
19402         [996252a4ab65]
19403
19404 2004-02-01  Todd C. Miller  <Todd.Miller@courtesan.com>
19405
19406         * sudo.man.in, sudoers.man.in:
19407         regen
19408         [a247f1c52eb9]
19409
19410         * sudoers.pod:
19411         Add a note that noexec is not a cure-all.
19412         [9e7fc535367d]
19413
19414         * sudoers.pod:
19415         Mention that disabling "root_sudo" is pretty pointless.
19416         [f38a415afba0]
19417
19418         * configure, configure.in:
19419         Substitute for root_sudo in sudoers.pod
19420         [ce483cfc86be]
19421
19422         * sudo.pod:
19423         Add sudoedit to the NAME section
19424         [51bc453ec2f6]
19425
19426         * sudoers.pod:
19427         Document that fact that setting ignore_dot in sudoers has no effect
19428         due to the fact that find_path() is called *before* sudoers is read.
19429         [6808df7e417c]
19430
19431 2004-01-30  Todd C. Miller  <Todd.Miller@courtesan.com>
19432
19433         * sudo_edit.c:
19434         Do not require _PATH_USRTMP to be set.
19435         [546f3270dd10]
19436
19437         * BUGS, CHANGES, TODO:
19438         sync
19439         [4205ddeab781]
19440
19441         * sudo.man.in:
19442         regen
19443         [e2143690a88a]
19444
19445         * sudo.pod:
19446         Clarify that when sudo is run by root with the SUDO_USER variable
19447         set, the sudoers lookup happens for root and not the SUDO_USER user.
19448         [47207bec1bdf]
19449
19450 2004-01-29  Todd C. Miller  <Todd.Miller@courtesan.com>
19451
19452         * auth/pam.c, auth/sudo_auth.c, interfaces.c, logging.c, parse.c,
19453         set_perms.c, sigaction.c, sudo.c, tgetpass.c:
19454         Use the SET, CLR and ISSET macros.
19455         [a8b0d7f1e8fd]
19456
19457         * fnmatch.c:
19458         Use the SET, CLR and ISSET macros.
19459         [1afbcba22ba6]
19460
19461         * defaults.c, env.c:
19462         Use the SET, CLR and ISSET macros.
19463         [2f39431e0a49]
19464
19465         * interfaces.h:
19466         MAIN was replaced with _SUDO_MAIN some time ago.
19467         [ea1b38f2ac9d]
19468
19469         * sudo.c:
19470         Don't look at prev_user until after we've parsed sudoers and done
19471         the password check. That way, if sudo/sudoedit is run from a root
19472         process that was invoked by sudo, we check sudoers for root, not the
19473         previous user. This makes sudoedit much more useful and means that
19474         for the sudo case, we get correct logging on who actually ran the
19475         command.
19476         [431dfbf20552]
19477
19478 2004-01-23  Todd C. Miller  <Todd.Miller@courtesan.com>
19479
19480         * sudo_edit.c:
19481         Add a comment describing why we need to be notified about our child
19482         stopping.
19483         [0bec3ce4b49d]
19484
19485 2004-01-22  Todd C. Miller  <Todd.Miller@courtesan.com>
19486
19487         * def_data.c, def_data.in:
19488         Update the noexec variable descriptions
19489         [9cb7f1aa0e57]
19490
19491         * sudoers.man.in, sudoers.pod:
19492         noexec now replaces more than just execve()
19493         [23cbdc0ee95c]
19494
19495         * sudo_noexec.c:
19496         Alas, all the world does not go through execve(2). Many systems
19497         still have an execv(2) system call, Linux 2.6 provides fexecve(2)
19498         and it is not uncommon for libc to have underscore ('_') versions of
19499         the functions to be used internally by the library. Instead of
19500         stubbing all these out by hand, define a macro and let it do the
19501         work. Extra exec functions pointed out by Reznic Valery.
19502         [9fa0cd871b0c]
19503
19504         * sudo.c, sudo_edit.c:
19505         Fix suspending the editor in -e mode. Because we do a fork() first
19506         we need to be notified when the child has been stopped and then send
19507         that same signal to ourself so the shell can do its job control
19508         thing.
19509         [773165eb6057]
19510
19511         * visudo.c:
19512         Use WIFEXITED and WEXITSTATUS macros. If there are systems out
19513         there that want to run sudo that still don't support these we can
19514         try to deal with that later.
19515         [6af68e4aff60]
19516
19517         * lex.yy.c:
19518         regen
19519         [403435317d5d]
19520
19521         * sudo.man.in, sudo.pod, sudoers.man.in, sudoers.pod:
19522         Document sudo -e / sudoedit
19523         [a80f6ea910af]
19524
19525         * configure, configure.in:
19526         fix typo
19527         [5020fcdc27f4]
19528
19529         * config.h.in, configure.in:
19530         Add SET/CLR/ISSET
19531         [03ff57286e7e]
19532
19533 2004-01-21  Todd C. Miller  <Todd.Miller@courtesan.com>
19534
19535         * sudo.c:
19536         Allow non-exclusive flags when invoked as sudoedit. Pretty print the
19537         long usage() line to not wrap (assumes 80 char display)
19538         [3941fa4004bb]
19539
19540         * Makefile.in, sudo.c:
19541         If sudo is invoked as "sudoedit" the -e flag is implied and no other
19542         flags are permitted.
19543         [929670b01293]
19544
19545         * sudo.h:
19546         Add a new flag, -e, that makes it possible to give users the ability
19547         to edit files with the editor of their choice as the invoking user,
19548         not the runas user. Temporary files are used for the actual edit
19549         and the temp file is copied over the original after the editor is
19550         done.
19551         [c4051414c1f4]
19552
19553         * Makefile.in, parse.c, parse.lex, sudo.c, sudo_edit.c:
19554         Add a new flag, -e, that makes it possible to give users the ability
19555         to edit files with the editor of their choice as the invoking user,
19556         not the runas user. Temporary files are used for the actual edit
19557         and the temp file is copied over the original after the editor is
19558         done.
19559         [37ac05c8ac3c]
19560
19561         * env.c, sudo.c:
19562         If real uid == 0 and the SUDO_USER environment variables is set, use
19563         that to determine the invoking user's true identity. That way the
19564         proper info gets logged by someone who has done "sudo su" but still
19565         uses sudo to as root. We can't do this for non-root users since
19566         that would open up a security hole, though perhaps it would be
19567         acceptable to use getlogin(2) on OSes where this a system call (and
19568         doesn't just look in the utmp file).
19569         [c2f9198708a1]
19570
19571         * pathnames.h.in:
19572         Add _PATH_TMP, _PATH_VARTMP and _PATH_USRTMP
19573         [7d9e5768df93]
19574
19575         * config.h.in, configure, configure.in:
19576         Add check for fchown(2)
19577         [a85df18798ed]
19578
19579 2004-01-20  Todd C. Miller  <Todd.Miller@courtesan.com>
19580
19581         * sudo.c:
19582         Back out portions of the -i commit that set NewArgv[0] in
19583         set_runaspw. It is far to late to set NewArgv[0] there and will have
19584         no effect anyway as cmnd and safe_cmnd have already been set.
19585         [c2d343430c1c]
19586
19587         * visudo.c, visudo.pod:
19588         Prefer VISUAL over EDITOR like old vipw did.
19589         [ae32f477cea3]
19590
19591 2004-01-19  Todd C. Miller  <Todd.Miller@courtesan.com>
19592
19593         * env.c, sudo.c:
19594         In -i mode always set new environment based on the runas user's
19595         passwd entry.
19596         [fa653b7887a8]
19597
19598 2004-01-18  Todd C. Miller  <Todd.Miller@courtesan.com>
19599
19600         * sudo.man.in, sudo.pod:
19601         Document the new -i flag and sync SYNOPSIS section with usage() in
19602         sudo.c. Also sort the flags in the OPTIONS section.
19603         [6aabc0ffc47e]
19604
19605         * sudo.c, sudo.h:
19606         o Add -i that acts similar to "su -", based on patches from David J.
19607         MacKenzie o Sort the flags in the usage message
19608         [c0fe7d6beffd]
19609
19610         * sudoers.man.in, sudoers.pod:
19611         Add a missing @runas_default@ substitution.
19612         [60516fe2d090]
19613
19614 2004-01-17  Todd C. Miller  <Todd.Miller@courtesan.com>
19615
19616         * sudo.c:
19617         Change euid to runas user before calling find_path().
19618         Unfortunately, though runas_user can be modified in sudoers we
19619         haven't parsed sudoers yet.
19620         [f469fdf2e313]
19621
19622         * sudoers.man.in, sudoers.pod:
19623         Add missing defintion of Parameter_List and use single pipes in the
19624         Defaults EBNF definition.
19625         [f7bed6e909bf]
19626
19627         * sudo.c:
19628         Fix a bug when set_runaspw() is used as a callback. We don't want
19629         to reset the contents of runas_pw if the user specified a user via
19630         the -u flag.
19631
19632         Avoid unnecessary passwd lookups in set_authpw(). In most cases we
19633         already have the info in runas_pw.
19634         [efc35623ba09]
19635
19636 2004-01-16  Todd C. Miller  <Todd.Miller@courtesan.com>
19637
19638         * check.c:
19639         Add Stan Lee / Uncle Ben quote to the lecture from RedHat
19640         [ebd5a76ccd7e]
19641
19642         * sudo.h:
19643         Update sudo_getepw() proto and add one for set_runaspw()
19644         [6ed65795c17f]
19645
19646         * parse.c:
19647         If we can't stat the command as root, try as the runas user instead.
19648         [ae713fca0e15]
19649
19650         * testsudoers.c, visudo.c:
19651         Add stub set_runaspw() function
19652         [42aa37050053]
19653
19654         * sudo.c:
19655         Add set_runaspw() function to fill in runas_pw. This will be used
19656         as a callback to update runas_pw when the runas user changes.
19657         [e570aa0088d0]
19658
19659         * env.c, sudo.c:
19660         PERM_RUNAS -> PERM_FULL_RUNAS
19661         [51eec6f9e89a]
19662
19663         * set_perms.c, sudo.h:
19664         Rename PERM_RUNAS -> PERM_FULL_RUNAS and add a PERM_RUNAS that just
19665         changes the euid.
19666         [877c6fe4d12c]
19667
19668         * getspwuid.c:
19669         Make sudo_pwdup() act like OpenBSD pw_dup() and allocate memory in
19670         one chunk for easy free()ing. Also change it from static to extern.
19671         [ab503260a7ec]
19672
19673         * defaults.c, defaults.h:
19674         Add callback support
19675         [a61c4ca983fb]
19676
19677         * mkdefaults:
19678         Add a callback field and use it for runas_default
19679         [96b69c27df5e]
19680
19681         * def_data.c, def_data.in:
19682         Add a callback field and use it for runas_default
19683         [d3e9f06872b8]
19684
19685 2004-01-15  Todd C. Miller  <Todd.Miller@courtesan.com>
19686
19687         * auth/fwtk.c:
19688         Add support for chalnecho and display server responses used by fwtk
19689         >= 2.0
19690         [b1870f7aaf0d]
19691
19692 2004-01-12  Todd C. Miller  <Todd.Miller@courtesan.com>
19693
19694         * sudoers.man.in, sudoers.pod:
19695         ld.so is ld.so.1 on solaris
19696         [2bf9a123fa4c]
19697
19698         * Makefile.in, config.h.in, configure, configure.in, sudo.c, sudo.h:
19699         Use closefrom() instead of doing the equivalent inline.
19700         [7e3ef6072884]
19701
19702         * closefrom.c:
19703         closefrom(3) for systems w/o it
19704         [35caf58bb636]
19705
19706 2004-01-09  Todd C. Miller  <Todd.Miller@courtesan.com>
19707
19708         * sudoers.man.in:
19709         Update from .pod file.
19710         [d4c94fc0e0c9]
19711
19712         * configure, configure.in:
19713         Substitute noexec_file for the sudoers man page
19714         [203d3376a551]
19715
19716         * sudo.man.in, sudo.pod:
19717         Mention noexec
19718         [014375ddbb06]
19719
19720         * sudoers.man.in, sudoers.pod:
19721         Document noexec
19722         [49a65d06201f]
19723
19724         * auth/pam.c, config.h.in, configure.in:
19725         Move PAM_CONST macro definition from config.h to pam.c where it
19726         belongs. We can't have this in config.h since that gets included too
19727         early.
19728         [e64748071637]
19729
19730         * auth/pam.c, config.h.in, configure, configure.in:
19731         Some PAM implementations put their headers in /usr/include/pam
19732         instead of /usr/include/security.
19733         [8cc749e9575c]
19734
19735         * configure.in:
19736         I missed changing the EXEC macro -> EXECV here when I changed this
19737         in config.h.in and sudo.c a while ago.
19738         [6f5afac7789f]
19739
19740         * acsite.m4:
19741         OpenBSD vax/m88k/hppa don't do shared libs
19742         [e4901d958bb7]
19743
19744         * configure, configure.in:
19745         o merge the hpux case entries into a single entry w/ its own sub-
19746         case statement. o HP-UX >= 11 support getspnam(), use it in
19747         preference to getprpwuid()
19748         [0caad428894e]
19749
19750         * configure, configure.in:
19751         eval $shrext so that it expands nicely on MacOS X
19752         [40419343eef8]
19753
19754         * Makefile.in:
19755         Don't lie about making a module, it does the wrong thing on mach
19756         [7629b28f5688]
19757
19758         * ltmain.sh:
19759         Remove requirement that libs must begin with "lib". They don't when
19760         we point directly at the lib using LD_PRELOAD or its equivalent.
19761         [d66f3de6ec85]
19762
19763         * acsite.m4:
19764         Disable support for c++, f77 and java. We don't need it, it takes a
19765         lot of time, and it hosed our check for shared lib support.
19766         [4f5749c52ce4]
19767
19768         * configure:
19769         regen
19770         [160865e9d15f]
19771
19772         * configure.in:
19773         Call AC_ENABLE_SHARED and check the status of enable_shared to know
19774         when shared libs are available.
19775         [42504c1668fc]
19776
19777         * acsite.m4:
19778         Duh, OpenBSD suports shared libs too
19779         [8e3cd9417475]
19780
19781         * config.h.in, configure.in:
19782         Only OpenPAM and Linux PAM use const qualifiers.
19783         [b2f76476e866]
19784
19785         * configure, configure.in:
19786         o No need to check for sed, libtool config does that for us o move
19787         check for --with-noexec until after libtool magic is run so we can
19788         use $can_build_shared and $shrext
19789         [668c656e89cc]
19790
19791         * ltmain.sh:
19792         Don't print a bunch of crap about library installs since we are not
19793         really installing a library.
19794         [83fbcad29fe4]
19795
19796         * env.c:
19797         Make format_env() varargs Add noexec support for Darwin, MacOS X,
19798         Irix, and Tru64
19799         [468885d75d10]
19800
19801         * acsite.m4, ltconfig, ltmain.sh:
19802         Update to libtool 1.5 with local changes: o no ldconfig in the
19803         finish step o assume no libprefix or version is needed
19804         [4961cffc3797]
19805
19806         * sudo_noexec.c:
19807         Fix compilation under K&R
19808         [8b309bf0b1b2]
19809
19810 2004-01-06  Todd C. Miller  <Todd.Miller@courtesan.com>
19811
19812         * CHANGES:
19813         checkpoint
19814         [3c368badab32]
19815
19816         * sudo_noexec.c:
19817         stub execve() that just returns EACCES; used for noexec
19818         functionality
19819         [1297acae283a]
19820
19821         * sudo.tab.h:
19822         Regen w/ updated byacc from OpenBSD; fixes a gcc 3.2 issue with
19823         generated code.
19824         [dcab78c49273]
19825
19826         * sudo.tab.c:
19827         Regen w/ updated byacc from OpenBSD; fixes a gcc 3.2 issue with
19828         generated code.
19829         [0a61c735eabe]
19830
19831 2004-01-05  Todd C. Miller  <Todd.Miller@courtesan.com>
19832
19833         * def_data.c, def_data.h, def_data.in:
19834         Move the environment defaults to the end and shorten a few of the
19835         descriptions.
19836         [66787b9c612c]
19837
19838         * configure, configure.in:
19839         no shared libs on ultris or convexos
19840         [2c5f3c456e32]
19841
19842         * Makefile.in, configure, configure.in:
19843         Build sudo_noexec shared object using libtool; could use some
19844         cleanup.
19845         [373f483555dd]
19846
19847         * acsite.m4, ltconfig, ltmain.sh:
19848         libtool scaffolding
19849         [c903a42e3d90]
19850
19851         * parse.yacc, sudo.tab.c:
19852         Merge the NOPASSWD/PASSWD and NOEXEC/EXEC rules so that order is not
19853         important.
19854         [c6e8a34639a4]
19855
19856         * defaults.c, env.c, lex.yy.c, parse.c, parse.h, parse.lex,
19857         parse.yacc, pathnames.h.in, sudo.c, sudo.h, sudo.tab.c:
19858         update copyright year
19859         [a16372ae1711]
19860
19861         * configure, configure.in, defaults.c, env.c, pathnames.h.in:
19862         Add _PATH_SUDO_NOEXEC and corresponding --with-noexec configure
19863         option. The default value of noexec_file is set to this.
19864         [7d88e1d3c494]
19865
19866         * def_data.c, def_data.h, def_data.in, env.c, lex.yy.c, parse.c,
19867         parse.h, parse.lex, parse.yacc, sudo.c, sudo.h, sudo.tab.c,
19868         sudo.tab.h:
19869         Add support for preloading a shared object containing a dummy
19870         execve() function that just sets error and returns -1. This adds a
19871         "noexec_file" option to load the filename as well as a "noexec" flag
19872         to enable it unconditionally. There is also a NOEXEC tag that can
19873         be attached to specific commands and an EXEC tag to disable it.
19874         [c8b6712feb91]
19875
19876         * mkdefaults:
19877         add missing newline to usage statement
19878         [e84746618362]
19879
19880         * config.h.in, sudo.c:
19881         Rename EXEC macro -> EXECV
19882         [ddaa0c027299]
19883
19884         * logging.c:
19885         Don't truncate usernames to 8 characters in the log message.
19886         [f62a20f27075]
19887
19888         * check.c, sudoers.man.in, sudoers.pod:
19889         Update copyright year
19890         [ca9964054085]
19891
19892         * check.c, def_data.c, def_data.h, def_data.in, sudoers.man.in,
19893         sudoers.pod:
19894         Add a new option, lecture_file, that can be used to point to a
19895         custom sudo lecture.
19896         [940133231216]
19897
19898 2003-12-31  Todd C. Miller  <Todd.Miller@courtesan.com>
19899
19900         * auth/aix_auth.c, auth/bsdauth.c, auth/fwtk.c, auth/pam.c,
19901         auth/sudo_auth.c:
19902         Add a zero_bytes() function to do the equivalent of bzero in such a
19903         way that will heopfully not be optimized away by sneaky compilers.
19904         [161b6d74bfb4]
19905
19906         * zero_bytes.c:
19907         Add a zero_bytes() function to do the equivalent of bzero in such a
19908         way that will heopfully not be optimized away by sneaky compilers.
19909         [d035abf0af94]
19910
19911         * Makefile.in, sudo.h:
19912         Add a zero_bytes() function to do the equivalent of bzero in such a
19913         way that will heopfully not be optimized away by sneaky compilers.
19914         [ff136de3e255]
19915
19916         * err.c:
19917         Use #ifdef __STDC__, not #if __STDC__.
19918         [6889dd6bc51a]
19919
19920 2003-12-30  Todd C. Miller  <Todd.Miller@courtesan.com>
19921
19922         * mkdefaults:
19923         Always put at least one space between the def_* macro name and its
19924         definition.
19925         [6b3ad0e6619a]
19926
19927         * configure, configure.in:
19928         Adjust code for --without-lecture to match new values.
19929         [062aa788a6b9]
19930
19931         * visudo.man.in:
19932         regen after pasto fix
19933         [3deec16906c0]
19934
19935         * sudoers.man.in, sudoers.pod:
19936         Document that "lecture" has changed from a flag to a tuple.
19937         [e2c03062b533]
19938
19939         * check.c, def_data.c, def_data.h, def_data.in, defaults.c,
19940         defaults.h, logging.c, mkdefaults, parse.c, sudo.c, sudo.h:
19941         Add support for tuples in def_data.in; these are implemented as an
19942         enum type. Currently there is only a single tuple enum but in the
19943         future we may have one tuple enum per T_TUPLE entry in def_data.in.
19944         Currently listpw, verifypw and lecture are tuples. This avoids the
19945         need to have two entries (one ival, one str) for pwflags and syslog
19946         values.
19947
19948         lecture is now a tuple with the following values: never, once,
19949         always
19950
19951         We no longer use both an int and string entry for syslog facilities
19952         and priorities. Instead, there are logfac2str() and logpri2str()
19953         functions that get used when we need to print the string values.
19954         [5293f946c836]
19955
19956         * auth/aix_auth.c, auth/bsdauth.c, auth/fwtk.c, auth/pam.c,
19957         auth/rfc1938.c, auth/securid5.c, auth/sia.c, auth/sudo_auth.c,
19958         check.c, def_data.h, defaults.c, defaults.h, env.c, find_path.c,
19959         logging.c, mkdefaults, parse.c, parse.yacc, set_perms.c, sudo.c,
19960         sudo.tab.c, visudo.c:
19961         Create def_* macros for each defaults value so we no longer need the
19962         def_{flag,ival,str,list,mode} macros (which have been removed). This
19963         is a step toward more flexible data types in def_data.in.
19964         [009c02934106]
19965
19966         * TODO:
19967         checkpoint
19968         [0a99a4bb5d15]
19969
19970 2003-12-23  Todd C. Miller  <Todd.Miller@courtesan.com>
19971
19972         * sudo.c:
19973         If we are in -k/-K mode, just spew to stderr. It is not unusual for
19974         users to place "sudo -k" in a .logout file which can cause sudo to
19975         be run during reboot after the YP/NIS/NIS+/LDAP/etc daemon has died.
19976         Previously, this would result in useless mail and logging.
19977         [d282e7ed63af]
19978
19979 2003-12-16  Todd C. Miller  <Todd.Miller@courtesan.com>
19980
19981         * visudo.pod:
19982         fix pasto in VISUAL description
19983         [1c6a6148b5f9]
19984
19985 2003-12-10  Todd C. Miller  <Todd.Miller@courtesan.com>
19986
19987         * configure:
19988         regen
19989         [f44312c63799]
19990
19991         * CHANGES:
19992         checkpoint
19993         [0c42e38f78d5]
19994
19995         * TROUBLESHOOTING:
19996         Some OSes (like Solaris) allow export w/ nosuid too
19997         [973ce85ffa12]
19998
19999 2003-08-12  Todd C. Miller  <Todd.Miller@courtesan.com>
20000
20001         * compat.h:
20002         We don't use FD_ZERO anymore so just define FD_SET (if not already
20003         there).
20004         [d1c8c11905cd]
20005
20006 2003-06-29  Todd C. Miller  <Todd.Miller@courtesan.com>
20007
20008         * auth/pam.c:
20009         Fix a core dump on Solaris by preserving the pam_handle_t we used
20010         during authentication for pam_prep_user(). If we didn't
20011         authenticate (ie: ticket still valid), we call pam_init() from
20012         pam_prep_user(). This is something of a hack; it may be better to
20013         change the auth API and add an auth_final() function that acts like
20014         pam_prep_user().
20015         [f787de49b175]
20016
20017 2003-06-21  Todd C. Miller  <Todd.Miller@courtesan.com>
20018
20019         * set_perms.c:
20020         Add explicit declaration of printerr variable in function header
20021         (was defaulting to int which is OK but oh so K&R :-). From Theo.
20022         [492c2358783f]
20023
20024 2003-06-09  Todd C. Miller  <Todd.Miller@courtesan.com>
20025
20026         * config.h.in, configure.in:
20027         s/HAVE_STOW/USE_STOW/
20028         [4b99e1824ece]
20029
20030         * logging.c:
20031         Also exit waitpid() loop when pid == 0. Fixes a problem where the
20032         sudo process would spin eating up CPU until sendmail finished when
20033         it has to send mail.
20034         [ec3d5792b9b4]
20035
20036 2003-05-30  Todd C. Miller  <Todd.Miller@courtesan.com>
20037
20038         * fnmatch.c:
20039         Remove advertising clause, UCB has disavowed it
20040         [43a26bbd6628]
20041
20042         * fnmatch.3:
20043         Remove advertising clause, UCB has disavowed it
20044         [3ff24291bcfa]
20045
20046 2003-05-22  Todd C. Miller  <Todd.Miller@courtesan.com>
20047
20048         * parse.c:
20049         Don't assume that getgrnam() calls don't modify contents of struct
20050         passwd returned by getpwnam(). On FreeBSD w/ NIS this can happen.
20051         Based on a patch from Kirk Webb.
20052         [5574c68f60f3]
20053
20054 2003-05-06  Todd C. Miller  <Todd.Miller@courtesan.com>
20055
20056         * configure.in:
20057         missing ;;
20058         [22378f2a9d31]
20059
20060         * configure.in:
20061         darwin has a broken setreuid() in at least some versions
20062         [d572aed930d2]
20063
20064         * env.c:
20065         Fix an off by one error when reallocating the environment; Kevin Pye
20066         [3d98e7cf097a]
20067
20068 2003-04-30  Todd C. Miller  <Todd.Miller@courtesan.com>
20069
20070         * sudoers.pod:
20071         Fix User_Spec definition; SEKINE Tatsuo
20072         [49b0da65e090]
20073
20074 2003-04-28  Todd C. Miller  <Todd.Miller@courtesan.com>
20075
20076         * HISTORY:
20077         More info on the early days from Coggs.
20078         [9381ca10b06b]
20079
20080 2003-04-21  Todd C. Miller  <Todd.Miller@courtesan.com>
20081
20082         * auth/kerb5.c:
20083         remove errant semicolon that prevented compilation under heimdal
20084         [d2f2bb73a598]
20085
20086 2003-04-16  Todd C. Miller  <Todd.Miller@courtesan.com>
20087
20088         * testsudoers.c, tgetpass.c, visudo.c, visudo.man.in, visudo.pod:
20089         add DARPA credit on affected files
20090         [7020785ee50d]
20091
20092         * sudoers.pod:
20093         add DARPA credit on affected files
20094         [83b46318750b]
20095
20096         * sigaction.c, strerror.c, sudo.c, sudo.h, sudo.man.in, sudo.pod,
20097         sudoers.man.in:
20098         add DARPA credit on affected files
20099         [d8adf1c2ba22]
20100
20101         * set_perms.c:
20102         add DARPA credit on affected files
20103         [3d79fdabb582]
20104
20105         * pathnames.h.in:
20106         add DARPA credit on affected files
20107         [e334cdda422f]
20108
20109         * logging.c, parse.c:
20110         add DARPA credit on affected files
20111         [8f75f822755b]
20112
20113         * auth/passwd.c, auth/rfc1938.c, auth/secureware.c, auth/securid.c,
20114         auth/securid5.c, auth/sia.c, auth/sudo_auth.c, fileops.c,
20115         find_path.c, getprogname.c, getspwuid.c, goodpath.c, interfaces.c,
20116         interfaces.h:
20117         add DARPA credit on affected files
20118         [da66e28fb3f5]
20119
20120         * auth/kerb5.c, auth/pam.c:
20121         add DARPA credit on affected files
20122         [15da3021b49c]
20123
20124         * auth/afs.c, auth/aix_auth.c, auth/bsdauth.c, auth/dce.c,
20125         auth/fwtk.c, auth/kerb4.c, parse.lex, parse.yacc, utime.c,
20126         version.h:
20127         add DARPA credit on affected files
20128         [868d54cbddea]
20129
20130         * env.c:
20131         add DARPA credit on affected files
20132         [90239f51ef0a]
20133
20134         * defaults.c, defaults.h:
20135         add DARPA credit on affected files
20136         [6a64205fd1eb]
20137
20138         * compat.h:
20139         add DARPA credit on affected files
20140         [316a735783c4]
20141
20142         * Makefile.in, alloc.c, check.c:
20143         add DARPA credit on affected files
20144         [cd939e05c810]
20145
20146         * LICENSE:
20147         slightly different wording for the darpa credit
20148         [e468909c4a21]
20149
20150 2003-04-15  Todd C. Miller  <Todd.Miller@courtesan.com>
20151
20152         * LICENSE:
20153         Add DARPA credit
20154         [8eb20e2cd63e]
20155
20156 2003-04-14  Todd C. Miller  <Todd.Miller@courtesan.com>
20157
20158         * auth/kerb5.c:
20159         Use krb5_princ_component() instead of krb5_princ_realm() for MIT
20160         Kerberos like we did before I messed things up ;-)
20161
20162         Use krb5_principal_get_comp_string() to do the same thing w/
20163         Heimdal. I'm not sure if the component should be 0 or 1 in this
20164         case.
20165
20166         #define ENCTYPE_DES_CBC_MD5 ETYPE_DES_CBC_MD5 for Heimdal since
20167         older versions lack ENCTYPE_DES_CBC_MD5. This is gross and there
20168         should be a configure check for this I guess.
20169         [74919a3933fe]
20170
20171 2003-04-13  Todd C. Miller  <Todd.Miller@courtesan.com>
20172
20173         * sample.sudoers:
20174         builtin -> built-in; Jason McIntyre
20175         [027f2187923e]
20176
20177         * TROUBLESHOOTING, config.h.in, configure, configure.in:
20178         builtin -> built-in; Jason McIntyre
20179         [70b81ac48943]
20180
20181         * sudoers.pod:
20182         built in -> built-in; Jason McIntyre
20183         [da658ef5138d]
20184
20185 2003-04-09  Todd C. Miller  <Todd.Miller@courtesan.com>
20186
20187         * CHANGES:
20188         checkpoint for 1.6.7p3
20189         [da85f989fadf]
20190
20191         * HISTORY:
20192         Update info on the early years @ SUNY-Buffalo from Cliff Spencer.
20193         Amazingly, sudo source from 1985 is available via groups.google.com
20194         [39e0fc85b89f]
20195
20196         * sudo.c:
20197         Don't change rl.rlim_max for RLIMIT_CORE. We need only set
20198         rl.rlim_cur to 0 to turn off core dumps. This may be needed for the
20199         RLIMIT_CORE restoration on some OSes.
20200         [7e2c1a7adfd8]
20201
20202 2003-04-04  Todd C. Miller  <Todd.Miller@courtesan.com>
20203
20204         * auth/kerb5.c:
20205         Make this compile on Heimdal and MIT Kerberos 5
20206         [44c07d615868]
20207
20208         * config.h.in, configure, configure.in:
20209         Check for heimdal even if we found krb5-config and define
20210         HAVE_HEIMDAL.
20211         [aba0126f0059]
20212
20213         * auth/kerb5.c:
20214         Replace ETYPE_DES_CBC_MD5 with ENCTYPE_DES_CBC_MD5. The former is
20215         no longer defined by MIT kerb5 (though it used to be and indeed
20216         remains so in Heimdal).
20217         [e5a6c64d7cd5]
20218
20219 2003-04-03  Todd C. Miller  <Todd.Miller@courtesan.com>
20220
20221         * mkinstalldirs:
20222         Remove newer stuff that passes multiple (possibly duplicate)
20223         directories to "mkdir -p" since that seems to break on Tru64 Unix at
20224         least. This basically brings back what shipped with sudo 1.6.6.
20225         [f2a1abd872b3]
20226
20227 2003-04-02  Todd C. Miller  <Todd.Miller@courtesan.com>
20228
20229         * auth/kerb5.c:
20230         Correct number of args to krb5_principal_get_realm() and fix an
20231         unclosed comment that hid the bug.
20232         [0b37f8ce7824]
20233
20234         * configure:
20235         regen
20236         [1876cb840fe0]
20237
20238         * configure.in:
20239         ++version
20240         [480aff7c048e]
20241
20242         * README:
20243         ++version
20244         [488e0bbff613]
20245
20246         * Makefile.in:
20247         ++version
20248         [97ef63cedc38]
20249
20250         * INSTALL.binary:
20251         ++version
20252         [a506204e77d0]
20253
20254         * INSTALL:
20255         ++version
20256         [555aeba5c2bf]
20257
20258         * CHANGES, version.h:
20259         ++version
20260         [f66985a64063]
20261
20262         * BUGS:
20263         ++version
20264         [ea3573432412]
20265
20266         * configure.in:
20267         use krb5-config to determine Kerberos V details if it exists
20268         [7b46bbdaf774]
20269
20270         * alloc.c, auth/fwtk.c, auth/rfc1938.c, auth/securid.c,
20271         auth/securid5.c, auth/sia.c, check.c, compat.h, defaults.c, env.c,
20272         find_path.c, interfaces.c, logging.c, parse.c, sudo.c, sudo.h,
20273         testsudoers.c, visudo.c:
20274         Use warn/err and getprogname() throughout. The main exception is
20275         openlog(). Since the admin may be filtering logs based on the
20276         program name in the log files, hard code this to "sudo".
20277         [9f180d015cfa]
20278
20279         * Makefile.in:
20280         Add getprogname.c and err.c
20281         [d411c54a07dc]
20282
20283         * configure:
20284         regen
20285         [6d585d391acc]
20286
20287         * config.h.in, configure.in:
20288         Add checks for getprognam(), __progname and err.h
20289         [bcbccf61d34a]
20290
20291         * emul/err.h:
20292         For systems withour err/warn functions.
20293         [1b33118884d9]
20294
20295         * err.c:
20296         For systems withour err/warn functions.
20297         [26721f6b041f]
20298
20299         * getprogname.c:
20300         For systems neither getprogname() nor __progname; uses Argv[0].
20301         [841cf42af1eb]
20302
20303 2003-04-01  Todd C. Miller  <Todd.Miller@courtesan.com>
20304
20305         * CHANGES:
20306         checkpoint for 1.6.7p1
20307         [5bfdaf441dce]
20308
20309         * sudo.c, testsudoers.c:
20310         fix strlcpy() rval check (innocuous)
20311         [e05ac7e0d1f3]
20312
20313         * check.c:
20314         oflow detection in expand_prompt() was faulty (false positives). The
20315         count was based on strlcat() return value which includes the length
20316         of the entire string.
20317         [086c5a0acb25]
20318
20319 2003-03-31  Todd C. Miller  <Todd.Miller@courtesan.com>
20320
20321         * RUNSON, TODO:
20322         checkpoint for the sudo 1.6.7 release
20323         [096bab4da29a] [SUDO_1_6_7]
20324
20325         * CHANGES:
20326         checkpoint for the sudo 1.6.7 release
20327         [87322187ed78]
20328
20329 2003-03-24  Todd C. Miller  <Todd.Miller@courtesan.com>
20330
20331         * logging.c:
20332         g/c unused variable
20333         [c57cd4a17765]
20334
20335         * configure:
20336         regen
20337         [e7c1f581dfac]
20338
20339         * configure.in:
20340         use man sections 8 and 5 for csops
20341         [87de581bda88]
20342
20343 2003-03-21  Todd C. Miller  <Todd.Miller@courtesan.com>
20344
20345         * configure:
20346         regen
20347         [cb1433a9c7a1]
20348
20349         * configure.in:
20350         Add -lskey or -lopie directly to SUDO_LIBS instead of having
20351         AC_CHECK_LIB() add them to LIBS. Fixes visudo linkage.
20352         [ac5667978939]
20353
20354         * configure:
20355         regen
20356         [638459118a2a]
20357
20358         * configure.in:
20359         Add --with-blibpath for AIX. An alternate libpath may be specified
20360         or
20361         -blibpath support can be disabled. Also change conifgure such that
20362         -blibpath is not specified if no -L libpaths were added to
20363         SUDO_LDFLAGS.
20364         [c7d17b480cad]
20365
20366         * aclocal.m4:
20367         Add --with-blibpath for AIX. An alternate libpath may be specified
20368         or
20369         -blibpath support can be disabled. Also change conifgure such that
20370         -blibpath is not specified if no -L libpaths were added to
20371         SUDO_LDFLAGS.
20372         [37022e991575]
20373
20374         * INSTALL:
20375         Add --with-blibpath for AIX. An alternate libpath may be specified
20376         or
20377         -blibpath support can be disabled. Also change conifgure such that
20378         -blibpath is not specified if no -L libpaths were added to
20379         SUDO_LDFLAGS.
20380         [4b4bbe5bbe1b]
20381
20382         * configure.in:
20383         add AIX blibpath support
20384         [16ba788bf086]
20385
20386         * INSTALL, configure.in:
20387         --with-skey and --with-opie now take an option directory argument
20388         This obsoletes a --with-csops hack (/tools/cs/skey)
20389
20390         Also remove the remaining direct uses of "echo"
20391         [5b4986a90c03]
20392
20393 2003-03-20  Todd C. Miller  <Todd.Miller@courtesan.com>
20394
20395         * configure.in:
20396         Detect KTH Kerberos IV and deal with it. Also make -lroken optional
20397         for KTH Kerberos IV and V.
20398         [119f97b48e18]
20399
20400         * aclocal.m4:
20401         Add SUDO_APPEND_LIBPATH function that add -L/path/to/dir (and
20402         -R/path/to/dir if $with_rpath) to the specified variable.
20403         [e55e49d076ce]
20404
20405         * INSTALL, configure.in:
20406         Add -R/path/to/libs for Solaris and SVR4. There is a new configure
20407         option, --with-rpath to control this behavior.
20408         [d4730c5399ab]
20409
20410         * configure.in:
20411         for kerb4 put libdes after libkrb on the link line
20412         [5c566100eab6]
20413
20414         * auth/kerb4.c:
20415         typo
20416         [6541b72b64a3]
20417
20418         * configure.in:
20419         fix kerberos lib check when a path is specified
20420         [ae833a914c6f]
20421
20422         * logging.c:
20423         Fix boolean thinko in SIGCHLD reaper and call reapchild after
20424         sending mail instead of doing a conditional sudo_waitpid.
20425         [86fa9a35df5a]
20426
20427 2003-03-19  Todd C. Miller  <Todd.Miller@courtesan.com>
20428
20429         * configure:
20430         regen
20431         [e6275cf528ba]
20432
20433         * configure.in:
20434         replace =DIR with [=DIR] where sensible
20435         [c39a59173b38]
20436
20437         * configure.in:
20438         o Use AC_MSG_* instead of "echo" o New Kerberos include/lib
20439         detection based on openssh's configure.in
20440         [5b7a340912df]
20441
20442         * INSTALL:
20443         --with-kerb4 and --with-kerb5 now take an optional argument.
20444         [71ed87fc9c64]
20445
20446 2003-03-16  Todd C. Miller  <Todd.Miller@courtesan.com>
20447
20448         * auth/securid.c:
20449         Kill remaining strcpy(), the programmer's guide says username is 32
20450         bytes.
20451         [bdba70fcd08d]
20452
20453         * auth/kerb4.c:
20454         trat uid_t as unsigned long for printf and use snprintf, not sprintf
20455         [8072f5f8966d]
20456
20457         * auth/rfc1938.c:
20458         use snprintf
20459         [fc0c70c665fe]
20460
20461 2003-03-15  Todd C. Miller  <Todd.Miller@courtesan.com>
20462
20463         * auth/afs.c, auth/aix_auth.c, auth/bsdauth.c, auth/dce.c,
20464         auth/fwtk.c, auth/kerb4.c, auth/kerb5.c, auth/pam.c, auth/passwd.c,
20465         auth/rfc1938.c, auth/sudo_auth.c:
20466         update copyright year
20467         [b0a10ccb1d0e]
20468
20469         * sudo.man.in, sudoers.man.in, visudo.man.in:
20470         update copyright year
20471         [8fce0034eb51]
20472
20473         * LICENSE, Makefile.in, aclocal.m4, alloc.c, check.c, compat.h,
20474         configure.in, env.c, find_path.c, interfaces.c, logging.c, parse.c,
20475         parse.lex, parse.yacc, set_perms.c, sudo.c, sudo.h, sudo.pod,
20476         sudoers.pod, testsudoers.c, version.h, visudo.c, visudo.pod:
20477         update copyright year
20478         [d541e75fe520]
20479
20480         * check.c, env.c, sudo.c:
20481         Cast [ug]ids to unsigned long and printf with %lu
20482         [2ede64d3592b]
20483
20484         * configure:
20485         regen
20486         [c7c3245bdf3e]
20487
20488         * configure.in:
20489         correct error messages for --with-sudoers-{mode,uid,gid}
20490         [77fc15b1c9db]
20491
20492         * alloc.c:
20493         make the malloc(0) error specific to each function to aid tracking
20494         down bugs.
20495         [a58c34374b4b]
20496
20497         * alloc.c:
20498         deal with platforms where size_t is signed and there is no SIZE_MAX
20499         or SIZE_T_MAX
20500         [7192abb4ab4e]
20501
20502         * auth/kerb5.c:
20503         Make this compile w/ Heimdal and fix some gcc warnings.
20504         [f52f026f31c2]
20505
20506         * sudo.c:
20507         Use stat_sudoers macro so --with-stow can work
20508         [c3674735c139]
20509
20510         * INSTALL, config.h.in, configure, configure.in:
20511         Add support for --with-stow based on patches from Robert Uhl
20512         [b274cc1dd52c]
20513
20514         * env.c:
20515         fix indentation
20516         [110d9f1721b1]
20517
20518         * configure.in:
20519         back out rev 1.352
20520         [1eee91c83f11]
20521
20522         * lex.yy.c:
20523         regen
20524         [72fba1c9590b]
20525
20526         * parse.lex:
20527         use strlcpy, not strncpy
20528         [4faccbaeccef]
20529
20530         * set_perms.c:
20531         Fix typo; check pw_uid, not pw_gid after setusercontext() failure.
20532         [33bf0d18fdc1]
20533
20534         * logging.c:
20535         use pid_t
20536         [3e0536993d2c]
20537
20538 2003-03-14  Todd C. Miller  <Todd.Miller@courtesan.com>
20539
20540         * strlcat.c, strlcpy.c:
20541         Make gcc shutup about unused rcsid
20542         [1669a0c74e9e]
20543
20544         * interfaces.c:
20545         Move the n == 0 check for the non-getifaddrs cas
20546         [2460be061b2a]
20547
20548         * auth/rfc1938.c:
20549         skeychallenge() on NetBSD take a size parameter
20550         [05acc2012801]
20551
20552         * configure:
20553         regen
20554         [24bccf4749e8]
20555
20556         * configure.in:
20557         put -ldl after -lpam, not before; fixes static linking on Linux
20558         [7f06b7b2b4d8]
20559
20560         * interfaces.c:
20561         Avoid malloc(0) and fix the loop invariant for the getifaddrs()
20562         case.
20563         [239a55068646]
20564
20565         * sudo.cat, sudoers.cat, visudo.cat:
20566         regen
20567         [4a2eed3981ca]
20568
20569         * sudo.man.in, sudoers.man.in, visudo.man.in:
20570         regen
20571         [2c96ea2cf930]
20572
20573         * Makefile.in:
20574         Preserve copyright notice from .pod file in .man.in file
20575         [519fbd09aebc]
20576
20577         * visudo.pod:
20578         Add sudoers(5) to SEE ALSO
20579         [77ecfe3aedf1]
20580
20581 2003-03-13  Todd C. Miller  <Todd.Miller@courtesan.com>
20582
20583         * lex.yy.c:
20584         regen
20585         [6f5751ce0b74]
20586
20587         * parse.lex:
20588         Don't assume libc can realloc() a NULL string. If malloc/realloc
20589         fails, make sure we just return; yyerror() is not terminal.
20590         [1b8618623708]
20591
20592         * lex.yy.c:
20593         regen
20594         [5d31b46191c6]
20595
20596         * parse.lex:
20597         simplify fill_args a little and use strlcpy for paranoia
20598         [0ea35a55542b]
20599
20600         * sudo.tab.c:
20601         regen
20602         [5a8d508d708b]
20603
20604         * check.c, env.c, find_path.c, parse.c, parse.yacc, sudo.c,
20605         testsudoers.c:
20606         Use strlc{at,py} for paranoia's sake and exit on overflow. In all
20607         cases the strings were either pre-allocated to the correct size of
20608         length checks were done before the copy but a little paranoia can go
20609         a long way.
20610         [e73d28f1d14e]
20611
20612         * sudo.h:
20613         Add strlc{at,py} protos
20614         [748ffc7fc7f4]
20615
20616         * env.c, interfaces.c:
20617         Use erealloc3()
20618         [47f2cb46aba8]
20619
20620         * configure:
20621         regen
20622         [e7e2fb79f935]
20623
20624         * alloc.c:
20625         Oflow test of nmemb > SIZE_MAX / size is fine (don't need >=). Use
20626         memcpy() instead of strcpy() in estrdup() so this is strcpy()-free.
20627         [7e0fa4d6fc1d]
20628
20629         * sudo.c:
20630         snprintf() a uid as %lu, not %ld to match the MAX_UID_T_LEN test in
20631         configure.
20632         [09ea4d3959e9]
20633
20634         * aclocal.m4:
20635         In MAX_UID_T_LEN test cast uid_t to unsigned long, just unsigned.
20636         [31b4fdfdb8bf]
20637
20638 2003-03-12  Todd C. Miller  <Todd.Miller@courtesan.com>
20639
20640         * sudo.c:
20641         Use snprintf() for paranoia
20642         [a2659ceb46de]
20643
20644         * parse.yacc:
20645         Use emalloc2 and erealloc3
20646         [90a069842401]
20647
20648         * Makefile.in:
20649         strlc{at,py} for those w/o it
20650         [bac82dc916ee]
20651
20652         * strlcat.c, strlcpy.c:
20653         stlc{at,py} for those w/o it.
20654         [ce7254f5db09]
20655
20656         * config.h.in, configure, configure.in:
20657         Add stlc{at,py} for those w/o it.
20658         [00f08219657a]
20659
20660         * alloc.c, sudo.h:
20661         Add erealloc3(), a realloc() version of emalloc2().
20662         [c96eaf08bbed]
20663
20664         * interfaces.c, sudo.c:
20665         Use emalloc2() to allocate N things of a certain size.
20666         [1e0aba365555]
20667
20668         * alloc.c, sudo.h:
20669         Add emalloc2() -- like calloc() but w/o the bzero and with
20670         error/oflow checking.
20671         [292150bc4153]
20672
20673         * alloc.c:
20674         Error out on malloc(0); suggested by theo
20675         [995279e81326]
20676
20677 2003-03-10  Todd C. Miller  <Todd.Miller@courtesan.com>
20678
20679         * configure, configure.in:
20680         fix a typo; David Krause
20681         [f161213a17ab]
20682
20683 2003-03-07  Todd C. Miller  <Todd.Miller@courtesan.com>
20684
20685         * sudo.pod:
20686         fix typo
20687         [3ae5ad9a351a]
20688
20689 2003-03-04  Todd C. Miller  <Todd.Miller@courtesan.com>
20690
20691         * env.c:
20692         Remove DYLD_ from the environment for MacOS X; from bbraun
20693         [38caad5a3935]
20694
20695 2003-03-01  Todd C. Miller  <Todd.Miller@courtesan.com>
20696
20697         * config.h.in, configure.in:
20698         not not; Anil Madhavapeddy
20699         [d4f4f0bfc66b]
20700
20701 2003-01-23  Todd C. Miller  <Todd.Miller@courtesan.com>
20702
20703         * sudo.pod, sudoers.pod, visudo.pod:
20704         typos; jmc@openbsd.org
20705         [868c0f09bf9e]
20706
20707 2003-01-20  Todd C. Miller  <Todd.Miller@courtesan.com>
20708
20709         * parse.yacc:
20710         Add some missing ';' rule terminators that bison warns about.
20711         [535b0b8dcce5]
20712
20713         * config.sub:
20714         fix typo I introduced in last merge
20715         [81db4e4f43fe]
20716
20717         * configure:
20718         regenerate with autoconf 2.57
20719         [ca0c1e9564f8]
20720
20721         * config.h.in:
20722         Add missing "$HOME"
20723         [209186197ad1]
20724
20725         * configure.in:
20726         Add some more square backets to make autoconf 2.57 happy
20727         [b5639c14faf7]
20728
20729         * config.sub, mkinstalldirs:
20730         Updates from autoconf-2.57
20731         [36be35eb331b]
20732
20733         * config.guess:
20734         Updates from autoconf-2.57
20735         [ea0f8ca622af]
20736
20737 2003-01-17  Todd C. Miller  <Todd.Miller@courtesan.com>
20738
20739         * sudo.tab.h:
20740         regen
20741         [13a65a421567]
20742
20743         * lex.yy.c, sudo.tab.c:
20744         regen
20745         [0b529db7cb6d]
20746
20747         * parse.lex, parse.yacc, sudoers.pod:
20748         Add support for Defaults>RunasUser
20749         [20d726373175]
20750
20751 2003-01-07  Todd C. Miller  <Todd.Miller@courtesan.com>
20752
20753         * visudo.c:
20754         fclose() yyin after each yyparse() is done and use fopen() instead
20755         of using freopen().
20756         [587f8a2df857]
20757
20758         * parse.lex:
20759         Better fix for sudoers files w/o a newline before EOF. It looks
20760         like the issue is that yyrestart() does not reset the start
20761         condition to INITIAL which is an issue since we parse sudoers
20762         multiple times.
20763         [920f8326968a]
20764
20765 2003-01-06  Todd C. Miller  <Todd.Miller@courtesan.com>
20766
20767         * parse.lex:
20768         Work around what appears to be a flex bug when dealing with files
20769         that lack a final newline before EOF. This adds a rule to match EOF
20770         in the non-initial states which resets the state to INITIAL and
20771         throws an error.
20772         [b94943bb1f81]
20773
20774         * visudo.c:
20775         o The parser needs sudoers to end with a newline but some editors
20776         (emacs) may not add one. Check for a missing newline at EOF and
20777         add one if needed. o Set quiet flag during initial sudoers parse (to
20778         get options) o Move yyrestart() call and always use freopen() to
20779         open yyin after initial sudoers parse.
20780         [12d12f9b07aa]
20781
20782 2002-12-15  Todd C. Miller  <Todd.Miller@courtesan.com>
20783
20784         * set_perms.c:
20785         Fix pasto/thinko in setresgid()/setregid() usage. Want to set
20786         effective gid, not real gid, when reading sudoers.
20787         [c7d18b810fcd]
20788
20789         * set_perms.c:
20790         don't compile set_perms_posix if we have setreuid or setresuid
20791         [b9cea7a81a29]
20792
20793 2002-12-14  Todd C. Miller  <Todd.Miller@courtesan.com>
20794
20795         * sudo.pod, sudoers.pod:
20796         document new prompt escapes
20797         [2f088076b640]
20798
20799         * check.c:
20800         Add %U and %H escapes and redo prompt rewriting. "%%" now gets
20801         collapsed to "%" as was originally intended. This also gets rid of
20802         lastchar (does lookahead instead of lookback) which should simplify
20803         the logic slightly.
20804         [4b707b77b3c7]
20805
20806 2002-12-13  Todd C. Miller  <Todd.Miller@courtesan.com>
20807
20808         * tgetpass.c:
20809         Write the prompt *after* turning off echo to avoid some password
20810         characters being echoed on heavily-loaded machines with fast
20811         typists.
20812         [d38c57775915]
20813
20814         * config.sub:
20815         Add support for mipseb; wiz@danbala.tuwien.ac.at
20816         [cfdac87ed5c8]
20817
20818         * configure.in:
20819         Fix IRIX fallout from name changes in man dir/sect Makefile
20820         variables. Patch from erici AT motown DOT cc DOT utexas DOT edu
20821         [9a7618755c23]
20822
20823         * auth/pam.c:
20824         Keep a local copy of tgetpass_flags so we don't add in TGP_ECHO to
20825         the global copy. Problem noted by Peter Pentchev.
20826         [d0a3e189cb06]
20827
20828 2002-11-28  Todd C. Miller  <Todd.Miller@courtesan.com>
20829
20830         * sudo.tab.c:
20831         regen
20832         [23b931359087]
20833
20834         * parse.yacc:
20835         Add missing yyerror() calls; YYERROR does not seem to call this for
20836         us.
20837         [0be7aeb3ac57]
20838
20839 2002-11-26  Todd C. Miller  <Todd.Miller@courtesan.com>
20840
20841         * sudo.c:
20842         fix typo in comment; Pedro Bastos
20843         [d7406c460e99]
20844
20845 2002-11-22  Todd C. Miller  <Todd.Miller@courtesan.com>
20846
20847         * INSTALL:
20848         document --disable-setresuid
20849         [fbd03d03a027]
20850
20851         * auth/aix_auth.c, auth/bsdauth.c, auth/fwtk.c, auth/pam.c,
20852         auth/sudo_auth.c:
20853         Sprinkle some volatile qualifiers to prevent over-enthusiastic
20854         optimizers from removing memset() calls.
20855         [5370ac0e6129]
20856
20857         * logging.c, parse.yacc:
20858         minor sign fixes pointed out by gcc -Wsign-compare
20859         [db872438337f]
20860
20861         * set_perms.c, sudo.c, sudo.h:
20862         Revamp set_perms. We now use a version based on setresuid() or
20863         setreuid() when possible since that allows us to support the
20864         stay_setuid option and we always know exactly what the semantics
20865         will be (various Linux kernels have broken POSIX saved uid support).
20866         [523bc212396c]
20867
20868         * config.h.in, configure:
20869         regen from configure.in
20870         [351877ea2624]
20871
20872         * configure.in:
20873         Add checks for setresuid() and a way to disable using it
20874         [a5b21653d169]
20875
20876         * compat.h:
20877         No long need to emulate set*[ug]id() via setres[ug]id() or
20878         setre[ug]id(). The new set_perms stuff only uses things it knows are
20879         there.
20880         [47884bd5d1d9]
20881
20882         * sudo.c:
20883         Before exec, restore state of signal handlers to be the same as when
20884         we were initialy invoked instead of just reseting to SIG_DFL. Fixes
20885         a problem when using sudo with nohup. Based on a patch from Paul
20886         Markham.
20887         [f8f5a1484faa]
20888
20889         * sudo.c:
20890         o timestamp_uid should be uid_t, not int o clarify error message
20891         when sudo is run by root and no_root_sudo is set
20892         [19dda0734264]
20893
20894 2002-09-19  Todd C. Miller  <Todd.Miller@courtesan.com>
20895
20896         * README:
20897         update ftp link for bison
20898         [98bc191016e3]
20899
20900 2002-07-20  Todd C. Miller  <Todd.Miller@courtesan.com>
20901
20902         * set_perms.c:
20903         Error out if setusercontext() fails and the runas user is not root.
20904         [089f9ade4686]
20905
20906 2002-05-20  Todd C. Miller  <Todd.Miller@courtesan.com>
20907
20908         * auth/securid5.c:
20909         Fix rcsid
20910         [07e9e85dcc2f]
20911
20912         * configure.in:
20913         Fix SecurID API test
20914         [5ec201f454a5]
20915
20916 2002-05-17  Todd C. Miller  <Todd.Miller@courtesan.com>
20917
20918         * env.c:
20919         typo in comment
20920         [9d385c9ac533]
20921
20922         * configure.in:
20923         securid5 stuff needs pthreads. Just adding -lpthread is suboptimal
20924         but I don't see a better way at the moment.
20925         [f89e55cbb313]
20926
20927         * Makefile.in, auth/securid5.c:
20928         SecurID API version 5 support from Michael Stroucken
20929         [68500ac7e531]
20930
20931         * configure.in:
20932         Add check for SecurID 5.0 API
20933         [1ee242e6de6b]
20934
20935 2002-05-08  Todd C. Miller  <Todd.Miller@courtesan.com>
20936
20937         * strerror.c:
20938         We actually do still need config.h to get the 'const' definition for
20939         K&R C.
20940         [d9c982032d85]
20941
20942 2002-05-05  Todd C. Miller  <Todd.Miller@courtesan.com>
20943
20944         * configure:
20945         regen with autoconf 2.5.3
20946         [c71fc086eef5]
20947
20948         * configure.in:
20949         Don't set sysconfdir to '/etc' if the user has specified a --prefix.
20950         [d90da1efafd9]
20951
20952         * configure.in:
20953         Some fixes for autoconf 2.53 from Robert Uhl o don't AC_SUBST
20954         LIBOBJS o force a 4th arg for AC_CHECK_HEADER() to workaround a bug
20955         [dd67afefa90d]
20956
20957         * env.c, sudo.c, sudo.h:
20958         No need for dump_badenv() now that dump_defaults() knows how to dump
20959         lists.
20960         [6bcda468501d]
20961
20962         * BUGS, INSTALL, INSTALL.binary, Makefile.in, README, configure.in,
20963         version.h:
20964         ++version
20965         [44e3b8f95f0b]
20966
20967         * sudoers.pod:
20968         document timestampowner
20969         [37ebd69e9dd1]
20970
20971         * check.c:
20972         Don't call set_perms() when doing timestamp stuff unless
20973         timestamp_uid != 0.
20974         [63a63d41d18c]
20975
20976         * auth/sudo_auth.c, check.c, logging.c, parse.c, set_perms.c, sudo.c,
20977         sudo.h, testsudoers.c:
20978         g/c second arg to set_perms--it is no longer used
20979         [7ac4ce50c612]
20980
20981 2002-05-03  Todd C. Miller  <Todd.Miller@courtesan.com>
20982
20983         * check.c, set_perms.c, sudo.c, sudo.h:
20984         Add support for non-root timestamp dirs. This allows the timestamp
20985         dir to be shared via NFS (though this is not recommended).
20986         [faa83dd2b7fb]
20987
20988         * def_data.c, def_data.h, def_data.in:
20989         Add timestampowner, "Owner of the authentication timestamp dir"
20990         [d47640d4c86a]
20991
20992 2002-05-02  Todd C. Miller  <Todd.Miller@courtesan.com>
20993
20994         * env.c:
20995         Don't try to pre-compute the size of the new envp, just allocate
20996         space up front and realloc as needed. Changes to the new env
20997         pointer must all be made through insert_env() which now keeps track
20998         of spaced used and allocates as needed.
20999         [39bc934a9f2c]
21000
21001 2002-04-26  Todd C. Miller  <Todd.Miller@courtesan.com>
21002
21003         * configure:
21004         regen
21005         [0e12c09bb790]
21006
21007         * configure.in:
21008         Fix two typo/pastos; from jrj@purdue.edu
21009         [b718a4bf1181]
21010
21011 2002-04-25  Todd C. Miller  <Todd.Miller@courtesan.com>
21012
21013         * INSTALL.binary, README:
21014         ++version
21015         [a1e33027278c] [SUDO_1_6_6]
21016
21017         * configure, sudo.cat, sudo.man.in, sudoers.cat, sudoers.man.in,
21018         visudo.cat, visudo.man.in:
21019         regen
21020         [19eb2be283ef]
21021
21022         * CHANGES, RUNSON, TODO:
21023         Sync with 1.6.6
21024         [2ff9a9087f63]
21025
21026         * check.c:
21027         The the loop used to expand %h and %u, the lastchar variable was not
21028         being initialized. This means that if the last char in the prompt
21029         is '%' and the first char is 'h' or 'u' a extra copy of the host or
21030         user name would be copied, for which space had not been allocated.
21031         [b2e27197857d]
21032
21033 2002-04-18  Todd C. Miller  <Todd.Miller@courtesan.com>
21034
21035         * BUGS, INSTALL, Makefile.in, configure.in, version.h:
21036         crank version to 1.6.6
21037         [cfd08689e597]
21038
21039         * auth/afs.c:
21040         #undef VOID to get rid of an AFS warning
21041         [b40760564dc1]
21042
21043         * env.c:
21044         Use easprintf instead of emalloc + sprintf for some things.
21045         [e7bfe2e69a03]
21046
21047 2002-03-16  Todd C. Miller  <Todd.Miller@courtesan.com>
21048
21049         * lex.yy.c, sudo.tab.c:
21050         regen
21051         [35327104383d]
21052
21053         * parse.c, parse.lex, parse.yacc, testsudoers.c:
21054         Remove Chris Jepeway's email address so people don't bug him ;-)
21055         [c03410747a69]
21056
21057 2002-03-12  Todd C. Miller  <Todd.Miller@courtesan.com>
21058
21059         * sudo.c:
21060         Move endpwent() to be after set_perms(PERM_RUNAS, ...) and also call
21061         endgrent() at the same time.
21062         [28b6097d5d1a]
21063
21064 2002-02-22  Todd C. Miller  <Todd.Miller@courtesan.com>
21065
21066         * INSTALL:
21067         Make it clear which configure options take arguments.
21068         [38529e7efad0]
21069
21070 2002-01-25  Todd C. Miller  <Todd.Miller@courtesan.com>
21071
21072         * compat.h:
21073         HP-UX 9.x has RLIMIT_* but no RLIM_INFINITY. If there is no
21074         RLIM_INFINITY, just pretend it is -1. This works because we only
21075         check for RLIM_INFINITY and do not set anything to that value.
21076         [53173d34e6eb]
21077
21078 2002-01-22  Todd C. Miller  <Todd.Miller@courtesan.com>
21079
21080         * auth/pam.c:
21081         Zero and free allocated memory when there is a conversation error.
21082         [e342133db579]
21083
21084         * auth/bsdauth.c:
21085         Use sigaction() not signal()
21086         [126c2790561f]
21087
21088         * INSTALL:
21089         Mention that some linux kernels have broken POSIX saved ID support
21090         [571ef1a893d3]
21091
21092         * CHANGES:
21093         checkpoint for 1.6.5p2
21094         [9e9e456f7f43]
21095
21096         * configure:
21097         regen
21098         [d53703a46708]
21099
21100         * configure.in:
21101         Add --disable-setreuid flag
21102         [3b9f2679cb55]
21103
21104         * INSTALL:
21105         Document new --disable-setreuid option and change description for
21106         --disable-saved-ids to match new error message.
21107         [14fd3e5f60a5]
21108
21109         * set_perms.c:
21110         fatal() now takes an argument that determines whether or not to call
21111         perror().
21112         [d826b25e62ff]
21113
21114         * TROUBLESHOOTING:
21115         Update for new error messages from set_perms()
21116         [78007c3f76a9]
21117
21118         * PORTING:
21119         Update for new error messages from set_perms()
21120         [60c545a6bcff]
21121
21122 2002-01-21  Todd C. Miller  <Todd.Miller@courtesan.com>
21123
21124         * auth/pam.c:
21125         Make this compile w/o warnings
21126         [b90843a29af5]
21127
21128         * auth/pam.c:
21129         Mention that we can't use pam_acct_mgmt()
21130         [1dfc5a6e0479]
21131
21132         * auth/aix_auth.c, auth/bsdauth.c, auth/fwtk.c, auth/pam.c:
21133         The user's password was not zeroed after use when AIX
21134         authentication, BSD authentication, FWTK or PAM was in use.
21135         [b18fff30b1e7]
21136
21137 2002-01-20  Todd C. Miller  <Todd.Miller@courtesan.com>
21138
21139         * auth/pam.c:
21140         Avoid giving PAM a NULL password response, use the empty string
21141         instead. This avoids a log warning when the user hits ^C at the
21142         password prompt when PAM is in use.
21143         [c3315805e4e4]
21144
21145         * auth/pam.c:
21146         Don't check the return value of pam_setcred(). In Linux-PAM 0.75
21147         pam_setcred() returns the last saved return code, not the return
21148         code for the setcred module. Because we haven't called
21149         pam_authenticate(), this is not set and so pam_setcred() returns
21150         PAM_PERM_DENIED.
21151         [73db145fa179]
21152
21153         * Makefile.in:
21154         Don't need a '/' between $(DESTDIR) and a directory.
21155         [0901ca618176]
21156
21157         * Makefile.binary:
21158         Don't need a '/' between $(DESTDIR) and a directory.
21159         [cd7eb6098b87]
21160
21161 2002-01-18  Todd C. Miller  <Todd.Miller@courtesan.com>
21162
21163         * configure:
21164         regen
21165         [41b12c039282]
21166
21167         * configure.in:
21168         o BSDi also has a bogus setreuid() o Old FreeBSD has a bogus
21169         setreuid() o new NetBSD has a real setreuid() o add check for
21170         freeifaddrs() if getifaddrs() exists.
21171         [a82ee3b01733]
21172
21173         * config.h.in, interfaces.c:
21174         Older BSDi releases lack freeifaddrs() so add a test for that and if
21175         it is not present just use free().
21176         [6270671ea9d5]
21177
21178 2002-01-17  Todd C. Miller  <Todd.Miller@courtesan.com>
21179
21180         * CHANGES, RUNSON:
21181         Checkpoint for 1.6.5p1
21182         [26134ecf9b36]
21183
21184         * auth/passwd.c:
21185         Return AUTH_FAILURE in passwd_init() if skeyaccess() denies access
21186         to normal passwords, not AUTH_FATAL (which just causes an exit).
21187         [785e0f4bc0e2]
21188
21189         * visudo.c:
21190         Don't use memory after it has been freed.
21191         [c60492739fdb]
21192
21193         * auth/passwd.c:
21194         skeyaccess() wants a struct passwd * not a char *; Patch from
21195         Phillip E. Lobbes
21196         [65a1d3806fcd] [SUDO_1_6_5]
21197
21198         * BUGS:
21199         ++version
21200         [b2e1825e692e]
21201
21202         * CHANGES, RUNSON, TODO:
21203         checkpoint for sudo 1.6.5
21204         [d730945622e7]
21205
21206 2002-01-16  Todd C. Miller  <Todd.Miller@courtesan.com>
21207
21208         * configure:
21209         regen
21210         [49744c403ac9]
21211
21212         * INSTALL, INSTALL.binary, Makefile.in, README, configure.in:
21213         version 1.6.5
21214         [ec30a5f7fc45]
21215
21216         * sudo.cat, sudo.man.in, sudoers.cat, sudoers.man.in, visudo.cat,
21217         visudo.man.in:
21218         sudo version 1.6.5
21219         [458a3bed535d]
21220
21221         * logging.c:
21222         o when invoking the mailer as root use a hard-coded environment that
21223         doesn't include any info from the user's environment. Basically
21224         paranoia.
21225
21226         o Add support for the NO_ROOT_MAILER compile-time option and run the
21227         mailer as the user and not root if NO_ROOT_MAILER is defined.
21228         [4df351ec92ce]
21229
21230         * set_perms.c, sudo.h:
21231         Bring back PERM_FULL_USER
21232         [edb6039bb284]
21233
21234         * configure:
21235         regen
21236         [3eb2943afa03]
21237
21238         * version.h:
21239         version 1.6.5
21240         [044fc9a0c72b]
21241
21242         * INSTALL, config.h.in, configure.in:
21243         Add --disable-root-mailer option to run the mailer as the user and
21244         not root.
21245         [e9f805397963]
21246
21247         * CHANGES:
21248         checkpoint for 1.6.4p2
21249         [b58aae5aa98a]
21250
21251         * PORTING:
21252         Mention the "seteuid(0): Operation not permitted" problem here too
21253         just for good measure.
21254         [90135b37a691]
21255
21256 2002-01-15  Todd C. Miller  <Todd.Miller@courtesan.com>
21257
21258         * env.c, getspwuid.c, sudo.c:
21259         The SHELL environment variable was preserved from the user's
21260         environment instead of being reset based on the passwd database when
21261         the "env_reset" option was used. Now it is reset as it should be.
21262         [300066ef3c71]
21263
21264         * configure:
21265         regen
21266         [a47d779e6552]
21267
21268         * INSTALL, TROUBLESHOOTING, config.h.in, configure.in, set_perms.c,
21269         sudo.c:
21270         Add a configure option to turn off use of POSIX saved IDs
21271         [fb18cc8e94d0]
21272
21273         * configure:
21274         regen
21275         [d4f2f20025b6]
21276
21277         * configure.in:
21278         add --with-efence option
21279         [45c4f33a8e88]
21280
21281         * sudo.c:
21282         Only OR in MODE_RESET_HOME if MODE_RUN is set. Fixes a problem where
21283         "sudo -l" would not work if always_set_home was set.
21284         [c3a6de6c4800]
21285
21286         * lex.yy.c:
21287         regen
21288         [417424452998]
21289
21290         * parse.lex:
21291         Quoted commas were not being treated correctly in command line
21292         arguments.
21293         [753415541b37]
21294
21295         * sudo.c:
21296         o Move the call to rebuild_env() until after MODE_RESET_HOME is set.
21297         Otherwise, the set_home option has no effect.
21298
21299         o Fix use of freed memory when the "fqdn" flag is set. This was
21300         introduced by the fix for the "segv when gethostbynam() fails" bug.
21301         Also, we no longer call set_fqdn() if the "fqdn" flag is not set so
21302         there is no need to check the "fqdn" flag in set_fqdn() itself.
21303         [4b6a4245c04e]
21304
21305         * env.c:
21306         Add 'continue' statements to optimize the switch statement. From
21307         Solar.
21308         [a82c76975ae5]
21309
21310 2002-01-13  Todd C. Miller  <Todd.Miller@courtesan.com>
21311
21312         * sudoers.cat, sudoers.man.in:
21313         Regen from new sudoers.pod
21314         [6ecc07b3d0e1] [SUDO_1_6_4]
21315
21316         * sudoers.pod:
21317         Add caveat about stay_setuid flag
21318         [9d228a7bea1b]
21319
21320         * sudo.c:
21321         If set_perms == set_perms_posix and the stay_setuid flag is not set,
21322         set all uids to 0 and use set_perms_fallback().
21323         [c4e54d1ec86f]
21324
21325         * set_perms.c, sudo.h:
21326         Remove PERM_FULL_USER (which is no longer used) and add
21327         PERM_FULL_ROOT (used when exec'ing the mailer).
21328         [15406c522ea2]
21329
21330         * logging.c:
21331         Use set_perms(PERM_FULL_ROOT, 0) before exec'ing the mailer since we
21332         never want to run the mailer setuid.
21333         [2294853e0666]
21334
21335 2002-01-12  Todd C. Miller  <Todd.Miller@courtesan.com>
21336
21337         * sudo.cat, sudo.man.in, sudo.pod, visudo.cat, visudo.man.in,
21338         visudo.pod:
21339         Use sudo.ws instead of courtesan.com in URLs
21340         [55204002a308]
21341
21342         * Makefile.binary, Makefile.in:
21343         Fix mansect substitution
21344         [b7b5cbc3aa91]
21345
21346         * Makefile.in:
21347         Substitute man sections in Makefile.binary
21348         [040deb785e56]
21349
21350         * Makefile.binary:
21351         Sync install targets with Makefile.in and substitute in man
21352         sections.
21353         [77882a275281]
21354
21355         * INSTALL, INSTALL.binary:
21356         version is 1.6.4
21357         [0f87aabbcb70]
21358
21359         * Makefile.in:
21360         Repair bindist target
21361         [8d43bfe7e2d1]
21362
21363         * CHANGES:
21364         sync for 1.6.4
21365         [13ca3d4a0a72]
21366
21367 2002-01-10  Todd C. Miller  <Todd.Miller@courtesan.com>
21368
21369         * install-sh:
21370         Fix case where neither whoami nor id are found
21371         [424dd270bc47]
21372
21373 2002-01-09  Todd C. Miller  <Todd.Miller@courtesan.com>
21374
21375         * install-sh:
21376         If neither whoami nor id exists, just assume we are root.
21377         [2d2644e42c53]
21378
21379         * alloc.c:
21380         Add explicit cast to (VOID *) on malloc/realloc. Seems to be needed
21381         on AIX which for some reason isn't pulling in the malloc prototype.
21382         [231440d2ee3b]
21383
21384 2002-01-08  Todd C. Miller  <Todd.Miller@courtesan.com>
21385
21386         * Makefile.in, aclocal.m4, compat.h, parse.c, sudo.c:
21387         (c) 2002
21388         [700e3b41a68e]
21389
21390         * CHANGES:
21391         checkpoint
21392         [33e604bd8d5b]
21393
21394         * sudo.c:
21395         Defer assigning new environment until right before the exec.
21396         [f13c49e75c1c]
21397
21398         * parse.c:
21399         kill extra blank line
21400         [12ef22e9dae3]
21401
21402 2002-01-07  Todd C. Miller  <Todd.Miller@courtesan.com>
21403
21404         * configure:
21405         regen
21406         [a6cd2d788f74]
21407
21408         * configure.in:
21409         Use -O not -O2 for m88k-motorola-sysv* since motorola gcc-derived
21410         compiler doesn't recognise -O2.
21411         [5234aa543692]
21412
21413         * HISTORY:
21414         Clarify origins of Root Group sudo a bit based on info from
21415         billp@rootgroup.com
21416         [4deef01c4208]
21417
21418 2002-01-03  Todd C. Miller  <Todd.Miller@courtesan.com>
21419
21420         * LICENSE:
21421         2002
21422         [6c8e089dbd1a]
21423
21424         * CHANGES:
21425         checkpoint for 1.6.4rc1
21426         [3349eb87a49f]
21427
21428 2002-01-02  Todd C. Miller  <Todd.Miller@courtesan.com>
21429
21430         * config.h.in:
21431         now generated via autoheader
21432         [84657d303cb9]
21433
21434         * configure:
21435         regen
21436         [207bfa6a13f6]
21437
21438         * compat.h:
21439         Move in some stuff that was previously in config.h.
21440         [e576d8b6480f]
21441
21442         * aclocal.m4, configure.in:
21443         Add info for autoheader.
21444         [0549cd5da27c]
21445
21446 2002-01-01  Todd C. Miller  <Todd.Miller@courtesan.com>
21447
21448         * Makefile.in:
21449         o Add DESTDIR support o Use -M, -O, and -G instead of -m, -o, and
21450         -g to facilitate non-root installs
21451         [619216038f56]
21452
21453         * install-sh:
21454         Add -M option (like -m but only for root) If we can't find "whoami",
21455         use "id" w/ some sed.
21456         [b39121c8b792]
21457
21458         * configure:
21459         regen
21460         [b39b93ff9804]
21461
21462         * configure.in:
21463         allow user to always override mansectsu and mansectform
21464         [0fca5e63bd90]
21465
21466 2001-12-31  Todd C. Miller  <Todd.Miller@courtesan.com>
21467
21468         * mkinstalldirs:
21469         update from autoconf 2.52
21470         [07bd75a508c3]
21471
21472         * config.guess, config.sub:
21473         Update from autoconf 2.52
21474         [857b90fe31b7]
21475
21476         * configure:
21477         regen with autoconf 2.52
21478         [08e7d1ea2aeb]
21479
21480         * configure.in:
21481         o Call AC_PROG_CC_STDC to find out how to run the compiler in ANSI
21482         mode o Remove compiler-specific checks for HP-UX now that we use
21483         AC_PROG_CC_STDC
21484         [d433a70b6208]
21485
21486         * RUNSON:
21487         Checkpoint
21488         [babf6d2235d1]
21489
21490         * auth/pam.c:
21491         o Add pam_prep_user function to call pam_setcred() for the target
21492         user; on Linux this often sets resource limits. o When calling
21493         pam_end(), try to convert the auth->result to a PAM_FOO value.
21494         This is a hack--we really need to stash the last PAM_FOO value
21495         received and use that instead.
21496         [6ad6f340dd2a]
21497
21498         * set_perms.c, sudo.h:
21499         o Add pam_prep_user function to call pam_setcred() for the target
21500         user; on Linux this often sets resource limits.
21501         [67795421ac82]
21502
21503         * env.c:
21504         Fix off by one error in number of bytes allocated via malloc (does
21505         not affected any released version of sudo).
21506         [5f5915360111]
21507
21508 2001-12-30  Todd C. Miller  <Todd.Miller@courtesan.com>
21509
21510         * lex.yy.c:
21511         regen
21512         [8208c0277775]
21513
21514         * parse.lex:
21515         Allow '@', '(', ')', ':' in arguments to a defaults variable w/o
21516         requiring that they be quoted.
21517         [ae59bc8f68dd]
21518
21519         * sudoers.cat, sudoers.man.in, sudoers.pod:
21520         Mention that no double quotes are needed when
21521         adding/deleting/assigning a single value to a list.
21522         [25efc940a1f0]
21523
21524         * Makefile.in:
21525         Don't rely on mkdefaults being executable, call perl explicitly.
21526         [6edc97ba5f1d]
21527
21528         * sudo.tab.c:
21529         regen
21530         [49130b2e7e4d]
21531
21532         * parse.yacc:
21533         Remove some XXX that are no longer relevant.
21534         [d460ac0d3767]
21535
21536         * defaults.c:
21537         o Roll our own loop instead of using strpbrk() for better
21538         grokability o When adding to a list we must malloc() and use
21539         memcpy(), not strdup() since we must only copy len bytes from str.
21540         [649bef08e1f0]
21541
21542 2001-12-21  Todd C. Miller  <Todd.Miller@courtesan.com>
21543
21544         * sudo.tab.c:
21545         regen
21546         [f0bbf2c38c0e]
21547
21548         * parse.yacc:
21549         typo in comment
21550         [2563711ff593]
21551
21552 2001-12-19  Todd C. Miller  <Todd.Miller@courtesan.com>
21553
21554         * CHANGES:
21555         checkpoint
21556         [a6d8a29fb30e]
21557
21558         * configure:
21559         regen
21560         [bdfcaaf3bd13]
21561
21562         * configure.in:
21563         avoid the -g flag unless --with-devel was specified
21564         [a976707bef30]
21565
21566         * Makefile.in:
21567         mkdefaults, def_data.in and sigaction.c were missing from the
21568         tarball
21569         [6917ffbaa412]
21570
21571         * Makefile.in:
21572         def_data.c was missing
21573         [87c78b11453d]
21574
21575 2001-12-18  Todd C. Miller  <Todd.Miller@courtesan.com>
21576
21577         * env.c:
21578         Fix setting of $USER and $LOGNAME in the non-reset_env case. Also
21579         allow HOME, SHELL, LOGNAME, and USER to be specified in keep_env
21580         [fc8698e6a45e]
21581
21582         * TODO:
21583         Another TODO item
21584         [6f251d6cd466]
21585
21586         * sudoers:
21587         Add comment for Default section so folks know where it should go.
21588         [7edba626f392]
21589
21590 2001-12-17  Todd C. Miller  <Todd.Miller@courtesan.com>
21591
21592         * tgetpass.c:
21593         Use TCSETAF, not TCSETA to set terminal in termio case
21594         [fbd172f6c5d3]
21595
21596         * sudoers.cat, sudoers.man.in:
21597         regen from sudoers.pod
21598         [64edd2de816e]
21599
21600         * sudoers.pod:
21601         o Typo, Runas_User_List should be Runas_List o a User_List can not
21602         contain a uid o mention that the Defaults section should come after
21603         Alias definitions but before the user specifications
21604         [54070ba2092b]
21605
21606 2001-12-15  Todd C. Miller  <Todd.Miller@courtesan.com>
21607
21608         * sudoers.cat, sudoers.man.in:
21609         regen
21610         [e62d1d97693c]
21611
21612         * sudoers.pod:
21613         Fix listpw and verifypw sections, they were not being formatted
21614         properly.
21615         [123868c2f3e9]
21616
21617         * sudoers.cat, sudoers.man.in:
21618         regen
21619         [f94841f8b374]
21620
21621         * sudoers.pod:
21622         fix typos
21623         [f278f1c1184e]
21624
21625         * configure:
21626         regen
21627         [d2270049ba9f]
21628
21629         * config.h.in, configure.in:
21630         use AC_SYS_POSIX_TERMIOS instead of rolling our own
21631         [c1a13f1354b9]
21632
21633         * README:
21634         Reference sudo.ws not courtesan.com
21635         [ca13be67ebd7]
21636
21637         * PORTING:
21638         Add notes on shadow passwords
21639         [aa13863f2314]
21640
21641         * BUGS:
21642         In list mode (sudo -l), characters escaped with a backslash are
21643         shown verbatim with the backslash.
21644         [1a75a2858be2]
21645
21646         * sudoers:
21647         Add simple examples from OpenBSD (Marc Espie)
21648         [3ae9a9ae4125]
21649
21650         * tgetpass.c:
21651         Catch SIGTTIN and SIGTTOU too and treat them like SIGTSTP.
21652         [f8817699ee10]
21653
21654         * CHANGES:
21655         minor prettyification
21656         [f523587929b9]
21657
21658         * CHANGES:
21659         Updated change log
21660         [39d9010ee7a8]
21661
21662         * testsudoers.c:
21663         Fix CIDR handling here too.
21664         [c91db8344c32]
21665
21666         * auth/pam.c:
21667         Apparently a NULL response is OK
21668         [83bae61078d9]
21669
21670         * TODO:
21671         Checkpoint for upcoming beta release
21672         [efb95c09df2a]
21673
21674         * TROUBLESHOOTING:
21675         Many people believe that adding a runas spec should obviate the need
21676         for the -u flag. It does not.
21677         [c698bad85b0e]
21678
21679         * RUNSON:
21680         checkpoint update for upcoming 1.6.4 beta
21681         [009e465a0a45]
21682
21683         * config.h.in:
21684         o Add HAVE_STDLIB_H and HAVE_MEMORY_H o Define HAVE_STRINGS_H even
21685         if HAVE_STRING_H is defined -- this is safe now
21686         [d27c035f4e14]
21687
21688         * PORTING:
21689         Add signals section
21690         [2d24c13cb3c8]
21691
21692         * configure:
21693         regen
21694         [2b80a939e2ed]
21695
21696         * configure.in:
21697         Fix check for sigaction_t
21698         [6fa41c89ab20]
21699
21700         * sudo.c:
21701         XXX - should call find_path() as runas user, not root. Can't do
21702         that until the parser changes though.
21703         [f0b4f85651bd]
21704
21705         * sudo.c:
21706         If find_path() fails as root, try again as the invoking user (useful
21707         for NFS). Idea from Chip Capelik.
21708         [e03fa7872692]
21709
21710         * sudo.cat, sudo.man.in, sudoers.cat, sudoers.man.in:
21711         Regenerate after pod file changes
21712         [48e4bd75ec21]
21713
21714         * def_data.c, def_data.h, def_data.in, set_perms.c, sudo.c, sudo.h,
21715         sudo.pod, sudoers.pod:
21716         Add new sudoers option "preserve_groups". Previously sudo would not
21717         call initgroups() if the target user was root. Now it always calls
21718         initgroups() unless the -P command line option or the
21719         "preserve_groups" sudoers option is set. Idea from TJ Saunders.
21720         [4f730359f101]
21721
21722 2001-12-14  Todd C. Miller  <Todd.Miller@courtesan.com>
21723
21724         * compat.h, config.h.in:
21725         Use new HAVE_SIGACTION_T define
21726         [dfb25f3cae5b]
21727
21728         * logging.c:
21729         Fix compilation on K&C
21730         [7355e3275e34]
21731
21732         * configure:
21733         regen
21734         [a710584f92f0]
21735
21736         * configure.in:
21737         Add check for sigaction_t -- IRIX already defines this so don't
21738         redefine it.
21739         [df9c5737f6da]
21740
21741         * snprintf.c:
21742         fix typo
21743         [3d782b8134c8]
21744
21745         * interfaces.c:
21746         need stdlib.h here too
21747         [c789d8973ab2]
21748
21749         * configure:
21750         regen
21751         [44822856bf46]
21752
21753         * configure.in:
21754         Remove redundant checks for string.h, strings.h and unistd.h
21755         [933c94f8bbf4]
21756
21757         * sudo.cat, sudo.man.in, sudoers.cat, sudoers.man.in, visudo.cat,
21758         visudo.man.in:
21759         Regen from pod files
21760         [ad18c590f638]
21761
21762         * BUGS:
21763         Update for 1.6.4
21764         [26bc88b69d22]
21765
21766         * configure, lex.yy.c, sudo.tab.c:
21767         regen
21768         [bef89fd6fa2d]
21769
21770         * strerror.c:
21771         Return EINVAL if errnum > sys_nerr
21772         [0512374e6661]
21773
21774         * auth/sudo_auth.h:
21775         o Update copyright year
21776         [a877016db6e2]
21777
21778         * LICENSE, Makefile.binary, Makefile.in, aclocal.m4, compat.h,
21779         config.h.in, defaults.h, interfaces.h, pathnames.h.in, sudo.h,
21780         sudo.pod:
21781         o Update copyright year
21782         [e15a1b39039f]
21783
21784         * configure.in:
21785         o Don't define STDC_HEADERS unconditionally for IRIX o Update
21786         copyright year
21787         [82a8cb819e07]
21788
21789         * README:
21790         update version
21791         [d82e523a16b4]
21792
21793         * auth/afs.c, auth/aix_auth.c, auth/bsdauth.c, auth/dce.c,
21794         auth/fwtk.c, auth/kerb4.c, auth/kerb5.c, auth/pam.c, auth/passwd.c,
21795         auth/rfc1938.c, auth/secureware.c, auth/securid.c, auth/sia.c,
21796         auth/sudo_auth.c, logging.c, parse.c, parse.lex, parse.yacc,
21797         set_perms.c, snprintf.c, sudo.c, testsudoers.c, tgetpass.c, utime.c,
21798         visudo.c:
21799         o Reorder some headers and use STDC_HEADERS define properly o Update
21800         copyright year
21801         [fe39f76b3795]
21802
21803         * lsearch.c:
21804         o Reorder some headers and use STDC_HEADERS define properly o Update
21805         copyright year
21806         [764ba3d4fa13]
21807
21808         * getspwuid.c, goodpath.c, interfaces.c:
21809         o Reorder some headers and use STDC_HEADERS define properly o Update
21810         copyright year
21811         [fb46d46140d4]
21812
21813         * getcwd.c:
21814         o Reorder some headers and use STDC_HEADERS define properly o Update
21815         copyright year
21816         [b199d70ac7ab]
21817
21818         * alloc.c, check.c, defaults.c, env.c, fileops.c, find_path.c,
21819         fnmatch.c:
21820         o Reorder some headers and use STDC_HEADERS define properly o Update
21821         copyright year
21822         [dab8f192a3ed]
21823
21824         * configure:
21825         regen
21826         [156658f25cea]
21827
21828         * tgetpass.c:
21829         flags set in signal handlers should be volatile sig_atomic_t
21830         [c22931a5535e]
21831
21832         * config.h.in, configure.in:
21833         Add checks for volatile and sig_atomic_t
21834         [b03b3341381d]
21835
21836         * configure, lex.yy.c:
21837         regen
21838         [ed9daba88217]
21839
21840         * def_data.c, def_data.h, def_data.in, defaults.c, env.c, find_path.c,
21841         sudo.c, sudoers.pod:
21842         Remove "secure_path" Defaults option since it cannot work with the
21843         existing parser.
21844         [c9e54a0f5971]
21845
21846         * find_path.c, sudo.c:
21847         Unset "secure_path" if user_is_exempt()
21848         [fb7544565ae8]
21849
21850         * env.c, pathnames.h.in:
21851         o Remove assumption that PATH and TERM are not listed in env_keep o
21852         If no PATH is in the environment use a default value o If TERM is
21853         not set in the non-reset case also give it a default value.
21854         [c987eb7df268]
21855
21856         * aclocal.m4, configure.in, defaults.c, pathnames.h.in:
21857         _PATH_SENDMAIL -> _PATH_SUDO_SENDMAIL so --without-sendmail works on
21858         systems that define in paths.h
21859         [51865b0cdebf]
21860
21861         * auth/passwd.c, auth/sudo_auth.c, auth/sudo_auth.h:
21862         Add support for skeyaccess(3) if it is present in libskey.
21863         [8add77c7d3e7]
21864
21865 2001-12-13  Todd C. Miller  <Todd.Miller@courtesan.com>
21866
21867         * sudo.c:
21868         Only need to do 'lc = login_getclass(NULL)' if lc == NULL
21869         [5a3d3cbf2c6d]
21870
21871         * parse.lex:
21872         '\\' is a perfectly legal character to have in a command line
21873         argument.
21874         [c15a466ef00e]
21875
21876         * sudo.c:
21877         o Defer call to set_fqdn() until it is safe to use log_error() o
21878         Don't print errno string value if gethostbyname fails, it is not
21879         relevant
21880         [c0c6bcf08bcb]
21881
21882         * parse.c:
21883         Fix CIDR -> in_addr_t conversion.
21884         [2f307ebeb63f]
21885
21886 2001-12-12  Todd C. Miller  <Todd.Miller@courtesan.com>
21887
21888         * sudoers.pod:
21889         Remove an extra "User_List" in the User_Spec definition From
21890         ybertrand AT snoopymail.com
21891         [97bde59ea280]
21892
21893         * parse.c:
21894         Make 'listpw=never' work for users who are not explicitly mentioned
21895         in sudoers.
21896         [258f0f30a428]
21897
21898         * sudoers.pod:
21899         Remove gratuitous '=' in EBNF grammar; era AT iki.fi
21900         [4b0f03872ee1]
21901
21902         * sudoers.pod:
21903         Document new list Defaults type and convert env_keep and env_delete
21904         to lists. Document new env_check option.
21905         [a07f1f079fe3]
21906
21907         * lex.yy.c, sudo.tab.c, sudo.tab.h:
21908         regen parser
21909         [e39ac6c6581b]
21910
21911         * parse.lex:
21912         Don't let '#' appear in a {WORD} and restrict #foo in a Runas spec
21913         to #[0-9-]+.
21914         [69c5388908f3]
21915
21916         * configure:
21917         regen
21918         [0f1877b88cb3]
21919
21920         * aclocal.m4:
21921         Simpler SUDO_FUNC_ISBLANK that uses AC_TRY_LINK
21922         [6545503ae361]
21923
21924         * config.h.in, configure.in:
21925         Add check for skeyaccess(3)
21926         [6caf69fe6359]
21927
21928         * visudo.pod:
21929         Document new -c, -f, and -q options
21930         [13d0203c21d3]
21931
21932         * visudo.c:
21933         o Add -f option (alternate sudoers file) o Convert to use getopt(3)
21934         [4c2b664d617d]
21935
21936         * configure:
21937         regen
21938         [6d5bd932e7b5]
21939
21940         * aclocal.m4, config.h.in, configure.in:
21941         Add check for isblank and a replacement macro if it doesn't exist.
21942         [b524f5e4f953]
21943
21944 2001-12-11  Todd C. Miller  <Todd.Miller@courtesan.com>
21945
21946         * visudo.c:
21947         In check-only mode, don't create sudoers if it does not already
21948         exist.
21949         [c748a2d5acad]
21950
21951         * parse.yacc:
21952         o Add a new token, DEFVAR, to indicate a Defaults variable name o
21953         Add support for "+=" and "-=" list operators o replace some 1 and 0
21954         with TRUE and FALSE for greater legibility.
21955         [554cb174b37e]
21956
21957         * parse.lex:
21958         o Use exclusive start conditions to remove some ambiguity in the
21959         lexer. Also reorder some things for clarity. o Add support for
21960         "+=" and "-=" list operators. o Use the new DEFVAR token to denote
21961         a Defaults variable name.
21962         [3a2cf8323e26]
21963
21964         * sudo.h:
21965         Prototype init_envtables()
21966         [b74916469dab]
21967
21968         * env.c:
21969         o Convert environment handling to use lists instead of strings.
21970         This greatly simplifies routines that need to do "foreach" type
21971         operations. o Add new init_envtables() function to set env_check
21972         and env_delete defaults based on initial_badenv_table and
21973         initial_checkenv_table (formerly sudo_badenv_table).
21974         [0a8b404658b6]
21975
21976         * defaults.c, defaults.h:
21977         o Add a new LIST type and functions to manipulate it. o This is for
21978         use with environment handling variables. o Call new
21979         init_envtables() routine inside init_defaults() to initialize the
21980         environment lists.
21981         [ae73e64f0902]
21982
21983         * def_data.c, def_data.h, def_data.in:
21984         Convert environment options to use the new LIST type and add a new
21985         one, env_check that only deletes if the sanity check fails.
21986         [3019503936de]
21987
21988         * testsudoers.c:
21989         Add dummy version of init_envtables()
21990         [9d9e3ee609d9]
21991
21992         * parse.yacc:
21993         honor quiet mode
21994         [8330fba6167c]
21995
21996         * visudo.c:
21997         Add check-only mode
21998         [dab411bc8c35]
21999
22000         * mkdefaults:
22001         Fix generation of entries with NULL descriptions.
22002         [ea75b9fed02e]
22003
22004 2001-12-09  Todd C. Miller  <Todd.Miller@courtesan.com>
22005
22006         * tgetpass.c:
22007         Use sigaction_t and quiet a gcc warning.
22008         [6f67d719c452]
22009
22010         * sudo.c:
22011         Must reset signal handlers before we exec
22012         [300418120e1a]
22013
22014         * auth/aix_auth.c, auth/bsdauth.c, auth/fwtk.c, auth/pam.c,
22015         auth/sudo_auth.c:
22016         Be carefule now that tgetpass() can return NULL (user hit ^C). PAM
22017         version needs testing. Set SIGTSTP to SIG_DFL during password entry
22018         so user can suspend us.
22019         [00304aa58747]
22020
22021         * tgetpass.c:
22022         Add support for interrupting/suspending tgetpass via keyboard input.
22023         If you suspend sudo from the password prompt and resume it will re-
22024         prompt you.
22025         [4af2b5101d32]
22026
22027         * sudo.c:
22028         Don't block keyboard interrupt signals, just set them to SIG_IGN.
22029         [d46d7f67ef6b]
22030
22031 2001-12-08  Todd C. Miller  <Todd.Miller@courtesan.com>
22032
22033         * config.h.in:
22034         add back HAVE_SIGACTION
22035         [c9c7702c603e]
22036
22037         * configure:
22038         regen
22039         [09fe669d337f]
22040
22041         * config.h.in, configure.in, logging.c, sudo.c, visudo.c:
22042         Kill POSIX_SIGNALS define and old signal support now that we emulate
22043         POSIX ones Also be sure to correctly initialize struct sigaction.
22044         [4bc2a6dbb2be]
22045
22046         * strerror.c:
22047         Don't need config.h or "#ifndef HAVE_STRERROR" wrapper.
22048         [1ad64a19f328]
22049
22050         * compat.h:
22051         Add scaffolding for POSIX signal emulation
22052         [945861d4c93b]
22053
22054         * sigaction.c:
22055         o Add missing ';' so this compiles o Can't use NULL since we don't
22056         include stdio.h
22057         [04d0cac7438f]
22058
22059         * sigaction.c:
22060         Emulate sigaction() using sigvec()
22061         [d0b54a989875]
22062
22063 2001-11-13  Todd C. Miller  <Todd.Miller@courtesan.com>
22064
22065         * sudoers.pod:
22066         Document new behavior of negative values of timestamp_timeout Fix a
22067         typo
22068         [4c0716570d01]
22069
22070         * sudo.pod:
22071         Add security note about command not being logged after 'sudo su' and
22072         friends.
22073         [43294851a33c]
22074
22075         * sudo.pod:
22076         Mention that -V prints default values when run as root, including
22077         the list of environment variables to clear.
22078         [d9e5e550a8c3]
22079
22080         * Makefile.in:
22081         Run pod2man with --quotes=none to avoid stupid quoting of C<>
22082         entries.
22083         [997b23c35dbe]
22084
22085 2001-11-12  Todd C. Miller  <Todd.Miller@courtesan.com>
22086
22087         * auth/sudo_auth.c, def_data.c, def_data.h, def_data.in, sudoers.pod:
22088         Add mail_badpass option Also modify mail_always behavior to also
22089         send mail when the password is wrong
22090         [838d40ccafce]
22091
22092         * env.c, sudo.c, sudo.h:
22093         Dump default bad env table when 'sudo -V' is run by root.
22094         [f67f1b8048b0]
22095
22096         * sudoers.pod:
22097         document env_delete
22098         [d74f893663a2]
22099
22100         * env.c:
22101         Add support for '*' in env_keep when not resetting the environment
22102         (ie: the normal case).
22103         [fd4fb62ea8fd]
22104
22105         * env.c:
22106         Add env_delete variable that lets the user replace/add to the
22107         bad_env_table. Allow '*' wildcard in env_keep entries.
22108         [aa728bc35e29]
22109
22110 2001-11-06  Todd C. Miller  <Todd.Miller@courtesan.com>
22111
22112         * mkinstalldirs:
22113         Force umask to 022 to guarantee sane directory permissions.
22114         [9ab3cfe70569]
22115
22116 2001-11-02  Todd C. Miller  <Todd.Miller@courtesan.com>
22117
22118         * Makefile.in:
22119         add sudo.tab.h and sudo.tab.c to sudo.tab.o dependency
22120         [671010465e6f]
22121
22122         * mkdefaults:
22123         fix breakage in last commit
22124         [8318f8851e56]
22125
22126         * Makefile.in:
22127         acsite.m4 -> aclocal.m4
22128         [30c146873a01]
22129
22130         * check.c:
22131         fix I_TS_TIMEOUT vs. I_TIMESTAMP_TIMEOUT pasto in previous commit
22132         [4dc8b39954da]
22133
22134         * def_data.c:
22135         regenerated from def_data.in
22136         [915ea16ce1eb]
22137
22138         * check.c, defaults.c, defaults.h:
22139         Add new T_UINT type that most things use instead of T_INT If
22140         timestamp_timeout is < 0 then treat the ticket as never expiring (to
22141         be expired manually by the user).
22142         [3a3a636a2a5d]
22143
22144         * def_data.in:
22145         change most T_INT -> T_UINT
22146         [a2228d2457af]
22147
22148         * mkdefaults:
22149         fix warning when no args
22150         [ca70a5394af5]
22151
22152         * visudo.c:
22153         Change 2 Exit() -> exit() Avoid stdio in Exit() and call _exit() if
22154         we are a signal handler. We no longer print the signal number but
22155         the user can just check the exit value for that.
22156         [dc424f631fef]
22157
22158 2001-10-16  Todd C. Miller  <Todd.Miller@courtesan.com>
22159
22160         * logging.c:
22161         when setting up pipes in child process check for case where stdin ==
22162         pipe fd 0
22163         [518112d76184]
22164
22165 2001-10-11  Todd C. Miller  <Todd.Miller@courtesan.com>
22166
22167         * visudo.c:
22168         Ignore editor exit value since XPG4 says vi's exit value is the
22169         count of editing errors made (failed searches, etc).
22170         [b9d952284865]
22171
22172 2001-10-05  Todd C. Miller  <Todd.Miller@courtesan.com>
22173
22174         * configure:
22175         regen
22176         [cb3aa586f03b]
22177
22178         * configure.in:
22179         sco now is identified by config.guess as *-sco-*
22180         [46664bbdea61]
22181
22182         * configure.in:
22183         Check for getspnam() in -lgen if not in -lc for UnixWare.
22184         [0f152ad1ba93]
22185
22186 2001-09-18  Todd C. Miller  <Todd.Miller@courtesan.com>
22187
22188         * sudoers.pod, visudo.pod:
22189         "upper case" -> "uppercase"
22190         [f9151f232326]
22191
22192         * sudoers.pod:
22193         fix typos and grammar; pjanzen@foatdi.harvard.edu
22194         [2855d73d0237]
22195
22196 2001-08-28  Todd C. Miller  <Todd.Miller@courtesan.com>
22197
22198         * sudoers.pod:
22199         Missing word (specify); krapht@secureops.com
22200         [65523eb37a2c]
22201
22202 2001-08-23  Todd C. Miller  <Todd.Miller@courtesan.com>
22203
22204         * sudo.c:
22205         If we fail to lookup a login class, apply the default one.
22206         [d4869faa6816]
22207
22208         * logging.c:
22209         In log_error() free message, not logline unconditionally, then free
22210         logline if it is not the same as message. No function change but
22211         this mirrors how they are allocated.
22212         [565e5f6cc643]
22213
22214 2001-07-17  Todd C. Miller  <Todd.Miller@courtesan.com>
22215
22216         * configure:
22217         regenerate
22218         [834a48f548a2]
22219
22220         * configure.in:
22221         remove some backslash quotes that are unneeded
22222         [50d401d6e2ca]
22223
22224         * configure.in:
22225         o Tweaks to make this work with autoconf-2.50 o Use AC_LIBOBJ
22226         instead of changing LIBOBJS directly o Use AC_REPLACE_FUNCS where we
22227         can o Use AC_CHECK_FUNCS instead of AC_CHECK_FUNC so we don't have
22228         to AC_DEFINE things manually.
22229         [f502c5f15f92]
22230
22231         * config.guess, config.sub:
22232         Updated from autoconf-2.50
22233         [6140205915ef]
22234
22235 2001-05-22  Todd C. Miller  <Todd.Miller@courtesan.com>
22236
22237         * README:
22238         Update mailing list section. We use mailman now, not majordomo.
22239         [b9a8ca45e6dc]
22240
22241 2001-05-10  Todd C. Miller  <Todd.Miller@courtesan.com>
22242
22243         * getspwuid.c, logging.c, sudo.c:
22244         Use setpwent()/endpwent() + all the shadow variants to make sure we
22245         don't inadvertantly leak an fd to the child. Apparently Linux's
22246         shadow routines leave the fd open even if you don't call setspent().
22247         Reported by mike@gistnet.com; different patch used.
22248         [d33792ef6c01]
22249
22250 2001-04-13  Todd C. Miller  <Todd.Miller@courtesan.com>
22251
22252         * sudoers.pod:
22253         s/eg./e.g./
22254         [bd32a0acaf93]
22255
22256         * tgetpass.c:
22257         select() may return EAGAIN. If so, continue like we do for EINTR.
22258         [5f202c943818]
22259
22260         * logging.c:
22261         Fix a non-exploitable buffer overflow in the word splitting code.
22262         This should really be rewritten.
22263         [4c724363863a]
22264
22265         * Makefile.in:
22266         FAQ link goes away
22267         [1d26dd6c8972]
22268
22269         * INSTALL:
22270         Tell people to look in sample.syslog.conf for examples, not FAQ
22271         [affcae3f43ca]
22272
22273         * TROUBLESHOOTING:
22274         Update list of env vars that are cleared
22275         [234e56f1435a]
22276
22277         * sudo.c:
22278         remove struct env_table decl since that stuff has all moved to env.c
22279         [5dd923148777]
22280
22281 2001-04-04  Todd C. Miller  <Todd.Miller@courtesan.com>
22282
22283         * fileops.c:
22284         Fix a pasto in flock-style unlocking and include <sys/file.h> for
22285         flock on older systems; twetzel@gwdg.de
22286         [d5420d9d2861]
22287
22288         * configure:
22289         regen to get NeXT lockf/flock fix
22290         [d3ba6ed70e15]
22291
22292         * configure.in:
22293         force NeXT to use flock since lockf is broken
22294         [bd5391dca1bb]
22295
22296 2001-03-30  Todd C. Miller  <Todd.Miller@courtesan.com>
22297
22298         * check.c:
22299         Use stashed user_gid when checking against exempt gid since sudo
22300         sets its gid to a a value that makes sudoers readable. Previously
22301         if you used gid 0 as the exempt group everyone would be exempt. From
22302         Paul Kranenburg <pk@cs.few.eur.nl>
22303         [0b140cc3a817]
22304
22305 2001-03-29  Todd C. Miller  <Todd.Miller@courtesan.com>
22306
22307         * configure:
22308         regen
22309         [cc455408f32b]
22310
22311         * aclocal.m4:
22312         #include stdio.h in SUDO_CHECK_TYPE since IRIX 6 aparently defines
22313         some types (such as ssize_t) therein.
22314         [b6aee85ca331]
22315
22316 2001-03-02  Todd C. Miller  <Todd.Miller@courtesan.com>
22317
22318         * defaults.c:
22319         Fix negation of paths in a boolean context. Problem found by
22320         apt@UH.EDU
22321         [8aee217a7cdf]
22322
22323 2001-02-23  Todd C. Miller  <Todd.Miller@courtesan.com>
22324
22325         * visudo.c:
22326         pasto
22327         [ad32b277bf68]
22328
22329 2001-02-17  Todd C. Miller  <Todd.Miller@courtesan.com>
22330
22331         * visudo.c:
22332         SA_RESETHAND means the opposite of what I was thinking--oops To
22333         block all signals in old-style signals use ~0, not 0xffffffff
22334         [6ecdd793590a]
22335
22336 2001-02-04  Todd C. Miller  <Todd.Miller@courtesan.com>
22337
22338         * defaults.c:
22339         coerce difference of pointers to int when used in a string length
22340         printf format; deraadt@openbsd.org
22341         [a9d10f07180d]
22342
22343 2001-01-17  Todd C. Miller  <Todd.Miller@courtesan.com>
22344
22345         * visudo.c:
22346         Block all signals in Exit() to avoid a signal race. There is still
22347         a tiny window but I'm not going to worry about it.
22348         [6661805c0458]
22349
22350 2001-01-07  Todd C. Miller  <Todd.Miller@courtesan.com>
22351
22352         * env.c:
22353         glibc uses the LANGUAGE env var so clear that too; Solar Designer
22354         [d4ba95628afb]
22355
22356         * lex.yy.c:
22357         Regenerate with a fix to flex.skl that preserves errno from
22358         clobbering by isatty().
22359         [607eec736e19]
22360
22361 2000-12-31  Todd C. Miller  <Todd.Miller@courtesan.com>
22362
22363         * auth/aix_auth.c, auth/bsdauth.c, auth/fwtk.c, auth/pam.c,
22364         auth/sia.c, auth/sudo_auth.c:
22365         Some defaults I_ defines got renamed.
22366         [ec19b23caaf3]
22367
22368         * Makefile.in, check.c, def_data.c, def_data.h, def_data.in,
22369         defaults.c, defaults.h, env.c, logging.c, mkdefaults, parse.yacc,
22370         set_perms.c, sudo.c, sudo.tab.c:
22371         Move defaults info into its own files from which we generate .h and
22372         .c files. This makes adding or rearranging variables much simpler.
22373         [e91b880b5043]
22374
22375 2000-12-30  Todd C. Miller  <Todd.Miller@courtesan.com>
22376
22377         * configure, configure.in:
22378         fix typo in last commit
22379         [10a6ee2bae71]
22380
22381         * compat.h, config.h.in, configure, configure.in:
22382         Add check + emulation for setegid (like seteuid).
22383         [29492092bd2f]
22384
22385         * env.c:
22386         Make env_keep override badenv_table as documented Fix traversal of
22387         badenv_table (broken in last commit)
22388         [37c9f0d22673]
22389
22390         * set_perms.c, sudo.c, sudo.h:
22391         Don't try and build saved uid version of set_perms on systems w/o
22392         them. Rename set_perms_saved_uid() -> set_perms_posix() Make
22393         set_perms_setreuid simply be set_perms_fallback() and simply include
22394         the appropriate function at compile time (setreuid() vs. setuid()).
22395         [3107333c062c]
22396
22397         * sudoers.cat, sudoers.man.in, sudoers.pod:
22398         PATH is also preserved when env_reset is in effect
22399         [90e45c5711ff]
22400
22401         * CHANGES, Makefile.in, check.c, compat.h, config.h.in, configure,
22402         configure.in, defaults.c, defaults.h, env.c, find_path.c,
22403         getspwuid.c, set_perms.c, sudo.c, sudo.cat, sudo.h, sudo.man.in,
22404         sudo.pod, sudoers.cat, sudoers.man.in, sudoers.pod, testsudoers.c,
22405         visudo.c, visudo.cat, visudo.man.in:
22406         New Defaults options: o stay_setuid - sudo will remain setuid if
22407         system has saved uids or setreuid(2) o env_reset - reset the
22408         environment to a sane default o env_keep - preserve environment
22409         variables that would otherwise be cleared
22410
22411         No longer use getenv/putenv/setenv functions--do environment munging
22412         by hand. Potentially dangerous environment variables can be cleared
22413         only if they contain '/' pr '%' characters to protect buggy
22414         programs. Moved environment routines into env.c (new file)
22415         [c2f97651db4c]
22416
22417         * INSTALL:
22418         Clear up --without-passwd description
22419         [2f336dab6733]
22420
22421         * putenv.c, sudo_setenv.c:
22422         We now build up a new environment from scratch and assign it to
22423         "environ".
22424         [6ae6152f2238]
22425
22426 2000-12-19  Todd C. Miller  <Todd.Miller@courtesan.com>
22427
22428         * sudo.pod, visudo.pod:
22429         Grammatical fixes from Paul Janzen
22430         [e03ead2e56f8]
22431
22432 2000-12-15  Todd C. Miller  <Todd.Miller@courtesan.com>
22433
22434         * visudo.c:
22435         If there was a syntax error and the user just wants to quit, unlink
22436         sudoers if it is zero length.
22437         [74ba7921f520]
22438
22439         * visudo.c:
22440         'Q' means ignore parse error, not 'q'
22441         [e8d0e4491fe6]
22442
22443         * visudo.c:
22444         Open sudoers for writing with mode SUDOERS_MODE From Dimitry Andric
22445         <dim@xs4all.nl>
22446         [b24990a72491]
22447
22448 2000-12-13  Todd C. Miller  <Todd.Miller@courtesan.com>
22449
22450         * set_perms.c:
22451         Add missing #ifdef HAVE_LOGIN_CAP_H; ayamura@ayamura.org
22452         [41a8db10e076]
22453
22454 2000-12-09  Todd C. Miller  <Todd.Miller@courtesan.com>
22455
22456         * config.guess, config.sub:
22457         Darwin / Mac OS X support from Wilfredo Sanchez <wsanchez@apple.com>
22458         [6052da895d2e]
22459
22460 2000-11-03  Todd C. Miller  <Todd.Miller@courtesan.com>
22461
22462         * sudo.c, visudo.c:
22463         Use exit(127), not exit(-1)
22464         [9ff0c3eada34]
22465
22466         * Makefile.in, defaults.c, defaults.h, set_perms.c, sudo.c:
22467         Move set_perms() to its own file and use POSIX saved uid or
22468         setreuid() if available.
22469
22470         Added stay_setuid option for systems that have libraries that
22471         perform extra paranoia checks in system libraries for setuid
22472         programs (ie: anything with issetugid(2)).
22473         [28960f842698]
22474
22475         * sudo.c:
22476         strip more bits from the environment and add a facility for
22477         stripping things only if they contain '/' or '%' to address printf
22478         format string vulnerabilities in other programs.
22479         [b98d6375f299]
22480
22481 2000-11-02  Todd C. Miller  <Todd.Miller@courtesan.com>
22482
22483         * configure:
22484         regen
22485         [7e74e5c91049]
22486
22487         * configure.in:
22488         For NCR, add -lc89 to LIBS, not SUDO_LIBS and cache the existence of
22489         strcasecmp().
22490         [a418e9e70442]
22491
22492         * configure:
22493         regen
22494         [bbff244a52bc]
22495
22496         * configure.in:
22497         Check for strcasecmp(3) in -lc89 for NCR Unix
22498         [361c99576681]
22499
22500 2000-11-01  Todd C. Miller  <Todd.Miller@courtesan.com>
22501
22502         * config.h.in:
22503         Define HAVE_INNETGR #ifdef HAVE__INNETGR
22504         [473cdb92b6db]
22505
22506         * configure:
22507         regen
22508         [4e6364a195e0]
22509
22510         * compat.h, config.h.in, configure.in:
22511         Add check for _innetgr(3) since NCR systems have that instead of
22512         innetgr(3).
22513         [25e6852e7494]
22514
22515 2000-10-31  Todd C. Miller  <Todd.Miller@courtesan.com>
22516
22517         * auth/securid.c:
22518         check return value of creadcfg() call sd_close() after sd_auth()
22519         store username in sd->username so we don't rely on the USER env
22520         variable
22521         [d106b4f42722]
22522
22523 2000-10-30  Todd C. Miller  <Todd.Miller@courtesan.com>
22524
22525         * INSTALL:
22526         document --with-bsdauth
22527         [f1518ecc2ee9]
22528
22529         * configure:
22530         regen
22531         [dceb35071ea8]
22532
22533         * configure.in:
22534         --with-bsdauth assumes --with-logincap
22535         [4200778083fd]
22536
22537         * auth/bsdauth.c, auth/fwtk.c:
22538         When prompting for a response to a challenge, if the user just hits
22539         return then reprompt with echo turned on.
22540         [a539b6474a97]
22541
22542 2000-10-29  Todd C. Miller  <Todd.Miller@courtesan.com>
22543
22544         * sudo.c:
22545         Remove debugging code that should not have been committed, oops.
22546         [9862607b77a7]
22547
22548         * auth/bsdauth.c:
22549         Use lower-level routines and get the password ourselves. Checks for
22550         a challenge and if there is one echo is not turned off.
22551         [2d8fcd166baa]
22552
22553         * auth/pam.c, auth/sudo_auth.h:
22554         minor housekeeping, no real code changes
22555         [d0074a277fb4]
22556
22557 2000-10-27  Todd C. Miller  <Todd.Miller@courtesan.com>
22558
22559         * sudo.c:
22560         Fix a coredump in the logging functions if gethostname(2) fails by
22561         deferring the call to log_error() until things are better setup.
22562
22563         Fix return value of set_loginclass() in non-BSD-auth case.
22564
22565         Hard-code 'sudo' in the usage message so we can fit more options on
22566         a line
22567         [d9d1b7579818]
22568
22569         * logging.c:
22570         Fix errant ';' (typo) that broken MSG_ONLY
22571         [849b2276a470]
22572
22573 2000-10-26  Todd C. Miller  <Todd.Miller@courtesan.com>
22574
22575         * sudo.cat, sudo.man.in:
22576         regen
22577         [bb3c8c6704d1]
22578
22579         * sudo.pod:
22580         Document -a flag
22581         [e18316cebaac]
22582
22583         * Makefile.in, auth/bsdauth.c, auth/sudo_auth.h, config.h.in,
22584         configure, configure.in, getspwuid.c, sudo.c:
22585         Add support for BSD authentication.
22586         [f374cfd9ca0d]
22587
22588 2000-10-19  Todd C. Miller  <Todd.Miller@courtesan.com>
22589
22590         * sudoers.pod:
22591         Fix typo; from sato@complex.eng.hokudai.ac.jp
22592         [3085fee9766e]
22593
22594 2000-10-12  Todd C. Miller  <Todd.Miller@courtesan.com>
22595
22596         * sudoers.pod:
22597         Mention negating umask
22598         [c9e410294dae]
22599
22600         * defaults.c:
22601         Allow user to specify umask of 0777 (same as !umask)
22602         [bb771daa96fe]
22603
22604 2000-10-09  Todd C. Miller  <Todd.Miller@courtesan.com>
22605
22606         * sudo.pod, visudo.pod:
22607         Fix a typo and give a URL for the sudo history.
22608         [77f73199aedb]
22609
22610 2000-10-08  Todd C. Miller  <Todd.Miller@courtesan.com>
22611
22612         * defaults.c, sudo.pod:
22613         fix typos; pepper@reppep.com
22614         [5532c7421340]
22615
22616 2000-09-14  Todd C. Miller  <Todd.Miller@courtesan.com>
22617
22618         * sudo.c, sudo.h, sudo_setenv.c:
22619         sudo_setenv() now exits on memory alloc failure instead of returning
22620         -1.
22621         [71f1cf18f47b]
22622
22623 2000-09-07  Todd C. Miller  <Todd.Miller@courtesan.com>
22624
22625         * sudo.c:
22626         Strip out NLSPATH and PATH_LOCALE from the environment for FreeBSD
22627         and possibly others.
22628         [b69d985b0d22]
22629
22630         * logging.c:
22631         Don't use vsyslog(3) since HP-UX (and others?) lack it. This means
22632         that "%m" won't be expanded but we don't use that anyway since the
22633         logging routines may splat to stderr as well.
22634         [8d37a544d0c0]
22635
22636         * defaults.c, defaults.h, sudo.c, sudoers.cat, sudoers.man.in,
22637         sudoers.pod:
22638         Add always_set_home variable
22639         [dbcaff646e07]
22640
22641         * configure, configure.in:
22642         Have to hard code default values in help since the defaults are set
22643         _after_ the help stuff.
22644         [7b5d6d72f55c]
22645
22646 2000-08-31  Todd C. Miller  <Todd.Miller@courtesan.com>
22647
22648         * lex.yy.c, parse.lex:
22649         Allow special characters (including '#') to be embedded in pathnames
22650         if quoted by a '\\'. The quoted chars will be dealt with by
22651         fnmatch(). Unfortunately, 'sudo -l' still prints the '\\'.
22652         [3ed33cf09977]
22653
22654 2000-08-13  Todd C. Miller  <Todd.Miller@courtesan.com>
22655
22656         * install-sh:
22657         Better path searching for programs we need.
22658         [60517cb1f0d6]
22659
22660         * TROUBLESHOOTING:
22661         Add section on "C compiler cannot create executables" errors.
22662         [e4ada6eaee59]
22663
22664         * Makefile.binary, Makefile.in, version.h:
22665         Crank version
22666         [93d1bd5b7f5e]
22667
22668         * aclocal.m4, configure, configure.in, sudo.cat, sudo.man.in,
22669         sudo.pod, sudoers.cat, sudoers.man.in, sudoers.pod, visudo.cat,
22670         visudo.man.in, visudo.pod:
22671         Substitute values from configure into man pages.
22672         [619854c356c1]
22673
22674 2000-08-12  Todd C. Miller  <Todd.Miller@courtesan.com>
22675
22676         * parse.c, sudo.c:
22677         The listpw and verifypw sudoers options would not take effect
22678         because the value of the default was checked *before* sudoers was
22679         parsed. Instead of passing in the value of PWCHECK_* to
22680         sudoers_lookup(), pass in the arg for def_ival() so the check can be
22681         deferred until after sudoers is parsed.
22682         [4f596e358f72]
22683
22684 2000-08-11  Todd C. Miller  <Todd.Miller@courtesan.com>
22685
22686         * tgetpass.c:
22687         When writing prompt, no need to write the NUL as well;
22688         hag@linnaean.org
22689         [fbcdd7b431ee]
22690
22691 2000-06-09  Todd C. Miller  <Todd.Miller@courtesan.com>
22692
22693         * install-sh:
22694         When looking for chown, check in /sbin too
22695         [657ba6653f8c]
22696
22697 2000-06-05  Todd C. Miller  <Todd.Miller@courtesan.com>
22698
22699         * visudo.c:
22700         Remove extraneous call to init_defaults() and set runas_user to NULL
22701         betweem parses so init_defaults will reset it each time, thus
22702         avoiding a reference to free()d data.
22703         [7421fcd692af]
22704
22705 2000-06-04  Todd C. Miller  <Todd.Miller@courtesan.com>
22706
22707         * config.h.in, interfaces.c, interfaces.h, sudo.c:
22708         Add support for using getifaddrs() to get the list of ip addr /
22709         netmask pairs. Currently IPv4-only.
22710         [a35bc4f7306d]
22711
22712         * visudo.c:
22713         Add a missing check for UserEditor == NULL Add missing '+' before
22714         line number when invoking editor to fix a syntax error
22715         [f0d4635f6082]
22716
22717 2000-05-12  Todd C. Miller  <Todd.Miller@courtesan.com>
22718
22719         * sudo.c:
22720         Call clean_env very early in main() for paranoia's sake. Idea from
22721         Marc Esipovich.
22722         [f8d72ebd0115]
22723
22724 2000-05-10  Todd C. Miller  <Todd.Miller@courtesan.com>
22725
22726         * sudo.h:
22727         Update proto for evasprintf and easprintf
22728         [d147d6e58419]
22729
22730         * alloc.c:
22731         Make easprintf() and evasprintf() return an int.
22732         [b2ca5d089667]
22733
22734         * check.c:
22735         If the targetpw flag is set, use target username as part of the
22736         timestamp path. If tty tickets are in effect cat the tty and the
22737         target username with a ':' as the separator.
22738         [de11abc693c2]
22739
22740 2000-05-09  Todd C. Miller  <Todd.Miller@courtesan.com>
22741
22742         * auth/pam.c:
22743         Backout part of last change; setting PAM_USER to the invoking user
22744         breaks things like targetpw.
22745         [427218a7387f]
22746
22747         * auth/pam.c:
22748         set tty and username via pam_set_item
22749         [85d1922dbcc9]
22750
22751         * auth/sudo_auth.c, check.c, getspwuid.c, sudo.c, sudo.h:
22752         Fix root, runas, and target authentication for non-passwd file auth
22753         methods.
22754         [a14535e7b30c]
22755
22756 2000-04-22  Todd C. Miller  <Todd.Miller@courtesan.com>
22757
22758         * sudo.cat, sudo.man.in, sudo.pod, sudoers.cat, sudoers.man.in,
22759         sudoers.pod, visudo.cat, visudo.man.in, visudo.pod:
22760         Use B<-Z> not C<-Z> for command line flags in all places. This is
22761         more consistent and works around a bug in Pod::Man.
22762         [64b5a05f30c5]
22763
22764         * sudoers.cat, sudoers.man.in, sudoers.pod:
22765         Fix an occurence of 'semicolon' that should be 'colon'
22766         [4ea5aacae3fb]
22767
22768 2000-04-19  Todd C. Miller  <Todd.Miller@courtesan.com>
22769
22770         * configure, configure.in:
22771         Fix --with-badpri help line
22772         [3cc40977c043]
22773
22774 2000-04-17  Todd C. Miller  <Todd.Miller@courtesan.com>
22775
22776         * defaults.c, logging.c, sudo.c:
22777         Bracket calls to syslog with an openlog() and closelog() since some
22778         authentication methods (like PAM) may do their own logging via
22779         syslog. Since we don't use syslog much (usually just once per
22780         session) this doesn't really incur a performance penalty. It also
22781         Fixes a SEGV with pam_kafs.
22782         [fe1cc28529f6]
22783
22784 2000-04-15  Todd C. Miller  <Todd.Miller@courtesan.com>
22785
22786         * sudo.c:
22787         Fix -H flag. runas_homedir is only valid after
22788         set_perms(PERM_RUNAS, mode)
22789         [ce9b1c6f68a6]
22790
22791 2000-04-12  Todd C. Miller  <Todd.Miller@courtesan.com>
22792
22793         * INSTALL:
22794         Clarify the fact that insults are not enabled just by including them
22795         in the binary.
22796         [d5a31d48320c]
22797
22798 2000-04-07  Todd C. Miller  <Todd.Miller@courtesan.com>
22799
22800         * sudo.cat, sudo.man.in, sudoers.cat, sudoers.man.in, visudo.cat,
22801         visudo.man.in:
22802         Regenerated with perl 5.6.0 pod2man
22803         [21751433768b]
22804
22805         * Makefile.in:
22806         Give date string to pod2man since its default is ugly and it ain't
22807         got no alibi.
22808         [0080b2f6298f]
22809
22810         * Makefile.in:
22811         Do section substitution on the output of pod2man and remove hack
22812         needed for old pod2man.
22813         [1ef843d5c78b]
22814
22815         * sudo.pod, sudoers.pod, visudo.pod:
22816         Put back real man sections, we will do the substitution later.
22817         [f728c1abad7e]
22818
22819 2000-04-02  Todd C. Miller  <Todd.Miller@courtesan.com>
22820
22821         * configure, configure.in:
22822         Don't bother checking for the path to vi if user specified --with-
22823         editor
22824         [bf698487e0d5]
22825
22826 2000-04-01  Todd C. Miller  <Todd.Miller@courtesan.com>
22827
22828         * CHANGES, visudo.c:
22829         Visudo now does its own fork/exec instead of calling system(3).
22830         [99bbcd88863b]
22831
22832         * CHANGES, INSTALL, Makefile.in, sudoers.cat, sudoers.man.in,
22833         sudoers.pod, visudo.c:
22834         Visudo now checks for the existence of an editor and gives a
22835         sensible error if it does not exist.
22836
22837         The path to the editor for visudo is now a colon-separated list of
22838         allowable editors. If the user has $EDITOR set and it matches one
22839         of the allowed editors that editor will be used. If not, the first
22840         editor in the list that actually exists is used.
22841         [cc86eb9f5440]
22842
22843         * sudo.cat, sudo.man.in, sudo.pod:
22844         Clear up confusion wrt sudo's return value.
22845         [9385b12d8e79]
22846
22847 2000-03-27  Todd C. Miller  <Todd.Miller@courtesan.com>
22848
22849         * Makefile.in:
22850         Strip sudo and visudo for bindist target
22851         [a995ddd79177]
22852
22853         * sudo.cat, sudo.man.in, sudo.pod, sudoers.cat, sudoers.man.in,
22854         sudoers.pod, visudo.cat, visudo.man.in, visudo.pod:
22855         Use @mansectsu@ and @mansectform@ in the man page bodies as well.
22856         [5eb9e60a726f] [SUDO_1_6_3]
22857
22858         * visudo.cat, visudo.man.in, visudo.pod:
22859         Typo: @sysconf@ -> @sysconfdir@
22860         [f07f52fcd099]
22861
22862         * Makefile.in:
22863         'make dist' should not cause any files to be modified so remove its
22864         dependencies.
22865         [7f44a2666a9c]
22866
22867         * CHANGES:
22868         Whoops, forgot to add release marker
22869         [16c0f16b35b8]
22870
22871 2000-03-26  Todd C. Miller  <Todd.Miller@courtesan.com>
22872
22873         * CHANGES:
22874         Final change for 1.6.3 (or so I hope)
22875         [473c89da6123]
22876
22877         * sudo.cat, sudoers.cat, visudo.cat:
22878         Use SYSV man sections since BSD systems will have nroff...
22879         [0a6bd154324e]
22880
22881 2000-03-24  Todd C. Miller  <Todd.Miller@courtesan.com>
22882
22883         * parse.yacc, sudo.tab.c:
22884         When checking to see if the host/user matches in a defaults spec,
22885         check against TRUE, not just non-zero since it might be -1.
22886         [41f2b7ad3fdd]
22887
22888         * configure, configure.in:
22889         OSF/1 puts file formats in section 4, not 5.
22890         [d77c1301afa9]
22891
22892         * CHANGES, INSTALL, sudo.c:
22893         Make login class support work on BSD/OS
22894         [e9bbe3c08ade]
22895
22896         * RUNSON:
22897         Update for 1.6.3
22898         [c40ce1d76c4d]
22899
22900         * configure, configure.in:
22901         If there is no inet_addr but there *is* an __inet_addr that's ok
22902         since inet_addr is probably just a macro then. The better thing to
22903         do would be to look for the macro, but this is fine for now.
22904         [1b8865ae4d68]
22905
22906         * configure, configure.in:
22907         Don't use shlicc for BSD/OS 4.x
22908         [83fbf6dedd2c]
22909
22910         * Makefile.in, configure, configure.in:
22911         *.man lives in cwd, *.cat lives in $(srcdir), add a @mansrcdir@
22912         configure variable so we can deal with this. Also, only remove *.man
22913         for 'distclean' not 'clean'.
22914         [30d56e6de214]
22915
22916         * sudo.c:
22917         set_loginclass() should be static like the proto says
22918         [d570a2d55fb8]
22919
22920 2000-03-23  Todd C. Miller  <Todd.Miller@courtesan.com>
22921
22922         * fnmatch.c:
22923         Add #ifdef __STDC__ around the rangematch function header to avoid
22924         promotion of test to int, thus violating the prototype. Gcc handles
22925         this gracefully but more std ANSI compilers will complain.
22926         [7d98c3e332b2]
22927
22928         * emul/fnmatch.h:
22929         Pull in newer fnmatch(3) that supports FNM_CASEFOLD
22930         [4e1320852f8b]
22931
22932         * aclocal.m4, configure, fnmatch.3, fnmatch.c:
22933         Pull in newer fnmatch(3) that supports FNM_CASEFOLD Check for
22934         FNM_CASEFOLD in configure
22935         [9ef952bf1896]
22936
22937         * CHANGES, TODO:
22938         update for 1.6.3
22939         [e4ba6368a0c5]
22940
22941         * sudo.tab.c, sudo.tab.h, testsudoers.c, visudo.c:
22942         Fully qualified hosts w/ wildcards were not matching the FQHOST
22943         token type. There's really no need for a separate token for fully-
22944         qualified vs. unqualified anymore so FQHOST is now history and
22945         hostname_matches now decides which hostname (short or long) to check
22946         based on whether or not the pattern contains a '.'.
22947         [fbd2887d9811]
22948
22949         * parse.h:
22950         Fully qualified hosts w/ wildcards were not matching the FQHOST
22951         token type. There's really no need for a separate token for fully-
22952         qualified vs. unqualified anymore so FQHOST is now history and
22953         hostname_matches now decides which hostname (short or long) to check
22954         based on whether or not the pattern contains a '.'.
22955         [dd7bbe223461]
22956
22957         * lex.yy.c, parse.c, parse.lex, parse.yacc:
22958         Fully qualified hosts w/ wildcards were not matching the FQHOST
22959         token type. There's really no need for a separate token for fully-
22960         qualified vs. unqualified anymore so FQHOST is now history and
22961         hostname_matches now decides which hostname (short or long) to check
22962         based on whether or not the pattern contains a '.'.
22963         [630d9d205397]
22964
22965         * parse.c, parse.h, parse.yacc, sudo.tab.c, sudoers.cat,
22966         sudoers.man.in, sudoers.pod, testsudoers.c, visudo.c:
22967         Add support for wildcards in the hostname.
22968         [d8d821ed4238]
22969
22970         * Makefile.in:
22971         Add targets for *.man.in, using config.status to generate *.man from
22972         *.man.in
22973         [640e50ede485]
22974
22975         * sudoers.cat, sudoers.man.in, sudoers.pod:
22976         Document set_logname option and enbolden refs to sudo and visudo.
22977         [9622b3a48707]
22978
22979         * INSTALL, Makefile.in, aclocal.m4, configure, configure.in, sudo.cat,
22980         sudo.man.in, sudo.pod, sudoers.cat, sudoers.man.in, sudoers.pod,
22981         visudo.cat, visudo.man.in, visudo.pod:
22982         Add FreeBSD login.conf support (untested on BSD/OS) based on a patch
22983         from Michael D. Marchionna. configure now does substitution on the
22984         man pages, allowing us to fix up the paths and set the section
22985         correctly. Based on an idea from Michael D. Marchionna.
22986         [463e928a0a2f]
22987
22988         * auth/passwd.c:
22989         Better fix for handling HP-UX aging info.
22990         [3950f42d8549]
22991
22992         * sudo.c:
22993         Add support for set_logname run-time default
22994         [c6a7cc76b8b4]
22995
22996         * sudo.man.in, sudoers.man.in, visudo.man.in:
22997         configure does substitution on these to produce *.man
22998         [b83fc3c1bfc9]
22999
23000         * sudo.man, sudoers.man, visudo.man:
23001         These files now get generated from *.man.in at configure time.
23002         [c499061f79e0]
23003
23004 2000-03-22  Todd C. Miller  <Todd.Miller@courtesan.com>
23005
23006         * defaults.c, defaults.h:
23007         Add set_logname option so users can turn off setting of LOGNAME/USER
23008         environment variables.
23009         [6316869180b8]
23010
23011         * lsearch.c, parse.c, testsudoers.c:
23012         kill register
23013         [6e104e653748]
23014
23015 2000-03-13  Todd C. Miller  <Todd.Miller@courtesan.com>
23016
23017         * auth/passwd.c:
23018         HP-UX adds extra info at the end for password aging so when
23019         comparing the result of crypt to pw_passwd we only compare the first
23020         len(epass) bytes *unless* the user entered an empty string for a
23021         password.
23022         [3d24d4e4e889]
23023
23024         * logging.c:
23025         Get rid of grandchild hack, it was causing problems and there is
23026         really no need for it. This fixes a bug where we spin eating up CPU
23027         when the user runs a long-running process like a shell.
23028         [5743b10b1e81]
23029
23030 2000-03-07  Todd C. Miller  <Todd.Miller@courtesan.com>
23031
23032         * sudo.c:
23033         User can always specify a login class if he/she is already root.
23034         [710d160cef9f]
23035
23036         * config.h.in, configure, configure.in, defaults.c, defaults.h,
23037         sudo.c, sudo.h:
23038         FreeBSD login class (login.conf) support.
23039         [026b981d6328]
23040
23041 2000-03-06  Todd C. Miller  <Todd.Miller@courtesan.com>
23042
23043         * auth/sudo_auth.c:
23044         HAVE_SECUREWARE -> HAVE_GETPRPWNAM; fixes secureware support
23045         [9cd4929f1a78]
23046
23047 2000-03-03  Todd C. Miller  <Todd.Miller@courtesan.com>
23048
23049         * auth/passwd.c:
23050         Truncate unencrypted password to 8 chars if encrypted password is
23051         exactly 13 characters (indicateing standard a DES password). Many
23052         versions of crypt() do this for you, but not all (like HP-UX's).
23053         [a9d0259cb193]
23054
23055 2000-03-02  Todd C. Miller  <Todd.Miller@courtesan.com>
23056
23057         * INSTALL, RUNSON:
23058         Mention that gcc on dynix may have problems
23059         [77b97fa5bf1b]
23060
23061 2000-02-29  Todd C. Miller  <Todd.Miller@courtesan.com>
23062
23063         * Makefile.in:
23064         Link visudo with NET_LIBS since we now call syslog via defaults.c
23065         [9e3830b277cc]
23066
23067         * defaults.c:
23068         Use Argv[0] as the first arg to openlog() since visudo uses this
23069         too.
23070         [e61078f328ec]
23071
23072 2000-02-28  Todd C. Miller  <Todd.Miller@courtesan.com>
23073
23074         * sudo.c:
23075         Stash coredumpsize resource limit and retsore it before the exec()
23076         Otherwise the child ends up with a coredumpsize of 0.
23077         [f6a4783835a3]
23078
23079 2000-02-27  Todd C. Miller  <Todd.Miller@courtesan.com>
23080
23081         * sudo.cat, sudo.man, sudo.pod:
23082         document -S flag
23083         [3ebd805b7142]
23084
23085         * sudo.c:
23086         fix usage string
23087         [66b2dfa47fe8]
23088
23089         * CHANGES, RUNSON, TODO, auth/aix_auth.c, auth/fwtk.c, auth/pam.c,
23090         auth/sudo_auth.c, sudo.c, sudo.h, tgetpass.c:
23091         Added -S flag (read passwd from stdin) and tgetpass_flags global
23092         that holds flags to be passed in to tgetpass(). Change echo_off
23093         param to tgetpass() into a flags field. There are currently 2
23094         possible flags for tgetpass(): TGP_ECHO and TGP_STDIN. In
23095         tgetpass(), abstract the echo set/clear via macros and if (flags &
23096         TGP_ECHO) but echo is not set on the terminal, but sure to set it.
23097         [a4fcbb712cd0]
23098
23099         * tgetpass.c:
23100         Fixed a bug that caused an infinite loop when the password timeout
23101         was disabled.
23102         [2be1ffc5a39f]
23103
23104 2000-02-18  Todd C. Miller  <Todd.Miller@courtesan.com>
23105
23106         * CHANGES, defaults.c, defaults.h, getspwuid.c, sudo.c, sudo.h,
23107         sudoers.cat, sudoers.man, sudoers.pod, visudo.c:
23108         Add rootpw, runaspw, and targetpw options.
23109         [2d4563e46df7]
23110
23111         * CHANGES, defaults.c, sudoers.cat, sudoers.man, sudoers.pod,
23112         visudo.c:
23113         enveditor -> env_editor
23114         [ddc5f856e583]
23115
23116 2000-02-16  Todd C. Miller  <Todd.Miller@courtesan.com>
23117
23118         * BUGS, INSTALL, Makefile.in, README, configure, configure.in,
23119         sudo.cat, sudo.man, sudoers.cat, sudoers.man, version.h, visudo.cat,
23120         visudo.man:
23121         crank versino to 1.6.3
23122         [a5f7d3e74360]
23123
23124         * INSTALL, TODO, defaults.c, defaults.h, sudoers.cat, sudoers.man,
23125         sudoers.pod, visudo.c:
23126         Add 'editor' and 'enveditor' sudoers defaults and make visudo honor
23127         them. This means that visudo will now parse the sudoers file
23128         *before* it is edited so a bogus sudoers file will cause a warning
23129         to go to stderr. Also, visudo checks the variables once--it does not
23130         check them after each editor run since that could be confusing.
23131         [9f5af18e9212]
23132
23133 2000-02-15  Todd C. Miller  <Todd.Miller@courtesan.com>
23134
23135         * RUNSON:
23136         1.6.2 -> 1.6.2p1
23137         [e25b74f1d1af]
23138
23139         * check.c, sudo.c, sudo.h:
23140         Move user_is_exempt prototype into sudo.h
23141         [daf26a6ded8a]
23142
23143 2000-02-13  Todd C. Miller  <Todd.Miller@courtesan.com>
23144
23145         * configure, configure.in:
23146         Fix thinko, some && should have been || in the last commit
23147         [4b9b2d487ded]
23148
23149         * configure, configure.in:
23150         Don't initialized Makefile variables to be NULL since the user may
23151         want to import variables from their environment.
23152         [7be019f4422c]
23153
23154 2000-02-04  Todd C. Miller  <Todd.Miller@courtesan.com>
23155
23156         * configure, configure.in:
23157         typo
23158         [38f4d8971f0a]
23159
23160 2000-01-28  Todd C. Miller  <Todd.Miller@courtesan.com>
23161
23162         * sudo.tab.c:
23163         fix a yacc (skeleton.c) warning
23164         [a2da228a937b]
23165
23166 2000-01-27  Todd C. Miller  <Todd.Miller@courtesan.com>
23167
23168         * INSTALL, RUNSON, configure, configure.in:
23169         Make pam work on HP-UX 11.0;jaearick@colby.edu
23170         [b94de0ff6f42]
23171
23172         * CHANGES:
23173         recent changes; prepare for 1.6.2p1
23174         [b291635ea141]
23175
23176         * find_path.c:
23177         Don't apply SECURE_PATH if user is example; jmknoble@pobox.com
23178         [4306285c4f6e]
23179
23180 2000-01-26  Todd C. Miller  <Todd.Miller@courtesan.com>
23181
23182         * sudo.tab.c:
23183         Regen with yacc that has a memory leak plugged.
23184         [e26383a04eb7]
23185
23186         * sudoers.cat, sudoers.man, sudoers.pod:
23187         Expanded docs on sudoers 'defaults' options based on INSTALL file
23188         info.
23189         [54c3d62d6c74]
23190
23191         * INSTALL:
23192         Fix some while lies
23193         [d15311782150]
23194
23195 2000-01-24  Todd C. Miller  <Todd.Miller@courtesan.com>
23196
23197         * Makefile.in:
23198         When making a bindist, link FAQ to TROUBLESHOOTING instead of
23199         copying.
23200         [2d88a6ac88cf]
23201
23202         * sudoers.cat, sudoers.man, sudoers.pod:
23203         Add netgroup caveat
23204         [28d119f466e3] [SUDO_1_6_2]
23205
23206         * RUNSON:
23207         Last minute updates
23208         [89fb4ed22d52]
23209
23210         * TROUBLESHOOTING:
23211         PAM entry
23212         [a9fd59f39457]
23213
23214         * auth/pam.c:
23215         correct a comment
23216         [a29627225ba9]
23217
23218         * CHANGES, RUNSON:
23219         update for 1.6.2
23220         [b7f1c40ea732]
23221
23222         * auth/pam.c:
23223         Better detection of PAM errors and fix custom prompts with PAM.
23224         Based on patches from "Cloyce D. Spradling" <cloyce@headgear.org>
23225         [ff69234b94a5]
23226
23227 2000-01-20  Todd C. Miller  <Todd.Miller@courtesan.com>
23228
23229         * snprintf.c:
23230         Cast ULONG_MAX to unsigned long long when comparing to an unsigned
23231         long long value.
23232         [9d918c3a2ecd]
23233
23234 2000-01-19  Todd C. Miller  <Todd.Miller@courtesan.com>
23235
23236         * CHANGES, config.h.in, configure, configure.in, visudo.c:
23237         Fix sudoers locking in visudo. We now lock the sudoers file itself,
23238         not the temp file (since locking the temp file can foul up editors).
23239         The previous locking scheme didn't work because the fd was closed
23240         too early.
23241         [de2011bb11ed]
23242
23243         * config.h.in, configure, configure.in:
23244         Don't need test for ftruncate() any more.
23245         [e5f71c848104]
23246
23247         * configure, configure.in:
23248         Add a test for the -Aa flag w/ HP-UX's cc. Fixes compilation with
23249         the unbundled HP-UX cc.
23250         [2c373612c644]
23251
23252 2000-01-18  Todd C. Miller  <Todd.Miller@courtesan.com>
23253
23254         * sudoers.cat, sudoers.man, sudoers.pod:
23255         "a a" -> "a"; Aaron Campbell <aaron@cs.dal.ca>
23256         [05360d2c314e]
23257
23258 2000-01-17  Todd C. Miller  <Todd.Miller@courtesan.com>
23259
23260         * LICENSE, Makefile.in, defaults.c, defaults.h, parse.c, parse.h,
23261         parse.yacc, sudo.c, sudo.h, sudoers.pod, testsudoers.c, tgetpass.c,
23262         version.h, visudo.c:
23263         update copyright year on changed files
23264         [5792a2a28a4c]
23265
23266         * RUNSON:
23267         updates
23268         [edf8f19aa403]
23269
23270         * CHANGES:
23271         aix fix
23272         [4d4a243b31e2]
23273
23274         * INSTALL:
23275         Crank version to 1.6.2
23276         [bcb5cb411624]
23277
23278         * configure:
23279         Crank version to 1.6.2
23280         [32a19f33427f]
23281
23282         * sudo.c:
23283         When using rlimit check for RLIM_INFINITY When computing the value
23284         of maxfd, use min(getdtablesize(), RLIMIT_NOFILE)
23285         [8c16166802e5]
23286
23287         * CHANGES:
23288         recent changes
23289         [09fc7112e44d]
23290
23291         * BUGS, Makefile.in, README, configure.in, sudo.cat, sudo.man,
23292         sudoers.cat, sudoers.man, version.h, visudo.cat, visudo.man:
23293         Crank version to 1.6.2
23294         [055fa61a7c61]
23295
23296         * INSTALL, defaults.c, defaults.h, sudo.c, sudo.h, sudoers.pod:
23297         Add 'shell_noargs' runtime option back in. We have to defer
23298         checking until after the sudoers file has been parsed but since
23299         there are now other options that operate that way this one can too.
23300         Based on a patch from bguillory@email.com.
23301         [231db7a007a6]
23302
23303         * defaults.c, defaults.h, parse.c, sudo.c, sudo.h:
23304         Add "listpw" and "verifypw" options.
23305         [190683bac878]
23306
23307         * sudoers.cat, sudoers.man, sudoers.pod:
23308         o Fix some typos/omissions o Add section on verifypw and listpw o
23309         Define how NOPASSWD interacts with the -v and -l flags
23310         [6feb7350eb79]
23311
23312 2000-01-14  Todd C. Miller  <Todd.Miller@courtesan.com>
23313
23314         * configure, configure.in:
23315         For HP-UX cc, add -Aa to CPPFLAGS. For HP-UX always add
23316         -D_HPUX_SOURCE to CPPFLAGS.
23317         [06cc35d89dc8]
23318
23319         * defaults.c, defaults.h:
23320         In struct sudo_defs_types, move the union to the end and don't
23321         initialize the union member since that only works with an ANSI
23322         compiler. We set the value of the union by hand in init_defaults()
23323         anyway. This allows sudo to compile on a K&R compiler again.
23324         [623487e1fcfa]
23325
23326 2000-01-11  Todd C. Miller  <Todd.Miller@courtesan.com>
23327
23328         * parse.c, parse.h, parse.yacc, sudo.tab.c, testsudoers.c, visudo.c:
23329         netgr_matches needs to check shost as well as host since they may be
23330         different.
23331         [3f43ace23d3e]
23332
23333         * tgetpass.c:
23334         End on \r as well as \n
23335         [cb7c6e6f4202]
23336
23337 2000-01-03  Todd C. Miller  <Todd.Miller@courtesan.com>
23338
23339         * sudo.c:
23340         Update statbuf.st_mode based on SUDOERS_MODE when we are chaning
23341         from 0400 to whatever SUDOERS_MODE is (converting from the old
23342         sudoers mode). Assumes that SUDOERS_MODE is less restrictive than
23343         0400 which should always be the case.
23344         [34cd83d49d20]
23345
23346         * parse.c, parse.yacc, sudo.c, sudo.h, sudo.tab.c:
23347         Make treatment of -l and -v sane wrt NOPASSWD flags. Now allow -l
23348         w/o a passwd if there is *any* entry for the user on the host with a
23349         NOPASSWD flag. For -v, only allow w/o a passwd if *all* entries for
23350         the user on the host w/ the specified runas user have the NOPASSWD
23351         flag set.
23352         [4b3b85697653]
23353
23354         * Makefile.in:
23355         add check target
23356         [3d24d34a76fd]
23357
23358 1999-12-16  Todd C. Miller  <Todd.Miller@courtesan.com>
23359
23360         * visudo.c:
23361         Treat EOF at whatnow prompt like 'x' instead of looping.
23362         [5deffc27114c]
23363
23364 1999-12-10  Todd C. Miller  <Todd.Miller@courtesan.com>
23365
23366         * CHANGES:
23367         recent changes
23368         [5836a9452568] [SUDO_1_6_1]
23369
23370 1999-12-09  Todd C. Miller  <Todd.Miller@courtesan.com>
23371
23372         * config.h.in, configure, configure.in, sudo.c:
23373         Add check for initgroups() since old SYSV lacks this.
23374         [657a6005a569]
23375
23376         * CHANGES, RUNSON, aclocal.m4, config.h.in, configure, configure.in,
23377         parse.c, testsudoers.c:
23378         o Kill HAVE_FNMATCH_H o Only define HAVE_FNMATCH if <fnmatch.h>
23379         exists.
23380         [17d081e917d6]
23381
23382 1999-12-06  Todd C. Miller  <Todd.Miller@courtesan.com>
23383
23384         * auth/sudo_auth.c:
23385         Don't allow insults to be enabled if the insults[] array is empty.
23386         Otherwise there would be division by zero.
23387         [b20c14db6029]
23388
23389         * insults.h:
23390         Don't allow insults to be enabled if the insults[] array is empty.
23391         Otherwise there would be division by zero.
23392         [028f130204b0]
23393
23394         * CHANGES, RUNSON:
23395         Don't allow insults to be enabled if the insults[] array is empty.
23396         Otherwise there would be division by zero.
23397         [974f4780254b]
23398
23399         * insults.h:
23400         Don't care about USE_INSULTS #define since the insult stuff may be
23401         overridden at runtime.
23402         [b873df8b299c]
23403
23404         * auth/sudo_auth.c:
23405         Honor insults flag.
23406         [756111640fdc]
23407
23408         * CHANGES, parse.c:
23409         Don't ask the user for a password if the user is not allowed to run
23410         the command and the authenticate flag (in sudoers) is false.
23411         [cea9fdc09c76]
23412
23413         * CHANGES, RUNSON, lex.yy.c, parse.lex:
23414         o Whenever we get a bare newline we change to the INITIAL state. o
23415         Enter GOTRUNAS when we see Runas_Alias
23416
23417         This allows #uid to work in a RunasAlias.
23418         [a475513e7c7a]
23419
23420 1999-12-05  Todd C. Miller  <Todd.Miller@courtesan.com>
23421
23422         * CHANGES, parse.yacc, sudo.tab.c:
23423         fix parsing of runas lists: o oprunasuser and runaslist now return a
23424         value o in a runasspec, if a runaslist does not return TRUE, set
23425         runas_matches to FALSE. Normally, a runaslist only returns FALSE
23426         for explicitly denied users. o since runaslist does not modify the
23427         stack there is no need for a push/pop in runasalias.
23428         [82b305b34a8c]
23429
23430         * check.c, sudo.c:
23431         Don't kill the user's tickets until after sudoers has been parsed
23432         since tty_tickets and ticket_dir could be set in sudoers.
23433         [f43e25367f3a]
23434
23435         * BUGS, CHANGES, Makefile.binary, Makefile.in, README, RUNSON,
23436         configure, configure.in, sudo.cat, sudo.man, sudoers.cat,
23437         sudoers.man, tgetpass.c, version.h, visudo.cat, visudo.man:
23438         crank version to 1.6
23439         [95f8bdcf9bb2]
23440
23441         * testsudoers.c:
23442         add set_fqdn() stub
23443         [bbc81af5b41a]
23444
23445 1999-12-02  Todd C. Miller  <Todd.Miller@courtesan.com>
23446
23447         * INSTALL, defaults.c, defaults.h, sudo.c, sudo.h, sudoers.cat,
23448         sudoers.man, sudoers.pod, visudo.c:
23449         o Kill shell_noargs option, it cannot work since the command needs
23450         to be set before sudoers is parsed. o Fix the "set_home" sudoers
23451         option (only worked at compile time). o Fix "fqdn" sudoers option.
23452         We now set host/shost via set_fqdn which gets called when the
23453         "fqdn" option is set in sudoers. o Move the openlog() to
23454         store_syslogfac() so this gets overridden correctly from the
23455         sudoers file.
23456         [3dca861f0f5d]
23457
23458         * auth/securid.c:
23459         SecurID support should compile now.
23460         [a544e5c6ea34]
23461
23462 1999-11-29  Todd C. Miller  <Todd.Miller@courtesan.com>
23463
23464         * sudo.cat, sudo.man, sudo.pod, sudoers.cat, sudoers.man, visudo.cat,
23465         visudo.man, visudo.pod:
23466         fix some syntactic goofs
23467         [b3451f0d5239]
23468
23469 1999-11-28  Todd C. Miller  <Todd.Miller@courtesan.com>
23470
23471         * Makefile.in, sudo.html, sudoers.html, visudo.html:
23472         No longer need the .html files as they are generated automatically
23473         on the web site.
23474         [1b4aa4204584]
23475
23476         * CHANGES, LICENSE:
23477         kill characters that made wml unhappy
23478         [b988fbc6da56]
23479
23480         * HISTORY:
23481         typo
23482         [a418963f7fce]
23483
23484 1999-11-25  Todd C. Miller  <Todd.Miller@courtesan.com>
23485
23486         * README:
23487         majordomo@cs.colorado.edu -> majordomo@courtesan.com
23488         [5d151e8ffd3b]
23489
23490         * Makefile.in, configure:
23491         Wrap script execution w/ /bin/sh for the benefit of ctm
23492         [3a9c4766b2c3]
23493
23494 1999-11-24  Todd C. Miller  <Todd.Miller@courtesan.com>
23495
23496         * sudo.c:
23497         Make the -s flag be exclusive too. Also reorder the flags in the
23498         exclusive usage message so they are alphabetical.
23499         [4c7af200db34]
23500
23501 1999-11-23  Todd C. Miller  <Todd.Miller@courtesan.com>
23502
23503         * auth/pam.c:
23504         make pam errors other than PAM_PERM_DENIED fatal
23505         [64bcb3fd2baf]
23506
23507         * auth/API:
23508         fix typo
23509         [f3134c88b12e]
23510
23511         * INSTALL:
23512         make it clear that /etc/pam.d/sudo is required on linux
23513         [213cc3eaad82]
23514
23515         * auth/pam.c:
23516         fix a warning on redhat and spew an error if pam_authenticate()
23517         returns an error other than AUTH_SUCCESS or PAM_PERM_DENIED
23518         [7e46dd19da89]
23519
23520         * sudo.cat, sudo.html, sudo.man, sudo.pod:
23521         Be very clear that the password required is the user's not root's
23522         [a6da127347e5]
23523
23524 1999-11-20  Todd C. Miller  <Todd.Miller@courtesan.com>
23525
23526         * Makefile.in:
23527         add sample.syslog.conf to DISTFILES and BINFILES
23528         [8661c27c007e]
23529
23530 1999-11-19  Todd C. Miller  <Todd.Miller@courtesan.com>
23531
23532         * RUNSON:
23533         updates from Brian Jackson + some formatting
23534         [6d31c6fa63f8]
23535
23536 1999-11-18  Todd C. Miller  <Todd.Miller@courtesan.com>
23537
23538         * INSTALL.binary, Makefile.binary, README, RUNSON:
23539         o One RUNSon update o Changes for automating real binary releases
23540         [dd9585f4406c]
23541
23542         * Makefile.in:
23543         Add bindist target
23544         [546ed3fa94bb]
23545
23546 1999-11-16  Todd C. Miller  <Todd.Miller@courtesan.com>
23547
23548         * TROUBLESHOOTING:
23549         talk about run-time options in addition to compile-time options
23550         [1eb813ff0a9a] [SUDO_1_6_0]
23551
23552         * CHANGES:
23553         fix typos
23554         [65e92bb70a7b]
23555
23556         * sudo.c:
23557         need sys/time.h if HAVE_SETRLIMIT
23558         [ce31655a8a60]
23559
23560         * PORTING, README, RUNSON, sudo.c, sudo.cat, sudo.html, sudo.man,
23561         sudo.pod, visudo.cat, visudo.html, visudo.man, visudo.pod:
23562         get rid of references to sudo-bugs. Now mention the web site or the
23563         sudo@ alias
23564         [a9db861fd8c6]
23565
23566         * sudoers.html:
23567         repair pod2html damage
23568         [62ece4277f1f]
23569
23570         * RUNSON, TODO:
23571         Update for 1.6 release
23572         [98569c57ba2a]
23573
23574         * sudoers.cat, sudoers.html, sudoers.man, sudoers.pod:
23575         Add warning about using ALL in a command context.
23576         [6c77685ab280]
23577
23578 1999-11-09  Todd C. Miller  <Todd.Miller@courtesan.com>
23579
23580         * visudo.c:
23581         Call yyrestart() on a parse error to reset the lexer state.
23582         [1370a27acdb2]
23583
23584         * lex.yy.c, parse.lex:
23585         Don't need YY_FLUSH_BUFFER after all Move yyrestart() into visudo.c
23586         since it might not get called in yywrap if we get a parse error
23587         (and we only reread the file on error anyway).
23588         [37f4b449e28e]
23589
23590         * lex.yy.c, parse.lex:
23591         Call YY_FLUSH_BUFFER macro in yywrap() to clean up any buffers that
23592         might still exist. Call yyrestart() instead of using the deprecated
23593         YY_NEW_FILE macro.
23594         [7d0d873046c6]
23595
23596         * lex.yy.c, parse.lex:
23597         flex doesn't need %N table size declarations
23598         [268b020fd60a]
23599
23600         * sudoers.cat, sudoers.html, sudoers.man, sudoers.pod:
23601         Mention what characters need to be escaped in names.
23602         [72ccbb6b0f31]
23603
23604 1999-11-08  Todd C. Miller  <Todd.Miller@courtesan.com>
23605
23606         * configure:
23607         regen
23608         [65827abb5c7b]
23609
23610         * INSTALL:
23611         clarify Mac OS X entry
23612         [8da1549a71f5]
23613
23614         * RUNSON:
23615         update
23616         [0cff8df7459f]
23617
23618         * configure.in:
23619         o Use AC_MSG_ERROR throughout o Check syslog configure options for
23620         danity
23621         [4cb81e642e5c]
23622
23623 1999-11-05  Todd C. Miller  <Todd.Miller@courtesan.com>
23624
23625         * defaults.c:
23626         Fix printing of type T_MODE in dump_defaults()
23627         [a868bb6f5515]
23628
23629         * strcasecmp.c:
23630         missing sys/types.h
23631         [ca694ca325b6]
23632
23633         * INSTALL:
23634         Break out options that may be overridden at run time into their own
23635         section. Add a not about Max OS X and correct some lies.
23636         [d8bcfd120593]
23637
23638 1999-11-04  Todd C. Miller  <Todd.Miller@courtesan.com>
23639
23640         * CHANGES, config.h.in, configure, configure.in, sudo.c:
23641         o Now use getrlimit to find the highest fd when closing all non-std
23642         fd's o Turn off core dumps via setrlimit for the sake of paranoia
23643         [dd9f651b6def]
23644
23645         * RUNSON:
23646         updates
23647         [f581841fe615]
23648
23649 1999-11-01  Todd C. Miller  <Todd.Miller@courtesan.com>
23650
23651         * CHANGES:
23652         updates
23653         [553baa1d44c7]
23654
23655         * tgetpass.c:
23656         When read()'ing, do a single character at a time to be sure we don't
23657         go oast the newline.
23658         [907d33f55bb4]
23659
23660         * sudo.c:
23661         For the sudo_root option, check against user_uid, not getuid() since
23662         at this point, ruid == euid == 0.
23663         [92d5c51939b4]
23664
23665         * RUNSON:
23666         some updates
23667         [e3ed0c1f312b]
23668
23669         * logging.h:
23670         Fix compilation problem when --with-logging=file was specified.
23671         This means that syslog is now required to build sudo but that should
23672         not be a problem. If it is it can be fixed trivially with a
23673         configure check for syslog() or syslog.h.
23674         [839a4b069190]
23675
23676         * tgetpass.c:
23677         Make this work again for things like "sudo echo hi | more" where the
23678         tty gets put into character at a time mode. We read until we read
23679         end of line or we run out of space (similar to fgets(3)).
23680         [c8f746df2e63]
23681
23682 1999-10-20  Todd C. Miller  <Todd.Miller@courtesan.com>
23683
23684         * sudoers.cat, sudoers.html, sudoers.man, sudoers.pod:
23685         change ital to bold
23686         [f860978e530a]
23687
23688         * RUNSON:
23689         update
23690         [9bcfbb405568]
23691
23692 1999-10-16  Todd C. Miller  <Todd.Miller@courtesan.com>
23693
23694         * defaults.c:
23695         Error out if syslog parameters are given without a value. For
23696         Ultrix or 4.2BSD "syslog" is allowed without a value since there are
23697         no facilities in the 4.2BSD syslog.
23698         [69e7a686f5f0]
23699
23700 1999-10-15  Todd C. Miller  <Todd.Miller@courtesan.com>
23701
23702         * defaults.c:
23703         Ignore the syslog facility for systems w/ old syslog like Ultrix.
23704         [5c250adbbb84]
23705
23706         * TROUBLESHOOTING:
23707         people with "." early in their path can have problems running sudo
23708         from the build dir ;-)
23709         [20a1744a24a4]
23710
23711 1999-10-13  Todd C. Miller  <Todd.Miller@courtesan.com>
23712
23713         * sudo.cat, sudo.html, sudo.man, sudo.pod:
23714         Remove -r realm option
23715         [127caa537f95]
23716
23717         * auth/kerb5.c, auth/sudo_auth.c, auth/sudo_auth.h, configure,
23718         configure.in, sudo.c:
23719         New krb5 code from Frank Cusack <fcusack@iconnet.net>.
23720         [7177a3893a62]
23721
23722         * CHANGES:
23723         update to reality
23724         [766cfbb512d6]
23725
23726 1999-10-12  Todd C. Miller  <Todd.Miller@courtesan.com>
23727
23728         * auth/fwtk.c:
23729         include <auth.h> to get function prototypes.
23730         [d6c7c12d09fe]
23731
23732         * sudo.cat, sudo.html, sudo.man, sudo.pod:
23733         document -L flag
23734         [dc803e1ce0d7]
23735
23736 1999-10-11  Todd C. Miller  <Todd.Miller@courtesan.com>
23737
23738         * sudo.c:
23739         in set_perms(), always call setuid(0) before changing the ruid/euid
23740         so we always know it will succeed.
23741         [8cced1b862bf]
23742
23743         * defaults.h:
23744         #undef T_FOO to avoid conflicts with system defines (like on
23745         ULTRIX).
23746         [d9f0aac092b0]
23747
23748         * TODO, sample.sudoers, sudoers.cat, sudoers.html, sudoers.man,
23749         sudoers.pod:
23750         Docuement "Defaults" lines in /etc/sudoers. Still needs some
23751         fleshing out but this is a start.
23752         [521a1e629bbc]
23753
23754 1999-10-10  Todd C. Miller  <Todd.Miller@courtesan.com>
23755
23756         * use strtol, not strtoul since not everyone has not strtoul
23757         [988462f093cc]
23758
23759         * defaults.c:
23760         use strtol, not strtoul since not everyone has not strtoul
23761         [fce835ce62e3]
23762
23763         * lex.yy.c, parse.lex:
23764         last {WORD} rule should only apply in the INITIAL state
23765         [9b57570bfa83]
23766
23767         * lex.yy.c, parse.lex:
23768         o Add support for escaped characters in the WORD macro o Modify
23769         fill() to squash escape chars
23770         [87572d59e4e0]
23771
23772         * defaults.c, defaults.h:
23773         o Add T_PATH flag to allow simple sanity checks for default values
23774         that are supposed to be pathnames. o Fix a duplicate free when
23775         visudo finds an error.
23776         [bdc6855a6c6d]
23777
23778 1999-10-09  Todd C. Miller  <Todd.Miller@courtesan.com>
23779
23780         * defaults.c, defaults.h, logging.c:
23781         mail_if_foo -> mail_foo
23782         [cbee9415875d]
23783
23784 1999-10-08  Todd C. Miller  <Todd.Miller@courtesan.com>
23785
23786         * compat.h, defaults.c, defaults.h, sudo.c, tgetpass.c:
23787         o Add requiretty option o Move O_NOCTTY to compat.h
23788         [65b8bf0e1795]
23789
23790         * logging.c:
23791         The exit() in log_error() was mistakenly removed in a previous
23792         version. Put it back...
23793         [9473449130a4]
23794
23795 1999-10-07  Todd C. Miller  <Todd.Miller@courtesan.com>
23796
23797         * INSTALL, TODO, auth/aix_auth.c, auth/fwtk.c, auth/pam.c,
23798         auth/rfc1938.c, auth/sia.c, auth/sudo_auth.c, check.c, config.h.in,
23799         configure, configure.in, defaults.c, defaults.h, find_path.c,
23800         getspwuid.c, logging.c, parse.yacc, sudo.c, sudo.tab.c:
23801         o Change defaults stuff to put the value right in the struct. o
23802         Implement mailer_flags o Store syslog stuff both in int and string
23803         form. Setting the string form magically updates the int version.
23804         o Add boolean attribute to strings where it makes sense to say !foo
23805         [4698953f9a36]
23806
23807         * tgetpass.c:
23808         add O_NOCTTY when opening /dev/tty just in case
23809         [4c6d1d1bb300]
23810
23811 1999-10-06  Todd C. Miller  <Todd.Miller@courtesan.com>
23812
23813         * auth/API:
23814         cleanup function no longer takes a status arg
23815         [0819edbfe7f8]
23816
23817         * INSTALL:
23818         the the
23819         [19aadb65ea28]
23820
23821 1999-09-15  Todd C. Miller  <Todd.Miller@courtesan.com>
23822
23823         * TODO, config.h.in, configure, configure.in, logging.c:
23824         Use strftime() instead of ctime() if it is available.
23825         [fb60ea63b514]
23826
23827 1999-09-14  Todd C. Miller  <Todd.Miller@courtesan.com>
23828
23829         * defaults.c:
23830         fix copyright date
23831         [4a53b54aa72f]
23832
23833         * RUNSON:
23834         update ReliantUNIX entry
23835         [de618a4f67d9]
23836
23837         * defaults.c, defaults.h, logging.c:
23838         add log_year option
23839         [251a9e20568a]
23840
23841         * configure, configure.in:
23842         add --without-sendmail to help output
23843         [93162f199902]
23844
23845         * configure, configure.in:
23846         enforce an otctal arg for --with-suoders-mode
23847         [45e1b04ccad3]
23848
23849 1999-09-08  Todd C. Miller  <Todd.Miller@courtesan.com>
23850
23851         * BUGS, INSTALL, Makefile.in, TODO, aclocal.m4, auth/aix_auth.c,
23852         auth/fwtk.c, auth/kerb5.c, auth/pam.c, auth/rfc1938.c, auth/sia.c,
23853         auth/sudo_auth.c, check.c, config.h.in, configure, configure.in,
23854         defaults.c, defaults.h, find_path.c, lex.yy.c, logging.c, parse.h,
23855         parse.lex, parse.yacc, sudo.c, sudo.h, sudo.tab.c, sudo.tab.h,
23856         testsudoers.c, version.c, visudo.c:
23857         Add support for "Defaults" line in sudoers to make configuration
23858         variables changable at runtime (and on a global, per-host and per-
23859         user basis). Both the names and the internal representation are
23860         still subject to change. It was necessary to make sudo_user.runas
23861         but a char ** instead of a char * since this value can be changed by
23862         a Defaults line. There is a similar (but more complicated) issue
23863         with sudo_user.prompt but it is handled differently at the moment.
23864
23865         Add a "-L" flag to list the name of options with their descriptions.
23866         This may only be temporary.
23867
23868         Move some prototypes to parse.h
23869
23870         Be much less restrictive on what is allowed for a username.
23871         [f71abf7ba80c]
23872
23873         * sample.syslog.conf:
23874         Add more info
23875         [e952e6f42d4d]
23876
23877 1999-09-04  Todd C. Miller  <Todd.Miller@courtesan.com>
23878
23879         * LICENSE, fnmatch.3, fnmatch.c, getcwd.c, lsearch.c, snprintf.c,
23880         strcasecmp.c:
23881         UCB has dropped the advertising clause from their license.
23882         [a5602b36a341]
23883
23884 1999-08-31  Todd C. Miller  <Todd.Miller@courtesan.com>
23885
23886         * auth/sudo_auth.h:
23887         move dce_verofy proto to correct section
23888         [972c815af558]
23889
23890         * auth/dce.c:
23891         remove XXX
23892         [820631855be0]
23893
23894 1999-08-28  Todd C. Miller  <Todd.Miller@courtesan.com>
23895
23896         * emul/fnmatch.h:
23897         Add fnmatch() prototype
23898         [79e84576d92a]
23899
23900         * fnmatch.c, parse.c, testsudoers.c:
23901         Move inclusion of emul/fnmatch.h to be after sudo.h for __P
23902         [1182c89fa811]
23903
23904         * sudo.h:
23905         add strcasecmp proto
23906         [512d1d8a6a0c]
23907
23908         * auth/sudo_auth.c:
23909         add check for case where there are no auth methods
23910         [e4af2b91b43e]
23911
23912         * configure, configure.in:
23913         Define _XOPEN_EXTENDED_SOURCE on AIX and __USE_FIXED_PROTOTYPES__ on
23914         SunOS4 w/ gcc
23915         [746ce8bcec23]
23916
23917         * getspwuid.c, lex.yy.c, parse.lex, parse.yacc, sudo.tab.c:
23918         include strings.h everywhere we include string.h
23919         [6f7d5d437e7b]
23920
23921         * version.c:
23922         nicer output when showing auth methods
23923         [0eac4b977f9d]
23924
23925         * version.c:
23926         Add support for SEND_MAIL_WHEN_NO_HOST
23927         [9f20a3a3fae6]
23928
23929         * config.h.in, configure, configure.in:
23930         Add _GNU_SOURCE for Linux
23931         [c7bd8c511847]
23932
23933         * lex.yy.c, parse.lex:
23934         fix definition of OCTECT
23935         [4af30e63244d]
23936
23937         * configure, configure.in:
23938         aix_auth.o not authenticate.o
23939         [fe95dfb08df4]
23940
23941 1999-08-27  Todd C. Miller  <Todd.Miller@courtesan.com>
23942
23943         * sudo.c:
23944         Only block SIGINT, SIGQUIT, SIGTSTP (which can be generated from the
23945         keyboard). Since we run with ruid/euid == 0 the user can't really
23946         signal us in nasty ways.
23947         [a7f6487c0f48]
23948
23949         * visudo.c:
23950         Don't need to worry about catching too many signals since we do
23951         locking on the tmp file. If a lockfile is really stale, it will be
23952         detected and overwritten.
23953         [28983db3e749]
23954
23955         * INSTALL, Makefile.in:
23956         include auth/API in tarball
23957         [014991600252]
23958
23959         * auth/sudo_auth.c:
23960         move memset() of plaintext pw outside of verify loop and only do the
23961         memset if we are *not* in standalone mode.
23962         [66f8e87567e2]
23963
23964         * auth/sudo_auth.c, auth/sudo_auth.h:
23965         DCE is not a standalone method
23966         [34963e2d8a1b]
23967
23968         * sudo.c:
23969         fix --enable-noargs-shell
23970         [4234062abbb0]
23971
23972         * snprintf.c:
23973         "#ifdef __STDC__" not "#if __STDC__" (I missed one)
23974         [c430b80454c6]
23975
23976         * auth/fwtk.c, auth/sia.c:
23977         _cleanup() function returns an int.
23978         [d1a1cc071ec1]
23979
23980         * auth/dce.c:
23981         there were still some return(0)'s hanging around, make them
23982         AUTH_FAILURE
23983         [1002aa1962c3]
23984
23985         * parse.c:
23986         typo in comment
23987         [5abc410dbfd2]
23988
23989         * version.c:
23990         add missing semicolon
23991         [a262283b52a5]
23992
23993         * auth/sudo_auth.h:
23994         missing backslash
23995         [bf89f6bd2900]
23996
23997 1999-08-26  Todd C. Miller  <Todd.Miller@courtesan.com>
23998
23999         * CHANGES, config.h.in, configure, configure.in:
24000         Kill _XOPEN_EXTENDED_SOURCE -- causes problems on some OSes
24001         [f1a9bca0cf67]
24002
24003         * Makefile.in:
24004         add parse.h to HDRS
24005         [a3d054987766]
24006
24007         * Makefile.in, configure, configure.in:
24008         Kill VISUDO_LIBS and VISUDO_LDFLAGS. Add LIBS, NET_LIBS, and
24009         LDFLAGS. Common libs go in LIBS, commong ld flags go in LDFLAGS and
24010         network libs like -lsocket, -lnsl go in NET_LIBS. This allows
24011         testsudoers to build on Solaris and is a bit cleaner in general.
24012         [4e6239e97002]
24013
24014         * UPGRADE:
24015         mention ptmp -> sudoers.tmp
24016         [ec3baa0fe8a1]
24017
24018         * config.h.in, configure, configure.in:
24019         Define _XOPEN_SOURCE_EXTENDED not _XOPEN_SOURCE
24020         [6f93dc7f39f5]
24021
24022         * RUNSON:
24023         add 2 reports
24024         [ce0fcc00ee4e]
24025
24026         * auth/kerb5.c:
24027         Minor changes, mostly cosmetic. verify_krb_v5_tgt() changed to
24028         return a value more like a system function
24029         [0dd56aa21424]
24030
24031         * auth/dce.c:
24032         Add an XXX
24033         [58fc8562c212]
24034
24035         * TODO:
24036         more things todo!
24037         [5a459d0cf339]
24038
24039         * sample.sudoers:
24040         update based on what is in the man page
24041         [1a0477db96fa]
24042
24043         * parse.yacc, sudo.tab.c:
24044         minor change to first line printed in -l mode
24045         [69eb57d96952]
24046
24047         * sudo.cat, sudo.html, sudo.man, sudo.pod:
24048         rename "ENVIRONMENT VARIABLES" section to "ENVIRONMENT" to be more
24049         standard and add "EXAMPLES" section
24050         [7e543335ebe1]
24051
24052         * visudo.cat, visudo.html, visudo.man, visudo.pod:
24053         rename "ENVIRONMENT VARIABLES" section to "ENVIRONMENT" to be more
24054         standard
24055         [f82d87ed65c2]
24056
24057         * logging.c, parse.c, sudo.h:
24058         add FLAG_NO_CHECK
24059         [c7d69176a2d7]
24060
24061         * lex.yy.c, parse.lex:
24062         make an OCTET really be limited to 0-255
24063         [6ee568dd6a02]
24064
24065         * UPGRADE:
24066         mention timestamp changes
24067         [e44d5302bf60]
24068
24069         * PORTING:
24070         cosmetic cleanup
24071         [36fa3a2664dd]
24072
24073         * sudoers.cat, sudoers.html, sudoers.man, sudoers.pod:
24074         new sudoers(8) man page
24075         [e674d06283d0]
24076
24077 1999-08-24  Todd C. Miller  <Todd.Miller@courtesan.com>
24078
24079         * version.c:
24080         Update comments about syslog name tables
24081         [63830a782dcb]
24082
24083         * CHANGES, LICENSE, Makefile.in, configure, configure.in, parse.yacc,
24084         strcasecmp.c, sudo.tab.c:
24085         include strcasecmp() for those without it
24086         [a0d8e2488bbc]
24087
24088         * sample.sudoers:
24089         Use the : operator some more and fix a typo
24090         [18804c70da86]
24091
24092         * HISTORY:
24093         update the history of sudo
24094         [9d9b3d5279b3]
24095
24096         * parse.c, parse.lex, testsudoers.c:
24097         CIDR-style netmask support
24098         [768644467353]
24099
24100         * CHANGES:
24101         recent changes
24102         [a4319e9d07cb]
24103
24104         * sudo.tab.c, sudo.tab.h:
24105         these should be generated with byacc, not bison
24106         [f57b9489b752]
24107
24108         * lex.yy.c:
24109         regen
24110         [522461f95dfa]
24111
24112         * parse.h, parse.yacc, sudo.tab.c, sudo.tab.h:
24113         In "sudo -l" mode, the type of the stored (expanded) alias was not
24114         stored with the contents. This could lead to incorrect output if
24115         the sudoers file had different alias types with the same name.
24116         Normal parsing (ie: not in '-l' mode) is unaffected.
24117         [823fe2bc4b79]
24118
24119 1999-08-23  Todd C. Miller  <Todd.Miller@courtesan.com>
24120
24121         * configure, configure.in:
24122         define _XOPEN_SOURCE to get at crypt() proto on some systems
24123         [1b3769b86fb9]
24124
24125 1999-08-22  Todd C. Miller  <Todd.Miller@courtesan.com>
24126
24127         * snprintf.c:
24128         fix comment
24129         [fc1264df00f7]
24130
24131         * tgetpass.c:
24132         don't need limits.h
24133         [f1631829af45]
24134
24135         * snprintf.c:
24136         kill bogus reference to vfprintf
24137         [a0b99b25d389]
24138
24139         * sample.sudoers, sudoers:
24140         better examples
24141         [b4d87ea64cc8]
24142
24143         * snprintf.c:
24144         Add some const in the K&R defs. This is safe since we define const
24145         away if the compiler doesn't grok it.
24146         [614d6e83d45e]
24147
24148         * aclocal.m4, configure:
24149         Better test for working long long support. Ultrix compiler supports
24150         basic long long but not all operations on them.
24151         [5da1508710ed]
24152
24153         * aclocal.m4, auth/secureware.c, config.h.in, configure, getspwuid.c,
24154         snprintf.c, sudo.c:
24155         Add check for LONG_IS_QUAD #undef MAXINT before including
24156         hpsecurity.h to silence an HP-UX warning Check for U?LONG_LONG_MAX
24157         in snprintf.c and use LONG_IS_QUAD
24158         [a1f7993367fc]
24159
24160 1999-08-21  Todd C. Miller  <Todd.Miller@courtesan.com>
24161
24162         * LICENSE, aclocal.m4, config.h.in, configure, configure.in,
24163         snprintf.c:
24164         UCB-derived snprintf + asprintf support. Supports quads if the
24165         compiler does. No floating point yet, perhaps later...
24166         [0caf05aba945]
24167
24168 1999-08-20  Todd C. Miller  <Todd.Miller@courtesan.com>
24169
24170         * auth/API, auth/sudo_auth.c, auth/sudo_auth.h, check.c, find_path.c,
24171         goodpath.c, logging.c, parse.c, sudo.c:
24172         Run most of the code as root, not the invoking user. It doesn't
24173         really gain us anything to run as the user since an attacker can
24174         just have an setuid(0) in their egg. Running as root solves
24175         potential problems wrt signalling.
24176         [408e530dda01]
24177
24178         * sudo.tab.c:
24179         regen
24180         [f8cfb37e37de]
24181
24182 1999-08-19  Todd C. Miller  <Todd.Miller@courtesan.com>
24183
24184         * logging.c, sudo.c:
24185         Don't wait for child to finish in log_error(), let the signal
24186         handler get it if we are still running, else let init reap it for
24187         us. The extra time it takes to wait lets the user know that mail is
24188         being sent.
24189
24190         Install SIGCHLD handler in main() and for POSIX signals, block
24191         everything
24192         *except* SIGCHLD.
24193         [d2b6ab0ef3be]
24194
24195         * INSTALL, config.h.in, configure, configure.in, logging.c, parse.c,
24196         parse.yacc, sudo.c, sudo.h:
24197         sudoers_lookup() now returns a bitmap instead of an int. This makes
24198         it possible to express things like "failed to validate because user
24199         not listed for this host". Some thigns that were previously
24200         VALIDATE_FOO are now FLAG_FOO. This may change later on.
24201
24202         Reorganized code in log_auth() and sudo.c to deal with above
24203         changes.
24204
24205         Safer versions of push/pushcp with in the do { ... } while (0) style
24206
24207         parse.yacc now saves info on the stack to allow parse.c to determine
24208         if a user was listed, but not for the host he/she tried to run on.
24209
24210         Added --with-mail-if-no-host option
24211         [63326cb01efc]
24212
24213 1999-08-17  Todd C. Miller  <Todd.Miller@courtesan.com>
24214
24215         * parse.yacc, sudo.h, sudo.tab.c, visudo.c, visudo.cat, visudo.html,
24216         visudo.man, visudo.pod:
24217         o NewArgv and NewArgc don't need to be externally visible. o If
24218         pedantic > 1, it is a parse error. o Add -s (strict) option to
24219         visudo which sets pedantic to 2.
24220         [5d7d81b55cd5]
24221
24222         * HISTORY, INSTALL:
24223         Just have sudo-bugs contact info in one place
24224         [e7f6588ea683]
24225
24226         * sudo.cat, sudo.html, sudo.man, sudo.pod:
24227         Add BUGS section
24228         [6607d96ea510]
24229
24230         * Makefile.in, configure, configure.in:
24231         Add testsudoers to default build target if --with-devel Don't clean
24232         generated parser files unless "distclean".
24233         [5827b769dc57]
24234
24235         * parse.yacc, sudo.tab.c:
24236         In pedantic mode we need to save *all* the aliases, not just those
24237         that match, or we get spurious warnings.
24238         [24f5b1f0e1de]
24239
24240         * TROUBLESHOOTING:
24241         reference samples.sylog.conf
24242         [11841668380a]
24243
24244 1999-08-14  Todd C. Miller  <Todd.Miller@courtesan.com>
24245
24246         * sample.syslog.conf:
24247         Sample entries for syslog.conf
24248         [0f7697d878a1]
24249
24250         * CHANGES:
24251         recent changes
24252         [8bca8810c6bd]
24253
24254         * auth/API, auth/afs.c, auth/aix_auth.c, auth/dce.c, auth/fwtk.c,
24255         auth/kerb4.c, auth/kerb5.c, auth/pam.c, auth/passwd.c,
24256         auth/rfc1938.c, auth/secureware.c, auth/securid.c, auth/sia.c,
24257         auth/sudo_auth.c, auth/sudo_auth.h:
24258         In struct sudo_auth, turn need_root and configured into flags and
24259         add a flag to specify an auth method is running alone (the only
24260         one). Pass auth methods their sudo_auth pointer, not the data
24261         pointer. This allows us to get at the flags and tell if we are the
24262         only auth method. That, in turn, allows the method to be able to
24263         decide what should/should not be a fatal error. Currently only
24264         rfc1938 uses it this way, which allows us to kill the OTP_ONLY
24265         define and te hackery that went with it. With access to the
24266         sudo_auth struct, methods can also get at a string holding their
24267         cannonical name (useful in error messages).
24268         [b7e320fc6511]
24269
24270         * INSTALL, Makefile.in, README, config.h.in, configure, configure.in,
24271         getspwuid.c, lex.yy.c, parse.lex, parse.yacc, sudo.tab.c,
24272         sudo.tab.h:
24273         o --with-otp deprecated, use --without-passwd instead o real
24274         dependencies in the Makefile o --with-devel option to enable yacc,
24275         lex, and -Wall o style -- "foo -> bar" becomes "foo->bar" o ALL goes
24276         back to being a token, not a string but don't leak memory o rename
24277         hsotspec -> host in parse.yacc
24278         [912c45226cb2]
24279
24280 1999-08-12  Todd C. Miller  <Todd.Miller@courtesan.com>
24281
24282         * BUGS, CHANGES:
24283         recent changes
24284         [801fa6e55687]
24285
24286         * auth/sudo_auth.c, configure, configure.in, interfaces.c, snprintf.c,
24287         sudo.c, sudo.h:
24288         o Digital UNIX needs to check for *snprintf() before -ldb is added
24289         to LIBS since -ldb includes a bogus snprintf(). o Add forward refs
24290         for struct mbuf and struct rtentry for Digital UNIX. o Reorder some
24291         functions in snprintf.c to fix -Wall o Add missing includes to fix
24292         more -Wall
24293         [8d207203e126]
24294
24295         * INSTALL, auth/sudo_auth.c, check.c, config.h.in, configure,
24296         configure.in, parse.yacc, sudo.tab.c, testsudoers.c, version.c,
24297         visudo.c:
24298         o Add a "pedentic" flag to the parser. This makes sudo warn in
24299         cases where an alias may be used before it is defined. Only turned
24300         on for visudo and testsudoers. o Add --disable-authentication option
24301         that makes sudo not require authentication by default. The PASSWD
24302         tag can be used to require authentication for an entry. We no
24303         longer overload --without-passwd.
24304         [f307e09adf98]
24305
24306         * lex.yy.c, parse.lex:
24307         Break 'WORD' regexp def into HOSTNAME and USERNAME. These days a
24308         username can contain just about anything so be very permissive. Also
24309         drop the unused \. punctuation.
24310         [06a50614ff89]
24311
24312 1999-08-09  Todd C. Miller  <Todd.Miller@courtesan.com>
24313
24314         * parse.yacc, sudo.tab.c:
24315         o add a 'val' element to aliasinfo struct and move -> parse.h o
24316         find_alias() now returns an aliasinfo * instead of boolean o
24317         add_alias() now takes a value parameter to store in the
24318         aliasinfo.val o The cmnd, hostspec, runasuser, and user rules now
24319         return: 1) positive match 0) negative match (due to '!')
24320         -1) no match This means setting $$ explicitly in all cases, which I
24321         should have done in the first place. It also means that we always
24322         store a value that is != -1 and when we see a '!' we can set
24323         *_matches to !rv if rv != -1. The upshot of all of this is that '!'
24324         now works the way it should in lists and some of the rules are more
24325         uniform and sensible.
24326         [ad8e73b5d581]
24327
24328         * Makefile.in:
24329         add parse.h dependency
24330         [4ccccd464d30]
24331
24332         * parse.h:
24333         kill unused *_matched macros
24334         [02cba6dcb732]
24335
24336         * parse.yacc:
24337         Allow a list of users as the first thing in a user spec, not just a
24338         single entry. This makes things more uniform, though it does allow
24339         you to write user specs that are hard to read.
24340         [3c4c91c508ca]
24341
24342         * sudo.tab.c:
24343         parse.yacc
24344         [feca81881bb6]
24345
24346         * configure:
24347         regen
24348         [6f247010bb3b]
24349
24350         * configure.in:
24351         fix check for crypt() in libufc
24352         [82770736f4b0]
24353
24354 1999-08-07  Todd C. Miller  <Todd.Miller@courtesan.com>
24355
24356         * README:
24357         sudo-users list now exists
24358         [4716d2bb0bbf]
24359
24360         * INSTALL, PORTING, README, TODO, TROUBLESHOOTING:
24361         Update to reality.
24362         [1eda2d57e42a]
24363
24364         * CHANGES, Makefile.in, TODO, TROUBLESHOOTING, check.c, compat.h,
24365         config.h.in, configure, configure.in, fileops.c, logging.c, sudo.h,
24366         version.c, visudo.c:
24367         o Move lock_file() and touch() into fileops.c so visudo can use them
24368         o Visudo now locks the sudoers temp file instead of bailing when the
24369         temp file already exists. This fixes the problem of stale temp
24370         files but it does *require* that you not try to put the temp file in
24371         a world-writable directory. This shoud not be an issue as the temp
24372         file should live in the same dir as sudoers. o Visudo now only
24373         installs the temp file as sudoers if it changed.
24374         [2517cd06c070]
24375
24376 1999-08-06  Todd C. Miller  <Todd.Miller@courtesan.com>
24377
24378         * logging.c:
24379         add fcntl locking
24380         [c304adeaf515]
24381
24382         * config.h.in, configure, configure.in, logging.c:
24383         Lock the log file.
24384         [d8652704fbdf]
24385
24386         * Makefile.in, TROUBLESHOOTING, parse.c, pathnames.h.in, sudo.c,
24387         visudo.c, visudo.cat, visudo.html, visudo.man, visudo.pod:
24388         o /etc/stmp -> /etc/sudoers.tmp since solaris uses stmp as shadow
24389         temp file o _PATH_SUDO_SUDOERS -> _PATH_SUDOERS and _PATH_SUDO_STMP
24390         -> _PATH_SUDOERS_TMP
24391         [68cad8975807]
24392
24393 1999-08-05  Todd C. Miller  <Todd.Miller@courtesan.com>
24394
24395         * INSTALL, check.c, config.h.in, configure, configure.in, version.c:
24396         o Kill *_MESSAGE and replace with NO_LECTURE o Add more things to
24397         root sudo -V config reporting
24398         [cdd2613a9dcf]
24399
24400         * configure, configure.in:
24401         aix_auth.o not authenticate.o
24402         [d972e35f6730]
24403
24404         * config.h.in:
24405         Add --with-goodpri and --with-badpri configure options to specify
24406         the syslog priority to use.
24407         [2595ae50ab86]
24408
24409         * INSTALL, configure, configure.in, logging.h:
24410         Add --with-goodpri and --with-badpri configure options to specify
24411         the syslog priority to use.
24412         [8276ee9b2b49]
24413
24414         * compat.h:
24415         kill crufty AIX stuff
24416         [a4f35ef9854e]
24417
24418         * Makefile.in:
24419         Sigh, some versions of make (like Solaris's) don't deal with $< like
24420         I would expect. Both GNU and BSD makes get this right but... So, we
24421         just expand $< inline at the cost of some ugliness.
24422         [b1b456f8801f]
24423
24424         * version.c:
24425         If the invoking user is root, sudo will now print configure info in
24426         -V mode. Currently just prints logging info, to be expanded later.
24427         [392f7ed99267]
24428
24429         * logging.c, logging.h, sudo.c, sudo.h:
24430         o new defines for syslog facility and priority o use new
24431         print_version() functino for -V mode
24432         [78abc5142985]
24433
24434         * check.c:
24435         Don't need version.c
24436         [db9a830ad893]
24437
24438         * aclocal.m4, config.h.in, configure, configure.in:
24439         Add check for syslog facilities and priorities tables in syslog.h
24440         [b86213e5fc5c]
24441
24442         * Makefile.in:
24443         o authenticate -> aix_auth o add version.c
24444         [44b6b9a8d0f5]
24445
24446         * auth/sudo_auth.c:
24447         Missed a prompt -> user_prompt conversion
24448         [e4c60b1f210c]
24449
24450 1999-08-04  Todd C. Miller  <Todd.Miller@courtesan.com>
24451
24452         * TODO:
24453         sudo should lock its logfile
24454         [6d2830b28b07]
24455
24456         * parse.yacc, sudo.tab.c:
24457         o Add '!' correctly when expanding Aliases. o Add shortcut macros
24458         for append() to make things more readable. o The separator in
24459         append() is now a string instead of a char. o In append(), only
24460         prepend the separator if the last char is not a '!'. This is a
24461         hack but it greatly simplifies '!' handling. o In -l mode, Runas
24462         lists and NOPASSWD/PASSWD tags are now inherited across entries in
24463         a list (matches current behavior). o Fix formatting in -l mode such
24464         that items in a list are separated by a space. Greatlt improves
24465         readability. o Space for name field in struct aliasinfo is now
24466         allocated dyanically instead of using a (big) buffer. o In
24467         add_alias(), only search the list once (lsearch instead of lfind +
24468         lsearch)
24469         [51f7e07addb9]
24470
24471         * lex.yy.c, sudo.tab.c, sudo.tab.h:
24472         regen
24473         [5c19bb05dc21]
24474
24475         * configure, configure.in:
24476         Solais pam doesn't require anye xtra setup
24477         [a25ba03d91d1]
24478
24479         * parse.yacc:
24480         o Simpler '!' support now that the lexer deals with multiple !'s for
24481         us. o In the case of opFOO, have FOO give a boolean return value and
24482         set foo_matches in opFOO, not FOO. o Treat 'ALL' as a string since
24483         it gets fill()'d in parse.lex--fixes a small memory leak. In the
24484         long run it may be better to just fix parse.lex and make ALL back
24485         into a token. However, having it be a string is useful since it
24486         can be easily passed back to the parent rule if we so desire.
24487         [b3c64b443018]
24488
24489         * parse.lex:
24490         o Remove some unnecessary backslashes o collapse multiple !'s by
24491         using !+ and checking if yyleng is even or odd. this allows us to
24492         simplify ! handling in parse.yacc
24493         [76330e8da8e3]
24494
24495         * sudo.c:
24496         -u flag was being ignored
24497         [e30283207585]
24498
24499 1999-08-01  Todd C. Miller  <Todd.Miller@courtesan.com>
24500
24501         * Makefile.in:
24502         correct fix
24503         [a0e2377dec8f]
24504
24505         * Makefile.in:
24506         work around pod2man stupididy
24507         [7c755640b67f]
24508
24509         * Makefile.in:
24510         correct dependencies for .cat
24511         [5ed7b0653b68]
24512
24513         * sudo.cat, sudo.man, visudo.cat, visudo.man:
24514         regen
24515         [b74510dd6a0a]
24516
24517         * sudo.pod, visudo.pod:
24518         Add copyright Update to reality
24519         [188e9b046c15]
24520
24521         * parse.c, sudo.c, sudo.h:
24522         rename validate() to the more descriptive sudoers_lookup()
24523         [7a1cb652f379]
24524
24525         * auth/aix_auth.c:
24526         use tgetpass
24527         [b8ba5daec40a]
24528
24529 1999-07-31  Todd C. Miller  <Todd.Miller@courtesan.com>
24530
24531         * CHANGES:
24532         updates
24533         [e61460cdf4a0]
24534
24535         * HISTORY, INSTALL, Makefile.in, README, RUNSON, TROUBLESHOOTING,
24536         configure, configure.in, sudo.c:
24537         Sudo, not CU Sudo
24538         [9061b3573c0c]
24539
24540         * LICENSE:
24541         add 4th term to license similar to term 5 in the apache license
24542         [92712e895afb]
24543
24544         * emul/search.h, emul/utime.h:
24545         add 4th term to license similar to term 5 in the apache license
24546         [4f93a8b9396e]
24547
24548         * auth/afs.c, auth/aix_auth.c, auth/dce.c, auth/fwtk.c, auth/kerb4.c,
24549         auth/kerb5.c, auth/pam.c, auth/passwd.c, auth/rfc1938.c,
24550         auth/secureware.c, auth/securid.c, auth/sia.c, auth/sudo_auth.c,
24551         auth/sudo_auth.h, insults.h, interfaces.c, interfaces.h, lex.yy.c,
24552         logging.c, logging.h, parse.c, parse.h, parse.lex, parse.yacc,
24553         pathnames.h.in, putenv.c, strerror.c, sudo.c, sudo.h, sudo.tab.c,
24554         sudo_setenv.c, testsudoers.c, tgetpass.c, utime.c, version.h,
24555         visudo.c:
24556         add 4th term to license similar to term 5 in the apache license
24557         [afae9f2bf9ec]
24558
24559         * ins_2001.h, ins_classic.h, ins_csops.h, ins_goons.h:
24560         add 4th term to license similar to term 5 in the apache license
24561         [c389d3fdafac]
24562
24563         * Makefile.in, alloc.c, check.c, compat.h, config.h.in, find_path.c,
24564         getspwuid.c, goodpath.c:
24565         add 4th term to license similar to term 5 in the apache license
24566         [969e63dbd38e]
24567
24568         * LICENSE, aclocal.m4, auth/rfc1938.c, check.c, configure.in,
24569         insults.h, logging.c, sudo.c, sudo.h:
24570         there was a 1995 release too
24571         [5963fd89457a]
24572
24573 1999-07-28  Todd C. Miller  <Todd.Miller@courtesan.com>
24574
24575         * CHANGES:
24576         updates
24577         [254b794f16ab]
24578
24579         * check.c:
24580         Use dirs instead of files for timestamp. This allows tty and non-
24581         tty schemes to coexist reasonably. Note, however, that when you
24582         update a tty ticket, the mtime on the user dir gets updated as well.
24583         [44bfac32f799]
24584
24585         * configure, configure.in:
24586         Fix getprpwnam() checking on SCO. Need to link with "-lprot -lx"
24587         when linking test program, not just -lprot. Also add check for
24588         getspnam(). The SCO docs indicate that /etc/shadow can be used but
24589         this may be a lie.
24590         [2ba21d36cc1e]
24591
24592 1999-07-24  Todd C. Miller  <Todd.Miller@courtesan.com>
24593
24594         * auth/API:
24595         first cut at auth API description
24596         [3d10df021eb8]
24597
24598 1999-07-22  Todd C. Miller  <Todd.Miller@courtesan.com>
24599
24600         * auth/fwtk.c, auth/kerb4.c, auth/kerb5.c, auth/pam.c, auth/rfc1938.c,
24601         auth/secureware.c, auth/securid.c, auth/sudo_auth.c,
24602         auth/sudo_auth.h:
24603         auth API change. There is now an init method that gets run before
24604         the main loop. This allows auth routines to differentiate between
24605         initialization that happens once vs. setup that needs to run each
24606         time through the loop.
24607         [76df1c0d3478]
24608
24609         * auth/kerb5.c, logging.c:
24610         use easprintf() and evasprintf()
24611         [fd97d96dc12f]
24612
24613         * alloc.c, sudo.h:
24614         add easprintf() and evasprintf(), error checking versions of
24615         asprintf() and vasprintf()
24616         [f54385de20b7]
24617
24618         * TODO:
24619         remove 2 items. One done, one won't do.
24620         [64513b47bc7a]
24621
24622         * lex.yy.c, sudo.tab.c:
24623         regen
24624         [4aa299de2752]
24625
24626         * configure, sudo.cat, sudo.html, sudo.man, sudoers.html, visudo.cat,
24627         visudo.html, visudo.man:
24628         regen
24629         [553c0d1209be]
24630
24631         * CHANGES:
24632         new changes
24633         [d7be00b7e36b]
24634
24635         * sudo.pod:
24636         o Document -K flag and update meaning of -k flag. o BSD-style
24637         copyright o Document clearing of BIND resolver environment variables
24638         o Clarify bit about shared libs o suggest rc files create /tmp/.odus
24639         if your OS gives away files
24640         [4a4092be1455]
24641
24642         * visudo.pod:
24643         BSD license
24644         [ad0bfd0a4630]
24645
24646         * version.h:
24647         BSD-style copyright
24648         [ecc6479325be]
24649
24650         * tgetpass.c:
24651         o BSD copyright o no need to block signals, we now do that in main()
24652         o cosmetic changes
24653         [61958beda7ab]
24654
24655         * testsudoers.c, visudo.c:
24656         o BSD-style copyright o Use "struct sudo_user" instead of old
24657         globals. o some cometic cleanup
24658         [88c0c6924082]
24659
24660         * sudo_setenv.c:
24661         BSD-style copyright
24662         [df20290129a0]
24663
24664         * sudo.h:
24665         o BSD copyright o logging and parser bits moved to their own .h
24666         files o new "struct sudo_user" to encapsulate many of the old
24667         globals.
24668         [50fc86bf25cb]
24669
24670         * sudo.c:
24671         o no longer contains sudo 1.1/1.2 code o BSD copyright o use new
24672         logging routines o simplified flow of control o BIND resolver
24673         additions to badenv_table
24674         [8c53f15bfcb0]
24675
24676         * strerror.c:
24677         BSD-style copyright
24678         [7c906c3a82ac]
24679
24680         * snprintf.c:
24681         Now compiles on more K&R compilers
24682         [07ab1d3231c7]
24683
24684         * putenv.c:
24685         BSD-style copyright, cosmetic changes
24686         [c42371295881]
24687
24688         * pathnames.h.in:
24689         BSD-style copyright
24690         [e5c34ebd4cf1]
24691
24692         * parse.c, parse.h, parse.lex, parse.yacc:
24693         BSD-style copyright. Move parser-specific defines and structs into
24694         parse.h + other cosmetic changes
24695         [d3088efb6228]
24696
24697         * logging.h:
24698         defines for logging routines
24699         [13147941c02d]
24700
24701         * find_path.c, getspwuid.c, goodpath.c, interfaces.c:
24702         BSD-style copyright, cosmetic changes
24703         [e8205e91a4fa]
24704
24705         * ins_2001.h, ins_classic.h, ins_csops.h, ins_goons.h, insults.h,
24706         interfaces.h:
24707         BSD-style copyright
24708         [b9499da7cdce]
24709
24710         * configure.in:
24711         o tgetpass.c is no longer optional o kill DCE_OBJS, add AUTH_OBJS o
24712         kill --disable-tgetpass o add --without-passwd o changes to fill in
24713         AUTH_OBJS for new auth api o check for strerror(), v?snprintf() and
24714         v?asprintf() o replace --with-AuthSRV with --with-fwtk
24715         [9a3f39b9c128]
24716
24717         * config.h.in:
24718         BSD-style copyright. Remove USE_GETPASS and HAVE_UTIME_NULL. Add
24719         HAVE_FWTK, HAVE_STRERROR, HAVE_SNPRINTF, HAVE_VSNPRINTF,
24720         HAVE_ASPRINTF, HAVE_VASPRINTF, WITHOUT_PASSWD and NO_PASSWD
24721         [9a09054db53a]
24722
24723         * compat.h:
24724         BSD-style copyright; Add S_IFLNK and MIN/MAX id they are missing.
24725         [25509c566975]
24726
24727         * alloc.c:
24728         BSD-style copyright
24729         [4967be892363]
24730
24731         * TROUBLESHOOTING:
24732         no more --with-getpass
24733         [afd5b670c196]
24734
24735         * TODO:
24736         Take out things I've done...
24737         [375420c8270e]
24738
24739         * README:
24740         Refer to LICENSE
24741         [c486c8db30f6]
24742
24743         * PORTING:
24744         --with-getpass no longer exists
24745         [db48202df1bb]
24746
24747         * Makefile.in:
24748         BSD-style copyright. Update to reflect reality wrt new files and
24749         new auth modules.
24750         [61a2ca7940fb]
24751
24752         * INSTALL:
24753         Remove --with-AuthSRV and --disable-tgetpass. Add --with-fwtk and
24754         --without-passwd.
24755         [64e8f9e1c05e]
24756
24757         * HISTORY:
24758         Update history a bit
24759         [df60c0a871b8]
24760
24761         * COPYING, LICENSE:
24762         Now distributed under a BSD-style license
24763         [d1a184ccabe1]
24764
24765         * auth/sudo_auth.c:
24766         o BSD-style copyright o Add support for NO_PASSWD/WITHOUT_PASSWD
24767         options. o skey/opie replaced by rfc1938 code o new struct sudo_user
24768         global
24769         [891b57060868]
24770
24771         * auth/pam.c, auth/sia.c:
24772         BSD-style copyright and use new log functions
24773         [65c44445ea84]
24774
24775         * auth/kerb5.c:
24776         o BSD-style copyright o Use new log functiongs o Use asprintf() and
24777         snprintf() where sensible.
24778         [1ff0feaacf95]
24779
24780         * check.c:
24781         Rewrote all the old sudo 1.1/1.2 code. Timestamp handling is now
24782         done more reasonably--better sanity checks and tty-based stamps are
24783         now done as files in a directory with the same name as the invoking
24784         user, eg. /var/run/sudo/millert/ttyp1. It is not currently possible
24785         to mix tty and non-tty based ticket schemes but this may change in
24786         the future (it requires sudo to use a directory instead of a file in
24787         the non-tty case). Also, ``sudo -k'' now sets the ticket back to
24788         the epoch and ``sudo -K'' really deletes the file. That way you
24789         don't get the lecture again just because you killed your ticket in
24790         .logout. BSD-style copyright now.
24791         [ec3460f85be8]
24792
24793         * logging.c:
24794         o rewritten logging routines. log_error() now takes printf-style
24795         varargs and log_auth() for the return value of validate(). o BSD-
24796         style copyright
24797         [438292025c4e]
24798
24799         * auth.c, check_sia.c, dce_pwent.c, secureware.c:
24800         superceded by new auth API
24801         [412060590da7]
24802
24803         * auth/kerb4.c:
24804         BSD-style copyright
24805         [cc4e800833c7]
24806
24807         * auth/fwtk.c:
24808         Use snprintf() where it makes sense and add a BSD-style copyright
24809         [1b7502388a74]
24810
24811         * auth/afs.c, auth/aix_auth.c, auth/dce.c, auth/passwd.c,
24812         auth/rfc1938.c, auth/secureware.c, auth/securid.c, auth/sudo_auth.h:
24813         BSD-style copyright
24814         [42583bedae5c]
24815
24816         * emul/utime.h, utime.c:
24817         BSD-style copyright
24818         [3985c90aba47]
24819
24820         * emul/search.h:
24821         this has been rewritten so use my BSD-style copyright
24822         [176df1b0de6f]
24823
24824 1999-07-15  Todd C. Miller  <Todd.Miller@courtesan.com>
24825
24826         * snprintf.c:
24827         include malloc.h if no stdlib.h
24828         [7b123f1d1d03]
24829
24830         * snprintf.c:
24831         KTH snprintf()/asprintf() for systems w/o them
24832         [3ca9aefb9d01]
24833
24834         * strerror.c:
24835         strerror() for systems w/o it
24836         [7f0bd8a1c1b4]
24837
24838 1999-07-12  Todd C. Miller  <Todd.Miller@courtesan.com>
24839
24840         * visudo.c:
24841         stylistic changes
24842         [6f99aceb7170]
24843
24844         * parse.c, parse.lex, parse.yacc:
24845         Add contribution info in the main comment
24846         [e50cec10acd6]
24847
24848 1999-07-11  Todd C. Miller  <Todd.Miller@courtesan.com>
24849
24850         * auth/pam.c:
24851         remove missed ref to PAM_nullpw
24852         [a43e59692cdb]
24853
24854         * auth/sudo_auth.h:
24855         pasto
24856         [891ff138ab89]
24857
24858         * auth/kerb5.c:
24859         more or less complete now--still untested
24860         [21036732faa0]
24861
24862         * auth/afs.c, auth/pam.c:
24863         don't use user_name macro, it will go away
24864         [def7cf727349]
24865
24866         * auth/opie.c, auth/rfc1938.c, auth/skey.c, auth/sudo_auth.h:
24867         combine skey/opie code into rfc1938.c
24868         [44d88ca93d3e]
24869
24870         * auth/dce.c, auth/sudo_auth.h:
24871         DCE authentication method; basically unchanged from dce_pwent.c
24872         [4d468473dd6f]
24873
24874         * auth/aix_auth.c, auth/sudo_auth.h:
24875         AIX authenticate() support. Could probably be much better
24876         [000013321a33]
24877
24878         * auth/sia.c:
24879         Fix an uninitialized variable and some cleanup. Now works (tested)
24880         [fd6ad88ff055]
24881
24882         * auth/sia.c, auth/sudo_auth.h:
24883         SIA support for digital unix
24884         [5335f3e70eab]
24885
24886         * auth/pam.c:
24887         don't use prompt global, it will go away
24888         [fadd22dd6ce4]
24889
24890         * auth/secureware.c:
24891         correct copyright years
24892         [6aa07c49f51b]
24893
24894         * auth/afs.c, auth/fwtk.c, auth/kerb4.c, auth/kerb5.c, auth/opie.c,
24895         auth/pam.c, auth/passwd.c, auth/secureware.c, auth/securid.c,
24896         auth/skey.c, auth/sudo_auth.c, auth/sudo_auth.h:
24897         New authentication API and methods
24898         [9debe9b59c79]
24899
24900 1999-07-08  Todd C. Miller  <Todd.Miller@courtesan.com>
24901
24902         * sudo.tab.c:
24903         regen
24904         [84578e82c1a6]
24905
24906         * parse.yacc:
24907         only save an entry if user_matches && host_matches, even if the
24908         stack is empty (fix for previous commit)
24909         [00984b078d8a]
24910
24911         * sudo.tab.c:
24912         regen
24913         [66acf160b4b7]
24914
24915         * parse.yacc:
24916         1) Always save an entry on the stack if it is empty. This fixes the
24917         -l and -v flags that were broken by earlier parser changes.
24918
24919         2) In a Runas list, don't negate FALSE -> TRUE since that would make
24920         !foo match any time the user specified a runas user (via -u) other
24921         than foo.
24922         [f322eb54b015]
24923
24924         * testsudoers.c:
24925         interfaces and num_interfaces are now auto, not extern
24926         [113add5c6518]
24927
24928 1999-07-07  Todd C. Miller  <Todd.Miller@courtesan.com>
24929
24930         * auth.c:
24931         use a static global to keep stae about empty passwords
24932         [bc02e30807d8]
24933
24934         * check_sia.c:
24935         make PASSWORD_NOT_CORRECT logging consistent with other modules
24936         [21962549d5fd]
24937
24938 1999-07-05  Todd C. Miller  <Todd.Miller@courtesan.com>
24939
24940         * auth.c:
24941         PAM prompt code was wrong, looks like we have to kludge it after
24942         all.
24943         [91f246155ead]
24944
24945         * auth.c:
24946         In the PAM code, when a user hits return at the first password
24947         prompt, exit without a warning just like the normal auth code
24948         [918f59bacdb7]
24949
24950         * configure, configure.in:
24951         kludge around cross-compiler false positives
24952         [5e5fc8356400]
24953
24954         * auth.c, check.c, check_sia.c, logging.c, sudo.h, tgetpass.c:
24955         New (correct) PAM code Tgetpass now takes an echo flag for use with
24956         PAM_PROMPT_ECHO_ON Block SIGINT and SIGTSTP during auth remove a
24957         useless umask setting Change error from BAD_ALLOCATION ->
24958         BAD_AUTH_INIT (for use with sia/PAM) Some cosmetic changes to auth.c
24959         for consistency
24960         [e71397f09dd8]
24961
24962         * sudo.c:
24963         Some -Wall and kill some trailing spaces
24964         [8229b43d5c4e]
24965
24966         * configure.in:
24967         define -D__EXTENSIONS__ for solaris so we get crypt() proto
24968         [7533e4436cab]
24969
24970 1999-06-22  Todd C. Miller  <Todd.Miller@courtesan.com>
24971
24972         * RUNSON:
24973         add Dynix 4.4.4
24974         [b69f773efbce]
24975
24976         * INSTALL, config.h.in, configure, configure.in:
24977         for kerberos V < version, fall back on old kerb4 auth code
24978         [d685ed3a1d8e]
24979
24980         * INSTALL:
24981         clarify some things
24982         [2f5ba2e8e53a]
24983
24984         * UPGRADE, sudoers.cat, sudoers.man, sudoers.pod:
24985         typos
24986         [8925a109c093]
24987
24988 1999-06-14  Todd C. Miller  <Todd.Miller@courtesan.com>
24989
24990         * sudo.c:
24991         mention why DONT_LEAK_PATH_INFO is not the default
24992         [0346260cb4ec]
24993
24994 1999-06-03  Todd C. Miller  <Todd.Miller@courtesan.com>
24995
24996         * tgetpass.c:
24997         Fix open(2) return value checking, was NULL for fopen, should be -1
24998         for open
24999         [355878bf6d8a]
25000
25001         * configure:
25002         regen
25003         [68bf82871862]
25004
25005         * configure.in:
25006         better wording for solaris pam notice
25007         [04e88c7a6c42]
25008
25009         * CHANGES:
25010         document recent changes
25011         [7c922c5622ef]
25012
25013         * TROUBLESHOOTING:
25014         Update shadow password section
25015         [e8448bae7d66]
25016
25017         * auth.c:
25018         move authentication code from check.c to auth.c
25019         [e9f6ecae2399]
25020
25021         * Makefile.in, check.c, sudo.h:
25022         move authentication code to auth.c
25023         [124cded85f46]
25024
25025 1999-05-17  Todd C. Miller  <Todd.Miller@courtesan.com>
25026
25027         * Makefile.in, check.c, check_sia.c, compat.h, find_path.c,
25028         getspwuid.c, goodpath.c, interfaces.c, interfaces.h, lex.yy.c,
25029         logging.c, parse.c, parse.lex, parse.yacc, secureware.c, sudo.c,
25030         sudo.h, sudo.tab.c, sudo_setenv.c, testsudoers.c, tgetpass.c,
25031         visudo.c:
25032         Move interface-related defines to interfaces.h so we don't have to
25033         include <netinet/in.h> everywhere.
25034         [e7599d8ea0bf]
25035
25036 1999-05-14  Todd C. Miller  <Todd.Miller@courtesan.com>
25037
25038         * CHANGES, INSTALL, TODO, check.c, compat.h, getspwuid.c, logging.c,
25039         parse.yacc, sudo.c, sudo.tab.c, tgetpass.c:
25040         o Replace _PASSWD_LEN braindeath with our own SUDO_MAX_PASS. It
25041         turns out the old DES crypt does the right thing with passwords
25042         longert than 8 characters. o Fix common typo (necesary ->
25043         necessary) o Update TODO list
25044         [ad75007a6f13]
25045
25046 1999-05-03  Todd C. Miller  <Todd.Miller@courtesan.com>
25047
25048         * sudo.c:
25049         set $LOGNAME when we set $USER
25050         [391596210fd7]
25051
25052 1999-04-27  Todd C. Miller  <Todd.Miller@courtesan.com>
25053
25054         * INSTALL:
25055         add comment about digital unix and interfaces.c warning with gcc
25056         [e20f815901cc]
25057
25058 1999-04-15  Todd C. Miller  <Todd.Miller@courtesan.com>
25059
25060         * sample.sudoers:
25061         use modern paths and give examples for some of the new parser
25062         features
25063         [e7b2e507c695]
25064
25065 1999-04-10  Todd C. Miller  <Todd.Miller@courtesan.com>
25066
25067         * parse.c:
25068         fix comment
25069         [5eb0d005a65f]
25070
25071         * alloc.c, check.c, check_sia.c, dce_pwent.c, find_path.c,
25072         getspwuid.c, goodpath.c, interfaces.c, lex.yy.c, logging.c, parse.c,
25073         parse.lex, parse.yacc, putenv.c, secureware.c, sudo.c, sudo.tab.c,
25074         sudo_setenv.c, testsudoers.c, tgetpass.c, utime.c, visudo.c:
25075         Function names should be flush with the start of the line so they
25076         can be found trivially in an editor and with grep
25077         [3c400abde574]
25078
25079         * find_path.c, interfaces.c, lex.yy.c, parse.c, parse.lex, parse.yacc,
25080         sudo.c, sudo.tab.c, testsudoers.c, tgetpass.c, visudo.c:
25081         free(3) is already void, no need to cast it
25082         [6981e1ebda0f]
25083
25084         * logging.c, sudo.c, sudo.h:
25085         catch case where cmnd_safe is not set (this should not be possible)
25086         [3e1e3038546c]
25087
25088         * CHANGES, logging.c, parse.c, parse.yacc, sudo.c, sudo.h, sudo.tab.c,
25089         testsudoers.c, visudo.c:
25090         Stash the "safe" path (ie: the one listed in sudoers) to the command
25091         instead of stashing the struct stat. Should be safer.
25092         [aa2883fcf57e]
25093
25094 1999-04-08  Todd C. Miller  <Todd.Miller@courtesan.com>
25095
25096         * INSTALL, Makefile.in, UPGRADE:
25097         notes on updating from an earlier release
25098         [df9fffa4ab2c]
25099
25100         * CHANGES:
25101         updated
25102         [574f5065d15a]
25103
25104 1999-04-07  Todd C. Miller  <Todd.Miller@courtesan.com>
25105
25106         * parse.yacc, sudo.tab.c, sudo.tab.h, sudoers.cat, sudoers.html,
25107         sudoers.man, sudoers.pod:
25108         You can now specifiy a host list instead of just a host or alias.
25109         Ie: user = host1,host2,ALIAS,!host3 my_command now works.
25110         [e3942bb78021]
25111
25112         * testsudoers.c:
25113         Quiet -Wall
25114         [a3edc8b08c3a]
25115
25116         * parse.yacc, sudo.tab.c:
25117         Move the push from the beginning of cmndspec to the end. This means
25118         we no longer have to do a push at the end of privilege, just reset
25119         some values.
25120         [8ea66e5860c6]
25121
25122         * sudoers.cat, sudoers.html, sudoers.man, sudoers.pod:
25123         runas-lists and NOPASSWD/PASSWD modifiers are now sticky and you can
25124         use "!" most everywhere
25125         [aadae4d1c9d5]
25126
25127 1999-04-06  Todd C. Miller  <Todd.Miller@courtesan.com>
25128
25129         * sudoers.pod:
25130         modernize paths and update su example based on sample.sudoers one
25131         [3f6a37e16c83]
25132
25133         * sample.sudoers:
25134         New runas semantics
25135         [756ee92865b7]
25136
25137         * CHANGES, Makefile.in, alloc.c, config.h.in, configure, configure.in,
25138         strdup.c, sudo.h:
25139         In estrdup(), do the malloc ourselves so we don't need to rely on
25140         the system strdup(3) which may or may not exist. There is now no
25141         need to provide strdup() for those w/o it. Also, the prototype for
25142         estrdup() was wrong, it returns char * and its param is const.
25143         [5f1f984da8e3]
25144
25145         * getcwd.c:
25146         $Sudo tag
25147         [e4188a35e68c]
25148
25149         * check.c:
25150         buf should be prompt; Michael Robokoff <mrobo@networkcs.com>
25151         [2aec87c86cde]
25152
25153         * CHANGES, TODO, parse.yacc, sudo.tab.c:
25154         It is now possible to use the '!' operator in a runas list as well
25155         as in a Cmnd_Alias, Host_Alias and User_Alias.
25156         [a4fdaabda990]
25157
25158         * logging.c, sudo.h:
25159         Kill GLOBAL_NO_SPW_ENT (not used) and crank GLOBAL_PROBLEM
25160         [73d0376785ae]
25161
25162         * sudo.h:
25163         Definitions of *_matched were wrong--user top, not top-2 as
25164         subscript.
25165         [5f8350a57362]
25166
25167         * logging.c, parse.c, parse.yacc, sudo.c, sudo.h, sudo.tab.c:
25168         Add VALIDATE_NOT_OK_NOPASS for when user is not allowed to run a
25169         command but the NOPASSWD flag was set. Make runasspec, runaslist,
25170         runasuser, and nopasswd typeless in parse.yacc Add support for '!'
25171         in the runas list Fix double printing of '%' and '+' for groups and
25172         netgroups respectively Add *_matched macros (no need for local stack
25173         variable). Should only be used directly after a pop (since top must
25174         be >= 2).
25175         [392b1400c4e6]
25176
25177         * aclocal.m4, configure.in:
25178         Add copyright, somewhat silly
25179         [55c2cdd82dca]
25180
25181 1999-04-05  Todd C. Miller  <Todd.Miller@courtesan.com>
25182
25183         * BUGS, INSTALL, Makefile.in, README, alloc.c, check.c, check_sia.c,
25184         compat.h, config.h.in, configure, configure.in, dce_pwent.c,
25185         emul/utime.h, find_path.c, getspwuid.c, goodpath.c, ins_2001.h,
25186         ins_classic.h, ins_csops.h, ins_goons.h, insults.h, interfaces.c,
25187         lex.yy.c, logging.c, parse.c, parse.lex, parse.yacc, pathnames.h.in,
25188         putenv.c, secureware.c, strdup.c, sudo.c, sudo.cat, sudo.h,
25189         sudo.man, sudo.tab.c, sudo_setenv.c, sudoers.cat, sudoers.man,
25190         testsudoers.c, tgetpass.c, utime.c, version.h, visudo.c, visudo.cat,
25191         visudo.man:
25192         Crank version to 1.6 and combine copyright statements
25193         [0e1c791658ae]
25194
25195         * sample.sudoers:
25196         Use ! not ^ to do negation
25197         [1480a0761730]
25198
25199         * lex.yy.c, sudo.tab.c:
25200         regen
25201         [89ca5a46684b]
25202
25203         * parse.lex, parse.yacc:
25204         Make runas and NOPASSWD tags persistent across entris in a command
25205         list. Add a PASSWD tag to reverse NOPASSWD. When you override a
25206         runas or *PASSWD tag the value given becomes the new default for the
25207         rest of the command list.
25208         [f1bbb4066542]
25209
25210 1999-04-02  Todd C. Miller  <Todd.Miller@courtesan.com>
25211
25212         * CHANGES, RUNSON:
25213         update for 1.5.9
25214         [a1ae9d4a7d54] [SUDO_1_5_9]
25215
25216         * visudo.c:
25217         Shift return value of system(3) by 8 to get real exit value and if
25218         it is not 1 or 0 print the retval along with the error message.
25219         [c1ff50d743fb]
25220
25221 1999-03-30  Todd C. Miller  <Todd.Miller@courtesan.com>
25222
25223         * Makefile.in:
25224         testsudoers needs LIBOBJS too
25225         [972571b4e4bf]
25226
25227         * parse.c, parse.yacc, sudo.tab.c:
25228         Fix another parser bug. For a sudoers entry like this: millert
25229         ALL=/bin/ls,(daemon) !/bin/ls sudo would not allow millert to run ls
25230         as root.
25231         [51968e1eb33d]
25232
25233         * CHANGES:
25234         new change
25235         [271c6110bb62]
25236
25237         * parse.yacc, sudo.tab.c:
25238         Save entries that match a ! command on the matching stack too
25239         [5afb5107116c]
25240
25241         * sudo.c:
25242         Make sudo's usage info better when mutually exclusive args are given
25243         and don't rely on argument order to detect this; nick@zeta.org.au
25244         [2422753c88fd]
25245
25246 1999-03-29  Todd C. Miller  <Todd.Miller@courtesan.com>
25247
25248         * CHANGES, Makefile.in, RUNSON:
25249         updates from CU
25250         [b37381e3dafb]
25251
25252         * Makefile.in:
25253         use gzip
25254         [94a64e52a166]
25255
25256         * parse.yacc, sudo.tab.c:
25257         Fix off by one error introduced in *alloc changes
25258         [95ede581153a]
25259
25260         * BUGS, CHANGES, INSTALL, Makefile.in, README, alloc.c, check.c,
25261         check_sia.c, compat.h, config.h.in, configure, configure.in,
25262         dce_pwent.c, emul/utime.h, find_path.c, getspwuid.c, goodpath.c,
25263         ins_2001.h, ins_classic.h, ins_csops.h, ins_goons.h, insults.h,
25264         interfaces.c, lex.yy.c, logging.c, parse.c, parse.lex, parse.yacc,
25265         pathnames.h.in, putenv.c, secureware.c, strdup.c, sudo.c, sudo.cat,
25266         sudo.h, sudo.man, sudo.tab.c, sudo_setenv.c, sudoers.cat,
25267         sudoers.man, testsudoers.c, tgetpass.c, utime.c, version.h,
25268         visudo.c, visudo.cat, visudo.html, visudo.man, visudo.pod:
25269         ++version
25270         [c6d88f024e37]
25271
25272         * Makefile.in, check.c, find_path.c, getspwuid.c, goodpath.c,
25273         interfaces.c, lex.yy.c, logging.c, parse.c, parse.lex, parse.yacc,
25274         putenv.c, secureware.c, strdup.c, sudo.c, sudo.h, sudo.tab.c,
25275         sudo_setenv.c, testsudoers.c, utime.c, visudo.c:
25276         Use emalloc/erealloc/estrdup
25277         [44221d97361a]
25278
25279         * alloc.c:
25280         error checking memory allocation routines
25281         [5f8c1e7bbc71]
25282
25283         * parse.yacc, sudo.tab.c:
25284         Still not right, this fixes it for real
25285         [ad553b6f5339]
25286
25287         * parse.yacc, sudo.tab.c:
25288         Fix for previous commit
25289         [4d6f989f9bf2]
25290
25291         * CHANGES, INSTALL, parse.yacc:
25292         Fix a parser bug that was exposed when mixing different runas specs
25293         and ! commands. For example: millert ALL=(daemon)
25294         /usr/bin/whoami,!/bin/ls would allow millert to run whoami as root
25295         as well as daemon when it should just allow daemon. The problem was
25296         that comma-separated commands in a list shared the same entry on the
25297         matching stack. Now they get their own entry iff there is a full
25298         match. It may be better to just make the runas spec persistent
25299         across all commands in a list like the user and host entries of the
25300         matching stack. However, since that is a fairly major change it
25301         should gets its own minor rev increase.
25302         [c4b939cdcc8e]
25303
25304 1999-03-28  Todd C. Miller  <Todd.Miller@courtesan.com>
25305
25306         * check.c, config.h.in:
25307         Simplify PAM code and fix a PAM-related warning on Linux
25308         [2468399523b6]
25309
25310 1999-03-26  Todd C. Miller  <Todd.Miller@courtesan.com>
25311
25312         * CHANGES:
25313         updates
25314         [29d4a997769c]
25315
25316         * sample.sudoers:
25317         better su entry
25318         [76d8285a72ba]
25319
25320         * configure:
25321         regen
25322         [b7450cc6975d]
25323
25324         * check.c, configure.in:
25325         new pam code that works on solaris, should work on linux too;
25326         aelberg@home.com
25327         [84c16c0ff259]
25328
25329 1999-03-19  Todd C. Miller  <Todd.Miller@courtesan.com>
25330
25331         * RUNSON:
25332         more entries
25333         [b6bef8660759]
25334
25335         * config.h.in:
25336         only include strings.h if there is no string.h
25337         [b66054a32b00]
25338
25339 1999-03-17  Todd C. Miller  <Todd.Miller@courtesan.com>
25340
25341         * config.guess:
25342         Sinix is now being called ReliantUNIX; bjjackso@us.oracle.com
25343         [c086d2fe63af]
25344
25345 1999-03-13  Todd C. Miller  <Todd.Miller@courtesan.com>
25346
25347         * sudo.c:
25348         shost must be set before log functions are called #ifdef HOST_IN_LOG
25349         [d49a7944358f]
25350
25351 1999-03-07  Todd C. Miller  <Todd.Miller@courtesan.com>
25352
25353         * CHANGES, lex.yy.c, parse.lex:
25354         Fix a bug wrt quoting characters in command args. Stop processing
25355         an arg when you hit a backslash so the quoted-character detection
25356         can catch it.
25357         [2281438d7f41]
25358
25359 1999-02-26  Todd C. Miller  <Todd.Miller@courtesan.com>
25360
25361         * interfaces.c:
25362         include sys/time.h; aparently AIX needs it. ppz@cdu.elektra.ru
25363         [31118a9e9916]
25364
25365 1999-02-24  Todd C. Miller  <Todd.Miller@courtesan.com>
25366
25367         * configure, configure.in:
25368         add missing case statement so --without-sendmail works
25369         [ca25614f7dd9]
25370
25371 1999-02-23  Todd C. Miller  <Todd.Miller@courtesan.com>
25372
25373         * CHANGES:
25374         more
25375         [4d70e44f7f93]
25376
25377 1999-02-22  Todd C. Miller  <Todd.Miller@courtesan.com>
25378
25379         * configure, configure.in:
25380         only search for -lsun in irix <= 4.x
25381         [e604238317b1]
25382
25383         * configure, configure.in:
25384         back out last configure.in change now that I've hacked autoconf to
25385         fix the real problem and add a missing newline
25386         [2dabf59a79b5]
25387
25388         * CHANGES:
25389         updated
25390         [bb35d526552f]
25391
25392         * getcwd.c:
25393         add def of dirfd() for those without it
25394         [95f0173d8441]
25395
25396         * configure, configure.in:
25397         When falling back to checking for socket() when linking with
25398         "-lsocket -lnsl" check for main() instead since autoconf has already
25399         cached the results of checking for socket() in -lsocket. This is
25400         really an autoconf bug as it should use the extra libs as part of
25401         the cache variable name.
25402         [a845f8b710ad]
25403
25404         * configure.in:
25405         typo
25406         [a7d62f62a478]
25407
25408 1999-02-21  Todd C. Miller  <Todd.Miller@courtesan.com>
25409
25410         * configure.in:
25411         fix occurrence of $with_timeout that should be
25412         $with_password_timeout; Michael.Neef@neuroinformatik.ruhr-uni-
25413         bochum.de
25414         [8c4da2cf73d1]
25415
25416 1999-02-17  Todd C. Miller  <Todd.Miller@courtesan.com>
25417
25418         * sudo.cat, sudo.html, sudo.man, sudo.pod:
25419         fix grammar; espie@openbsd.org
25420         [7031d9dfbc3e] [SUDO_1_5_8]
25421
25422 1999-02-11  Todd C. Miller  <Todd.Miller@courtesan.com>
25423
25424         * parse.yacc, sudo.c, testsudoers.c:
25425         add cast for strdup in places it does not have it
25426         [7ce4478d3b0f]
25427
25428 1999-02-09  Todd C. Miller  <Todd.Miller@courtesan.com>
25429
25430         * configure, configure.in:
25431         define for_BSD_TYPES irix
25432         [858337ff4af8]
25433
25434 1999-02-07  Todd C. Miller  <Todd.Miller@courtesan.com>
25435
25436         * Makefile.in, sudo.cat, sudo.html, sudo.man, sudo.pod:
25437         Make it clear that it is the user's password, not root's, that we
25438         want.
25439         [ae0f51b35ee4]
25440
25441         * check.c, sudo.h:
25442         If the user enters an empty password and really has no password,
25443         accept the empty password they entered. Perviously, they could
25444         enter anything
25445         *but* an empty password. Also, add GETPASS macro that calls either
25446         tgetpass() or getpass() depending on how sudo was configured.
25447         Problem noted by jdg@maths.qmw.ac.uk
25448         [2fde21ce94c1]
25449
25450 1999-02-03  Todd C. Miller  <Todd.Miller@courtesan.com>
25451
25452         * Makefile.in, check.c, check_sia.c, compat.h, config.h.in,
25453         dce_pwent.c, emul/utime.h, find_path.c, getspwuid.c, goodpath.c,
25454         ins_2001.h, ins_classic.h, ins_csops.h, ins_goons.h, insults.h,
25455         interfaces.c, logging.c, parse.c, parse.lex, parse.yacc,
25456         pathnames.h.in, putenv.c, secureware.c, strdup.c, sudo.c, sudo.h,
25457         sudo_setenv.c, testsudoers.c, tgetpass.c, utime.c, version.h,
25458         visudo.c:
25459         add explicate copyright
25460         [d3b4449834a5]
25461
25462         * CHANGES:
25463         mention -lsocket, -lnsl configure changes
25464         [9140af4ad8ae]
25465
25466 1999-02-02  Todd C. Miller  <Todd.Miller@courtesan.com>
25467
25468         * sudo.c:
25469         Don't clobber errno after calling check_sudoers().
25470         [59bd581b2654]
25471
25472 1999-02-01  Todd C. Miller  <Todd.Miller@courtesan.com>
25473
25474         * configure, configure.in:
25475         When linking with both -lsocket and -lnsl be sure to do so in that
25476         order. Also, when we can't find socket() or inet_addr() and have to
25477         try linking with both libs, issue a warning.
25478         [0ee547163067]
25479
25480         * sudo.cat, sudo.man, sudo.pod:
25481         clarify bad timestamp and fmt
25482         [70e42cf56c75]
25483
25484 1999-01-23  Todd C. Miller  <Todd.Miller@courtesan.com>
25485
25486         * INSTALL, RUNSON:
25487         be clear that pam is linux-only and add a RUNSON entry
25488         [7fdeab875e0d]
25489
25490 1999-01-22  Todd C. Miller  <Todd.Miller@courtesan.com>
25491
25492         * CHANGES, INSTALL, configure, configure.in:
25493         fix and correctly document --with-umask; problem noted by
25494         adap@adap.org
25495         [11cd0481d63a]
25496
25497 1999-01-20  Todd C. Miller  <Todd.Miller@courtesan.com>
25498
25499         * configure, configure.in:
25500         only use /usr/{man,catman}/local to store man pages if suer didn't
25501         override prefix or mandir
25502         [781ad2cbe9be]
25503
25504         * INSTALL, configure, configure.in:
25505         fix typo, make --with-SecurID take an arg
25506         [026a9b4014fc]
25507
25508 1999-01-19  Todd C. Miller  <Todd.Miller@courtesan.com>
25509
25510         * RUNSON:
25511         updates from users
25512         [2286982b31e6]
25513
25514         * CHANGES, INSTALL, check.c, configure, configure.in:
25515         FWTK 'authsrv' support from Kevin Kadow <kadow@MSG.NET>
25516         [23aa4e5c6b02]
25517
25518         * configure, configure.in:
25519         better fix for the problem of unresolved symbols in -lnsl or
25520         -lsocket
25521         [82fe70fc287f]
25522
25523         * configure, configure.in:
25524         when checking for functions in -lnsl and -lsocket link with both of
25525         them to avoid unresolved symbols on some weirdo systems
25526         [1734a591808e]
25527
25528 1999-01-18  Todd C. Miller  <Todd.Miller@courtesan.com>
25529
25530         * BUGS, CHANGES, RUNSON, TODO:
25531         old changes that didn't make it into RCS before the RCS->CVS switch
25532         [846eb2b8f9aa]
25533
25534 1999-01-17  Todd C. Miller  <Todd.Miller@courtesan.com>
25535
25536         * Makefile.in, check.c, check_sia.c, compat.h, config.h.in,
25537         configure.in, dce_pwent.c, emul/search.h, emul/utime.h, find_path.c,
25538         getspwuid.c, goodpath.c, ins_2001.h, ins_classic.h, ins_csops.h,
25539         ins_goons.h, insults.h, interfaces.c, lex.yy.c, logging.c,
25540         lsearch.c, parse.c, parse.lex, parse.yacc, pathnames.h.in, putenv.c,
25541         secureware.c, strdup.c, sudo.c, sudo.pod, sudo_setenv.c,
25542         sudoers.pod, testsudoers.c, tgetpass.c, utime.c, visudo.c,
25543         visudo.pod:
25544         add sudo tags
25545         [962f81eaa5ab]
25546
25547         * sudo.h:
25548         testing Sudo tag
25549         [e84cbc521129]
25550
25551         * version.h:
25552         testing Sudo tag
25553         [a8c3a3998b88]
25554
25555         * BUGS, INSTALL, Makefile.in, README, check.c, check_sia.c, compat.h,
25556         config.h.in, configure, configure.in, dce_pwent.c, emul/utime.h,
25557         find_path.c, getspwuid.c, goodpath.c, ins_2001.h, ins_classic.h,
25558         ins_csops.h, ins_goons.h, insults.h, interfaces.c, lex.yy.c,
25559         logging.c, parse.c, parse.lex, parse.yacc, pathnames.h.in, putenv.c,
25560         secureware.c, strdup.c, sudo.c, sudo.cat, sudo.h, sudo.man,
25561         sudo_setenv.c, sudoers.cat, sudoers.man, testsudoers.c, tgetpass.c,
25562         utime.c, version.h, visudo.c, visudo.cat, visudo.man:
25563         crank version and regen files
25564         [23eacf00a1a4]
25565
25566         * Makefile.in:
25567         kill rcs goop in update_version and fix now that version is a const
25568         [e6e50bd8d1e1]
25569
25570         * INSTALL, check.c, config.h.in, configure, configure.in, logging.c,
25571         sudo.c, sudo.h, sudo.pod:
25572         kerb5 support from fcusack@iconnet.net
25573         [8134027986e2]
25574
25575         * realpath.c, sudo_realpath.c:
25576         we no longer use realpath
25577         [0f5f64abc646]
25578
25579         * qualify.c:
25580         replaced by find_path.c
25581         [9e32a87e09c4]
25582
25583         * options.h:
25584         all options are now configure flags
25585         [ee6bd9610102]
25586
25587         * lex.yy.c:
25588         regen
25589         [bdbf8a18161f]
25590
25591         * getwd.c:
25592         superceded by getcwd.c
25593         [1e54ee0990b4]
25594
25595         * getpass.c:
25596         superceded by tgetpass.c
25597         [4e0d1edc30e3]
25598
25599         * SUPPORTED:
25600         superceded by RUNSON
25601         [854c5a21cb53]
25602
25603         * OPTIONS:
25604         No longer used now that we have configure options for everything.
25605         [9b1ae1c89259]
25606
25607         * configure:
25608         regen based on configure.in
25609         [3a4d73936973]
25610
25611         * sudo.cat, sudo.html, sudo.man, sudoers.cat, sudoers.html,
25612         sudoers.man, visudo.cat, visudo.html, visudo.man:
25613         regen based on sudo.pod, sudoers.pod, and visudo.pod
25614         [c267beb90778]
25615
25616 1998-12-11  Todd C. Miller  <Todd.Miller@courtesan.com>
25617
25618         * check.c:
25619         fix tty tickets in remove_timestamp (didn't use ':')
25620         [fd964a74a32b]
25621
25622 1998-12-07  Todd C. Miller  <Todd.Miller@courtesan.com>
25623
25624         * interfaces.c:
25625         close sock when we are done with it
25626         [95de0380f8a4]
25627
25628 1998-11-28  Todd C. Miller  <Todd.Miller@courtesan.com>
25629
25630         * parse.yacc:
25631         never say "error on line -1"
25632         [361db1491121]
25633
25634 1998-11-24  Todd C. Miller  <Todd.Miller@courtesan.com>
25635
25636         * configure.in:
25637         check for -lnsl before -lsocket
25638         [8e966d6bbcb5]
25639
25640         * configure.in:
25641         quote '[', ']' used in ranges correctly
25642         [fa4f9c6ff651]
25643
25644 1998-11-21  Todd C. Miller  <Todd.Miller@courtesan.com>
25645
25646         * config.h.in:
25647         add missing NO_ROOT_SUDO noted by drno@tsd.edu
25648         [c969f25d1667]
25649
25650 1998-11-20  Todd C. Miller  <Todd.Miller@courtesan.com>
25651
25652         * version.h:
25653         1.5.7
25654         [7a22de0bc148]
25655
25656         * INSTALL:
25657         more info for 1.5.7
25658         [30ad9e784799]
25659
25660         * README:
25661         update for 1.5.7
25662         [cd03a0a27cd2]
25663
25664         * parse.yacc:
25665         make increases of cm_list_size and ga_list_size be similar to
25666         increases of stacksize (ie: >= not > in initial compare).
25667         [6bd450a896c7]
25668
25669         * parse.yacc:
25670         when we get a syntax error, report it for the previous line since
25671         that's generally where the error occurred.
25672         [c4ac84058f0b]
25673
25674 1998-11-18  Todd C. Miller  <Todd.Miller@courtesan.com>
25675
25676         * config.h.in, configure.in, interfaces.c:
25677         add back check for sys/sockio.h but only use it if SIOCGIFCONF is
25678         not defined
25679         [d197f31fd1e4] [SUDO_1_5_7]
25680
25681         * config.h.in:
25682         define BSD_COMP for svr4
25683         [87ac1147ff79]
25684
25685         * check.c, check_sia.c, find_path.c, getcwd.c, getspwuid.c,
25686         goodpath.c, interfaces.c, logging.c, lsearch.c, parse.c, parse.lex,
25687         parse.yacc, putenv.c, secureware.c, strdup.c, sudo.c, sudo_setenv.c,
25688         testsudoers.c, tgetpass.c, utime.c, visudo.c:
25689         more -Wall
25690         [d98e2d32db2a]
25691
25692         * configure.in:
25693         kill check for sockio,h
25694         [4399779014c1]
25695
25696         * config.h.in:
25697         no more HAVE_SYS_SOCKIO_H
25698         [67484528e347]
25699
25700         * check.c, check_sia.c, find_path.c, getcwd.c, getspwuid.c,
25701         goodpath.c, interfaces.c, logging.c, lsearch.c, parse.c, parse.lex,
25702         parse.yacc, putenv.c, secureware.c, strdup.c, sudo.c, sudo_setenv.c,
25703         testsudoers.c, tgetpass.c, utime.c, visudo.c:
25704         -Wall
25705         [2b7e83976788]
25706
25707 1998-11-16  Todd C. Miller  <Todd.Miller@courtesan.com>
25708
25709         * sudo.c:
25710         add missing inform_user()
25711         [8689528c6d55]
25712
25713 1998-11-14  Todd C. Miller  <Todd.Miller@courtesan.com>
25714
25715         * find_path.c:
25716         return NOT_FOUND if given fully qualified path and it does not exist
25717         previously it would perror(ENOENT) which bypasses the option to not
25718         leak path info
25719         [ccbc3d0130ae]
25720
25721         * configure.in:
25722         for kerb5, check for -lkerb4, fall back on -lkrb for kerb, check for
25723         -ldes
25724         [c77d3b484ece]
25725
25726 1998-11-13  Todd C. Miller  <Todd.Miller@courtesan.com>
25727
25728         * INSTALL:
25729         tty tickets are user:tty now
25730         [a53a303a614d]
25731
25732         * check.c:
25733         when using tty tickets make it user:tty not user.tty as a username
25734         could have a '.' in it
25735         [3160b3f5c890]
25736
25737 1998-11-10  Todd C. Miller  <Todd.Miller@courtesan.com>
25738
25739         * sudo.c:
25740         add "ignoring foo found in ." for auth successful case
25741         [24257169e0bd]
25742
25743 1998-11-09  Todd C. Miller  <Todd.Miller@courtesan.com>
25744
25745         * sudo.c:
25746         add missing printf param
25747         [8c905124f777]
25748
25749 1998-11-08  Todd C. Miller  <Todd.Miller@courtesan.com>
25750
25751         * INSTALL, config.h.in, configure.in, find_path.c, sudo.c, sudo.h:
25752         go back to printing "command not found" unless --disable-path-info
25753         specified. Also, tell user when we ignore '.' in their path and it
25754         would have been used but for --with-ignore-dot.
25755         [066e118c11e4]
25756
25757         * check.c, sudo.c:
25758         Only one space after a colon, not two, in printf's
25759         [38452f4c8007]
25760
25761 1998-11-05  Todd C. Miller  <Todd.Miller@courtesan.com>
25762
25763         * sudo.pod:
25764         document setting $USER
25765         [80557fe6aede]
25766
25767         * check.c:
25768         fix bugs with prompt expansion
25769         [44c4fca5f009]
25770
25771         * sudo.c:
25772         set $USER for root too
25773         [4b525e1c6269]
25774
25775 1998-11-04  Todd C. Miller  <Todd.Miller@courtesan.com>
25776
25777         * getspwuid.c:
25778         typo
25779         [5107446f43e0]
25780
25781         * configure.in:
25782         HP-UX's iscomsec is in -lsec, not libc
25783         [03c9f700b795]
25784
25785         * configure.in:
25786         remove some entries in the OS case statement that did nothing
25787         [ea96e7e0f624]
25788
25789         * TROUBLESHOOTING:
25790         add "cd" section and flush out syslog section
25791         [5107f7363b78]
25792
25793         * Makefile.in:
25794         no more sudo-lex.yy.c
25795         [ed50826efbbc]
25796
25797         * check_sia.c:
25798         add custom prompt support
25799         [6a285cea10b7]
25800
25801         * testsudoers.c:
25802         kill perror("malloc") since we already have a good error messages
25803         pw_ent -> pw for brevity
25804         [eee31052921e]
25805
25806         * sudo.c:
25807         kill perror("malloc") since we already have a good error messages
25808         pw_ent -> pw for brevity set $USER if -u specified
25809         [9f3753461f8a]
25810
25811         * parse.yacc:
25812         kill perror("malloc") since we already have a good error messages
25813         [849459088ac3]
25814
25815         * parse.c:
25816         kill perror("malloc") since we already have a good error messages
25817         pw_ent -> pw for brevity when checking if %group matches, look up
25818         user in password file so that %groups works in a RunAs spec.
25819         [0489b4ecc59a]
25820
25821         * logging.c:
25822         kill perror("malloc") since we already have a good error messages
25823         [3191a18b3526]
25824
25825         * check.c, getspwuid.c, interfaces.c:
25826         kill perror("malloc") since we already have a good error messages
25827         pw_ent -> pw for brevity
25828         [7193fdb38cf9]
25829
25830 1998-11-03  Todd C. Miller  <Todd.Miller@courtesan.com>
25831
25832         * tgetpass.c:
25833         the prompt is expanded before tgetpass is called
25834         [0f408f508041]
25835
25836         * sudo.h:
25837         tgetpass now has the same args as getpass again
25838         [b6778cd9d79f]
25839
25840         * getspwuid.c:
25841         add iscomsec, issecure support
25842         [007be7ec7ae7]
25843
25844         * check.c:
25845         we now expand any %h or %u in the prompt before passing to tgetpass
25846         [f3db8c9ee387]
25847
25848         * configure.in:
25849         add check for syslog(3) in -lsocket, -lnsl, -linet
25850         [5a96f902ce00]
25851
25852         * config.h.in:
25853         add HAVE_ISCOMSEC and HAVE_ISSECURE
25854         [f640b0d4cf05]
25855
25856         * configure.in:
25857         add check for iscomsec in HP-UX
25858         [b28b249040f0]
25859
25860         * configure.in:
25861         check for issecure if we have getpwanam on SunOS some options are
25862         incompatible with DUNIX SIA check for dispcrypt on DUNIX
25863         [a49d05d9c913]
25864
25865 1998-10-25  Todd C. Miller  <Todd.Miller@courtesan.com>
25866
25867         * config.h.in:
25868         add HAVE_DISPCRYPT
25869         [7376d543d8d6]
25870
25871         * secureware.c:
25872         add back support for non-dispcrypt based checking for older DUNIX
25873         [977b98e936be]
25874
25875         * INSTALL:
25876         sia changes
25877         [c5387c06e30f]
25878
25879         * configure.in:
25880         SIA becomes the default on Digital UNIX now havbe --disable-sia to
25881         turn it off...
25882         [3b647558ea13]
25883
25884         * check.c:
25885         move local includes after system ones
25886         [b2abad4c4aef]
25887
25888 1998-10-24  Todd C. Miller  <Todd.Miller@courtesan.com>
25889
25890         * check.c, check_sia.c, sudo.h:
25891         add pass_warn() which prints out INCORRECT_PASSWORD or an insult to
25892         stderr
25893         [547cbf299661]
25894
25895         * check_sia.c:
25896         fix while loop in sia_attempt_auth() that checks the password. Only
25897         the first iteration was working.
25898         [1886fd1ac831]
25899
25900 1998-10-22  Todd C. Miller  <Todd.Miller@courtesan.com>
25901
25902         * aclocal.m4:
25903         don't trust UID_MAX or MAXUID
25904         [2aeddb1654d8]
25905
25906         * configure.in:
25907         fix two pastos
25908         [c18f0a10b75d]
25909
25910         * configure.in:
25911         fix typo
25912         [1eb3190ef12d]
25913
25914         * getspwuid.c, secureware.c:
25915         init crypt_type to INT_MAX since it is legal to be negative in DUNX
25916         5.0
25917         [cefbde04822d]
25918
25919         * configure.in:
25920         for secureware on dunix, use -lsecurity -ldb -laud -lm but check for
25921         -ldb since DUNX < 4.0 lacks it
25922         [e6b11d971068]
25923
25924 1998-10-21  Todd C. Miller  <Todd.Miller@courtesan.com>
25925
25926         * check.c, compat.h, config.h.in, configure.in, getspwuid.c,
25927         secureware.c, sudo.c, tgetpass.c:
25928         getprpwuid is broken in HP-UX 10.20 at least (it sleeps for 2
25929         minutes if the shadow files don't exist).
25930         [2f297d095004]
25931
25932 1998-10-20  Todd C. Miller  <Todd.Miller@courtesan.com>
25933
25934         * INSTALL:
25935         updated --with-editor blurb
25936         [77d8a3ea7328]
25937
25938         * TROUBLESHOOTING:
25939         tell how to put sudoers in a different dir
25940         [456cd20eb1d0]
25941
25942         * configure.in:
25943         add missing quotes around $with_editor
25944         [22881748ab1b]
25945
25946         * configure.in:
25947         typo in --with-editor bits
25948         [ab6964580681]
25949
25950         * INSTALL:
25951         I don't expect it to work on Solaris
25952         [1c2fceaaf56e]
25953
25954         * check.c:
25955         add back security/pam_misc.h
25956         [6ffd30033c1e]
25957
25958 1998-10-19  Todd C. Miller  <Todd.Miller@courtesan.com>
25959
25960         * INSTALL:
25961         remove dunix note since configure checks for this now
25962         [e9904512b8e8]
25963
25964         * configure.in:
25965         add check for broken dunix prot.h (4.0 < 4.0D is bad)
25966         [8a4c1e6aef3b]
25967
25968         * getspwuid.c, secureware.c, tgetpass.c:
25969         new dunix shadow code, use dispcrypt(3)
25970         [1b936bc7268c]
25971
25972         * config.h.in:
25973         add HAVE_INITPRIVS
25974         [4369f4c4f914]
25975
25976         * sudo.c:
25977         call initprivs() if we have it for getprpwuid later on
25978         [11cf5915d826]
25979
25980         * Makefile.in:
25981         clean pathnames.h too
25982         [5f1df3262613]
25983
25984         * configure.in:
25985         quote "Sorry, try again." with [] since it has a comma in it set
25986         LIBS when we add stuff to SUDO_LIBS set SECUREWARE when we find
25987         getprpwuid() so we can check for bigcrypt, set_auth_parameters, and
25988         initprivs later.
25989         [e226b0a3f250]
25990
25991         * INSTALL:
25992         update Digital UNIX note about acl.h
25993         [80132b71d73a]
25994
25995         * INSTALL:
25996         add --with-sia
25997         --without-root-sudo -> --disable-root-sudo some reordering
25998         [198386358818]
25999
26000         * secureware.c:
26001         add whitespace
26002         [4aadaf1a54b0]
26003
26004         * Makefile.in, check.c, config.h.in, configure.in, logging.c, sudo.h:
26005         add SIA support
26006         [fa3ddbb9cc51]
26007
26008         * check_sia.c:
26009         Initial revision
26010         [2968551d40e4]
26011
26012 1998-10-18  Todd C. Miller  <Todd.Miller@courtesan.com>
26013
26014         * configure.in:
26015         when checking for -lsocket, -lnsl, and -linet, check for the
26016         specific functions we need from them.
26017         [8d33e64362a3]
26018
26019         * config.h.in, sudo.h:
26020         move Syslog_* defs into sudo.h
26021         [03d1774f25c7]
26022
26023         * Makefile.in, sudo.h:
26024         added check_secureware
26025         [e46e3cbb9a97]
26026
26027         * configure.in:
26028         finished adding AC_MSG_CHECKING and AC_MSG_RESULT bits
26029         [dbefe1856503]
26030
26031         * insults.h:
26032         don't define CLASSIC_INSULTS and CSOPS_INSULTS if no other sets
26033         defined. configure now does that for us
26034         [e4520ea0581f]
26035
26036         * configure.in:
26037         move some --with options around change a bunch of echo's to
26038         AC_MSG_CHECKING, AC_MSG_RESULT pairs
26039         [ffdf6869fdd7]
26040
26041         * configure.in:
26042         change $with_foo-bar -> $with_foo_bar kill extra " that caused a
26043         syntax error add some echo verbage
26044         [3278c49bf74b]
26045
26046 1998-10-17  Todd C. Miller  <Todd.Miller@courtesan.com>
26047
26048         * check.c:
26049         moved SecureWare stuff into secureware.c
26050         [42d3d3ac35dc]
26051
26052         * secureware.c:
26053         Initial revision
26054         [aa7f72a249cf]
26055
26056         * INSTALL:
26057         update url to solaris gcc bins
26058         [36a3eb668777]
26059
26060         * INSTALL:
26061         change option formatter and flesh out someentries
26062         [6fbd1db4a8ad]
26063
26064         * TROUBLESHOOTING, sudo.pod, visudo.pod:
26065         environmental variable -> environment variable
26066         [6f14d708e32d]
26067
26068         * BUGS:
26069         everything is now done via configure
26070         [c217858f58ab]
26071
26072         * README:
26073         prev rev was 1.5.6
26074         [7b4177103c35]
26075
26076         * Makefile.in:
26077         passing SUDOERS_MODE, SUDOERS_UID, SUDOERS_GID correctly
26078         [31c6b0a5e0e2]
26079
26080         * config.h.in:
26081         SUDOERS_MODE, SUDOERS_UID, SUDOERS_GID now come from the Makefile
26082         [d406a1ef6d25]
26083
26084         * Makefile.in:
26085         merge OSDEFS and OPTIONS into DEFS get sudoers_uid, sudoers_gid,
26086         sudoers_mode from configure
26087         [1c509500655a]
26088
26089         * configure.in:
26090         SUDOERS_MODE, SUDOERS_UID, and SUDOERS_GID now get substituted into
26091         the Makefile, not config.h
26092         [d4482f1492fe]
26093
26094         * INSTALL:
26095         document all --with/--enable options
26096         [22d81b312d7f]
26097
26098 1998-10-15  Todd C. Miller  <Todd.Miller@courtesan.com>
26099
26100         * insults.h:
26101         options.h is no more
26102         [560946a33f7f]
26103
26104         * config.h.in:
26105         assimilated options.h
26106         [dd8ce74613c1]
26107
26108         * configure.in:
26109         moved options from options.h to configure
26110         [d39662f71b4e]
26111
26112         * check.c, find_path.c, getspwuid.c, goodpath.c, interfaces.c,
26113         logging.c, parse.c, parse.lex, parse.yacc, sudo.c, sudo.pod,
26114         sudo_setenv.c, visudo.c:
26115         no more options.h
26116         [43924bf0858d]
26117
26118         * INSTALL, Makefile.in, PORTING, TROUBLESHOOTING:
26119         remove references to options.h
26120         [ef3474295395]
26121
26122         * dce_pwent.c, interfaces.c, sudo.c:
26123         kill sys/time.h
26124         [4d833f0034e4]
26125
26126         * tgetpass.c:
26127         if select return < -1 still prompt for pw
26128         [e0009e5c93a2]
26129
26130         * options.h:
26131         convert LOGGING, LOGFAC, MAXLOGFILELEN, IGNORE_DOT_PATH into
26132         configure options
26133         [e60a1e546516]
26134
26135         * parse.c:
26136         FAST_MATCH is no longer an optino
26137         [c448dbb3464b]
26138
26139         * check.c:
26140         remove_timestamp() if timestamp is preposterous
26141         [70d9a86c6ecd]
26142
26143         * options.h:
26144         convert more options to --with/--enable
26145         [34646d9b09dc]
26146
26147         * INSTALL, aclocal.m4:
26148         logfile -> logpath
26149         [42de502bc637]
26150
26151         * configure.in:
26152         convert more options into --with and --enable
26153         [92d0898c9844]
26154
26155         * tgetpass.c:
26156         catch EINTR in select and restart
26157         [f045d2f234d7]
26158
26159         * logging.c:
26160         sys/errno -> errno
26161         [7f0c5beab6f2]
26162
26163 1998-09-24  Todd C. Miller  <Todd.Miller@courtesan.com>
26164
26165         * sudo.c:
26166         UMASK -> SUDO_UMASK.
26167         [48f308661514]
26168
26169         * check.c, logging.c:
26170         time.h, not sys/time.h
26171         [91de049c79e4]
26172
26173 1998-09-21  Todd C. Miller  <Todd.Miller@courtesan.com>
26174
26175         * logging.c:
26176         MAILER -> _PATH_SENDMAIL
26177         [df65d6896639]
26178
26179         * INSTALL, configure.in:
26180         no more --with-C2, now it is --disable-shadow
26181         [18bfcab3b9ab]
26182
26183         * aclocal.m4, check.c, compat.h, config.h.in, configure.in,
26184         getspwuid.c, sudo.c, tgetpass.c:
26185         new shadow password scheme. Always include shadow support if the
26186         platform supports it and the user did not disable it via configure
26187         [2135d93bb4a9]
26188
26189 1998-09-20  Todd C. Miller  <Todd.Miller@courtesan.com>
26190
26191         * configure.in:
26192         --with-getpass -> --{enable,disable}-tgetpass
26193         [451b33fdd4c7]
26194
26195         * Makefile.in:
26196         pathnames.h -> pathnames.h.in
26197         [b109022eca69]
26198
26199         * check.c:
26200         fix version string
26201         [761b25c314ea]
26202
26203         * check.c:
26204         move pam_conv to be static to auth function remove pam_misc.h
26205         (solaris doesn't have one)
26206         [a682e4da987a]
26207
26208         * aclocal.m4:
26209         _CONFIG_PATH_* -> _PATH_* or _PATH_SUDO_* kill SUDO_PROG_PWD
26210         [e6005d0599b5]
26211
26212         * configure.in:
26213         munge pathnames.h.in -> pathnames.h kill SUDO_PROG_PWD
26214         [24c0ac2155ef]
26215
26216         * pathnames.h.in:
26217         convert to pathnames.h.in
26218         [013bddf7f684]
26219
26220 1998-09-19  Todd C. Miller  <Todd.Miller@courtesan.com>
26221
26222         * configure.in:
26223         fix typo in sysv4 matching case /.
26224         [2994c4f88cf5]
26225
26226 1998-09-18  Todd C. Miller  <Todd.Miller@courtesan.com>
26227
26228         * check.c:
26229         pam stuff needs to run as root, not user, for shadow passwords
26230         [d94ff75de503]
26231
26232 1998-09-17  Todd C. Miller  <Todd.Miller@courtesan.com>
26233
26234         * BUGS, INSTALL, README, configure.in:
26235         updated version
26236         [775adc7de7ac]
26237
26238         * Makefile.in, check.c, compat.h, config.h.in, dce_pwent.c,
26239         emul/utime.h, find_path.c, getspwuid.c, goodpath.c, ins_2001.h,
26240         ins_classic.h, ins_csops.h, ins_goons.h, insults.h, interfaces.c,
26241         logging.c, options.h, parse.c, parse.lex, parse.yacc,
26242         pathnames.h.in, putenv.c, strdup.c, sudo.c, sudo.h, sudo_setenv.c,
26243         testsudoers.c, tgetpass.c, utime.c, visudo.c:
26244         updated version
26245         [5ca599fb6b93]
26246
26247         * check.c:
26248         user version.h for long message
26249         [47a52ac7e542]
26250
26251         * check.c:
26252         this is version 1.5.6
26253         [8451ac79eee2]
26254
26255 1998-09-16  Todd C. Miller  <Todd.Miller@courtesan.com>
26256
26257         * Makefile.in:
26258         remove errant backslash
26259         [0222a8a650ff]
26260
26261 1998-09-15  Todd C. Miller  <Todd.Miller@courtesan.com>
26262
26263         * options.h, parse.yacc, pathnames.h.in:
26264         fix version string
26265         [fdee73255d64] [SUDO_1_5_6]
26266
26267         * BUGS, CHANGES, TODO:
26268         updtaed for 1.5.6
26269         [752443bf7f26]
26270
26271         * RUNSON:
26272         updated for 1.5.6
26273         [0f878123fe6a]
26274
26275 1998-09-14  Todd C. Miller  <Todd.Miller@courtesan.com>
26276
26277         * interfaces.c:
26278         kill unused localhost_mask var copy if name to ifr_tmp after we zero
26279         it
26280         [8e89c364cef2]
26281
26282 1998-09-13  Todd C. Miller  <Todd.Miller@courtesan.com>
26283
26284         * INSTALL:
26285         Better description of new vs. old sudoers modes fix some typos
26286         better description of /usr/ucb/cc gotchas on slowaris
26287         [c00b2a6fc1e8]
26288
26289         * Makefile.in:
26290         add sample.pam
26291         [ec7f6cc19b00]
26292
26293         * sudo.c:
26294         set NewArgv[0] to user_shell, not basename(user_shell)
26295         [1e907cbc9f7b]
26296
26297 1998-09-12  Todd C. Miller  <Todd.Miller@courtesan.com>
26298
26299         * README:
26300         mention TROUBLESHOOTING more fix some typos
26301         [2c2e6907d4a4]
26302
26303         * configure.in:
26304         move --enable/--disable to be after --with
26305         [9b30097f76c1]
26306
26307         * INSTALL:
26308         document --enable/--disable
26309         [c522362e38a8]
26310
26311         * INSTALL:
26312         document --with-pam
26313         [7e38932c78ac]
26314
26315 1998-09-11  Todd C. Miller  <Todd.Miller@courtesan.com>
26316
26317         * configure.in:
26318         Add message for pam users
26319         [d224f277e3cd]
26320
26321         * sample.pam:
26322         Initial revision
26323         [3a84d7045f54]
26324
26325         * config.h.in:
26326         fix HAVE_PAM
26327         [2f0f303ebd88]
26328
26329         * check.c, config.h.in, configure.in:
26330         pam support, from Gary Calvin <GCalvin@kenwoodusa.com>
26331         [ea3e0a72d707]
26332
26333 1998-09-10  Todd C. Miller  <Todd.Miller@courtesan.com>
26334
26335         * config.h.in:
26336         add HOST_IN_LOG and WRAP_LOG
26337         [822c36eeb6a8]
26338
26339         * logging.c:
26340         add WRAP_LOG and HOST_IN_LOG
26341         [3cf6052bd27e]
26342
26343         * configure.in:
26344         add --enable-log-host and --enable-log-wrap
26345         [c968cc12b353]
26346
26347         * aclocal.m4:
26348         use AC_DEFINE_UNQUOTED for --with-logfile and --with-timedir
26349         [915fef7e11a1]
26350
26351 1998-09-09  Todd C. Miller  <Todd.Miller@courtesan.com>
26352
26353         * compat.h:
26354         add howmany macro
26355         [9107a057a7c8]
26356
26357         * tgetpass.c:
26358         include sys/param.h to get howmany macro
26359         [7e908b5e1f32]
26360
26361 1998-09-08  Todd C. Miller  <Todd.Miller@courtesan.com>
26362
26363         * OPTIONS, options.h, parse.yacc, sudo.c, testsudoers.c, visudo.c:
26364         add RUNAS_DEFAULT
26365         [1e76398ea3fd]
26366
26367 1998-09-07  Todd C. Miller  <Todd.Miller@courtesan.com>
26368
26369         * fnmatch.c:
26370         bring in stdio.h for NULL
26371         [69c016610cbb]
26372
26373         * aclocal.m4:
26374         allow /bin/{ksh,bach} and /usr/bin/{ksh,bash} as sh
26375         [15ab2972f8d0]
26376
26377         * sudo.c:
26378         use HAVE_SET_AUTH_PARAMETERS
26379         [8abfdc8c80f7]
26380
26381         * config.h.in:
26382         add HAVE_SET_AUTH_PARAMETERS
26383         [673a5ebd5539]
26384
26385         * configure.in:
26386         add *-*-hiuxmpp* add test for set_auth_parameters() if secureware
26387         [a401f5a7469a]
26388
26389         * config.sub:
26390         add support for HI-UX/MPP SR220001 02-03 0 SR2201
26391         [cb657b7acaae]
26392
26393         * interfaces.c:
26394         initialize previfname
26395         [26a1902f56dc]
26396
26397         * interfaces.c:
26398         Don't use SIOCGIFADDR, we don't need it Use SIOCGIFFLAGS if we have
26399         it check ifr_flags against IFF_UP and IFF_LOOPBACK instead of
26400         kludging it
26401         [fa5c890c313b]
26402
26403         * configure.in:
26404         typo
26405         [bff579fbe95c]
26406
26407         * Makefile.in:
26408         don't need special build line for sudo.tab.o
26409         [10c0a0a912e4]
26410
26411         * Makefile.in:
26412         don't clean sudo.tab.[ch]
26413         [c40d5968efbb]
26414
26415         * sudo.c:
26416         Sudo should prompt for a password before telling the user that a
26417         command could not be found.
26418         [d718c85a0047]
26419
26420         * BUGS:
26421         for 1.5.6
26422         [0cc1fe5b9129]
26423
26424         * INSTALL, README:
26425         no longer require yacc
26426         [d9096fc5b8b6]
26427
26428         * Makefile.in:
26429         typo
26430         [70feb1aefbd5]
26431
26432         * Makefile.in:
26433         y.tab -> sudo.tab include pre-yacc'd parse.yacc
26434         [cc802025fd44]
26435
26436         * parse.lex:
26437         include sudo.tab.h, not y.tab.h don't break out of command args if
26438         you get a '='
26439         [728ad26dbda5]
26440
26441         * insults.h:
26442         fix version ,
26443         [242bbce1b2d4]
26444
26445         * ins_2001.h, ins_classic.h, ins_csops.h, ins_goons.h:
26446         fix version
26447         [2bb9086fea1e]
26448
26449         * compat.h:
26450         fix version
26451         [7e634d498ce6]
26452
26453         * getcwd.c:
26454         getcwd(3) from OpenBSD for those without it.
26455         [6c68d0df8f6c]
26456
26457         * sudo.h:
26458         HAVE_GETWD -> HAVE_GETCWD
26459         [2ad1e64d60c0]
26460
26461         * configure.in:
26462         pretend sunos doesn't have getcwd(3) since it opens a pipe to
26463         getpwd!
26464         [677992ba5a6a]
26465
26466         * parse.c:
26467         use NAMLEN() macro
26468         [8f5685aa3165]
26469
26470         * fnmatch.c:
26471         remove duplicate include of string.h
26472         [6024f3051ac3]
26473
26474         * configure.in:
26475         call SUDO_TYPE_DEV_T and SUDO_TYPE_INO_T
26476         [3d82a9c22cc2]
26477
26478         * aclocal.m4:
26479         add SUDO_TYPE_DEV_T and SUDO_TYPE_INO_T
26480         [53fbc47282f9]
26481
26482         * config.h.in:
26483         add dev_t and ino_t
26484         [5929bb0c7e1a]
26485
26486 1998-07-28  Todd C. Miller  <Todd.Miller@courtesan.com>
26487
26488         * check.c:
26489         fix OTP_ONLY for opie
26490         [7edcfa78f2ec]
26491
26492 1998-06-24  Todd C. Miller  <Todd.Miller@courtesan.com>
26493
26494         * testsudoers.c, tgetpass.c:
26495         include stdlib.h for malloc proto
26496         [c9f4b99a2fe9]
26497
26498 1998-05-19  Todd C. Miller  <Todd.Miller@courtesan.com>
26499
26500         * Makefile.in:
26501         make update_version saner
26502         [d522f93ee04a]
26503
26504         * config.h.in:
26505         add HAVE_WAITPID, HAVE_WAIT3, and sudo_waitpid()
26506         [c9a2d21dc608]
26507
26508         * configure.in:
26509         check for waitpid and wait3 or no waitpid
26510         [1f18c3224184]
26511
26512         * logging.c:
26513         used waitpid or wait3 if we have 'em
26514         [391c3279ee65]
26515
26516 1998-05-02  Todd C. Miller  <Todd.Miller@courtesan.com>
26517
26518         * visudo.c:
26519         fix some fprintf args, ariel@oz.engr.sgi.com (Ariel Faigon)
26520         [fbf53b18178f]
26521
26522 1998-04-28  Todd C. Miller  <Todd.Miller@courtesan.com>
26523
26524         * configure.in:
26525         don't need to explicately mention -lsocket -lnsl for sequent
26526         [1898dc055352]
26527
26528 1998-04-25  Todd C. Miller  <Todd.Miller@courtesan.com>
26529
26530         * configure.in:
26531         dynix should not link with -linet
26532         [278a4b9cfe2a]
26533
26534 1998-04-10  Todd C. Miller  <Todd.Miller@courtesan.com>
26535
26536         * INSTALL:
26537         mention that HP-UX doesn't ship with yacc
26538         [bde5147198c0]
26539
26540 1998-04-07  Todd C. Miller  <Todd.Miller@courtesan.com>
26541
26542         * check.c:
26543         ignore kerberos if we can't get the local realm
26544         [1e311a091a27]
26545
26546 1998-04-06  Todd C. Miller  <Todd.Miller@courtesan.com>
26547
26548         * BUGS, INSTALL, README, configure.in:
26549         ++version
26550         [499ffc746018]
26551
26552         * version.h:
26553         ++
26554         [35ba1ee01bd3]
26555
26556         * Makefile.in, check.c, config.h.in, dce_pwent.c, emul/utime.h,
26557         find_path.c, getcwd.c, getspwuid.c, goodpath.c, interfaces.c,
26558         logging.c, parse.c, parse.lex, putenv.c, strdup.c, sudo.c, sudo.h,
26559         sudo_setenv.c, testsudoers.c, tgetpass.c, utime.c, visudo.c:
26560         updated version
26561         [b4990a513f31]
26562
26563         * check.c, sudo.h:
26564         fix version
26565         [5710795834e8]
26566
26567         * getcwd.c:
26568         don't use popen/pclose. Do it inline.
26569         [29e57b0646a4]
26570
26571         * lsearch.c:
26572         add rcsid
26573         [b2b55c39858d]
26574
26575         * sudo.c:
26576         typo
26577         [d381ac39ed0f]
26578
26579         * check.c, compat.h, ins_2001.h, ins_classic.h, ins_csops.h,
26580         ins_goons.h, insults.h, options.h, parse.yacc, pathnames.h.in,
26581         sudo.h:
26582         updated version
26583         [462d6e1a2d75]
26584
26585         * check.c, find_path.c, parse.c, sudo.c, testsudoers.c:
26586         MAX* + 1 -> MAX*
26587         [2c2eeb78d34f]
26588
26589         * Makefile.in:
26590         getwd.c -> getcwd.c
26591         [7d718c32fc02]
26592
26593         * config.h.in:
26594         kill HAVE_GETWD
26595         [6ad3d702343f]
26596
26597         * configure.in:
26598         getcwd, not getwd
26599         [33e5b9841f58]
26600
26601         * getcwd.c:
26602         use MAX* not MAX* + 1 always run pwd as using getwd() defeats the
26603         purpose
26604         [24e58d340161]
26605
26606 1998-03-31  Todd C. Miller  <Todd.Miller@courtesan.com>
26607
26608         * OPTIONS, options.h:
26609         add STUB_LOAD_INTERFACES
26610         [d747cb23ca83]
26611
26612         * Makefile.in, check.c, compat.h, config.h.in, dce_pwent.c,
26613         emul/utime.h, find_path.c, getspwuid.c, getwd.c, goodpath.c,
26614         ins_2001.h, ins_classic.h, ins_csops.h, ins_goons.h, insults.h,
26615         interfaces.c, logging.c, options.h, parse.c, parse.lex, parse.yacc,
26616         pathnames.h.in, putenv.c, strdup.c, sudo.c, sudo.h, sudo_setenv.c,
26617         testsudoers.c, tgetpass.c, utime.c, visudo.c:
26618         updated version
26619         [0798229312cc]
26620
26621         * configure.in:
26622         support *-ccur-sysv4 and fix two typos
26623         [24a823ad7cc9]
26624
26625 1998-03-28  Todd C. Miller  <Todd.Miller@courtesan.com>
26626
26627         * configure.in:
26628         don't echo about with_logfile and with_timedir
26629         [31e4a1e2d9ad]
26630
26631         * INSTALL:
26632         document --with-logfile and --with-timedir
26633         [674f811a40e0]
26634
26635         * aclocal.m4:
26636         support --with-logfile and --with-timedir
26637         [2fc36b35db12]
26638
26639         * configure.in:
26640         Add --with-logfile and --with-timedir
26641         [09045bf07e29]
26642
26643         * sudo.c:
26644         change size computation of NewArgv for UNICOS
26645         [b50df07da3a1]
26646
26647 1998-02-19  Todd C. Miller  <Todd.Miller@courtesan.com>
26648
26649         * configure.in:
26650         treate -*-sysv4* like *-*-svr4
26651         [471b7ef4dbf2]
26652
26653 1998-02-18  Todd C. Miller  <Todd.Miller@courtesan.com>
26654
26655         * configure.in:
26656         fix spacing for --with-authenticate help
26657         [8321cb37c410]
26658
26659         * Makefile.in, check.c, compat.h, config.h.in, dce_pwent.c,
26660         emul/utime.h, find_path.c, getspwuid.c, getwd.c, goodpath.c,
26661         ins_2001.h, ins_classic.h, ins_csops.h, ins_goons.h, insults.h,
26662         interfaces.c, logging.c, options.h, parse.c, parse.lex, parse.yacc,
26663         pathnames.h.in, putenv.c, strdup.c, sudo.c, sudo.h, sudo_setenv.c,
26664         testsudoers.c, tgetpass.c, utime.c, visudo.c:
26665         updated version
26666         [dc1ab97312eb]
26667
26668         * parse.yacc:
26669         fix off by one error in push macro
26670         [bece59c8c3a9]
26671
26672 1998-02-17  Todd C. Miller  <Todd.Miller@courtesan.com>
26673
26674         * configure.in:
26675         removed bogus alloca hack
26676         [a68dd720462d]
26677
26678         * check.c:
26679         added AIX 4.x authenticate() support
26680         [12985eb448a0]
26681
26682         * parse.yacc:
26683         include alloca.h if using bison and not gcc and it exists. fixes an
26684         alloca problem on hpux 10.x
26685         [e3b5c4f26072]
26686
26687         * INSTALL:
26688         mention --with-authenticate
26689         [78a1c96820e7]
26690
26691         * configure.in:
26692         added AIX authenticate() support
26693         [c983193ec252]
26694
26695         * config.h.in:
26696         add HAVE_AUTHENTICATE
26697         [7b0e5f5db5d9]
26698
26699         * interfaces.c:
26700         dynamically size ifconf buffer
26701         [10afb0e9b2f9]
26702
26703         * configure.in:
26704         quote '[' and ']'
26705         [8fc38a4defad]
26706
26707         * Makefile.in, check.c, compat.h, config.h.in, dce_pwent.c,
26708         emul/utime.h, find_path.c, getspwuid.c, getwd.c, goodpath.c,
26709         ins_2001.h, ins_classic.h, ins_csops.h, ins_goons.h, insults.h,
26710         logging.c, options.h, parse.c, parse.lex, parse.yacc,
26711         pathnames.h.in, putenv.c, strdup.c, sudo.c, sudo.h, sudo_setenv.c,
26712         testsudoers.c, tgetpass.c, utime.c, visudo.c:
26713         updated version
26714         [5f66de71ec61]
26715
26716         * visudo.pod:
26717         add ERRORS section
26718         [3df3edb73cf6]
26719
26720 1998-02-16  Todd C. Miller  <Todd.Miller@courtesan.com>
26721
26722         * TROUBLESHOOTING:
26723         add busy stmp file explanation
26724         [6c555d469b6f]
26725
26726 1998-02-15  Todd C. Miller  <Todd.Miller@courtesan.com>
26727
26728         * configure.in:
26729         the name of the cached var that signals whether or not you are cross
26730         compiling changed. It is now ac_cv_prog_cc_cross
26731         [123911c0658c]
26732
26733 1998-02-11  Todd C. Miller  <Todd.Miller@courtesan.com>
26734
26735         * INSTALL:
26736         mention glibc 2.07 is fixed wrt lsearch()\.
26737         [ded758524582]
26738
26739 1998-02-07  Todd C. Miller  <Todd.Miller@courtesan.com>
26740
26741         * sample.sudoers, sudoers.pod:
26742         better example of su but not root su
26743         [b3199610be21]
26744
26745 1998-02-06  Todd C. Miller  <Todd.Miller@courtesan.com>
26746
26747         * Makefile.in, check.c, compat.h, config.h.in, dce_pwent.c,
26748         emul/utime.h, find_path.c, getspwuid.c, getwd.c, goodpath.c,
26749         ins_2001.h, ins_classic.h, ins_csops.h, ins_goons.h, insults.h,
26750         interfaces.c, logging.c, options.h, parse.c, parse.lex, parse.yacc,
26751         pathnames.h.in, putenv.c, strdup.c, sudo.c, sudo.h, sudo_setenv.c,
26752         testsudoers.c, tgetpass.c, utime.c, visudo.c:
26753         updated version
26754         [46922b84e86b]
26755
26756         * Makefile.in:
26757         correct regexp for updating version
26758         [8032728b2a8a]
26759
26760         * tgetpass.c:
26761         remove bogus flush of stderr spew prompt before turning off echo.
26762         Seems to fix a weird problem where if sudo complained about a bogus
26763         stamp file the user would sometimes not have a chance to enter a
26764         password
26765         [7aa1493cc141]
26766
26767         * check.c:
26768         fix bogus flush of stderr
26769         [6d047871c5e8]
26770
26771         * sudo.c:
26772         close fd's <=2 not <=3 and move that chunk of code up
26773         [553e4faac195]
26774
26775         * configure.in:
26776         support hpux1[0-9] not just hpux10
26777         [5a34a000ff8a]
26778
26779 1998-01-30  Todd C. Miller  <Todd.Miller@courtesan.com>
26780
26781         * parse.c:
26782         set sudoers_fp to nil after closing
26783         [221a8b4bbf34]
26784
26785 1998-01-24  Todd C. Miller  <Todd.Miller@courtesan.com>
26786
26787         * config.guess, config.sub:
26788         updated from autoconf 2.12
26789         [6fc86a0fc61b]
26790
26791         * configure.in:
26792         add *-*-svr4 rule
26793         [38f0427f7c9d]
26794
26795 1998-01-23  Todd C. Miller  <Todd.Miller@courtesan.com>
26796
26797         * tgetpass.c:
26798         fix select usage for high fd's (dynamically allocate readfds)
26799         [c2d1f76e0321]
26800
26801         * check.c:
26802         kill extra whitespace
26803         [d784b6c9c514]
26804
26805         * sudo.c:
26806         do an initgroups() before running a command, unless the target user
26807         is root.
26808         [4ca561287480]
26809
26810 1998-01-22  Todd C. Miller  <Todd.Miller@courtesan.com>
26811
26812         * TROUBLESHOOTING:
26813         tell people to use tabs, not spaces, in syslog.conf
26814         [8ae90a205134]
26815
26816 1998-01-21  Todd C. Miller  <Todd.Miller@courtesan.com>
26817
26818         * Makefile.in, config.h.in, dce_pwent.c, emul/utime.h, getwd.c,
26819         parse.lex, putenv.c, strdup.c, testsudoers.c, utime.c:
26820         updated version
26821         [4d855ff5de26]
26822
26823         * check.c, find_path.c, getspwuid.c, goodpath.c, interfaces.c,
26824         logging.c, parse.c, sudo.c, sudo_setenv.c, tgetpass.c, visudo.c:
26825         updated version
26826         [8e007e178b33]
26827
26828         * compat.h, ins_2001.h, ins_classic.h, ins_csops.h, ins_goons.h,
26829         insults.h, options.h, parse.yacc, pathnames.h.in, sudo.h:
26830         updated version
26831         [9ddea5c8814d]
26832
26833         * Makefile.in:
26834         more tweaks to update_version
26835         [047698752855]
26836
26837         * Makefile.in:
26838         fixed up update_version rule
26839         [47b6fa34b77f]
26840
26841         * configure.in:
26842         ++version
26843         [c1ca664e30b7]
26844
26845         * Makefile.in:
26846         removed supe of check.c
26847         [8f340a05296a]
26848
26849         * INSTALL:
26850         ++version I missed
26851         [a298e6c17491]
26852
26853         * RUNSON:
26854         updated
26855         [a14f6057bc15]
26856
26857         * BUGS, INSTALL, Makefile.in, README, check.c, compat.h, config.h.in,
26858         dce_pwent.c, emul/utime.h, find_path.c, getspwuid.c, getwd.c,
26859         goodpath.c, ins_2001.h, ins_classic.h, ins_csops.h, ins_goons.h,
26860         insults.h, interfaces.c, logging.c, options.h, parse.c, parse.lex,
26861         parse.yacc, pathnames.h.in, putenv.c, strdup.c, sudo.c, sudo.h,
26862         sudo_setenv.c, testsudoers.c, tgetpass.c, utime.c, version.h,
26863         visudo.c:
26864         updated version
26865         [02231b1a3ab3]
26866
26867         * CHANGES:
26868         updated for 1.5.5
26869         [634e5fcaf40b]
26870
26871         * Makefile.in:
26872         add rules to update version stuff in files so I don't need to do it
26873         by hand
26874         [3620ad60485a]
26875
26876         * sudo.h:
26877         sudoers_fp is now extern
26878         [88c6e9b9ea84]
26879
26880         * sudo.c:
26881         in check_sudoers, cache the sudoers file handle in sudoers_fp so we
26882         don't have to open it again in the parse. This may help with weird
26883         solaris problems where EAGAIN sometime occurrs.
26884         [d3c26451ed1d]
26885
26886         * parse.c:
26887         sudoers file open is now done only in check_sudoers() so we just do
26888         a rewind() instead of an open. May help people on solaris who were
26889         getting EAGAIN.
26890         [c8b8c7722fa5]
26891
26892 1998-01-16  Todd C. Miller  <Todd.Miller@courtesan.com>
26893
26894         * INSTALL:
26895         mention that newer glibc is fixed
26896         [20f06f5d3ef3]
26897
26898 1998-01-13  Todd C. Miller  <Todd.Miller@courtesan.com>
26899
26900         * sudo.c:
26901         newer irix uses _RLDN32_* envariables for 32-bit binaries so ignore
26902         _RLD* instead of _RLD_*
26903         [1e22c588d602]
26904
26905         * parse.c:
26906         typo
26907         [d0b7cb85f08a]
26908
26909         * parse.c:
26910         fix that bug for real
26911         [5a6eeca6d04b]
26912
26913         * INSTALL:
26914         document Linux's libc6 brokenness.
26915         [0246c1aa64ee]
26916
26917         * parse.yacc:
26918         -Wall
26919         [d0e452fb1e2d]
26920
26921         * RUNSON:
26922         updated
26923         [4949a1bbd0a9] [SUDO_1_5_4]
26924
26925         * TROUBLESHOOTING:
26926         remind people to HUP syslogd
26927         [590962faa4f0]
26928
26929         * Makefile.in:
26930         add -O flag to tar
26931         [622d02de339d]
26932
26933         * RUNSON:
26934         updated
26935         [a72930d6e615]
26936
26937         * TODO:
26938         updated
26939         [4a51bd458390]
26940
26941         * sudo.pod:
26942         remove author's email addr. people should mail sudo-bugs
26943         [9b6bbdb3a6d9]
26944
26945         * INSTALL:
26946         fix version
26947         [246274c6c8af]
26948
26949         * README, check.c, compat.h, config.h.in, configure.in, dce_pwent.c,
26950         find_path.c, getspwuid.c, getwd.c, goodpath.c, ins_2001.h,
26951         ins_classic.h, ins_csops.h, ins_goons.h, insults.h, interfaces.c,
26952         logging.c, options.h, parse.c, parse.lex, parse.yacc,
26953         pathnames.h.in, putenv.c, strdup.c, sudo.c, sudo.h, sudo_setenv.c,
26954         testsudoers.c, tgetpass.c, utime.c, version.h, visudo.c:
26955         ++version
26956         [f532ff4ee766]
26957
26958         * RUNSON:
26959         updated
26960         [62d5c71358b5]
26961
26962         * INSTALL, Makefile.in:
26963         ++version
26964         [1a7c7628edfc]
26965
26966         * CHANGES:
26967         updated fort 1.5.4
26968         [7e4873508c99]
26969
26970         * check.c:
26971         exit(1) if user enters no passwd
26972         [f382c0e35e4e]
26973
26974         * BUGS:
26975         ++version
26976         [fab6a867ab67]
26977
26978         * parse.c:
26979         commands can start with ./* not just /* -- fixes a serious security
26980         hole.
26981         [244d2fe35ee3]
26982
26983 1997-12-21  Todd C. Miller  <Todd.Miller@courtesan.com>
26984
26985         * sudo.c:
26986         Don't set the tty variable to NULL when we lack a tty, leave it as
26987         "unknown".
26988         [193b26daba03]
26989
26990 1997-11-23  Todd C. Miller  <Todd.Miller@courtesan.com>
26991
26992         * sample.sudoers:
26993         fix usage of (username) in conjunction with , and !
26994         [7ae68607f68f]
26995
26996         * visudo.c:
26997         catch the case where the user is not in the passwd file
26998         [31650258deb0]
26999
27000         * tgetpass.c:
27001         use fileno(input) + 1 instead of getdtablesize() as the nfds arg to
27002         select(2)
27003         [60ab2d9a9ee8]
27004
27005         * sudo.c:
27006         define tty global to an initial value to avoid dumping core in
27007         logging functions when passwd file is unavailable.
27008         [77056c7bc908]
27009
27010         * sudo.c:
27011         do the set_perms(PERM_USER, sudo_mode) after we have gotten the
27012         passwd entry
27013         [1fdb8e579a5a]
27014
27015         * sudo.pod:
27016         talk about problem of ALL
27017         [1cd1905c9f6f]
27018
27019 1997-10-10  Todd C. Miller  <Todd.Miller@courtesan.com>
27020
27021         * README:
27022         new web location
27023         [d24dc26f6da5]
27024
27025         * INSTALL:
27026         fdesc bug is fixed in Open/Net BSD
27027         [7d4d81b08ac3]
27028
27029         * HISTORY:
27030         updates from Nieusma
27031         [3a43769a1b78]
27032
27033 1997-10-09  Todd C. Miller  <Todd.Miller@courtesan.com>
27034
27035         * dce_pwent.c:
27036         move compat.h after the system includes
27037         [5ea43a5968ac]
27038
27039 1997-08-06  Todd C. Miller  <Todd.Miller@courtesan.com>
27040
27041         * logging.c:
27042         save errno from being clobbered by wait(). From Theo
27043         [f2d1c48cd592]
27044
27045 1997-05-21  Todd C. Miller  <Todd.Miller@courtesan.com>
27046
27047         * compat.h:
27048         fix an occurence of setresuid -> setreuid (typo)
27049         [394de35c9b1c]
27050
27051 1997-03-19  Todd C. Miller  <Todd.Miller@courtesan.com>
27052
27053         * install-sh:
27054         check for path to strip
27055         [2b7ef824bd55]
27056
27057 1997-01-16  Todd C. Miller  <Todd.Miller@courtesan.com>
27058
27059         * logging.c:
27060         deal with maxfilelen < 0 case
27061         [f0af095178d7]
27062
27063         * OPTIONS:
27064         fixed descriptin
27065         [629f60bd4b5f]
27066
27067 1996-12-12  Todd C. Miller  <Todd.Miller@courtesan.com>
27068
27069         * sudo.c:
27070         correct error message if mode/owner wrong and not statable by owner
27071         but is statable by root.
27072         [cb631ce2e85e]
27073
27074 1996-11-23  Todd C. Miller  <Todd.Miller@courtesan.com>
27075
27076         * config.guess, config.sub:
27077         autoconf 2.11
27078         [f3cbe59e0756]
27079
27080 1996-11-16  Todd C. Miller  <Todd.Miller@courtesan.com>
27081
27082         * CHANGES, RUNSON, TODO:
27083         sudo 1.5.3.
27084         [2be3229b8626]
27085
27086 1996-11-14  Todd C. Miller  <Todd.Miller@courtesan.com>
27087
27088         * parse.yacc, sudo.h:
27089         command_alias -> generic_alias
27090         [c404ca8c510d] [SUDO_1_5_3]
27091
27092         * sample.sudoers:
27093         added Runas_Alias example and fixed syntax errors
27094         [c304053f4a8a]
27095
27096         * OPTIONS, options.h:
27097         updated MAILSUBJECT
27098         [18d1573fcd2a]
27099
27100         * logging.c:
27101         added %h expansion
27102         [a4bff9b284fd]
27103
27104         * INSTALL, Makefile.in, README, check.c, compat.h, config.h.in,
27105         configure.in, dce_pwent.c, find_path.c, getspwuid.c, getwd.c,
27106         goodpath.c, ins_2001.h, ins_classic.h, ins_csops.h, ins_goons.h,
27107         insults.h, interfaces.c, logging.c, options.h, parse.c, parse.lex,
27108         parse.yacc, pathnames.h.in, putenv.c, strdup.c, sudo.c, sudo.h,
27109         sudo_setenv.c, testsudoers.c, tgetpass.c, utime.c, version.h,
27110         visudo.c:
27111         ++version
27112         [211ff20f956f]
27113
27114         * BUGS, emul/utime.h:
27115         ++version
27116         [cde5376579e3]
27117
27118         * sudoers.pod:
27119         document Runas_Alias
27120         [b1a58f28fb2c]
27121
27122         * visudo.pod:
27123         q (uid) -> Q
27124         [d256649a0e6b]
27125
27126         * visudo.c:
27127         buffer oflow checking q (uit) -> Q if yyparse() fails drop into
27128         whatnow
27129         [1cb183d15626]
27130
27131         * parse.yacc:
27132         add size params to sprintf
27133         [9228f698921f]
27134
27135         * parse.lex:
27136         allow trailing space after '\\' but before '\n'
27137         [f51dbbf69fdf]
27138
27139         * find_path.c:
27140         off by one error in path size check
27141         [a6d75ccd7632]
27142
27143         * check.c:
27144         sprintf paranoia
27145         [3ffb12d198dd]
27146
27147 1996-11-12  Todd C. Miller  <Todd.Miller@courtesan.com>
27148
27149         * parse.yacc:
27150         fixed more_aliases
27151         [aab12f2a50af]
27152
27153         * visudo.c:
27154         now warns if killed by signal ./
27155         [310c186a0fd7]
27156
27157 1996-11-11  Todd C. Miller  <Todd.Miller@courtesan.com>
27158
27159         * parse.yacc:
27160         fix Runas_Alias stuff Alias's in runas list now get expanded (but it
27161         is gross)
27162         [45590b83120f]
27163
27164         * sudo.c:
27165         Can now deal with SUDOERS_UID == 0 and SUDOERS_MODE == 0400
27166         [d53e01c14c58]
27167
27168         * parse.yacc:
27169         add Runas_Alias support change FOO to FOO_ALIAS (ie: USER_ALIAS)
27170         [7a4a040aae2d]
27171
27172         * parse.lex:
27173         Add Runas_Alias and simplify a rule.
27174         [6f794a769a37]
27175
27176         * parse.yacc:
27177         always store User_Alias's since they can be used inside of a runas
27178         list. Sigh. Really need a Runas_Alias instead.
27179         [3bab058a873e]
27180
27181 1996-10-30  Todd C. Miller  <Todd.Miller@courtesan.com>
27182
27183         * visudo.c:
27184         deal with case where there is no sudoers file
27185         [fa38b3bb244d]
27186
27187 1996-10-12  Todd C. Miller  <Todd.Miller@courtesan.com>
27188
27189         * TROUBLESHOOTING:
27190         added one
27191         [e61346d06725]
27192
27193 1996-10-11  Todd C. Miller  <Todd.Miller@courtesan.com>
27194
27195         * HISTORY, testsudoers.c:
27196         developement -> development
27197         [4df55e293941]
27198
27199         * INSTALL:
27200         added a note
27201         [3845fb83dbc0]
27202
27203         * RUNSON:
27204         for 1.5.2
27205         [5489b7298942]
27206
27207         * CHANGES:
27208         updated
27209         [0741834929e6]
27210
27211 1996-10-10  Todd C. Miller  <Todd.Miller@courtesan.com>
27212
27213         * PORTING:
27214         removed seteuid() notes
27215         [1010a60f281d] [SUDO_1_5_2]
27216
27217 1996-10-09  Todd C. Miller  <Todd.Miller@courtesan.com>
27218
27219         * compat.h:
27220         better seteuid() emulatino
27221         [e807623b662c]
27222
27223         * configure.in:
27224         added check for seteuid
27225         [8cf9fabc6f4f]
27226
27227         * config.h.in:
27228         added HAVE_SETEUID
27229         [596db46aa828]
27230
27231 1996-10-08  Todd C. Miller  <Todd.Miller@courtesan.com>
27232
27233         * configure.in:
27234         first stab at sequent support
27235         [b85a7bfcac76]
27236
27237         * config.h.in:
27238         added HAVE_SYS_SELECT_H
27239         [93ecdd042463]
27240
27241         * compat.h:
27242         sequent -> _SEQUENT_
27243         [63a38b6da98c]
27244
27245         * compat.h:
27246         added seteuid() macro for DYNIX
27247         [695bd63c5ea6]
27248
27249         * tgetpass.c:
27250         _AIX -> HAVE_SYS_SELECT_H
27251         [b31221211bc2]
27252
27253 1996-10-07  Todd C. Miller  <Todd.Miller@courtesan.com>
27254
27255         * BUGS, INSTALL, Makefile.in, OPTIONS, README, config.h.in, logging.c,
27256         parse.c, parse.lex, parse.yacc, putenv.c, strdup.c, sudo_setenv.c,
27257         testsudoers.c, tgetpass.c, utime.c, visudo.c:
27258         ++version
27259         [8052992fd453]
27260
27261         * check.c, compat.h, dce_pwent.c, emul/utime.h, find_path.c,
27262         getspwuid.c, getwd.c, goodpath.c, ins_2001.h, ins_classic.h,
27263         ins_csops.h, ins_goons.h, insults.h, interfaces.c, options.h,
27264         pathnames.h.in, version.h:
27265         ++version
27266         [f7ad15e1598a]
27267
27268         * sudo.pod:
27269         added -H and SUDO_PS1
27270         [bb965241e30c]
27271
27272         * configure.in:
27273         use SUDO_FUNC_FNMATCH
27274         [6a8350d85fb2]
27275
27276         * aclocal.m4:
27277         added SUDO_FUNC_FNMATCH
27278         [45b32c91c4ba]
27279
27280         * sudo.c:
27281         added -H flag
27282         [11ebc6872fd6]
27283
27284         * sudo.h:
27285         added MODE_RESET_HOME /
27286         [67a7f8bcbbd6]
27287
27288 1996-10-05  Todd C. Miller  <Todd.Miller@courtesan.com>
27289
27290         * INSTALL:
27291         mention OPIE
27292         [5723515d5bbd]
27293
27294         * options.h:
27295         SKEY -> OTP
27296         [c1d268130bc4]
27297
27298         * configure.in:
27299         added opie support
27300         [123872b41b20]
27301
27302         * compat.h, config.h.in:
27303         added HAVE_OPIE
27304         [528c71afc1e5]
27305
27306         * check.c:
27307         added HAVE_OPIE and changed to *_OTP_*
27308         [4c62f5db872a]
27309
27310         * OPTIONS:
27311         SKEY -> OTP
27312         [bd858e5e9652]
27313
27314 1996-10-04  Todd C. Miller  <Todd.Miller@courtesan.com>
27315
27316         * check.c:
27317         moved fclose() in skey stuff.
27318         [11f7dc8431a6]
27319
27320 1996-10-03  Todd C. Miller  <Todd.Miller@courtesan.com>
27321
27322         * putenv.c:
27323         index -> strchr remove unnecesary stuff
27324         [af2d05238062]
27325
27326         * check.c:
27327         now call skeychallenge() to get challenge instead of making one up
27328         ourselves. this way, we get extra goodies in the prompt.
27329         [49b770d98d3a]
27330
27331 1996-09-10  Todd C. Miller  <Todd.Miller@courtesan.com>
27332
27333         * CHANGES:
27334         added one
27335         [3f5149357e2a] [SUDO_1_5_1]
27336
27337         * parse.lex:
27338         allow logins to start with a number (YUCK!)
27339         [7ed7ef324741]
27340
27341 1996-09-08  Todd C. Miller  <Todd.Miller@courtesan.com>
27342
27343         * TROUBLESHOOTING:
27344         added soalris 2.5 vs 2.4 note
27345         [16160a251aae]
27346
27347         * configure.in:
27348         DUNIX doesn't need -lnsl
27349         [be924cc322c3]
27350
27351         * CHANGES:
27352         *** empty log message ***
27353         [1b2937521981]
27354
27355         * check.c, compat.h, config.h.in, dce_pwent.c, find_path.c,
27356         getspwuid.c, getwd.c, goodpath.c, ins_2001.h, ins_classic.h,
27357         ins_csops.h, ins_goons.h, insults.h, interfaces.c, logging.c,
27358         options.h, parse.c, parse.lex, parse.yacc, pathnames.h.in, putenv.c,
27359         strdup.c, sudo.c, sudo.h, sudo_setenv.c, testsudoers.c, tgetpass.c,
27360         utime.c, version.h, visudo.c:
27361         courtesan
27362         [5f203589bbfe]
27363
27364         * PORTING, README, RUNSON:
27365         courtesan
27366         [d72517f4937e]
27367
27368         * INSTALL, Makefile.in, TROUBLESHOOTING:
27369         courtesan
27370         [5c007e3c7a71]
27371
27372         * visudo.pod:
27373         *** empty log message ***
27374         [37ebe85bd4e1]
27375
27376         * sudo.pod, visudo.pod:
27377         courtesan
27378         [37f02e2130ea]
27379
27380 1996-09-07  Todd C. Miller  <Todd.Miller@courtesan.com>
27381
27382         * HISTORY:
27383         added courtesan ./
27384         [b01435226276]
27385
27386 1996-09-06  Todd C. Miller  <Todd.Miller@courtesan.com>
27387
27388         * sudo.c:
27389         added $SUDO_PROMPT support
27390         [cb1fa72c093d]
27391
27392 1996-09-04  Todd C. Miller  <Todd.Miller@courtesan.com>
27393
27394         * check.c:
27395         print long skey challemged to stderr, not stdout
27396         [750fc775b3b2]
27397
27398 1996-09-01  Todd C. Miller  <Todd.Miller@courtesan.com>
27399
27400         * CHANGES:
27401         updated for 1.5.1
27402         [9b615f393057]
27403
27404         * emul/utime.h:
27405         ++version
27406         [a94de18deafb]
27407
27408 1996-08-31  Todd C. Miller  <Todd.Miller@courtesan.com>
27409
27410         * RUNSON:
27411         updated for 1.5.1
27412         [4092f20ab634]
27413
27414 1996-08-30  Todd C. Miller  <Todd.Miller@courtesan.com>
27415
27416         * check.c:
27417         use shost, not host for tgetpass
27418         [6061c49ff9be]
27419
27420         * sudo.pod:
27421         documented %u and %h
27422         [6d2922d29897]
27423
27424         * OPTIONS:
27425         documented %u and %h
27426         [1a71da13a864]
27427
27428         * configure.in:
27429         fixed typo
27430         [1230dec2b062]
27431
27432         * INSTALL, Makefile.in, README, check.c, compat.h, config.h.in,
27433         dce_pwent.c, find_path.c, getspwuid.c, getwd.c, goodpath.c,
27434         ins_2001.h, ins_classic.h, ins_csops.h, ins_goons.h, insults.h,
27435         interfaces.c, logging.c, options.h, parse.c, parse.lex, parse.yacc,
27436         pathnames.h.in, putenv.c, strdup.c, sudo.c, sudo.h, sudo_setenv.c,
27437         testsudoers.c, tgetpass.c, utime.c, version.h, visudo.c:
27438         ++version
27439         [65ce8eabf77a]
27440
27441         * BUGS:
27442         ++version
27443         [afecab53aab7]
27444
27445 1996-08-29  Todd C. Miller  <Todd.Miller@courtesan.com>
27446
27447         * Makefile.in, configure.in, version.h:
27448         ++version
27449         [fb3ff940d672]
27450
27451         * sudo.h:
27452         new tgetpass() params
27453         [9eccc5b0f8ae]
27454
27455         * check.c:
27456         pass use and host to tgetpass
27457         [c56d9d13c401]
27458
27459         * tgetpass.c:
27460         added %u and %h escapes
27461         [04ae775d3e5d]
27462
27463         * OPTIONS, check.c, options.h:
27464         added NO_MESSAGE
27465         [3927dad19057]
27466
27467         * configure.in:
27468         added cray (unicos) support
27469         [1122210c5fb1]
27470
27471 1996-08-27  Todd C. Miller  <Todd.Miller@courtesan.com>
27472
27473         * OPTIONS, options.h, sudo.c:
27474         added SHELL_SETS_HOME
27475         [0b26909b0929]
27476
27477 1996-08-25  Todd C. Miller  <Todd.Miller@courtesan.com>
27478
27479         * INSTALL:
27480         added note about "make install"
27481         [7e56ea76d4b4]
27482
27483         * parse.yacc:
27484         changed length/size params from int to size_t
27485         [5654e5ceb1b3]
27486
27487         * OPTIONS:
27488         now get CSOPS insults as well by default
27489         [297323d0179a]
27490
27491         * insults.h:
27492         use csops insults too by default
27493         [07fafc136169]
27494
27495         * INSTALL, Makefile.in, README, config.h.in, configure.in, version.h:
27496         version = 1.5
27497         [4b8772b11e3b]
27498
27499         * sudo.c:
27500         added runas_homedir
27501         [b0e0d4417a15]
27502
27503         * TODO:
27504         updated for 1.5
27505         [66259df825d5]
27506
27507         * RUNSON:
27508         updated for 1.5
27509         [e08bc9ebfe95]
27510
27511         * CHANGES:
27512         1.5 release
27513         [8c16942fea41]
27514
27515         * INSTALL:
27516         added "upgrading" notes
27517         [210d968964ff]
27518
27519 1996-08-22  Todd C. Miller  <Todd.Miller@courtesan.com>
27520
27521         * visudo.c:
27522         now do chmod and chown after edit of temp file and before rename
27523         [de174e34faa7] [SUDO_1_5_0]
27524
27525 1996-08-18  Todd C. Miller  <Todd.Miller@courtesan.com>
27526
27527         * Makefile.in:
27528         ++version added INSTALL.configure
27529         [c9e9214f52ae]
27530
27531         * configure.in, version.h:
27532         ++version
27533         [5985abed3eb2]
27534
27535         * TROUBLESHOOTING:
27536         *** empty log message ***
27537         [d65c540ec52e]
27538
27539         * parse.yacc:
27540         added missing cast
27541         [e7247319a7d5]
27542
27543         * sudo.c:
27544         sets $HOME to pw_dir of runas user
27545         [d3f7f4d05752]
27546
27547         * sudo.pod:
27548         document $HOME change
27549         [854454d458c4]
27550
27551 1996-08-17  Todd C. Miller  <Todd.Miller@courtesan.com>
27552
27553         * sudo.pod:
27554         fixed up some wording
27555         [b0c8582f2c97]
27556
27557         * check.c, dce_pwent.c, find_path.c, getspwuid.c, getwd.c, goodpath.c,
27558         interfaces.c, logging.c, parse.c, parse.lex, parse.yacc, putenv.c,
27559         strdup.c, sudo.c, sudo_setenv.c, testsudoers.c, tgetpass.c, utime.c,
27560         visudo.c:
27561         ++version
27562         [748be723fd8b]
27563
27564         * compat.h, ins_2001.h, ins_classic.h, ins_csops.h, ins_goons.h,
27565         insults.h, options.h, pathnames.h.in, sudo.h:
27566         ++version
27567         [acdf8b1b2a1b]
27568
27569         * emul/utime.h:
27570         ++version
27571         [b3f35298ab8d]
27572
27573         * sudo.h:
27574         name nad type changes
27575         [db24ab3da141]
27576
27577         * testsudoers.c:
27578         now works with new sudo
27579         [379346c42cc2]
27580
27581         * parse.yacc:
27582         fixed some XXX
27583         [f5fe4c990052]
27584
27585         * parse.yacc:
27586         some variable name changes + comment headers for functions.
27587         [3dc3bd9aa73d]
27588
27589         * tgetpass.c:
27590         added extra paren's to make compilers happy
27591         [9e4968a34d56]
27592
27593         * sudo.c:
27594         *** empty log message ***
27595         [70c924c1ed69]
27596
27597         * parse.c:
27598         now uses init_parser() if not in sudoers and tries "list" or
27599         "validate" scold but don't be nasty.
27600         [c0d8fb3f8c9e]
27601
27602         * TROUBLESHOOTING:
27603         now can use upper case login names
27604         [c772fffcefe5]
27605
27606         * visudo.c:
27607         now uses init_parser()
27608         [b9efae7243fd]
27609
27610         * INSTALL, README:
27611         updated
27612         [27dc8283fdc8]
27613
27614         * PORTING:
27615         added info about PASSWORD_TIMEOUT
27616         [980e15d892f8]
27617
27618         * INSTALL.configure:
27619         Initial revision
27620         [8292e89a08d3]
27621
27622         * BUGS:
27623         fixed a bug ,
27624         [c6e46f5624f9]
27625
27626         * parse.yacc:
27627         now dynamically allocates memory for the stacks -- no more
27628         overflows!
27629         [8615c35b6ad3]
27630
27631         * sudo.pod:
27632         -l now explands command aliases
27633         [39f45605935d]
27634
27635         * parse.yacc:
27636         hacks to expand command aliases for `sudo -l'
27637         [e4eb752608f9]
27638
27639         * sudo.c:
27640         remove $ENV and $BASH_ENV (dangerous in ksh, posix sh, and bash)
27641         [01327ca5084b]
27642
27643         * sudo.h:
27644         added struct command_alias
27645         [dd2f32764082]
27646
27647         * sudo.pod:
27648         fixed a bug
27649         [e708ff08d2eb]
27650
27651         * lsearch.c:
27652         in compar() key should be first arg
27653         [fc14c3fa62ee]
27654
27655 1996-08-15  Todd C. Miller  <Todd.Miller@courtesan.com>
27656
27657         * BUGS:
27658         fixed some bugs
27659         [639dfe425bd5]
27660
27661         * parse.yacc:
27662         can now deal with upcase HOST and USER names
27663         [c6aa7bcfb00d]
27664
27665         * sudo.c:
27666         don't yell too loudly at non-sudoers if they do "sudo -l"
27667         [4ef146128d89]
27668
27669         * sudo.pod:
27670         fixed thinko
27671         [830f2f0f22e7]
27672
27673         * parse.c:
27674         fix comment
27675         [d20ce9e17ddc]
27676
27677 1996-08-09  Todd C. Miller  <Todd.Miller@courtesan.com>
27678
27679         * parse.c, parse.yacc:
27680         added support for new `sudo -l' stuff
27681         [7dceaef3c733]
27682
27683         * sudo.c:
27684         now uses list_matches()
27685         [293364821b61]
27686
27687         * sudo.h:
27688         added struct sudo_match
27689         [b2684179d179]
27690
27691         * configure.in:
27692         now more -lgnumalloc
27693         [4f8ae42617d8]
27694
27695 1996-08-01  Todd C. Miller  <Todd.Miller@courtesan.com>
27696
27697         * install-sh:
27698         added more paths for chown and whoami
27699         [6e685a19426c]
27700
27701 1996-07-31  Todd C. Miller  <Todd.Miller@courtesan.com>
27702
27703         * check.c:
27704         typo
27705         [3adfa01c04bc]
27706
27707 1996-07-30  Todd C. Miller  <Todd.Miller@courtesan.com>
27708
27709         * aclocal.m4:
27710         fixed DUNIX check for shadow pw
27711         [c25324bcd27b]
27712
27713         * tgetpass.c:
27714         now only turn off echo if it is already on. this fixes a race when
27715         you use sudo in a pipelin
27716         [28388c2de21c]
27717
27718         * INSTALL:
27719         updated
27720         [b45ac9366b7e]
27721
27722         * configure.in:
27723         changed "test -z $foo && do_this" to if; then construct
27724         [2183c4426bca]
27725
27726 1996-07-29  Todd C. Miller  <Todd.Miller@courtesan.com>
27727
27728         * configure.in:
27729         added missing defines of SHADOW_TYPE
27730         [be89ea68a7f3]
27731
27732 1996-07-26  Todd C. Miller  <Todd.Miller@courtesan.com>
27733
27734         * check.c:
27735         protect AUTH_CRYPT_OLDCRYPT and AUTH_CRYPT_C1CRYPT since they are
27736         only in dunix 4.x
27737         [1e7c1c677263]
27738
27739         * getspwuid.c:
27740         added AUTH_CRYPT_C1CRYPT support
27741         [88d6b0058b20]
27742
27743         * parse.c:
27744         no longer return VALIDATE_NOT_OK if there was a runas that didn't
27745         match. Now we can have runas stuff on more than one line.
27746         [52b68920d7b7]
27747
27748         * getspwuid.c, sudo.c, tgetpass.c:
27749         use SHADOW_TYPE instead of HAVE_C2_SECURITY
27750         [cf401dfcbc06]
27751
27752         * configure.in:
27753         got rid of HAVE_C2_SECURITY SHADOW_TYPE is always defined to
27754         something
27755         [c7a233c4dd93]
27756
27757         * config.h.in:
27758         removed HAVE_C2_SECURITY added SPW_BSD
27759         [8314405e9754]
27760
27761         * compat.h:
27762         use SHADOW_TYPE instead of HAVE_C2_SECURITY
27763         [6f94870df17f]
27764
27765         * check.c:
27766         SHADOW_TYPE is always defined so just against its value
27767         [72c69a55d02f]
27768
27769         * aclocal.m4:
27770         added SUDO_CHECK_SHADOW_DUNIX
27771         [ef025ae9d496]
27772
27773 1996-07-25  Todd C. Miller  <Todd.Miller@courtesan.com>
27774
27775         * sudoers.pod:
27776         * -> ?* in one example added another instance of (runas) and one of
27777         NOPASSWD:
27778         [d74fe1dcbe7d]
27779
27780 1996-07-24  Todd C. Miller  <Todd.Miller@courtesan.com>
27781
27782         * configure.in:
27783         added back check for config.cache from other host type
27784         [0ba87871f585]
27785
27786         * parse.lex:
27787         removed an instance of \"
27788         [1e008d3709f6]
27789
27790         * sample.sudoers:
27791         added an example
27792         [dbfcf68ee330]
27793
27794         * sudoers.pod:
27795         updated wrt new wildcard matching
27796         [193fa44a475b]
27797
27798         * configure.in:
27799         new check for shadow passwords if we don't know anything
27800         [67465df7dc9a]
27801
27802         * aclocal.m4:
27803         new SUDO_CHECK_SHADOW_GENERIC
27804         [3563b16a41b8]
27805
27806         * configure.in:
27807         added back check for -lsocket (oops)
27808         [a80882ee1cb6]
27809
27810         * configure.in:
27811         better (working) check for shadow passwd type if we know to use C2.
27812         [3cdd2a59a641]
27813
27814         * configure.in:
27815         now uses AC_CANONICAL_HOST to figure out os type
27816         [80db7fe6e704]
27817
27818         * Makefile.in:
27819         added config.{guess,sub}
27820         [c6be7e3ca384]
27821
27822         * aclocal.m4:
27823         removed unused stuff to figure out os type
27824         [c9a0f3b57123]
27825
27826         * config.sub:
27827         added openbsd
27828         [bfc6bfec3668]
27829
27830         * config.sub:
27831         Initial revision
27832         [e6e06ce0d17d]
27833
27834         * config.guess:
27835         Initial revision
27836         [99dd06f79199]
27837
27838         * testsudoers.c:
27839         don't call fnmatch() with FNM_PATHNAME flag unless it can only be a
27840         pathname. need to check against sudoers_args even if user_args is
27841         nil
27842         [66e6cf77f5d6]
27843
27844         * parse.c:
27845         don't call fnmatch() with FNM_PATHNAME flag unless it can only be a
27846         pathname need to check against sudoers_args even if user_args is nil
27847         [74374df17311]
27848
27849 1996-07-23  Todd C. Miller  <Todd.Miller@courtesan.com>
27850
27851         * check.c:
27852         added support for AUTH_CRYPT_OLDCRYPT w/ DUNIX C2
27853         [cbb00261c415]
27854
27855         * testsudoers.c:
27856         now takes command line args and uses cmnd_args
27857         [f0c2fd35a527]
27858
27859         * parse.lex:
27860         fill_args was adding an extra leading space
27861         [692fc999b2e8]
27862
27863 1996-07-22  Todd C. Miller  <Todd.Miller@courtesan.com>
27864
27865         * visudo.c:
27866         fixed dummy command_matches()
27867         [93d9543db6e2]
27868
27869         * parse.yacc:
27870         fixed prototype
27871         [7b0addfbd429]
27872
27873         * sudo.h:
27874         added cmnd_args
27875         [8f47c4ae65ef]
27876
27877         * parse.yacc:
27878         now uses flat args string
27879         [016e65877da3]
27880
27881         * parse.c, parse.lex:
27882         now uses flat arg string
27883         [5b5f2e3f4c09]
27884
27885         * visudo.c:
27886         added cmnd_args def
27887         [876867134775]
27888
27889         * sudo.c:
27890         now sets cmnd_args global
27891         [e6fee70cb59b]
27892
27893         * logging.c:
27894         cmnd_args is now exported from sudo.[ch]
27895         [7a9cd36e356f]
27896
27897 1996-07-21  Todd C. Miller  <Todd.Miller@courtesan.com>
27898
27899         * parse.yacc:
27900         can't rely on cmnd_matches as much as I thought -- added some $$
27901         stuff back in to prevent namespace pollution problems.
27902         [3c45fedb5af3]
27903
27904         * parse.yacc:
27905         Simplified parse rules wrt runas and NOPASSWD (more consistent).
27906         [e6d838c8a4c7]
27907
27908 1996-07-20  Todd C. Miller  <Todd.Miller@courtesan.com>
27909
27910         * parse.lex:
27911         NOPASSWD may now have blanks before the ':' '(' only starts a
27912         'runas' if in the initial state to avoid collision with command args
27913         [c5c01172f499]
27914
27915         * configure.in:
27916         added checks for specific shadow passwd schemes
27917         [b7e3d1f7b84f]
27918
27919         * aclocal.m4:
27920         added routines to check for specific shadow passwd types
27921         [e5e1d19960a6]
27922
27923 1996-07-18  Todd C. Miller  <Todd.Miller@courtesan.com>
27924
27925         * configure.in:
27926         added support for ncr boxen
27927         [bea9dc5aae7f]
27928
27929         * aclocal.m4:
27930         added support for detecting ncr boxen
27931         [8653a158a924]
27932
27933 1996-07-16  Todd C. Miller  <Todd.Miller@courtesan.com>
27934
27935         * configure.in:
27936         added sinix support
27937         [5de2b2173ee1]
27938
27939 1996-07-14  Todd C. Miller  <Todd.Miller@courtesan.com>
27940
27941         * TROUBLESHOOTING:
27942         added info about "config.cache from other other" error.
27943         [845b10198e0b]
27944
27945         * aclocal.m4:
27946         now makes sure you don't have a config.cache file from another OS
27947         [4fe32571c021]
27948
27949         * configure.in:
27950         now sets $LIBS when needed to configure links with libs when doing
27951         tests hpux10 now uses SPW_SECUREWARE for C2 added check for
27952         bigcrypt(3) if SPW_SECUREWARE
27953         [2df6b8ca538f]
27954
27955         * getspwuid.c:
27956         fixed typo
27957         [fe1cb1d792d6]
27958
27959         * tgetpass.c:
27960         now include stuff for SPW_SECUREWARE to get AUTH_MAX_PASSWD_LENGTH
27961         [f71138372c07]
27962
27963         * getspwuid.c:
27964         no more SPW_HPUX10
27965         [cfdeb18bc16b]
27966
27967         * config.h.in:
27968         no more SPW_HPUX10 added HAVE_BIGCRYPT
27969         [00d296479a61]
27970
27971         * compat.h:
27972         now uses AUTH_MAX_PASSWD_LENGTH if SPW_SECUREWARE
27973         [6c6d9e680417]
27974
27975         * check.c:
27976         SPW_SECUREWARE now uses bigcrypt
27977         [be71fc66690f]
27978
27979 1996-07-13  Todd C. Miller  <Todd.Miller@courtesan.com>
27980
27981         * sample.sudoers:
27982         fixed 2 syntax errors
27983         [45eee19ef4ac]
27984
27985         * sudoers:
27986         root may now run ALL as ALL
27987         [1b54c6b9b212]
27988
27989 1996-07-12  Todd C. Miller  <Todd.Miller@courtesan.com>
27990
27991         * interfaces.c:
27992         fixed a typo/thinko that broke BSD's with sa_len
27993         [603438360126]
27994
27995 1996-07-08  Todd C. Miller  <Todd.Miller@courtesan.com>
27996
27997         * check.c, configure.in:
27998         updated AFS support
27999         [e572eb8d177a]
28000
28001         * TROUBLESHOOTING:
28002         added entry about /usr/ucb/cc
28003         [025b353aa9d3]
28004
28005         * INSTALL:
28006         prep no longer holds gcc binaries
28007         [8b0942958049]
28008
28009         * INSTALL:
28010         updated AFS note
28011         [7af6efd5abe4]
28012
28013         * Makefile.in:
28014         added @AFS_LIBS@
28015         [97b6fe6ad7d6]
28016
28017         * compat.h:
28018         AFS allows long passwords
28019         [5fb17122c302]
28020
28021         * testsudoers.c:
28022         fixed -u user support
28023         [b1a0c1648639]
28024
28025         * parse.c:
28026         sudo -v now groks VALIDATE_OK_NOPASS
28027         [74fc03fffe7e]
28028
28029         * parse.yacc:
28030         fixed no_passwd vs. runas_matched
28031         [549a9b791a6a]
28032
28033         * TROUBLESHOOTING:
28034         took out stuff about NFS-mounting since it is no longer an issue
28035         [d95ab7fbbc61]
28036
28037         * INSTALL:
28038         added --with-libraries > --with-libpath --with-incpath
28039         [d5d15a7a0f4c]
28040
28041         * parse.yacc:
28042         was setting runas_matches to -1 in wrong place
28043         [db2b1deb8d33]
28044
28045         * check.c:
28046         removed usersec.h which is not present in new AFS versions
28047         [618b016dd17f]
28048
28049         * tgetpass.c:
28050         now deals with timeout <= 0
28051         [ba53a1257255]
28052
28053         * OPTIONS:
28054         updated
28055         [75093bd8fdca]
28056
28057         * configure.in:
28058         BSD/OS >= 2.0 now uses shlicc instead of just gcc
28059         [ff6dbf7825c2]
28060
28061         * sudo.c:
28062         fixed backwards compatibility with sudo 1.4 sudoers mode for root
28063         readable/writable filesystems
28064         [2694ed627221]
28065
28066         * Makefile.in:
28067         now gives INSTALL -c flag
28068         [63db055a2fd1]
28069
28070         * parse.yacc:
28071         slightly simpler initialization of no_passwd and runas_matches
28072         [463a1b5fa323]
28073
28074         * testsudoers.c:
28075         added -u username support
28076         [38b072fcd6b3]
28077
28078         * configure.in:
28079         improved --with-libraries support
28080         [047dbc5f0af2]
28081
28082 1996-07-07  Todd C. Miller  <Todd.Miller@courtesan.com>
28083
28084         * configure.in:
28085         added --with-incpath, --with-libpath, --with-libraries
28086         [20f20d6c718c]
28087
28088         * parse.yacc:
28089         now initializes some fields that weren't getting set to -1 pretty
28090         gross -- need a rewrite.
28091         [021c160390c6]
28092
28093 1996-06-26  Todd C. Miller  <Todd.Miller@courtesan.com>
28094
28095         * alloca.c:
28096         removed emacs'isms
28097         [9d4ec2efe057]
28098
28099         * configure.in:
28100         no longer add -lPW to *_LIBS since we include alloca.c
28101         [a626d1bbea80]
28102
28103         * config.h.in:
28104         added HAVE_ALLOCA_H
28105         [15491e2a6cff]
28106
28107         * Makefile.in:
28108         added alloca.c
28109         [0400f25e1fe4]
28110
28111         * alloca.c:
28112         Initial revision
28113         [06d033aa4882]
28114
28115         * configure.in:
28116         ++version
28117         [f52c0fb98f90]
28118
28119 1996-06-25  Todd C. Miller  <Todd.Miller@courtesan.com>
28120
28121         * sudo.c:
28122         now set uid to 1 instead of nobody for PERM_SUDOERS since nobody is
28123         not always set to a valid uid.
28124         [c2669f77704d]
28125
28126         * OPTIONS:
28127         fixed entry for SUDO_MODE
28128         [d7272f6035b8]
28129
28130         * sudo.c:
28131         Fixed NFS-mounted sudoers file under solaris both uid *and* gid were
28132         being set to -2. Now beat NFS to the punch and set uid to "nobody"
28133         ourselves, preserving group 0 to read sudoers.
28134         [b1fbc5dd1e34]
28135
28136         * parse.c:
28137         moved set_perms(PERM_ROOT) to be before yyparse()
28138         [7619d8080735]
28139
28140         * logging.c:
28141         fixed a typo
28142         [318acc48cde0]
28143
28144         * configure.in:
28145         no longer need AC_PROG_INSTALL
28146         [de01b1336dc8]
28147
28148         * Makefile.in:
28149         always use install-sh to avoid install(1)'s that use get{pw,gr}nam
28150         [ea2351986406]
28151
28152         * INSTALL:
28153         make clean -> make distclean
28154         [704a98e8ba10]
28155
28156 1996-06-20  Todd C. Miller  <Todd.Miller@courtesan.com>
28157
28158         * parse.yacc:
28159         removed some unnecsary if's
28160         [f00db6508132]
28161
28162         * Makefile.in, version.h:
28163         ++version
28164         [bdb6740b24c8]
28165
28166         * parse.c, testsudoers.c:
28167         now includes netgroup.h
28168         [93f5a06352bc]
28169
28170         * interfaces.c:
28171         removed cats of ioctl to int since they didn't shut up -Wall
28172         [83e9f912cd7a]
28173
28174         * interfaces.c:
28175         explicately cast ioctl() to int since it it not always declared
28176         [2ff9294e469e]
28177
28178         * sudo.h:
28179         added declarations for yyparse() and yylex()
28180         [6071321ab771]
28181
28182         * parse.yacc:
28183         fixed an occurence of '==' -> '='
28184         [2c46d2e11d57]
28185
28186         * config.h.in, configure.in:
28187         added check for netgroup.h
28188         [73403050f4e3]
28189
28190         * sudo.c:
28191         fixed 2 compiler warnings
28192         [680929b0bd97]
28193
28194         * sudo.c:
28195         SHELL_IF_NO_ARGS caused core dump since NewArg[cv] weren't being
28196         initialized
28197         [18707ecd07c2]
28198
28199 1996-06-19  Todd C. Miller  <Todd.Miller@courtesan.com>
28200
28201         * sudo.pod:
28202         fixed a typo
28203         [e4b5c12aa130]
28204
28205 1996-06-17  Todd C. Miller  <Todd.Miller@courtesan.com>
28206
28207         * parse.yacc:
28208         fixed a formatting thingie
28209         [c79327b6f19b]
28210
28211         * parse.c, parse.yacc:
28212         fixed -u support with multiple user lists on a line
28213         [e4d1066adca2]
28214
28215         * configure.in:
28216         unixware needs -lgen
28217         [b5bf9bca63cc]
28218
28219         * README:
28220         updated ftp location
28221         [b25a033f7921]
28222
28223         * sudoers.pod:
28224         add net_addr/netmask support
28225         [674e83516d1e]
28226
28227         * sample.sudoers:
28228         added net_addr/mask example
28229         [774878e89b28]
28230
28231         * parse.c, parse.lex:
28232         added support for net_addr/netmask
28233         [e33de27325d8]
28234
28235 1996-06-16  Todd C. Miller  <Todd.Miller@courtesan.com>
28236
28237         * sudoers.pod:
28238         ^ -> !
28239         [1a084950d6ef]
28240
28241 1996-06-15  Todd C. Miller  <Todd.Miller@courtesan.com>
28242
28243         * RUNSON:
28244         updated for 1.4.3
28245         [c82019025d09]
28246
28247         * CHANGES:
28248         udpated for 1.4.3
28249         [ceaa81adb8f0]
28250
28251         * BUGS, TODO, TROUBLESHOOTING:
28252         updated
28253         [ff94fae4b853]
28254
28255         * sample.sudoers:
28256         updated with examples of new stuff
28257         [99d0b4cb4c9c]
28258
28259         * INSTALL, README:
28260         ++version
28261         [b763b80fe836]
28262
28263         * sudoers.pod:
28264         updated wrt -u and NOPASSWD
28265         [0b5b722ea0f4]
28266
28267         * sudo.pod:
28268         updated wrt -u and CAVEATS
28269         [71d5d53b5d18]
28270
28271 1996-06-09  Todd C. Miller  <Todd.Miller@courtesan.com>
28272
28273         * sudo.c:
28274         fixed usage()
28275         [114c7d09b550]
28276
28277         * parse.lex:
28278         now use :foo: character classes (makes no diff for generated lexer)
28279         [7b0aeb737a02]
28280
28281 1996-06-07  Todd C. Miller  <Todd.Miller@courtesan.com>
28282
28283         * check.c:
28284         fixed LONG_SKEY_PROMPT stuff
28285         [0efe78b4bdda]
28286
28287 1996-06-06  Todd C. Miller  <Todd.Miller@courtesan.com>
28288
28289         * visudo.c:
28290         fixed a comment
28291         [3d289017104b]
28292
28293         * lsearch.c:
28294         make more like NetBSD one -- now compiles w/o warnings
28295         [932206296a54]
28296
28297         * emul/search.h:
28298         fixed decls of lsearch()
28299         [c58cf4584c45]
28300
28301         * config.h.in, configure.in, getspwuid.c:
28302         added SPW_HPUX10
28303         [d74e5eaa5f17]
28304
28305         * check.c:
28306         hpux 10 uses bigcrypt() if C2
28307         [359eb63f4021]
28308
28309 1996-06-04  Todd C. Miller  <Todd.Miller@courtesan.com>
28310
28311         * parse.c:
28312         now always uses fnmatch to match args
28313         [a9d91f35256a]
28314
28315         * tgetpass.c:
28316         back to using stdio instead of raw i/o since that caused some
28317         problems
28318         [e7ce2bc92974]
28319
28320 1996-05-29  Todd C. Miller  <Todd.Miller@courtesan.com>
28321
28322         * sudo.c:
28323         now give usage warning if use -l,-v,-k with args
28324         [6b48180c4fea]
28325
28326 1996-05-28  Todd C. Miller  <Todd.Miller@courtesan.com>
28327
28328         * sudo.c:
28329         NewArgc is now set to 1 for -l, -v, -k
28330         [7497cb1416a8]
28331
28332         * sudo.c:
28333         now sets sudoers to correct group if mode is 0400
28334         [484c43d99718]
28335
28336         * install-sh:
28337         updated to version used by inn and bind
28338         [28683ad8725a]
28339
28340         * configure.in:
28341         now uses -lgnumalloc if it exists
28342         [3651ca4415a2]
28343
28344         * Makefile.in:
28345         "make install" now sets uid/gid and mode on sudoers if it exists
28346         [1f5216191ae9]
28347
28348         * sudo.c:
28349         rmeoved debugging statements
28350         [aeda278e2c26]
28351
28352         * parse.yacc:
28353         added a missing free()
28354         [592c9482a159]
28355
28356         * sudo.c:
28357         now uses user_gid instead of getegid (which was wrong anyway) to set
28358         SUDO_GID Now sets command line args in SUDO_COMMAND envariabled
28359         (logging.c depends on args being in the environment)
28360         [9f5328a3b942]
28361
28362         * logging.c:
28363         now uses SUDO_COMMAND envariable to get command args rather than
28364         building it up again.
28365         [7f8edc5bccb7]
28366
28367         * parse.c:
28368         now uses user_gid
28369         [4b9303ae45fe]
28370
28371         * sudo.c:
28372         fixed off by one error in allocation NewArgv
28373         [921ea1a4e7c6]
28374
28375         * parse.c:
28376         in sudoers, 'command ""' now means command with no args
28377         [a5273648ace2]
28378
28379         * configure.in:
28380         added check for fnmatch(3) and fnmatch.h
28381         [258916a7866f]
28382
28383         * config.h.in:
28384         added HAVE_FNMATCH
28385         [b9860d361e93]
28386
28387         * Makefile.in:
28388         replaced wildcat.* with fnmatch.*
28389         [03ad9ee21a1c]
28390
28391         * testsudoers.c:
28392         now uses fnmatch()
28393         [5a7f7de987a9]
28394
28395 1996-05-27  Todd C. Miller  <Todd.Miller@courtesan.com>
28396
28397         * parse.c:
28398         now uses fnmatch() instead of wildmat a trailing star (*) by itself
28399         now matches multiple args added support for wildcards in the
28400         pathname in sudoers
28401         [1f7fb950b868]
28402
28403 1996-05-25  Todd C. Miller  <Todd.Miller@courtesan.com>
28404
28405         * fnmatch.c:
28406         now includes compat.h and config.h
28407         [090206b95cf8]
28408
28409         * config.h.in:
28410         added HAVE_FNMATCH_H
28411         [90eb42150173]
28412
28413         * configure.in:
28414         now checks for alloca() (if needed by bison or dce) and links with
28415         -lPW if it contains alloca() and libv and compiler do not.
28416         [cfa2b3cef49a]
28417
28418         * emul/fnmatch.h, fnmatch.3, fnmatch.c:
28419         Initial revision
28420         [20b1f762a32a]
28421
28422 1996-04-29  Todd C. Miller  <Todd.Miller@courtesan.com>
28423
28424         * sudo.c:
28425         now fixes mode on sudoers if set to 0400 to aid in upgrade
28426         [d4bdfd521820]
28427
28428 1996-04-28  Todd C. Miller  <Todd.Miller@courtesan.com>
28429
28430         * Makefile.in:
28431         fixed pod2man usage
28432         [5adf2ec77b27]
28433
28434         * Makefile.in, configure.in, version.h:
28435         ++version
28436         [b4029de876d0]
28437
28438         * testsudoers.c, visudo.c:
28439         runas_user is now initialized to "root"
28440         [8537d97bff39]
28441
28442         * sudo.h:
28443         removed PERM_FULL_ROOT
28444         [241f8bbf647f]
28445
28446         * sudo.c:
28447         runas_user defaults to "root" so no more need to PERM_RUNAS
28448         [fc0c0dfc72ba]
28449
28450         * parse.c:
28451         will now only running commands as root if there was no runas list
28452         (or if root is in the runas list)
28453         [40c587666c81]
28454
28455         * logging.c:
28456         now logs "USER=%s"
28457         [b733504c87fd]
28458
28459         * parse.yacc:
28460         runas_matches is now set to false if we get a negative match
28461         [5495b150b300]
28462
28463         * parse.lex:
28464         make #uid work + some minor cleanup
28465         [07851bbce03a]
28466
28467         * sample.sudoers:
28468         added support for NOPASSWD and "runas" from garp@opustel.com /
28469         [7a9c67b51fa5]
28470
28471         * visudo.c:
28472         added support for "runas" from garp@opustel.com replaced
28473         SUDOERS_OWNER with SUDOERS_UID, SUDOERS_GID added support for
28474         SUDOERS_MODE
28475         [e714209b9885]
28476
28477         * testsudoers.c:
28478         added support for "runas" from garp@opustel.com
28479         [b837f856da10]
28480
28481         * sudo.h:
28482         added support for NO_PASSWD and runas from garp@opustel.com replaced
28483         SUDOERS_OWNER with SUDOERS_UID and SUDOERS_GID and added support
28484         fro SUDOERS_MODE
28485         [cea6f26679b7]
28486
28487         * sudo.c:
28488         added support for NO_PASSWD and runas from garp@opustel.com replaced
28489         SUDOERS_OWNER with SUDOERS_UID and SUDOERS_GID and added support fro
28490         SUDOERS_MODE
28491         [61b5434237c5]
28492
28493         * parse.yacc:
28494         added support for NO_PASSWD and runas from garp@opustel.com
28495         [72ebd3056f22]
28496
28497         * parse.c, parse.lex:
28498         added support for NO_PASSWD and runas from garp@opustel.com
28499         [fef6dbdd114d]
28500
28501         * logging.c:
28502         added support for SUDOERS_WRONG_MODE and "runas"
28503         [e794efc2b443]
28504
28505         * configure.in:
28506         added --with-CC only link with -lshadow on linux (with shadow pw) if
28507         libc lacks getspnam()
28508         [3ecf4ae21002]
28509
28510         * OPTIONS, options.h:
28511         removed NO_PASSWD since it is not possible to do this in the sudoers
28512         file itself. Replaced SUDOERS_OWNER with SUDOERS_UID and
28513         SUDOERS_GID. Added SUDOERS_MODE.
28514         [2eaa4891ef48]
28515
28516         * Makefile.in:
28517         now uses SUDOERS_UID and SUDOERS_GID
28518         [8d615f0fdb2a]
28519
28520 1996-04-27  Todd C. Miller  <Todd.Miller@courtesan.com>
28521
28522         * INSTALL:
28523         added --with-CC
28524         [a1b8286a81b8]
28525
28526 1996-04-06  Todd C. Miller  <Todd.Miller@courtesan.com>
28527
28528         * parse.lex:
28529         added double quote support
28530         [a5e4fc7e3a2b]
28531
28532         * sudoers.pod:
28533         documented double quoting
28534         [c6ea47969a44]
28535
28536 1996-04-05  Todd C. Miller  <Todd.Miller@courtesan.com>
28537
28538         * mkinstalldirs:
28539         Initial revision
28540         [dcb86d65ad8f]
28541
28542         * check.c:
28543         fixed some indentation
28544         [4d1c5ab8072b]
28545
28546         * Makefile.in:
28547         fixed a typo
28548         [0d27eebc7227]
28549
28550         * Makefile.in:
28551         added install-dirs .
28552         [f499b99b8be7]
28553
28554 1996-04-04  Todd C. Miller  <Todd.Miller@courtesan.com>
28555
28556         * dce_pwent.c:
28557         new version from "Jeff A. Earickson" <jaearick@colby.edu>
28558         [422481be5fbd]
28559
28560 1996-04-03  Todd C. Miller  <Todd.Miller@courtesan.com>
28561
28562         * configure.in:
28563         $CSOPS -> $with_csops (whoops, missed one)
28564         [b04c6948130e]
28565
28566         * BUGS:
28567         updated
28568         [c4d5713e227d]
28569
28570         * parse.lex:
28571         FQHOST now has same constraints as non-FQHOST
28572         [e1c3bf2381d1]
28573
28574         * INSTALL:
28575         added note about OS's w/ shadow passwords turned on by default
28576         [166257f43be4]
28577
28578 1996-04-02  Todd C. Miller  <Todd.Miller@courtesan.com>
28579
28580         * configure.in:
28581         fixed a typo
28582         [e5c3e2e9a359]
28583
28584         * configure.in:
28585         added support for --without-THING sanitized shadow pw situtation by
28586         adding support for
28587         --without-C2
28588         [65dc6bf64cce]
28589
28590         * tgetpass.c:
28591         fixed a typo wrt placement of an end paren
28592         [a8780f818231]
28593
28594         * check.c:
28595         was closing an fd that may not have been opened
28596         [760271c7bdc9]
28597
28598 1996-03-22  Todd C. Miller  <Todd.Miller@courtesan.com>
28599
28600         * OPTIONS, options.h, sudo.c:
28601         added NO_PASSWD
28602         [28ff1dc93d7a]
28603
28604 1996-03-20  Todd C. Miller  <Todd.Miller@courtesan.com>
28605
28606         * configure.in:
28607         now always use shadow pw on some arches
28608         [069161ccffda]
28609
28610 1996-03-19  Todd C. Miller  <Todd.Miller@courtesan.com>
28611
28612         * configure.in:
28613         added pyramid support
28614         [a0eb57a3a531]
28615
28616         * configure.in:
28617         no longer check for C2 if alternate passwd method is used no longer
28618         check for some libs twice
28619         [2d0c3c902b40]
28620
28621         * parse.yacc:
28622         moved fqdn stuff into parse.lex (FQHOST)
28623         [d9c9abd481d8]
28624
28625         * parse.lex:
28626         added FQHOST rules
28627         [4a1695acff6d]
28628
28629         * tgetpass.c:
28630         now define TCSASOFT in necesary
28631         [3fac2e21c9ab]
28632
28633         * tgetpass.c:
28634         now uses read/write instead of stdio string goop to avoid problems
28635         with select(2)
28636         [67fd174e518c]
28637
28638         * OPTIONS, find_path.c, options.h:
28639         -DNO_DOT_PATH -> -DIGNORE_DOT_PATH
28640         [d05ba5100d28]
28641
28642 1996-03-17  Todd C. Miller  <Todd.Miller@courtesan.com>
28643
28644         * INSTALL:
28645         added note about no shadow auto-detect if using alternate auth
28646         schemes
28647         [b425592232a3]
28648
28649         * configure.in:
28650         don't check for C2 if AFS or DCE (unless they said --with-C2)
28651         [61342962171a]
28652
28653         * testsudoers.c:
28654         now groks shost
28655         [85dda17303f6]
28656
28657         * OPTIONS, find_path.c, options.h:
28658         added NO_DOT_PATH
28659         [c261ca1fb196]
28660
28661 1996-03-16  Todd C. Miller  <Todd.Miller@courtesan.com>
28662
28663         * find_path.c:
28664         checkdot now works correctly
28665         [3bc4835bb3e9]
28666
28667 1996-03-12  Todd C. Miller  <Todd.Miller@courtesan.com>
28668
28669         * configure.in:
28670         can't have DCE and C2 passwords both...
28671         [fb9a8ab7ca66]
28672
28673 1996-03-11  Todd C. Miller  <Todd.Miller@courtesan.com>
28674
28675         * parse.yacc, sudo.c, sudo.h, visudo.c:
28676         now uses shost even if not FQDN
28677         [87f7498b3a1f]
28678
28679         * configure.in:
28680         now looks for skey in /usr/lib and doesn't require libskey to be in
28681         /usr/local/lib just because skey.h is (for my netbsd box :-)
28682         [ceb1763e37d2]
28683
28684         * aclocal.m4, config.h.in, pathnames.h.in:
28685         _SUDO_PATH_ -> _CONFIG_PATH_
28686         [84d97ad13d75]
28687
28688         * aclocal.m4, sudo.pod:
28689         /var/run/.odus -> /var/run/sudo
28690         [922da220b8f5]
28691
28692         * pathnames.h.in:
28693         now uses _SUDO_PATH_TIMEDIR
28694         [5ecab0155fdf]
28695
28696         * OPTIONS:
28697         udpated FQDN
28698         [361b6f7440c0]
28699
28700         * aclocal.m4, configure.in:
28701         added SUDO_TIMEDIR
28702         [368c95c8c950]
28703
28704         * config.h.in:
28705         added _SUDO_PATH_TIMEDIR
28706         [3879864d808c]
28707
28708         * sudo.pod:
28709         updated wrt /var/run/sudo
28710         [9e14f2a429d3]
28711
28712         * sudo.c, sudo.h:
28713         added support for shost if FQDN
28714         [51a3f51a09a1]
28715
28716         * parse.yacc, visudo.c:
28717         now uses shost if FQDN
28718         [d19da2e92b42]
28719
28720         * check.c:
28721         Now use skeylookup() instead off skeychallenge()
28722         [4c7438bb2ae0]
28723
28724 1996-02-28  Todd C. Miller  <Todd.Miller@courtesan.com>
28725
28726         * logging.c:
28727         mail_argv should not contain ALERTMAIL as it includes "-t"
28728         [67ffaaa8f843]
28729
28730 1996-02-22  Todd C. Miller  <Todd.Miller@courtesan.com>
28731
28732         * INSTALL, Makefile.in, README, configure.in, version.h:
28733         ++version
28734         [e08fd4a809fc]
28735
28736         * compat.h:
28737         added more _PASSWD_LEN stuff -- now uses PASS_MAX too
28738         [2f20c3153689]
28739
28740         * tgetpass.c:
28741         now includes limits.h moved _PASSWD_LEN -> compat.h
28742         [b1ca3cafdacc]
28743
28744 1996-02-06  Todd C. Miller  <Todd.Miller@courtesan.com>
28745
28746         * INSTALL, README:
28747         ++version
28748         [3eacf32803f5]
28749
28750         * Makefile.in:
28751         ++versoin
28752         [3b91c317630a]
28753
28754         * Makefile.in:
28755         fixed a typo
28756         [3661ac4a7803]
28757
28758         * configure.in:
28759         ++version
28760         [60e842973745]
28761
28762 1996-02-05  Todd C. Miller  <Todd.Miller@courtesan.com>
28763
28764         * RUNSON:
28765         updated
28766         [def2c3c24195]
28767
28768         * CHANGES:
28769         done for 1.4.1 (I hope)
28770         [2ab543769a40]
28771
28772         * sudoers.pod:
28773         added info on wildcards
28774         [ce3bd41bc063]
28775
28776         * sample.sudoers:
28777         added wildcard example
28778         [762feb0577bd]
28779
28780         * Makefile.in:
28781         now uses *.pod to build *.man and *.cat & *.html
28782         [3ec14962028b]
28783
28784         * configure.in:
28785         addedSUDO_PROG_BSHELL !ll
28786         [3c80b320bf16]
28787
28788         * visudo.pod:
28789         fixed up some formatting
28790         [12166c434526]
28791
28792         * sudoers.pod:
28793         redid section describing sample sudoers stuff
28794         [b8065cceec71]
28795
28796         * sudo.pod:
28797         fixed some formatting
28798         [aa9a681add0f]
28799
28800         * getspwuid.c:
28801         now treats "" as bourne shell
28802         [30194a72ad56]
28803
28804         * Makefile.in:
28805         TESTOBJS nwo includes wildmat.o
28806         [86cc6500f84d]
28807
28808         * testsudoers.c:
28809         now works with NewArg[cv]
28810         [2f72674ce942]
28811
28812         * sudo.c:
28813         removed an XXX (fixed it in getspwuid.c)
28814         [e791ee0d1a68]
28815
28816         * aclocal.m4:
28817         added check for bourne shell
28818         [a2fd51676b8a]
28819
28820         * pathnames.h.in:
28821         added _PATH_BSHELL
28822         [e7c10011d47b]
28823
28824         * config.h.in:
28825         added _SUDO_PATH_BSHELL
28826         [6a1182898de9]
28827
28828 1996-02-04  Todd C. Miller  <Todd.Miller@courtesan.com>
28829
28830         * visudo.c:
28831         unixware vi returns 256 instead of 0
28832         [234ffc7c6786]
28833
28834         * INSTALL:
28835         added Linux note
28836         [5f85efcd2b58]
28837
28838         * logging.c:
28839         fixed up some XXX's. file log format now looks a little more like
28840         real syslog(3) format.
28841         [6df55707bfc3]
28842
28843         * README, TROUBLESHOOTING:
28844         updated wrt lex/flex
28845         [eb787d69156b]
28846
28847         * Makefile.in:
28848         commented out rule to build lex.yy.c from parse.lex since we ship
28849         with a pre-flex'd parser
28850         [7507e2ce4a95]
28851
28852         * parse.c, parse.yacc, visudo.c:
28853         path_matches -> command_matches
28854         [0bd469424f86]
28855
28856         * logging.c:
28857         eliminated some strcat()'s
28858         [9878a79bc374]
28859
28860         * configure.in:
28861         no longer checks for lex/flex (now assumes flex)
28862         [a086ccc73798]
28863
28864         * configure.in:
28865         now checks for $kerb_dir_candidate/krb.h instead of just
28866         kerb_dir_candidate
28867         [9133bc3c5208]
28868
28869 1996-02-03  Todd C. Miller  <Todd.Miller@courtesan.com>
28870
28871         * parse.yacc:
28872         now use a 'hook' expression instead of an iffy one :-)
28873         [9560df01b8c0]
28874
28875 1996-02-02  Todd C. Miller  <Todd.Miller@courtesan.com>
28876
28877         * visudo.c:
28878         now works with new sudo arg stuff
28879         [310a0d43ddad]
28880
28881         * parse.yacc:
28882         fixed dereferencing deadbeef
28883         [474ef8a8006b]
28884
28885         * sudo.c:
28886         changed an occurrence of Argv to NewArgv
28887         [205b012b7691]
28888
28889         * parse.lex:
28890         took out support for quoted commands since there is no need...
28891         [5c5036d353b1]
28892
28893         * parse.c:
28894         fixed a typo in a for() loop
28895         [7e8d5283c43b]
28896
28897         * logging.c:
28898         protected against dereferencing rogue pointers
28899         [56debd517717]
28900
28901         * sudo.c:
28902         now uses NewArgv amd NewArgc so cmnd_aegs is no longer needed this
28903         also allows us to eliminate some kludges in parse_args() and
28904         eliminate superfluous code.
28905         [5122f66ad150]
28906
28907         * logging.c:
28908         no longer uses cmnd_args, now uses NewArgv instead.
28909         [abddd23cf068]
28910
28911         * sudo.h:
28912         added struct sudo_command, NewArgc, and NewArgv removed cmnd_args
28913         (no longer used)
28914         [78410984fb05]
28915
28916         * Makefile.in:
28917         added wildmat.c to SRCS & SUDOBJS
28918         [3800efb41794]
28919
28920         * parse.yacc:
28921         COMMAND is now a struct containing the path and args
28922         [5c32822c5b94]
28923
28924         * parse.lex:
28925         replaced append() with fill_cmnd() and fill_args. command args from
28926         a sudoers entry are now stored in an arrary for easy matching.
28927         [a981d7f4eb0d]
28928
28929         * parse.c:
28930         command line args from sudoers file are now in an array like ones
28931         passed in from the command line
28932         [1d9e37e84519]
28933
28934 1996-02-01  Todd C. Miller  <Todd.Miller@courtesan.com>
28935
28936         * parse.c:
28937         wildwat stuff now works
28938         [49d16488531f]
28939
28940 1996-01-29  Todd C. Miller  <Todd.Miller@courtesan.com>
28941
28942         * version.h:
28943         ++version
28944         [53e55463ef89]
28945
28946         * Makefile.in:
28947         ++version added wildmat.*
28948         [0508297a4711]
28949
28950 1996-01-28  Todd C. Miller  <Todd.Miller@courtesan.com>
28951
28952         * parse.lex:
28953         added support for quoted commands (w/ or w/o args)
28954         [b9a637155673]
28955
28956 1996-01-22  Todd C. Miller  <Todd.Miller@courtesan.com>
28957
28958         * sudo.pod, visudo.pod:
28959         cleaned up formatting
28960         [4591d4195437]
28961
28962         * sudo.pod, visudo.pod:
28963         Initial revision
28964         [7564a8242750]
28965
28966 1996-01-21  Todd C. Miller  <Todd.Miller@courtesan.com>
28967
28968         * sudoers.pod:
28969         looks reasonable, could be mroe readable
28970         [a5be2d19d9e0]
28971
28972         * sudoers.pod:
28973         Initial revision
28974         [957888be31a6]
28975
28976 1996-01-16  Todd C. Miller  <Todd.Miller@courtesan.com>
28977
28978         * RUNSON:
28979         updated
28980         [633743aa924b]
28981
28982         * OPTIONS:
28983         updated NO_ROOT_SUDO entry
28984         [f1c15b1dec9e]
28985
28986 1996-01-15  Todd C. Miller  <Todd.Miller@courtesan.com>
28987
28988         * RUNSON:
28989         *** empty log message ***
28990         [5b63de579ff7] [SUDO_1_4_0]
28991
28992         * sudo.c:
28993         fixed SECURE_PATH
28994         [6002889f606d]
28995
28996         * RUNSON:
28997         udpa`ted for 1.4
28998         [6014a8592815]
28999
29000         * configure.in:
29001         AIX aixcrypt.exp now uses $(srcdir)
29002         [b0d57674fef4]
29003
29004         * TROUBLESHOOTING:
29005         added entry for anal ansi compilers
29006         [4193cec1c6b1]
29007
29008 1996-01-14  Todd C. Miller  <Todd.Miller@courtesan.com>
29009
29010         * INSTALL:
29011         added info on libcrypt_i for SCO
29012         [575497d56698]
29013
29014         * TODO:
29015         *** empty log message ***
29016         [d0aaf67b9913]
29017
29018         * sample.sudoers:
29019         added comments
29020         [a7773f7eda8d]
29021
29022         * TODO:
29023         1.4 release
29024         [1dade29e9fd9]
29025
29026         * CHANGES:
29027         ++version
29028         [67241be40780]
29029
29030         * INSTALL, OPTIONS, README, config.h.in, configure.in:
29031         ++version
29032         [2e0a37897f68]
29033
29034         * BUGS:
29035         ++version and fixed ISC
29036         [78963f01a0e3]
29037
29038         * check.c, compat.h, dce_pwent.c, find_path.c, getspwuid.c, getwd.c,
29039         goodpath.c, ins_2001.h, ins_classic.h, ins_csops.h, ins_goons.h,
29040         insults.h, logging.c, options.h, pathnames.h.in, putenv.c, strdup.c,
29041         sudo.c, sudo.h, sudo_setenv.c, testsudoers.c, tgetpass.c, utime.c,
29042         visudo.c:
29043         ++version
29044         [b6227f29b3d9]
29045
29046         * interfaces.c:
29047         added STUB_LOAD_INTERFACES ++version
29048         [d8150a3fd577]
29049
29050         * Makefile.in, emul/utime.h, parse.c, parse.lex, parse.yacc,
29051         version.h:
29052         ++version
29053         [da9e90e69bdc]
29054
29055         * PORTING:
29056         added info about fd_set in tgetpass added info on interfaces.c
29057         [a39902febd17]
29058
29059 1996-01-11  Todd C. Miller  <Todd.Miller@courtesan.com>
29060
29061         * dce_pwent.c:
29062         added sudo header
29063         [fc0f2c48682e]
29064
29065         * tgetpass.c:
29066         fixed a typo
29067         [43d40b72ee8f]
29068
29069         * Makefile.in:
29070         tgetpass.o is now only linked in with sudo (not visudo)
29071         [7407c5ff11f8]
29072
29073 1996-01-09  Todd C. Miller  <Todd.Miller@courtesan.com>
29074
29075         * BUGS, INSTALL, Makefile.in, OPTIONS, README, config.h.in,
29076         configure.in:
29077         ++version
29078         [9b82ad805d6b]
29079
29080         * emul/utime.h:
29081         added copyright notice
29082         [4380f16cd075]
29083
29084         * check.c, compat.h, find_path.c, getspwuid.c, getwd.c, goodpath.c,
29085         ins_2001.h, ins_classic.h, ins_csops.h, ins_goons.h, insults.h,
29086         interfaces.c, logging.c, options.h, parse.c, parse.lex, parse.yacc,
29087         pathnames.h.in, putenv.c, strdup.c, sudo.c, sudo.h, sudo_setenv.c,
29088         testsudoers.c, tgetpass.c, utime.c, version.h, visudo.c:
29089         ++version
29090         [32717fdb5d05]
29091
29092         * tgetpass.c:
29093         minor cleanup and now includes sys/bsdtypes for svr4'ish boxen
29094         [326864428da2]
29095
29096         * configure.in:
29097         ISC now gets -lcrypt now check for sys/bsdtypes.h
29098         [e064799c054b]
29099
29100         * config.h.in:
29101         added check for sys/bsdtypes.h
29102         [9adb9533c363]
29103
29104 1996-01-07  Todd C. Miller  <Todd.Miller@courtesan.com>
29105
29106         * parse.yacc:
29107         removed debugging stuff (setting freed ptr to NULL)
29108         [02fe8eec63a0]
29109
29110         * TROUBLESHOOTING:
29111         added 2 entries
29112         [02884e2733e2]
29113
29114         * Makefile.in:
29115         added FAQ
29116         [074d8dfcf28d]
29117
29118         * TROUBLESHOOTING:
29119         added section on syslog
29120         [e6bc02a22b86]
29121
29122         * configure.in:
29123         added AC_ISC_POSIX for better ISC support
29124         [8436b3e12af2]
29125
29126         * config.h.in:
29127         fixed typo
29128         [f1b3922babf4]
29129
29130         * config.h.in:
29131         added define for _POSIX_SOURCE
29132         [ded6d92b34f9]
29133
29134 1996-01-04  Todd C. Miller  <Todd.Miller@courtesan.com>
29135
29136         * configure.in:
29137         fixed check for lsearch()
29138         [75baa5bc28a3]
29139
29140 1995-12-22  Todd C. Miller  <Todd.Miller@courtesan.com>
29141
29142         * interfaces.c:
29143         fixed for AIX now deal if num_interfaces == 0 (should not happen)
29144         [ae450e859227]
29145
29146 1995-12-20  Todd C. Miller  <Todd.Miller@courtesan.com>
29147
29148         * configure.in:
29149         now only define HAVE_LSEARCH if there is a corresponding search.h
29150         [8ce645c5d17f]
29151
29152         * interfaces.c:
29153         works on ISC again
29154         [ccac920d424c]
29155
29156 1995-12-18  Todd C. Miller  <Todd.Miller@courtesan.com>
29157
29158         * configure.in:
29159         now define HAVE_LSEARCH if we find lsearch() in libcompat
29160         [7343e4313a87]
29161
29162         * lsearch.c:
29163         char * -> const char *
29164         [1c0b11c2300a]
29165
29166         * configure.in:
29167         now looks in -lcompat for lsearch()
29168         [a1cc1d6fcd09]
29169
29170         * Makefile.in:
29171         remove sudo.core visudo.core for clan target
29172         [b523456a85df]
29173
29174         * aclocal.m4:
29175         added UID_MAX support in check for MAX_UID_T_LEN
29176         [7ab262b1173f]
29177
29178         * Makefile.in:
29179         fixed another occurence of sudo_getpwuid.*
29180         [fb5809c07da2]
29181
29182         * Makefile.in, getspwuid.c:
29183         sudo_getpwuid.c -> getspwuid.c
29184         [875f2ef808b4]
29185
29186         * configure.in:
29187         moved the "echo"
29188         [ad7b8f966076]
29189
29190         * BUGS, CHANGES, INSTALL, Makefile.in, OPTIONS, README, check.c,
29191         compat.h, config.h.in, configure.in, find_path.c, getspwuid.c,
29192         getwd.c, goodpath.c, ins_2001.h, ins_classic.h, ins_csops.h,
29193         ins_goons.h, insults.h, interfaces.c, logging.c, options.h, parse.c,
29194         parse.lex, parse.yacc, pathnames.h.in, putenv.c, strdup.c, sudo.c,
29195         sudo.h, sudo_setenv.c, testsudoers.c, tgetpass.c, utime.c,
29196         version.h, visudo.c:
29197         ++version
29198         [ee57c6410ffa]
29199
29200         * testsudoers.c:
29201         added group support
29202         [54d8097df8bd]
29203
29204         * sample.sudoers:
29205         added group entry
29206         [50994d31fd49]
29207
29208         * sudoers.man:
29209         documented group support
29210         [0a16707f8fed]
29211
29212         * parse.c, parse.lex, parse.yacc, visudo.c:
29213         added group support
29214         [427218c879c8]
29215
29216 1995-12-15  Todd C. Miller  <Todd.Miller@courtesan.com>
29217
29218         * check.c:
29219         tkfile was too short and overflowed the kerberos realm
29220         [53823a1ff5af]
29221
29222 1995-12-11  Todd C. Miller  <Todd.Miller@courtesan.com>
29223
29224         * sudo.c:
29225         now copy command args directly from Argv
29226         [77408278b6fd]
29227
29228         * sudo.c:
29229         replaced code to copy cmnd_args so that is does not use realloc
29230         since most realloc()'s really stink
29231         [b29a0ff73fb6]
29232
29233 1995-12-08  Todd C. Miller  <Todd.Miller@courtesan.com>
29234
29235         * configure.in:
29236         syslog() fixed in hpux 10.01
29237         [2648e6f0cdb0]
29238
29239 1995-12-06  Todd C. Miller  <Todd.Miller@courtesan.com>
29240
29241         * configure.in:
29242         AC_CHECK_LIB() now sets SUDO_LIBS (and VISUDO_LIBS if appropriate)
29243         [8f108b8d8711]
29244
29245         * configure.in:
29246         better error if cannot find skey incs or libs
29247         [5887662ee9d3]
29248
29249         * aclocal.m4:
29250         now use a temp file for determining max len of uid_t in string form.
29251         the old hacky way broke on netbsd
29252         [b68f470fa9f8]
29253
29254         * sudo.c:
29255         added set of parens and a space
29256         [8a3d4826d022]
29257
29258 1995-12-05  Todd C. Miller  <Todd.Miller@courtesan.com>
29259
29260         * dce_pwent.c:
29261         fixes from Jeff Earickson <jaearick@colby.edu> ,
29262         [bde0f0b756ec]
29263
29264         * check.c:
29265         modified a comment
29266         [e2a97f1afbbe]
29267
29268         * Makefile.in:
29269         fixed up testsudoers target
29270         [d39c4e7bb609]
29271
29272         * configure.in:
29273         DCE changes from Jeff Earickson <jaearick@colby.edu> LIBS ->
29274         SUDO_LIBS and VISUDO_LIBS LDFLAGS -> SUDO_FDFLAGS and VISUDO_LDFLAGS
29275         [da7a1c433828]
29276
29277         * Makefile.in:
29278         LIBS -> SUDO_LIBS , VISUDO_LIBS LDFLAGS -> SUDO_LDFLAGS,
29279         VISUDO_LDFLAGS
29280         [4b69503e8487]
29281
29282 1995-11-28  Todd C. Miller  <Todd.Miller@courtesan.com>
29283
29284         * configure.in:
29285         fix for C2 on hpux 10 now uses -linet if it exists
29286         [8d300112263d]
29287
29288         * check.c:
29289         LONG_SKEY_PROMPT is less of a klusge /
29290         [dcc144abaac3]
29291
29292         * configure.in:
29293         fixed typos w/ dce stuff
29294         [f7dfd6d4e149]
29295
29296         * Makefile.in:
29297         added dce_pwent.c
29298         [79047acdc516]
29299
29300 1995-11-26  Todd C. Miller  <Todd.Miller@courtesan.com>
29301
29302         * INSTALL:
29303         amended section on combining authentication mechanisms
29304         [dc5138c7c716]
29305
29306         * PORTING:
29307         minor updates for 1.3.6
29308         [fe80c13bd994]
29309
29310         * TROUBLESHOOTING:
29311         added 2 more entries
29312         [c7201439a0f5]
29313
29314         * BUGS:
29315         updated for 1.3.6
29316         [979b414d2a2d]
29317
29318         * README:
29319         overhauled
29320         [3af8b60eb594]
29321
29322         * INSTALL:
29323         rewrote for sudo 1.3.6
29324         [b16027b9c726]
29325
29326         * TROUBLESHOOTING:
29327         added 3 entries
29328         [934c9ee3f153]
29329
29330 1995-11-25  Todd C. Miller  <Todd.Miller@courtesan.com>
29331
29332         * find_path.c, getspwuid.c, sudo.c:
29333         added explict casts for strdup since many includes don't prototype
29334         it. gag me.
29335         [3e19a11f2fcc]
29336
29337         * sudo.h:
29338         removed prototype for sudo_getpwuid() since convex C compiler choked
29339         on it.
29340         [c3ea74ca67b0]
29341
29342         * sudo.c:
29343         added prototype for sudo_getpwuid()
29344         [4a8e3cdc2b98]
29345
29346         * lsearch.c:
29347         now compiles on strict ANSI compilers
29348         [3ce5d72d0b08]
29349
29350         * check.c:
29351         added LONG_SKEY_PROMPT support
29352         [48a18b8a2332]
29353
29354         * Makefile.in:
29355         added extra $'s for make to eat up, yum.
29356         [2995b214e12b]
29357
29358         * OPTIONS, options.h:
29359         added LONG_SKEY_PROMPT
29360         [f23ae799b5a4]
29361
29362 1995-11-24  Todd C. Miller  <Todd.Miller@courtesan.com>
29363
29364         * check.c:
29365         s/key support now works with normal s/key as well as logdaemon
29366         [d67573f523bf]
29367
29368         * OPTIONS, options.h:
29369         added SKEY_ONLY
29370         [bbf07654e0de]
29371
29372         * compat.h:
29373         set _PASSWD_LEN to 256 for any of KERB4, DCE, SKEY
29374         [205895b96a36]
29375
29376         * INSTALL:
29377         added DCE note added more AIX notes
29378         [6345403b3522]
29379
29380         * sudo.c:
29381         now include pthread.h for DCE support
29382         [6fe02865f679]
29383
29384         * check.c:
29385         dce_pwent() is ok after all .,
29386         [d26a8746a55d]
29387
29388         * logging.c:
29389         now uses SYSLOG() macro that equates to either syslog() or
29390         syslog_wrapper
29391         [42ac4cff8045]
29392
29393         * dce_pwent.c:
29394         minor formatting changes. renamed check() to somthing less generic
29395         [71859f217be1]
29396
29397         * check.c, logging.c, parse.yacc, sudo.c, sudo.h, testsudoers.c,
29398         visudo.c:
29399         now uses user_pw_ent and simple macros to get at the contents
29400         [f4cbf3e7145a]
29401
29402 1995-11-23  Todd C. Miller  <Todd.Miller@courtesan.com>
29403
29404         * check.c:
29405         simpler dec unix C2 support
29406         [86bc8f75250e]
29407
29408         * getspwuid.c:
29409         now sets crypt_type for DEC unix C2
29410         [99aeadd18266]
29411
29412 1995-11-21  Todd C. Miller  <Todd.Miller@courtesan.com>
29413
29414         * configure.in:
29415         added csops paths for skey
29416         [b8ca672e2117]
29417
29418         * getspwuid.c:
29419         now includes string.h for strdup() prototype
29420         [3605259c3620]
29421
29422         * getspwuid.c:
29423         fixed a few typos
29424         [46c97e4ea417]
29425
29426         * check.c:
29427         now includes skey.h
29428         [11e611ce1b61]
29429
29430         * getspwuid.c:
29431         fixed up comments
29432         [223dac56f0c8]
29433
29434         * check.c:
29435         moved a lot of the shadow passwd crap to sudo_getpwuid()
29436         [97d8887fb7d3]
29437
29438         * sudo.c:
29439         now uses sudo_pw_ent
29440         [d014dadbef48]
29441
29442         * testsudoers.c:
29443         now uses sudo_pw_ent
29444         [d92936ed7e34]
29445
29446         * visudo.c:
29447         now sets sudo_pw_ent
29448         [ff75cdfcf8b3]
29449
29450         * getspwuid.c:
29451         Initial revision
29452         [6deb6df9d7bc]
29453
29454         * tgetpass.c:
29455         moved dce stuff into compat.h
29456         [1124284396e7]
29457
29458         * logging.c, sudo.h:
29459         now uses sudo_pw_ent
29460         [404ff20a5067]
29461
29462         * Makefile.in:
29463         added sudo_getpwuid.c
29464         [6666d0644512]
29465
29466         * compat.h:
29467         added dce support
29468         [3c3b36a7ce0e]
29469
29470         * parse.yacc:
29471         now uses sudo_pw_ent
29472         [9f5e8d11bd68]
29473
29474 1995-11-20  Todd C. Miller  <Todd.Miller@courtesan.com>
29475
29476         * check.c:
29477         fixed exempt_group stuff for OS's that don't put base gid in group
29478         vector
29479         [003f153bd396]
29480
29481         * check.c:
29482         S/Key support now works with sunos4 shadow passwords
29483         [1eb64a5efff1]
29484
29485         * Makefile.in:
29486         fixed clean rule
29487         [5695a2c62816]
29488
29489         * config.h.in, configure.in:
29490         added DCE support
29491         [f53c766c1947]
29492
29493         * tgetpass.c:
29494         DCE & KERB support
29495         [904cf436506a]
29496
29497         * check.c:
29498         first stab at dce support
29499         [aea5ca07b1e3]
29500
29501         * dce_pwent.c:
29502         now smells like sudo
29503         [8b3d609b49cd]
29504
29505         * dce_pwent.c:
29506         Initial revision
29507         [b573555f2399]
29508
29509         * check.c:
29510         skey'd sudo now works w/ normal password as well
29511         [8d038f9f6e94]
29512
29513 1995-11-19  Todd C. Miller  <Todd.Miller@courtesan.com>
29514
29515         * Makefile.in, OPTIONS, check.c, compat.h, config.h.in, find_path.c,
29516         getwd.c, goodpath.c, ins_2001.h, ins_classic.h, ins_csops.h,
29517         ins_goons.h, insults.h, interfaces.c, logging.c, options.h, parse.c,
29518         parse.lex, parse.yacc, pathnames.h.in, putenv.c, strdup.c, sudo.c,
29519         sudo.h, sudo_setenv.c, testsudoers.c, tgetpass.c, utime.c,
29520         version.h, visudo.c:
29521         updated version number
29522         [ba7e346d7904]
29523
29524         * README:
29525         updated to reflect version change
29526         [1d15cf1d8cc8]
29527
29528         * configure.in:
29529         --with options now line up ++version
29530         [08ebf625fbca]
29531
29532         * sudo.h:
29533         removed unecesary S/Key stuff
29534         [68188cba90af]
29535
29536         * configure.in:
29537         fixed S/Key support
29538         [f6d9cbc36618]
29539
29540         * Makefile.in:
29541         -I stuff now goes in CPPFLAGS
29542         [7b8e53c5b046]
29543
29544         * check.c:
29545         fixed SKey support
29546         [52c1a5cf4435]
29547
29548         * README:
29549         updated version
29550         [bed6498a10bb]
29551
29552         * OPTIONS:
29553         fixed description of EXEMPTGROUP
29554         [cfeead55edc2]
29555
29556         * sudo.c:
29557         more people use _RLD_ than just alphas...
29558         [6a3c7090a6f6]
29559
29560         * Makefile.in:
29561         replaced $man_prefix with $mandir
29562         [dc4b36a550e2]
29563
29564         * configure.in:
29565         fixed a typo
29566         [a38a4acddcaf]
29567
29568         * Makefile.in:
29569         now use more GNU'ish dir names
29570         [c5498391a520]
29571
29572         * configure.in:
29573         now set *dir correctly (can override from command line)
29574         [523ff98fd438]
29575
29576         * sudo.c:
29577         now deal with situations where we getwd() fails
29578         [88a9e61dccbb]
29579
29580 1995-11-17  Todd C. Miller  <Todd.Miller@courtesan.com>
29581
29582         * Makefile.in:
29583         added etc_dir, bin_dir, sbin_dir
29584         [75fd08d92842]
29585
29586         * configure.in:
29587         added sbin_dir
29588         [3cb318c0d8d1]
29589
29590         * Makefile.in:
29591         now ship a flex-generated lex.yy.c
29592         [4d083ed70dce]
29593
29594         * Makefile.in:
29595         now sets _PATH_SUDO_SUDOERS, _PATH_SUDO_STMP, SUDOERS_OWNER
29596         [4d51dc9c3780]
29597
29598         * pathnames.h.in:
29599         _PATH_SUDO_SUDOERS & _PATH_SUDO_STMP are now overridden via Makefile
29600         [773fd163d52f]
29601
29602         * options.h:
29603         no more error for redefining SUDOERS_OWNER
29604         [4ba336644c6a]
29605
29606         * OPTIONS:
29607         expanded SUDOERS_OWNER section
29608         [12fae405759e]
29609
29610 1995-11-16  Todd C. Miller  <Todd.Miller@courtesan.com>
29611
29612         * visudo.c:
29613         now warn if chown(2) failed
29614         [d0d1db6e3a1f]
29615
29616         * logging.c:
29617         better default warning for NO_SUDOERS_FILE
29618         [5260b458ac64]
29619
29620         * sudo.c:
29621         added missing set_perms() no more cryptic message if the sudoers
29622         file is zero length, now just give a parse error
29623         [b81ea724838a]
29624
29625         * logging.c:
29626         better diagnostics if NO_SUDOERS_FILE
29627         [877e878663c5]
29628
29629         * sudo.c:
29630         check_sudoers() now catches sudoers files that are not readable (but
29631         are stat'able).
29632         [fea05663b3de]
29633
29634 1995-11-13  Todd C. Miller  <Todd.Miller@courtesan.com>
29635
29636         * configure.in:
29637         now add -D__STDC__ for convex cc (not gcc)
29638         [c80fc53ff51b]
29639
29640         * configure.in:
29641         MAN_PREFIX -> man_prefix now sets prefix and exec_prefix
29642         [fe238226a057]
29643
29644         * Makefile.in:
29645         now uses exec_prefix & prefix from configure
29646         [f62fca5f56bd]
29647
29648         * find_path.c, getwd.c, goodpath.c, interfaces.c, logging.c, parse.c,
29649         parse.lex, parse.yacc, sudo.c, sudo.h, sudo_setenv.c, tgetpass.c,
29650         utime.c, visudo.c:
29651         options.h is now <> instead of "" so shadow build trees can have a
29652         custom copy of options.h
29653         [e6782676099c]
29654
29655         * check.c:
29656         user_is_exempt() is no longer a hack, it now uses getgrnam()
29657         [287f8d5356f7]
29658
29659         * options.h:
29660         EXEMPTGROUP is now "sudo"
29661         [61487304dbe1]
29662
29663         * configure.in:
29664         MAN_POSTINSTALL now contains a leading space
29665         [eaad4ac34012]
29666
29667         * Makefile.in:
29668         removed leading tab if @MAN_POSTINSTALL@ not defined now removes
29669         testsudoers in clean:
29670         [e01711baceb8]
29671
29672         * tgetpass.c:
29673         includes pwd.h to get _PASSWD_LEN definition
29674         [8ec174f263f1]
29675
29676 1995-10-30  Todd C. Miller  <Todd.Miller@courtesan.com>
29677
29678         * sudo.c:
29679         unset the KRB_CONF envariable if using kerberos so we don't get
29680         spoofed into using a bogus server
29681         [2561a0274fca]
29682
29683 1995-09-29  Todd C. Miller  <Todd.Miller@courtesan.com>
29684
29685         * parse.yacc:
29686         now explicately initialize match[] tp be FALSE
29687         [0e45e5c47766]
29688
29689 1995-09-23  Todd C. Miller  <Todd.Miller@courtesan.com>
29690
29691         * sudo.c:
29692         removed unused variable now passes -Wall
29693         [3452508bc16d]
29694
29695         * parse.yacc:
29696         yyerror and dumpaliases are now void's now passes -Wall
29697         [2769dfb51993]
29698
29699         * parse.lex:
29700         added prototype for yyerror
29701         [1f3f0c1b4ab4]
29702
29703         * check.c, logging.c, parse.c:
29704         now passes -Wall
29705         [eab57e5e81d2]
29706
29707         * interfaces.c:
29708         rmeoved unused cruft now passes -Wall
29709         [7a47e1866f4b]
29710
29711         * Makefile.in:
29712         fixed headers that moved to emul dir
29713         [e680c1e5049b]
29714
29715         * logging.c:
29716         fixed deref of nil pointer if no args
29717         [973b9bea432f]
29718
29719 1995-09-15  Todd C. Miller  <Todd.Miller@courtesan.com>
29720
29721         * OPTIONS:
29722         added a caveat to FQDN section
29723         [dcf6e2a5fff4]
29724
29725 1995-09-13  Todd C. Miller  <Todd.Miller@courtesan.com>
29726
29727         * Makefile.in:
29728         more $srcdir support for install targets
29729         [f6eac78436dd]
29730
29731         * find_path.c, interfaces.c, parse.c, parse.lex, parse.yacc, putenv.c,
29732         strdup.c, sudo.c, sudo_setenv.c, testsudoers.c, visudo.c:
29733         don't include malloc.h if we include stdlib.h
29734         [fca2ff307cd8]
29735
29736         * parse.yacc:
29737         local search.h now lives in emul
29738         [51c458904424]
29739
29740         * check.c, utime.c:
29741         local utime.h now lives in emul dir
29742         [f92fc9e8c8de]
29743
29744         * lsearch.c:
29745         local search.h now lives in emul
29746         [579efc407439]
29747
29748         * Makefile.in:
29749         added support for building in other than the sourcedir
29750         [2ab53a43f7d4]
29751
29752 1995-09-10  Todd C. Miller  <Todd.Miller@courtesan.com>
29753
29754         * OPTIONS:
29755         annotated CSOPS_INSULTS option
29756         [9e57d45a0afa]
29757
29758         * TROUBLESHOOTING:
29759         updated shadow passwords blurb
29760         [39b785bc7253]
29761
29762         * sudo.c:
29763         if SHELL_IF_NO_ARGS is set, "sudo -- foo" now runs a shell and
29764         passes along foo as the arguments
29765         [a91077aa8fc5]
29766
29767 1995-09-09  Todd C. Miller  <Todd.Miller@courtesan.com>
29768
29769         * parse.lex:
29770         collapsed pathname and dir sections into one -- its now less
29771         expensive
29772         [89caa03bec25]
29773
29774         * parse.lex:
29775         fixed spacing quoting [,:\\=] now works correctly append() and
29776         fill() now take args to make the above work
29777         [09d023d9ef3a]
29778
29779         * sudo.c:
29780         fixed a typo that caused commands with no tty on fd 0 but a tty on
29781         fd 1 to erroneously have "none" as their tty
29782         [07d2c0e7977c]
29783
29784 1995-09-04  Todd C. Miller  <Todd.Miller@courtesan.com>
29785
29786         * check.c:
29787         timestampfile is now a global static removed decl of timestampfile
29788         in remove_timestamp since we can just use the global one
29789         [f0cbdc6aab1c]
29790
29791         * check.c:
29792         created touch() to update timestamps added USE_TTY_TICKETS support
29793         (bit of a kludge)
29794         [cee1dd0318f8]
29795
29796         * compat.h:
29797         added _S_IFDIR and S_ISDIR
29798         [b4a51cc9628e]
29799
29800         * OPTIONS, options.h:
29801         added USE_TTY_TICKETS
29802         [b4e22f81f25e]
29803
29804         * parse.yacc:
29805         removed const from casts for lsearch() & lfind() to placate irix 4.x
29806         C compiler
29807         [5003081f76ea]
29808
29809 1995-09-03  Todd C. Miller  <Todd.Miller@courtesan.com>
29810
29811         * sudo.c:
29812         now only strip '/dev/' off of a tty if it starts with '/dev/'
29813         [7f62bcd24039]
29814
29815         * pathnames.h.in:
29816         added _PATH_DEV
29817         [6375f44d1910]
29818
29819         * configure.in:
29820         AC_HAVE_HEADERS -> AC_CHECK_HEADERS now check for tcgetattr only if
29821         have termios.h
29822         [9c60391235fd]
29823
29824         * tgetpass.c:
29825         fixed incorrect #ifdef termio uses "unsigned short" not int for
29826         c_?flag
29827         [d032e6a29845]
29828
29829         * parse.lex, parse.yacc:
29830         fixed a spelling error
29831         [cad6a944c7b1]
29832
29833         * Makefile.in:
29834         fixed typo
29835         [204a65403e7c]
29836
29837 1995-09-02  Todd C. Miller  <Todd.Miller@courtesan.com>
29838
29839         * Makefile.in:
29840         fixed a comment
29841         [268f760e57ad]
29842
29843         * parse.yacc:
29844         added dotcat() to cat 2 strings w/ a dot effeciently now that we
29845         dynamically allocate strings they need to be free()'d
29846         [ec2e2152f415]
29847
29848         * parse.lex:
29849         dynamically allocates space for strings
29850         [d10ac3533d66]
29851
29852         * sudo.h:
29853         no more MAXCOMMANDLENGTH
29854         [e2e1219bff8a]
29855
29856         * sudo.h:
29857         added decl of tty
29858         [c8ae81303ee5]
29859
29860         * logging.c, sudo.c:
29861         moved tty stuff into sudo.c
29862         [e028abefeb07]
29863
29864 1995-09-01  Todd C. Miller  <Todd.Miller@courtesan.com>
29865
29866         * parse.c:
29867         fixed a logic bug. Was denying a command if user gave command line
29868         args but there were none in the sudoers file which is wrong.
29869         [7489a99b8e8a]
29870
29871         * sudo.h:
29872         MAXCOMMMANDLEN dropped down to 1K
29873         [38ef54ba290b]
29874
29875         * parse.lex:
29876         return foo; -> return(foo);
29877         [0e8be1b57001]
29878
29879         * parse.yacc:
29880         fixed netgr_matches() prototype
29881         [e69f15910464]
29882
29883         * parse.lex:
29884         added support for escaping "termination" characters
29885         [8bd4ef50f35c]
29886
29887         * parse.c:
29888         buf is now of size MAXPATHLEN+1 since it never holds command args
29889         [2ce4b763058c]
29890
29891         * sudo.c:
29892         fixed comments
29893         [0c74a3d2ebb0]
29894
29895         * goodpath.c:
29896         fixed negation problem (doh!)
29897         [782814e3a2d1]
29898
29899         * parse.yacc:
29900         fixed 2nd parameter to lfind()
29901         [63d7b1623c08]
29902
29903         * parse.lex:
29904         now do bounds checking in fill() and append()
29905         [54381b563251]
29906
29907         * sudo.c:
29908         include netdb.h as we should added a missing void cast added
29909         SHELL_IF_NO_ARGS support now use realloc() properly. would fail if
29910         realloc actually moved the string instead of shrinking it
29911         [897ccdec9c06]
29912
29913         * sample.sudoers:
29914         updated with examples of new features
29915         [9b3ed00e8aa6]
29916
29917         * goodpath.c:
29918         now set errno to EACCES if not a regular file or not executable
29919         [2d069548a5ea]
29920
29921         * find_path.c:
29922         if given a fully-qualified or relative path we now check it with
29923         sudo_goodpath() and error out with the appropriate error message if
29924         the file does not exist or is not executable
29925         [590f89dd8dec]
29926
29927         * emul/search.h, lsearch.c:
29928         now use correct args for lfind
29929         [fccdcdbf020e]
29930
29931         * logging.c:
29932         added a comment
29933         [fab9f49708ea]
29934
29935         * insults.h:
29936         added in CSOps insults
29937         [ad8eb1862adc]
29938
29939         * ins_csops.h:
29940         Initial revision
29941         [de5a475ec018]
29942
29943         * tgetpass.c:
29944         added RCS id
29945         [c3ffd550a482]
29946
29947         * sudo.h:
29948         increased MAXCOMMANDLENGTH to 8k HAVE_GETCWD -> HAVE_GETWD
29949         [aba25c90d08a]
29950
29951         * OPTIONS:
29952         added CLASSIC_INSULTS, CSOPS_INSULTS, SHELL_IF_NO_ARGS
29953         [e27bd62e9ccf]
29954
29955         * sudo.c:
29956         fixed -k load_interfaces() now gets called if FQDN is set
29957         -p now works with -s
29958         [07ca2a34bae8]
29959
29960         * parse.c:
29961         don't try to stat() "pseudo commands" like "validate"
29962         [75527045984b]
29963
29964         * options.h:
29965         added CLASSIC_INSULTS added CSOPS_INSULTS added SHELL_IF_NO_ARGS
29966         [07b157a0eafd]
29967
29968         * configure.in:
29969         added SecurID support added other insults to --with-csops
29970         [6c992ceb244c]
29971
29972         * config.h.in:
29973         added HAVE_SECURID
29974         [e734ff617fe8]
29975
29976         * Makefile.in:
29977         added clobber target added ins_csops.h now gets CFLAGS from
29978         configure
29979         [d1e29c7cec25]
29980
29981         * aclocal.m4:
29982         relaxed SUDO_FULL_VOID
29983         [fb4084f27406]
29984
29985         * visudo.c:
29986         function comment blocks are now in same style as rest of code
29987         [04a2931354c5]
29988
29989         * testsudoers.c:
29990         added support for command line args in /etc/sudoers
29991         [bfe4e1bcc655]
29992
29993         * sudoers.man:
29994         updated to have command args in the sudoers file
29995         [1cd34355e9ea]
29996
29997         * sudo.man:
29998         added -s and -- flags added SHELL to ENVIRONMENT VARIABLES section
29999         [930b48023b68]
30000
30001 1995-08-19  Todd C. Miller  <Todd.Miller@courtesan.com>
30002
30003         * parse.yacc:
30004         PATH renamed to COMMAND
30005         [4e109a6de3cd]
30006
30007         * parse.lex:
30008         it is now a parse error for directories to have args attached to
30009         them
30010         [2ab10a146b54]
30011
30012         * logging.c:
30013         now say command args if telling user to buzz off
30014         [933de26ded8b]
30015
30016         * sudo.c:
30017         -s no longer indicates end of args sped up loading on cmnd_args in
30018         load_cmnd()
30019         [eac99a4da862]
30020
30021         * parse.c:
30022         removed an unreachable statement
30023         [634302623c49]
30024
30025         * parse.lex:
30026         made more efficient by pulling out the terminators when in GOTCMND
30027         state and making them their own rule
30028         [80798f1e1166]
30029
30030 1995-08-14  Todd C. Miller  <Todd.Miller@courtesan.com>
30031
30032         * sudo.h:
30033         removed MAXLOGLEN since it is no longer used
30034         [102824196b71]
30035
30036         * parse.lex:
30037         now allows command args
30038         [d29dfa1e5254]
30039
30040         * parse.c:
30041         now groks command arguments
30042         [6c414cb7f105]
30043
30044         * logging.c:
30045         now sets tty correctly when piped input
30046         [de46a30c0406]
30047
30048         * sudo.c:
30049         fixed loading of cmnd_args (was including command name too)
30050         [15319a425ea6]
30051
30052         * logging.c:
30053         fixed a core dump due to incorrect if construct
30054         [582363c7d7fa]
30055
30056 1995-08-13  Todd C. Miller  <Todd.Miller@courtesan.com>
30057
30058         * configure.in:
30059         only add -lsun is irix < 5 don't look for -lnsl or -lsocket if irix
30060         [da591fe9b931]
30061
30062         * aclocal.m4:
30063         fixed check for ISC
30064         [52e59f2082a7]
30065
30066         * sudo.c:
30067         now sets cmnd_args used by log_error() and that will be used by the
30068         parse to check against command args
30069         [c6804389723b]
30070
30071         * sudo.h:
30072         added cmnd_args
30073         [4d00446b4a8d]
30074
30075         * logging.c:
30076         now dynamically allocate logline since we can guess at its size
30077         [4bed8c8446aa]
30078
30079 1995-08-05  Todd C. Miller  <Todd.Miller@courtesan.com>
30080
30081         * logging.c:
30082         cleaned up a bunch of unnecesary #ifdef's eliminated a buffer remove
30083         "register" since the compiler knows more than I do now do a
30084         "basename" of the tty
30085         [3b1bbf0b3da1]
30086
30087 1995-07-31  Todd C. Miller  <Todd.Miller@courtesan.com>
30088
30089         * configure.in:
30090         ++version
30091         [5ce552f9a5f1]
30092
30093         * sudo.h:
30094         added shell extern changed MODE_* to be bit masks to allow for
30095         several options together
30096         [06f9dc4f400c]
30097
30098         * sudo.c:
30099         added -s (shell) option made MODE_* masks so we can do bitwise & and
30100         | to see if multiple flags are set.
30101         [01f8143010ad]
30102
30103         * check.c:
30104         added securid support
30105         [909e078005fe]
30106
30107 1995-07-30  Todd C. Miller  <Todd.Miller@courtesan.com>
30108
30109         * logging.c:
30110         removed a bunch of unnecesary strncpy()'s and replaced with strcat()
30111         [644506b57d61]
30112
30113 1995-07-29  Todd C. Miller  <Todd.Miller@courtesan.com>
30114
30115         * Makefile.in, version.h:
30116         ++version
30117         [3cd6f1fbc3d9]
30118
30119 1995-07-27  Todd C. Miller  <Todd.Miller@courtesan.com>
30120
30121         * parse.yacc:
30122         fixed free() of an uninitialized pointer (yuck)
30123         [8c404ee502ee]
30124
30125         * testsudoers.c:
30126         added netgr_matches
30127         [e7c9fa2f774c]
30128
30129         * parse.c:
30130         cleaned up netgr_matches
30131         [8108f00b810e]
30132
30133 1995-07-26  Todd C. Miller  <Todd.Miller@courtesan.com>
30134
30135         * RUNSON:
30136         updated for 1.3.4
30137         [4741704310a1]
30138
30139 1995-07-25  Todd C. Miller  <Todd.Miller@courtesan.com>
30140
30141         * Makefile.in:
30142         now installs sudoers.man -- really should clean this up though.
30143         [455631d45a1d]
30144
30145         * Makefile.in:
30146         added sudoers.cat and sudoers.man
30147         [0bdedd6c7363]
30148
30149         * sudo.man:
30150         pulled out stuff on the sudoers file format into a separate man page
30151         [de215d999cb9]
30152
30153         * sudoers.man:
30154         Initial revision
30155         [f25eafbb7095]
30156
30157         * HISTORY:
30158         fixed up my email address
30159         [254fbf80be74]
30160
30161         * configure.in:
30162         added checks for innetgr and getdomainname
30163         [24a99cb7e97e]
30164
30165         * visudo.c:
30166         added dummy netgr_matches function
30167         [1841ff2c01da]
30168
30169         * parse.c:
30170         added netgr_matches
30171         [ec90db6a97b8]
30172
30173         * parse.lex, parse.yacc:
30174         added NETGROUP support
30175         [c9dd93e3bc4b]
30176
30177         * config.h.in:
30178         added HAVE_INNETGR & HAVE_GETDOMAINNAME
30179         [14abd494d875]
30180
30181 1995-07-24  Todd C. Miller  <Todd.Miller@courtesan.com>
30182
30183         * sudo.c:
30184         rewrote clean_env() that has rm_env() builtin
30185         [55cb43818a95]
30186
30187 1995-07-23  Todd C. Miller  <Todd.Miller@courtesan.com>
30188
30189         * check.c:
30190         now cast uid to long in sprintf
30191         [b549eea40aeb]
30192
30193         * OPTIONS:
30194         added _INSULTS suffix to HAL & GOONS end
30195         [ed620d0aad30]
30196
30197         * options.h:
30198         added _INSULTS suffix to HAL & GOONS
30199         [9f72e9b83afd]
30200
30201         * ins_2001.h, ins_classic.h, ins_goons.h, insults.h:
30202         converted to new scheme of insult "unions" end
30203         [2f6d2b412132]
30204
30205         * sudo.c:
30206         now uses MAX_UID_T_LEN
30207         [c1df79e0f389]
30208
30209         * configure.in:
30210         added SUDO_UID_T_LEN !l
30211         [195f0b9f5f84]
30212
30213         * config.h.in:
30214         added MAX_UID_T_LEN
30215         [73f42ae4f14d]
30216
30217         * check.c:
30218         now use MAX_UID_T_LEN
30219         [df9c063234cb]
30220
30221         * aclocal.m4:
30222         added check for max len of uid_t fixed sco vs. isc check
30223         [d558f36d2223]
30224
30225 1995-07-19  Todd C. Miller  <Todd.Miller@courtesan.com>
30226
30227         * configure.in:
30228         corrected version
30229         [828dd1571e86]
30230
30231         * configure.in:
30232         added sco support
30233         [af1e2f616638]
30234
30235         * aclocal.m4:
30236         hack to check for sco
30237         [549ab99a9a43]
30238
30239         * interfaces.c:
30240         removed #include <net/route.h> since it was hosing some OS's
30241         [ac78a7c04005]
30242
30243 1995-07-18  Todd C. Miller  <Todd.Miller@courtesan.com>
30244
30245         * find_path.c:
30246         fixed prreadlink() prototype
30247         [b380fe1f2b11]
30248
30249         * check.c:
30250         added parens in #if's
30251         [e96ade691b82]
30252
30253         * configure.in:
30254         added SPW_ prefix
30255         [a302683a1483]
30256
30257         * sudo.h:
30258         moved SPW_* to config.h.in
30259         [6b3be70e34cf]
30260
30261         * sudo.c:
30262         added a set of parens
30263         [8188d735d695]
30264
30265         * config.h.in:
30266         added SPW_*
30267         [5ead6371cf60]
30268
30269         * sudo.h:
30270         added SPW_* reordered error codes
30271         [dead25b4ed0a]
30272
30273         * check.c:
30274         moved SPW_* to sudo.h
30275         [ca51fb04caf4]
30276
30277 1995-07-17  Todd C. Miller  <Todd.Miller@courtesan.com>
30278
30279         * sudo.c:
30280         SPW_AUTH -> SPW_SECUREWARE
30281         [6b512b2bc5dc]
30282
30283         * logging.c:
30284         GLOBAL_NO_AUTH_ENT -> GLOBAL_NO_SPW_ENT
30285         [defdd0944e2f]
30286
30287         * configure.in:
30288         AUTH -> SECUREWARE
30289         [d1f8a17001dd]
30290
30291         * check.c:
30292         SPW_AUTH -> SPW_SECUREWARE
30293         [af0e8d8b89b2]
30294
30295         * check.c:
30296         now uses SHADOW_TYPE to make shadow pw support more readable and
30297         modular. It's a start...
30298         [8c2a59667014]
30299
30300         * configure.in:
30301         added autodetection of shadow passwords
30302         [85f81fa54b1b]
30303
30304         * sudo.c:
30305         now uses SHADOW_TYPE define
30306         [355e5dc09b07]
30307
30308         * config.h.in:
30309         added SHADOW_TYPE which replaces SUNOS4 & __svr4__ defines
30310         [c0c06e83e483]
30311
30312         * aclocal.m4:
30313         added SUDO_CHECK_SHADOW
30314         [464301301639]
30315
30316 1995-07-12  Todd C. Miller  <Todd.Miller@courtesan.com>
30317
30318         * configure.in:
30319         define SVR4 for ISC define BROKEN_SYSLOG for hpux took out test for
30320         memmove() since we dno longer use it...
30321         [8aefa87d7d31]
30322
30323         * CHANGES:
30324         updated
30325         [ce97b3fd7182]
30326
30327         * logging.c:
30328         added BROKEN_SYSLOG support
30329         [a45c3bca36f6]
30330
30331         * config.h.in:
30332         added BROKEN_SYSLOG
30333         [6f6abf0a6268]
30334
30335         * check.c:
30336         now only bitch it timestamp > time_now + 2 * timeout to allow for a
30337         machine udpating its time from a server
30338         [546bc8d35325]
30339
30340         * sudo.man:
30341         added 2 security notes updated Nieusma's email addr
30342         [616756c56977]
30343
30344         * lsearch.c:
30345         changed a memmove() to memcpy() since we don't have to worry about
30346         overlapping segments.
30347         [30baa478526b]
30348
30349 1995-07-11  Todd C. Miller  <Todd.Miller@courtesan.com>
30350
30351         * interfaces.c:
30352         cleanup up the loop when interfaces are groped in so that it is
30353         readable
30354         [1fa39446bd69]
30355
30356         * Makefile.in, version.h:
30357         ++version
30358         [b46bd2b1770f]
30359
30360 1995-07-09  Todd C. Miller  <Todd.Miller@courtesan.com>
30361
30362         * CHANGES:
30363         annotated 124-126
30364         [b82a2b3ec7ce]
30365
30366 1995-07-07  Todd C. Miller  <Todd.Miller@courtesan.com>
30367
30368         * check.c:
30369         fixed permissions check on /tmp/.odus
30370         [cc2431a65468]
30371
30372 1995-07-06  Todd C. Miller  <Todd.Miller@courtesan.com>
30373
30374         * check.c:
30375         fixed some comments
30376         [8896d09b4fda]
30377
30378         * check.c:
30379         now checks owner & mode of timedir also checks for bogus dates on
30380         timestamp file
30381         [a0fad5df5b0a]
30382
30383         * OPTIONS:
30384         updated TIMEOUT info
30385         [033cc22d9e04]
30386
30387         * logging.c, sudo.h:
30388         added BAD_STAMPDIR and BAD_STAMPFILE
30389         [31d9ce691101]
30390
30391         * compat.h:
30392         added definition of S_IRWXU
30393         [ff2dab091a9b]
30394
30395         * CHANGES:
30396         updated
30397         [a40df90284f1]
30398
30399 1995-07-03  Todd C. Miller  <Todd.Miller@courtesan.com>
30400
30401         * interfaces.c:
30402         added #ifdef to make it compile on strange arches
30403         [4a127f12afce]
30404
30405 1995-07-02  Todd C. Miller  <Todd.Miller@courtesan.com>
30406
30407         * aclocal.m4:
30408         fixed check for fulkl void impl.
30409         [b6f2a4a361d8]
30410
30411         * check.c:
30412         added mssing "static"
30413         [520552f2772b]
30414
30415         * insults.h:
30416         replaced #elif with #else #if constructs for ancient C compilers
30417         [39ab2d365b57]
30418
30419         * INSTALL:
30420         updated irix c2 & kerb5 info
30421         [ae79b99b4905]
30422
30423         * configure.in:
30424         added shadow pw support for irix
30425         [632469d9c528]
30426
30427 1995-07-01  Todd C. Miller  <Todd.Miller@courtesan.com>
30428
30429         * BUGS, TODO:
30430         updated
30431         [2a96bb18ac30]
30432
30433         * CHANGES:
30434         last changes for sudo 1.3.3
30435         [c1c0cd1034b8]
30436
30437         * configure.in:
30438         now calls SUDO_SOCK_SA_LEN
30439         [14ea78159d45]
30440
30441         * config.h.in:
30442         added HAVE_SA_LEN
30443         [cc2a346aa905]
30444
30445         * aclocal.m4:
30446         added SUDO_SOCK_SA_LEN
30447         [456a2025644a]
30448
30449         * interfaces.c:
30450         now works with ip implementations that use sa_len in sockaddr
30451         [90be6e028077]
30452
30453         * INSTALL:
30454         added note about buggy AIX compiler
30455         [c0f6d427e4e4]
30456
30457         * interfaces.c:
30458         now include sys/time.h for AIX
30459         [2510858ab38b]
30460
30461 1995-06-28  Todd C. Miller  <Todd.Miller@courtesan.com>
30462
30463         * Makefile.in:
30464         getcwd -> getwd
30465         [66085ebca98e]
30466
30467         * interfaces.c:
30468         now works for ISC and others. yay.
30469         [f336d4ffc927]
30470
30471 1995-06-26  Todd C. Miller  <Todd.Miller@courtesan.com>
30472
30473         * Makefile.in, version.h:
30474         version++
30475         [836cffc2078d]
30476
30477 1995-06-23  Todd C. Miller  <Todd.Miller@courtesan.com>
30478
30479         * aclocal.m4:
30480         fixed test for full void impl
30481         [fb004107e7b9]
30482
30483         * sudo.c:
30484         now check to see that st_dev is non-zero before assuming that we are
30485         being spoofed
30486         [1b0e1c30c506]
30487
30488 1995-06-20  Todd C. Miller  <Todd.Miller@courtesan.com>
30489
30490         * aclocal.m4, configure.in:
30491         SUDO_FUNC_UTIME_NULL -> AC_FUNC_UTIME_NULL
30492         [4953379bfb01]
30493
30494 1995-06-19  Todd C. Miller  <Todd.Miller@courtesan.com>
30495
30496         * aclocal.m4:
30497         fixed include file order for SUDO_FUNC_UTIME_POSIX
30498         [ff64ab7df44f]
30499
30500         * logging.c:
30501         added cast for ttyname()
30502         [444f05f56758]
30503
30504         * configure.in:
30505         fixed typo
30506         [de068e748431]
30507
30508         * check.c:
30509         now deal correctly with all known variation of utime() -- yippe
30510         [b778a4195a89]
30511
30512         * configure.in:
30513         added SUDO_FUNC_UTIME_POSIX
30514         [cf635f2269d6]
30515
30516         * aclocal.m4:
30517         added SUDO_FUNC_UTIME_NULL and SUDO_FUNC_UTIME_POSIX
30518         [d79593be4b73]
30519
30520         * config.h.in:
30521         added HAVE_UTIME_POSIX
30522         [c67b4ac0dca5]
30523
30524         * check.c:
30525         fixed a typo
30526         [b14df5680f59]
30527
30528         * check.c:
30529         no longer assume !HAVE_UTIME_NULL means old BSD utime()
30530         [0aeaf4b2f38b]
30531
30532         * check.c:
30533         fixed fascist C compiler warning
30534         [c61ddf2f1f93]
30535
30536         * interfaces.c:
30537         now set strioctl.ic_timout in STRSET() now initialize num_interfaces
30538         to 0 (just to be anal)
30539         [c54cc2ba0052]
30540
30541 1995-06-18  Todd C. Miller  <Todd.Miller@courtesan.com>
30542
30543         * sudo.h:
30544         increaed MAXLOGLEN by MAXPATHLEN to account for ttyname
30545         [74cf585a54fb]
30546
30547         * logging.c:
30548         added tty logging
30549         [e27d8dcfbd78]
30550
30551         * interfaces.c:
30552         reworked the ISC code
30553         [bcf57ce8ae69]
30554
30555         * Makefile.in, version.h:
30556         updated version
30557         [032941c9b94d]
30558
30559         * check.c:
30560         now expect old-style utime(3) if utime() can't take NULL as an arg
30561         [018dd4a73030]
30562
30563         * configure.in:
30564         added check for utime.h
30565         [0b76e8feb618]
30566
30567         * config.h.in:
30568         added HAVE_UTIME_H
30569         [62ee42feda46]
30570
30571         * Makefile.in:
30572         added CPPFLAGS STATIC_FLAGS -> LDFLAGS
30573         [fa3201d294e1]
30574
30575         * configure.in:
30576         now search for kerb libs and includes
30577         [cc332401e571]
30578
30579         * check.c:
30580         added support for utime(2)'s that can't take a NULL parameter
30581         [98797fedf69f]
30582
30583         * utime.c:
30584         moved HAVE_UTIME_NULL stuff to update_timestamp() where t belongs
30585         [6ce6d825fb44]
30586
30587         * configure.in:
30588         added utime(s) stuff
30589         [a2afb744403e]
30590
30591         * check.c:
30592         now use utime()
30593         [48902240a51e]
30594
30595         * config.h.in:
30596         added HAVE_UTIME and HAVE_UTIME_NULL
30597         [9a56ab65d4f4]
30598
30599 1995-06-17  Todd C. Miller  <Todd.Miller@courtesan.com>
30600
30601         * utime.c:
30602         now use HAVE_UTIME_NULL
30603         [e3944de09a92]
30604
30605         * emul/utime.h, utime.c:
30606         Initial revision
30607         [a2cbf2ef3427]
30608
30609         * check.c:
30610         need to setuid(0) to make kerb4 stuff work.
30611         [c6cfda4039d7]
30612
30613         * tgetpass.c:
30614         no more special case for kerberos
30615         [4a5c33145be9]
30616
30617         * config.h.in:
30618         took out setreuid and setresuid stuff added kerb5 stuff (use kerb4
30619         emulation)
30620         [a607ee43e650]
30621
30622         * compat.h:
30623         no longer need setreuid() emulation now set _PASSWD_LEN to 128 if
30624         kerberos
30625         [02fb274cc136]
30626
30627         * check.c:
30628         now use private ticket file for kerberos support to avoid trouncing
30629         on system one
30630         [28d8b6b812c7]
30631
30632 1995-06-15  Todd C. Miller  <Todd.Miller@courtesan.com>
30633
30634         * sudo.h:
30635         added SPOOF_ATTEMPT & cmnd_st
30636         [d3b42a1f4d0d]
30637
30638         * sudo.c:
30639         added anti-spoofing support
30640         [ab1e2aa44a57]
30641
30642         * parse.c:
30643         now use global cmnd_st
30644         [47018265a1a6]
30645
30646         * logging.c:
30647         added SPOOF_ATTEMPT suypport
30648         [7bbe9dd2a021]
30649
30650         * testsudoers.c, visudo.c:
30651         added void casts where appropriate
30652         [f191441ba333]
30653
30654         * parse.yacc:
30655         fixed up spacing and added void casts where appropriate
30656         [15d886fc809c]
30657
30658         * sudo.c:
30659         fixed problem with "-p prompt" but no args
30660         [6fc048261a3e]
30661
30662 1995-06-14  Todd C. Miller  <Todd.Miller@courtesan.com>
30663
30664         * sudo.man:
30665         added BUGS and annotated -l description
30666         [e5c506de2603]
30667
30668         * sudo.h:
30669         validate() now takes a flag
30670         [26627becc60a]
30671
30672         * sudo.c:
30673         validate() now takes a flag added -l
30674         [a4f7bb97fe54]
30675
30676         * parse.yacc:
30677         added support for -l
30678         [e7a9b10b0ad3]
30679
30680         * parse.c:
30681         validate() now takes a flag that says whether or not to check the
30682         command
30683         [9e1e67f4e281]
30684
30685 1995-06-08  Todd C. Miller  <Todd.Miller@courtesan.com>
30686
30687         * logging.c:
30688         now deals with Argv == 1
30689         [0acb637ab635]
30690
30691         * sudo.man:
30692         added -p option
30693         [e60382fc0561]
30694
30695         * sudo.c:
30696         added prompt support reworked parse_args()
30697         [2f605267ed4a]
30698
30699         * sudo.h:
30700         added prompt
30701         [5ab021bdb419]
30702
30703         * options.h:
30704         added PASSPROMPT
30705         [614727ff44a2]
30706
30707         * check.c:
30708         now use BUFSIZ as length of kerb password added kpass so pass is
30709         always a char * now use prompt global when asking for a password
30710         [76be09af784f]
30711
30712         * tgetpass.c:
30713         now use BUFSIZ as _PASSWD_LEN if using kerberos
30714         [1e907eed312b]
30715
30716         * OPTIONS:
30717         added PASSPROMPT
30718         [ddb2f405ce40]
30719
30720 1995-06-07  Todd C. Miller  <Todd.Miller@courtesan.com>
30721
30722         * configure.in:
30723         only look for -lufc or -lcrypt if crypt() not in libc
30724         [9717d315661f]
30725
30726         * check.c:
30727         don't exit on kerb error, just warn if k_errno == KDC_PR_UNKNOWN
30728         (unknown user) silently fail
30729         [2b48693d4ee9]
30730
30731         * INSTALL:
30732         added kerb4 note
30733         [986e393f740c]
30734
30735         * tgetpass.c:
30736         HAVE_KERBEROS -> HAVE_KERB4
30737         [e438bfb5e6aa]
30738
30739         * check.c:
30740         removed debugging printf
30741         [1cf9f5cbffa5]
30742
30743         * configure.in:
30744         KERBEROS -> KERB4 added checks for setreuid & setresuid
30745         [01e9945beb1e]
30746
30747         * config.h.in:
30748         HAVE_KERBEROS -> HAVE_KERB4 added HAVE_SETREUID and HAVE_SETRESUID
30749         [0e0bb5b8ac3e]
30750
30751         * compat.h:
30752         added deif of UID_NO_CHANGE & GID_NO_CHANGE added setreuid emulation
30753         with setresuid if applic
30754         [9dae24c47696]
30755
30756         * check.c:
30757         HAVE_KERBEROS -> HAVE_KERB4 now only do the stupid chown() hack if
30758         no setreuid() or a broken one
30759         [1fca642bdb8e]
30760
30761 1995-06-06  Todd C. Miller  <Todd.Miller@courtesan.com>
30762
30763         * configure.in:
30764         added kerberos support
30765         [da5639b9b8e7]
30766
30767         * config.h.in:
30768         added HAVE_KERBEROS
30769         [fcc5be550e65]
30770
30771         * tgetpass.c:
30772         added KERBEROS support (long passwords)
30773         [303ba6924dd2]
30774
30775         * check.c:
30776         added kerberos support
30777         [e40afe98fc1d]
30778
30779 1995-06-03  Todd C. Miller  <Todd.Miller@courtesan.com>
30780
30781         * sudo.h:
30782         added MODE_BACKGROUND
30783         [9b483c932016]
30784
30785         * sudo.man:
30786         escaped dashes added -b option
30787         [62e84f1a7714]
30788
30789         * sudo.c:
30790         added -b option
30791         [7e78aaefeb95]
30792
30793         * check.c:
30794         added crypt() for osf/1 3.x enhanced secuiry
30795         [e9aa5abdb7d5]
30796
30797         * configure.in:
30798         now check for -lcrypt
30799         [5cb9c67e9fa2]
30800
30801         * interfaces.c:
30802         added ENXIO like EADDRNOTAVAIL
30803         [74223bb1ba75]
30804
30805 1995-05-08  Todd C. Miller  <Todd.Miller@courtesan.com>
30806
30807         * configure.in:
30808         now emulate getwd(), not getcwd()
30809         [3e5439d9a5f4]
30810
30811         * sudo.c:
30812         getcwd() -> getwd()
30813         [6392a96a658e]
30814
30815         * getwd.c:
30816         getcwd -> getwd
30817         [1b0ab9bae11e]
30818
30819 1995-05-02  Todd C. Miller  <Todd.Miller@courtesan.com>
30820
30821         * ins_2001.h, ins_classic.h, ins_goons.h:
30822         Initial revision
30823         [86db60d8cf00]
30824
30825         * insults.h:
30826         broke out insults into separate include files
30827         [0a01993bd38a]
30828
30829         * OPTIONS, options.h:
30830         added GOONS
30831         [e283203c6515]
30832
30833         * Makefile.in:
30834         added ins_2001.h ins_classic.h ins_goons.h
30835         [2a39cd6a4cd2]
30836
30837         * Makefile.in, version.h:
30838         ++version
30839         [05ebf4f5e41a]
30840
30841         * visudo.c:
30842         moved signal handler setup to setup_signals()
30843         [3dd976c04540]
30844
30845         * sudo.h:
30846         added load_interfaces()
30847         [af2d473b09e2]
30848
30849         * sudo.c:
30850         moved load_interfaces to interfaces.c
30851         [5c8c138e5d4c]
30852
30853         * parse.yacc:
30854         added clearaliases
30855         [aeb4ff301daa]
30856
30857         * OPTIONS, options.h:
30858         added FAST_MATCH
30859         [f49ea3d1b525]
30860
30861         * parse.lex:
30862         now uses clearaliases variable
30863         [a2dda415bf61]
30864
30865         * interfaces.c:
30866         Initial revision
30867         [a1990e3f5c69]
30868
30869         * Makefile.in:
30870         added interfaces.[co]
30871         [1e8e5984de97]
30872
30873         * testsudoers.c:
30874         now uses ip addrs and netmasks via load_interfaces()
30875         [54b8f7a6835e]
30876
30877         * sudo.c:
30878         now remove IFS instead of setting to "sane" value
30879         [ce7eec9f115e]
30880
30881 1995-05-01  Todd C. Miller  <Todd.Miller@courtesan.com>
30882
30883         * parse.c:
30884         added FAST_MATCH
30885         [816d4f5fe81a]
30886
30887 1995-04-30  Todd C. Miller  <Todd.Miller@courtesan.com>
30888
30889         * Makefile.in:
30890         sudo_goodpath.c-> goodpath.c
30891         [a5072c4e1de2]
30892
30893         * sudo.c:
30894         added Andy's new ISC changes
30895         [caa6bbee358e]
30896
30897 1995-04-14  Todd C. Miller  <Todd.Miller@courtesan.com>
30898
30899         * OPTIONS:
30900         added a sentence to SECURE_PATH info
30901         [cad6e1569d15]
30902
30903         * BUGS:
30904         added one
30905         [4b35cf699a83]
30906
30907         * CHANGES:
30908         updated
30909         [5fded9dc62f0]
30910
30911         * RUNSON:
30912         updated
30913         [33cb993cfd39]
30914
30915 1995-04-13  Todd C. Miller  <Todd.Miller@courtesan.com>
30916
30917         * RUNSON:
30918         updated for beta3
30919         [a05dc6a91995]
30920
30921         * Makefile.in, version.h:
30922         ++version
30923         [54aaf3fadc75]
30924
30925         * aclocal.m4:
30926         sendmail is now looked for in \17/usr/ucblib
30927         [231ac1a4662f]
30928
30929         * sudo.c:
30930         fixed indentation
30931         [fb137400c8c2]
30932
30933         * aclocal.m4:
30934         fixed a typo
30935         [e03f1acc468b]
30936
30937         * sudo.c:
30938         updated ISC mods
30939         [070290d4754b]
30940
30941         * configure.in:
30942         added unixware case
30943         [e90250bae0d9]
30944
30945         * check.c:
30946         user_is_exempt is no longer hidden
30947         [1a341765b8af]
30948
30949         * RUNSON:
30950         updated
30951         [a9c4898b26dd]
30952
30953         * aclocal.m4:
30954         isc and riscos changes
30955         [98b5d86585d1]
30956
30957         * OPTIONS:
30958         added NOTE about new interaction of EXEMPTGROUP and SECURE_PATH
30959         [e1ecc464ce4b]
30960
30961         * Makefile.in:
30962         fixed a typo and added testsudoers stuff
30963         [435d60e163dc]
30964
30965         * testsudoers.c:
30966         Initial revision
30967         [6ce14a448662]
30968
30969 1995-04-12  Todd C. Miller  <Todd.Miller@courtesan.com>
30970
30971         * parse.yacc:
30972         applied fixed patch from Chris
30973         [cd6144203d13]
30974
30975 1995-04-11  Todd C. Miller  <Todd.Miller@courtesan.com>
30976
30977         * Makefile.in:
30978         fixed a typo
30979         [34f8a54ba041]
30980
30981         * parse.yacc:
30982         added a set of braces for bison
30983         [f0e43b938914]
30984
30985         * parse.yacc:
30986         merged in Chris' changes to dekludge the parser.
30987         [82d6e373ab1c]
30988
30989         * logging.c:
30990         send_mail() was calling find_path() which is wrong since find_path()
30991         stores cmnd in a static var. Anyhow, it doesn't make much sense
30992         since MAILER should always be fully qualified
30993         [6eae6a0b8098]
30994
30995 1995-04-10  Todd C. Miller  <Todd.Miller@courtesan.com>
30996
30997         * sample.sudoers:
30998         added User_Alias stuff
30999         [aaba8c8e918d]
31000
31001         * aclocal.m4:
31002         SUDO_NEXT now looks for /usr/lib/NextStep/software_version
31003         [52bd81f34b32]
31004
31005         * RUNSON:
31006         added DEC UNIX 3.0 w/ gcc
31007         [7daf570775b5]
31008
31009         * visudo.c:
31010         Exit was being used in places where exit should be used
31011         [6026a89c07ed]
31012
31013         * sudoers:
31014         added "User alias specification"
31015         [a487b6e234f8]
31016
31017         * parse.yacc:
31018         fixed probs caused by making nslots and naliases a size_t
31019         [0be919384f3f]
31020
31021         * RUNSON:
31022         added KSR, upped rev to 1.3.1b2
31023         [ce04ee6faadf]
31024
31025         * logging.c, parse.yacc:
31026         1024 -> BUFSIZ
31027         [cd6dda45fa11]
31028
31029         * parse.yacc:
31030         void * -> VOID * naliases and nslots are now size_t to appease
31031         lsearch on 64-bit machines
31032         [bf2f807c0dc1]
31033
31034 1995-04-09  Todd C. Miller  <Todd.Miller@courtesan.com>
31035
31036         * TODO:
31037         did a bunch of things and added a bunch :-)
31038         [42afd957b829]
31039
31040         * PORTING:
31041         updated
31042         [972f95c85776]
31043
31044         * visudo.man:
31045         closer to BSD manpage style
31046         [07ae88f50325]
31047
31048         * sudo.man:
31049         closer to standard BSD man format
31050         [372c28dcc135]
31051
31052         * compat.h, config.h.in, emul/search.h, insults.h, options.h,
31053         pathnames.h.in, sudo.h, version.h:
31054         added RCS id
31055         [c0ec90b81002]
31056
31057         * sudo.h:
31058         removed crufty #defines that are no longer used
31059         [35e2b4b477f0]
31060
31061         * BUGS:
31062         fixed a bug
31063         [5bb3e1bee85e]
31064
31065         * sudo.man:
31066         updated based on sudo changes
31067         [e65de1cae438]
31068
31069         * parse.yacc:
31070         now allow ALL keyword in User_Aliases now allow ALL keyword as well
31071         as a NAME or ALIAS
31072         [1fb31404dd0f]
31073
31074         * CHANGES:
31075         updated
31076         [b24018ac610b]
31077
31078         * sudo.c:
31079         now sets SUDO_COMMAND and SUDO_GID envariables.
31080         [e9d791557fb7]
31081
31082         * aclocal.m4:
31083         fixed bug with full void impl check
31084         [35715301023c]
31085
31086         * parse.yacc:
31087         fixed User_Alias supoprt
31088         [4c30dfbaaa07]
31089
31090         * parse.yacc:
31091         added stubs for User_Alias support
31092         [f4afbd247edf]
31093
31094         * sudo.c:
31095         now sets removes # bogus interfaces from num_interfaces
31096         [6f077fac9ab1]
31097
31098         * parse.lex:
31099         added User_Alias support
31100         [bc7997e5df85]
31101
31102 1995-04-08  Todd C. Miller  <Todd.Miller@courtesan.com>
31103
31104         * Makefile.in:
31105         removed extraneous TODO
31106         [bc87a3b14d6d]
31107
31108 1995-04-07  Todd C. Miller  <Todd.Miller@courtesan.com>
31109
31110         * visudo.c:
31111         ntwk_matches -> addr_matches
31112         [475044e288b8]
31113
31114         * parse.yacc:
31115         ntwk_matches -> addr_matches
31116         [dd1f4093fd2d]
31117
31118         * parse.c:
31119         ntwk_matches -> addr_matches now use inet_addr() not inet_network()
31120         (which expects octet boundaries) fixes for OSF (sizeof(int) !=
31121         sizeof(long))
31122         [acd2f556940f]
31123
31124         * sudo.c:
31125         took out debugging info
31126         [044023063eca]
31127
31128         * aclocal.m4:
31129         OS was being set to unknown before non-uname based host checks.
31130         This caused no checks to happen since $OS was not zero-length.
31131         [335a7267479d]
31132
31133         * sudo.c:
31134         fixed loading of interfaces struct still has debugging info in
31135         though
31136         [2d1a18998c1e]
31137
31138         * parse.c:
31139         fixed typo
31140         [175674a3a9fa]
31141
31142 1995-04-06  Todd C. Miller  <Todd.Miller@courtesan.com>
31143
31144         * Makefile.in:
31145         ++version
31146         [55d191b5daa3]
31147
31148         * version.h:
31149         ++
31150         [d7d1f115696a]
31151
31152         * visudo.c:
31153         removed extraneous extern decl of "top
31154         [50355621047d]
31155
31156         * visudo.c:
31157         now zeros "top"
31158         [4e683210345b]
31159
31160         * parse.yacc:
31161         removed parser_cleanup (no need for it now)
31162         [afa59f222b6c]
31163
31164         * parse.lex:
31165         now calls reset_aliases() directly
31166         [3a23cbd60fc0]
31167
31168 1995-04-04  Todd C. Miller  <Todd.Miller@courtesan.com>
31169
31170         * OPTIONS:
31171         added a sentence to SECURE_PATH description
31172         [c5bf75b85af0]
31173
31174         * parse.c:
31175         fixed my stupid bug where I used NAMLEN on something I wanted to
31176         just get the name from. argh.
31177         [111f460f6540]
31178
31179 1995-04-03  Todd C. Miller  <Todd.Miller@courtesan.com>
31180
31181         * lsearch.c:
31182         fixed argument order of memmove() that i hosed when converting from
31183         bcopy(). arghh.
31184         [2f5336045c8b]
31185
31186         * Makefile.in:
31187         finally fixed DISTFILES line
31188         [a1b419e73a63]
31189
31190         * Makefile.in:
31191         tabs -> spaces
31192         [280fb03e5764]
31193
31194         * Makefile.in:
31195         added missing files to DISTFILES
31196         [991fc1cd2263]
31197
31198         * Makefile.in:
31199         SUPPORTED -> RUNSON
31200         [7580e65b05fb]
31201
31202 1995-04-01  Todd C. Miller  <Todd.Miller@courtesan.com>
31203
31204         * TODO:
31205         updated
31206         [fe764a29c1cc]
31207
31208         * RUNSON:
31209         updated for pl5b1 release
31210         [aefc35bd2291]
31211
31212         * BUGS, TODO:
31213         updated
31214         [8f0ea249b687]
31215
31216         * check.c:
31217         fixed bug where if you hit return at first sudo prompt it would
31218         still log as a failure
31219         [24539c854692]
31220
31221         * CHANGES:
31222         updated
31223         [251cc7b3ede4]
31224
31225         * aclocal.m4:
31226         better test for bogus void * implementation
31227         [efe23180cb88]
31228
31229         * logging.c:
31230         added PASSWORDS_NOT_CORRECT
31231         [bd12c73f83f7]
31232
31233         * check.c:
31234         added PASSWORDS_NOT_CORRECT stuff]
31235         [90de391a979f]
31236
31237         * sudo.h:
31238         added PASSWORDS_NOT_CORRECT
31239         [727fbeb76fc5]
31240
31241         * tgetpass.c:
31242         moved pathnames.h
31243         [4f910e5a8df7]
31244
31245         * sudo.c:
31246         removed some unused vars and fixed up uid2str
31247         [70e92c7f9076]
31248
31249         * putenv.c:
31250         moved compat.h
31251         [b271091586f6]
31252
31253         * getcwd.c, getwd.c:
31254         added pathnames.h
31255         [6f25218f133f]
31256
31257 1995-03-31  Todd C. Miller  <Todd.Miller@courtesan.com>
31258
31259         * parse.yacc:
31260         fixed a typo I introduced in the last checkin :-(
31261         [62c3af75c4fe]
31262
31263         * parse.lex:
31264         can't have #ifdef's where N is defined so just do this the broken
31265         way for AIX
31266         [c5648a5594e4]
31267
31268         * parse.yacc:
31269         better hack from Chris (but still a hack)
31270         [6b6d8aed93f3]
31271
31272         * parse.lex:
31273         stupid hack for broken aix lex
31274         [efc3f9e5280e]
31275
31276         * tgetpass.c:
31277         now includes compat.h \ 6
31278         [401822173f77]
31279
31280         * visudo.c:
31281         now includes fcntl.h
31282         [63865c2f8ac6]
31283
31284         * compat.h:
31285         added FD_SET and FD_ZERO for 4.2BSD
31286         [00c5597c0bb0]
31287
31288         * parse.yacc:
31289         dirty hack to fix parser bug. i don't really like this but it works
31290         for now...
31291         [5b8bbdc81569]
31292
31293         * sudo.c:
31294         uid2str is now static like the prototype says
31295         [f2a97b5cb870]
31296
31297 1995-03-30  Todd C. Miller  <Todd.Miller@courtesan.com>
31298
31299         * CHANGES, SUPPORTED, TODO, TROUBLESHOOTING:
31300         updated
31301         [6f79c3e92716]
31302
31303         * RUNSON:
31304         Initial revision
31305         [12a09ef9e884]
31306
31307         * sudo.c:
31308         check_sudoers now returns an error code and sudo calls inform_user
31309         and log_error based on the return value.
31310         [340eca188d9a]
31311
31312         * logging.c, sudo.h:
31313         added entries for new errors
31314         [6050d8542e1f]
31315
31316         * parse.c:
31317         now set uid to that of SUDOERS_OWNER while parsing sudoers file
31318         [3683c42bc9b0]
31319
31320         * Makefile.in:
31321         took out testsudoers \ 6
31322         [65317d49db48]
31323
31324         * sudo.c:
31325         now explicately checks that it is setuid root
31326         [2fe1be60ef6a]
31327
31328         * sudo.c:
31329         If a user has no passwd entry sudo would segv (writing to a garbage
31330         pointer). Now allocate space before writing :-)
31331         [d08e7eb5e5ef]
31332
31333         * configure.in:
31334         reordered AC_CHECK_FUNCS
31335         [4c82e56c6f4f]
31336
31337         * config.h.in:
31338         fixed memset macro
31339         [77ede6b714ab]
31340
31341         * tgetpass.c, visudo.c:
31342         bzero -> memset
31343         [1a005bb322c8]
31344
31345         * logging.c:
31346         bzero -> memset when a parse error is logged the line number of the
31347         error is now logged too
31348         [a42d68047723]
31349
31350         * INSTALL:
31351         added Sunos to blurb about c2 security
31352         [af750a1d131e]
31353
31354         * configure.in:
31355         added a SUN4 define for C2 security
31356         [6ad5b23a3eb0]
31357
31358         * config.h.in:
31359         bcopy -> memmove bzero -> memset
31360         [5494460c8464]
31361
31362         * lsearch.c:
31363         bcopy -> memmove char * -> VOID *
31364         [a15f5c316e16]
31365
31366         * check.c:
31367         added support for sunos with C2 security
31368         [03fea5bb21e6]
31369
31370         * OPTIONS, options.h:
31371         reordered
31372         [1686265af3e1]
31373
31374         * pathnames.h.in:
31375         _PATH_SUDO_LOGFILE now set based on configure
31376         [5867b58e4a04]
31377
31378         * configure.in:
31379         added SUDO_LOGFILE and SUDO_TYPE_SIZE_T
31380         [1984d9fd1b5c]
31381
31382         * config.h.in:
31383         added _SUDO_PATH_LOGFILE
31384         [dd3eebe62580]
31385
31386         * aclocal.m4:
31387         added SUDO_LOGFILE to find where to put sudo.log added
31388         SUDO_CHECK_TYPE (just AC_CHECK_TYPE but checks unistd.h too) added
31389         SUDO_TYPE_SIZE_T (calls SUDO_CHECK_TYPE)
31390         [c589a515a99a]
31391
31392 1995-03-29  Todd C. Miller  <Todd.Miller@courtesan.com>
31393
31394         * TROUBLESHOOTING:
31395         Initial revision
31396         [f42f1baba3a8]
31397
31398         * sudo.c:
31399         now do set_perms(PERM_ROOT) before the getpwuid() in load_global()
31400         to work around a problem is trusted hpux shadow passwords. yuck.
31401         [ae1f13b54687]
31402
31403         * parse.yacc:
31404         backed out a change in malloc/realloc
31405         [ab868db0ad69]
31406
31407         * parse.yacc:
31408         now include stdlib.h
31409         [957eef0631eb]
31410
31411         * visudo.c:
31412         now do an freopen() of the stmp file so that yyin will always point
31413         to the same thing. This is important for flex since we are doing a
31414         YY_NEWFILE
31415         [44558922fd3e]
31416
31417         * parse.yacc:
31418         replaced yywrap() with parser_cleanup() since yywrap() needs to be
31419         in parse.lex to be able to use YY_NEW_FILE. sigh.
31420         [12dd09921074]
31421
31422         * parse.lex:
31423         now have a rule that matches anything that doesn't match an
31424         explicite rule. well, you know what i mean (. matches anything not
31425         yet matched). However, this means that there is input still queued
31426         up so we need to do a YY_NEW_FILE; in yywrap. So, yywrap has moved
31427         into parse.lex and it calls parser_cleanup() which is most of the
31428         old yywrap() sigh.
31429         [7f4042bc48d6]
31430
31431         * SUPPORTED:
31432         no longer used
31433         [8f220be4da94]
31434
31435         * getcwd.c, getwd.c:
31436         moved compat.h to be the last include file
31437         [9f3a65e2d485]
31438
31439         * parse.yacc:
31440         fixed type of aliascmp() args
31441         [1c27eb989bdf]
31442
31443         * find_path.c:
31444         NULL -> '\0'
31445         [5c8d8cf1692e]
31446
31447         * parse.yacc:
31448         added casts to lfind and lsearch args for irix
31449         [61027ddeecf8]
31450
31451         * Makefile.in:
31452         bsdinstall -> install-sh
31453         [61de6612c5a5]
31454
31455         * INSTALL:
31456         added info about make realclean
31457         [29c6324d727f]
31458
31459         * Makefile.in:
31460         updated VERSION added dependencies for visudo.cat
31461         [09077d7229d4]
31462
31463         * version.h:
31464         -> pl5b1
31465         [5d21c7ad1a41]
31466
31467         * sudo.c:
31468         took out -l
31469         [fc1478d81b38]
31470
31471         * Makefile.in:
31472         now there is a real visudo.man and visudo.cat
31473         [58aeac43a6dd]
31474
31475         * sudo.man:
31476         took out visudo stuff
31477         [4a6ac4393343]
31478
31479         * visudo.man:
31480         Initial revision
31481         [cba348843db8]
31482
31483         * parse.c, parse.lex, parse.yacc:
31484         updated copyright
31485         [ffa16b70944a]
31486
31487         * README:
31488         updated for pl5
31489         [a26e423e9e5f]
31490
31491         * sudo.man:
31492         updated Nieusma & Hieb email addresses
31493         [f0083e71989d]
31494
31495         * INSTALL:
31496         updated to include options.h and OPTIONS
31497         [ee59e2b76c94]
31498
31499         * CHANGES, TODO:
31500         updated
31501         [51e011ad5220]
31502
31503         * BUGS:
31504         eliminated bug #1 (yay)
31505         [e7e88515494e]
31506
31507         * configure.in:
31508         sunos no longer gets linked statically
31509         [2e5b3ff3108f]
31510
31511 1995-03-28  Todd C. Miller  <Todd.Miller@courtesan.com>
31512
31513         * parse.lex:
31514         prototype now uses __P()
31515         [68ecdcab4c70]
31516
31517         * parse.lex:
31518         make fill() non-ansi
31519         [d6509972260b]
31520
31521         * parse.c:
31522         made -v (validate) work
31523         [13c9d520638c]
31524
31525         * logging.c:
31526         now gives host
31527         [f04859cdba5a]
31528
31529         * find_path.c:
31530         don't check for execute/statable if fq or relative path given
31531         [4bbe851f3973]
31532
31533         * parse.c:
31534         added a cast
31535         [345c308f72f3]
31536
31537         * visudo.c:
31538         now include ctype.h for islower and tolower macros
31539         [582c0aa332d5]
31540
31541         * goodpath.c:
31542         moved _S_IFMT & _S_ISREG to compat.h
31543         [828e4ca4e7b4]
31544
31545         * sudo.c:
31546         moved a set of parens
31547         [5783474ecf37]
31548
31549         * strdup.c:
31550         now include compat.h
31551         [75e2036b94af]
31552
31553         * emul/search.h:
31554         void * -> VOID *
31555         [cedcfaf04161]
31556
31557         * parse.yacc:
31558         now cast malloc & realloc return vals added search for HAVE_LSEARCH
31559         now use strcmp if no strcasecmp available
31560         [d6a42bc3d4ae]
31561
31562         * lsearch.c:
31563         void * -> VOID *
31564         [886adc44f607]
31565
31566         * config.h.in:
31567         removed HAVE_FLEX added VOID added HAVE_DIRENT_H, HAVE_SYS_NDIR_H,
31568         HAVE_SYS_DIR_H, HAVE_NDIR_H added HAVE_LSEARCH
31569         [3b50d7fb4349]
31570
31571         * compat.h:
31572         added _S_IFMT, _S_IFREG, and S_ISREG
31573         [73d506c7d53c]
31574
31575         * aclocal.m4:
31576         took out SUDO_PROG_INSTALL 1.x to 2.x changes added echo and results
31577         to most SUDO_* macros
31578         [8442155f5936]
31579
31580         * Makefile.in:
31581         no more -I.
31582         [63462f195bd4]
31583
31584         * configure.in:
31585         various 1.x ro 2.x autoconf changes now check for strcasecmp now use
31586         AC_INSTALL_PROG instead of custom one added check for fully woorking
31587         void implementation
31588         [5ac6b6e6230f]
31589
31590         * Makefile.in:
31591         added lsearch & search.h visudo links into $(LIBOBJS)
31592         [bc119cda4598]
31593
31594         * aclocal.m4:
31595         partial 1.x to 2.x changes added SUDO_FULL_VOID
31596         [1194d01fa5c5]
31597
31598         * visudo.c:
31599         whatnow_help was prototyped to be static be was not declared as
31600         such
31601         [0f85489dd426]
31602
31603         * configure.in:
31604         autoconf 2.x changes took out HAVE_FLEX (no longer used) added check
31605         for dirent/dir/ndir.h
31606         [7408f3854948]
31607
31608         * parse.c:
31609         now use groovy gnu autoconf macro AC_HEADER_DIRENT
31610         [e465db9f5dfa]
31611
31612         * getcwd.c, getwd.c:
31613         MAXPATHLEN -> MAXPATHLEN+1
31614         [714d87424e21]
31615
31616         * emul/search.h, lsearch.c:
31617         Initial revision
31618         [55d79482c535]
31619
31620 1995-03-27  Todd C. Miller  <Todd.Miller@courtesan.com>
31621
31622         * parse.yacc:
31623         eliminated bison warnings
31624         [61ca0a96da22]
31625
31626         * parse.lex:
31627         added missing case
31628         [6be0f849747c]
31629
31630         * visudo.c:
31631         now iincludes signal.h
31632         [221e0fcc144f]
31633
31634         * parse.yacc:
31635         only clear data structures on a parse error
31636         [7b1c0f1a4527]
31637
31638         * visudo.c:
31639         whatnow() now gives help on invalid input
31640         [e5a4cd88c587]
31641
31642         * visudo.c:
31643         added a whatnow() function (sort of like mh)
31644         [932d9b145f1c]
31645
31646         * parse.yacc:
31647         kill_aliases -> reset_aliases yywrap() now cleans up by calling
31648         reset_aliases() and clearing top took reset stuff out of yyerror()
31649         since it doesn't beling there (and doesn't work anyway). errorlineno
31650         is now initially set to -1 so we can set it to the first error that
31651         occurrs (it was getting set to the last)
31652         [2f71f95a974c]
31653
31654         * parse.lex:
31655         added a void cast
31656         [18ae6042dce4]
31657
31658         * visudo.c:
31659         rewrote from scratch based on 4.3BSD vipw.c
31660         [2f6814f18576]
31661
31662 1995-03-26  Todd C. Miller  <Todd.Miller@courtesan.com>
31663
31664         * sudo.c, sudo.h:
31665         removed ocmnd
31666         [a31735f41ad4]
31667
31668         * sudo.h:
31669         no more sudo_realpath() and find_path() changed params
31670         [8e85c3b39159]
31671
31672         * sudo.c:
31673         find_path() changed since no more realpath()
31674         [b25366c7f2ee]
31675
31676         * parse.yacc:
31677         on error, errorlineno is set to the line where the error occurred
31678         added kill_aliases() to free the aliases struct now clean up in
31679         yyerror() so we can reparse cleanly
31680         [2342f578c27a]
31681
31682         * options.h, parse.c:
31683         no more USE_REALPATH
31684         [cfc59babeaff]
31685
31686         * logging.c:
31687         changed to use new find_path()
31688         [91c7a38e7751]
31689
31690         * find_path.c:
31691         removed all the realpath() stuff
31692         [cc21a43a8562]
31693
31694         * Makefile.in:
31695         sudo_realpath.c -> sudo_goodpath.c
31696         [03a9b1ddec2f]
31697
31698         * visudo.c:
31699         now works correctly with utk parser
31700         [08aa554a0ce8]
31701
31702         * goodpath.c:
31703         Initial revision
31704         [1ea607e1ffb2]
31705
31706         * sudo_realpath.c:
31707         eliminated a compiler warning
31708         [198bcccc55b6]
31709
31710         * sudo.c:
31711         elinated compiler warning
31712         [e2384f9a878b]
31713
31714         * sudo_realpath.c:
31715         added sudo_goodpath()
31716         [43878c4cc540]
31717
31718         * sudo.h:
31719         added prototype for sudo_goodpath
31720         [23e8627a2265]
31721
31722         * parse.c:
31723         added support for /sys/dir.h
31724         [eca897087741]
31725
31726         * options.h:
31727         USE_REALPATH turned off
31728         [620ac8b63d85]
31729
31730         * find_path.c:
31731         added calls to sudo_goodpath()
31732         [ad170904fbcd]
31733
31734         * configure.in:
31735         added check for dirent.h
31736         [7964a8c26855]
31737
31738         * config.h.in:
31739         added HAVE_DIRENT_H
31740         [1f785fec7e19]
31741
31742         * configure.in:
31743         added in linux shadow pass stuff \ 6
31744         [e585a5785f50]
31745
31746 1995-03-24  Todd C. Miller  <Todd.Miller@courtesan.com>
31747
31748         * visudo.c:
31749         added back host, user, cmnd, parse_error
31750         [0ec19f3d64f4]
31751
31752         * visudo.c:
31753         added in utk changes plus some minor cosmetic changes
31754         [c5c1921c8a58]
31755
31756         * sudo.c, sudo_realpath.c:
31757         added void casts for printf's
31758         [9c6ff11c0082]
31759
31760         * options.h:
31761         added a define of USE_REALPATH
31762         [db3711c9efc5]
31763
31764         * configure.in:
31765         there is no more visudoers/Makefile
31766         [36e1bc1f78d0]
31767
31768         * Makefile.in:
31769         added in utk changes (visudo is now built from the toplevel)
31770         [76203d4b345d]
31771
31772         * find_path.c:
31773         added (void) casts to printf's
31774         [dd5cb1e060ac]
31775
31776         * parse.c, parse.lex, parse.yacc, sudo.h, sudo_realpath.c:
31777         merged in utk changes
31778         [35563307fd8e]
31779
31780 1995-03-23  Todd C. Miller  <Todd.Miller@courtesan.com>
31781
31782         * find_path.c:
31783         now check to see that what we are trying to run is a file (or a link
31784         to a file, we do a stat(2) so there is no diff)
31785         [05889c4bcace]
31786
31787 1995-03-13  Todd C. Miller  <Todd.Miller@courtesan.com>
31788
31789         * CHANGES:
31790         updated
31791         [3e8047bb26fb]
31792
31793         * Makefile.in:
31794         aclocal.m4 -> acsite.m4 make realclean updated for new autoconf \ 6
31795         [0bdbaa7c4c7d]
31796
31797         * sudo.man:
31798         added myself as maintainer
31799         [77a9d75aab84]
31800
31801 1995-02-17  Todd C. Miller  <Todd.Miller@courtesan.com>
31802
31803         * sudo.c:
31804         changed setegid -> setgid
31805         [7f4788d73b6f]
31806
31807 1995-02-06  Todd C. Miller  <Todd.Miller@courtesan.com>
31808
31809         * configure.in:
31810         fixed the test for irix 5.x to skip bad libs
31811         [bfef896de013]
31812
31813         * aclocal.m4:
31814         now initialize OS and OSREV
31815         [cc302756e440]
31816
31817 1995-01-27  Todd C. Miller  <Todd.Miller@courtesan.com>
31818
31819         * configure.in:
31820         irix5 changes
31821         [ac985b23f5f2]
31822
31823         * configure.in:
31824         AC_WITH -> AC_ARG_WITH changes other misc changes for autoconf 2.1
31825         compatibility
31826         [0cf8c92a06d7]
31827
31828 1995-01-19  Todd C. Miller  <Todd.Miller@courtesan.com>
31829
31830         * visudo.c:
31831         use YY_NEW_FILE, not yyrestart since OSF flex doesn't do the righ
31832         thing wrt yyrestart (grrrr)
31833         [18e8eabfbb82]
31834
31835 1995-01-16  Todd C. Miller  <Todd.Miller@courtesan.com>
31836
31837         * Makefile.in:
31838         added visudoers/compat.h to DISTFILES
31839         [db23b574b034]
31840
31841         * configure.in:
31842         fixed an echo
31843         [7cbc0462b89d]
31844
31845         * sudo.c:
31846         added ocmnd declaration adjusted for find_path()'s new parameters
31847         [d929cd156474]
31848
31849         * sudo.h:
31850         added ocmnd extern adjusted find_path() prototype
31851         [e0004daf5d3c]
31852
31853         * parse.c:
31854         cmndcmp() now takes 3 arguments and checks against the qualified as
31855         well as the unqualified pathname. more code that should use
31856         cmndcmp() but did not, now does
31857         [6f70a8c17bee]
31858
31859         * options.h:
31860         added to a comment
31861         [7a78680426b2]
31862
31863         * logging.c:
31864         changed to use new find_path() parameter passing
31865         [840981d30db4]
31866
31867         * find_path.c:
31868         find_path() now takes 2 copyout parameters (one for the qualified
31869         pathname and one for the unqualified pathname). The third parameter
31870         may be NULL.
31871         [851503b005e9]
31872
31873         * configure.in:
31874         no longer munge pathnames.h
31875         [427d8796c5a9]
31876
31877         * pathnames.h.in:
31878         changed _PATH_* to use _SUDO_PATH_* (which are defined in config.h)
31879         as a result, pathnames.h does not need to be run through configure
31880         and the user can override the configured values easily.
31881         [2e378f2ebe88]
31882
31883         * config.h.in:
31884         added _SUDO_PATH_* entries
31885         [0857de7cebab]
31886
31887         * aclocal.m4:
31888         _PATH* -> _SUDO_PATH_*
31889         [7601193f56cc]
31890
31891         * Makefile.in:
31892         updated DISTFILES and HDRS .o's now depend on config.h
31893         [39d8601965cf]
31894
31895 1995-01-13  Todd C. Miller  <Todd.Miller@courtesan.com>
31896
31897         * compat.h:
31898         removed extraneous #endif
31899         [27d4c5f2ce7e]
31900
31901         * aclocal.m4:
31902         added SUDO_PROG_MV
31903         [76dda3bdd816]
31904
31905         * configure.in:
31906         added SUDO_PROG_MV added riscos and isc os types took out
31907         -DSHORT_MESSAGE from --with-csops since it is now the default
31908         [68c206ad976e]
31909
31910         * sudo.c:
31911         move the include of id.h to compat.h now includes options.h
31912         [45a1eaafb3a8]
31913
31914         * sudo.h:
31915         moved compatibility #defines to compat.h
31916         [0eee27057698]
31917
31918         * pathnames.h.in:
31919         added _PATH_MV
31920         [e830797ab320]
31921
31922         * config.h.in:
31923         move __P to compat.h
31924         [188e12e0ba93]
31925
31926         * getcwd.c, getwd.c, putenv.c:
31927         now includes compat.h
31928         [c72cb6d73981]
31929
31930         * compat.h:
31931         Initial revision
31932         [d4d2f359ae03]
31933
31934 1995-01-12  Todd C. Miller  <Todd.Miller@courtesan.com>
31935
31936         * sudo.h:
31937         pull user-configurable stuff out and put in options.h
31938         [ef929467b070]
31939
31940 1995-01-11  Todd C. Miller  <Todd.Miller@courtesan.com>
31941
31942         * parse.lex, parse.yacc, visudo.c:
31943         now includes options.h
31944         [e36d7c82add1]
31945
31946         * check.c, find_path.c, logging.c, parse.c, sudo_realpath.c,
31947         sudo_setenv.c:
31948         now includes options.h
31949         [f186ba03de07]
31950
31951         * Makefile.in:
31952         added visudoers/options.h
31953         [e5350c476494]
31954
31955         * OPTIONS, options.h:
31956         Initial revision
31957         [9b6b5001e318]
31958
31959         * Makefile.in:
31960         added OPTIONS and options.h
31961         [25448341e16a]
31962
31963         * logging.c:
31964         changed #ifdef's to use LOGGING and SLOG_SYSLOG/SLOG_FILE
31965         [5dd6385dd1d3]
31966
31967         * check.c, sudo.h:
31968         changed PASSWORD_TIMEOUT to minutes
31969         [0ec6aab98738]
31970
31971 1994-12-17  Todd C. Miller  <Todd.Miller@courtesan.com>
31972
31973         * visudo.c:
31974         now only do Editor +line_num if line_num != 0
31975         [b69f04b5e3c7]
31976
31977 1994-12-16  Todd C. Miller  <Todd.Miller@courtesan.com>
31978
31979         * visudo.c:
31980         now use mv if rename(2) fails
31981         [83210dca1bab]
31982
31983         * BUGS:
31984         added a visudo bug
31985         [d61a806f9aa7]
31986
31987         * check.c:
31988         expanded comment
31989         [641f2cba94cb]
31990
31991 1994-11-12  Todd C. Miller  <Todd.Miller@courtesan.com>
31992
31993         * check.c:
31994         fixed user_is_exempt to return 0 if EXEMPTGROUP is not set
31995         [7a11135039a8]
31996
31997 1994-11-10  Todd C. Miller  <Todd.Miller@courtesan.com>
31998
31999         * sudo.c:
32000         added mips & isc support
32001         [e258dc053119]
32002
32003         * parse.c:
32004         added support for non-root owned sudoers file
32005         [fea07e65a0fc]
32006
32007         * check.c:
32008         added exempt group support
32009         [928fb4bd9ad5]
32010
32011         * sudo.h:
32012         added set_perms() support added SUDOERS_OWNER so can have non-root
32013         own sudoers file added exempt group support added isc support
32014         [61c578d31fc1]
32015
32016         * visudo.c:
32017         now copy sudoers to temp file via read/write (not stdio) now chown
32018         new sudoers file to SUDOERS_OWNER
32019         [a5176c59df70]
32020
32021 1994-11-08  Todd C. Miller  <Todd.Miller@courtesan.com>
32022
32023         * configure.in:
32024         added skey support
32025         [35a8d2fabdb7]
32026
32027         * sudo_realpath.c:
32028         be_* -> setperms()
32029         [a1631d686e1c]
32030
32031         * sudo.h:
32032         fixed typo added set_perms support added skey support added
32033         seteuid()/setegid() emulation for AIX
32034         [c0c8d6771406]
32035
32036         * sudo.c:
32037         be_* -> setperms() now check to make sure sudoers file is owned by
32038         root nread/write by only root
32039         [13ab1e261f1a]
32040
32041         * logging.c, parse.c:
32042         be_* -> setperms()
32043         [21499d845c8f]
32044
32045         * check.c:
32046         be_* -> set_perms() added skey support
32047         [df51b56871c1]
32048
32049 1994-11-06  Todd C. Miller  <Todd.Miller@courtesan.com>
32050
32051         * Makefile.in:
32052         ++version
32053         [3c1abbe4e43c]
32054
32055         * version.h:
32056         ++
32057         [1d2f9b540a95]
32058
32059 1994-10-21  Todd C. Miller  <Todd.Miller@courtesan.com>
32060
32061         * sudo.c:
32062         now sets IFS
32063         [eabbb41b9f08]
32064
32065         * insults.h:
32066         fixed typo
32067         [c7997f19216e]
32068
32069 1994-10-15  Todd C. Miller  <Todd.Miller@courtesan.com>
32070
32071         * config.h.in:
32072         added HAVE_SKEY
32073         [da948ec4186b]
32074
32075 1994-10-04  Todd C. Miller  <Todd.Miller@courtesan.com>
32076
32077         * CHANGES:
32078         updated
32079         [f4b55ab007ea]
32080
32081         * Makefile.in:
32082         ++version
32083         [0489068b8c95]
32084
32085         * version.h:
32086         ++
32087         [d189faedf423]
32088
32089         * sudo.c:
32090         now bail if ARgv[1] > MAXPATHLEN
32091         [0cea8ecc9dc2]
32092
32093         * configure.in:
32094         added function check for tcgetattr(3)
32095         [e03289b22c2f]
32096
32097         * config.h.in:
32098         only define HAVE_TERMIOS_H if you have tcgetattr(3)
32099         [757eab83d1a2]
32100
32101         * config.h.in:
32102         added check for tcgetattr
32103         [c5ae92715930]
32104
32105 1994-09-26  Todd C. Miller  <Todd.Miller@courtesan.com>
32106
32107         * CHANGES:
32108         updated
32109         [cbc419883108]
32110
32111 1994-09-22  Todd C. Miller  <Todd.Miller@courtesan.com>
32112
32113         * parse.lex:
32114         now only include unistd.h for linux
32115         [e9adeab95ef0]
32116
32117 1994-09-21  Todd C. Miller  <Todd.Miller@courtesan.com>
32118
32119         * Makefile.in:
32120         added visudo.8 generation
32121         [d6a3f0f887f8]
32122
32123         * configure.in:
32124         added -Wl,-bI:./aixcrypt.exp to aix flags
32125         [72594a21edcf]
32126
32127 1994-09-20  Todd C. Miller  <Todd.Miller@courtesan.com>
32128
32129         * BUGS:
32130         added one
32131         [9993a349e096]
32132
32133         * CHANGES:
32134         updated
32135         [297b31ec4cdd]
32136
32137         * README:
32138         added mailing list info
32139         [10372f94a2b2]
32140
32141         * parse.yacc:
32142         now use sudolineno instead of yylineno fixed bison warnings
32143         [25a83e62057b]
32144
32145         * configure.in:
32146         now use -no_library_replacement for osf don't make a static binary
32147         for hpux >= 9.0
32148         [1fa7b892f1a3]
32149
32150         * tgetpass.c:
32151         added string.h/strings.h inclusion
32152         [71faa98fc0a1]
32153
32154         * config.h.in:
32155         added ssize_t def
32156         [406284bd1ac0]
32157
32158         * parse.lex:
32159         added inclusion of string.h/strings.h
32160         [6985b1df5d09]
32161
32162         * aclocal.m4:
32163         fixed uname | sed (needed to quote the '[')
32164         [4cd2d3415c1a]
32165
32166         * parse.lex:
32167         replaced yylineno with sudolineno fixed bison syntax errors
32168         [0bd31a5fab26]
32169
32170         * visudo.c:
32171         changed yylineno to sudolineno since yylineno cannot be counted
32172         upon.
32173         [38c30104d0ae]
32174
32175         * TODO:
32176         updated
32177         [5d4746f1a752]
32178
32179         * parse.c:
32180         added code to support command listings
32181         [030172e133fd]
32182
32183         * sudo.c:
32184         added code for -l flag
32185         [801dbbc82778]
32186
32187         * sudo.man:
32188         fixed typo added info for -l flag
32189         [8916ca945d65]
32190
32191         * configure.in:
32192         AC_SSIZE_T -> SUDO_SSIZE_T
32193         [c61f7f47013f]
32194
32195         * aclocal.m4:
32196         added SUDO_SSIZE_T
32197         [0ccdb77be84d]
32198
32199         * sudo.h:
32200         added MODE_LIST
32201         [9b2bd844c76c]
32202
32203         * configure.in:
32204         added AC_SSIZE_T
32205         [35cca208f9b5]
32206
32207         * find_path.c, sudo_realpath.c:
32208         readlink() is now declared as returning ssize~_t
32209         [0640a08d1407]
32210
32211         * configure.in:
32212         added -laud for OSF c2
32213         [b7539c905efc]
32214
32215 1994-09-02  Todd C. Miller  <Todd.Miller@courtesan.com>
32216
32217         * Makefile.in, visudo.c:
32218         changed sudo-bugs.cs.colorado.edu -> sudo-bugs@cs.colorado.edu
32219         [067fd9bcb5e1]
32220
32221         * config.h.in, parse.lex, parse.yacc, pathnames.h.in:
32222         changed sudo-bugs.cs.colorado.edu -> sudo-bugs@cs.colorado.edu
32223         [fc46e7c7110a]
32224
32225         * check.c, find_path.c, getcwd.c, getwd.c, insults.h, logging.c,
32226         parse.c, putenv.c, strdup.c, sudo.c, sudo.h, sudo_realpath.c,
32227         sudo_setenv.c, tgetpass.c, version.h:
32228         changed sudo-bugs.cs.colorado.edu -> sudo-bugs@cs.colorado.ed
32229         [d1d4fbc53a98]
32230
32231 1994-09-01  Todd C. Miller  <Todd.Miller@courtesan.com>
32232
32233         * Makefile.in:
32234         ++version
32235         [b7066d97633f]
32236
32237         * version.h:
32238         ++
32239         [65ec69d88110]
32240
32241         * logging.c:
32242         added host to alertmail messages
32243         [d973c19ce777]
32244
32245         * CHANGES, TODO:
32246         udpated
32247         [5a65eb16faeb]
32248
32249         * logging.c:
32250         fixed logging problem where mail would not say which user it was
32251         [35723edcc5d2]
32252
32253         * configure.in:
32254         added -laud for gcc if osf & c2
32255         [18f1e0ae5548]
32256
32257         * check.c:
32258         moved set_auth_parameters to sudo.c
32259         [d23112fe01db]
32260
32261         * sudo.c:
32262         added set_auth_parameters for osf
32263         [eb70f65214ac]
32264
32265         * configure.in:
32266         cleaned up -static stuff
32267         [01e9575f0422]
32268
32269         * Makefile.in:
32270         ++version
32271         [7ac3bff5c770]
32272
32273         * version.h:
32274         ++
32275         [10a4ff478469]
32276
32277         * sudo.c:
32278         changed setenv() to sudo_setenv()
32279         [40a78abb9946]
32280
32281         * check.c:
32282         fixed osf problem
32283         [3d69b118efb8]
32284
32285         * configure.in:
32286         added OSF C2 stuff
32287         [38cff3ad4093]
32288
32289         * CHANGES:
32290         updated
32291         [cd341dd0581a]
32292
32293         * check.c:
32294         added osf auth support & removed some extra spaces
32295         [a448cdd81514]
32296
32297         * INSTALL, SUPPORTED:
32298         added osf C2 stuff
32299         [f70484796146]
32300
32301 1994-08-31  Todd C. Miller  <Todd.Miller@courtesan.com>
32302
32303         * TODO:
32304         added 2 suggestions
32305         [695fbdbd86e6]
32306
32307         * Makefile.in:
32308         removed README.v1.3.1 and added VERSION stuff
32309         [f69403eb04c6]
32310
32311         * version.h:
32312         pl1
32313         [21580c0f8cb1]
32314
32315 1994-08-30  Todd C. Miller  <Todd.Miller@courtesan.com>
32316
32317         * version.h:
32318         1.3.1final
32319         [630114970298]
32320
32321         * Makefile.in:
32322         added HISTORY
32323         [901bff251614]
32324
32325         * sudo.man:
32326         mention HISTPRY file
32327         [86dbcfd4326e]
32328
32329         * sudo.c:
32330         use sizeof instead of a constant in 1 place
32331         [d819604c68ca]
32332
32333         * parse.yacc:
32334         added unistd.h
32335         [6f9500f9fe7e]
32336
32337         * parse.lex:
32338         added unistd.h
32339         [468b81a276eb]
32340
32341         * README:
32342         udpated
32343         [7e275618923a]
32344
32345         * HISTORY:
32346         Initial revision
32347         [5db1b0a3939b]
32348
32349 1994-08-17  Todd C. Miller  <Todd.Miller@courtesan.com>
32350
32351         * version.h:
32352         ++
32353         [7dfbb4a810bb] [SUDO_1_3_1]
32354
32355         * CHANGES:
32356         updated
32357         [7820ee610bf8]
32358
32359         * sudo_setenv.c:
32360         added unistd.h include
32361         [30cf2b654525]
32362
32363 1994-08-16  Todd C. Miller  <Todd.Miller@courtesan.com>
32364
32365         * sudo.c:
32366         added sys/time.h for AIX
32367         [199fc8caf3a3]
32368
32369 1994-08-15  Todd C. Miller  <Todd.Miller@courtesan.com>
32370
32371         * configure.in:
32372         added check for -lsocket and sys/sockio.h
32373         [f9abfbb31031]
32374
32375         * config.h.in:
32376         took out libshadow check and added in sys/sockio.h check
32377         [0c4b0393ac80]
32378
32379         * sudo.c:
32380         now include sockio.h instead of ioctl.h if it exists "sudo -" now
32381         gets a better error message
32382         [53041bea5483]
32383
32384         * sample.sudoers:
32385         now has a dir and subnet entry
32386         [56b820f65438]
32387
32388 1994-08-13  Todd C. Miller  <Todd.Miller@courtesan.com>
32389
32390         * sudo.c:
32391         removed if_ether.h
32392         [b4f64507493e]
32393
32394         * TODO:
32395         added an item
32396         [ea2a1bb6922a]
32397
32398         * sudo.man:
32399         added network and ip addresses to man page
32400         [01c85016511f]
32401
32402         * sudo.c:
32403         no error if can't get interfaces or netmask since networking may not
32404         be in the kernel.
32405         [50b8890e2134]
32406
32407         * parse.c:
32408         nwo check for interfaces == NULL
32409         [dc1b3eef0db2]
32410
32411         * parse.c:
32412         fixed a bug that caused directory specs in a Cmnd_Alias to fail if
32413         the last entry in the spec failed (ie: it was only looking at the
32414         last entry). CLeaned things up by adding the cmndcmp() function--all
32415         neat & tidy
32416         [007e93578e5e]
32417
32418         * CHANGES:
32419         added one
32420         [40e8a2cef497]
32421
32422 1994-08-12  Todd C. Miller  <Todd.Miller@courtesan.com>
32423
32424         * sudo.c:
32425         now do two passes to skip bogus interfaces (lo0, etc)
32426         [465e30aecaf7]
32427
32428         * parse.lex, parse.yacc, visudo.c:
32429         added include of netinet/in.h
32430         [11e3816ed362]
32431
32432         * logging.c, sudo_realpath.c, sudo_setenv.c:
32433         added ninclude of netinet/in.h
32434         [daccfa40fe1e]
32435
32436         * check.c, find_path.c, getcwd.c, getwd.c:
32437         added include of netinet/in.h
32438         [0222f95e06ad]
32439
32440         * version.h:
32441         ++
32442         [d6b0cfa35a38]
32443
32444         * sudo.h:
32445         added interfaces global
32446         [ba52fa8ad75e]
32447
32448         * parse.c:
32449         now uses new interfaces global
32450         [17473ad5ecba]
32451
32452         * sudo.c:
32453         now ip addresses are gleaned fw/o dns
32454         [8828bb2007e0]
32455
32456 1994-08-10  Todd C. Miller  <Todd.Miller@courtesan.com>
32457
32458         * sudo.c:
32459         added load_ip_addrs() to load the ip_addrs global var
32460         [60c825f04238]
32461
32462         * parse.c:
32463         added hostcmp() to compare hostnames, ip addrs, and network addrs
32464         [ab0e40e37537]
32465
32466         * sudo.h:
32467         added ip_addrs def added load_ip_addrs prototype
32468         [c41c565d0777]
32469
32470 1994-08-08  Todd C. Miller  <Todd.Miller@courtesan.com>
32471
32472         * CHANGES:
32473         updated
32474         [2a128dbe9bcb]
32475
32476         * Makefile.in:
32477         removed multiple entries in DISTFILES
32478         [2490f4f371e6]
32479
32480         * visudo.c:
32481         ansified the !STDC_HEADERS decls
32482         [646ba06d17ae]
32483
32484         * find_path.c, getcwd.c, getwd.c, putenv.c, strdup.c:
32485         don't do malloc decl if gnuc
32486         [f1bad1925f98]
32487
32488         * sudo.c:
32489         can't use getopt(3) since it munges args to the command to be run as
32490         root don't do malloc decl if gnuc
32491         [38e78f6da14e]
32492
32493         * find_path.c, getcwd.c, getwd.c, putenv.c, strdup.c, sudo.c,
32494         sudo_realpath.c, sudo_setenv.c:
32495         ansi-fied !STDC_HEADER function prottypes
32496         [51d8cad89976]
32497
32498         * getcwd.c, getwd.c:
32499         added missing paren
32500         [6a1fae70e27e]
32501
32502         * Makefile.in:
32503         added putenv.c to DISTFILES
32504         [a5e4523eabbb]
32505
32506         * sudo_setenv.c:
32507         added params to func decls when STDC_HEADERS is not defined now can
32508         count on putenv() being there
32509         [fd587796189b]
32510
32511         * sudo_realpath.c:
32512         took out errno decl since sudo.h does it for us fixed up a next cc
32513         warning added params to func decls when STDC_HEADERS is not defined
32514         [70fa5152ace6]
32515
32516         * sudo.h:
32517         took out environ extern added local declaratio of putenv() if local
32518         version is needed
32519         [a84bae6c020d]
32520
32521         * find_path.c, getcwd.c, getwd.c, strdup.c, sudo.c:
32522         added params to func decls when STDC_HEADERS is not defined
32523         [f406f0e47ac0]
32524
32525         * config.h.in:
32526         added memcpy check check to see that ansi vs bsd macros are ntot
32527         already defiend before defining (ie: avoid redefinition)
32528         [879ae026e19f]
32529
32530         * configure.in:
32531         removed fluff setenv check plus check w/ replace for putenv if also
32532         no setenv
32533         [e3c03814ad4b]
32534
32535         * putenv.c:
32536         Initial revision
32537         [3cff63e2dc1b]
32538
32539 1994-08-06  Todd C. Miller  <Todd.Miller@courtesan.com>
32540
32541         * sudo_setenv.c:
32542         Initial revision
32543         [4d637631fa6b]
32544
32545         * sudo.h:
32546         rm'd s realp[ath added sudo_realpath and sudo_setenv
32547         [07ba001ff57e]
32548
32549         * sudo.c:
32550         now use sudo_setenvc
32551         [fd81e04d5ef0]
32552
32553         * configure.in:
32554         added puteenv and setenv, removed realpath
32555         [27bfacfb513b]
32556
32557         * config.h.in:
32558         added putenv & setenv
32559         [515f14eaf6e4]
32560
32561         * Makefile.in:
32562         added sudo_setenv
32563         [217731a717c5]
32564
32565         * version.h:
32566         ++
32567         [eadb346d7129]
32568
32569 1994-08-05  Todd C. Miller  <Todd.Miller@courtesan.com>
32570
32571         * configure.in:
32572         added MAN_POSTINSTALL and /usr/share/catman for irix
32573         [2a9496c1bdba]
32574
32575         * Makefile.in:
32576         added MAN_POSTINSTALL
32577         [89b0d4695529]
32578
32579         * CHANGES:
32580         added
32581         [48c021ba8a70]
32582
32583         * sudo.man:
32584         added SUDO_* plus new options
32585         [c0759cff5683]
32586
32587         * CHANGES:
32588         added one
32589         [7d44a3922d56]
32590
32591         * configure.in:
32592         took out shadow lib
32593         [07cf3de18701]
32594
32595         * TODO:
32596         adde done
32597         [a27a578e8afe]
32598
32599         * visudo.c:
32600         now use yyrestart() if flex now reset yylineno to 0
32601         [77d67ce0b677]
32602
32603         * Makefile.in:
32604         support for installing a cat page instead of a man page if no nroff
32605         [44671c0fc0fa]
32606
32607         * configure.in:
32608         now defines HAVE_FLEX fixed up man stuff so that it looks for nroff
32609         to determine whether or not to install a cat or man page
32610         [0562d069c135]
32611
32612         * config.h.in:
32613         added HAVE_FLEX
32614         [c5490bae39d3]
32615
32616         * sudo.c:
32617         not set ret to MODE_RUN initially
32618         [88b4983c195b]
32619
32620         * find_path.c:
32621         made command (and therefor cmnd dynamically allocated)
32622         [95b82e32b6de]
32623
32624         * TODO:
32625         did #8
32626         [fb6f41308cdf]
32627
32628         * version.h:
32629         ++
32630         [14112ecab5ae]
32631
32632         * sudo_realpath.c:
32633         changed bufs from MAXPATHLEN to MAXPATHLEN+1
32634         [0ad4f34e55c0]
32635
32636         * sudo.h:
32637         added MODE_ removed validate_only and added remove_timestamp()
32638         [dd5f99c57728]
32639
32640         * sudo.c:
32641         usage() now takes an int (exit value) added parse_args() to parse
32642         command line arguments moved call to find_path() from load_globals
32643         to new function load_cmnd() removed validate_only global -- now use
32644         the concept of "modes" added -h and -k options
32645         [c3887090b28a]
32646
32647         * parse.c:
32648         no longer use global validate_only now checks for command called
32649         "validate" removed check for non-fully qualified commands since that
32650         is done by find_path
32651         [7d56fbd26369]
32652
32653         * find_path.c:
32654         changed MAXPATHLEN r to MAXPATHLEN+1
32655         [a86e8664d971]
32656
32657         * find_path.c:
32658         fixed off by one error with MAXPATHLEN and fixed a comment
32659         [58adcef8c981]
32660
32661         * check.c:
32662         check_timestamp no longer runs reminder(), it is implied in the
32663         return val added remove_timestamp()
32664         [42ab5a77066f]
32665
32666         * CHANGES:
32667         updated
32668         [8e69b31df024]
32669
32670 1994-08-04  Todd C. Miller  <Todd.Miller@courtesan.com>
32671
32672         * BUGS:
32673         fixed on
32674         [bc34f1ac4280]
32675
32676         * sudo_realpath.c:
32677         took out old_errno
32678         [a168d00a0768]
32679
32680         * CHANGES:
32681         updated
32682         [04ba80922df7]
32683
32684 1994-08-03  Todd C. Miller  <Todd.Miller@courtesan.com>
32685
32686         * logging.c:
32687         moved send_mail to after syslog
32688         [4d4188087834]
32689
32690         * sudo.c:
32691         now set SUDO_ envariables
32692         [e5963f1bd3bb]
32693
32694 1994-08-01  Todd C. Miller  <Todd.Miller@courtesan.com>
32695
32696         * version.h:
32697         ++
32698         [2a4534845d8c]
32699
32700         * sudo_realpath.c:
32701         now print error if chdir fails
32702         [0d75c8973d49]
32703
32704         * find_path.c:
32705         removed an XXX
32706         [e2077bcb35aa]
32707
32708 1994-07-26  Todd C. Miller  <Todd.Miller@courtesan.com>
32709
32710         * CHANGES:
32711         updated
32712         [e30a2b39b41a]
32713
32714         * configure.in:
32715         no more static binaries for aix
32716         [77a0beb6bd80]
32717
32718 1994-07-25  Todd C. Miller  <Todd.Miller@courtesan.com>
32719
32720         * INSTALL:
32721         fixed typo
32722         [ba5e0d391bc4]
32723
32724         * sudo_realpath.c:
32725         took out stuff not needed for sudo now does be_root/be_user itself
32726         now uses cwd global
32727         [4f6d4641d793]
32728
32729         * version.h:
32730         +=2
32731         [97da927b297c]
32732
32733         * logging.c, sudo.c:
32734         be_root/be_user is now down in sudo_realpath()
32735         [f331662fa50f]
32736
32737         * logging.c, sudo.h:
32738         now works with 4.2BSD syslog (blech)
32739         [98e39d89dd36]
32740
32741         * find_path.c:
32742         now use sudo_realpath()
32743         [ab436a8ebd02]
32744
32745         * config.h.in:
32746         took out realpth() stuff since we now use sudo_realpath()
32747         [8de5ef9f6044]
32748
32749         * configure.in:
32750         ultrix enhanced sec
32751         [815fb7fffcc0]
32752
32753         * SUPPORTED:
32754         added ultrix enhanced sec.
32755         [6466766c8062]
32756
32757         * INSTALL:
32758         updated
32759         [d681a634297a]
32760
32761         * check.c:
32762         ultrix enhanced security suport
32763         [f10c8decbcc2]
32764
32765         * Makefile.in:
32766         added sudo_realpath.c
32767         [6b9bcd3be022]
32768
32769         * CHANGES:
32770         updated
32771         [2fa8084c1b53]
32772
32773         * tgetpass.c:
32774         increased passwd len to 24 for c2 security
32775         [ec64838be62d]
32776
32777         * BUGS:
32778         updated BUGS
32779         [ca00d8fec2ce]
32780
32781 1994-07-15  Todd C. Miller  <Todd.Miller@courtesan.com>
32782
32783         * check.c:
32784         now use user global var
32785         [568769719013]
32786
32787         * configure.in:
32788         took out -ls
32789         [490a44180d5f]
32790
32791 1994-07-14  Todd C. Miller  <Todd.Miller@courtesan.com>
32792
32793         * configure.in:
32794         added AFS libs
32795         [4fb40c8c01ba]
32796
32797         * sudo.h:
32798         user is now a char * added epasswd
32799         [27a919fafdfb]
32800
32801         * sudo.c:
32802         added tzset() to load_globals added epasswd (encrypted password)
32803         global made user dynamically allocated
32804         [b99ef9bdbfce]
32805
32806         * configure.in:
32807         added tzset test
32808         [27592dd1214b]
32809
32810         * config.h.in:
32811         added HAVE_TZSET
32812         [b13f4213f3d0]
32813
32814         * check.c:
32815         cleaned up encrypted passwd grab somewhat
32816         [c8ba9a4db38a]
32817
32818         * configure.in:
32819         fixed AFS typo
32820         [2bfcbce237b6]
32821
32822         * INSTALL:
32823         added AFS not
32824         [80c67329393c]
32825
32826         * CHANGES:
32827         udpated
32828         [2f09ecdd5d31]
32829
32830         * logging.c:
32831         can now log to both syslog & a file
32832         [4d5c0932bc01]
32833
32834         * sudo.h:
32835         added BOTH_LOGS
32836         [623c539be824]
32837
32838         * CHANGES:
32839         updated
32840         [a1c7f5ef3616]
32841
32842         * configure.in:
32843         --with-AFS
32844         [28718d8f5daf]
32845
32846         * config.h.in:
32847         added HAVE_AFS
32848         [2e32bb4e63e4]
32849
32850         * check.c:
32851         added afs changes
32852         [fe4d0ff320a2]
32853
32854         * sudo.h:
32855         removed AFS stuff :-)
32856         [a40387e6fa27]
32857
32858         * tgetpass.c:
32859         include sys/select for AIX
32860         [f32c5a8f2c84]
32861
32862         * sudo.h:
32863         added AFS
32864         [da2ab3dd0348]
32865
32866         * version.h:
32867         ++
32868         [452d4dfe25af]
32869
32870 1994-07-07  Todd C. Miller  <Todd.Miller@courtesan.com>
32871
32872         * CHANGES, SUPPORTED:
32873         updated
32874         [e7dfe6f23a37]
32875
32876         * logging.c:
32877         can now have MAILER undefined
32878         [1d33b98b35e1]
32879
32880         * INSTALL:
32881         new sub-note about MAILER
32882         [d35c636a0574]
32883
32884         * sudo.man:
32885         added blurb about password timeout
32886         [70c2ee50de20]
32887
32888         * configure.in:
32889         convex c2 changes
32890         [367138a6232e]
32891
32892         * aclocal.m4:
32893         took out duplicate define of _CONVEX_SOURCE
32894         [647182138450]
32895
32896         * Makefile.in:
32897         added OSDEFS
32898         [7fdcd50602d1]
32899
32900         * config.h.in:
32901         added spaces
32902         [f2b8a05e48f3]
32903
32904         * tgetpass.c:
32905         added a goto if fgets fails
32906         [68a6586d9c45]
32907
32908         * sudo.h:
32909         use __hpux not hpux convex c2 stuff
32910         [5c377a8d5f34]
32911
32912         * sudo.c:
32913         use __hpux not hpux
32914         [9363bc0f9f9e]
32915
32916         * logging.c:
32917         convex c2 stuff
32918         [ea5630975ac4]
32919
32920         * config.h.in:
32921         define ansi-ish cpp os defines if non-ansi are defined for hpux &
32922         convex
32923         [664f53a5e786]
32924
32925         * INSTALL:
32926         updated to say we support sonvex C2
32927         [5f2f8b87013e]
32928
32929         * check.c:
32930         added convex c2 support
32931         [9a665d4918fa]
32932
32933 1994-07-01  Todd C. Miller  <Todd.Miller@courtesan.com>
32934
32935         * tgetpass.c:
32936         no more ioctl never returns NULL uses fgets() and select() to
32937         timeout
32938         [b333e6d63e97]
32939
32940 1994-06-29  Todd C. Miller  <Todd.Miller@courtesan.com>
32941
32942         * configure.in:
32943         things were testing -n "$GCC" instead of -z "$GCC"
32944         [059a9b15ede2]
32945
32946         * tgetpass.c:
32947         now works + uses fgets()
32948         [353d7ebcb7bb]
32949
32950 1994-06-28  Todd C. Miller  <Todd.Miller@courtesan.com>
32951
32952         * tgetpass.c:
32953         select doesn't seem to recognize a single '\n' as input waiting so
32954         we can;t use it, sigh.
32955         [f76e3218b835]
32956
32957 1994-06-26  Todd C. Miller  <Todd.Miller@courtesan.com>
32958
32959         * PORTING:
32960         updated tgetpass() blurb
32961         [95baac736b49]
32962
32963         * configure.in:
32964         added --with-getpass
32965         [42ac0bdf58ed]
32966
32967         * Makefile.in:
32968         added tgetpass stuff
32969         [e2b38c635663]
32970
32971         * tgetpass.c:
32972         now uses stdio
32973         [36af8ff66e35]
32974
32975         * version.h:
32976         ++
32977         [4e81c9db19bd]
32978
32979 1994-06-24  Todd C. Miller  <Todd.Miller@courtesan.com>
32980
32981         * PORTING:
32982         updated ,.
32983         [54f523770a05]
32984
32985         * config.h.in:
32986         added USE_GETPASS && HAVE_C2_SECURITY
32987         [86b355cb2953]
32988
32989         * configure.in:
32990         fixed a test aded --with-C2 and --with-tgetpass
32991         [abf6181588ef]
32992
32993         * check.c:
32994         added hpux C2 shit
32995         [20d4177ffa88]
32996
32997         * Makefile.in:
32998         took out tgetpass.*
32999         [cc82fd9984b4]
33000
33001         * INSTALL:
33002         added C2 blurb
33003         [1d2bfc35e4b6]
33004
33005 1994-06-13  Todd C. Miller  <Todd.Miller@courtesan.com>
33006
33007         * configure.in:
33008         no termio(s) for ultrix since it is broken
33009         [d3e82e835350]
33010
33011         * check.c:
33012         added a space (yeah, anal)
33013         [05e4b31ca68c]
33014
33015         * realpath.c, sudo_realpath.c:
33016         fixed it (duh, rtfm)
33017         [f13097cb8cb6]
33018
33019 1994-06-08  Todd C. Miller  <Todd.Miller@courtesan.com>
33020
33021         * config.h.in:
33022         took out bsd signal stuff for irix
33023         [e179cdafc97a]
33024
33025         * visudo.c:
33026         comments in #endif
33027         [e3a629190f5e]
33028
33029         * configure.in:
33030         don't define BSD signals for irix
33031         [3ce57bffb7f0]
33032
33033         * TODO:
33034         did some...
33035         [274241cd0f74]
33036
33037         * CHANGES:
33038         updated
33039         [8f29fc755faf]
33040
33041         * realpath.c, sudo_realpath.c:
33042         took out unneeded code by changing where a strings was terminated
33043         [b5564d62d30e]
33044
33045 1994-06-07  Todd C. Miller  <Todd.Miller@courtesan.com>
33046
33047         * realpath.c, sudo_realpath.c:
33048         fix bug where /dirname would return NULL
33049         [b85f470daf26]
33050
33051         * sudo.h:
33052         move __P to config.h
33053         [7763c0ff3f28]
33054
33055         * getcwd.c, getwd.c, realpath.c, sudo_realpath.c:
33056         added errno definition
33057         [4cc9d2d9782a]
33058
33059         * config.h.in:
33060         added __P
33061         [ca06f5aa58f3]
33062
33063         * config.h.in:
33064         added HAVE_FCHDIR
33065         [206d714641e0]
33066
33067         * strdup.c:
33068         now include stdio
33069         [0d8458da0e1d]
33070
33071         * realpath.c, sudo_realpath.c:
33072         now works if no fchdir
33073         [e035911b6722]
33074
33075         * visudo.c:
33076         define SA_RESETHAND to null if not defined
33077         [afec03e84342]
33078
33079         * configure.in:
33080         added check & replace
33081         [c1a65481441c]
33082
33083         * configure.in:
33084         took out -static for nextstep -- it doesn't work
33085         [fa1a1a611743]
33086
33087 1994-06-06  Todd C. Miller  <Todd.Miller@courtesan.com>
33088
33089         * logging.c:
33090         moved #endif to where it belongs
33091         [07d3a8972097]
33092
33093         * SUPPORTED:
33094         correction
33095         [0c1ecba3e5a3]
33096
33097         * configure.in:
33098         now checks for strdup realpath getcwd bzero
33099         [f029a1917515]
33100
33101         * config.h.in:
33102         emulate bzero
33103         [d792352e44a3]
33104
33105         * visudo.c:
33106         added posic signals
33107         [2ed0005f90fc]
33108
33109         * tgetpass.c:
33110         bzero cast
33111         [6d91b1a1526f]
33112
33113         * logging.c:
33114         added posix signals
33115         [67ede9c22a05]
33116
33117         * configure.in:
33118         removed BROKEN_GETPASS added new srcs toreplace missing functions
33119         [cf44274bb1c8]
33120
33121         * config.h.in:
33122         added posix signal stuff
33123         [a3c1c98fe8ef]
33124
33125         * Makefile.in:
33126         added new srcs
33127         [b6a079afee47]
33128
33129         * visudo.c:
33130         updated useag
33131         [589ed091c44f]
33132
33133         * tgetpass.c:
33134         now uses posix signals
33135         [30f74964074f]
33136
33137         * PORTING:
33138         updated sto reflect major changes
33139         [bcfc309e017b]
33140
33141         * CHANGES, TODO:
33142         updated
33143         [23aacbd54278]
33144
33145         * tgetpass.c:
33146         uses sysconf() if available
33147         [a27431c90bab]
33148
33149         * sudo.h:
33150         added PASSWORD_TIMEOUT + prototypes for new functions
33151         [d7473c2f77c4]
33152
33153         * realpath.c, sudo_realpath.c:
33154         for those w/o this in libc
33155         [1e47aa7a9d46]
33156
33157         * getcwd.c, getwd.c:
33158         Initial revision
33159         [c90dea57a84f]
33160
33161         * find_path.c:
33162         rewrote to use realpath(3) - nis now all my code
33163         [d2c3bb8fb37d]
33164
33165         * config.h.in:
33166         added HAVE_REALPATH
33167         [02c10352a8c7]
33168
33169         * check.c:
33170         now use tgetpass
33171         [b5c021fc179f]
33172
33173         * Makefile.in:
33174         added LIBOBJS use tgetpass.c
33175         [230a7b3eeaa3]
33176
33177 1994-06-05  Todd C. Miller  <Todd.Miller@courtesan.com>
33178
33179         * tgetpass.c:
33180         works now :-)
33181         [025e7a3875ba]
33182
33183         * tgetpass.c:
33184         Initial revision
33185         [3316ab33b230]
33186
33187         * pathnames.h.in:
33188         added /dev/tty
33189         [29242585e53f]
33190
33191 1994-06-04  Todd C. Miller  <Todd.Miller@courtesan.com>
33192
33193         * version.h:
33194         incremented
33195         [f2e54b48280f]
33196
33197         * sudo.c:
33198         always use getcwd
33199         [c6068e8a4029]
33200
33201         * config.h.in:
33202         added check for getwd
33203         [ab1e102ad673]
33204
33205         * configure.in:
33206         replace strdup & realpath & getcwd if missing
33207         [b0eb14f2a1c3]
33208
33209         * pathnames.h.in:
33210         added _PATH_PWD
33211         [309d2388f69a]
33212
33213         * aclocal.m4:
33214         added SUDO_PROG_PWD
33215         [e16e85deb96c]
33216
33217         * strdup.c:
33218         Initial revision
33219         [810efdc15007]
33220
33221         * realpath.c, sudo_realpath.c:
33222         Initial revision
33223         [d85eee438e09]
33224
33225 1994-06-03  Todd C. Miller  <Todd.Miller@courtesan.com>
33226
33227         * configure.in:
33228         quoted quare brackets
33229         [d0e7ca111d98]
33230
33231 1994-06-02  Todd C. Miller  <Todd.Miller@courtesan.com>
33232
33233         * sudo.c:
33234         no need to strdup() a constant
33235         [a8c44712df9a]
33236
33237         * CHANGES:
33238         updated
33239         [71364129cca0]
33240
33241         * sudo.man:
33242         added validate
33243         [0bb198095a26]
33244
33245         * sudo.c:
33246         added -v to usage
33247         [31ea71f11dbb]
33248
33249         * parse.c, sudo.c, sudo.h:
33250         added validate_only stuff
33251         [9bcd853d3c90]
33252
33253 1994-05-30  Todd C. Miller  <Todd.Miller@courtesan.com>
33254
33255         * configure.in:
33256         now finds sed
33257         [6374bb0d3f28]
33258
33259         * aclocal.m4:
33260         $OSREV is now an int
33261         [ace0666d66cf]
33262
33263 1994-05-29  Todd C. Miller  <Todd.Miller@courtesan.com>
33264
33265         * configure.in:
33266         added mtxinu to caser
33267         [73a776887b16]
33268
33269         * sudo.h:
33270         added EXEC macro
33271         [2e8eb28b710a]
33272
33273         * sudo.c:
33274         now use the EXEC nmacro now only do a gethostbyname() if FQDN is set
33275         [56afb4f658d5]
33276
33277         * logging.c:
33278         changed mail_argv[] def now use EXEC() macro
33279         [ddcabd28edb1]
33280
33281         * check.c:
33282         took out crypt() definition
33283         [0e657724cf5f]
33284
33285         * version.h:
33286         upped the version
33287         [62c5d66119fc]
33288
33289         * configure.in:
33290         always look for -lnsl
33291         [d7b594f0313b]
33292
33293         * aclocal.m4:
33294         added an echo
33295         [1caae3491dc5]
33296
33297         * sudo.h:
33298         SHORT_MESSAGE is now the default
33299         [cfce35c3119a]
33300
33301         * config.h.in:
33302         fixed typo
33303         [6499a564bf75]
33304
33305         * configure.in:
33306         added missing AC_DEFINE(SVR4) for solaris
33307         [feef0b17b94f]
33308
33309         * sudo.man:
33310         documented the -v flag
33311         [a6429f2bc2cf]
33312
33313         * SUPPORTED:
33314         updated
33315         [088886e79540]
33316
33317         * check.c:
33318         proto-ized crypt()
33319         [801e4ff5b121]
33320
33321         * config.h.in:
33322         added LIBSHADOW undef
33323         [8df588e9ee2b]
33324
33325         * configure.in:
33326         nwo set OS to be lowercase
33327         [561ebed833e4]
33328
33329 1994-05-28  Todd C. Miller  <Todd.Miller@courtesan.com>
33330
33331         * configure.in:
33332         now use SUDO_OSTYPE to set $OS
33333         [0e60aee23098]
33334
33335         * aclocal.m4:
33336         now use uname to determine os
33337         [99705e58d400]
33338
33339         * visudo.c:
33340         added prototypes & moved sig handler around
33341         [1f0bc8d23b51]
33342
33343         * sudo.h:
33344         added prototyppes
33345         [be3935a2b163]
33346
33347         * check.c, logging.c, sudo.c:
33348         added prototypes
33349         [2079b4605ab8]
33350
33351         * parse.c:
33352         added comment
33353         [a34d147d8399]
33354
33355         * config.h.in:
33356         nwo use _BSD_SIGNALS not _BSD_COMPAT
33357         [63663195f047]
33358
33359         * aixcrypt.exp:
33360         Initial revision
33361         [890aed08357e]
33362
33363         * Makefile.in:
33364         added aixcrypt.exp
33365         [1005a183105f]
33366
33367         * parse.lex, parse.yacc:
33368         moved config.h to top of includes
33369         [9569c49aa5f3]
33370
33371 1994-05-25  Todd C. Miller  <Todd.Miller@courtesan.com>
33372
33373         * find_path.c:
33374         now don't bitch if get EACCESS (treat like EPERM)
33375         [dbeffb638de4]
33376
33377         * visudo.c:
33378         added -v flag and usage()
33379         [4d44ed60ed75]
33380
33381         * version.h:
33382         fixed a typo
33383         [cf3f9347ae41]
33384
33385         * sudo.c:
33386         cast Argv to a const for exec added -v flag
33387         [d11b6efc0e45]
33388
33389         * logging.c:
33390         mail_argv is now a const
33391         [93bb5d90bb6f]
33392
33393         * configure.in:
33394         only set RETSIGTYPE if it is not set already
33395         [c97aac260b77]
33396
33397         * aclocal.m4:
33398         now defines & STDC_HEADERS for Irix
33399         [9c2b24ad1fc5]
33400
33401         * Makefile.in:
33402         added version.h
33403         [9f79e880229a]
33404
33405         * insults.h, sudo.h:
33406         prevent multiple inclusion
33407         [d68c8a9243ce]
33408
33409         * version.h:
33410         Initial revision
33411         [dbb39c5ef8d9]
33412
33413         * parse.lex, parse.yacc:
33414         now includes config.h
33415         [f117e036a56b]
33416
33417         * aclocal.m4:
33418         now talks about sunos 4.x
33419         [c9054aa92d4e]
33420
33421         * visudo.c:
33422         calls to Exit now pass an arg
33423         [a92104670551]
33424
33425 1994-05-24  Todd C. Miller  <Todd.Miller@courtesan.com>
33426
33427         * visudo.c:
33428         signal handler now takes an int argument
33429         [26f480c41523]
33430
33431         * CHANGES:
33432         updated
33433         [8c166a9d796b]
33434
33435         * sudo.c:
33436         ok, the getcwd() is now *really* done as the user
33437         [ab86cf85134a]
33438
33439         * configure.in:
33440         changed AIX STATIC_FLAGS
33441         [b9c0a3ba5663]
33442
33443         * aclocal.m4:
33444         solaris now defines SVR4
33445         [c3e20cac96f5]
33446
33447         * sudo.h:
33448         added cwd and fixed stupid core dump that makes no sense. sigh.
33449         [7a9755436dbb]
33450
33451         * sudo.c:
33452         moved getcwd stuff into load_globals
33453         [ec2bc90df1f3]
33454
33455         * parse.c:
33456         took out externs that are in suod.h
33457         [93c4b3f856d7]
33458
33459         * logging.c:
33460         moved cwd into load_globals
33461         [050de754d228]
33462
33463         * find_path.c:
33464         moved cwd stuff
33465         [22f3f3b4c34d]
33466
33467         * Makefile.in:
33468         fixed make distclean & realclean
33469         [c9964d89bcef]
33470
33471         * TODO:
33472         updated .,
33473         [e513581ef0e3]
33474
33475         * CHANGES:
33476         added solaris changes
33477         [505d930daf27]
33478
33479         * aclocal.m4:
33480         added solaris changes, need to rework
33481         [33f20fb16c49]
33482
33483         * configure.in:
33484         cleaned up for solaris
33485         [2fb8cfa05d0f]
33486
33487         * logging.c:
33488         reinstall reapchild signal handler for non-bsd signals
33489         [3d1dc545113d]
33490
33491         * sudo.h:
33492         took out getdtablesize() emulation for HP-UX (no longer needed)
33493         [1fc83d170f34]
33494
33495         * sudo.c:
33496         support for HAVE_SYSCONF
33497         [50ca2a7a224a]
33498
33499         * visudo.c:
33500         added <fcntl.h> for solaris & reorg'd the includes + minor prettying
33501         up /
33502         [0a570e826dd4]
33503
33504         * config.h.in:
33505         added HAVE_SYSCONF
33506         [2b9a9f3a4e94]
33507
33508 1994-05-16  Todd C. Miller  <Todd.Miller@courtesan.com>
33509
33510         * configure.in:
33511         now tells you what os you are running /.
33512         [06c6332a895b]
33513
33514         * aclocal.m4:
33515         took out extra ','
33516         [e8c75ce59f4a]
33517
33518 1994-05-14  Todd C. Miller  <Todd.Miller@courtesan.com>
33519
33520         * config.h.in:
33521         added _BSD_COMPAT
33522         [73c5099806c2]
33523
33524         * aclocal.m4:
33525         fixed for irix5
33526         [1047d1f6c0eb]
33527
33528         * CHANGES:
33529         updated
33530         [1bc4969fee96]
33531
33532         * sudo.c:
33533         uid seinitialized to -2
33534         [8d7812b1878b]
33535
33536 1994-04-28  Todd C. Miller  <Todd.Miller@courtesan.com>
33537
33538         * sudo.c:
33539         now removes LIBPATH for AIX
33540         [075392eb1dd9]
33541
33542 1994-03-13  Todd C. Miller  <Todd.Miller@courtesan.com>
33543
33544         * configure.in:
33545         now uses ufc if it finds it
33546         [ab6ce30a5958]
33547
33548 1994-03-12  Todd C. Miller  <Todd.Miller@courtesan.com>
33549
33550         * sudo.h:
33551         no longer define yyval & yylval since yacc does it
33552         [09d250aea50a]
33553
33554         * parse.lex:
33555         now defines yylval as extenr
33556         [8ec2b88952bc]
33557
33558         * configure.in:
33559         BROKEN_GETPASS is now an OPTION
33560         [3714f4bb8312]
33561
33562         * config.h.in:
33563         took out BROKEN_GETPASS
33564         [9c4f6aa50137]
33565
33566         * Makefile.in:
33567         took out big comment
33568         [4c13cff0e556]
33569
33570         * README:
33571         updated
33572         [b8b9902b620d]
33573
33574         * Makefile.in:
33575         took out README.beta
33576         [ed2cd861e82b]
33577
33578         * SUPPORTED:
33579         Initial revision
33580         [2fffc51e6606]
33581
33582         * INSTALL:
33583         now reference SUPPORTED .,
33584         [d112c30be1f2]
33585
33586         * config.h.in:
33587         now check for convex OR __convex__
33588         [a0e5701a3069]
33589
33590         * aclocal.m4:
33591         now check for convex or __convex__
33592         [5dae2bfbe3bc]
33593
33594         * Makefile.in:
33595         added dist target
33596         [400a54de57db]
33597
33598         * aclocal.m4:
33599         use __convex__
33600         [58a19470ed0b]
33601
33602         * find_path.c:
33603         now use _S_* stat stuff to be ansi-like
33604         [28cce560e048]
33605
33606         * INSTALL:
33607         updated for configure directions
33608         [a034ccc7c30a]
33609
33610         * Makefile.in:
33611         distclean now removes config.h and pathnames.h
33612         [300f2349b4ab]
33613
33614         * CHANGES:
33615         updated
33616         [646f7e9430c1]
33617
33618         * TODO:
33619         fixed typoe
33620         [70fd6361b2bc]
33621
33622         * visudo.c:
33623         updated version
33624         [cf13d87d789f]
33625
33626         * Makefile.in:
33627         updated version
33628         [8c5dacc27a7a]
33629
33630         * config.h.in, pathnames.h.in:
33631         added copyright header
33632         [747ce3d3d6b7]
33633
33634         * check.c, find_path.c, insults.h, logging.c, parse.c, parse.lex,
33635         parse.yacc, sudo.c, sudo.h:
33636         udpated version
33637         [4751c39bad18]
33638
33639         * visudo.c:
33640         udpated to use configure + pathnames.h
33641         [d45dff76a1cd]
33642
33643         * aclocal.m4:
33644         updated
33645         [f05a367a55be]
33646
33647         * Makefile.in, config.h.in, configure.in:
33648         updated
33649         [524778598879]
33650
33651         * sudo.h:
33652         now works with configure
33653         [83fc40e533f4]
33654
33655         * check.c, find_path.c, getpass.c, logging.c, parse.c, sudo.c:
33656         updated to work with configure + pathnames.h
33657         [cb67fa6ab52d]
33658
33659         * Makefile.in:
33660         added LEXLIB
33661         [f43cad4ab0a2]
33662
33663 1994-03-10  Todd C. Miller  <Todd.Miller@courtesan.com>
33664
33665         * COPYING:
33666         updated gnu general licence to versio 2
33667         [2b0b56112ddc]
33668
33669         * config.h.in, pathnames.h.in:
33670         Initial revision
33671         [4b586f39ec2d]
33672
33673         * sudo.h:
33674         changed to work with configure
33675         [13f3506ddf16]
33676
33677 1994-03-09  Todd C. Miller  <Todd.Miller@courtesan.com>
33678
33679         * Makefile.in, aclocal.m4, configure.in:
33680         Initial revision
33681         [a8636ae77371]
33682
33683         * visudo.c:
33684         now uses defines used by configure
33685         [de438d118993]
33686
33687 1994-03-01  Todd C. Miller  <Todd.Miller@courtesan.com>
33688
33689         * find_path.c:
33690         sudo won't bitch about EPERM now, for real
33691         [ce26d9ef7e3f]
33692
33693 1994-02-28  Todd C. Miller  <Todd.Miller@courtesan.com>
33694
33695         * logging.c:
33696         renamed exec_argv to eliminate a libc name clash with ksros
33697         [bcb4350d8411]
33698
33699         * CHANGES:
33700         corrected
33701         [dae68d422efd]
33702
33703         * logging.c, sudo.c, sudo.h:
33704         execve -> execv
33705         [40cc2c4bdb15]
33706
33707         * TODO:
33708         upated
33709         [9275a8b8fc45]
33710
33711         * PORTING:
33712         added 2 mroe items
33713         [6cbb5c56993c]
33714
33715         * CHANGES:
33716         updated
33717         [73f34f8e571a]
33718
33719         * sudo.h:
33720         added UMASK and mode_t declaration
33721         [7c2015e1d171]
33722
33723         * sudo.c:
33724         added UMASK
33725         [d37be7523680]
33726
33727         * logging.c:
33728         now opens log file with mode 077
33729         [0825cc3ee841]
33730
33731         * check.c:
33732         saved current umask ans restores it
33733         [659c1aaae8e8]
33734
33735         * sudo.h:
33736         added MAXLOGFILELEN
33737         [34331c7dee90]
33738
33739         * logging.c:
33740         split long log lines. FOr syslog, split into multiple entries, for
33741         a log file, indent the extra for readability
33742         [72c9e4cdba6e]
33743
33744 1994-02-27  Todd C. Miller  <Todd.Miller@courtesan.com>
33745
33746         * CHANGES:
33747         added changes
33748         [81196833673d]
33749
33750         * sudo.h:
33751         MAXLOGLEN & MAXSYSLOGLEN are now different (as they should be)
33752         [1aa69e903840]
33753
33754 1994-02-25  Todd C. Miller  <Todd.Miller@courtesan.com>
33755
33756         * TODO:
33757         added input from Brett M Hogden <hogden@rge.com>
33758         [80f01fc88ce9]
33759
33760 1994-02-16  Todd C. Miller  <Todd.Miller@courtesan.com>
33761
33762         * sudo.c:
33763         added rmenv() to remove stuff from environ. can now uses execvp()
33764         OR execve() becuase of this.
33765         [e7fc2535bd67]
33766
33767         * logging.c:
33768         now uses execvp() OR execve()
33769         [56391aa1f99d]
33770
33771         * sudo.h:
33772         added USE_EXECVE
33773         [f21f38050b95]
33774
33775         * sudo.h:
33776         added environ
33777         [6b805e23c6f6]
33778
33779         * find_path.c:
33780         now ignore EPERM
33781         [c8fd7117a1d7]
33782
33783         * sudo.h:
33784         moved some func decls out of sudo.h and into sudo.c as statics /.
33785         [5f555c267d27]
33786
33787         * CHANGES:
33788         updated
33789         [431f478af320]
33790
33791         * sudo.h:
33792         took out Envp
33793         [6f722be7793d]
33794
33795 1994-02-14  Todd C. Miller  <Todd.Miller@courtesan.com>
33796
33797         * BUGS:
33798         Initial revision
33799         [4a8ecf0da95c]
33800
33801 1994-02-10  Todd C. Miller  <Todd.Miller@courtesan.com>
33802
33803         * CHANGES:
33804         added SECURE_PATH
33805         [1c72cb222609]
33806
33807         * sudo.c, sudo.h:
33808         added SECURE_PATH
33809         [5bf5357a63c5]
33810
33811         * sudo.h:
33812         added SECURE_PATH
33813         [3976a74405ac]
33814
33815         * INSTALL:
33816         added sample.sudoers note
33817         [1b395d29aaeb]
33818
33819         * sudoers:
33820         Initial revision
33821         [485888d07477]
33822
33823 1994-02-09  Todd C. Miller  <Todd.Miller@courtesan.com>
33824
33825         * find_path.c:
33826         fixed typo
33827         [bfc3cc4d41ca]
33828
33829         * PORTING:
33830         took out SAVED_UID garbage
33831         [b7c2d3469661] [SUDO_1_3_0]
33832
33833         * INSTALL:
33834         mentioned HAL
33835         [253d6695df90]
33836
33837         * sudo.h:
33838         added HAL line
33839         [29ec1a4ac6de]
33840
33841         * insults.h:
33842         added HAL insults
33843         [7d7c96d77c74]
33844
33845         * TODO:
33846         updated
33847         [aa2ed9790586]
33848
33849         * logging.c:
33850         more verbose error if mailer not found
33851         [fca47fd00cb6]
33852
33853         * check.c:
33854         now do getpwent as root for soem shadow password systems (bsdi)
33855         [e0339e110d46]
33856
33857 1994-02-08  Todd C. Miller  <Todd.Miller@courtesan.com>
33858
33859         * sudo.h:
33860         took out SAVED_UID garbade
33861         [fcb0e81dcdb5]
33862
33863         * sudo.c:
33864         took out SAVED_UID garbage since it don't work
33865         [507e9513e9c2]
33866
33867 1994-02-06  Todd C. Miller  <Todd.Miller@courtesan.com>
33868
33869         * README:
33870         updated
33871         [d2b6b253dae5]
33872
33873         * insults.h:
33874         added a missing space :-)
33875         [8940ea991f87]
33876
33877         * sudo.c, sudo.h:
33878         took out multimax cruft
33879         [c2606b365181]
33880
33881         * INSTALL:
33882         minor update
33883         [05fb6ee73131]
33884
33885         * PORTING:
33886         finished
33887         [c4ac47c84dc5]
33888
33889         * sudo.c:
33890         fixed a typo + indentation
33891         [7eab40aae8fa]
33892
33893 1994-02-05  Todd C. Miller  <Todd.Miller@courtesan.com>
33894
33895         * sudo.h:
33896         took outumoved some defines to the config file ,. ,.
33897         [defff05beb52]
33898
33899         * PORTING:
33900         Initial revision
33901         [c803e9127959]
33902
33903         * TODO:
33904         did #6
33905         [c6fa1c946c31]
33906
33907         * sudo.h:
33908         added HAS_SAVED_UID
33909         [6a88a39c0a07]
33910
33911         * sudo.c:
33912         put back AIX cruft
33913         [a24d2507ddd4]
33914
33915 1994-02-03  Todd C. Miller  <Todd.Miller@courtesan.com>
33916
33917         * sudo.c:
33918         aix changes
33919         [1663915f754a]
33920
33921 1994-02-02  Todd C. Miller  <Todd.Miller@courtesan.com>
33922
33923         * CHANGES:
33924         updated
33925         [a8cc73747cae]
33926
33927         * check.c, logging.c, parse.c, sudo.c, sudo.h:
33928         now is only root when abs necesary
33929         [3c9d12c5cdfe]
33930
33931         * check.c:
33932         added missing %s\n
33933         [609320b72d89]
33934
33935 1994-01-31  Todd C. Miller  <Todd.Miller@courtesan.com>
33936
33937         * install-sh:
33938         Initial revision
33939         [b5bba140a175]
33940
33941         * TODO:
33942         updated
33943         [c9d2eba602af]
33944
33945         * CHANGES:
33946         updated
33947         [932f1fc3bb14]
33948
33949         * sudo.c:
33950         now removed _RLD_* for alphas
33951         [54a36e648158]
33952
33953         * INSTALL:
33954         updated for new config scheme
33955         [61c8ae800444]
33956
33957         * find_path.c:
33958         more verbose eror messages
33959         [b4fd123db42d]
33960
33961 1994-01-27  Todd C. Miller  <Todd.Miller@courtesan.com>
33962
33963         * TODO:
33964         now have solaris
33965         [371002fbf266]
33966
33967         * sudo.h:
33968         define __svr4__ for SOLARIS
33969         [0b5cf5ed936d]
33970
33971         * check.c:
33972         added svr4 junk for shadow pws for solaris 2.x
33973         [91ed58f21618]
33974
33975         * check.c, sudo.c:
33976         took out setuid(0) and setreuid(udi) garbage. Its not needed since
33977         we start out setuid with the correct perms.
33978         [07689e782b0b]
33979
33980         * check.c, sudo.c, sudo.h:
33981         now use setreuid()
33982         [7d64d685d78e]
33983
33984 1994-01-26  Todd C. Miller  <Todd.Miller@courtesan.com>
33985
33986         * sudo.man:
33987         revised AUTHORS secrtion & added ENV_EDITOR stuff to VARIABLES
33988         sectoin
33989         [b26967b1e19b]
33990
33991         * visudo.c:
33992         now uses ENV_EDITOR if you want to use the EDITOR envar
33993         [a4f8fcb9bd1d]
33994
33995         * sudo.h:
33996         now uses ENV_EDITOR if you want to use the EDITOR envar >> .
33997         [028cc55c4328]
33998
33999 1993-12-07  Todd C. Miller  <Todd.Miller@courtesan.com>
34000
34001         * INSTALL:
34002         rewrote most of this
34003         [a6750923f9c9]
34004
34005         * README:
34006         minor update + spell fix
34007         [a411717a7249]
34008
34009         * sudo.h:
34010         added all options that are in the Makefile
34011         [6db3b3b841b3]
34012
34013         * getpass.c:
34014         now use USE_TERMIO #define for sgi & hpux
34015         [b91f89ae6be1]
34016
34017         * TODO:
34018         todo: posix sigs
34019         [4548a56eb2ef]
34020
34021 1993-12-06  Todd C. Miller  <Todd.Miller@courtesan.com>
34022
34023         * check.c, find_path.c:
34024         always include strings.h
34025         [1fc20bda92c0]
34026
34027         * visudo.c:
34028         added STATICEDITOR
34029         [0596f820716e]
34030
34031         * sudo.h:
34032         sgi has vi in /usr/bin too
34033         [94203b62bfd9]
34034
34035         * sudo.man:
34036         added VISUAL
34037         [87c2844c4cac]
34038
34039 1993-12-03  Todd C. Miller  <Todd.Miller@courtesan.com>
34040
34041         * sudo.h:
34042         sue /usr/bin/vi on some systems
34043         [e3ad9190f35e]
34044
34045         * sudo.c:
34046         fixed warning (include strings.h)
34047         [0b896de4d8a0]
34048
34049         * sudo.man:
34050         added John_Rouillard@dl5000.bc.edu's changes (new features)
34051         [f41b4205a8cf]
34052
34053         * CHANGES:
34054         changes from John_Rouillard@dl5000.bc.edu
34055         [6bdef8e948d5]
34056
34057         * visudo.c:
34058         added EDITOR envar
34059         [5c4bf716de21]
34060
34061         * check.c, find_path.c, parse.c, sudo.c:
34062         added patches from John_Rouillard directory spec
34063         uses EDITOR
34064         [f62a435f8c41]
34065
34066 1993-12-02  Todd C. Miller  <Todd.Miller@courtesan.com>
34067
34068         * getpass.c:
34069         added flush for hpux
34070         [07cfdd6a7b55]
34071
34072 1993-11-30  Todd C. Miller  <Todd.Miller@courtesan.com>
34073
34074         * sudo.c:
34075         no longer assume malloc returns a char *
34076         [7480bd2756f3]
34077
34078         * sudo.c:
34079         alpha change to remove LD_-like thing fixed SHLIB_PATH stuff -- now
34080         gets removed correctly
34081         [8587166c6ac8]
34082
34083         * sudo.h:
34084         added STD_HEADERS macro
34085         [480f5a9a516c]
34086
34087         * sudo.c:
34088         now uses STD_HEADERS macor for ansi
34089         [c5018806fd59]
34090
34091         * find_path.c:
34092         now uses STD_HEADERS macro
34093         [ad821e0788ea]
34094
34095         * check.c:
34096         niceties for C compiler bitches -- no real change
34097         [0fc0b1a5fb64]
34098
34099 1993-11-29  Todd C. Miller  <Todd.Miller@courtesan.com>
34100
34101         * visudo.c:
34102         now doesn't fclose a file never opened.
34103         [ee888ec9427d]
34104
34105 1993-11-28  Todd C. Miller  <Todd.Miller@courtesan.com>
34106
34107         * sudo.man:
34108         added visudo line
34109         [698d51c66407]
34110
34111         * sudo.man:
34112         added error stuff added me in there...
34113         [d202fd34b906]
34114
34115         * CHANGES:
34116         noted insults
34117         [998a22c2230c]
34118
34119         * INSTALL:
34120         added blurb about reading stuff
34121         [e71db100798f]
34122
34123         * sudo.h:
34124         added insults
34125         [c110431cec56]
34126
34127         * insults.h:
34128         corrected somments and removed newlines
34129         [493706fd488c]
34130
34131         * check.c:
34132         now uses insults
34133         [6d23cf06a0ef]
34134
34135         * insults.h:
34136         Initial revision
34137         [83153c26b4a3]
34138
34139         * INSTALL:
34140         added dec syslog note
34141         [555437273237]
34142
34143         * sample.sudoers:
34144         added real stuff in there
34145         [53442a7fba78]
34146
34147         * TODO:
34148         added a todo
34149         [c630472bd4dc]
34150
34151         * TODO:
34152         added one
34153         [806464453284]
34154
34155 1993-11-27  Todd C. Miller  <Todd.Miller@courtesan.com>
34156
34157         * sample.sudoers:
34158         Initial revision
34159         [7db0a9f1ca8f]
34160
34161         * sudo.man:
34162         updated with changes
34163         [d9bf254c6c08]
34164
34165         * sudo.man:
34166         Initial revision
34167         [dd6f11174ac6]
34168
34169         * indent.pro:
34170         Initial revision
34171         [dbfbb494fad9]
34172
34173         * CHANGES, COPYING, INSTALL, README, TODO:
34174         Initial revision
34175         [6d98f489a079]
34176
34177         * visudo.c:
34178         updated version number and took out jeff's old addr since it is no
34179         good
34180         [ee47c24818cb]
34181
34182         * check.c, find_path.c, logging.c, parse.c, parse.lex, parse.yacc,
34183         sudo.c, sudo.h:
34184         updated version number and took out jeff's email (since it is
34185         invalid)
34186         [54616458a52e]
34187
34188 1993-10-28  Todd C. Miller  <Todd.Miller@courtesan.com>
34189
34190         * check.c:
34191         added fflush()
34192         [145c881f4fb4]
34193
34194 1993-10-23  Todd C. Miller  <Todd.Miller@courtesan.com>
34195
34196         * find_path.c:
34197         now return NULL instead pf\b\bof exiting for nopn\b\bn-fatal errors
34198         [8bc74f8cb1ae]
34199
34200 1993-10-21  Todd C. Miller  <Todd.Miller@courtesan.com>
34201
34202         * check.c:
34203         new banner
34204         [5387ab2af516]
34205
34206         * parse.lex:
34207         now sudo.h gets included first
34208         [2acb01c18e18]
34209
34210 1993-10-18  Todd C. Miller  <Todd.Miller@courtesan.com>
34211
34212         * parse.lex:
34213         now can use flex
34214         [164d3839adf0]
34215
34216         * sudo.h:
34217         linux patch
34218         [f1b6b1b1a2ca]
34219
34220         * sudo.c:
34221         hpux 9 fix, removes SHLIB_PATH linux patch
34222         [67611dc1737f]
34223
34224         * check.c:
34225         linux diff
34226         [c24536682397]
34227
34228 1993-10-15  Todd C. Miller  <Todd.Miller@courtesan.com>
34229
34230         * find_path.c:
34231         stat now ignores EINVAL
34232         [c7761a5dc642]
34233
34234 1993-10-06  Todd C. Miller  <Todd.Miller@courtesan.com>
34235
34236         * find_path.c, sudo.c:
34237         now declare strdup as extern
34238         [6b7d6f8784b5]
34239
34240 1993-10-04  Todd C. Miller  <Todd.Miller@courtesan.com>
34241
34242         * visudo.c:
34243         reformatted with indent + by hand
34244         [9d43084e4990]
34245
34246         * check.c, find_path.c, getpass.c, logging.c, parse.c, sudo.c, sudo.h:
34247         used indent to "fix" coding style
34248         [489ffacbdc70]
34249
34250         * find_path.c:
34251         now checks '.' or '.' or '' in PATH -- but does it LAST should maybe
34252         move the code that does this into the loop body. makes it messier
34253         tho. hmmm.
34254         [c4d22b48da9a]
34255
34256 1993-09-08  Todd C. Miller  <Todd.Miller@courtesan.com>
34257
34258         * find_path.c:
34259         redid the fix for non-executable files in an easier to read way plus
34260         some minor aethetic changes
34261         [84fe337f1426]
34262
34263         * find_path.c:
34264         fixed bug with non-executable tings of same name in path introduced
34265         by checkig errno after stat(2).
34266         [c2a812cfcbc1]
34267
34268 1993-09-05  Todd C. Miller  <Todd.Miller@courtesan.com>
34269
34270         * sudo.c:
34271         fixed off by one error
34272         [fabb7cee0041]
34273
34274         * find_path.c:
34275         now handles decending below '/' correctly
34276         [5d2ddfc0b220]
34277
34278         * sudo.c:
34279         now actually builds Envp instead of munging envp
34280         [bdc4b08f6898]
34281
34282 1993-09-04  Todd C. Miller  <Todd.Miller@courtesan.com>
34283
34284         * parse.yacc:
34285         now includes sys/param.h
34286         [efbb494ab4de]
34287
34288         * visudo.c:
34289         now includes sys/param.h
34290         [ad6c91d59958]
34291
34292         * sudo.h:
34293         fixed ifndef -> ifdef
34294         [7aebe822d863]
34295
34296         * qualify.c:
34297         make more like find_path.c
34298         [853b2dab2e03]
34299
34300         * find_path.c:
34301         rewritten by millert
34302         [c6a043cc11b3]
34303
34304         * sudo.h:
34305         fixed MAXCOMMANDLENGTH now uses USE_CWD and NEED_STRDUP added info
34306         about new defines in the comment
34307         [39ffefce3aec]
34308
34309         * logging.c:
34310         now uses USE_CWD
34311         [fa0f3b118bb3]
34312
34313         * sudo.h:
34314         added delc for clean_envp() and Envp
34315         [a12034e300c2]
34316
34317         * sudo.c:
34318         now rips LD_* env vars out of envp and passed sanitized Envp to exec
34319         [d201a218e056]
34320
34321         * logging.c:
34322         now uses execve()
34323         [f3e01032cd33]
34324
34325         * find_path.c:
34326         ENOTDIR is ok now too (in case part of the path is bogus)
34327         [b5cbbb201bb5]
34328
34329         * qualify.c:
34330         now works correctly (ttaltotal rewrite)
34331         [0c25d64a5c68]
34332
34333         * parse.lex:
34334         now includes sys/param.h didn't match trailing / -- fix from
34335         rouilj@cs.umb.edu
34336         [b6363ba110af]
34337
34338 1993-06-11  Todd C. Miller  <Todd.Miller@courtesan.com>
34339
34340         * sudo.c:
34341         moved around the #ifndef _AIX
34342         [7d4330950c20]
34343
34344         * check.c, logging.c, parse.c:
34345         Initial revision
34346         [c101e9572d7f]
34347
34348 1993-03-20  Todd C. Miller  <Todd.Miller@courtesan.com>
34349
34350         * qualify.c:
34351         Initial revision
34352         [5a5f21d0e0bf]
34353
34354 1993-03-13  Todd C. Miller  <Todd.Miller@courtesan.com>
34355
34356         * find_path.c:
34357         now works if you do sudo bin/test
34358         [07835120ce43]
34359
34360         * find_path.c:
34361         works
34362         [c3da8b5efa20]
34363
34364 1993-03-02  Todd C. Miller  <Todd.Miller@courtesan.com>
34365
34366         * sudo.h:
34367         Initial revision
34368         [28a1caa38b72]
34369
34370         * visudo.c:
34371         Initial revision
34372         [0e5cd7c3cdbe]
34373
34374         * parse.lex, parse.yacc:
34375         Initial revision
34376         [5f2d0cccb06b]
34377
34378 1993-02-16  Todd C. Miller  <Todd.Miller@courtesan.com>
34379
34380         * sudo.c:
34381         took out errno.h
34382         [7466431a2655]
34383
34384         * sudo.c:
34385         now spews error if exec fails and exits with -1
34386         [e5c41ea725c1]
34387
34388         * sudo.c:
34389         Initial revision
34390         [8aeabe39a0c2]
34391
34392         * find_path.c:
34393         now only execs files with (an) executable bit set.
34394         [0a451f9c0e58]
34395
34396         * find_path.c:
34397         Initial revision
34398         [02a534891a35]
34399
34400 1993-02-15  Todd C. Miller  <Todd.Miller@courtesan.com>
34401
34402         * getpass.c:
34403         added nice comment
34404         [ea8b2aaa9389]
34405
34406         * getpass.c:
34407         now works on sgi's
34408         [bf2b7c6d0960]
34409
34410         * getpass.c:
34411         Initial revision
34412         [9f4de251c1b5]
34413